Created
November 30, 2012 21:03
-
-
Save kksym/4178590 to your computer and use it in GitHub Desktop.
SayNoToBonemeal bukkit mod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SayNoToBonemeal | |
main: com.github.kksym.saynotobonemeal.SayNoToBonemeal | |
version: 1.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.github.kksym.saynotobonemeal; | |
import org.bukkit.Material; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.EventPriority; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.block.Action; | |
import org.bukkit.event.player.PlayerInteractEvent; | |
import org.bukkit.inventory.ItemStack; | |
import org.bukkit.plugin.PluginDescriptionFile; | |
import org.bukkit.plugin.PluginManager; | |
import org.bukkit.plugin.java.JavaPlugin; | |
public class SayNoToBonemeal extends JavaPlugin { | |
private PluginDescriptionFile description; | |
private class PlayerInteractListener implements Listener { | |
// Disables Bone Meal for growing trees | |
@EventHandler(priority = EventPriority.NORMAL) | |
public void onPlayerInteract(PlayerInteractEvent event) { | |
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) { | |
// Get the item involved in the event | |
ItemStack item = event.getItem(); | |
// Check if the item is an Ink Sack with data as 15 (Bone Meal) | |
if (item.getType() == Material.INK_SACK | |
&& item.getData().getData() == 15) { | |
// When the event has a block and it's a sapling of some | |
// sort, cancel the event | |
if (event.hasBlock() | |
&& event.getClickedBlock().getType() == Material.SAPLING) { | |
event.setCancelled(true); | |
} | |
} | |
} | |
} | |
} | |
@Override | |
public void onEnable() { | |
description = getDescription(); | |
PluginManager manager = getServer().getPluginManager(); | |
manager.registerEvents(new PlayerInteractListener(), this); | |
getLogger().info(description.getName() + " v" + description.getVersion() + " enabled!"); | |
} | |
@Override | |
public void onDisable() { | |
getLogger().info(description.getName() + " v" + description.getVersion() + " disabled!"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment