Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adventure Pointers #5708

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
45 changes: 36 additions & 9 deletions Spigot-Server-Patches/0010-Adventure.patch
Original file line number Diff line number Diff line change
Expand Up @@ -2124,10 +2124,18 @@ index 816f2cbebe849a9d9533f985298bcd5d36f660eb..24e856473a0050c0b097c17977635037
player.activeContainer.addSlotListener(player);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f652e0b42d 100644
index b51a874e4665f977a154792e6216e03e04525f39..15754c93101eb7a289361bd7dc5f5d2ba70c9f1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -240,14 +240,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -137,6 +137,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double health = 20;
private boolean scaledHealth = false;
private double healthScale = 20;
+ private net.kyori.adventure.permission.PermissionChecker adventure$permissions; // Paper

public CraftPlayer(CraftServer server, EntityPlayer entity) {
super(server, entity);
@@ -240,14 +241,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

@Override
public String getDisplayName() {
Expand Down Expand Up @@ -2167,7 +2175,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
@Override
public String getPlayerListName() {
return getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(getHandle().listName);
@@ -266,35 +291,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -266,35 +292,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}

Expand Down Expand Up @@ -2211,7 +2219,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
updatePlayerListHeaderFooter();
}

@@ -302,8 +327,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -302,8 +328,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (getHandle().playerConnection == null) return;

PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();
Expand All @@ -2222,7 +2230,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
getHandle().playerConnection.sendPacket(packet);
}

@@ -335,6 +360,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -335,6 +361,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().playerConnection.disconnect(message == null ? "" : message);
}

Expand All @@ -2240,7 +2248,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
@Override
public void setCompassTarget(Location loc) {
if (getHandle().playerConnection == null) return;
@@ -561,6 +597,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -561,6 +598,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().playerConnection.sendPacket(packet);
}

Expand Down Expand Up @@ -2278,7 +2286,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
@Override
public void sendSignChange(Location loc, String[] lines) {
sendSignChange(loc, lines, DyeColor.BLACK);
@@ -583,12 +650,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -583,12 +651,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}

IChatBaseComponent[] components = CraftSign.sanitizeLines(lines);
Expand All @@ -2294,7 +2302,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
}

@Override
@@ -1688,6 +1756,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1688,6 +1757,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : getHandle().clientViewDistance;
}

Expand All @@ -2307,7 +2315,7 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
@Override
public int getPing() {
return getHandle().ping;
@@ -1716,6 +1790,138 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1716,6 +1791,157 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getInventory().setItemInMainHand(hand);
}

