Can resolve later with a created bukkit player, and update upstream
This commit is contained in:
@@ -2,7 +2,7 @@ group=com.lokamc.slice
|
||||
version=1.20.4-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion=1.20.4
|
||||
paperRef=b7004609991dab287b582a1546a1b59c5d90c916
|
||||
paperRef=b03f255532bba5a1398f03207756f42e5597ccb8
|
||||
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Smooth Teleports
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index ae61a39b25267b84fe0b8766e4b12d9b24b44ded..36ae75f004f6eb1031e9b414526bea9cd48d11d0 100644
|
||||
index 815631a6157b87a9ead270fe0b11ac3892a3fbf4..fcb1f84694dddb36cd0b55110e4f04234dfb3b52 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3437,6 +3437,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3441,6 +3441,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
String getClientBrandName();
|
||||
// Paper end
|
||||
|
||||
|
||||
@@ -19,36 +19,31 @@ index bf01892c248b988531d21d9fb0f74d0adf2205ac..44b537f6da989cea6ebde8d14dea834d
|
||||
compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
||||
diff --git a/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java b/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..c5e4581be8ed8b60118535f6c385f6d2e72c1f62
|
||||
index 0000000000000000000000000000000000000000..4c28994757812f9c7f59d9eb827908bb64e63118
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/event/player/PlayerResolveObjectIdEvent.java
|
||||
@@ -0,0 +1,49 @@
|
||||
@@ -0,0 +1,44 @@
|
||||
+package io.papermc.paper.event.player;
|
||||
+
|
||||
+import org.bson.types.ObjectId;
|
||||
+import org.bukkit.event.Event;
|
||||
+import org.bukkit.Bukkit;
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.bukkit.event.player.PlayerEvent;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jetbrains.annotations.Nullable;
|
||||
+
|
||||
+import java.util.Objects;
|
||||
+import java.util.UUID;
|
||||
+
|
||||
+/**
|
||||
+ * Called when a player trades with a standalone merchant GUI.
|
||||
+ */
|
||||
+public class PlayerResolveObjectIdEvent extends Event {
|
||||
+public class PlayerResolveObjectIdEvent extends PlayerEvent {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+ private final UUID uuid;
|
||||
+ private ObjectId objectId;
|
||||
+
|
||||
+ public PlayerResolveObjectIdEvent(@NotNull UUID uuid) {
|
||||
+ this.uuid = uuid;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public UUID getUuid() {
|
||||
+ return uuid;
|
||||
+ public PlayerResolveObjectIdEvent(@NotNull Player player) {
|
||||
+ super(player, !Bukkit.isPrimaryThread());
|
||||
+ }
|
||||
+
|
||||
+ @Nullable
|
||||
@@ -73,15 +68,16 @@ index 0000000000000000000000000000000000000000..c5e4581be8ed8b60118535f6c385f6d2
|
||||
+
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java
|
||||
index 8b0d04d5b39ee817555a36adddc39b18fc6f0d02..c3d2778659fb8eb12c203717c61705049bf7d530 100644
|
||||
index 8b0d04d5b39ee817555a36adddc39b18fc6f0d02..6a1df3ccfadfa70594fd71c6d24d94e43297742b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/HumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/HumanEntity.java
|
||||
@@ -22,6 +22,10 @@ import org.jetbrains.annotations.Nullable;
|
||||
@@ -22,6 +22,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
*/
|
||||
public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder {
|
||||
|
||||
+ // Slice start
|
||||
+ org.bson.types.@Nullable ObjectId getObjectId();
|
||||
+ void setObjectId(@Nullable org.bson.types.ObjectId objectId);
|
||||
+ // Slice end
|
||||
+
|
||||
// Paper start
|
||||
|
||||
@@ -42,10 +42,10 @@ index 376e8983fdfdbb6c3e5fd8ad0f6a05e655b622bf..c9868e781ce212285a9621236efa6578
|
||||
standardInput = System.`in`
|
||||
workingDir = rootProject.layout.projectDirectory
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 4e1011dca1081a5246981fabb93f142442dcc92c..544f8b6c9f2b5d1f9681cc97db09e815e77f8765 100644
|
||||
index fa2b4cdd4c4e2c1df3e378a7c706f06c3361ad53..c95c9792cf150b91d72710342859c9e9487bc8b4 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1850,7 +1850,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1854,7 +1854,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -55,7 +55,7 @@ index 4e1011dca1081a5246981fabb93f142442dcc92c..544f8b6c9f2b5d1f9681cc97db09e815
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9d00c98ddfa1b9c04e6d587dcdf779822f35964a..beb0f8a7d155b4d1f5b1f3b0f325616ac6dfcfd5 100644
|
||||
index 25f41119bcc19bab7cd2fdb044147b3f78a8ef1c..b44d28ee271ab819310437eb7997252d806d9514 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
|
||||
|
||||
@@ -17,10 +17,10 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..f033f530eef10177c349f2673bb3ee8e
|
||||
|
||||
public LevelChunk getChunkIfLoaded(int x, int z) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index cd559e6aaf4bd2bd322c953bbb186135489ddcaa..589bc913577a8188521856db874a48f86d03ee9a 100644
|
||||
index a139601888b88e8580bdb9c2469386a94abae975..a1edae705041fee8907a998859628ef4cf6597a8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -1298,6 +1298,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1300,6 +1300,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
this.world.noSave = !value;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,10 +34,10 @@ index 8148bb81322b3ba7becbf0fdb636c83558324f81..a412b92ee14b685ec30ce8dc70effffa
|
||||
entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
|
||||
entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index c11b974cf4dee385d0730ecc20715feac0f20352..f63b9365d25ed0a31cfd484cf87b89acc2cb7df5 100644
|
||||
index 5c1e016de183933c5458deaae257b978e6350307..23a55976ebd62c52cd28d04c50de975b1fa932a0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1267,6 +1267,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1225,6 +1225,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
// Paper end
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ index e7fe98ea30ae6d0baea3ec1f9f98a89502a49a12..7e2651aa63cc9ddbe28fb9ecbc518835
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 331b47b82d2f0c6544e5417accb5a962daac3111..82eb22d1539951cd04267d7269b1447ebc4ee2c6 100644
|
||||
index 23a55976ebd62c52cd28d04c50de975b1fa932a0..2196c5bd9560e45a4b56fd639b98850b4635bf86 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -193,6 +193,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -28,7 +28,7 @@ index 331b47b82d2f0c6544e5417accb5a962daac3111..82eb22d1539951cd04267d7269b1447e
|
||||
|
||||
public CraftPlayer(CraftServer server, ServerPlayer entity) {
|
||||
super(server, entity);
|
||||
@@ -2930,6 +2931,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2888,6 +2889,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 1b090f1e79b996e52097afc49c1cec85936653e6..5185bcbf5363fa2c7e2b0226706cc66d
|
||||
private static final byte CHUNK_TICKET_STAGE_NONE = 0;
|
||||
private static final byte CHUNK_TICKET_STAGE_LOADING = 1;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 2f7ca95e8ac48ea63a2ee28afc50521d8d71accb..e22d13ee45e586ed0aad5bd16778ebc6c2a76e81 100644
|
||||
index a1edae705041fee8907a998859628ef4cf6597a8..46a22322f2f660957e9f873f66adf3777c662326 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -538,6 +538,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -540,6 +540,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ index 529ab44baaf573b97cf7e89560c548642733188f..e3e0f306ebed31ce4742e7d2f15ab102
|
||||
|
||||
if (this.entity instanceof LivingEntity) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ccd0fbf0d61a0a5e9e806df964c711f5c883a8d4..85d1f19cc02b9bd159d2614305f070ad26df8f17 100644
|
||||
index 166af7aba37ae8cca610d95b93ed8ae9e47ad85b..827a0611771f20063bbd6b390ab87af870b94d72 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3385,7 +3385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -170,10 +170,10 @@ index 8192278ee16adfb74abb7ce955752fe8b43787d2..2b93d9ca3df4d1a9acd670752390018a
|
||||
|
||||
public void startAutoSpinAttack(int riptideTicks) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e009a7dffc548043d22ec62259bb0b737178388d..0c980953444001ca5bbdb06ccf56079cd02588f0 100644
|
||||
index 2196c5bd9560e45a4b56fd639b98850b4635bf86..14ee258ea560b180485b5742ee7083c5e1099a26 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2733,7 +2733,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2691,7 +2691,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
this.sendHealthUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Long distance tracking
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 22ec85fb9e5313b94f1dc55c3cfbfe88eded0db6..b88dd166628c46a7f2bf98b0b8bf5a215acb99de 100644
|
||||
index 6b755f07ca62a8bb9ad3b1a2aee5fa07bacb134c..94d2f22d374f899d29576c927798a6de66120a41 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -1417,6 +1417,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -1411,6 +1411,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
// Paper end - remove allocation of Vec3D here
|
||||
int i = ChunkMap.this.getPlayerViewDistance(player);
|
||||
double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
|
||||
@@ -68,7 +68,7 @@ index 1cf6d4f854d89c515e48e1fb365eb95ff9340765..6dab8b76bef3c97936fc337e813bcb60
|
||||
this.monsterTrackingRange = this.getInt( "entity-tracking-range.monsters", this.monsterTrackingRange );
|
||||
this.miscTrackingRange = this.getInt( "entity-tracking-range.misc", this.miscTrackingRange );
|
||||
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
|
||||
index ed8378ad022c375b0d18172aeccf65cb026d9d68..f5acd0f9ed0a4936257a96971b995ec62ec2906d 100644
|
||||
index e4425b242fe73d1fd2bd10c313aa16925432329f..b3252aa5bb4ce9fac0b914e0b2fe74d2c7ac3bce 100644
|
||||
--- a/src/main/java/org/spigotmc/TrackingRange.java
|
||||
+++ b/src/main/java/org/spigotmc/TrackingRange.java
|
||||
@@ -26,9 +26,9 @@ public class TrackingRange
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player spawnsOwnMobs
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index ce1cee91351d2665437573b0d756420769637fa0..a4319888da00ee82b17c01a118e325efab43d976 100644
|
||||
index 366c0c9b45a819f7f94ebe3e49b8ab7f9edf9ce7..55281d6dc09ebdd262e05973e4d9c1e82681e05d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -562,7 +562,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -549,7 +549,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||
// Paper start - optimise chunk tick iteration
|
||||
ChunkMap playerChunkMap = this.chunkMap;
|
||||
for (ServerPlayer player : this.level.players) {
|
||||
|
||||
@@ -17,7 +17,7 @@ index a6f58b3457b7477015c5c6d969e7d83017dd3fa1..7f2070bd2d7eb7f0256a96df00103d20
|
||||
|
||||
public BlockUpdates blockUpdates;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263a66d2fdd 100644
|
||||
index c95c9792cf150b91d72710342859c9e9487bc8b4..bbe3af37c559e64e7660a909b08c89d6c96e2458 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.server;
|
||||
@@ -28,7 +28,7 @@ index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import co.aikar.timings.Timings;
|
||||
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
|
||||
@@ -312,6 +313,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -313,6 +314,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
public static final long SERVER_INIT = System.nanoTime(); // Paper - Lag compensation
|
||||
|
||||
@@ -37,7 +37,7 @@ index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263
|
||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
||||
AtomicReference<S> atomicreference = new AtomicReference();
|
||||
Thread thread = new io.papermc.paper.util.TickThread(() -> { // Paper - rewrite chunk system
|
||||
@@ -413,6 +416,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -414,6 +417,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263
|
||||
private void readScoreboard(DimensionDataStorage persistentStateManager) {
|
||||
persistentStateManager.computeIfAbsent(this.getScoreboard().dataFactory(), "scoreboard");
|
||||
}
|
||||
@@ -916,6 +925,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -917,6 +926,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.isSaving = true;
|
||||
this.getPlayerList().saveAll(); // Paper - Incremental chunk and player saving; diff on change
|
||||
flag3 = this.saveAllChunks(suppressLogs, flush, force);
|
||||
@@ -58,7 +58,7 @@ index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263
|
||||
} finally {
|
||||
this.isSaving = false;
|
||||
}
|
||||
@@ -1130,6 +1140,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1131,6 +1141,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
throw new IllegalStateException("Failed to initialize server");
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ index 544f8b6c9f2b5d1f9681cc97db09e815e77f8765..a7335d9f890397eff67d0063d077e263
|
||||
this.nextTickTimeNanos = Util.getNanos();
|
||||
this.statusIcon = (ServerStatus.Favicon) this.loadStatusIcon().orElse(null); // CraftBukkit - decompile error
|
||||
this.status = this.buildServerStatus();
|
||||
@@ -1531,6 +1550,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1535,6 +1554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
level.saveIncrementally(fullSave);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,31 @@ index 223e80ea0ede575cf8f73191ef2799ae0ee41ba7..8868ebd92b13bc2aa48e4f6cae33ed46
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6b681ac559f3f8fb4f7f3fad71fdb84076c2c640..84de98dbf84e73c671c92bc827a5b9f8fcad3f53 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -251,7 +251,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
// Paper start - Folia schedulers
|
||||
synchronized (this) {
|
||||
if (this.bukkitEntity == null) {
|
||||
- return this.bukkitEntity = CraftEntity.getEntity(this.level.getCraftServer(), this);
|
||||
+ this.bukkitEntity = CraftEntity.getEntity(this.level.getCraftServer(), this);
|
||||
+
|
||||
+ // Slice start - resolve ObjectId
|
||||
+ if (this.bukkitEntity instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity craftHumanEntity) {
|
||||
+ io.papermc.paper.event.player.PlayerResolveObjectIdEvent event = new io.papermc.paper.event.player.PlayerResolveObjectIdEvent((org.bukkit.entity.Player) bukkitEntity);
|
||||
+ event.callEvent();
|
||||
+ craftHumanEntity.setObjectId(event.getObjectId());
|
||||
+ }
|
||||
+ // Slice end
|
||||
+
|
||||
+ return this.bukkitEntity;
|
||||
}
|
||||
}
|
||||
// Paper end - Folia schedulers
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index acbb64010cd59668aa1bcb52ff1220789cadb1d3..58802dfb9aa2eaf1acc533e6bd8f996231de5074 100644
|
||||
index acbb64010cd59668aa1bcb52ff1220789cadb1d3..190f3e26d379f426a3e7745e5529e02c0ead724e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -7,6 +7,8 @@ import java.util.Arrays;
|
||||
@@ -43,7 +66,7 @@ index acbb64010cd59668aa1bcb52ff1220789cadb1d3..58802dfb9aa2eaf1acc533e6bd8f9962
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.craftbukkit.entity.memory.CraftMemoryMapper;
|
||||
@@ -74,13 +74,27 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@@ -74,6 +74,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
protected final PermissibleBase perm = new PermissibleBase(this);
|
||||
private boolean op;
|
||||
private GameMode mode;
|
||||
@@ -51,23 +74,22 @@ index acbb64010cd59668aa1bcb52ff1220789cadb1d3..58802dfb9aa2eaf1acc533e6bd8f9962
|
||||
|
||||
public CraftHumanEntity(final CraftServer server, final Player entity) {
|
||||
super(server, entity);
|
||||
this.mode = server.getDefaultGameMode();
|
||||
this.inventory = new CraftInventoryPlayer(entity.getInventory());
|
||||
@@ -82,6 +83,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
this.enderChest = new CraftInventory(entity.getEnderChestInventory());
|
||||
+
|
||||
+ // Slice start - resolve ObjectId
|
||||
+ PlayerResolveObjectIdEvent event = new PlayerResolveObjectIdEvent(entity.getUUID());
|
||||
+ event.callEvent();
|
||||
+ objectId = event.getObjectId();
|
||||
+ // Slice end
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
+ // Slice start
|
||||
+ @Override
|
||||
+ public ObjectId getObjectId() {
|
||||
+ return objectId;
|
||||
}
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setObjectId(ObjectId objectId) {
|
||||
+ this.objectId = objectId;
|
||||
+ }
|
||||
+ // Slice end
|
||||
|
||||
+
|
||||
@Override
|
||||
public PlayerInventory getInventory() {
|
||||
return this.inventory;
|
||||
|
||||
Reference in New Issue
Block a user