Top positive review
My thoughts as a Java Programmer.
Reviewed in the United States on July 12, 2016
Before I get into this review, I want to make it clear that I am coming from a background in programming, I hold a degree and have over 2 years of Java experience.
With Java being one of my favorite programming languages, and minecraft being one of my favorite games (Plus I already host my own bukkit server), I thought it would be fun to do some kind of modding for Minecraft. I have the skill, I just didn't know where to begin. This book, along with some tips on the internet, I was introduced to how to access the bukkit library and begin applying my java knowledge in an awesome way.
I was able to go through this book grabbing the examples and rebuilding them into something more complex. For example
The "buildahouse" sample plugin. Right off the bat, looking at the method parameters, I seen there was "String args", this excited me, I know what this is and how to apply it. So i've made it so you can pass in the width and height for the house in game.
Example >"buildahouse 5 5".
There was also a sample where it shows you that you can spawn a cow and name it. I rewrote it to spawn any entity in the game and name it.
in the end, you could be in game and type, "spname creeper Tom", or "spname villager Dave", or "spname pig Wilbur" ect.
I've made it through the book over 1 weekend just copying the code over to my IDE and playing with it, using the chapter for reference. To me the book has helped me build the missing knowledge I needed to start developing plugins.
Now, here is where I get to the meat of this review, off the bat, I can tell that this book was written for children, the way the author talks and tries to explain things, it just didn't feel right to me. This book is suppose to be written so that readers can have 0 programming experience and still learn. It could be because I already know what he is trying to teach, but I feel if I didn't know anything about programming that this book is not the best place to start, you'll get short, and childish examples for things such as variables, and methods, etc. I think it helps to come in with a good understanding of Objects, instances, methods, and data types.
I might have missed it, but another thing is that this book doesn't teach you how to do plugin development with Netbeans or Eclipse, something that I highly recommend using for Java development. Author has a script "build.sh" that people use to compile and move the plugin. Author uses a Mac, so unless you are on Mac, or Linux, you will have to download some extra functionality to do commandline shell on Windows OS. Not a problem if you know how to do this work using an IDE. I think by the time a child or person finishes this book, they will be relying on some kind of build script. They will be using some kind of text-based editor and doing a lot of things the hard way. Another thing that may not be present in the book is how to add the bukkit library to your resources. I think it's setup in such a way that users are making their plugins in a directory setup during the first 1-2 chapters. This leaves little understanding of how the bukkit library is being used and referenced. Using an IDE, you are taught to add a reference to the bukkit library to your resource folder, which in turn allows use of the imports and functionality of the packages.
With bukkit on the market again, and with both Java and Bukkit updating as-well-as depreciating certain things, I think Author should release a 3rd edition to this book and make it fit modern times. Netbeans is on Mac, so I would appreciate Author introducing readers to Netbeans and the process of creating projects, packages and etc. Teach them how to build and compile the jar file and how to move it to the plugins folder.
Again, I can't interpret this book like others, I see it already knowing Java, so I think to myself, would this help me if I didn't know programming? Knowing what I know now about Java and the process of Plugin development, to a lot of things, my answer is no. To a few other things, it's hard to tell whether it would or not.
Maybe it would be best when writing a book like this to just dedicate the first half of the book to learning Java with a console, and then the last half of the book applying knowledge and building plugins. Or maybe spend each lesson learning a concept with console output, and then end the chapter by applying knowledge learned.
If anyone has this book, and had zero experience buying it, and now have a good understanding of Java concepts, and bukkit plugins, good job!
In the end, I still enjoyed the book, I have no regrets buying it, and I'm proud to have it for reference. If a 3rd edition comes out, and deals with Bukkit, I will likely consider buying.
My suggestions though:
*If you are buying this book because you are just interested in learning programming, get a true Java programming book.
*If you aren't really interested in programming, but would like to develop plugins, I suggest first building an understanding in Java programming, then buy this book when you understand things such as Classes, Methods, and Objects and Instances.
*If you know the Java language, and would like to get a start on plugins, buy this book.