diff --git a/pom.xml b/pom.xml index 2e84226..c05a67a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ net.brennholz.challenges Challenges - 1.9 + 2.0 UTF-8 diff --git a/src/main/java/net/brennholz/challenges/Backpack.java b/src/main/java/net/brennholz/challenges/Backpack.java index d15f57e..3f3a23b 100644 --- a/src/main/java/net/brennholz/challenges/Backpack.java +++ b/src/main/java/net/brennholz/challenges/Backpack.java @@ -14,8 +14,10 @@ public class Backpack implements CommandExecutor { private Challenges chl = Challenges.getplugin(); - - public static Inventory Backpack = Bukkit.createInventory(null, 54, "§6Backpack"); + private static Challenges chl1 = Challenges.getplugin(); + + static int size = chl1.getConfig().getInt("backpack_size"); + public static Inventory Backpack = Bukkit.createInventory(null, size, "§6Backpack"); public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (sender instanceof Player) { diff --git a/src/main/java/net/brennholz/challenges/Challenges.java b/src/main/java/net/brennholz/challenges/Challenges.java index 5c09f1f..1564ba9 100644 --- a/src/main/java/net/brennholz/challenges/Challenges.java +++ b/src/main/java/net/brennholz/challenges/Challenges.java @@ -174,27 +174,33 @@ public void createGUI(Player p) { - SettingsGUI.setItem(9, addGUIItem(Material.CRAFTING_TABLE, "§6Erlaube Crafting")); - SettingsGUI.setItem(10, addGUIItem(Material.EMERALD, "§6Erlaube Handeln")); - SettingsGUI.setItem(11, addGUIItem(Material.BONE, "§6Tod bei Fallschaden", "§cSpieler stirbt bei Fallschaden")); - SettingsGUI.setItem(12, addGUIItem(Material.MAGMA_BLOCK, "§6Schaden bei Schleichen","§cSpieler erhält §6" + getConfig().getInt("sneakdmg") + " §cSchaden bei Schleichen")); - SettingsGUI.setItem(13, addGUIItem(Material.DIAMOND_PICKAXE, "§6Drops", "§cRandom Drops")); - SettingsGUI.setItem(14, addGUIItem(Material.GLISTERING_MELON_SLICE, "§6Geteilter Schaden","§cAlle Spieler erhalten den gleichen Schaden")); - SettingsGUI.setItem(15, addGUIItem(Material.TOTEM_OF_UNDYING, "§6Respawn")); - SettingsGUI.setItem(16, addGUIItem(Material.POPPY, "§6Ein Leben für alle", "§cStirbt ein Spieler ist die","§cChallenge fehlgeschlagen")); - SettingsGUI.setItem(17, addGUIItem(Material.BOOK, "§6Schaden in Chat", "§cZeigt Spielerschaden im Chat an")); + SettingsGUI.setItem(0, addGUIItem(Material.CRAFTING_TABLE, "§6Erlaube Crafting")); + SettingsGUI.setItem(1, addGUIItem(Material.EMERALD, "§6Erlaube Handeln")); + SettingsGUI.setItem(2, addGUIItem(Material.BONE, "§6Tod bei Fallschaden", "§cSpieler stirbt bei Fallschaden")); + SettingsGUI.setItem(3, addGUIItem(Material.MAGMA_BLOCK, "§6Schaden bei Schleichen","§cSpieler erhält §6" + getConfig().getInt("sneakdmg") + " §cSchaden bei Schleichen")); + SettingsGUI.setItem(4, addGUIItem(Material.DIAMOND_PICKAXE, "§6Drops", "§cRandom Drops")); + SettingsGUI.setItem(5, addGUIItem(Material.GLISTERING_MELON_SLICE, "§6Geteilter Schaden","§cAlle Spieler erhalten den gleichen Schaden")); + SettingsGUI.setItem(6, addGUIItem(Material.TOTEM_OF_UNDYING, "§6Respawn")); + SettingsGUI.setItem(7, addGUIItem(Material.POPPY, "§6Ein Leben für alle", "§cStirbt ein Spieler ist die","§cChallenge fehlgeschlagen")); + SettingsGUI.setItem(8, addGUIItem(Material.BOOK, "§6Schaden in Chat", "§cZeigt Spielerschaden im Chat an")); + SettingsGUI.setItem(18, addGUIItem(Material.DIAMOND_BOOTS, "§6Tod bei Sprinten", "§cSpieler Stirbt beim Sprinten")); + SettingsGUI.setItem(19, addGUIItem(Material.LEATHER_BOOTS, "§6Tod bei Springen", "§cSpieler Stirbt beim Springen")); + SettingsGUI.setItem(36, addGUIItem(Material.CHEST, "§6KeepInventory", "§cStirbst du, beh§lst du dein Inventar")); SettingsGUI.setItem(44, addGUIItem(Material.GOLDEN_APPLE, "§6Natürliche Regeneration", "§cSchalte natürliche Regeneration um")); - SettingsGUI.setItem(18, addGUIItem(getDye("craftingtable"), getBool("craftingtable"))); - SettingsGUI.setItem(19, addGUIItem(getDye("allowtrading"), getBool("allowtrading"))); - SettingsGUI.setItem(20, addGUIItem(getDye("deathonfall"), getBool("deathonfall"))); - SettingsGUI.setItem(21, addGUIItem(getDye("damageonsneak"), getBool("damageonsneak"))); - SettingsGUI.setItem(22, addGUIItem(getDye("rnddrops"), getBool("rnddrops"))); - SettingsGUI.setItem(23, addGUIItem(getDye("sharedmg"), getBool("sharedmg"))); - SettingsGUI.setItem(24, addGUIItem(getDye("respawn"), getBool("respawn"))); - SettingsGUI.setItem(25, addGUIItem(getDye("onelife"), getBool("onelife"))); - SettingsGUI.setItem(26, addGUIItem(getDye("dmginchat"), getBool("dmginchat"))); + SettingsGUI.setItem(9, addGUIItem(getDye("craftingtable"), getBool("craftingtable"))); + SettingsGUI.setItem(10, addGUIItem(getDye("allowtrading"), getBool("allowtrading"))); + SettingsGUI.setItem(11, addGUIItem(getDye("deathonfall"), getBool("deathonfall"))); + SettingsGUI.setItem(12, addGUIItem(getDye("damageonsneak"), getBool("damageonsneak"))); + SettingsGUI.setItem(13, addGUIItem(getDye("rnddrops"), getBool("rnddrops"))); + SettingsGUI.setItem(14, addGUIItem(getDye("sharedmg"), getBool("sharedmg"))); + SettingsGUI.setItem(15, addGUIItem(getDye("respawn"), getBool("respawn"))); + SettingsGUI.setItem(16, addGUIItem(getDye("onelife"), getBool("onelife"))); + SettingsGUI.setItem(17, addGUIItem(getDye("dmginchat"), getBool("dmginchat"))); + SettingsGUI.setItem(27, addGUIItem(getDye("deathonsprint"), getBool("deathonsprint"))); + SettingsGUI.setItem(28, addGUIItem(getDye("deathonjump"), getBool("deathonjump"))); + SettingsGUI.setItem(37, addGUIItem(getgrDye("keepInventory"), getgrBool("keepInventory"))); SettingsGUI.setItem(43, addGUIItem(getgrDye("naturalRegeneration"), getgrBool("naturalRegeneration"))); @@ -202,7 +208,7 @@ for (int i = 0; i < 45; i++) { if (SettingsGUI.getItem(i) == null) - SettingsGUI.setItem(i, addGUIItem(Material.ORANGE_STAINED_GLASS_PANE, "")); + SettingsGUI.setItem(i, addGUIItem(Material.GRAY_STAINED_GLASS_PANE, "")); } p.openInventory(SettingsGUI); } diff --git a/src/main/java/net/brennholz/commands/Timer_Command.java b/src/main/java/net/brennholz/commands/Timer_Command.java index 3db57e2..e688e17 100644 --- a/src/main/java/net/brennholz/commands/Timer_Command.java +++ b/src/main/java/net/brennholz/commands/Timer_Command.java @@ -92,7 +92,7 @@ zeit = ttime; RefreshConfig(); for (Player p : chl.getServer().getOnlinePlayers()) { - p.sendActionBar("§7In Challenge: §2" + thrs + ":" + tmin + ":" + tsek); + p.sendActionBar("§7In Challenge§8: §2§l" + thrs + "§8§l:§2§l" + tmin + "§8§l:§2§l" + tsek); } } else { for (Player p : chl.getServer().getOnlinePlayers()) { diff --git a/src/main/java/net/brennholz/events/DamageListener.java b/src/main/java/net/brennholz/events/DamageListener.java index 85c3800..7fc2784 100644 --- a/src/main/java/net/brennholz/events/DamageListener.java +++ b/src/main/java/net/brennholz/events/DamageListener.java @@ -4,6 +4,7 @@ import java.text.DecimalFormat; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Sound; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -12,6 +13,9 @@ import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.event.player.PlayerToggleSneakEvent; +import org.bukkit.event.player.PlayerToggleSprintEvent; + +import com.destroystokyo.paper.event.player.PlayerJumpEvent; import net.brennholz.challenges.Challenges; @@ -86,5 +90,26 @@ } } } + + @EventHandler + public void PlayerSprint(PlayerToggleSprintEvent e) { + Player p = (Player) e.getPlayer(); + if (p.getGameMode() == GameMode.SURVIVAL) { + if (!p.isSprinting()) { + if (chl.getConfig().getBoolean("deathonsprint") == true) { + p.setHealth(0); + } + } + } + } + @EventHandler + public void PlayerJump(PlayerJumpEvent e) { + Player p = (Player) e.getPlayer(); + if (p.getGameMode() == GameMode.SURVIVAL) { + if (chl.getConfig().getBoolean("deathonjump") == true) { + p.setHealth(0); + } + } + } } diff --git a/src/main/java/net/brennholz/events/DeathListener.java b/src/main/java/net/brennholz/events/DeathListener.java index aedcc08..f60bb59 100644 --- a/src/main/java/net/brennholz/events/DeathListener.java +++ b/src/main/java/net/brennholz/events/DeathListener.java @@ -57,13 +57,17 @@ public void DragonDeath(EntityDeathEvent e) { if (e.getEntity() instanceof EnderDragon) { chl.getConfig().set("timer.enabled", false); - chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage("§aGRATULATION! IHR HABT DIE CHALLENGE ERFOLGREICH ABGESCHLOSSEN!"); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage("§aIhr habt die Challenge erfolgreich abgeschlossen!"); chl.getServer().broadcastMessage("§aBenötigte Zeit: §b" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek")); chl.getServer().broadcastMessage("§cSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage("§6§kLIpwjwdjmpwdjmimjPiwjdÜOaiwjdüoJwoüdMdJM"); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage(""); + chl.getServer().broadcastMessage(""); } } } diff --git a/src/main/java/net/brennholz/events/InventoryClickListener.java b/src/main/java/net/brennholz/events/InventoryClickListener.java index 9971803..a0dae6d 100644 --- a/src/main/java/net/brennholz/events/InventoryClickListener.java +++ b/src/main/java/net/brennholz/events/InventoryClickListener.java @@ -1,7 +1,6 @@ package net.brennholz.events; - import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; @@ -14,7 +13,7 @@ public class InventoryClickListener implements Listener { private Challenges chl = Challenges.getplugin(); - + Challenges chall; net.brennholz.commands.Coords_Command coco; @@ -31,33 +30,39 @@ e.setCancelled(true); if (p.hasPermission("challenges.settings.modify")) { switch (slot) { - case 18: + case 9: chl.getConfig().set("craftingtable", !(chl.getConfig().getBoolean("craftingtable"))); break; - case 19: + case 10: chl.getConfig().set("allowtrading", !(chl.getConfig().getBoolean("allowtrading"))); break; - case 20: + case 11: chl.getConfig().set("deathonfall", !(chl.getConfig().getBoolean("deathonfall"))); break; - case 21: + case 12: chl.getConfig().set("damageonsneak", !(chl.getConfig().getBoolean("damageonsneak"))); break; - case 22: + case 13: chl.getConfig().set("rnddrops", !(chl.getConfig().getBoolean("rnddrops"))); break; - case 23: + case 14: chl.getConfig().set("sharedmg", !(chl.getConfig().getBoolean("sharedmg"))); break; - case 24: + case 15: chl.getConfig().set("respawn", !(chl.getConfig().getBoolean("respawn"))); break; - case 25: + case 16: chl.getConfig().set("onelife", !(chl.getConfig().getBoolean("onelife"))); break; - case 26: + case 17: chl.getConfig().set("dmginchat", !(chl.getConfig().getBoolean("dmginchat"))); break; + case 27: + chl.getConfig().set("deathonsprint", !(chl.getConfig().getBoolean("deathonsprint"))); + break; + case 28: + chl.getConfig().set("deathonjump", !(chl.getConfig().getBoolean("deathonjump"))); + break; case 37: if (wld.getGameRuleValue("keepInventory").equals("true")) { wld.setGameRuleValue("keepInventory", "false"); diff --git a/src/main/java/net/brennholz/events/QuitJoinListener.java b/src/main/java/net/brennholz/events/QuitJoinListener.java index 48e84cb..ce049d8 100644 --- a/src/main/java/net/brennholz/events/QuitJoinListener.java +++ b/src/main/java/net/brennholz/events/QuitJoinListener.java @@ -35,5 +35,10 @@ public void PlayerQuitEvent(PlayerQuitEvent e) { Player p = e.getPlayer(); e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!"); + + if (Bukkit.getOnlinePlayers().size() == 1) { + chl.getConfig().set("timer.enabled", false); + chl.saveConfig(); + } } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index f9687b2..385db5a 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -8,7 +8,11 @@ respawn: true onelife: false dmginchat: false +deathonsprint: false +deathonjump: false tabhp: true +#Mögliche werte: 9 18 27 36 45 54 +backpack_size: 27 timer: enabled: false time: 0 diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0c9ec1c..5799110 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: Challenges main: net.brennholz.challenges.Challenges -version: 1.9 +version: 2.0 api-version: 1.13 load: STARTUP author: Brennholz3000