We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P1.0, released 3 months ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
9

#76842: There's two Ha* directories in the code download! which causes H<tab> to not complete to HelloWorld. Correct code sample should be Ha<tab>.--Morbus Iff

Andrew Hunt says: That's true in the actual code directory, but not in the sample directory as given in the text, where H<TAB> is correct. I'll clarify the description.
P1.0
06-Jun-14
35

#76845: In the HelloWorld plugin.yml file, the "hello" command has usage of "/hello [optional message]", but the HelloWorld.java doesn't appear to do that.--Morbus Iff

P1.0
09-Jun-14
39

#76846: "AndyHunt issued seRver command", not "sever command".--Morbus Iff

P1.0
09-Jun-14
45
#76817: The error is within the sample code for the BuildAHouse plugin rather than a typo/error within the book itself (I have given P.45 as that is w...more...
Andrew Hunt says: Argh, you're right on the coordinates; I fat-fingered that one. Expanding the call to use all three dimensions was left as an exercise to the reader, but I never added the exercise itself.
P1.0
24-May-14
57 45
#76959: Example at the bottom of the page is: $ cd Desktop $ cd code/src/BuildAHouse $ ./build.sh The second line should read "cd code/BuildAH...more...
P1.0
05-Jul-14
59

#76906: need to import org.bukkit.entity.Pig;

and call
me.getWorld().spawn(me.getLocation(), Pig.class);

inside the loop--Kintzer

Andrew Hunt says: As it says in the text, this is a "snippet" of code, not a complete piece of code itself. The point is to show a for loop, not declaring variables or imports.
P1.0
26-Jun-14