Wednesday, February 23, 2011

Bukkit Plugins Updated for 1.3

Hope the forums come back up soon!

Here are my plugins, working with 1.3 [CB#431]:
Persistence v0.50 : Persistence.jar
Spells v0.96 : Spells.jar
Wand v0.64 : Wand.jar
NetherGate v0.44 : NetherGate.jar
CrowdControl v0.17 : CrowdControl.jar

I haven't had time to really see if CC is actually working anymore, but everything else works. Material cycling is temporarily disabled in Wand on account of Player.isSneaking being broken (looks like it points to "isAlive" now!)

Also, Spells v0.96 has two very new, very dangerous spells- fire and lava. Observe the terrifying and devastating effects in my testing, here.

CC changes the order of parameters for "control"- you can now simply do "/crowd control creeper giant" to swap creepers for giants, or "/crowd control creeper giant 50" to swap half of the creepers for giants.

NetherGate hasn't changed much on the outside- but I was right in the middle of getting portal tracking up and running! Should be soon.. OH! Also, I did add that "/nether list worlds" command.

Oh, and the base fire spell closes the gap in constructing and activating a portal entirely with the wand. Pretty cool, and is basically why I got distracted on finally implementing fire (and then lava) in the first place.

Come visit, play around if you want: mine.elmakers.com

Saturday, February 19, 2011

Getting Started With Bukkit Plugin Development

Getting started with Bukkit plugin programming can seem daunting- but if you follow these instructions, to the letter, you should be able to get yourself set up and ready to go!

Before you start: Check out the bukkit wiki first, look in the "Getting Started" section.... I'm going to be updating that instead! This page will stay around for now, for Persistence and Gameplay tutorials.

Contents
Tools
Getting Eclipse Set Up
Donwloading Eclipse Plugins

Tools
This tutorial uses the following technology:

  • Eclipse - get the latest version, for Java devs
  • git - I recommend that you use git for version control, even if just locally
  • EGit - an Eclipse plugin for easy git use, available in the Eclipse Marketplace
  • github.com - It's a good idea to get a github account, and I recommend you go open source!
  • Maven - Maven is a dependency management and build system
  • Eclipse Plugin for Maven - Integrates Maven into Eclipse

If you prefer other tools/environments, you're going to be somewhat on your own, but this tutorial may still be useful.

Getting Eclipse Set Up
Start by downloading Eclipse. This is the only thing you should need to download directly- install it and get it started. Set up a "workspace"- this just a folder where you'll keep your code. Check the "use this as default and don't ask again" box:


Now, you should get a welcome screen like this:


You can close the "Welcome" tab using the "x" or explore what it has to offer if you're a first-time Eclipse user. Eclipse is a very powerful IDE- you will get to learn it over the course of this tutorial, but it's worth you time to explore what's there.

When you're ready, close the "Welcome" tab and you should see the default Eclipse IDE:


Don't feel overwhelmed! Let's take some time to introduce you to Eclipse, step-by-step. Eclipse is a flexible UI framework, it has two main concepts:

Views
A "view" in eclipse is like a sub-window. Every tab that you see on the screen is a "view". You can access any view at any time using "Window", "Show View":


Eclipse has a lot of views, and plugins can add them, as well. This list is mean to contain the most commonly used ones.

Perspectives
A perspective in Eclipse is just a set of views, arranged a certain way. Eclipse comes with some default perspectives- the one you see in front of you is the "Java" perspective, which you can see in the top-right:

 You can have as many different perspectives "open" at one time, and switch between then using these controls. You may also customize any perspective- adding views, toolbar buttons, etc, as you see fit.

The Java Perspective
The default views available in the Java perspective should be as follows:



Download Eclipse Plugins
Eclipse has a built-in "marketplace" for plugins (think "Fill"). Access it via "Help" menu:


Wednesday, February 2, 2011

Building a Star

I played around with magic some tonight, decided to make a "star" - a giant sphere of lava surrounded by a shell of glass.

I ended up getting something much more organic and fun, and having a pretty crazy time in the process.

Things had gotten a little out of control by the time I started taking screenshots.

My neat superball of lava somehow broke out of its glass supershell, and turned into a giant pillar of fiery death.

Rewind was failing me for some reason...
I tried to "catch" the falling lava with superblobs of water before it burned up the entire valley.
I did get it contained eventually.

The end result is actually very organic- it's pretty cool, much cooler than it would have been had my original plan worked!

I made such a mess on the ground, though.Tried to clean it up with blob...

It's pretty neat up top- I built some interior structure

Still dangerous though!

Monday, January 24, 2011

Bukkit Plugins

I've started making server plugins for Bukkit, and I'll keep track of them here!

Spells : A collection of easy-to-use magic spells for combat, world construction, exploration, and more.
Wand : An extension to Spells, allows console-free spell use with a magic wand.
Persistence : A persistence framework plugin, allowing easy object saving and loading, using SqlLite.
Wandmin : A version of Wand that works with arbitrary console commands.

I've also started some basic API's- right now, Spells is the only thing I've got going. It should be easy to make your own plugin with new spells in it. If you're interested, check it out here.

If you enjoy using any of my plugins, or you appreciate the Spells API, or you're just feeling generous, I would appreciate a donation!