diff --git a/src/main/java/de/fanta/challenges/challenges/OreBattle.java b/src/main/java/de/fanta/challenges/challenges/OreBattle.java index e9d4090..718fb21 100644 --- a/src/main/java/de/fanta/challenges/challenges/OreBattle.java +++ b/src/main/java/de/fanta/challenges/challenges/OreBattle.java @@ -8,13 +8,18 @@ import de.fanta.challenges.utils.ChatUtil; import de.fanta.challenges.utils.guiutils.GUIUtils; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.OfflinePlayer; +import org.bukkit.enchantments.Enchantment; +import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; import java.util.HashMap; import java.util.Map; @@ -53,6 +58,31 @@ blocklist.put(Material.DEEPSLATE_COAL_ORE, 20); blocklist.put(Material.LAPIS_ORE, 3); blocklist.put(Material.DEEPSLATE_LAPIS_ORE, 3); + + for (Player pp : Bukkit.getOnlinePlayers()) { + ItemStack pickaxe = new ItemStack(Material.NETHERITE_PICKAXE, 1); + ItemMeta pickaxeMeta = pickaxe.getItemMeta(); + + pickaxeMeta.addEnchant(Enchantment.DIG_SPEED, 2, true); + pickaxeMeta.setUnbreakable(true); + + pickaxe.setItemMeta(pickaxeMeta); + if (!plugin.getConfig().getBoolean("event.teams")) { + if (TeamUtils.getPlayerTeam(pp) != null) { + pp.getInventory().addItem(new ItemStack(Material.NETHERITE_SWORD)); + pp.getInventory().addItem(pickaxe); + pp.getInventory().addItem(new ItemStack(Material.COOKED_BEEF ,32)); + } + } else { + if (pp.getGameMode() == GameMode.SURVIVAL) { + pp.getInventory().addItem(new ItemStack(Material.NETHERITE_SWORD)); + pp.getInventory().addItem(pickaxe); + pp.getInventory().addItem(new ItemStack(Material.COOKED_BEEF ,32)); + } + } + } + + setRunning(true); } else { setRunning(false); diff --git a/src/main/java/de/fanta/challenges/teams/TeamListener.java b/src/main/java/de/fanta/challenges/teams/TeamListener.java index 38cdc66..810a910 100644 --- a/src/main/java/de/fanta/challenges/teams/TeamListener.java +++ b/src/main/java/de/fanta/challenges/teams/TeamListener.java @@ -2,8 +2,8 @@ import de.fanta.challenges.Challenges; import de.fanta.challenges.guis.eventgui.TeamSelectGUI; -import de.fanta.challenges.guis.eventgui.TeamSettingsGUI; -import de.fanta.challenges.scoreboard.ScoreManager; +import de.fanta.challenges.utils.ChatUtil; +import org.bukkit.GameMode; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -110,6 +110,12 @@ inventory.removeItem(TeamUtils.selctItem()); } + if (plugin.getConfig().getBoolean("event.teams") && !plugin.getConfig().getBoolean("event.autoteams") && plugin.getTimer().isRunning()) { + e.getPlayer().setGameMode(GameMode.SPECTATOR); + ChatUtil.sendNormalMessage(e.getPlayer(), "Du bist nur zuschauer diese Runde."); + return; + } + if (plugin.getConfig().getBoolean("event.teams") && plugin.getTimer().isRunning()) { if (!plugin.getVanish().isVanish(e.getPlayer())) { if (TeamUtils.getPlayerTeam(e.getPlayer()) == null) { @@ -127,6 +133,9 @@ @EventHandler public void onLogin(PlayerLoginEvent e) { if (plugin.getConfig().getBoolean("event.teams") && !plugin.getConfig().getBoolean("event.autoteams") && plugin.getTimer().isRunning()) { + if (e.getPlayer().hasPermission("challenges.event")) { + return; + } if (!playerTeams.containsKey(e.getPlayer().getUniqueId())) { e.setResult(PlayerLoginEvent.Result.KICK_OTHER); e.setKickMessage("Bei diesem Event kannst du nicht nach joinen.");