diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/entities/DamageEvent.java b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/entities/DamageEvent.java index 3ad7c6a..3c41c01 100644 --- a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/entities/DamageEvent.java +++ b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/entities/DamageEvent.java @@ -33,6 +33,7 @@ public class DamageEvent implements Listener { return; } for(TeamInfos teamInfos : TeamInfos.values()){ + if(!teamManager.isInLife(teamInfos)) return; if(teamManager.getTeamBoss(teamInfos).getWitch().equals(witch)){ teamManager.getTeamBoss(teamInfos).getWitch().teleport(teamManager.getBossLocation(teamInfos)); Bukkit.getOnlinePlayers().forEach(playerOnline -> { diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/InventoryClick.java b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/InventoryClick.java index 67c9c83..f15b039 100644 --- a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/InventoryClick.java +++ b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/InventoryClick.java @@ -26,13 +26,13 @@ public class InventoryClick implements Listener { case WOOL: final TeamInfos teamInfos = TeamInfos.getTeamInfosByShortData(e.getCurrentItem().getDurability()); if (teamManager.isPlayerInTeam(player, teamInfos)) { - player.sendMessage(WitchRush.prefix()+"Vous êtes déjà dans cette team !"); + player.sendMessage("§dVous êtes déjà dans cette team !"); player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f); player.closeInventory(); return; } if (teamManager.teamIsFull(teamInfos)) { - player.sendMessage(WitchRush.prefix()+"L'équipe est pleine !"); + player.sendMessage("§dL'équipe est pleine !"); player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f); player.closeInventory(); return; @@ -41,7 +41,7 @@ public class InventoryClick implements Listener { player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f); teamManager.addPlayerTeam(player, teamInfos); TeamInfos infos1 = teamManager.getPlayerTeam(player); - player.sendMessage(WitchRush.prefix()+"Vous avez rejoint la team "+infos1.getChatColor()+infos1.getTeamName()); + player.sendMessage("§dVous avez rejoint la team "+infos1.getChatColor()+infos1.getTeamName()); player.closeInventory(); break; case BARRIER: @@ -50,7 +50,7 @@ public class InventoryClick implements Listener { case DOUBLE_PLANT: player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f); teamManager.removePlayerAllTeam(player); - player.sendMessage(WitchRush.prefix()+"Vous serez dans une équipe au debut de la partie !"); + player.sendMessage("&dVous serez dans une équipe au debut de la partie !"); player.closeInventory(); break; } diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerInteract.java b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerInteract.java index 6d3b10f..ef2d63f 100644 --- a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerInteract.java +++ b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerInteract.java @@ -2,7 +2,11 @@ package net.berrygames.witchrush.listeners.players; import net.berrygames.witchrush.WitchRush; import net.berrygames.witchrush.game.GameState; +import net.berrygames.witchrush.game.task.StartTask; +import net.berrygames.witchrush.shop.ShopGui; +import net.berrygames.witchrush.shop.UpgradeGUI; import net.berrygames.witchrush.team.TeamsMenu; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -55,11 +59,11 @@ public class PlayerInteract implements Listener { e.setCancelled(true); if(e.getRightClicked().getName().equals("§6§lSHOP")){ e.setCancelled(true); - player.closeInventory(); + new ShopGui(player); } if(e.getRightClicked().getName().equals("§3§lUPGRADE")){ e.setCancelled(true); - player.closeInventory(); + new UpgradeGUI(player); } } @@ -69,18 +73,28 @@ public class PlayerInteract implements Listener { Player player = e.getPlayer(); Action action = e.getAction(); ItemStack item = e.getItem(); - e.setCancelled(true); - if(item == null || item.getType() == Material.AIR) return; if(action.equals(Action.RIGHT_CLICK_AIR) || action.equals(Action.RIGHT_CLICK_BLOCK)){ switch (item.getType()){ case ARMOR_STAND: + e.setCancelled(true); new TeamsMenu(player); break; case BED: + e.setCancelled(true); player.sendMessage("retour au hub soon"); break; + case FEATHER: + if(player.isOp()){ + if(!WitchRush.get().getState().equals(GameState.WAITING)) return; + + WitchRush.get().setForcedStart(true); + new StartTask().runTaskTimer(WitchRush.get(), 0, 20); + WitchRush.get().setState(GameState.STARTING); + Bukkit.broadcastMessage(WitchRush.prefix()+"§c"+player.getName()+" a forcé le démarrage de la partie !"); + } + break; default:break; } } diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerJoin.java b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerJoin.java index 0b09a2f..3116b94 100644 --- a/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerJoin.java +++ b/WitchRush/src/main/java/net/berrygames/witchrush/listeners/players/PlayerJoin.java @@ -4,8 +4,10 @@ import net.berrygames.witchrush.WitchPlayer; import net.berrygames.witchrush.WitchRush; import net.berrygames.witchrush.game.GameState; import net.berrygames.witchrush.game.task.StartTask; +import net.berrygames.witchrush.tools.ItemFactory; import net.berrygames.witchrush.tools.Locations; import org.bukkit.GameMode; +import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -38,6 +40,10 @@ public class PlayerJoin implements Listener { new StartTask().runTaskTimer(WitchRush.get(), 0, 20); WitchRush.get().setState(GameState.STARTING); } + + if(player.isOp()){ + player.getInventory().setItem(0, new ItemFactory(Material.FEATHER).withName("§cDémarrage forcé").done()); + } } else { player.sendMessage(" "); diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/shop/ShopGui.java b/WitchRush/src/main/java/net/berrygames/witchrush/shop/ShopGui.java new file mode 100644 index 0000000..9c01701 --- /dev/null +++ b/WitchRush/src/main/java/net/berrygames/witchrush/shop/ShopGui.java @@ -0,0 +1,20 @@ +package net.berrygames.witchrush.shop; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; + +public class ShopGui { + + private Player player; + private Inventory inventory; + + public ShopGui(Player player) { + this.player = player; + this.inventory = Bukkit.createInventory(null, 9 * 5, "§6§lSHOP"); + + + + this.player.openInventory(this.inventory); + } +} diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/shop/UpgradeGUI.java b/WitchRush/src/main/java/net/berrygames/witchrush/shop/UpgradeGUI.java new file mode 100644 index 0000000..17597db --- /dev/null +++ b/WitchRush/src/main/java/net/berrygames/witchrush/shop/UpgradeGUI.java @@ -0,0 +1,21 @@ +package net.berrygames.witchrush.shop; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; + +public class UpgradeGUI { + + private Player player; + private Inventory inventory; + + public UpgradeGUI(Player player) { + this.player = player; + this.inventory = Bukkit.createInventory(null, 9 * 5, "§3§lUPGRADEE"); + + + + this.player.openInventory(this.inventory); + } + +} diff --git a/WitchRush/src/main/java/net/berrygames/witchrush/team/TeamManager.java b/WitchRush/src/main/java/net/berrygames/witchrush/team/TeamManager.java index 56e9db6..968cfe6 100644 --- a/WitchRush/src/main/java/net/berrygames/witchrush/team/TeamManager.java +++ b/WitchRush/src/main/java/net/berrygames/witchrush/team/TeamManager.java @@ -130,8 +130,9 @@ public class TeamManager { } public void killTeamBoss(final TeamInfos infos){ - this.getBossEntityMap().remove(infos); - new HealthRunnable().arMap.remove(infos); + if(this.getTeamBoss(infos).getWitch() != null) this.getTeamBoss(infos).getWitch().remove(); + if(this.getBossEntityMap().get(infos) != null) this.getBossEntityMap().remove(infos); + if(new HealthRunnable().arMap.get(infos) != null) new HealthRunnable().arMap.remove(infos); } public Map> getPlayerTeamList() {