Expand All @@ -2324,6 +2332,25 @@ index b51a874e4665f977a154792e6216e03e04525f39..6ab14bccb1fcd108931bf7ec331e60f6
+ }
+
+ @Override
+ @SuppressWarnings("unchecked") // safe casts
+ public <T> java.util.Optional<T> get(final net.kyori.adventure.pointer.Pointer<T> pointer) {
+ if (pointer == net.kyori.adventure.identity.Identity.NAME) {
+ return java.util.Optional.of((T) this.getProfile().getName());
+ } else if (pointer == net.kyori.adventure.identity.Identity.DISPLAY_NAME) {
+ return java.util.Optional.of((T) this.displayName());
+ } else if (pointer == net.kyori.adventure.identity.Identity.UUID) {
+ return java.util.Optional.of((T) this.getUniqueId());
+ } else if (pointer == net.kyori.adventure.permission.PermissionChecker.POINTER) {
+ if (this.adventure$permissions == null) {
+ // todo: allow properly returning NOT_SET?
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any suggestions on how to handle this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a superperms method for isPermissionSet, you could use that?

+ this.adventure$permissions = permission -> this.hasPermission(permission) ? net.kyori.adventure.util.TriState.TRUE : net.kyori.adventure.util.TriState.FALSE;
+ }
+ return java.util.Optional.of((T) this.adventure$permissions);
+ }
+ return super.get(pointer);
+ }
+
+ @Override
+ public void sendMessage(final net.kyori.adventure.identity.Identity identity, final net.kyori.adventure.text.Component message, final net.kyori.adventure.audience.MessageType type) {
+ final PacketPlayOutChat packet = new PacketPlayOutChat(null, type == net.kyori.adventure.audience.MessageType.CHAT ? net.minecraft.network.chat.ChatMessageType.CHAT : net.minecraft.network.chat.ChatMessageType.SYSTEM, identity.uuid());
+ packet.adventure$message = message;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,10 @@ index 33cba4e475edc0573b901f70c61d3659fd63ad62..8d8b03074df1635946f81bec0feae18d

public void c() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6ab14bccb1fcd108931bf7ec331e60f652e0b42d..cc471418b37a745ecea1af964e81bc0362cf7d94 100644
index 6458065d212100e92ceddd90f83f91fde489c1ef..08648f937299aeab2f3625dc233574c2fb1ea1bd 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1770,8 +1770,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1771,8 +1771,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
return getHandle().locale;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Only refresh abilities if needed


diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index cc471418b37a745ecea1af964e81bc0362cf7d94..fb792de46ff80a6bad77a47954861cddfd17f2d9 100644
index 08648f937299aeab2f3625dc233574c2fb1ea1bd..1f9ae4a958fd1cfcc419d07eaaed5d69c9ca0bd4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1439,12 +1439,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1440,12 +1440,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

@Override
public void setFlying(boolean value) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ index fff22c40ba38575951e8e4821ade22b29d580a89..c397c52e8e24b85d892e4906178720cc
// Paper end
packetdataserializer.a(this.b);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 62f8d96f996ece87b7ab8d5d05d1dc214d10dbfa..9837f7364f3efd0aa22d33058bec369c41cd03ef 100644
index 1f9ae4a958fd1cfcc419d07eaaed5d69c9ca0bd4..8fbf69bc470ab4865f0f72b261fa8bc7d301f10c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,5 +1,6 @@
Expand All @@ -74,7 +74,7 @@ index 62f8d96f996ece87b7ab8d5d05d1dc214d10dbfa..9837f7364f3efd0aa22d33058bec369c
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
@@ -238,6 +239,96 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -239,6 +240,96 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ index 670efbe53241a0ae32d618c83da601ccc1f26e37..abbbe1786eb68af02f9d39650aad730a
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1ad5863dc12b2288a38efed71b7fa4b84296d96d..f2228933719a2325a518be15237fedf56c994d1f 100644
index 8fbf69bc470ab4865f0f72b261fa8bc7d301f10c..700d06c874b9ce52c7e4b21f3112b497ba09a345 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -863,7 +863,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -864,7 +864,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.playerConnection.teleport(to);
} else {
Expand Down
8 changes: 4 additions & 4 deletions Spigot-Server-Patches/0059-Complete-resource-pack-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,21 @@ index 865d8efa2d480ae7edc286e3e79f2997a191ee5c..af0a7dc9464e1acf1451f45464bab854
// CraftBukkit end

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f2228933719a2325a518be15237fedf56c994d1f..ed5680e6e0fcfbaf948bdede98d206cff2b26467 100644
index 700d06c874b9ce52c7e4b21f3112b497ba09a345..ae340469bf4e89851160bba357c11979e1c50f52 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -138,6 +138,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private double health = 20;
@@ -139,6 +139,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
private boolean scaledHealth = false;
private double healthScale = 20;
private net.kyori.adventure.permission.PermissionChecker adventure$permissions; // Paper
+ // Paper start
+ private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus;
+ private String resourcePackHash;
+ // Paper end

public CraftPlayer(CraftServer server, EntityPlayer entity) {
super(server, entity);
@@ -1874,6 +1878,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1875,6 +1879,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean getAffectsSpawning() {
return this.getHandle().affectsSpawning;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ index 082a3efb8c03e6a0a35411107f3cf3776dee14bf..c7b40800343edb2c2a68786afb828c9d
}

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ed5680e6e0fcfbaf948bdede98d206cff2b26467..ab7e731cb04a75b829f0cd24d7b94f7ddad166e8 100644
index ae340469bf4e89851160bba357c11979e1c50f52..2de46f486b6600986e6fe0baf6da603484da3011 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1680,6 +1680,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1681,6 +1681,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}

public void setRealHealth(double health) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players
SPIGOT-1915 & GH-114

diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ab7e731cb04a75b829f0cd24d7b94f7ddad166e8..4bb57229c045956bab631982e12c0fc420db450e 100644
index 2de46f486b6600986e6fe0baf6da603484da3011..acb6fac76ec0292f5240bef1112af9f0a5c32631 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -872,6 +872,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -873,6 +873,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ index cda0e7f8f9a9d66ac4e5a3f52609a4271bf0c4b5..3f1f8f7fe9452f66b18a08ef480d50ef
this.locale = packetplayinsettings.locale;
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 4bb57229c045956bab631982e12c0fc420db450e..5698ef90bfeceec37eaf7f23361246ef125b3cd1 100644
index acb6fac76ec0292f5240bef1112af9f0a5c32631..ac1328efcdb43d3039f67dcdae570bc0d86f4362 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1877,8 +1877,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1878,8 +1878,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

@Override
public String getLocale() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ index c8bb06a31242089ad950713bd5f94abbfe12adc8..68ce7605bd63ea280b96db8230463d2a

public static <K, V> Collector<Entry<? extends K, ? extends V>, ?, Map<K, V>> a() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6d7f1dee9ae2fb0b9620d85969de86eee09020cc..c3058d6fca2fd58aea5001e4310592aa8bd20640 100644
index ac1328efcdb43d3039f67dcdae570bc0d86f4362..c3995c2eede3e0d98a2464c33c523f78e85c04ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -244,6 +244,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -245,6 +245,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}

