Releases
You can go to Purugin's files page to get the latest release.
0.7.0 (command syntax language) - built against Bukkit 1.7.2-R0.2
This release has added a new Command syntax release. It also includes a smattering of more convenience methods. Hopefully from this point on I will keep a better history of what has changed from release to release.
1.5.2-R1.0 (Nameless) jar
Update Purugin to 1.5.2 including new event support for: BlockExpEvent, EntityPortalEvent, EntityPortalExitEvent, HangingBreakByEntityEvent, HangingBreakEvent, HangingEvent, HangingPlaceEvent, FurnaceExtractEvent, InventoryCreativeEvent, InventoryDragEvent, InventoryInteractEvent, InventoryMoveItemEvent, InventoryPickupItemEvent, PlayerEditBookEvent, PlayerItemConsumeEvent.
- new item_stack method: item_stack(:iron_ingot), item_stack(:iron_ingot, 10))
- new shaped_recipe method: server.add_recipe shaped_recipe(item_stack(:sand, 10), "xy\nyx\n", x: :wood, y: :gravel))
- Use EntityType instead of LivingEntity since it was deprecated
- Addition of massive logo-like turtle graphics purugin (see Purogo/Introduction).
- Updated bits.yml to use DEVELOPMENT build of 1.2.4 of craftbukkit.jar
- Based on latest promoted beta API build of craftbukkit (see bits.yml for which ones if you manually install)
- Add new support for services (see PluginDependencies).
- Massive fixes for new Bukkit API changes
- New kind method for entity (an_entity.kind -> :cow)
- New name method for entity (an_entity.name -> 'Cow')
- Any material can ask if it is solid (stone_block.solid? -> true)
- Sync'd entities with 1.1 (new lava_slime and snow_man)
- Metaprogramming magic to define all event listeners (was manually sync'd -- and was a little out of date)
- Uses first recommended build of Craftbukkit known to work with Minecraft 1.0.0
- Permissions removed from install (manually install permission plugin of choice)
- Data directories lazily created when/if accessed
- Add new Purugin::Tasks module (sync_task, async_task)
- New predicates for World (e.g. world.nether?, world.normal?, etc...)
- New generic World.is? :my_custom_world
- Fix #7: Purugin fails to start (paths with spaces or other special chars)
- Lots of new Entity predicate (e.g. entity.cow? + generic entity.is? :cow)
- Action now has predicates: clicked_air? and clicked_block?
- Added Marv Cool tunnel generator (examples/generators/tunnel.rb)
- Add block.rotate(face, direction) by Marv Cool
- Add block.break!(drop_it, replace_it_with) by Marv Cool
- Add HumanEntity.mode(:creative) for switching modes
- Added Thomas Dervan game_mode plugin (examples/game_mode.rb)
- Bouncer now reads bouncer.material config for setting bounce material by Chaazd
- Every Event type which has enums also have predicates (PlayerFishEvent.fishing?)
- Purugins can be put into another directory instead of plugins by setting 'path' in Purugin's config.yml (thanks aumgn)
- Improve unloading of constants on dynamic reloads of purugins
- ports.rb example: colorize sign text
- new &0...&9 + &a..&f shorter colorization values (see minepedia and colors)
- Add block? and item? methods to PlayerInteractionEvent
- Material data no longer hardcoded in Purugin source files
- Event mappings to Bukkit equivalents no longer hardcoded in Purugin source files
- [BUG] Prevent ClassCastException with PluginEvent because of ServerListener (thanks aumgn)
This release does two things:
- Bad loading on Ubuntu (possibly other envs)
This fix addresses a problem reported on Ubuntu where the bootstrapping logic for Purugin.jar was not working using relative paths (which does work on Solaris, Windows, and MacOS). If you get an error similiar to:
09:32:38 [SEVERE] LoadError: no such file to load -- bukkit
require at org/jruby/RubyKernel.java:1038 (root) at /purugin.rb:5
Then upgrading (re-running bin/install) will fix this.
- Magical loading/reloading of purugins in your plugins directory based on mtime changes
The second thing added to this release is experimental loading and reloading of purugins. So if you copy a purugin into your plugins directly, then your minecraft server should detect this and automatically load the purugin. If you edit a plugin already installed, then once you save you should get your purugin automatically reloaded! Beware: This is a new feature and there was some ugly-ish code to make this happen, so always be sure to make frequent backups of your world. Also please open issues as you find them.
This was a baseline release for the rubyconf talk I was giving on modding Minecraft.