so://phie

poppy

A feature-rich Minecraft plugin which enhances gaming experience
git clone git://soophie.de/poppy

blob: 295d6c924ed09206d0744b43f65cff7b24771d5e (2365 bytes)[doc][blame][raw]

1package de.typable.minecrafthub.game;

2

3import java.util.UUID;

4

5import org.bukkit.GameMode;

6import org.bukkit.Location;

7import org.bukkit.entity.Player;

8import org.bukkit.inventory.ItemStack;

9

10public class PlayerState

11{

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;

20

21 public static PlayerState of(Player player)

22 {

23 PlayerState playerState = new PlayerState();

24

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());

33

34 return playerState;

35 }

36

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 }

43

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 // equipment

52 }

53

54 public UUID getUUID()

55 {

56 return uuid;

57 }

58

59 public void setUUID(UUID uuid)

60 {

61 this.uuid = uuid;

62 }

63

64 public Double getHealth()

65 {

66 return health;

67 }

68

69 public void setHealth(Double health)

70 {

71 this.health = health;

72 }

73

74 public Integer getFoodLevel()

75 {

76 return foodLevel;

77 }

78

79 public void setFoodLevel(Integer foodLevel)

80 {

81 this.foodLevel = foodLevel;

82 }

83

84 public Integer getLevel()

85 {

86 return level;

87 }

88

89 public void setLevel(Integer level)

90 {

91 this.level = level;

92 }

93

94 public Float getExp()

95 {

96 return exp;

97 }

98

99 public void setExp(Float exp)

100 {

101 this.exp = exp;

102 }

103

104 public Location getLocation()

105 {

106 return location;

107 }

108

109 public void setLocation(Location location)

110 {

111 this.location = location;

112 }

113

114 public GameMode getGameMode()

115 {

116 return gameMode;

117 }

118

119 public void setGameMode(GameMode gameMode)

120 {

121 this.gameMode = gameMode;

122 }

123

124 public ItemStack[] getEquipment()

125 {

126 return equipment;

127 }

128

129 public void setEquipment(ItemStack[] equipment)

130 {

131 this.equipment = equipment;

132 }

133}