mirror of
https://github.com/ArthurDanjou/WitchRush.git
synced 2026-01-14 12:14:39 +01:00
Added Team system & Guis
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package net.berrygames.witchrush;
|
||||
|
||||
import net.berrygames.witchrush.game.GameState;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.tools.ItemFactory;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import org.bukkit.Color;
|
||||
@@ -25,8 +26,8 @@ public class WitchPlayer {
|
||||
public WitchPlayer(Player player) {
|
||||
this.player = player;
|
||||
this.spectator =
|
||||
(WitchRush.get().getState().equals(GameState.WAITING) ||
|
||||
WitchRush.get().getState().equals(GameState.WAITING)) ? false : true;
|
||||
!WitchRush.get().getState().equals(GameState.WAITING) &&
|
||||
!WitchRush.get().getState().equals(GameState.WAITING);
|
||||
this.kills = 0;
|
||||
this.death = 0;
|
||||
}
|
||||
@@ -39,6 +40,22 @@ public class WitchPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
public Locations teleportToBase(){
|
||||
for(TeamInfos teamInfos : TeamInfos.values()){
|
||||
switch (teamInfos){
|
||||
case ROUGE:
|
||||
return Locations.PLAYER_SPAWN_ROUGE;
|
||||
case BLEU:
|
||||
return Locations.PLAYER_SPAWN_BLEU;
|
||||
case VERT:
|
||||
return Locations.PLAYER_SPAWN_VERT;
|
||||
case JAUNE:
|
||||
return Locations.PLAYER_SPAWN_JAUNE;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void giveStuff(){
|
||||
player.getInventory().clear();
|
||||
ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.berrygames.witchrush.game;
|
||||
import net.berrygames.witchrush.WitchPlayer;
|
||||
import net.berrygames.witchrush.WitchRush;
|
||||
import net.berrygames.witchrush.team.TeamInfos;
|
||||
import net.berrygames.witchrush.team.TeamManager;
|
||||
import net.berrygames.witchrush.tools.Locations;
|
||||
import net.berrygames.witchrush.tools.PNJSpawner;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -30,8 +31,16 @@ public class StartTask extends BukkitRunnable {
|
||||
}
|
||||
for(Player pls: Bukkit.getOnlinePlayers()){
|
||||
pls.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
//Join si il a pas de team
|
||||
if(WitchRush.get().getTeamManager().getPlayerTeam(pls) == null){
|
||||
WitchRush.get().getTeamManager().addPlayerInRandomTeam(pls);
|
||||
}
|
||||
|
||||
//Tp aux bases
|
||||
TeamInfos teamInfos = WitchRush.get().getTeamManager().getPlayerTeam(pls);
|
||||
WitchPlayer.get(pls).teleportToBase();
|
||||
}
|
||||
//TP Player
|
||||
|
||||
//Spawn SHOP
|
||||
new PNJSpawner("§6§lSHOP", TeamInfos.BLEU, Locations.SHOP_BLEU.getLocation());
|
||||
|
||||
@@ -17,6 +17,7 @@ public class ListenersManager {
|
||||
pm.registerEvents(new InteractEvent(), main);
|
||||
pm.registerEvents(new ChatEvent(), main);
|
||||
pm.registerEvents(new DeathEvent(), main);
|
||||
pm.registerEvents(new FoodLevel(), main);
|
||||
|
||||
// --- WORLD ---//
|
||||
pm.registerEvents(new WorldEvents(), main);
|
||||
|
||||
@@ -21,8 +21,10 @@ public class ChatEvent implements Listener {
|
||||
e.setFormat("§7[§6Global§7] §e%1$s §7» §f%2$s");
|
||||
} else if(witchPlayer.isSpectator()){
|
||||
for(WitchPlayer pls : WitchPlayer.getwitchMap().values()){
|
||||
if(pls.isSpectator()){
|
||||
e.setFormat("§7[Spectateur] §8%1$s §7» §e%2$s");
|
||||
for(Player players : Bukkit.getOnlinePlayers()){
|
||||
if(pls.isSpectator()){
|
||||
players.sendMessage("§7[Spectateur] §8%1$s §7» §e%2$s");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -35,7 +37,7 @@ public class ChatEvent implements Listener {
|
||||
final TeamInfos teamInfos = WitchRush.get().getTeamManager().getPlayerTeam(player);
|
||||
if(WitchRush.get().getTeamManager().getPlayerTeam(playerOnline).equals(teamInfos)){
|
||||
playerOnline.sendMessage("§7["+teamInfos.getChatColor()+teamInfos.getTeamName()+"§7] §e"
|
||||
+player.getDisplayName()+"§7» §f"+message.replaceFirst("!",""));
|
||||
+player.getDisplayName()+"§7» §f"+message.replace("!",""));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -90,6 +90,7 @@ public class InteractEvent implements Listener {
|
||||
player.sendMessage("retour au hub soon");
|
||||
break;
|
||||
default:break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class PlayerQuit implements Listener {
|
||||
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(
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockDamageEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.weather.WeatherChangeEvent;
|
||||
|
||||
public class WorldEvents implements Listener {
|
||||
|
||||
@@ -28,4 +29,9 @@ public class WorldEvents implements Listener {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onWeatherChange(final WeatherChangeEvent e) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.berrygames.witchrush.team;
|
||||
|
||||
import net.berrygames.witchrush.tools.WitchBoss;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -25,6 +25,7 @@ public class PNJSpawner {
|
||||
this.villager.setCustomName(this.name);
|
||||
this.villager.setCustomNameVisible(true);
|
||||
this.villager.setAI(false);
|
||||
this.villager.setSilent(false);
|
||||
this.villager.setCanPickupItems(false);
|
||||
this.villager.setCollidable(false);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ public class WitchBoss {
|
||||
this.witch.setHealth(this.life);
|
||||
this.witch.setCustomNameVisible(false);
|
||||
this.witch.setAI(false);
|
||||
this.witch.setSilent(false);
|
||||
this.witch.setCanPickupItems(false);
|
||||
this.witch.setCollidable(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user