rendered paste bodypackage netherrackdamage;import java.util.HashMap;import org.bukkit.entity.Player;import org.bukkit.event.Event.*;import org.bukkit.event.*;import org.bukkit.plugin.PluginDescriptionFile;import org.bukkit.plugin.java.JavaPlugin;import org.bukkit.plugin.PluginManager;import com.nijiko.permissions.PermissionHandler;import com.nijikokun.bukkit.Permissions.Permissions;import org.bukkit.plugin.Plugin;import org.bukkit.command.Command;import org.bukkit.command.CommandExecutor;import org.bukkit.command.CommandSender;import org.bukkit.command.PluginCommand;public class NetherrackDamage extends JavaPlugin { private final NDprops props = new NDprops(this); private final NDcommands cmdHandle = new NDcommands(this, props); private final NetherrackDamagePlayerListener playerListener = new NetherrackDamagePlayerListener(this, props, cmdHandle); private final HashMap<Player, Boolean> debugees = new HashMap<Player, Boolean>(); public static PermissionHandler permissionHandler; String permiss; private void setupPermissions() { Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions"); if (this.permissionHandler == null) { if (permissionsPlugin != null) { this.permissionHandler = ((Permissions) permissionsPlugin).getHandler(); System.out.println("[Netherrack-Damage] hooked into Permissions."); permiss = "Yes"; } else { // TODO: read ops.txt file if Permissions isn't found. System.out.println("[Netherrack-Damage] Permissions not found! Using ops.txt file."); permiss = "No"; } } } public void onDisable() { System.out.println("[Netherrack-Damage] has been safely disabled."); } public void onEnable() { PluginManager pm = getServer().getPluginManager(); pm.registerEvent(Event.Type.PLAYER_MOVE, playerListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Normal, this); setupPermissions(); setupCommands(); props.doConfig(permiss); PluginDescriptionFile pdfFile = this.getDescription(); System.out.println( "[Netherrack-Damage] version v" + pdfFile.getVersion() + " is enabled." ); } private void setupCommands() { PluginCommand dmgdealt = getCommand("dmgdealt"); PluginCommand dmgdelay = getCommand("dmgdelay"); PluginCommand bootmod = getCommand("bootmod"); CommandExecutor commandExecutor = new CommandExecutor() { public boolean onCommand( CommandSender sender, Command command, String label, String[] args ) { if (props.perm.equals("Yes")) { if ((this).permissionHandler.has(event.getPlayer(), "nd.admin.dmgdealt")) { if (label.equals("dmgdealt")) { cmdHandle.chngDmgDealt(sender, args[0]); } } } if (label.equals("dmgdelay")) { cmdHandle.chngDmgDelay(sender, args[0]); } if (label.equals("bootmod")) { cmdHandle.chngBootMod(sender, args[0]); } return true; } }; if (dmgdealt != null) { dmgdealt.setExecutor(commandExecutor); } if (dmgdelay != null) { dmgdelay.setExecutor(commandExecutor); } if (bootmod != null) { bootmod.setExecutor(commandExecutor); } } public boolean isDebugging(final Player player) { if (debugees.containsKey(player)) { return debugees.get(player); } else { return false; } } public void setDebugging(final Player player, final boolean value) { debugees.put(player, value); }}