Avancement du Plugin

This commit is contained in:
BunSLaPatate
2018-09-14 16:40:51 +02:00
parent 1d483846c9
commit 2714efbba3
14 changed files with 154 additions and 22 deletions

View File

@@ -38,7 +38,9 @@ public class WitchPlayer {
}
public void giveStuff(){
player.getInventory().clear();
ItemStack sword = new ItemStack(Material.DIAMOND_SWORD);
player.getInventory().setItem(0, sword);
}
public void sendLobby(){
@@ -49,10 +51,6 @@ public class WitchPlayer {
}
public void applySpectator() {
}
public static WitchPlayer get(final Player player) {
if (WitchPlayer.witchMap.get(player) == null) {
WitchPlayer.witchMap.put(player, new WitchPlayer(player));

View File

@@ -57,6 +57,6 @@ public class WitchRush extends JavaPlugin {
}
public static String prefix(){
return "§5§lWitchRush §8§l\u258f §d";
return "§5§lWitchRush §d§l\u258f §d";
}
}

View File

@@ -0,0 +1,4 @@
package net.berrygames.witchrush.game;
public class DeathMatchTask {
}

View File

@@ -4,7 +4,7 @@ public enum GameState {
WAITING,
STARTING,
NOPVP,
NOWITCH,
PVP,
DEATH_MATCH,
FINISHING,

View File

@@ -4,7 +4,6 @@ import net.berrygames.witchrush.WitchRush;
import net.berrygames.witchrush.tools.Locations;
import net.berrygames.witchrush.tools.SpawnWitch;
import org.bukkit.Bukkit;
import org.bukkit.entity.Witch;
import org.bukkit.scheduler.BukkitRunnable;
public class NoPVPTask extends BukkitRunnable {
@@ -13,24 +12,18 @@ public class NoPVPTask extends BukkitRunnable {
@Override
public void run() {
WitchRush.get().setState(GameState.NOPVP);
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 !");
Bukkit.broadcastMessage(WitchRush.prefix()+"Les §6Witchs §dsont apparues, §d§nBonne chance à vous !");
new SpawnWitch("W", Locations.WITCH_ROUGE.getLocation()).spawn();
new SpawnWitch("W", Locations.WITCH_BLEU.getLocation()).spawn();
new SpawnWitch("W", Locations.WITCH_VERT.getLocation()).spawn();
new SpawnWitch("W", Locations.WITCH_JAUNE.getLocation()).spawn();
cancel();
}
timer--;
}
}

View File

@@ -9,6 +9,10 @@ public class PVPTask extends BukkitRunnable {
@Override
public void run() {
if(timer == 0){
new DeathMatchTask();
cancel();
}
timer--;
}

View File

@@ -1,9 +1,11 @@
package net.berrygames.witchrush.game;
import net.berrygames.witchrush.WitchPlayer;
import net.berrygames.witchrush.WitchRush;
import net.berrygames.witchrush.tools.Locations;
import net.berrygames.witchrush.tools.SpawnPNJ;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
@@ -16,10 +18,18 @@ public class StartTask extends BukkitRunnable {
if(timer == 0){
new NoPVPTask().runTaskTimer(WitchRush.get(), 0, 20);
WitchRush.get().setState(GameState.NOWITCH);
Bukkit.broadcastMessage(WitchRush.prefix()+"§dLa partie commence !");
Bukkit.broadcastMessage(WitchRush.prefix()+"§Vous avez §63minutes §dpour vous préparez.");
Bukkit.broadcastMessage(WitchRush.prefix()+"§dVous avez §63minutes §dpour vous préparez.");
cancel();
for(WitchPlayer witchPlayer : WitchPlayer.getwitchMap().values()){
witchPlayer.giveStuff();
}
for(Player pls: Bukkit.getOnlinePlayers()){
pls.setGameMode(GameMode.SURVIVAL);
}
//TP Player
//Spawn SHOP

View File

@@ -1,9 +1,7 @@
package net.berrygames.witchrush.listeners;
import net.berrygames.witchrush.WitchRush;
import net.berrygames.witchrush.listeners.players.InteractEvent;
import net.berrygames.witchrush.listeners.players.PlayerJoin;
import net.berrygames.witchrush.listeners.players.PlayerQuit;
import net.berrygames.witchrush.listeners.players.*;
import net.berrygames.witchrush.listeners.world.WorldEvents;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
@@ -17,6 +15,8 @@ public class ListenersManager {
pm.registerEvents(new PlayerJoin(), main);
pm.registerEvents(new PlayerQuit(), main);
pm.registerEvents(new InteractEvent(), main);
pm.registerEvents(new ChatEvent(), main);
pm.registerEvents(new DeathEvent(), main);
// --- WORLD ---//
pm.registerEvents(new WorldEvents(), main);

View File

@@ -0,0 +1,24 @@
package net.berrygames.witchrush.listeners.players;
import net.berrygames.witchrush.WitchPlayer;
import net.berrygames.witchrush.WitchRush;
import net.berrygames.witchrush.game.GameState;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class ChatEvent implements Listener {
@EventHandler
public void chat(AsyncPlayerChatEvent e){
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[§6Global§7] §e%1$s §7» §f%2$s");
}
}
}

View File

@@ -0,0 +1,37 @@
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.tools.DeadPlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
public class DeathEvent implements Listener {
@EventHandler
public void death(PlayerDeathEvent e) throws InterruptedException {
Player player = e.getEntity().getPlayer();
Player killer = e.getEntity().getKiller();
WitchPlayer witchPlayer = WitchPlayer.get(player);
WitchPlayer witchKiller = WitchPlayer.get(killer);
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 {
e.setDeathMessage(WitchRush.prefix()+"§e"+player.getName()+"§d a été tué par §e"+ killer.getName());
new DeadPlayer(player);
player.setHealth(20);
killer.sendMessage("§dVous avez tué §e"+player.getName());
witchKiller.setKills(witchKiller.getKills()+1);
player.sendMessage("§e"+killer.getName()+" §dvous avez tué");
witchPlayer.setDeath(witchPlayer.getDeath()+1);
}
}
}

View File

@@ -2,6 +2,7 @@ package net.berrygames.witchrush.listeners.players;
import net.berrygames.witchrush.WitchRush;
import net.berrygames.witchrush.game.GameState;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -40,11 +41,18 @@ public class InteractEvent implements Listener {
e.setCancelled(true);
}
if(e.getRightClicked().getName().equals("S")){
e.setCancelled(true);
player.sendMessage("s");
}
if(e.getRightClicked().getName().equals("U")){
e.setCancelled(true);
player.sendMessage("u");
}
if(e.getRightClicked().getType().equals(EntityType.WITCH)){
//detect player's witch
//damage other witch
}
}
}

View File

@@ -26,7 +26,7 @@ public class PlayerJoin implements Listener {
"§8/§d16§7)");
player.sendTitle("§5WitchRush", "§DLe rush avec des Witchs");
player.getInventory().clear();
player.setGameMode(GameMode.ADVENTURE);
player.setLevel(0);
player.setHealth(20);

View File

@@ -0,0 +1,55 @@
package net.berrygames.witchrush.tools;
import net.berrygames.witchrush.WitchPlayer;
import net.berrygames.witchrush.WitchRush;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitTask;
public class DeadPlayer {
private Player player;
private WitchPlayer witchPlayer;
private int timer = 5;
private BukkitTask task;
//team
public DeadPlayer(Player player) {
this.player = player;
this.witchPlayer = WitchPlayer.get(player);
this.witchPlayer.setSpectator(true);
becomeSpec();
}
private void becomeSpec(){
player.setGameMode(GameMode.SPECTATOR);
witchPlayer.teleportPlayer();
sendTitle();
}
private void sendTitle(){
player.sendTitle("§cVous êtes mort", null);
task = Bukkit.getScheduler().runTaskTimer(WitchRush.get(), new Runnable() {
@Override
public void run() {
if(timer == 0){
player.sendTitle("§cVous êtes mort", "§c§oRespawn...");
respawn();
Bukkit.getScheduler().cancelTask(task.getTaskId());
}
player.sendTitle("§cVous êtes mort", "§c§oRespawn dans "+timer+"...");
timer--;
}
}, 20, 20);
}
private void respawn(){
witchPlayer.setSpectator(false);
player.setGameMode(GameMode.SURVIVAL);
//TP BASE EQUIPE
witchPlayer.giveStuff();
}
}

View File

@@ -22,7 +22,6 @@ public class SpawnWitch {
w.setCustomNameVisible(true);
w.setSilent(true);
w.setGravity(false);
w.setInvulnerable(true);
});
}