diff --git a/src/main/java/de/fanta/challenges/challenges/BingoChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/BingoChallengeEvent.java index 6bb4716..bcba487 100644 --- a/src/main/java/de/fanta/challenges/challenges/BingoChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/BingoChallengeEvent.java @@ -107,8 +107,8 @@ } } - public void setMaterials(List materials) { - BingoChallengeEvent.materials = materials; + public void setMaterials(List mat) { + materials = mat; } public static List getMaterials() { @@ -123,8 +123,8 @@ return running; } - public void setRunning(boolean running) { - BingoChallengeEvent.running = running; + public void setRunning(boolean run) { + running = run; } public void addDiscoveredItem(Player player, ItemStack itemStack) { diff --git a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java index f2d765a..92a43c9 100644 --- a/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/MLGChallenge.java @@ -19,18 +19,13 @@ public class MLGChallenge { - private static Challenges plugin; - private static Random random; + private static final Challenges plugin = Challenges.getPlugin(); + + private static final Random random = new Random();; private static boolean mlgActive; public static int timeSinceMLG; // seconds - public static int maxMLGTime; // seconds - - public MLGChallenge(Challenges plugin) { - MLGChallenge.plugin = plugin; - random = new Random(); - maxMLGTime = plugin.getConfig().getInt("mlg.maxtime"); - } + public static int maxMLGTime = plugin.getConfig().getInt("mlg.maxtime");; // seconds public static void checkMLGWorld() { World mlgWorld = Bukkit.getWorld("mlg_challenge"); diff --git a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java index 16c992d..fd598fd 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomEffectChallenge.java @@ -21,8 +21,8 @@ @EventHandler public void onPlayerMove(PlayerMoveEvent e) { - if (plugin.getConfig().getBoolean("randomeffect") && plugin.getTimer().isRunning()) { - Player p = e.getPlayer(); + Player p = e.getPlayer(); + if (plugin.getConfig().getBoolean("randomeffect") && plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { long chunkkey = p.getLocation().getChunk().getChunkKey(); Random random = new Random(); PotionEffectType[] values = Arrays.stream(PotionEffectType.values()).filter(effect -> (!effect.equals(PotionEffectType.HARM))).toArray(PotionEffectType[]::new); @@ -32,7 +32,7 @@ } if (chunkPotionEffectMap.get(chunkkey) != playerPotionEffectMap.get(p)) { if (playerPotionEffectMap.get(p) != null) { - p.removePotionEffect(playerPotionEffectMap.get(p).getType()); + p.removePotionEffect(playerPotionEffectMap.get(p).getType()); } p.addPotionEffect(chunkPotionEffectMap.get(chunkkey)); playerPotionEffectMap.put(p, chunkPotionEffectMap.get(chunkkey)); diff --git a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java index c14f657..872dc75 100644 --- a/src/main/java/de/fanta/challenges/challenges/XPChallenge.java +++ b/src/main/java/de/fanta/challenges/challenges/XPChallenge.java @@ -19,7 +19,7 @@ if (plugin.getConfig().getBoolean("xpdeath")) { p.setHealth(0); } - ChatUtil.sendBrodcastMessage(e.getPlayer() + " hat XP eingesammelt!"); + ChatUtil.sendBrodcastMessage(e.getPlayer().getName() + " hat XP eingesammelt!"); } } } diff --git a/src/main/java/de/fanta/challenges/listeners/DamageListener.java b/src/main/java/de/fanta/challenges/listeners/DamageListener.java index 3a5e70c..0a3d424 100644 --- a/src/main/java/de/fanta/challenges/listeners/DamageListener.java +++ b/src/main/java/de/fanta/challenges/listeners/DamageListener.java @@ -18,7 +18,7 @@ @EventHandler public void onDamage(EntityDamageEvent e) { if (e.getEntity() instanceof Player p) { - if (plugin.getTimer().isRunning() && plugin.getVanish().isVanish(p)) { + if (plugin.getTimer().isRunning() && !plugin.getVanish().isVanish(p)) { String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); if (plugin.getConfig().getBoolean("dmginchat")) { if ((e.getFinalDamage() > 0) && (e.getFinalDamage() < 10000)) { @@ -33,17 +33,22 @@ } } } + } else { + e.setCancelled(true); } } } @EventHandler public void onEntityDamage(EntityDamageByEntityEvent e) { - if ((e.getEntity() instanceof Player p) && (e.getFinalDamage() > 0) && (plugin.getTimer().isRunning()) && !plugin.getVanish().isVanish(p)) { + if (!plugin.getTimer().isRunning()) { + e.setCancelled(true); + return; + } + if ((e.getEntity() instanceof Player p) && (e.getFinalDamage() > 0) && !plugin.getVanish().isVanish(p)) { String dmg = new DecimalFormat("#.##").format(e.getFinalDamage()); if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && plugin.getConfig().getBoolean("dmginchat")) { ChatUtil.sendBrodcastMessage(ChatUtil.BLUE + p.getName() + ChatUtil.GREEN + " hat " + ChatUtil.ORANGE + dmg + ChatUtil.GREEN + " HP Schaden genommen durch " + ChatUtil.ORANGE + e.getDamager().getName()); - } } } diff --git a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java index 578677e..9b39ea3 100644 --- a/src/main/java/de/fanta/challenges/listeners/EventRegistration.java +++ b/src/main/java/de/fanta/challenges/listeners/EventRegistration.java @@ -1,6 +1,7 @@ package de.fanta.challenges.listeners; import de.fanta.challenges.Challenges; +import de.fanta.challenges.challenges.BingoChallengeEvent; import de.fanta.challenges.challenges.ChallengeGoals; import de.fanta.challenges.challenges.ClearInventoryByDamageChallenge; import de.fanta.challenges.challenges.CraftingTableChallenge; @@ -64,5 +65,6 @@ pM.registerEvents(new ClearInventoryByDamageChallenge(), plugin); pM.registerEvents(new TiedTogetherChallenge(), plugin); pM.registerEvents(new NoSneakChallenge(), plugin); + pM.registerEvents(new BingoChallengeEvent(), plugin); } }