Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.zwap1233.HardCoreGames.Listeners;
- import java.util.HashSet;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import me.zwap1233.HardCoreGames.Game;
- import me.zwap1233.HardCoreGames.HardCoreGames;
- import me.zwap1233.HardCoreGames.Mannager.TaskMannager;
- import me.zwap1233.HardCoreGames.Task.PlayerRestoreTask;
- public class OnDead {
- Game game;
- HashSet<Player> players = new HashSet<Player>();
- Player body;
- HashSet<Player> playerleft = new HashSet<Player>();
- public OnDead(Game game){
- this.game = game;
- }
- @EventHandler
- public void onDead(PlayerDeathEvent event){
- body = event.getEntity();
- if (game == null){
- return;
- }
- game.RemovePlayer(body);
- if(game.getPlayers().size() == 1){
- game.sendMessageToAllPlayers(game, 1,"You won");
- Player player = game.getPlayers().iterator().next();
- TaskMannager mannager = new TaskMannager();
- PlayerRestoreTask task = new PlayerRestoreTask(game,body);
- mannager.CreateSyncDelayedTask(task, 1L);
- PlayerRestoreTask task2 = new PlayerRestoreTask(game,player);
- mannager.CreateSyncDelayedTask(task2, 1L);
- HardCoreGames.getPlugin().BroadCastMessage("The " + game.getName() + " has end");
- } else {
- TaskMannager mannager = new TaskMannager();
- PlayerRestoreTask task = new PlayerRestoreTask(game,body);
- mannager.CreateSyncDelayedTask(task, 1L);
- }
- }
- }
- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- package me.zwap1233.HardCoreGames.Task;
- import java.util.HashSet;
- import java.util.Iterator;
- import me.zwap1233.HardCoreGames.Game;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.PlayerInventory;
- public class PlayerRestoreTask extends Task {
- PlayerInventory[] inventory;
- PlayerInventory inventoryTmp;
- static int[] food;
- static int[] experience;
- static int[] level;
- static int[] health;
- static String[] mode;
- Game game;
- Player bodyA;
- Location[] loc;
- public PlayerRestoreTask(Game game,Player body){
- this.game = game;
- bodyA = body;
- }
- @Override
- public void run(){
- InvenRestore(game,bodyA);
- OtherRestore(game,bodyA);
- }
- public void InvenRestore(Game game,Player body){
- HashSet<Player> player = new HashSet<Player>();
- player = game.getPlayers();
- Iterator<Player> i = player.iterator();
- int a = game.getPlayers().size();
- int b = 0;
- while(b < a){
- if (i.next().equals(body)){
- inventoryTmp = i.next().getInventory();
- inventoryTmp.equals(inventory[b]);
- }
- b++;
- }
- }
- public void OtherRestore(Game game,Player body){
- int a = game.getPlayers().size();
- HashSet<Player> player = new HashSet<Player>();
- player = game.getPlayers();
- Iterator<Player> i = player.iterator();
- int b = 0;
- while(b < a && i.hasNext()){
- if (i.next().equals(body)){
- body.setFoodLevel(food[b]);
- body.setTotalExperience(experience[b]);
- body.setLevel(level[b]);
- body.setHealth(health[b]);
- if (mode[b] == "CREATIVE"){
- body.setGameMode(GameMode.CREATIVE);
- } else if(mode[b] == "SURVIVAL"){
- body.setGameMode(GameMode.SURVIVAL);
- }
- }
- b++;
- }
- }
- public static void setOther(int[] food2,int[] experience2,int[] level2,int[] health2,String[] mode2){
- food = food2;
- experience = experience2;
- level = level2;
- health = health2;
- mode = mode2;
- }
- public void LocationRestore(Game game,Player body){
- loc = PlayerResetTask.getLocation();
- loc = new Location[PlayerResetTask.getLocation().length];
- HashSet<Player> player = new HashSet<Player>();
- player = game.getPlayers();
- Iterator<Player> i = player.iterator();
- int a = game.getPlayers().size();
- int b = 0;
- while (b < a && i.hasNext()){
- if (i.next().equals(body)){
- body.teleport(loc[b]);
- }
- b++;
- }
- }
- }
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- package me.zwap1233.HardCoreGames.Task;
- import java.util.HashSet;
- import java.util.Iterator;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.PlayerInventory;
- import me.zwap1233.HardCoreGames.Game;
- public class PlayerResetTask extends Task{
- PlayerInventory[] inventory;
- PlayerInventory inventoryNew;
- PlayerInventory inventoryTmp;
- int[] food;
- int[] experience;
- int[] level;
- int[] health;
- Game game;
- String[] mode;
- static Location[] loc;
- public PlayerResetTask(Game game){
- this.game = game;
- }
- @Override
- public void run(){
- InvenReset(game);
- OtherReset(game);
- LocationReset(game);
- }
- public void InvenReset(Game game){
- HashSet<Player> player = new HashSet<Player>();
- player = game.getPlayers();
- Iterator<Player> i = player.iterator();
- int a = game.getPlayers().size();
- inventory = new PlayerInventory[a];
- int b = 0;
- while(b < a && i.hasNext()){
- Player playerw = i.next();
- inventory[b] = playerw.getInventory();
- inventoryNew = playerw.getInventory();
- inventoryNew.clear();
- b++;
- }
- }
- public void OtherReset(Game game){
- HashSet<Player> player = new HashSet<Player>();
- player = game.getPlayers();
- Iterator<Player> i = player.iterator();
- int a = game.getPlayers().size();
- food = new int[a];
- experience = new int[a];
- level = new int[a];
- health = new int[a];
- mode = new String[a];
- int b = 0;
- while(b < a && i.hasNext()){
- Player playerd = i.next();
- level[b] = playerd.getLevel();
- food[b] = playerd.getFoodLevel();
- experience[b] = playerd.getTotalExperience();
- health[b] = playerd.getHealth();
- mode[b] = playerd.getGameMode().name();
- PlayerRestoreTask.setOther(food,experience,level,health,mode);
- playerd.setFoodLevel(20);
- playerd.setTotalExperience(0);
- playerd.setLevel(0);
- playerd.setHealth(20);
- playerd.setGameMode(GameMode.SURVIVAL);
- b++;
- }
- }
- public void LocationReset(Game game){
- Player[] player = game.getPlayers().toArray(new Player[game.getPlayers().size()]);
- int a = game.getPlayers().size();
- int b = 0;
- loc = new Location[game.getPlayers().size()+1];
- while (b < a){
- loc[b] = player[b].getLocation();
- b++;
- }
- }
- public static Location[] getLocation(){
- return loc;
- }
- public PlayerInventory[] getInventory(){
- return inventory;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement