mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-25 12:05:53 +01:00
4d20922b79
* Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: e86f4dc4 PR-1041: Improve getPlayer(String) docs to clarify it matches the name 9738f005 Fix spawner API documentation 69ebd9fd PR-1034: Add TrialSpawnerSpawnEvent 23cffd9c PR-973: Improve spawner API and add API for Trial Spawners 8bf19163 PR-1038: Clarify HumanEntity#openInventory(InventoryView) JavaDoc 1ff76351 SPIGOT-7732, SPIGOT-7786: Add freezing damage modifier 02161cb4 PR-1034: Add CreatureSpawnEvent.SpawnReason#TRIAL_SPAWNER f9cb6f34 SPIGOT-7777: All entity potion effects are removed on death 25d548eb PR-1031: Expose Creeper igniter ccbf0915 SPIGOT-7770: Reserve spaces in shaped recipes for blank ingredients 17f7097c Clarify ambiguity around what is API 71714f0c Remove note from InventoryView JavaDoc aaf49731 PR-1030: Deprecate more unused methods in UnsafeValues 3a9dc689 SPIGOT-7771: Material.getDefaultAttributes always returns an empty map CraftBukkit Changes: c3ceeb6f7 SPIGOT-7814: Call PlayerShearEntityEvent for Bogged 97b1e4f58 Fix wolf armor not dropping from use of shears fd2ef563a SPIGOT-7812: Revert "SPIGOT-7809: Restore shield/banner conversion for base colours" f672c351b SPIGOT-7811: Enchantments are applied on sweeping attack even if damage event is cancelled cfe29350b SPIGOT-7808: Fix implementation of Enchantment#getName() for bad name return 19335f69e SPIGOT-7809: Restore shield/banner conversion for base colours ae4f5a0be SPIGOT-7805: Fix jukebox deserialization 62e3b73a4 SPIGOT-7804: Fix written book serialization aac911d26 SPIGOT-7800, SPIGOT-7801: Keep vanilla behaviour for items dropped on player death 13ece474f PR-1429: Implement TrialSpawnerSpawnEvent bf13e9113 PR-1354: Improve spawner API and add API for Trial Spawners 515fe49e1 Increase outdated build delay 9cd5a19a0 SPIGOT-7794: Cancelling InventoryItemMoveEvent destroys items ce40c7b14 SPIGOT-7796: Kickplayer newlines not working 5167256ff SPIGOT-7795: Fix damage/stats ignore the invulnerable damage time f993563ee Improve cross-world teleportation handling ab29122cf PR-1433: HumanEntity#openInventory(InventoryView) should only support views belonging to the player 764a541c5 SPIGOT-7732: Issue with the "hurt()" method of EntityLiving and invulnerable time 820084b5f SPIGOT-7791: Skull BlockState with null profile causes NullPointerException 5e46f1c82 SPIGOT-7785: Teleporting a player at the right moment can mess up vanilla teleportation cbd95a6b3 SPIGOT-7772: Include hidden / non-sampled players in player count 3153debc5 SPIGOT-7790: Server crashes after bee nest is forced to update e77bb26bb SPIGOT-7788: The healing power of friendship advancement is never granted ee3d7258a SPIGOT-7789: Fix NPE in CraftMetaFirework applyToItem 2889b3a11 PR-1429: Add CreatureSpawnEvent.SpawnReason#TRIAL_SPAWNER cdd05bc7f SPIGOT-7777: Speed attribute stays after death; missing EntityPotionEffectEvent call d0e6af2d4 PR-1428: Expose Creeper igniter d01c70e93 PR-1425: Fix bytecode transformation taking care of class-to-interface compatibility. b2b08f68c SPIGOT-7770: Fix certain shaped recipes not registering 3f8e4161f PR-1426: Deprecate more unused methods in UnsafeValues 2c9dd879e SPIGOT-7771: Material.getDefaultAttributes always returns an empty map Spigot Changes: 491f3675 Rebuild patches 0a642bd7 Rebuild patches 8897571b Rebuild patches cb8cf80c Fix newlines in custom restart message 1aabe506 Rebuild patches
352 lines
19 KiB
Diff
352 lines
19 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Tue, 4 Jul 2023 11:27:10 -0700
|
|
Subject: [PATCH] Fix BanList API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
index 8caee0181f256e2ffd4e880274859eaf5f81ae96..4d654c4f0b6210a9841427789ba70ce5d1d308be 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
|
@@ -115,17 +115,17 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Date expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Date expires, String source) { // Paper - fix ban list API
|
|
return ((ProfileBanList) this.server.getBanList(BanList.Type.PROFILE)).addBan(this.getPlayerProfile(), reason, expires, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Instant expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Instant expires, String source) { // Paper - fix ban list API
|
|
return ((ProfileBanList) this.server.getBanList(BanList.Type.PROFILE)).addBan(this.getPlayerProfile(), reason, expires, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Duration duration, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Duration duration, String source) { // Paper - fix ban list API
|
|
return ((ProfileBanList) this.server.getBanList(BanList.Type.PROFILE)).addBan(this.getPlayerProfile(), reason, duration, source);
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanEntry.java b/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanEntry.java
|
|
index 13e5e44b069121e51b9486c445902937f1d6c6d8..4a37c8172b42b10472bb90c9310c7ae3eeaa3481 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanEntry.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanEntry.java
|
|
@@ -9,7 +9,7 @@ import org.bukkit.BanEntry;
|
|
import org.bukkit.craftbukkit.profile.CraftPlayerProfile;
|
|
import org.bukkit.profile.PlayerProfile;
|
|
|
|
-public final class CraftProfileBanEntry implements BanEntry<PlayerProfile> {
|
|
+public final class CraftProfileBanEntry implements BanEntry<com.destroystokyo.paper.profile.PlayerProfile> { // Paper
|
|
private static final Date minorDate = Date.from(Instant.parse("1899-12-31T04:00:00Z"));
|
|
private final UserBanList list;
|
|
private final GameProfile profile;
|
|
@@ -33,8 +33,8 @@ public final class CraftProfileBanEntry implements BanEntry<PlayerProfile> {
|
|
}
|
|
|
|
@Override
|
|
- public PlayerProfile getBanTarget() {
|
|
- return new CraftPlayerProfile(this.profile);
|
|
+ public com.destroystokyo.paper.profile.PlayerProfile getBanTarget() { // Paper
|
|
+ return new com.destroystokyo.paper.profile.CraftPlayerProfile(this.profile); // Paper
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanList.java b/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanList.java
|
|
index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57bb2b1424 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanList.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/ban/CraftProfileBanList.java
|
|
@@ -24,42 +24,80 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> getBanEntry(String target) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> getBanEntry(String target) { // Paper
|
|
Preconditions.checkArgument(target != null, "Target cannot be null");
|
|
|
|
return this.getBanEntry(CraftProfileBanList.getProfile(target));
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> getBanEntry(PlayerProfile target) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> getBanEntry(PlayerProfile target) { // Paper
|
|
Preconditions.checkArgument(target != null, "Target cannot be null");
|
|
|
|
- return this.getBanEntry(((CraftPlayerProfile) target).buildGameProfile());
|
|
+ return this.getBanEntry(((com.destroystokyo.paper.profile.SharedPlayerProfile) target).buildGameProfile()); // Paper
|
|
+ }
|
|
+ // Paper start - fix ban list API
|
|
+ @Override
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> getBanEntry(final com.destroystokyo.paper.profile.PlayerProfile target) {
|
|
+ Preconditions.checkArgument(target != null, "target cannot be null");
|
|
+
|
|
+ return this.getBanEntry(((com.destroystokyo.paper.profile.SharedPlayerProfile) target).buildGameProfile());
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(final com.destroystokyo.paper.profile.PlayerProfile target, final String reason, final Date expires, final String source) {
|
|
+ Preconditions.checkArgument(target != null, "PlayerProfile cannot be null");
|
|
+ Preconditions.checkArgument(target.getId() != null, "The PlayerProfile UUID cannot be null");
|
|
+
|
|
+ return this.addBan(((com.destroystokyo.paper.profile.SharedPlayerProfile) target).buildGameProfile(), reason, expires, source);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isBanned(final com.destroystokyo.paper.profile.PlayerProfile target) {
|
|
+ return this.isBanned((com.destroystokyo.paper.profile.SharedPlayerProfile) target);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void pardon(final com.destroystokyo.paper.profile.PlayerProfile target) {
|
|
+ this.pardon((com.destroystokyo.paper.profile.SharedPlayerProfile) target);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> addBan(String target, String reason, Date expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(final com.destroystokyo.paper.profile.PlayerProfile target, final String reason, final Instant expires, final String source) {
|
|
+ Date date = expires != null ? Date.from(expires) : null;
|
|
+ return this.addBan(target, reason, date, source);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(final com.destroystokyo.paper.profile.PlayerProfile target, final String reason, final Duration duration, final String source) {
|
|
+ Instant instant = duration != null ? Instant.now().plus(duration) : null;
|
|
+ return this.addBan(target, reason, instant, source);
|
|
+ }
|
|
+ // Paper end - fix ban list API
|
|
+
|
|
+ @Override
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(String target, String reason, Date expires, String source) { // Paper - fix ban list API
|
|
Preconditions.checkArgument(target != null, "Ban target cannot be null");
|
|
|
|
return this.addBan(CraftProfileBanList.getProfileByName(target), reason, expires, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> addBan(PlayerProfile target, String reason, Date expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(PlayerProfile target, String reason, Date expires, String source) { // Paper - fix ban list API
|
|
Preconditions.checkArgument(target != null, "PlayerProfile cannot be null");
|
|
Preconditions.checkArgument(target.getUniqueId() != null, "The PlayerProfile UUID cannot be null");
|
|
|
|
- return this.addBan(((CraftPlayerProfile) target).buildGameProfile(), reason, expires, source);
|
|
+ return this.addBan(((com.destroystokyo.paper.profile.SharedPlayerProfile) target).buildGameProfile(), reason, expires, source); // Paper
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> addBan(PlayerProfile target, String reason, Instant expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(PlayerProfile target, String reason, Instant expires, String source) { // Paper - fix ban list API
|
|
Date date = expires != null ? Date.from(expires) : null;
|
|
return this.addBan(target, reason, date, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> addBan(PlayerProfile target, String reason, Duration duration, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(PlayerProfile target, String reason, Duration duration, String source) { // Paper - fix ban list API
|
|
Instant instant = duration != null ? Instant.now().plus(duration) : null;
|
|
return this.addBan(target, reason, instant, source);
|
|
}
|
|
@@ -76,8 +114,8 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
}
|
|
|
|
@Override
|
|
- public Set<BanEntry<PlayerProfile>> getEntries() {
|
|
- ImmutableSet.Builder<BanEntry<PlayerProfile>> builder = ImmutableSet.builder();
|
|
+ public Set<BanEntry<com.destroystokyo.paper.profile.PlayerProfile>> getEntries() { // Paper
|
|
+ ImmutableSet.Builder<BanEntry<com.destroystokyo.paper.profile.PlayerProfile>> builder = ImmutableSet.builder(); // Paper
|
|
for (UserBanListEntry entry : this.list.getEntries()) {
|
|
GameProfile profile = entry.getUser();
|
|
builder.add(new CraftProfileBanEntry(profile, entry, this.list));
|
|
@@ -88,9 +126,14 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
|
|
@Override
|
|
public boolean isBanned(PlayerProfile target) {
|
|
+ // Paper start
|
|
+ return this.isBanned((com.destroystokyo.paper.profile.SharedPlayerProfile) target);
|
|
+ }
|
|
+ private boolean isBanned(com.destroystokyo.paper.profile.SharedPlayerProfile target) {
|
|
+ // Paper end
|
|
Preconditions.checkArgument(target != null, "Target cannot be null");
|
|
|
|
- return this.isBanned(((CraftPlayerProfile) target).buildGameProfile());
|
|
+ return this.isBanned(target.buildGameProfile()); // Paper
|
|
}
|
|
|
|
@Override
|
|
@@ -102,9 +145,14 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
|
|
@Override
|
|
public void pardon(PlayerProfile target) {
|
|
+ // Paper start
|
|
+ this.pardon((com.destroystokyo.paper.profile.SharedPlayerProfile) target);
|
|
+ }
|
|
+ private void pardon(com.destroystokyo.paper.profile.SharedPlayerProfile target) {
|
|
+ // Paper end
|
|
Preconditions.checkArgument(target != null, "Target cannot be null");
|
|
|
|
- this.pardon(((CraftPlayerProfile) target).buildGameProfile());
|
|
+ this.pardon(target.buildGameProfile()); // Paper
|
|
}
|
|
|
|
@Override
|
|
@@ -114,7 +162,7 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
this.pardon(CraftProfileBanList.getProfile(target));
|
|
}
|
|
|
|
- public BanEntry<PlayerProfile> getBanEntry(GameProfile profile) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> getBanEntry(GameProfile profile) { // Paper
|
|
if (profile == null) {
|
|
return null;
|
|
}
|
|
@@ -127,7 +175,7 @@ public class CraftProfileBanList implements ProfileBanList {
|
|
return new CraftProfileBanEntry(profile, entry, this.list);
|
|
}
|
|
|
|
- public BanEntry<PlayerProfile> addBan(GameProfile profile, String reason, Date expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> addBan(GameProfile profile, String reason, Date expires, String source) { // Paper
|
|
if (profile == null) {
|
|
return null;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index 7cd9b17e1863a369b578bc2a22d892246e7a02b9..49e22acbcdcdb2108b360c2a6e40c752c12ab9f6 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -1747,23 +1747,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Date expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Date expires, String source) { // Paper - fix ban list API
|
|
return this.ban(reason, expires, source, true);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Instant expires, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Instant expires, String source) { // Paper - fix ban list API
|
|
return this.ban(reason, expires != null ? Date.from(expires) : null, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Duration duration, String source) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Duration duration, String source) { // Paper - fix ban list API
|
|
return this.ban(reason, duration != null ? Instant.now().plus(duration) : null, source);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Date expires, String source, boolean kickPlayer) {
|
|
- BanEntry<PlayerProfile> banEntry = ((ProfileBanList) this.server.getBanList(BanList.Type.PROFILE)).addBan(this.getPlayerProfile(), reason, expires, source);
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Date expires, String source, boolean kickPlayer) { // Paper - fix ban list API
|
|
+ BanEntry<com.destroystokyo.paper.profile.PlayerProfile> banEntry = ((ProfileBanList) this.server.getBanList(BanList.Type.PROFILE)).addBan(this.getPlayerProfile(), reason, expires, source); // Paper - fix ban list API
|
|
if (kickPlayer) {
|
|
this.kickPlayer(reason);
|
|
}
|
|
@@ -1771,12 +1771,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Instant instant, String source, boolean kickPlayer) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Instant instant, String source, boolean kickPlayer) { // Paper - fix ban list API
|
|
return this.ban(reason, instant != null ? Date.from(instant) : null, source, kickPlayer);
|
|
}
|
|
|
|
@Override
|
|
- public BanEntry<PlayerProfile> ban(String reason, Duration duration, String source, boolean kickPlayer) {
|
|
+ public BanEntry<com.destroystokyo.paper.profile.PlayerProfile> ban(String reason, Duration duration, String source, boolean kickPlayer) { // Paper - fix ban list API
|
|
return this.ban(reason, duration != null ? Instant.now().plus(duration) : null, source, kickPlayer);
|
|
}
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
|
|
index ce30a8853d5095ce5bf1ec902b41d27db9e35b4f..0121c90dd7f57be5f484f970f78747a92a734611 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
|
|
@@ -28,7 +28,7 @@ import org.bukkit.profile.PlayerProfile;
|
|
import org.bukkit.profile.PlayerTextures;
|
|
|
|
@SerializableAs("PlayerProfile")
|
|
-public final class CraftPlayerProfile implements PlayerProfile, com.destroystokyo.paper.profile.SharedPlayerProfile { // Paper
|
|
+public final class CraftPlayerProfile implements PlayerProfile, com.destroystokyo.paper.profile.SharedPlayerProfile, com.destroystokyo.paper.profile.PlayerProfile { // Paper
|
|
|
|
@Nonnull
|
|
public static GameProfile validateSkullProfile(@Nonnull GameProfile gameProfile) {
|
|
@@ -137,7 +137,7 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky
|
|
}
|
|
|
|
@Override
|
|
- public CompletableFuture<PlayerProfile> update() {
|
|
+ public CompletableFuture update() { // Paper - have to remove generic to avoid clashing between bukkit.PlayerProfile and paper.PlayerProfile
|
|
return CompletableFuture.supplyAsync(this::getUpdatedProfile, Util.PROFILE_EXECUTOR); // Paper - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread
|
|
}
|
|
|
|
@@ -291,4 +291,71 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky
|
|
// Paper - diff on change
|
|
return profile;
|
|
}
|
|
+
|
|
+ // Paper start - This must implement our PlayerProfile so generic casts succeed from cb.CraftPlayerProfile to paper.PlayerProfile
|
|
+ // The methods don't actually have to be implemented, because the profile should immediately be cast to SharedPlayerProfile
|
|
+ @Override
|
|
+ public String setName(final String name) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public UUID getId() {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public UUID setId(final UUID uuid) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public java.util.Set<com.destroystokyo.paper.profile.ProfileProperty> getProperties() {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean hasProperty(final String property) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setProperty(final com.destroystokyo.paper.profile.ProfileProperty property) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setProperties(final java.util.Collection<com.destroystokyo.paper.profile.ProfileProperty> properties) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void clearProperties() {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean completeFromCache() {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean completeFromCache(final boolean onlineMode) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean completeFromCache(final boolean lookupUUID, final boolean onlineMode) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean complete(final boolean textures) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean complete(final boolean textures, final boolean onlineMode) {
|
|
+ throw new UnsupportedOperationException("Do not cast to com.destroystokyo.paper.profile.PlayerProfile");
|
|
+ }
|
|
}
|