From b85f87f8564b70aaffcd1f4536a692fbd3e1286b Mon Sep 17 00:00:00 2001 From: Garbage Mule Date: Tue, 13 Sep 2011 10:43:41 +0200 Subject: [PATCH] Introduced magicspells.yml for disabling custom spells. --- MobArena.jar | Bin 241132 -> 241314 bytes resources/res/magicspells.yml | 13 +++++++ .../listeners/MagicSpellsListener.java | 34 +++++++++++++++++- .../garbagemule/MobArena/util/FileUtils.java | 10 ++++-- 4 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 resources/res/magicspells.yml diff --git a/MobArena.jar b/MobArena.jar index a8a6c5cee7d76e3acb42f815617db6de6825fe4e..94e78f43621f9222e646be145c9b5479b4da1c24 100644 GIT binary patch delta 13085 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 C2&78@ diff --git a/resources/res/magicspells.yml b/resources/res/magicspells.yml new file mode 100644 index 0000000..88f5edc --- /dev/null +++ b/resources/res/magicspells.yml @@ -0,0 +1,13 @@ +# MobArena disabled MagicSpells spells +# Use this file to disable the MagicSpells spells you don't want your players +# to use during arena sessions. Make sure to put a hyphen (-) before every +# spell, and try to keep the indentation proper. + +# Spells that will be disabled for the entire arena session. +disabled-spells: + - carpet + - blink + +# Spells that will be disabled only while a boss is present. +disabled-only-on-bosses: + - purge \ No newline at end of file diff --git a/src/com/garbagemule/MobArena/listeners/MagicSpellsListener.java b/src/com/garbagemule/MobArena/listeners/MagicSpellsListener.java index 9278cb1..343ae7b 100644 --- a/src/com/garbagemule/MobArena/listeners/MagicSpellsListener.java +++ b/src/com/garbagemule/MobArena/listeners/MagicSpellsListener.java @@ -1,17 +1,31 @@ package com.garbagemule.MobArena.listeners; +import java.io.File; +import java.util.LinkedList; +import java.util.List; + +import org.bukkit.util.config.Configuration; + import com.garbagemule.MobArena.Arena; import com.garbagemule.MobArena.MobArena; +import com.garbagemule.MobArena.util.FileUtils; import com.nisovin.MagicSpells.Events.SpellCastEvent; import com.nisovin.MagicSpells.Events.SpellListener; public class MagicSpellsListener extends SpellListener { private MobArena plugin; + private List disabled, disabledOnBoss; public MagicSpellsListener(MobArena plugin) { this.plugin = plugin; + + // Set up the MagicSpells config-file. + File spellFile = FileUtils.extractFile(plugin.getDataFolder(), "magicspells.yml"); + Configuration spellConfig = new Configuration(spellFile); + spellConfig.load(); + setupSpells(spellConfig); } public void onSpellCast(SpellCastEvent event) @@ -19,7 +33,25 @@ public class MagicSpellsListener extends SpellListener Arena arena = plugin.getAM().getArenaWithPlayer(event.getCaster()); if (arena == null || !arena.isRunning()) return; - if (event.getSpell().getName().equals("purge") && arena.isBossWave()) + String spell = event.getSpell().getName(); + + if (disabled.contains(spell) || (arena.isBossWave() && disabledOnBoss.contains(spell))) event.setCancelled(true); } + + private void setupSpells(Configuration config) + { + this.disabled = config.getStringList("disabled-spells", new LinkedList()); + this.disabledOnBoss = config.getStringList("disabled-only-on-bosses", new LinkedList()); + } + + public void disableSpell(String spell) + { + disabled.add(spell); + } + + public void disableSpellOnBoss(String spell) + { + disabledOnBoss.add(spell); + } } diff --git a/src/com/garbagemule/MobArena/util/FileUtils.java b/src/com/garbagemule/MobArena/util/FileUtils.java index 2fbfa2d..94ae6aa 100644 --- a/src/com/garbagemule/MobArena/util/FileUtils.java +++ b/src/com/garbagemule/MobArena/util/FileUtils.java @@ -183,15 +183,15 @@ public class FileUtils extractFile(MobArena.dir, filename); } - public static void extractFile(File dir, String filename) + public static File extractFile(File dir, String filename) { // Skip if file exists File file = new File(dir, filename); - if (file.exists()) return; + if (file.exists()) return file; // Skip if there is no resource with that name InputStream in = MobArena.class.getResourceAsStream("/res/" + filename); - if (in == null) return; + if (in == null) return null; try { @@ -206,11 +206,15 @@ public class FileUtils if (in != null) in.close(); if (out != null) out.close(); + + return file; } catch (Exception e) { e.printStackTrace(); MobArena.warning("Problem creating file '" + filename + "'!"); } + + return null; } }