mirror of
https://github.com/ArthurDanjou/WitchRush.git
synced 2026-01-14 12:14:39 +01:00
Witch done soon (85% -> 1 error remaining) Plugin 85% done
This commit is contained in:
@@ -1,11 +1,8 @@
|
||||
package net.berrygames.witchrush;
|
||||
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.ItemFactory;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Material;
|
||||
@@ -13,10 +10,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.LeatherArmorMeta;
|
||||
import org.bukkit.scoreboard.DisplaySlot;
|
||||
import org.bukkit.scoreboard.Objective;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.ScoreboardManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -32,39 +25,24 @@ public class WitchPlayer {
|
||||
|
||||
public WitchPlayer(Player player) {
|
||||
this.player = player;
|
||||
this.spectator =
|
||||
!WitchRush.get().getState().equals(GameState.WAITING) &&
|
||||
!WitchRush.get().getState().equals(GameState.WAITING);
|
||||
this.spectator = GameState.getStatus().equals(GameState.GAME) ? true: false;
|
||||
this.kills = 0;
|
||||
this.death = 0;
|
||||
this.manager = WitchRush.get().getTeamManager();
|
||||
}
|
||||
|
||||
public void teleportToBase(){
|
||||
TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
switch (teamManager.getPlayerTeam(player)){
|
||||
case ROUGE:
|
||||
player.teleport(Locations.PLAYER_SPAWN_ROUGE.getLocation());
|
||||
break;
|
||||
case VERT:
|
||||
player.teleport(Locations.PLAYER_SPAWN_VERT.getLocation());
|
||||
break;
|
||||
case JAUNE:
|
||||
player.teleport(Locations.PLAYER_SPAWN_JAUNE.getLocation());
|
||||
break;
|
||||
case BLEU:
|
||||
player.teleport(Locations.PLAYER_SPAWN_BLEU.getLocation());
|
||||
break;
|
||||
}
|
||||
player.teleport(manager.getTeamLocation(manager.getPlayerTeam(player)));
|
||||
}
|
||||
|
||||
public void giveStuff(){
|
||||
player.getInventory().clear();
|
||||
ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
|
||||
player.getInventory().setHelmet(getHelmetColor(Material.LEATHER_HELMET, manager.getPlayerTeam(player).getColor()));
|
||||
player.getInventory().setChestplate(getHelmetColor(Material.LEATHER_CHESTPLATE, manager.getPlayerTeam(player).getColor()));
|
||||
player.getInventory().setLeggings(getHelmetColor(Material.LEATHER_LEGGINGS, manager.getPlayerTeam(player).getColor()));
|
||||
player.getInventory().setBoots(getHelmetColor(Material.LEATHER_BOOTS, manager.getPlayerTeam(player).getColor()));
|
||||
final ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
|
||||
final Color color = manager.getPlayerTeam(player).getColor();
|
||||
player.getInventory().setHelmet(getHelmetColor(Material.LEATHER_HELMET, color));
|
||||
player.getInventory().setChestplate(getHelmetColor(Material.LEATHER_CHESTPLATE, color));
|
||||
player.getInventory().setLeggings(getHelmetColor(Material.LEATHER_LEGGINGS, color));
|
||||
player.getInventory().setBoots(getHelmetColor(Material.LEATHER_BOOTS, color));
|
||||
player.getInventory().setItem(0, sword);
|
||||
}
|
||||
|
||||
@@ -133,4 +111,4 @@ public class WitchPlayer {
|
||||
static {
|
||||
WitchPlayer.witchMap = new HashMap<>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,44 +2,67 @@ package net.berrygames.witchrush;
|
||||
|
||||
import net.berrygames.witchrush.commands.CommandsManager;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.game.task.DeathMatchTask;
|
||||
import net.berrygames.witchrush.game.task.NoPVPTask;
|
||||
import net.berrygames.witchrush.game.task.PVPTask;
|
||||
import net.berrygames.witchrush.game.task.StartTask;
|
||||
import net.berrygames.witchrush.listeners.ListenersManager;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class WitchRush extends JavaPlugin {
|
||||
|
||||
private static WitchRush instance;
|
||||
|
||||
private GameState gameState;
|
||||
private TeamManager teamManager;
|
||||
private boolean forcedStart;
|
||||
private File file;
|
||||
private FileConfiguration conf;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
|
||||
this.gameState = GameState.WAITING;
|
||||
GameState.setStatus(GameState.LOBBY);
|
||||
this.teamManager = new TeamManager();
|
||||
this.forcedStart = false;
|
||||
|
||||
new CommandsManager().register(this);
|
||||
new ListenersManager().register(this);
|
||||
|
||||
saveDefaultConfig();
|
||||
|
||||
this.createYML(getConfig().getString("game.mode"));
|
||||
|
||||
System.out.println("*-*-*-*-*-*-*-*");
|
||||
System.out.println("WitchRush");
|
||||
System.out.println("by BunS");
|
||||
System.out.println("Active");
|
||||
System.out.println("*-*-*-*-*-*-*-*");
|
||||
|
||||
super.onEnable();
|
||||
}
|
||||
|
||||
private void createYML(String name) {
|
||||
this.file = new File(getDataFolder(), name+".yml");
|
||||
if (!file.exists()) {
|
||||
file.getParentFile().mkdirs();
|
||||
saveResource(name+".yml", false);
|
||||
}
|
||||
|
||||
this.conf = new YamlConfiguration();
|
||||
try {
|
||||
conf.load(file);
|
||||
} catch (IOException | InvalidConfigurationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
System.out.println("*-*-*-*-*-*-*-*");
|
||||
@@ -54,12 +77,14 @@ public class WitchRush extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
public void setState(GameState state){
|
||||
this.gameState = state;
|
||||
@Override
|
||||
public File getFile() {
|
||||
return file;
|
||||
}
|
||||
public GameState getState(){
|
||||
return this.gameState;
|
||||
public FileConfiguration getMode() {
|
||||
return conf;
|
||||
}
|
||||
|
||||
public TeamManager getTeamManager() {
|
||||
return teamManager;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package net.berrygames.witchrush.commands;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.commands.admins.GameCMD;
|
||||
import net.berrygames.witchrush.commands.admins.TestCMD;
|
||||
import net.berrygames.witchrush.commands.admins.LocationsCMD;
|
||||
|
||||
public class CommandsManager {
|
||||
|
||||
public void register(WitchRush main){
|
||||
main.getCommand("game").setExecutor(new GameCMD());
|
||||
main.getCommand("test").setExecutor(new TestCMD());
|
||||
main.getCommand("gamestart").setExecutor(new GameCMD());
|
||||
main.getCommand("setlocation").setExecutor(new LocationsCMD());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,17 +16,13 @@ public class GameCMD implements CommandExecutor {
|
||||
if(!(sender instanceof Player)) return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
if(!player.isOp())return false;
|
||||
|
||||
if(args.length == 1 && args[0].equals("start")){
|
||||
if(!player.isOp())return false;
|
||||
if(!GameState.getStatus().equals(GameState.LOBBY)) return false;
|
||||
|
||||
if(!WitchRush.get().getState().equals(GameState.WAITING)) return false;
|
||||
|
||||
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 !");
|
||||
}
|
||||
WitchRush.get().setForcedStart(true);
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§c"+player.getName()+" a forcé le démarrage de la partie !");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
package net.berrygames.witchrush.commands.admins;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class LocationsCMD implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!(sender instanceof Player)) return false;
|
||||
|
||||
Player player = (Player) sender;
|
||||
if(!player.isOp())return false;
|
||||
|
||||
if(!GameState.getStatus().equals(GameState.LOBBY)) return false;
|
||||
|
||||
if(args.length == 2){
|
||||
switch (args[0].toLowerCase()){
|
||||
case "bleu":
|
||||
switch (args[1].toLowerCase()){
|
||||
case "shop":
|
||||
WitchRush.get().getMode().set("teams.bleu.shop.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.bleu.shop.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.bleu.shop.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.bleu.shop.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.bleu.shop.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "spawn":
|
||||
WitchRush.get().getMode().set("teams.bleu.spawn.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.bleu.spawn.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.bleu.spawn.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.bleu.spawn.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.bleu.spawn.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "upgrade":
|
||||
WitchRush.get().getMode().set("teams.bleu.upgrade.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.bleu.upgrade.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.bleu.upgrade.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.bleu.upgrade.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.bleu.upgrade.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "boss":
|
||||
WitchRush.get().getMode().set("teams.bleu.boss.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.bleu.boss.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.bleu.boss.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.bleu.boss.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.bleu.boss.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
default:
|
||||
player.sendMessage("§cUsage: /setLocation [team] [shop|spawn|upgrade|boss]");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "vert":
|
||||
switch (args[1].toLowerCase()){
|
||||
case "shop":
|
||||
WitchRush.get().getMode().set("teams.vert.shop.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.vert.shop.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.vert.shop.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.vert.shop.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.vert.shop.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "spawn":
|
||||
WitchRush.get().getMode().set("teams.vert.spawn.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.vert.spawn.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.vert.spawn.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.vert.spawn.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.vert.spawn.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "upgrade":
|
||||
WitchRush.get().getMode().set("teams.vert.upgrade.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.vert.upgrade.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.vert.upgrade.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.vert.upgrade.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.vert.upgrade.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "boss":
|
||||
WitchRush.get().getMode().set("teams.vert.boss.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.vert.boss.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.vert.boss.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.vert.boss.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.vert.boss.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
default:
|
||||
player.sendMessage("§cUsage: /setLocation [team] [shop|spawn|upgrade|boss]");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "jaune":
|
||||
switch (args[1].toLowerCase()){
|
||||
case "shop":
|
||||
WitchRush.get().getMode().set("teams.jaune.shop.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.jaune.shop.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.jaune.shop.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.jaune.shop.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.jaune.shop.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "spawn":
|
||||
WitchRush.get().getMode().set("teams.jaune.spawn.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.jaune.spawn.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.jaune.spawn.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.jaune.spawn.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.jaune.spawn.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "upgrade":
|
||||
WitchRush.get().getMode().set("teams.jaune.upgrade.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.jaune.upgrade.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.jaune.upgrade.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.jaune.upgrade.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.jaune.upgrade.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "boss":
|
||||
WitchRush.get().getMode().set("teams.jaune.boss.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.jaune.boss.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.jaune.boss.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.jaune.boss.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.jaune.boss.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
default:
|
||||
player.sendMessage("§cUsage: /setLocation [team] [shop|spawn|upgrade|boss]");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case "rouge":
|
||||
switch (args[1].toLowerCase()){
|
||||
case "shop":
|
||||
WitchRush.get().getMode().set("teams.rouge.shop.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.rouge.shop.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.rouge.shop.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.rouge.shop.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.rouge.shop.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "spawn":
|
||||
WitchRush.get().getMode().set("teams.rouge.spawn.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.rouge.spawn.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.rouge.spawn.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.rouge.spawn.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.rouge.spawn.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "upgrade":
|
||||
WitchRush.get().getMode().set("teams.rouge.upgrade.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.rouge.upgrade.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.rouge.upgrade.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.rouge.upgrade.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.rouge.upgrade.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
case "boss":
|
||||
WitchRush.get().getMode().set("teams.rouge.boss.x", player.getLocation().getX());
|
||||
WitchRush.get().getMode().set("teams.rouge.boss.y", player.getLocation().getY());
|
||||
WitchRush.get().getMode().set("teams.rouge.boss.z", player.getLocation().getZ());
|
||||
WitchRush.get().getMode().set("teams.rouge.boss.yaw", player.getLocation().getYaw());
|
||||
WitchRush.get().getMode().set("teams.rouge.boss.pitch", player.getLocation().getPitch());
|
||||
player.sendMessage("Location ajoutée !");
|
||||
break;
|
||||
default:
|
||||
player.sendMessage("§cUsage: /setLocation [team] [shop|spawn|upgrade|boss]");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
player.sendMessage("§cUsage: /setLocation [team] [shop|spawn|upgrade|boss]");
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
package net.berrygames.witchrush.commands.admins;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.tools.PNJSpawner;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.WitchBoss;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class TestCMD implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(args[0].equals("shop")){
|
||||
//Spawn SHOP
|
||||
//Spawn SHOP
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.BLEU, Locations.SHOP_BLEU.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.ROUGE, Locations.SHOP_ROUGE.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.VERT, Locations.SHOP_VERT.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.JAUNE, Locations.SHOP_JAUNE.getLocation());
|
||||
|
||||
|
||||
}
|
||||
if(args[0].equals("up")){
|
||||
//Spawn UPGRADE
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.JAUNE, Locations.UPGRADE_BLEU.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.ROUGE, Locations.UPGRADE_ROUGE.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.VERT, Locations.UPGRADE_VERT.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.JAUNE, Locations.UPGRADE_JAUNE.getLocation());
|
||||
}
|
||||
|
||||
if(args[0].equals("state")){
|
||||
//Spawn UPGRADE
|
||||
sender.sendMessage(WitchRush.get().getState().toString());
|
||||
}
|
||||
|
||||
if(args[0].equals("w")){
|
||||
new WitchBoss(TeamInfos.ROUGE, Locations.WITCH_ROUGE.getLocation());
|
||||
new WitchBoss(TeamInfos.BLEU, Locations.WITCH_BLEU.getLocation());
|
||||
new WitchBoss(TeamInfos.VERT, Locations.WITCH_VERT.getLocation());
|
||||
new WitchBoss(TeamInfos.JAUNE, Locations.WITCH_JAUNE.getLocation());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,12 @@ package net.berrygames.witchrush.game;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.task.NoPVPTask;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.game.task.HealthRunnable;
|
||||
import net.berrygames.witchrush.game.task.PVPTask;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.PNJSpawner;
|
||||
import net.berrygames.witchrush.tools.WitchBoss;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Sound;
|
||||
@@ -21,7 +22,9 @@ public class GameManager {
|
||||
this.teamManager = WitchRush.get().getTeamManager();
|
||||
if (!(this.isStart = false)) {
|
||||
this.isStart = true;
|
||||
WitchRush.get().setState(GameState.NOWITCH);
|
||||
GameState.setStatus(GameState.GAME);
|
||||
|
||||
new PVPTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
|
||||
for(Player pls: Bukkit.getOnlinePlayers()){
|
||||
pls.setGameMode(GameMode.SURVIVAL);
|
||||
@@ -31,27 +34,27 @@ public class GameManager {
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§dVous avez §63minutes §dpour vous préparez.");
|
||||
this.loadPlayer();
|
||||
|
||||
//Spawn SHOP
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.BLEU, Locations.SHOP_BLEU.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.ROUGE, Locations.SHOP_ROUGE.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.VERT, Locations.SHOP_VERT.getLocation());
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.JAUNE, Locations.SHOP_JAUNE.getLocation());
|
||||
for(TeamsInfos infos : TeamsInfos.values()){
|
||||
new PNJSpawner("§6§lSHOP", infos, new TeamManager().getShopLocation(infos));
|
||||
new PNJSpawner("§b§LUPGRADE", infos, new TeamManager().getUpgradeLocation(infos));
|
||||
}
|
||||
new PVPTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
Bukkit.getScheduler().runTaskLater(WitchRush.get(), ()->{
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Les §6Witchs §dsont apparues, §d§nBonne chance à vous !");
|
||||
|
||||
//Spawn UPGRADE
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.JAUNE, Locations.UPGRADE_BLEU.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.ROUGE, Locations.UPGRADE_ROUGE.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.VERT, Locations.UPGRADE_VERT.getLocation());
|
||||
new PNJSpawner("§b§LUPGRADE", TeamInfos.JAUNE, Locations.UPGRADE_JAUNE.getLocation());
|
||||
for(TeamsInfos infos : TeamsInfos.values()){
|
||||
new WitchBoss(infos, new TeamManager().getBossLocation(infos));
|
||||
}
|
||||
|
||||
new HealthRunnable().runTaskTimer(WitchRush.get(), 0L, 20L);
|
||||
}, 10 * 20);
|
||||
}
|
||||
new NoPVPTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
}
|
||||
|
||||
private void loadPlayer() {
|
||||
Bukkit.getOnlinePlayers().forEach(playerOnline -> {
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(playerOnline);
|
||||
this.teamManager.addPlayerInRandomTeam(playerOnline);
|
||||
TeamInfos teamInfos = this.teamManager.getPlayerTeam(playerOnline);
|
||||
witchPlayer.teleportToBase();
|
||||
playerOnline.getInventory().clear();
|
||||
playerOnline.setMaxHealth(20.0);
|
||||
|
||||
@@ -2,11 +2,22 @@ package net.berrygames.witchrush.game;
|
||||
|
||||
public enum GameState {
|
||||
|
||||
WAITING,
|
||||
STARTING,
|
||||
NOWITCH,
|
||||
PVP,
|
||||
DEATH_MATCH,
|
||||
FINISHING,
|
||||
LOBBY,
|
||||
GAME,
|
||||
END,
|
||||
;
|
||||
|
||||
private static GameState state;
|
||||
|
||||
public static void setStatus(final GameState status) {
|
||||
GameState.state = status;
|
||||
}
|
||||
|
||||
public static boolean isStatus(final GameState status) {
|
||||
return GameState.state == status;
|
||||
}
|
||||
|
||||
public static GameState getStatus() {
|
||||
return GameState.state;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package net.berrygames.witchrush.game;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
@@ -9,22 +9,17 @@ public class WinManager {
|
||||
|
||||
public WinManager() {
|
||||
final TeamManager teamManager = WitchRush.get().getTeamManager();
|
||||
if (WitchRush.get().getState().equals(GameState.NOWITCH)
|
||||
|| WitchRush.get().getState().equals(GameState.PVP)
|
||||
|| WitchRush.get().getState().equals(GameState.DEATH_MATCH)) {
|
||||
if (GameState.getStatus().equals(GameState.GAME)) {
|
||||
int teamLeft = 0;
|
||||
for (final TeamInfos teamInfos : TeamInfos.values()) {
|
||||
for (final TeamsInfos teamInfos : TeamsInfos.values()) {
|
||||
if (teamManager.getTeamPlayerCount(teamInfos) >= 1) {
|
||||
++teamLeft;
|
||||
}
|
||||
if(teamManager.getPlayerTeamList(teamInfos).size() == 0){
|
||||
teamManager.killTeamBoss(teamInfos);
|
||||
}
|
||||
}
|
||||
if (teamLeft == 1) {
|
||||
for (final TeamInfos teamInfos : TeamInfos.values()) {
|
||||
for (final TeamsInfos teamInfos : TeamsInfos.values()) {
|
||||
if (!teamManager.getPlayerTeamList(teamInfos).isEmpty()) {
|
||||
WitchRush.get().setState(GameState.FINISHING);
|
||||
GameState.setStatus(GameState.END);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Victoire de l'équipe "+teamInfos.getChatColor()+teamInfos.getTeamName());
|
||||
this.endGame();
|
||||
}
|
||||
@@ -34,7 +29,6 @@ public class WinManager {
|
||||
}
|
||||
|
||||
private void endGame() {
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(WitchRush.get(), ()->{
|
||||
Bukkit.getOnlinePlayers().forEach(players -> players.kickPlayer("§CPartie terminée"));
|
||||
Bukkit.getServer().reload();
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package net.berrygames.witchrush.game.task;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.WinManager;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class DeathMatchTask extends BukkitRunnable {
|
||||
|
||||
private int timer = 0;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
for(TeamInfos infos : TeamInfos.values()){
|
||||
if(WitchRush.get().getTeamManager().isInLife(infos)){
|
||||
if(WitchRush.get().getTeamManager().getBossEntityMap().get(infos).getLife() > 0){
|
||||
int life = (WitchRush.get().getTeamManager().getBossEntityMap().get(infos).getLife() - 10);
|
||||
WitchRush.get().getTeamManager().getBossEntityMap().get(infos).getWitch().setHealth(life);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
new WinManager();
|
||||
this.timer++;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
package net.berrygames.witchrush.game.task;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@@ -14,7 +13,7 @@ import java.util.Map;
|
||||
|
||||
public class HealthRunnable extends BukkitRunnable {
|
||||
|
||||
public Map<TeamInfos, ArmorStand> arMap;
|
||||
public Map<TeamsInfos, ArmorStand> arMap;
|
||||
private TeamManager teamManager;
|
||||
|
||||
public HealthRunnable() {
|
||||
@@ -23,7 +22,7 @@ public class HealthRunnable extends BukkitRunnable {
|
||||
}
|
||||
|
||||
public void run() {
|
||||
for(TeamInfos teamInfos : TeamInfos.values()){
|
||||
for(TeamsInfos teamInfos : TeamsInfos.values()){
|
||||
if(arMap.get(teamInfos) == null){
|
||||
final ArmorStand armorStand = (ArmorStand) Bukkit.getWorld("world").spawnEntity(teamManager.getBossLocation(teamInfos), EntityType.ARMOR_STAND);
|
||||
armorStand.setAI(false);
|
||||
@@ -34,6 +33,13 @@ public class HealthRunnable extends BukkitRunnable {
|
||||
this.arMap.put(teamInfos, armorStand);
|
||||
return;
|
||||
}
|
||||
if(teamManager.getTeamPlayerCount(teamInfos) == 0){
|
||||
if(arMap.get(teamInfos) != null){
|
||||
this.arMap.get(teamInfos).remove();
|
||||
this.arMap.remove(teamInfos);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if(teamManager.isInLife(teamInfos)){
|
||||
arMap.get(teamInfos).setCustomName(
|
||||
teamInfos.getChatColor()+teamInfos.getTeamName()
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
package net.berrygames.witchrush.game.task;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.WitchBoss;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class NoPVPTask extends BukkitRunnable {
|
||||
|
||||
private int timer = 3 * 20;
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
if(timer == 0){
|
||||
new PVPTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
WitchRush.get().setState(GameState.PVP);
|
||||
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Les §6Witchs §dsont apparues, §d§nBonne chance à vous !");
|
||||
|
||||
new WitchBoss(TeamInfos.ROUGE, Locations.WITCH_ROUGE.getLocation());
|
||||
new WitchBoss(TeamInfos.BLEU, Locations.WITCH_BLEU.getLocation());
|
||||
new WitchBoss(TeamInfos.VERT, Locations.WITCH_VERT.getLocation());
|
||||
new WitchBoss(TeamInfos.JAUNE, Locations.WITCH_JAUNE.getLocation());
|
||||
new HealthRunnable().runTaskTimer(WitchRush.get(), 0L, 20L);
|
||||
cancel();
|
||||
}
|
||||
this.timer--;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,9 @@
|
||||
package net.berrygames.witchrush.game.task;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.game.WinManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class PVPTask extends BukkitRunnable {
|
||||
@@ -16,8 +14,9 @@ public class PVPTask extends BukkitRunnable {
|
||||
public void run() {
|
||||
|
||||
if(this.timer == 0){
|
||||
new DeathMatchTask().runTaskTimer(WitchRush.get(), 0, 20 * 5);
|
||||
WitchRush.get().setState(GameState.DEATH_MATCH);
|
||||
|
||||
//DeathMatch
|
||||
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Le DeathMatch commence.");
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Les §5§lWitchs §dcommencent à perdre de la vie !");
|
||||
cancel();
|
||||
|
||||
@@ -17,24 +17,28 @@ public class StartTask extends BukkitRunnable {
|
||||
|
||||
if (Bukkit.getOnlinePlayers().size() < 4 && !WitchRush.get().isForcedStart()) {
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Il n'y a pas assez de joueurs pour lancer la partie !");
|
||||
WitchRush.get().setState(GameState.WAITING);
|
||||
GameState.setStatus(GameState.LOBBY);
|
||||
this.cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
if(this.timer > 10 && Bukkit.getOnlinePlayers().size() > 4 && !WitchRush.get().isForcedStart()){
|
||||
this.timer = 10;
|
||||
}
|
||||
|
||||
if(this.timer == 0){
|
||||
new GameManager();
|
||||
cancel();
|
||||
}
|
||||
if(this.timer == 120 || this.timer == 60 ||this.timer == 30 || this.timer == 15 || this.timer == 10 || this.timer == 5 || this.timer == 4
|
||||
|| this.timer == 3 || this.timer == 2 ){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+this.timer+" §dsecondes");
|
||||
if(this.timer == 1){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+this.timer+" §dseconde");
|
||||
for(Player pls : Bukkit.getOnlinePlayers()){
|
||||
pls.playSound(pls.getLocation(), Sound.BLOCK_NOTE_PLING, 1, 1);
|
||||
}
|
||||
}
|
||||
if(this.timer == 1){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+this.timer+" §dseconde");
|
||||
if(this.timer == 120 || this.timer == 60 ||this.timer == 30 || this.timer == 15 || this.timer == 10 || this.timer == 5 || this.timer == 4
|
||||
|| this.timer == 3 || this.timer == 2 ){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"Lancement de la partie dans §5"+this.timer+" §dsecondes");
|
||||
for(Player pls : Bukkit.getOnlinePlayers()){
|
||||
pls.playSound(pls.getLocation(), Sound.BLOCK_NOTE_PLING, 1, 1);
|
||||
}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package net.berrygames.witchrush.listeners.custom;
|
||||
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
public class BossDeathEvent extends Event {
|
||||
|
||||
public static final HandlerList handlers;
|
||||
private TeamInfos teamInfos;
|
||||
private Player player;
|
||||
|
||||
public BossDeathEvent(final TeamInfos teamInfos, final Player player) {
|
||||
this.teamInfos = teamInfos;
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
public HandlerList getHandlers() {
|
||||
return BossDeathEvent.handlers;
|
||||
}
|
||||
|
||||
public TeamInfos getTeamKiller() {
|
||||
return this.teamInfos;
|
||||
}
|
||||
|
||||
public Player getPlayerKiller() {
|
||||
return this.player;
|
||||
}
|
||||
|
||||
static {
|
||||
handlers = new HandlerList();
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,10 @@
|
||||
package net.berrygames.witchrush.listeners.entities;
|
||||
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Villager;
|
||||
import org.bukkit.entity.Witch;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -20,34 +16,38 @@ public class DamageEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDamageByEntity(final EntityDamageByEntityEvent e) {
|
||||
if(!WitchRush.get().getState().equals(GameState.PVP) && !WitchRush.get().getState().equals(GameState.DEATH_MATCH) && !WitchRush.get().getState().equals(GameState.NOWITCH) )return;
|
||||
switch (e.getEntity().getType()){
|
||||
case WITCH:
|
||||
if(!(e.getDamager() instanceof Player)) return;
|
||||
final Player player = (Player) e.getDamager();
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
final TeamInfos infos = teamManager.getPlayerTeam(player);
|
||||
if(teamManager.getTeamBoss(infos).getWitch().equals(witch)){
|
||||
e.setCancelled(true);
|
||||
player.sendMessage("§cVous ne pouvez pas tuer votre boss !");
|
||||
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 -> {
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(playerOnline);
|
||||
if(teamManager.isPlayerInTeam(playerOnline, teamInfos) && !witchPlayer.isSpectator()){
|
||||
playerOnline.sendTitle("§cWitch attaquée !", " ");
|
||||
playerOnline.playSound(playerOnline.getLocation(), Sound.BLOCK_ANVIL_PLACE, 1, 1);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
break;
|
||||
case GAME:
|
||||
switch (e.getEntity().getType()){
|
||||
case WITCH:
|
||||
if(!(e.getDamager() instanceof Player)) return;
|
||||
final Player player = (Player) e.getDamager();
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
final TeamsInfos playerTeam = teamManager.getPlayerTeam(player);
|
||||
if(teamManager.getTeamBoss(playerTeam).getWitch().equals(witch)){
|
||||
e.setCancelled(true);
|
||||
player.sendMessage("§cVous ne pouvez pas tuer votre boss !");
|
||||
return;
|
||||
}
|
||||
/*for(TeamsInfos infos : TeamsInfos.values()){
|
||||
if(teamManager.getTeamBoss(infos).getWitch().equals(witch)){
|
||||
Bukkit.getOnlinePlayers().forEach(pls -> {
|
||||
if(teamManager.getPlayerTeam(pls).equals(infos)){
|
||||
pls.sendTitle("§cWitch attaquée !", " ");
|
||||
pls.playSound(pls.getLocation(), Sound.BLOCK_ANVIL_PLACE, 1, 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}*/
|
||||
break;
|
||||
case VILLAGER:
|
||||
if(e.getDamager() instanceof Player) e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VILLAGER:
|
||||
if(e.getDamager() instanceof Player) e.setCancelled(true);
|
||||
case END:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,11 @@ package net.berrygames.witchrush.listeners.entities;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Witch;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -21,23 +20,39 @@ public class EntityDeath implements Listener {
|
||||
@EventHandler
|
||||
public void onEntityDeath(final EntityDeathEvent e) {
|
||||
if(e.getEntity() instanceof Witch){
|
||||
if(!WitchRush.get().getState().equals(GameState.PVP) || !WitchRush.get().getState().equals(GameState.DEATH_MATCH)) return;
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
for (final ItemStack itemStack : e.getDrops()) {
|
||||
itemStack.setType(Material.AIR);
|
||||
}
|
||||
for(TeamInfos infos : TeamInfos.values()){
|
||||
if(teamManager.getTeamBoss(infos).getWitch().equals(witch)){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"L'équipe "+infos.getChatColor()+infos.getTeamName()+" §dest morte !");
|
||||
for (final Player playerOnline : Bukkit.getOnlinePlayers()) {
|
||||
playerOnline.playSound(playerOnline.getLocation(), Sound.ENTITY_WITHER_DEATH, 1.0f, 1.0f);
|
||||
if (teamManager.isPlayerInTeam(playerOnline, infos)) {
|
||||
playerOnline.sendMessage(WitchRush.prefix()+"Votre Boss est mort! Ne mourrez pas !");
|
||||
playerOnline.sendTitle("§cAttention","Votre boss est mort !");
|
||||
teamManager.killTeamBoss(infos);
|
||||
}
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
break;
|
||||
case GAME:
|
||||
final Witch witch = (Witch) e.getEntity();
|
||||
TeamsInfos teamInfos = TeamsInfos.JAUNE;
|
||||
for (final ItemStack itemStack : e.getDrops()) {
|
||||
itemStack.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
for (final TeamsInfos teamInfosList : TeamsInfos.values()) {
|
||||
if (teamManager.getTeamBoss(teamInfosList).getWitch().equals(witch)) {
|
||||
teamInfos = teamInfosList;
|
||||
}
|
||||
}
|
||||
System.out.println(witch.getCustomName());
|
||||
System.out.println(witch.getName());
|
||||
System.out.println(teamManager.getTeamBoss(teamInfos).getWitch().getCustomName());
|
||||
System.out.println(teamManager.getTeamBoss(teamInfos).getWitch().getName());
|
||||
if(teamManager.getTeamBoss(teamInfos).getWitch().equals(witch)){
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+" Le boss des"+teamInfos.getChatColor()+teamInfos.getTeamName()+"s §dest mort");
|
||||
TeamsInfos finalTeamInfos = teamInfos;
|
||||
Bukkit.getOnlinePlayers().forEach(pls -> {
|
||||
pls.playSound(pls.getLocation(), Sound.ENTITY_WITHER_DEATH, 1.0f, 1.0f);
|
||||
if(teamManager.isPlayerInTeam(pls, finalTeamInfos)){
|
||||
pls.sendMessage("Votre boss est mort !");
|
||||
pls.sendMessage("Ne mourrez pas");
|
||||
pls.sendTitle("§cAttention","Votre boss est mort !");
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
case END:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package net.berrygames.witchrush.listeners.players;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -24,7 +24,7 @@ public class InventoryClick implements Listener {
|
||||
e.setCancelled(true);
|
||||
switch (item.getType()){
|
||||
case WOOL:
|
||||
final TeamInfos teamInfos = TeamInfos.getTeamInfosByShortData(e.getCurrentItem().getDurability());
|
||||
final TeamsInfos teamInfos = TeamsInfos.getTeamInfosByShortData(e.getCurrentItem().getDurability());
|
||||
if (teamManager.isPlayerInTeam(player, teamInfos)) {
|
||||
player.sendMessage("§dVous êtes déjà dans cette team !");
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0f, 1.0f);
|
||||
@@ -40,7 +40,7 @@ public class InventoryClick implements Listener {
|
||||
teamManager.removePlayerAllTeam(player);
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_YES, 1.0f, 1.0f);
|
||||
teamManager.addPlayerTeam(player, teamInfos);
|
||||
TeamInfos infos1 = teamManager.getPlayerTeam(player);
|
||||
TeamsInfos infos1 = teamManager.getPlayerTeam(player);
|
||||
player.sendMessage("§dVous avez rejoint la team "+infos1.getChatColor()+infos1.getTeamName());
|
||||
player.closeInventory();
|
||||
break;
|
||||
@@ -59,9 +59,16 @@ public class InventoryClick implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onInventoryClick(final InventoryClickEvent e) {
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package net.berrygames.witchrush.listeners.players;
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -17,32 +17,47 @@ public class PlayerChat implements Listener {
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setFormat("§7%1$s §7» §f%2$s");
|
||||
} else if(witchPlayer.isSpectator()){
|
||||
e.setCancelled(true);
|
||||
for(WitchPlayer pls : WitchPlayer.getwitchMap().values()){
|
||||
for(Player players : Bukkit.getOnlinePlayers()){
|
||||
if(pls.isSpectator()){
|
||||
players.sendMessage("§7[Spectateur] §8"+player.getName()+" §7» "+e.getMessage());
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setFormat("§7%1$s §7» §f%2$s");
|
||||
if(witchPlayer.isSpectator()){
|
||||
e.setCancelled(true);
|
||||
for(Player players : Bukkit.getOnlinePlayers()){
|
||||
WitchPlayer pls = WitchPlayer.get(players);
|
||||
if(pls.isSpectator()){
|
||||
players.sendMessage("§7[Spectateur] §8"+player.getName()+" §7» "+e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
String message = e.getMessage();
|
||||
if(message.toLowerCase().startsWith("!")){
|
||||
e.setFormat("§7[§6Global§7] "+WitchRush.get().getTeamManager().getPlayerTeam(player).getChatColor()+"%1$s §7» §f%2$s");
|
||||
} else {
|
||||
e.setCancelled(true);
|
||||
Bukkit.getOnlinePlayers().forEach(playerOnline -> {
|
||||
final TeamInfos teamInfos = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
if(WitchRush.get().getTeamManager().getPlayerTeam(playerOnline).equals(teamInfos)){
|
||||
playerOnline.sendMessage("§7["+teamInfos.getChatColor()+teamInfos.getTeamName()+"§7] "
|
||||
+WitchRush.get().getTeamManager().getPlayerTeam(playerOnline).getChatColor()
|
||||
+player.getDisplayName()+" §7» §f"+message.replace("!",""));
|
||||
break;
|
||||
case GAME:
|
||||
String message = e.getMessage();
|
||||
if(message.startsWith("@") || message.startsWith("!")){
|
||||
e.setFormat("§7[§6Global§7] "+WitchRush.get().getTeamManager().getPlayerTeam(player).getChatColor()+"%1$s §7» §f%2$s");
|
||||
} else {
|
||||
e.setCancelled(true);
|
||||
Bukkit.getOnlinePlayers().forEach(playerOnline -> {
|
||||
final TeamsInfos teamInfos = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
if(WitchRush.get().getTeamManager().getPlayerTeam(playerOnline).equals(teamInfos)){
|
||||
playerOnline.sendMessage("§7["+teamInfos.getChatColor()+teamInfos.getTeamName()+"§7] "
|
||||
+WitchRush.get().getTeamManager().getPlayerTeam(playerOnline).getChatColor()
|
||||
+player.getDisplayName()+" §7» §f"+message.replace("!","§r"));
|
||||
}
|
||||
});
|
||||
}
|
||||
break;
|
||||
case END:
|
||||
e.setFormat("§7%1$s §7» §f%2$s");
|
||||
if(witchPlayer.isSpectator()){
|
||||
e.setCancelled(true);
|
||||
for(Player players : Bukkit.getOnlinePlayers()){
|
||||
WitchPlayer pls = WitchPlayer.get(players);
|
||||
if(pls.isSpectator()){
|
||||
players.sendMessage("§7[Spectateur] §8"+player.getName()+" §7» "+e.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,12 @@ package net.berrygames.witchrush.listeners.players;
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.DeadPlayer;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -27,59 +28,52 @@ public class PlayerDeath implements Listener {
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
WitchPlayer witchKiller = WitchPlayer.get(killer);
|
||||
|
||||
final TeamInfos teamvictim;
|
||||
final TeamInfos teamKiller;
|
||||
final TeamsInfos teamvictim;
|
||||
final TeamsInfos teamKiller;
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setDeathMessage(null);
|
||||
player.kickPlayer("ENFAIT TOI T'ES FORT PCQ NORMALEMENT YA PAS CA");
|
||||
} else {
|
||||
if(killer instanceof Player){
|
||||
switch (WitchRush.get().getState()){
|
||||
case PVP:
|
||||
if(!teamManager.isInLife(teamManager.getPlayerTeam(player))){
|
||||
checkDrop(e);
|
||||
TeamInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§c est éliminé");
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
witchPlayer.setSpectator(true);
|
||||
player.teleport(Locations.SPAWN_SPECTATORS.getLocation());
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
teamManager.removePlayerAllTeam(player);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setDeathMessage(null);
|
||||
player.kickPlayer("ENFAIT TOI T'ES FORT PCQ NORMALEMENT YA PAS CA");
|
||||
break;
|
||||
case GAME:
|
||||
if(killer instanceof Player){
|
||||
if(!teamManager.isInLife(teamManager.getPlayerTeam(player))){
|
||||
checkDrop(e);
|
||||
TeamsInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§c est éliminé");
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
witchPlayer.setSpectator(true);
|
||||
player.teleport(new Location(Bukkit.getWorld("world"), 0, 66, 0));
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
teamManager.removePlayerAllTeam(player);
|
||||
|
||||
player.sendMessage(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes éliminé.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
} else {
|
||||
teamvictim = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
teamKiller = WitchRush.get().getTeamManager().getPlayerTeam(killer);
|
||||
e.setDeathMessage(teamvictim.getChatColor()+player.getName()+"§d a été tué par "+teamKiller.getChatColor()+ killer.getName());
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
witchKiller.setKills(witchKiller.getKills()+1);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
}
|
||||
break;
|
||||
case NOWITCH:
|
||||
player.sendMessage(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes éliminé.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
} else {
|
||||
teamvictim = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
teamKiller = WitchRush.get().getTeamManager().getPlayerTeam(killer);
|
||||
|
||||
e.setDeathMessage(teamvictim.getChatColor()+player.getName()+"§d a été tué par "+teamKiller.getChatColor()+ killer.getName());
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
witchKiller.setKills(witchKiller.getKills()+1);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
TeamsInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§d est mort");
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
player.setHealth(20);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
}
|
||||
} else {
|
||||
TeamInfos team = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
e.setDeathMessage(team.getChatColor()+player.getName()+"§d est mort");
|
||||
checkDrop(e);
|
||||
new DeadPlayer(player);
|
||||
player.setHealth(20);
|
||||
witchPlayer.setDeath(witchPlayer.getDeath()+1);
|
||||
}
|
||||
break;
|
||||
case END:
|
||||
e.setDeathMessage(null);
|
||||
player.kickPlayer("ENFAIT TOI T'ES FORT PCQ NORMALEMENT YA PAS CA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,48 +24,86 @@ public class PlayerInteract implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void pvp(EntityDamageEvent e){
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void pvp(EntityDamageByBlockEvent e){
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void drop(PlayerDropItemEvent e){
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void pvp(EntityDamageByEntityEvent e){
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void click(PlayerInteractAtEntityEvent e){
|
||||
Player player = e.getPlayer();
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setCancelled(true);
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case GAME:
|
||||
e.setCancelled(true);
|
||||
if(e.getRightClicked().getName().equals("§6§lSHOP")){
|
||||
player.closeInventory();
|
||||
new ShopGui(player);
|
||||
}
|
||||
if(e.getRightClicked().getName().equals("§3§lUPGRADE")){
|
||||
player.closeInventory();
|
||||
new UpgradeGUI(player);
|
||||
}
|
||||
break;
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
e.setCancelled(true);
|
||||
if(e.getRightClicked().getName().equals("§6§lSHOP")){
|
||||
e.setCancelled(true);
|
||||
new ShopGui(player);
|
||||
}
|
||||
if(e.getRightClicked().getName().equals("§3§lUPGRADE")){
|
||||
e.setCancelled(true);
|
||||
new UpgradeGUI(player);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@@ -86,13 +124,15 @@ public class PlayerInteract implements Listener {
|
||||
player.sendMessage("retour au hub soon");
|
||||
break;
|
||||
case FEATHER:
|
||||
if(WitchRush.get().isForcedStart())return;
|
||||
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 !");
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
WitchRush.get().setForcedStart(true);
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§c"+player.getName()+" a forcé le démarrage de la partie !");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:break;
|
||||
|
||||
@@ -4,9 +4,11 @@ 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.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.ItemFactory;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@@ -20,43 +22,54 @@ public class PlayerJoin implements Listener {
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setJoinMessage(
|
||||
WitchRush.prefix()+"§e"+player.getName()+
|
||||
" §da rejoint la partie §7(§d"+
|
||||
WitchPlayer.getwitchMap().size()+
|
||||
"§8/§d16§7)");
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setJoinMessage(
|
||||
WitchRush.prefix()+"§e"+player.getName()+
|
||||
" §da rejoint la partie §7(§d"+
|
||||
WitchPlayer.getwitchMap().size()+
|
||||
"§8/§d16§7)");
|
||||
|
||||
player.sendTitle("§5WitchRush", "§DLe rush avec des Witchs");
|
||||
player.getInventory().clear();
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
player.setLevel(0);
|
||||
player.setExp(0f);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(Locations.PLAYER_SPAWN_WAITING_ROOM.getLocation());
|
||||
witchPlayer.sendWaitingStuff();
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) && WitchPlayer.getwitchMap().size() >= 4){
|
||||
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(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes spectateur pour cette partie.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
e.setJoinMessage(null);
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
player.setLevel(0);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(Locations.SPAWN_SPECTATORS.getLocation());
|
||||
player.sendTitle("§5WitchRush", "§DLe rush avec des Witchs");
|
||||
player.getInventory().clear();
|
||||
player.setGameMode(GameMode.ADVENTURE);
|
||||
player.setLevel(0);
|
||||
player.setExp(0f);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(new Location(Bukkit.getWorld("world"), 0, 66, 0));
|
||||
witchPlayer.sendWaitingStuff();
|
||||
if(WitchPlayer.getwitchMap().size() >= 4){
|
||||
new StartTask().runTaskTimer(WitchRush.get(), 0, 20);
|
||||
}
|
||||
if(player.isOp()){
|
||||
player.getInventory().setItem(0, new ItemFactory(Material.FEATHER).withName("§cDémarrage forcé").done());
|
||||
}
|
||||
break;
|
||||
case GAME:
|
||||
player.sendMessage(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes spectateur pour cette partie.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
e.setJoinMessage(null);
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
player.setLevel(0);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(new Location(Bukkit.getWorld("world"), 0, 66, 0));
|
||||
break;
|
||||
case END:
|
||||
player.sendMessage(" ");
|
||||
player.sendMessage("§8(Spectateur) §7Vous êtes spectateur pour cette partie.");
|
||||
player.sendMessage("§7Seuls les autres spectateurs voient vos messages !");
|
||||
player.sendMessage(" ");
|
||||
e.setJoinMessage(null);
|
||||
player.setGameMode(GameMode.SPECTATOR);
|
||||
player.setLevel(0);
|
||||
player.setHealth(20);
|
||||
player.setFoodLevel(20);
|
||||
player.teleport(new Location(Bukkit.getWorld("world"), 0, 66, 0));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,25 +17,23 @@ public class PlayerQuit implements Listener {
|
||||
Player player = e.getPlayer();
|
||||
WitchPlayer witchPlayer = WitchPlayer.get(player);
|
||||
|
||||
e.setQuitMessage(null);
|
||||
|
||||
witchPlayer.removePlayer();
|
||||
WitchRush.get().getTeamManager().removePlayerAllTeam(player);
|
||||
|
||||
if(WitchRush.get().getState().equals(GameState.WAITING) || WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
e.setQuitMessage(
|
||||
WitchRush.prefix()+"§e"+player.getName()+
|
||||
" §da quitté la partie §7(§d"+
|
||||
WitchPlayer.getwitchMap().size()+
|
||||
"§8/§d16§7)");
|
||||
} else {
|
||||
e.setQuitMessage(null);
|
||||
}
|
||||
|
||||
if(WitchPlayer.getwitchMap().size() < 4 && WitchRush.get().getState().equals(GameState.STARTING)){
|
||||
if(WitchRush.get().isForcedStart())return;
|
||||
Bukkit.broadcastMessage(WitchRush.prefix()+"§CLe lancement de la partie est annulé. Il n'y a pas assez de joueurs !");
|
||||
new StartTask().cancel();
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setQuitMessage(null);
|
||||
break;
|
||||
case GAME:
|
||||
e.setQuitMessage(
|
||||
WitchRush.prefix()+"§e"+player.getName()+
|
||||
" §da quitté la partie §7(§d"+
|
||||
WitchPlayer.getwitchMap().size()+
|
||||
"§8/§d16§7)");
|
||||
break;
|
||||
case END:
|
||||
e.setQuitMessage(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.berrygames.witchrush.listeners.servers;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.ServerListPingEvent;
|
||||
@@ -9,7 +10,7 @@ public class ServerPing implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void ping(ServerListPingEvent e){
|
||||
e.setMotd(WitchRush.prefix()+WitchRush.get().getState());
|
||||
e.setMotd(WitchRush.prefix()+ GameState.getStatus());
|
||||
e.setMaxPlayers(16);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.berrygames.witchrush.listeners.world;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
@@ -13,20 +12,14 @@ public class WorldEvents implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void place(BlockPlaceEvent e){
|
||||
switch (WitchRush.get().getState()){
|
||||
case WAITING:
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case STARTING:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case NOWITCH:
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case PVP:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case FINISHING:
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
@@ -34,40 +27,28 @@ public class WorldEvents implements Listener {
|
||||
}
|
||||
@EventHandler
|
||||
public void breakB(BlockBreakEvent e){
|
||||
switch (WitchRush.get().getState()){
|
||||
case WAITING:
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case STARTING:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case NOWITCH:
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case PVP:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case FINISHING:
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@EventHandler
|
||||
public void damage(BlockDamageEvent e){
|
||||
switch (WitchRush.get().getState()){
|
||||
case WAITING:
|
||||
switch (GameState.getStatus()){
|
||||
case LOBBY:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case STARTING:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
case NOWITCH:
|
||||
case GAME:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case PVP:
|
||||
e.setCancelled(false);
|
||||
break;
|
||||
case FINISHING:
|
||||
case END:
|
||||
e.setCancelled(true);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
package net.berrygames.witchrush.team;
|
||||
|
||||
import org.bukkit.Color;
|
||||
|
||||
public enum TeamInfos {
|
||||
|
||||
VERT("Vert", "Vert", "§a", (short)13, Color.GREEN),
|
||||
BLEU("Bleu", "Bleu", "§b", (short)11, Color.BLUE),
|
||||
JAUNE("Jaune", "Jaune", "§e", (short)4, Color.YELLOW),
|
||||
ROUGE("Rouge", "Rouge", "§c", (short)14, Color.RED),
|
||||
;
|
||||
|
||||
private String IDName;
|
||||
private String teamName;
|
||||
private String chatColor;
|
||||
private short dataClay;
|
||||
private Color color;
|
||||
|
||||
TeamInfos(String IDName, String teamName, String chatColor, short dataClay, Color color) {
|
||||
this.IDName = IDName;
|
||||
this.teamName = teamName;
|
||||
this.chatColor = chatColor;
|
||||
this.dataClay = dataClay;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
public String getIDName() {
|
||||
return IDName;
|
||||
}
|
||||
|
||||
public String getTeamName() {
|
||||
return teamName;
|
||||
}
|
||||
|
||||
public String getChatColor() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
public short getDataClay() {
|
||||
return dataClay;
|
||||
}
|
||||
|
||||
public Color getColor() {
|
||||
return color;
|
||||
}
|
||||
|
||||
public static TeamInfos getTeamInfosByIDName(final String ID) {
|
||||
for (final TeamInfos teamInfos : values()) {
|
||||
if (teamInfos.getIDName().equalsIgnoreCase(ID)) {
|
||||
return teamInfos;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TeamInfos getTeamInfosByShortData(final short data) {
|
||||
for (final TeamInfos teamInfos : values()) {
|
||||
if (teamInfos.getDataClay() == data) {
|
||||
return teamInfos;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package net.berrygames.witchrush.team;
|
||||
|
||||
import net.berrygames.witchrush.game.task.HealthRunnable;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.tools.WitchBoss;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
@@ -11,15 +10,15 @@ import java.util.*;
|
||||
|
||||
public class TeamManager {
|
||||
|
||||
private Map<TeamInfos, List<Player>> playerTeamList;
|
||||
private Map<TeamInfos, WitchBoss> bossEntityMap;
|
||||
private Map<TeamsInfos, List<Player>> playerTeamList;
|
||||
private Map<TeamsInfos, WitchBoss> bossEntityMap;
|
||||
|
||||
public TeamManager() {
|
||||
this.playerTeamList = new HashMap<>();
|
||||
this.bossEntityMap = new HashMap<>();
|
||||
}
|
||||
|
||||
public void addPlayerTeam(final Player player, final TeamInfos teamInfos) {
|
||||
public void addPlayerTeam(final Player player, final TeamsInfos teamInfos) {
|
||||
if (this.playerTeamList.get(teamInfos) == null) {
|
||||
this.playerTeamList.put(teamInfos, new ArrayList<>());
|
||||
}
|
||||
@@ -30,63 +29,80 @@ public class TeamManager {
|
||||
}
|
||||
|
||||
public void removePlayerAllTeam(final Player player){
|
||||
for (final TeamInfos teamInfos : TeamInfos.values()) {
|
||||
for (final TeamsInfos teamInfos : TeamsInfos.values()) {
|
||||
if (this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).contains(player)) {
|
||||
this.playerTeamList.get(teamInfos).remove(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void removePlayerTeam(final Player player, final TeamInfos teamInfos) {
|
||||
public void removePlayerTeam(final Player player, final TeamsInfos teamInfos) {
|
||||
if (this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).contains(player)) {
|
||||
this.playerTeamList.get(teamInfos).remove(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void addPlayerInRandomTeam(final Player player) {
|
||||
TreeMap<TeamInfos, List<Player>> teamMap = new TreeMap<>();
|
||||
for(TeamInfos infos : TeamInfos.values()){
|
||||
TreeMap<TeamsInfos, List<Player>> teamMap = new TreeMap<>();
|
||||
for(TeamsInfos infos : TeamsInfos.values()){
|
||||
for(Player pls: Bukkit.getOnlinePlayers()){
|
||||
if(!isPlayerInTeam(pls , infos)) teamMap.put(infos, getPlayerTeamList(infos));
|
||||
}
|
||||
}
|
||||
if(!playerHaveTeam(player)) addPlayerTeam(player, teamMap.firstKey());
|
||||
}
|
||||
|
||||
public void checkNoTeamPlayers() {
|
||||
for(Player onlinePlayers : Bukkit.getOnlinePlayers()) {
|
||||
if(!playerHaveTeam(onlinePlayers)) addPlayerInRandomTeam(onlinePlayers);
|
||||
if(!playerHaveTeam(player)){
|
||||
addPlayerTeam(player, teamMap.firstKey());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isInLife(final TeamInfos teamInfos) {
|
||||
public boolean isInLife(final TeamsInfos teamInfos) {
|
||||
if(getBossEntityMap().containsKey(teamInfos)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Location getBossLocation(final TeamInfos teamInfos) {
|
||||
switch (teamInfos){
|
||||
case ROUGE:
|
||||
return Locations.WITCH_ROUGE.getLocation();
|
||||
case BLEU:
|
||||
return Locations.WITCH_BLEU.getLocation();
|
||||
case VERT:
|
||||
return Locations.WITCH_VERT.getLocation();
|
||||
case JAUNE:
|
||||
return Locations.WITCH_JAUNE.getLocation();
|
||||
}
|
||||
|
||||
return null;
|
||||
public Location getBossLocation(final TeamsInfos teamInfos) {
|
||||
return new Location(Bukkit.getWorld("world"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".boss.x"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".boss.y"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".boss.z"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".boss.yaw"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".boss.pitch"));
|
||||
}
|
||||
|
||||
public boolean isPlayerInTeam(final Player player, final TeamInfos teamInfos) {
|
||||
public Location getShopLocation(final TeamsInfos teamInfos) {
|
||||
return new Location(Bukkit.getWorld("world"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".shop.x"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".shop.y"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".shop.z"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".shop.yaw"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".shop.pitch"));
|
||||
}
|
||||
|
||||
public Location getUpgradeLocation(final TeamsInfos teamInfos) {
|
||||
return new Location(Bukkit.getWorld("world"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".upgrade.x"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".upgrade.y"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".upgrade.z"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".upgrade.yaw"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".upgrade.pitch"));
|
||||
}
|
||||
|
||||
public Location getTeamLocation(final TeamsInfos teamInfos) {
|
||||
return new Location(Bukkit.getWorld("world"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".spawn.x"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".spawn.y"),
|
||||
WitchRush.get().getMode().getDouble("teams."+teamInfos.getTeamName()+".spawn.z"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".spawn.yaw"),
|
||||
WitchRush.get().getMode().getLong("teams."+teamInfos.getTeamName()+".spawn.pitch"));
|
||||
}
|
||||
|
||||
public boolean isPlayerInTeam(final Player player, final TeamsInfos teamInfos) {
|
||||
return this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).contains(player);
|
||||
}
|
||||
|
||||
public boolean playerHaveTeam(final Player player) {
|
||||
for (final TeamInfos teamInfos : TeamInfos.values()) {
|
||||
for (final TeamsInfos teamInfos : TeamsInfos.values()) {
|
||||
if (this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).contains(player)) {
|
||||
return true;
|
||||
}
|
||||
@@ -94,12 +110,12 @@ public class TeamManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean teamIsFull(final TeamInfos teamInfos) {
|
||||
public boolean teamIsFull(final TeamsInfos teamInfos) {
|
||||
return this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).size() >= this.getPlayerTeamLimit();
|
||||
}
|
||||
|
||||
public TeamInfos getPlayerTeam(final Player player) {
|
||||
for (final TeamInfos teamInfos : TeamInfos.values()) {
|
||||
public TeamsInfos getPlayerTeam(final Player player) {
|
||||
for (final TeamsInfos teamInfos : TeamsInfos.values()) {
|
||||
if (this.playerTeamList.get(teamInfos) != null && this.playerTeamList.get(teamInfos).contains(player)) {
|
||||
return teamInfos;
|
||||
}
|
||||
@@ -107,14 +123,14 @@ public class TeamManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Integer getTeamPlayerCount(final TeamInfos teamInfos) {
|
||||
public Integer getTeamPlayerCount(final TeamsInfos teamInfos) {
|
||||
if (this.playerTeamList.get(teamInfos) != null) {
|
||||
return this.playerTeamList.get(teamInfos).size();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public List<Player> getPlayerTeamList(final TeamInfos teamInfos) {
|
||||
public List<Player> getPlayerTeamList(final TeamsInfos teamInfos) {
|
||||
if (this.playerTeamList.get(teamInfos) != null) {
|
||||
return this.playerTeamList.get(teamInfos);
|
||||
}
|
||||
@@ -125,23 +141,12 @@ public class TeamManager {
|
||||
return 4;
|
||||
}
|
||||
|
||||
public WitchBoss getTeamBoss(final TeamInfos teamInfos) {
|
||||
public WitchBoss getTeamBoss(final TeamsInfos teamInfos) {
|
||||
return this.bossEntityMap.get(teamInfos);
|
||||
}
|
||||
|
||||
public void killTeamBoss(final TeamInfos 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<TeamInfos, List<Player>> getPlayerTeamList() {
|
||||
return this.playerTeamList;
|
||||
}
|
||||
|
||||
public Map<TeamInfos, WitchBoss> getBossEntityMap() {
|
||||
public Map<TeamsInfos, WitchBoss> getBossEntityMap() {
|
||||
return this.bossEntityMap;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
package net.berrygames.witchrush.team;
|
||||
|
||||
import net.berrygames.witchrush.tools.PNJSpawner;
|
||||
import org.bukkit.Color;
|
||||
|
||||
public enum TeamsInfos {
|
||||
|
||||
VERT(0,"Vert", "vert", "§a", (short)13, Color.GREEN),
|
||||
BLEU(1,"Bleu", "bleu", "§b", (short)11, Color.BLUE),
|
||||
JAUNE(2,"Jaune", "jaune", "§e", (short)4, Color.YELLOW),
|
||||
ROUGE(3,"Rouge", "rouge", "§c", (short)14, Color.RED),
|
||||
;
|
||||
|
||||
private int id;
|
||||
private String IDName;
|
||||
private String teamName;
|
||||
private String chatColor;
|
||||
private short dataClay;
|
||||
private Color color;
|
||||
|
||||
TeamsInfos(int id, String IDName, String teamName, String chatColor, short dataClay, Color color) {
|
||||
this.id = id;
|
||||
this.IDName = IDName;
|
||||
this.teamName = teamName;
|
||||
this.chatColor = chatColor;
|
||||
this.dataClay = dataClay;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
public String getIDName() {
|
||||
return IDName;
|
||||
}
|
||||
|
||||
public String getTeamName() {
|
||||
return teamName;
|
||||
}
|
||||
|
||||
public String getChatColor() {
|
||||
return chatColor;
|
||||
}
|
||||
|
||||
public short getDataClay() {
|
||||
return dataClay;
|
||||
}
|
||||
|
||||
public Color getColor() {
|
||||
return color;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public static TeamsInfos getTeamInfosByIDName(final String ID) {
|
||||
for (final TeamsInfos teamInfos : values()) {
|
||||
if (teamInfos.getIDName().equalsIgnoreCase(ID)) {
|
||||
return teamInfos;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TeamsInfos getTeamInfosByID(final int ID) {
|
||||
for (final TeamsInfos teamInfos : values()) {
|
||||
if (teamInfos.getId() == ID) {
|
||||
return teamInfos;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TeamsInfos getTeamInfosByShortData(final short data) {
|
||||
for (final TeamsInfos teamInfos : values()) {
|
||||
if (teamInfos.getDataClay() == data) {
|
||||
return teamInfos;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,24 +18,30 @@ public class TeamsMenu {
|
||||
inventory = Bukkit.createInventory(null, 4 * 9, WitchRush.prefix()+"Teams");
|
||||
|
||||
for(int i = 0; i < 9; i++){
|
||||
inventory.setItem(i, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
inventory.setItem(i, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
}
|
||||
for(int i = 27; i < 36; i++){
|
||||
inventory.setItem(i, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
for(int i = 45; i < 54; i++){
|
||||
inventory.setItem(i, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
}
|
||||
inventory.setItem(9, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
inventory.setItem(17, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
inventory.setItem(18, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
inventory.setItem(26, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PURPLE).done());
|
||||
inventory.setItem(9, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
inventory.setItem(17, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
inventory.setItem(36, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
inventory.setItem(44, new ItemFactory(Material.STAINED_GLASS_PANE).withName("").withColor(DyeColor.PINK).done());
|
||||
|
||||
inventory.setItem(22, new ItemFactory(Material.DOUBLE_PLANT).withName("§dTeam Random").done());
|
||||
inventory.setItem(40, new ItemFactory(Material.DOUBLE_PLANT).withName("§dTeam Random").done());
|
||||
|
||||
inventory.setItem(12, new ItemFactory(Material.WOOL).withColor(DyeColor.GREEN).withName("§aVert").done());
|
||||
inventory.setItem(14, new ItemFactory(Material.WOOL).withColor(DyeColor.YELLOW).withName("§eJaune").done());
|
||||
inventory.setItem(20, new ItemFactory(Material.WOOL).withColor(DyeColor.BLUE).withName("§bBleu").done());
|
||||
inventory.setItem(24, new ItemFactory(Material.WOOL).withColor(DyeColor.RED).withName("§cRouge").done());
|
||||
for(int i = 0; i < TeamsInfos.values().length; i++){
|
||||
for(int slot = 10; slot < 17; slot++){
|
||||
inventory.setItem(slot, new ItemFactory(Material.WOOL).withName(TeamsInfos.getTeamInfosByID(i).getTeamName()).done());
|
||||
}
|
||||
for(int slot = 19; slot < 26; slot++){
|
||||
inventory.setItem(slot, new ItemFactory(Material.WOOL).withName(TeamsInfos.getTeamInfosByID(i).getTeamName()).done());
|
||||
}
|
||||
inventory.setItem(30, new ItemFactory(Material.WOOL).withName(TeamsInfos.getTeamInfosByID(i).getTeamName()).done());
|
||||
inventory.setItem(32, new ItemFactory(Material.WOOL).withName(TeamsInfos.getTeamInfosByID(i).getTeamName()).done());
|
||||
}
|
||||
|
||||
inventory.setItem(31, new ItemFactory(Material.BARRIER).withName("§cFermer").done());
|
||||
inventory.setItem(49, new ItemFactory(Material.BARRIER).withName("§cFermer").done());
|
||||
player.openInventory(inventory);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
package net.berrygames.witchrush.tools;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
|
||||
public enum Locations {
|
||||
|
||||
//PLAYERS
|
||||
PLAYER_SPAWN_WAITING_ROOM(new Location(Bukkit.getWorld("world"), 0.5, 65, 0.5, 0, 0)),
|
||||
PLAYER_SPAWN_BLEU(new Location(Bukkit.getWorld("world"), 5.5, 65, -4.5, 50, 0)),
|
||||
PLAYER_SPAWN_ROUGE(new Location(Bukkit.getWorld("world"), -4.5, 65, 5.5, -120, 0)),
|
||||
PLAYER_SPAWN_JAUNE(new Location(Bukkit.getWorld("world"), 5.5, 65, 5.5, 120, 0)),
|
||||
PLAYER_SPAWN_VERT(new Location(Bukkit.getWorld("world"), -4.5, 65, -4.5, -50, 0)),
|
||||
|
||||
SPAWN_SPECTATORS(new Location(Bukkit.getWorld("world"), 0.5, 70, 0.5, 0, 0)),
|
||||
|
||||
//WITCH
|
||||
WITCH_BLEU(new Location(Bukkit.getWorld("world"), 9.5, 65, -8.5, 50, 0)),
|
||||
WITCH_ROUGE(new Location(Bukkit.getWorld("world"), -8.5, 65, 9.5, -120, 0)),
|
||||
WITCH_JAUNE(new Location(Bukkit.getWorld("world"), 9.5, 65, 9.5, 120, 0)),
|
||||
WITCH_VERT(new Location(Bukkit.getWorld("world"), -8.5, 65, -8.5, -50, 0)),
|
||||
|
||||
//PNJ SHOP
|
||||
SHOP_BLEU(new Location(Bukkit.getWorld("world"), 9.5, 65, -5.5, 90, 0)),
|
||||
SHOP_ROUGE(new Location(Bukkit.getWorld("world"), -8.5, 65, 6.5, -90, 0)),
|
||||
SHOP_JAUNE(new Location(Bukkit.getWorld("world"), 6.5, 65, 9.5, 190, 0)),
|
||||
SHOP_VERT(new Location(Bukkit.getWorld("world"), -5.5, 65, -8.5, 0, 0)),
|
||||
|
||||
//PNJ SOLO UPGRADE
|
||||
UPGRADE_BLEU(new Location(Bukkit.getWorld("world"), 6.5, 65, -8.5, 0, 0)),
|
||||
UPGRADE_ROUGE(new Location(Bukkit.getWorld("world"), -5.5, 65, 9.5, -180, 0)),
|
||||
UPGRADE_JAUNE(new Location(Bukkit.getWorld("world"), 9.5, 65, 6.5, 90, 0)),
|
||||
UPGRADE_VERT(new Location(Bukkit.getWorld("world"), -8.5, 65, -5.5, -90, 0)),
|
||||
|
||||
;
|
||||
|
||||
private Location location;
|
||||
|
||||
Locations(Location location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public Location getLocation() {
|
||||
return location;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
package net.berrygames.witchrush.tools;
|
||||
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.EntityType;
|
||||
@@ -8,13 +8,13 @@ import org.bukkit.entity.Villager;
|
||||
|
||||
public class PNJSpawner {
|
||||
|
||||
private TeamInfos teamInfos;
|
||||
private TeamsInfos teamInfos;
|
||||
private Location location;
|
||||
private Villager villager;
|
||||
private double life;
|
||||
private String name;
|
||||
|
||||
public PNJSpawner(String name, final TeamInfos teamInfos, final Location location) {
|
||||
public PNJSpawner(String name, final TeamsInfos teamInfos, final Location location) {
|
||||
this.teamInfos = teamInfos;
|
||||
this.location = location;
|
||||
this.villager = (Villager) Bukkit.getWorld("world").spawnEntity(location, EntityType.VILLAGER);
|
||||
@@ -30,7 +30,7 @@ public class PNJSpawner {
|
||||
this.villager.setCollidable(false);
|
||||
}
|
||||
|
||||
public TeamInfos getTeamInfos() {
|
||||
public TeamsInfos getTeamInfos() {
|
||||
return this.teamInfos;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package net.berrygames.witchrush.tools;
|
||||
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamsInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
@@ -10,19 +10,19 @@ import org.bukkit.entity.Witch;
|
||||
|
||||
public class WitchBoss {
|
||||
|
||||
private TeamInfos teamInfos;
|
||||
private TeamsInfos teamInfos;
|
||||
private Location location;
|
||||
private TeamManager manager;
|
||||
private Witch witch;
|
||||
private int life;
|
||||
|
||||
public WitchBoss(final TeamInfos teamInfos, final Location location) {
|
||||
public WitchBoss(final TeamsInfos teamInfos, final Location location) {
|
||||
this.teamInfos = teamInfos;
|
||||
this.location = location;
|
||||
this.manager = WitchRush.get().getTeamManager();
|
||||
manager.getBossEntityMap().put(teamInfos, this);
|
||||
this.witch = (Witch) Bukkit.getWorld("world").spawnEntity(location, EntityType.WITCH);
|
||||
this.life = 50;
|
||||
this.life = 500;
|
||||
this.witch.setMaxHealth(this.life);
|
||||
this.witch.setHealth(this.life);
|
||||
this.witch.setCustomNameVisible(false);
|
||||
@@ -32,7 +32,7 @@ public class WitchBoss {
|
||||
this.witch.setCollidable(false);
|
||||
}
|
||||
|
||||
public TeamInfos getTeamInfos() {
|
||||
public TeamsInfos getTeamInfos() {
|
||||
return this.teamInfos;
|
||||
}
|
||||
|
||||
|
||||
30
WitchRush/src/main/resources/4x4.yml
Normal file
30
WitchRush/src/main/resources/4x4.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
#test
|
||||
|
||||
teams:
|
||||
bleu:
|
||||
x:
|
||||
y:
|
||||
z:
|
||||
yaw:
|
||||
pitch:
|
||||
|
||||
rouge:
|
||||
x:
|
||||
y:
|
||||
z:
|
||||
yaw:
|
||||
pitch:
|
||||
|
||||
jaune:
|
||||
x:
|
||||
y:
|
||||
z:
|
||||
yaw:
|
||||
pitch:
|
||||
|
||||
vert:
|
||||
x:
|
||||
y:
|
||||
z:
|
||||
yaw:
|
||||
pitch:
|
||||
2
WitchRush/src/main/resources/config.yml
Normal file
2
WitchRush/src/main/resources/config.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
game:
|
||||
mode: "4x4"
|
||||
@@ -5,5 +5,6 @@ main: net.berrygames.witchrush.WitchRush
|
||||
website: berrygames.net
|
||||
|
||||
commands:
|
||||
game:
|
||||
test:
|
||||
gamestart:
|
||||
setlocation:
|
||||
aliases: [setloc, loc]
|
||||
Reference in New Issue
Block a user