2020-04-24 03:25:58 +02:00
|
|
|
package net.minestom.server.entity;
|
2019-08-03 15:25:24 +02:00
|
|
|
|
2020-10-21 16:26:55 +02:00
|
|
|
/**
|
|
|
|
* Represents the game mode of a player.
|
|
|
|
* <p>
|
|
|
|
* Can be set with {@link Player#setGameMode(GameMode)}.
|
|
|
|
*/
|
2019-08-03 15:25:24 +02:00
|
|
|
public enum GameMode {
|
|
|
|
|
2020-04-27 20:33:08 +02:00
|
|
|
SURVIVAL((byte) 0, true), CREATIVE((byte) 1, false), ADVENTURE((byte) 2, true), SPECTATOR((byte) 3, false);
|
2019-08-03 15:25:24 +02:00
|
|
|
|
2020-09-24 01:50:25 +02:00
|
|
|
private final byte id;
|
2019-08-03 15:25:24 +02:00
|
|
|
private boolean hardcore;
|
2020-09-24 01:50:25 +02:00
|
|
|
private final boolean canTakeDamage;
|
2019-08-03 15:25:24 +02:00
|
|
|
|
2020-04-27 20:33:08 +02:00
|
|
|
GameMode(byte id, boolean canTakeDamage) {
|
2019-08-03 15:25:24 +02:00
|
|
|
this.id = id;
|
2020-04-27 20:33:08 +02:00
|
|
|
this.canTakeDamage = canTakeDamage;
|
2019-08-03 15:25:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setHardcore(boolean hardcore) {
|
|
|
|
this.hardcore = hardcore;
|
|
|
|
}
|
|
|
|
|
|
|
|
public byte getId() {
|
|
|
|
return id;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isHardcore() {
|
|
|
|
return hardcore;
|
|
|
|
}
|
2020-04-27 20:33:08 +02:00
|
|
|
|
|
|
|
public boolean canTakeDamage() {
|
|
|
|
return canTakeDamage;
|
|
|
|
}
|
2019-08-03 15:25:24 +02:00
|
|
|
}
|