From a166d6cfe672321658cd245c3293de757d757376 Mon Sep 17 00:00:00 2001 From: Sn0wStorm Date: Mon, 19 Aug 2013 17:14:43 +0200 Subject: [PATCH] Fixed Instant Effects --- config.yml | 3 ++- src/com/dre/brewery/BPlayer.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/config.yml b/config.yml index 7e058ef..8c4c21d 100644 --- a/config.yml +++ b/config.yml @@ -60,6 +60,7 @@ autosave: 3 # alcohol: Alkoholgehalt 0-100 in absoluter Menge bei perfektem Getränk (wird dem Spieler hinzugefügt, bei 100 = tot) # effects: Auflistung Effekt/Dauer Besonderere Trank-Effekte beim Trinken, Dauer in sek. Ein 'X' an den Namen anhängen, um ihn zu verbergen. Bsp: POISONX/10 # (WEAKNESS, INCREASE_DAMAGE, SLOW und SPEED sind immer verborgen.) Mögliche Effekte: http://jd.bukkit.org/rb/apidocs/org/bukkit/potion/PotionEffectType.html +# Bei Effekten mit sofortiger Wirkung (z.B. HEAL) muss anstatt der Dauer das Level angegeben werden. recipes: 1: @@ -166,7 +167,7 @@ recipes: color: PINK difficulty: 1 effects: - - HEAL + - HEAL/1 diff --git a/src/com/dre/brewery/BPlayer.java b/src/com/dre/brewery/BPlayer.java index c079507..5f19189 100644 --- a/src/com/dre/brewery/BPlayer.java +++ b/src/com/dre/brewery/BPlayer.java @@ -21,7 +21,7 @@ public class BPlayer { public static Map players = new HashMap();// Players name and BPlayer public static Map drainItems = new HashMap();// DrainItem Material and Strength private static Map pTasks = new HashMap();// Player and count - + // Settings private static int taskId; public static int pukeItemId; @@ -391,10 +391,13 @@ public class BPlayer { for (Map.Entry entry : effects.entrySet()) { PotionEffectType type = PotionEffectType.getByName(entry.getKey().replace("X", "")); if (type != null) { - int duration = (entry.getValue() / 8) * brew.getQuality() * 20; - int amplifier = brew.getQuality() / 3; - - type.createEffect(duration, amplifier).apply(player); + int duration = (entry.getValue() * brew.getQuality()) / 8; + if (type.isInstant()) { + type.createEffect(0, duration - 1).apply(player); + } else { + int amplifier = brew.getQuality() / 3; + type.createEffect(duration * 20, amplifier).apply(player); + } } } }