A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy
blob: 295d6c924ed09206d0744b43f65cff7b24771d5e (2365 bytes)[doc][blame][raw]
1
package de.typable.minecrafthub.game;3
import java.util.UUID;5
import org.bukkit.GameMode;6
import org.bukkit.Location;7
import org.bukkit.entity.Player;8
import org.bukkit.inventory.ItemStack;10
public class PlayerState11
{12
private UUID uuid;13
private Double health;14
private Integer foodLevel;15
private Integer level;16
private Float exp;17
private Location location;18
private GameMode gameMode;19
private ItemStack[] equipment;21
public static PlayerState of(Player player)22
{23
PlayerState playerState = new PlayerState();25
playerState.setUUID(player.getUniqueId());26
playerState.setHealth(player.getHealth());27
playerState.setFoodLevel(player.getFoodLevel());28
playerState.setLevel(player.getLevel());29
playerState.setExp(player.getExp());30
playerState.setLocation(player.getLocation());31
playerState.setGameMode(player.getGameMode());32
playerState.setEquipment(player.getInventory().getContents());34
return playerState;35
}37
public void apply(Player player)38
{39
if(!player.getUniqueId().equals(uuid))40
{41
throw new IllegalArgumentException("Only the player with the same UUID as the state can recieve it!");42
}44
player.setHealth(health);45
player.setFoodLevel(foodLevel);46
player.setLevel(level);47
player.setExp(exp);48
player.teleport(location);49
player.setGameMode(gameMode);50
player.getInventory().setContents(equipment);51
// equipment52
}54
public UUID getUUID()55
{56
return uuid;57
}59
public void setUUID(UUID uuid)60
{61
this.uuid = uuid;62
}64
public Double getHealth()65
{66
return health;67
}69
public void setHealth(Double health)70
{71
this.health = health;72
}74
public Integer getFoodLevel()75
{76
return foodLevel;77
}79
public void setFoodLevel(Integer foodLevel)80
{81
this.foodLevel = foodLevel;82
}84
public Integer getLevel()85
{86
return level;87
}89
public void setLevel(Integer level)90
{91
this.level = level;92
}94
public Float getExp()95
{96
return exp;97
}99
public void setExp(Float exp)100
{101
this.exp = exp;102
}104
public Location getLocation()105
{106
return location;107
}109
public void setLocation(Location location)110
{111
this.location = location;112
}114
public GameMode getGameMode()115
{116
return gameMode;117
}119
public void setGameMode(GameMode gameMode)120
{121
this.gameMode = gameMode;122
}124
public ItemStack[] getEquipment()125
{126
return equipment;127
}129
public void setEquipment(ItemStack[] equipment)130
{131
this.equipment = equipment;132
}133
}