Changes in Q2Java 0.9.3

Changes in Java Classes
q2java.baseq2.BaseQ2
Change Leigh | init() and unload() updated to add and remove "q2java.baseq2" from the game's "packagePath" property.
q2java.baseq2.Player
Fix Leigh | cmd_say() fixed to catch case of empty-string being passed as an arg - so a NullPointerException isn't thrown.
Change Barry | getMaxAmmoCount() made public - so that property can be manipulated by external objects like item_pack
Change Barry | setAmmoCount() methods make sure that the ammo count doesn't exceed the maxAmmoCount
Added Barry | setMaxAmmoCount() - to go along with getMaxAmmoCount()
q2java.baseq2.spawn.item_pack
Added Barry | New class, to implement ammo backpacks that increase a player's capacity, and gives a quick ammo-refill.
q2java.core.BasicServerCommands
Added Leigh | Several of the basic server commands were removed from the Game class and moved into this new class.
q2java.core.DefaultClassFactory
Change Leigh | This class has been reworked to just handle locating classes, and no longer involves itself with gamelet management.
q2java.core.Game
Change Leigh | svcmd_addgamelet(), svcmd_removegamelet() moved to the new GameletManager class.
Change Leigh | svcmd_help(), svcmd_javagc(), svcmd_javamem(), svcmd_properties() moved to new BasicServerCommands class.
Change Leigh | Gamelet management split off into new GameletManager class, so addGamelet(), getGamelet(), removeGamelet(),
Added Barry | A new Game property, the "packagePath" - manipulated with addPackagePath() and removePackagePath() methods has been added. Basically the Game class will keep track of a list of package names, and ClassFactory objects will refer to it when trying to figure out the full Java classnames of partially specified classes (such as when it needs to figure out that "weapon_rocket" is implemented by "q2java.baseq2.spawn.weapon_rocket").
q2java.core.GameletManager
Added Leigh | Gamelet management was been taken out of the Game and DefaultClassFactory classes and moved here. The Game class has setGameletManager() and getGameletManager() methods to access the Game's current GameletManager object.
q2java.core.GameUtil
Added Barry | Versions of getAngle3f(), getPoint3f(), and getSpawnArg() to work with DOM elements instead of old-fashioned arrays of strings.
Added Barry | New versions of randomInt() to more conveniently generate random numbers on the ranges 0..n-1, given a value n, or in the range x..y given x and y.
q2java.core.GameletManager
Change Leigh | init() and unload() add/remove the package "q2java.ctf" to the Game's packagePath

Q2Java homepage