Creating more plugins on your own

Now that you have created these two plugins, you have a hang of how to properly use event listeners. You now have the required knowledge to create hundreds of unique plugins on your own. All that you need to get started is a cool idea. Why don't you try making one of the plugins that was suggested earlier in this chapter? For more ideas, you know where to look. The Bukkit, Spigot, and Minecraft forums or the API documentation are great for inspiration. For example, looking through the list of events, I saw the ExplosionPrimeEvent class, which is described as "Called when an entity has made a decision to explode". This event is called when a creeper makes that hissing noise that every Minecraft player dreads. When this happens, you can send a message to all the nearby players to make it look like the creeper is talking to them. First, you will create an EventHandler method for this event. You will want to return in case the entity is not a creeper. Then, you will want to get the entities that are near the creeper (there is a method for this within the Entity class). For each entity that you get, if it is an instance of a player, send them a message, as follows:

<Creeper> That sssure isss a nicccee <ItemInHand> you have there. It would be a ssssshame if anything happened to it.

In each message, you will replace <ItemInHand> with the type of item that the player is holding. By this time, I am sure that you have some ideas of your own that you are able to implement as well.

Another good thing that you should know about listeners is how to unregister them. You may never need to do this, but if you do ever want to stop modifying or canceling an event, then you can use the following code within the Listener class:

HandlerList.unregisterAll(this);

This will unregister the entire class. So, if you wish to only unregister specific EventHandler methods, then you should split them up into separate classes. Unregistering the listeners will not be the way to go for the NoRain plugin, but it may be useful if you add a /mobenhancer off command. Then, a /mobenhancer on command can register the listeners again, which is similar to how we did this in the onEnable method.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.186.72