Starting bukkit programing

Discussion in 'Plugin Development' started by halojude3, Oct 9, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    halojude3

    hi,
    after some people told me i need to know java better,
    before i start with bukkit i read java and it realy helped me.
    so my question is how can i start creating plugins,
    from where shall i learn? cause some guys told me that youtube isnt good.
    thank you.
     
  2. Offline

    timbragg12

    halojude3 I used Pogostick29dev to help when I first started out. I think he does some of the best tutorials on youtube.
     
    PogoStick29 and halojude3 like this.
  3. Offline

    Skionz

    halojude3 and timbragg12 like this.
  4. Offline

    Gerov

    Europia79, halojude3 and timbragg12 like this.
  5. Offline

    halojude3

    thank you!!!

    Skionz Gerov how do i use the jd.bukkit/rb/apidocs?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 14, 2016
    klosjaarrr likes this.
  6. Offline

    klosjaarrr


    It is more useful if you know what you are looking for. For example, if you want a plugin that alters someone inventory, you would look in the documentation for inventory and see what exceptions can be thrown, what methods are available etc.
     
  7. Offline

    timbragg12

    halojude3 Pogostick29dev :)

    EDIT: Go to playlists and then on to "Bukkit Plugin Coding" (or something like that).
     
    PogoStick29 and halojude3 like this.
  8. Gerov When you're just starting youtube is only helpful in the sense that it can provide entertainment. It's a bad place to learn from.

    halojude3 I would really recommend following the Bukkit plugin tutorial on the wiki that has been linked above. After that, you can experiment around to work out what's what - the JavaDocs are particularly useful to help you find what you're looking for. This is of course after you've gotten the adequate Java knowledge - if you didn't before, I recommend you follow the Oracle tutorials or a Java book.
     
    jthort, coasterman10 and halojude3 like this.
  9. Offline

    teej107

    halojude3
    They are documentation of the classes/interfaces, etc, and the methods and fields inside them. As klosjaarrr said, it's more useful if you know what your looking for. Though it wouldn't hurt to look through some of the classes inside. Player, Entity, LivingEntity, Events are some of the most used classes in my opinion. Also please learn Java first. Java is the programming language and Bukkit is the API. You wouldn't read/write a book in a language you don't know so don't write code in a computer language you don't know. Trust me, I knew Java before I got into Bukkit and it was really easy for me since the only thing I had to learn was the API. Also, I would refrain from using Bukkit plugin video tutorials as some of them have a bad reputation for teaching bad practices and/or are outdated.
     
  10. Offline

    halojude3

    teej107
    i read java for dummies.
    and thank you everyone
     
  11. Offline

    XgXXSnipz

    halojude3 Pogostick is good and all, but you can tell he doesnt really care to teach anyone, all his code is buggy he'll spend like 3 episodes working out 1 bug
     
  12. Offline

    Skionz

    XgXXSnipz In my opinion PogoStick29 's tutorials are good. He explains what most classes and methods do.
     
    PogoStick29 likes this.
  13. Offline

    klosjaarrr

    Just to clarify: You don't learn Java by simply reading a book, you learn is by practising. It is good that you studied some material, but make sure you also practise enough with Java. I would suggest you create some simple Java programs first, Use a lot of HashMaps, Lists etc. and explain to yourself what you are doing. Make sure to test around a bit with Exceptions as well.

    Whenever you feel comfortable with Java, you can try out some simple Bukkit plugins. Try making a plugin that just sends a message to a player whenever he or she does /test, and try to check for all possible errors, learn from it and continue to create more complex plugins.
     
    xTrollxDudex and halojude3 like this.
  14. Offline

    timbragg12

    halojude3 And a simple plugin to start with after you are a ready is a chat clear plugin.
     
  15. Offline

    halojude3

    @klosjaarr
    thats exactly what i've done, after any subject i tested any possibility about this subject.
    There is something particular i need to know perfectly like you said exceptions?
     
    klosjaarrr likes this.
  16. Offline

    fireblast709

    Yay spread the Minecraft Logger, commandLabel, static abuse and unchecked casting even more :D. YouTube is the place where people learn you improper practices.
     
    xTrollxDudex, Totom3, jthort and 3 others like this.
  17. Offline

    halojude3

    AdamQpzm
    there was a lot of links which one ?
     
  18. Offline

    PogoStick29

    Here's something I've never told anyone, but I suppose now is a good time to get it out:

    When I started my channel, I was huge into Minecraft. That's the whole reason I decided to start programming in Java. However, after a few months, I became tired of the game. As I played the game less and less, I began to code for it less and less. However, there was still the channel. So, I tried introducing other tutorial series like Java 101 which took the Bukkit out of Java. However, these videos received far less activity than my other videos, so I continued Bukkit. As much as I love Bukkit, I no longer play Minecraft at all and only program for it when I need to for my channel. I haven't grown tired of teaching, I've grown tired of Minecraft. With the recent fall of Bukkit, I've more or less stopped (or suspended) Minecraft-related videos, and my subscribers seem to be responding well to my non-Minecraft content.

    TL;DR: I love teaching, I just don't love Minecraft anymore.

    Sorry for the rant.
     
  19. Offline

    coasterman10

    Youtube is usually not a good place to learn much other than copying and pasting code. If you fully understand what you're working with, you won't need to look at anyone else's code and will be able to write your own fully functional code with just the javadocs.

    I will say that you can learn a good deal about how to apply the API with Youtube tutorials, but take the coding style with a grain of salt as it is usually written for the purposes of teaching, and you WILL have to make changes to it to implement it in an actual plugin. An example is how a lot of item GUI tutorials hardcode the items and the names and the lore. While this is fine for teaching, you should realize that it can be greatly simplified with for loops and data structures.

    Also, there is the all too common unchecked cast from CommandSender to Player in command tutorials - remember that Console is not a player and you should always check the sender is a Player before doing this. Some good tutorials will do this correctly, but a lot skip it and leave people with casting exceptions.

    Anyways, get very familiar with Java before attempting complex plugins. I should note that it is possible to learn Java by using Bukkit as an API for input/output but you should not focus on trying to do stuff with Minecraft until you're comfortable programming. For some people Bukkit can be too much of a distraction and making standalone Java projects for the command line is a better exercise.

    The importance of object-oriented programming is often understated so I'll go ahead and say that you should also get familiar with how multiple objects interact, inheritance, etc. Any complex plugin will have multiple classes that represent all the objects that make it work, and you need to have a firm grasp on what's going on to make sense of how everything is working to make nice and efficient code using OOP versus a mess of procedural code mixed in with OO as a necessary evil, which I see all too much in beginner code.
     
  20. Offline

    XgXXSnipz

    PogoStick29 its fine bro, i just like watching you for tutorials, and its kinda disappointing when it seems like you dont really care/doing it half hearted :/
     
  21. Offline

    timbragg12

    PogoStick29 I love how you have liked everything that is praising you. :p
     
  22. Offline

    PogoStick29

    Whenever I get tagged in a post, I read through it and like everything mentioning me in a positive way. Narcissism? Maybe Yes.
     
  23. Offline

    Europia79


    Stanford University recorded their Computer Science course 106A which is
    I disagree that youtube is a bad place to learn from. The Stanford videos are excellent and it's the exact same as going to a college course (except free), however, the pace is extremely slow. And I wish they included the homework assignments (which i guess they don't have homework since they just goto the computer science lab for practice problems).

    If you can handle a faster pace, then I recommend Derek Banas

    There are some really good GoogleTechTalks too, like this one by Misko.

    Even Oracle has posted some nice videos, I recommend this excellent video that talks about Lambdas so well, that you'll be able to use them in Java 6 or Java 7 ! no joke.
     
    xTrollxDudex likes this.
  24. Offline

    VG.Developments

    PogoStick29 Videos taught me a lot of the basics. I'd recommend it. He goes over just about everything in good detail. Other then that halojude3 read the plugin tutorial wiki, that will help you get an understanding of everything too.
     
    Experminator and PogoStick29 like this.
  25. Offline

    xTrollxDudex

    Europia79
    Wow, some good links. Definitely will be looking at those when I get some time.
     
    Europia79 likes this.
  26. Offline

    XgXXSnipz

  27. Offline

    fireblast709

    The claim that youtube is a bad place to learn from is most of the time used against Bukkit tutorials. Of course, the claim would be a fallacy if used against tutorials in general ;3
     
    Europia79 likes this.
  28. Offline

    Europia79


    gotcha.

    So some people just mean Bukkit tutorials. But I'm sure some people really do mean all youtube tutorials... which, we might interpret that that's not their preferred learning style... Every learner is different (visual, auditory, doing, combination, etc).

    I'm sure article format would be better if you're a speed reader :p
     
  29. Offline

    Dragonphase

    fireblast709

    I've never really told anyone this but YouTube was where I got started with Bukkit plugin programming. I never ever completed a full tutorial session or playlist because I usually understood the concept of what I wanted to learn by the first or second video. And that's a key aspect about programming in general, if you aren't willing to learn you might as well not bother. My first few Bukkit plugins were terrible due to the fact that I didn't know Java but after I learned more about it and object oriented programming, the quality of my plugins really felt like they improved.

    It also helps if the tutor of the videos is competent, understands fully what they want to teach and is able to provide quality content in a form understandable by their target audience; something that I think a lot of Bukkit programming tutorial videos lack.
     
    Europia79 likes this.
Thread Status:
Not open for further replies.

Share This Page