diff --git a/pom.xml b/pom.xml
index c05a67a..b08c377 100644
--- a/pom.xml
+++ b/pom.xml
@@ -50,6 +50,10 @@
destroystokyo-repo
https://repo.destroystokyo.com/repository/maven-public/
+
+ OnARandomBox
+ http://repo.onarandombox.com/content/repositories/multiverse-snapshots
+
@@ -59,6 +63,11 @@
provided
+ com.onarandombox.multiversecore
+ Multiverse-Core
+ 4.1.1-SNAPSHOT
+
+
org.projectlombok
lombok
1.16.22
diff --git a/src/main/java/net/brennholz/challenges/Challenges.java b/src/main/java/net/brennholz/challenges/Challenges.java
index 1564ba9..edca76e 100644
--- a/src/main/java/net/brennholz/challenges/Challenges.java
+++ b/src/main/java/net/brennholz/challenges/Challenges.java
@@ -1,8 +1,5 @@
package net.brennholz.challenges;
-import com.google.common.io.MoreFiles;
-import com.google.common.io.RecursiveDeleteOption;
-
import net.brennholz.commands.Challenges_Command;
import net.brennholz.commands.Coords_Command;
import net.brennholz.commands.HP_Command;
@@ -17,7 +14,6 @@
import net.brennholz.events.InteractListener;
import net.brennholz.events.InventoryClickListener;
import net.brennholz.events.QuitJoinListener;
-
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -33,6 +29,9 @@
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
+import com.google.common.io.MoreFiles;
+import com.google.common.io.RecursiveDeleteOption;
+
public class Challenges extends JavaPlugin {
private static Challenges plugin;
@@ -60,63 +59,63 @@
public void onEnable() {
- plugin = this;
- this.Timer = new Timer_Command();
- this.backpack = new Backpack();
- this.rndDrops = new RandomDrops();
- getCommand("hp").setExecutor(new HP_Command());
- getCommand("settings").setExecutor(new Settings_Command());
- getCommand("coords").setExecutor(new Coords_Command());
- getCommand("revive").setExecutor(new Revive_Command());
- getCommand("timer").setExecutor(new Timer_Command());
- getCommand("challenges").setExecutor(new Challenges_Command());
- getCommand("backpack").setExecutor(new Backpack());
- getCommand("reset").setExecutor(new Reset_Command());
-
- Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new QuitJoinListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new BlockDestroyListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new BlockCreateListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new InteractListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new DamageListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new DeathListener(), (Plugin)this);
-
- saveDefaultConfig();
- reloadConfig();
- createRndDropsConfig();
- createBackpackConfig();
- if (getConfig().getBoolean("World_Reset")) {
- getLogger().info("/Reset Command was executed!");
- getLogger().info("Preparing world reset!");
- String worldname = getConfig().getString("World_Name");
- String nethername = worldname + "_nether";
- String endname = worldname + "_the_end";
- File worldfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + worldname);
- File netherfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + nethername);
- File endfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + endname);
- try {
- MoreFiles.deleteRecursively(worldfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
- MoreFiles.deleteRecursively(netherfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
- MoreFiles.deleteRecursively(endfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
- getLogger().info("World reset successful!");
- } catch (IOException e) {
- getLogger().info("World reset failed!");
- e.printStackTrace();
- }
- getConfig().set("World_Reset", Boolean.valueOf(false));
- saveConfig();
- this.backpack.clearConfig();
- this.rndDrops.shuffleItems();
- this.rndDrops.saveItems();
- this.rndDrops.loadItems();
- } else {
- this.rndDrops.loadItems();
- }
- this.backpack.loadInventoryFromConfig();
- this.Timer.Run_Timer();
- getLogger().info("Plugin loaded!");
- this.sbManager = new SBManager();
- }
+ plugin = this;
+ this.Timer = new Timer_Command();
+ this.backpack = new Backpack();
+ this.rndDrops = new RandomDrops();
+ getCommand("hp").setExecutor(new HP_Command());
+ getCommand("settings").setExecutor(new Settings_Command());
+ getCommand("coords").setExecutor(new Coords_Command());
+ getCommand("revive").setExecutor(new Revive_Command());
+ getCommand("timer").setExecutor(new Timer_Command());
+ getCommand("challenges").setExecutor(new Challenges_Command());
+ getCommand("backpack").setExecutor(new Backpack());
+ getCommand("reset").setExecutor(new Reset_Command());
+
+ Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new QuitJoinListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new BlockDestroyListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new BlockCreateListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new InteractListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new DamageListener(), (Plugin)this);
+ Bukkit.getPluginManager().registerEvents(new DeathListener(), (Plugin)this);
+
+ saveDefaultConfig();
+ reloadConfig();
+ createRndDropsConfig();
+ createBackpackConfig();
+ if (getConfig().getBoolean("World_Reset")) {
+ getLogger().info("/Reset Command was executed!");
+ getLogger().info("Preparing world reset!");
+ String worldname = getConfig().getString("World_Name");
+ String nethername = worldname + "_nether";
+ String endname = worldname + "_the_end";
+ File worldfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + worldname);
+ File netherfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + nethername);
+ File endfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + endname);
+ try {
+ MoreFiles.deleteRecursively(worldfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
+ MoreFiles.deleteRecursively(netherfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
+ MoreFiles.deleteRecursively(endfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE });
+ getLogger().info("World reset successful!");
+ } catch (IOException e) {
+ getLogger().info("World reset failed!");
+ e.printStackTrace();
+ }
+ getConfig().set("World_Reset", Boolean.valueOf(false));
+ saveConfig();
+ this.backpack.clearConfig();
+ this.rndDrops.shuffleItems();
+ this.rndDrops.saveItems();
+ this.rndDrops.loadItems();
+ } else {
+ this.rndDrops.loadItems();
+ }
+ this.backpack.loadInventoryFromConfig();
+ this.Timer.Run_Timer();
+ getLogger().info("Plugin loaded!");
+ this.sbManager = new SBManager();
+ }
@@ -185,6 +184,9 @@
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(20, addGUIItem(Material.BARRIER, "§6Inv Löschen bei DMG","§cLöscht das Inventar von allen wenn ein Spieler schaden bekommt!"));
+
+ SettingsGUI.setItem(26, addGUIItem(Material.TNT, "§6Sterben durch TnT","§cTötet dich mit tnt bei der nicht Springen Schleichen und Jumpen Challenge"));
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"));
@@ -200,6 +202,9 @@
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(29, addGUIItem(getDye("clinvdmg"), getBool("clinvdmg")));
+
+ SettingsGUI.setItem(35, addGUIItem(getDye("tntdeath"), getBool("tntdeath")));
SettingsGUI.setItem(37, addGUIItem(getgrDye("keepInventory"), getgrBool("keepInventory")));
SettingsGUI.setItem(43, addGUIItem(getgrDye("naturalRegeneration"), getgrBool("naturalRegeneration")));
diff --git a/src/main/java/net/brennholz/commands/Coords_Command.java b/src/main/java/net/brennholz/commands/Coords_Command.java
index abdf14b..0d216f0 100644
--- a/src/main/java/net/brennholz/commands/Coords_Command.java
+++ b/src/main/java/net/brennholz/commands/Coords_Command.java
@@ -38,10 +38,7 @@
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("share")) {
if (p.hasPermission("challenges.coords.share")) {
- chl.getServer()
- .broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX()
- + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ()
- + " §6in Welt §6" + p.getWorld().getName());
+ chl.getServer().broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() + " §6in Welt §6" + p.getWorld().getName());
} else
p.sendMessage("§cDu hast hierfür keine Berechtigung");
} else if (args[0].equalsIgnoreCase("get")) {
@@ -58,11 +55,7 @@
if (args[0].equalsIgnoreCase("save")) {
if (p.hasPermission("challenges.coords.save")) {
if (!chl.getConfig().contains("Saved_Locations." + args[1])) {
- chl.getServer()
- .broadcastMessage("§6Die Position §c" + args[1] + " §6(§c" + p.getWorld().getName()
- + " " + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY()
- + " " + p.getLocation().getBlockZ() + "§6) wurde von §c" + p.getName()
- + " §6gespeichert");
+ chl.getServer().broadcastMessage("§7| §aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + p.getLocation().getBlockX() + "§7/§2" + p.getLocation().getBlockY() + "§7/§2" + p.getLocation().getBlockZ() + "§7]");
chl.getConfig().set("Saved_Locations." + args[1] + ".World", p.getWorld().getName());
chl.getConfig().set("Saved_Locations." + args[1] + ".BlockX", p.getLocation().getBlockX());
chl.getConfig().set("Saved_Locations." + args[1] + ".BlockY", p.getLocation().getBlockY());
@@ -79,7 +72,7 @@
String x = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockX");
String y = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockY");
String z = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockZ");
- p.sendMessage("§6" + args[1] + ": §c" + w + " " + x + " " + y + " " + z);
+ p.sendMessage("§7| §aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + x + "§7/§2" + y + "§7/§2" + z + " " + w + "§7]");
} else
p.sendMessage("§cDiese Position existiert nicht!");
} else
diff --git a/src/main/java/net/brennholz/commands/Reset_Command.java b/src/main/java/net/brennholz/commands/Reset_Command.java
index 8b22540..85a008c 100644
--- a/src/main/java/net/brennholz/commands/Reset_Command.java
+++ b/src/main/java/net/brennholz/commands/Reset_Command.java
@@ -1,22 +1,22 @@
package net.brennholz.commands;
-
-
-
+
+
+
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
-
+
import net.brennholz.challenges.Backpack;
import net.brennholz.challenges.Challenges;
-
+
public class Reset_Command implements CommandExecutor {
-
+
private Challenges chl = Challenges.getplugin();
Backpack backpack;
-
+
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
{
@@ -37,7 +37,7 @@
chl.getConfig().set("Saved_Locations." + key, null);
}
chl.saveConfig();
-
+
Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() {
@Override
public void run() {
diff --git a/src/main/java/net/brennholz/commands/Timer_Command.java b/src/main/java/net/brennholz/commands/Timer_Command.java
index e688e17..ce4c189 100644
--- a/src/main/java/net/brennholz/commands/Timer_Command.java
+++ b/src/main/java/net/brennholz/commands/Timer_Command.java
@@ -92,11 +92,11 @@
zeit = ttime;
RefreshConfig();
for (Player p : chl.getServer().getOnlinePlayers()) {
- p.sendActionBar("§7In Challenge§8: §2§l" + thrs + "§8§l:§2§l" + tmin + "§8§l:§2§l" + tsek);
+ p.sendActionBar("§7Challenge§8: §2§l" + thrs + ":" + tmin + ":" + tsek);
}
} else {
for (Player p : chl.getServer().getOnlinePlayers()) {
- p.sendActionBar("§cTimer pausiert...");
+ p.sendActionBar("§6Der Timer ist pausiert.");
}
}
}
diff --git a/src/main/java/net/brennholz/events/DamageListener.java b/src/main/java/net/brennholz/events/DamageListener.java
index 7fc2784..e15b7b0 100644
--- a/src/main/java/net/brennholz/events/DamageListener.java
+++ b/src/main/java/net/brennholz/events/DamageListener.java
@@ -3,10 +3,15 @@
import java.text.DecimalFormat;
+
+
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
+import org.bukkit.Location;
import org.bukkit.Sound;
+import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
+import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
@@ -81,33 +86,88 @@
}
}
+ @SuppressWarnings("deprecation")
@EventHandler
public void PlayerSneak(PlayerToggleSneakEvent e) {
Player p = (Player) e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
if (!p.isSneaking()) {
if (chl.getConfig().getBoolean("damageonsneak") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §ahat gesneakt!", "§b:>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
p.damage(chl.getConfig().getDouble("sneakdmg"));
+ }
}
}
}
+}
+ @SuppressWarnings("deprecation")
@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) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprintet!", "§b:>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
+ p.setHealth(0);
+ }
+ }
+ }
+ }
+ }
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void PlayerJump(PlayerJumpEvent e) {
+ Player p = (Player) e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
+ if (chl.getConfig().getBoolean("deathonjump") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprungen!", "§b:>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
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);
+ public void onDamageclear(EntityDamageEvent e) {
+ if (e.getEntity() instanceof Player) {
+ if (chl.getConfig().getBoolean("clinvdmg") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.getInventory().clear();
+
+ }
}
}
}
diff --git a/src/main/java/net/brennholz/events/DeathListener.java b/src/main/java/net/brennholz/events/DeathListener.java
index f60bb59..9534e79 100644
--- a/src/main/java/net/brennholz/events/DeathListener.java
+++ b/src/main/java/net/brennholz/events/DeathListener.java
@@ -19,7 +19,7 @@
private Challenges chl = Challenges.getplugin();
@EventHandler
- public void onPlayerDeath(PlayerDeathEvent e) {
+ public void onPlayerDeath(PlayerDeathEvent e) {
if (chl.getConfig().getBoolean("onelife") == true) {
chl.getConfig().set("timer.enabled", false);
chl.saveConfig();
@@ -61,9 +61,10 @@
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("§8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen.");
+ chl.getServer().broadcastMessage("§8>> §7Der §2§lEnderdrache §7ist gestorben.");
+ chl.getServer().broadcastMessage("§8>> §7Benötigte Zeit: §2§l" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + "§7!");
+ chl.getServer().broadcastMessage("§8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed());
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 a0dae6d..ecba344 100644
--- a/src/main/java/net/brennholz/events/InventoryClickListener.java
+++ b/src/main/java/net/brennholz/events/InventoryClickListener.java
@@ -62,6 +62,12 @@
break;
case 28:
chl.getConfig().set("deathonjump", !(chl.getConfig().getBoolean("deathonjump")));
+ break;
+ case 29:
+ chl.getConfig().set("clinvdmg", !(chl.getConfig().getBoolean("clinvdmg")));
+ break;
+ case 35:
+ chl.getConfig().set("tntdeath", !(chl.getConfig().getBoolean("tntdeath")));
break;
case 37:
if (wld.getGameRuleValue("keepInventory").equals("true")) {
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 385db5a..d7859b4 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -10,7 +10,9 @@
dmginchat: false
deathonsprint: false
deathonjump: false
+clinvdmg: false
tabhp: true
+tntdeath: false
#Mögliche werte: 9 18 27 36 45 54
backpack_size: 27
timer: