Skip to content

Commit 7200e94

Browse files
authoredDec 8, 2024··
Add equals and hashCode functions for Player class (#629)
* Add `equals` and `hashCode` functions for Player class * Fix up the extending classes
·
v5.11v5.6
1 parent 124cbc6 commit 7200e94

File tree

7 files changed

+29
-18
lines changed

7 files changed

+29
-18
lines changed
 

‎common/src/main/java/de/bluecolored/bluemap/common/serverinterface/Player.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,49 +29,60 @@
2929

3030
import java.util.UUID;
3131

32-
public interface Player {
32+
public abstract class Player {
3333

34-
UUID getUuid();
34+
public abstract UUID getUuid();
3535

36-
Text getName();
36+
public abstract Text getName();
3737

38-
ServerWorld getWorld();
38+
public abstract ServerWorld getWorld();
3939

40-
Vector3d getPosition();
40+
public abstract Vector3d getPosition();
4141

4242
/**
4343
* x -> pitch, y -> yaw, z -> roll
4444
*/
45-
Vector3d getRotation();
45+
public abstract Vector3d getRotation();
4646

47-
int getSkyLight();
47+
public abstract int getSkyLight();
4848

49-
int getBlockLight();
49+
public abstract int getBlockLight();
5050

5151
/**
5252
* Return <code>true</code> if the player is sneaking.
5353
* <p><i>If the player is offline the value of this method is undetermined.</i></p>
5454
*/
55-
boolean isSneaking();
55+
public abstract boolean isSneaking();
5656

5757
/**
5858
* Returns <code>true</code> if the player has an invisibillity effect
5959
* <p><i>If the player is offline the value of this method is undetermined.</i></p>
6060
*/
61-
boolean isInvisible();
61+
public abstract boolean isInvisible();
6262

6363
/**
6464
* Returns <code>true</code> if the player is vanished
6565
* <p><i>If the player is offline the value of this method is undetermined.</i></p>
6666
*/
67-
default boolean isVanished() {
67+
public boolean isVanished() {
6868
return false;
6969
}
7070

7171
/**
7272
* Returns the {@link Gamemode} this player is in
7373
* <p><i>If the player is offline the value of this method is undetermined.</i></p>
7474
*/
75-
Gamemode getGamemode();
75+
public abstract Gamemode getGamemode();
7676

77+
@Override
78+
public boolean equals(Object o) {
79+
if (o == null || getClass() != o.getClass()) return false;
80+
Player other = (Player) o;
81+
return getUuid().equals(other.getUuid());
82+
}
83+
84+
@Override
85+
public int hashCode() {
86+
return getUuid().hashCode();
87+
}
7788
}

‎implementations/fabric/src/main/java/de/bluecolored/bluemap/fabric/FabricPlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import java.util.Map;
4242
import java.util.UUID;
4343

44-
public class FabricPlayer implements Player {
44+
public class FabricPlayer extends Player {
4545

4646
private static final Map<GameMode, Gamemode> GAMEMODE_MAP = new EnumMap<>(GameMode.class);
4747
static {

‎implementations/forge/src/main/java/de/bluecolored/bluemap/forge/ForgePlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import java.util.Map;
4343
import java.util.UUID;
4444

45-
public class ForgePlayer implements Player {
45+
public class ForgePlayer extends Player {
4646

4747
private static final Map<GameType, Gamemode> GAMEMODE_MAP = new EnumMap<>(GameType.class);
4848
static {

‎implementations/neoforge/src/main/java/de/bluecolored/bluemap/forge/ForgePlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import java.util.Map;
4343
import java.util.UUID;
4444

45-
public class ForgePlayer implements Player {
45+
public class ForgePlayer extends Player {
4646

4747
private static final Map<GameType, Gamemode> GAMEMODE_MAP = new EnumMap<>(GameType.class);
4848
static {

‎implementations/paper/src/main/java/de/bluecolored/bluemap/bukkit/BukkitPlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
import java.util.*;
4040

41-
public class BukkitPlayer implements Player {
41+
public class BukkitPlayer extends Player {
4242

4343
private static final Map<GameMode, Gamemode> GAMEMODE_MAP = new EnumMap<>(GameMode.class);
4444
static {

‎implementations/spigot/src/main/java/de/bluecolored/bluemap/bukkit/BukkitPlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
import java.util.Map;
4040
import java.util.UUID;
4141

42-
public class BukkitPlayer implements Player {
42+
public class BukkitPlayer extends Player {
4343

4444
private static final Map<GameMode, Gamemode> GAMEMODE_MAP = new EnumMap<>(GameMode.class);
4545
static {

‎implementations/sponge/src/main/java/de/bluecolored/bluemap/sponge/SpongePlayer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
import java.util.*;
4343

44-
public class SpongePlayer implements Player {
44+
public class SpongePlayer extends Player {
4545

4646
private static final Map<GameMode, Gamemode> GAMEMODE_MAP = new HashMap<>(5);
4747
static {

0 commit comments

Comments
 (0)