70ce6ce831
This makes it easier for downstream projects (forks) to replace the version fetching system with their own. It is as simple as implementing an interface and overriding the default implementation of org.bukkit.UnsafeValues#getVersionFetcher() It also makes it easier for us to organize things like the version history feature. Lastly I have updated the paper implementation to check against the site API rather than against jenkins.
40 Zeilen
1.4 KiB
Diff
40 Zeilen
1.4 KiB
Diff
From f3b0557217bb8565f2d1f21b6c8163f278dfc238 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Wed, 15 Aug 2018 01:16:34 -0400
|
|
Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
|
index 08f8d8096..011e40458 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
|
|
@@ -121,9 +121,16 @@ public class CraftChunk implements Chunk {
|
|
|
|
@Override
|
|
public BlockState[] getTileEntities() {
|
|
+ // Paper start
|
|
+ return getTileEntities(true);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public BlockState[] getTileEntities(boolean useSnapshot) {
|
|
if (!isLoaded()) {
|
|
getWorld().getChunkAt(x, z); // Transient load for this tick
|
|
}
|
|
+ // Paper end
|
|
int index = 0;
|
|
net.minecraft.server.Chunk chunk = getHandle();
|
|
|
|
@@ -135,7 +142,7 @@ public class CraftChunk implements Chunk {
|
|
}
|
|
|
|
BlockPosition position = (BlockPosition) obj;
|
|
- entities[index++] = worldServer.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState();
|
|
+ entities[index++] = worldServer.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()).getState(useSnapshot); // Paper
|
|
}
|
|
|
|
return entities;
|
|
--
|
|
2.21.0
|
|
|