// Paper start
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/
index 2a3a2ea0fb7aee6bee88c4e578d2dd8074be971b..debb2887387e0a873292d32a9e34096494e4b716 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -188,6 +188,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -189,6 +189,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ index d313b02f41e4f4a90676cbb37afce4e92dd4d664..72afbf8f537770540e90a2880ea81de1
return true;
});
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b9a12d59e0144becc7e9c06d9a3c3079d006b583..e00b33493208865c0bd1bd11a96dd2ed1348da7c 100644
index 13b28237edc8bbfcfcd64e9417db9481b9077432..aac930e2c7ca50bc9e6612fd7c1a2e05051cf892 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -58,13 +58,17 @@ import net.minecraft.server.level.WorldServer;
Expand All @@ -63,7 +63,7 @@ index b9a12d59e0144becc7e9c06d9a3c3079d006b583..e00b33493208865c0bd1bd11a96dd2ed
import net.minecraft.world.level.EnumGamemode;
import net.minecraft.world.level.block.entity.TileEntitySign;
import net.minecraft.world.level.saveddata.maps.MapIcon;
@@ -1178,8 +1182,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1179,8 +1183,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ index 18b0020d184e46c8957e82100681c8c66b1c3b62..41dd46c6ef95f7dc41d9ca36a5f0b85f
private final ItemCooldown bM;
@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e00b33493208865c0bd1bd11a96dd2ed1348da7c..e1d1aaa278287214e2edac5f690d4f5257696ed0 100644
index aac930e2c7ca50bc9e6612fd7c1a2e05051cf892..43fbec197acfaa350599ca42efa69649a26df625 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -70,6 +70,7 @@ import net.minecraft.world.item.EnumColor;
Expand All @@ -59,7 +59,7 @@ index e00b33493208865c0bd1bd11a96dd2ed1348da7c..e1d1aaa278287214e2edac5f690d4f52
import net.minecraft.world.level.block.entity.TileEntitySign;
import net.minecraft.world.level.saveddata.maps.MapIcon;
import net.minecraft.world.phys.Vec3D;
@@ -1310,8 +1311,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1311,8 +1312,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
hiddenPlayers.put(player.getUniqueId(), hidingPlugins);

// Remove this player from the hidden player's EntityTrackerEntry
Expand All @@ -74,7 +74,7 @@ index e00b33493208865c0bd1bd11a96dd2ed1348da7c..e1d1aaa278287214e2edac5f690d4f52
PlayerChunkMap.EntityTracker entry = tracker.trackedEntities.get(other.getId());
if (entry != null) {
entry.clear(getHandle());
@@ -1352,8 +1358,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1353,8 +1359,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
hiddenPlayers.remove(player.getUniqueId());

Expand All @@ -89,7 +89,7 @@ index e00b33493208865c0bd1bd11a96dd2ed1348da7c..e1d1aaa278287214e2edac5f690d4f52

getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, other));

@@ -1362,6 +1373,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1363,6 +1374,50 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entry.updatePlayer(getHandle());
}
}
Expand Down