Updated Upstream (Paper & Tuinity)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
dc7b7a160 Fix missing username console death message (#5654) (#5658)
c639a52a6 Add basic Datapack API (#5653) (#5653)
99c1d9da6 Updated Upstream (CraftBukkit) (#5652)
2d50c17e2 [CI-SKIP] Add PR rebasing steps (#5634)
2c5f8085e Remove boat interaction event (Fixes #5539)
96ee1fb8f fix WorldSaveEvent not firing with /save-all (#5650)
e90e7829e remove unneeded patch (#5641)
d875bacc2 Activate warning by default when people are doing silly things (#5642)
cb896d471 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5643)
ecbf5a38e Revert "Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5636)"
20fc4ab70 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5636)
20d8812ea Fix CraftPotionBrewer cache (#5632)

Tuinity Changes:
1222573d0 Fix incorrect status dataconverter for pre 1.13 chunks
This commit is contained in:
BillyGalbreath
2021-05-16 19:10:49 -05:00
parent c166841a77
commit dc4a1cba43
35 changed files with 161 additions and 103 deletions

View File

@@ -169,7 +169,7 @@ permanent authorization for you to choose that version for the
Library.
diff --git a/pom.xml b/pom.xml
index ab57297272c2d6f3d21067081bcaf8775b8fff09..de7da911833569c97b7f800a43ee7354d19677e2 100644
index 1a9204c869dd36e80932b1366352db15ebd70723..642ee96ead8176f5c5a811946b050f4fa5dab6e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -223,7 +223,7 @@ index ab57297272c2d6f3d21067081bcaf8775b8fff09..de7da911833569c97b7f800a43ee7354
<dependency>
<groupId>io.papermc</groupId>
<artifactId>minecraft-server</artifactId>
@@ -112,11 +119,7 @@
@@ -107,11 +114,7 @@
<artifactId>cleaner</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
@@ -236,7 +236,7 @@ index ab57297272c2d6f3d21067081bcaf8775b8fff09..de7da911833569c97b7f800a43ee7354
<!-- deprecated API depend -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
@@ -156,19 +159,26 @@
@@ -183,19 +186,26 @@
<version>4.8.47</version>
<scope>test</scope>
</dependency>
@@ -12072,10 +12072,10 @@ index c5e54c519e1f686761faa53b5e9579c514a65332..fe040615ff03478a20cdf8376f89a6b7
try {
boolean execChunkTask = com.destroystokyo.paper.io.chunk.ChunkTaskManager.pollChunkWaitQueue() || ChunkProviderServer.this.world.asyncChunkTaskManager.pollNextChunkTask(); // Paper
diff --git a/src/main/java/net/minecraft/server/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
index 10e9e5328f783832b957113a8672f45f90ace813..19f160d9802cabe727b280b8f7e831439b4015de 100644
index 8683d6ddc5d8ce4a302fa6e2665b7dcd64f6a00a..aea8d85aa087d896ea93f944b8d3403ea90c9bf4 100644
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
@@ -261,7 +261,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -262,7 +262,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
@@ -12084,7 +12084,7 @@ index 10e9e5328f783832b957113a8672f45f90ace813..19f160d9802cabe727b280b8f7e83143
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
public EntityPlayer(MinecraftServer minecraftserver, WorldServer worldserver, GameProfile gameprofile, PlayerInteractManager playerinteractmanager) {
@@ -370,7 +370,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -371,7 +371,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (blockposition1 != null) {
this.setPositionRotation(blockposition1, 0.0F, 0.0F);
@@ -12093,7 +12093,7 @@ index 10e9e5328f783832b957113a8672f45f90ace813..19f160d9802cabe727b280b8f7e83143
break;
}
}
@@ -378,7 +378,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -379,7 +379,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
} else {
this.setPositionRotation(blockposition, 0.0F, 0.0F);
@@ -12102,7 +12102,7 @@ index 10e9e5328f783832b957113a8672f45f90ace813..19f160d9802cabe727b280b8f7e83143
this.setPosition(this.locX(), this.locY() + 1.0D, this.locZ());
}
}
@@ -661,6 +661,185 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -662,6 +662,185 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
}
}
@@ -12288,7 +12288,7 @@ index 10e9e5328f783832b957113a8672f45f90ace813..19f160d9802cabe727b280b8f7e83143
if (this.getHealth() != this.lastHealthSent || this.lastFoodSent != this.foodData.getFoodLevel() || this.foodData.getSaturationLevel() == 0.0F != this.lastSentSaturationZero) {
this.playerConnection.sendPacket(new PacketPlayOutUpdateHealth(this.getBukkitEntity().getScaledHealth(), this.foodData.getFoodLevel(), this.foodData.getSaturationLevel())); // CraftBukkit
this.lastHealthSent = this.getHealth();
@@ -1545,6 +1724,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1554,6 +1733,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
this.playerConnection.sendPacket(new PacketPlayOutCloseWindow(this.activeContainer.windowId));
this.o();
}
@@ -14042,7 +14042,7 @@ index 3c804c7b20a14ea6e510810e2be10c1cc89ff5c1..3738c51b5e673c439d88a7ef7f4614f3
return new TicketType<>(s, comparator, 0L);
}
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
index 7e032845fe9a46d33236444d62405a41e29daa17..a8a2c29874e95dc08b85eb41882fc947108fbe5b 100644
index 6aace2155258d8257d53ebfcb20c37ea7497c02c..479605b5f8660b6968027a3d7b59075a04e44521 100644
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
@@ -168,12 +168,13 @@ import org.bukkit.event.server.MapInitializeEvent;
@@ -15395,6 +15395,61 @@ index c617b7dd5a992770fc87113987807947ae68be81..7ce5bd130441a3bc32ee5fa3630edce2
}
private static JsonElement a(UserCache.UserCacheEntry usercache_usercacheentry, DateFormat dateformat) {
diff --git a/src/main/java/net/minecraft/util/datafix/fixes/DataConverterProtoChunk.java b/src/main/java/net/minecraft/util/datafix/fixes/DataConverterProtoChunk.java
index 3a114931cb88791bf73d08accf13993ba8842af2..81fe9111fcfd298698c2e98f453e2c42f5ce7760 100644
--- a/src/main/java/net/minecraft/util/datafix/fixes/DataConverterProtoChunk.java
+++ b/src/main/java/net/minecraft/util/datafix/fixes/DataConverterProtoChunk.java
@@ -43,13 +43,21 @@ public class DataConverterProtoChunk extends DataFix {
return dynamic.asStreamOpt().result();
});
Dynamic<?> dynamic = (Dynamic) typed1.get(DSL.remainderFinder());
- boolean flag = dynamic.get("TerrainPopulated").asBoolean(false) && (!dynamic.get("LightPopulated").asNumber().result().isPresent() || dynamic.get("LightPopulated").asBoolean(false));
-
- dynamic = dynamic.set("Status", dynamic.createString(flag ? "mobs_spawned" : "empty"));
+ // Tuinity start - fix incorrect status conversion
+ // Vanilla is setting chunks to incorrect status here, they should be using at minimum carved.
+ // for populated chunks, it should be at minimum decorated
+ // and for lit and populated, mobs_spawned is correct (technically mobs_spawned should be for populated,
+ // but if it's not lit then it can't be set above lit)
+ final boolean terrainPopulated = dynamic.get("TerrainPopulated").asBoolean(false);
+ final boolean lightPopulated = dynamic.get("LightPopulated").asBoolean(false) || dynamic.get("LightPopulated").asNumber().result().isPresent();
+ final String newStatus = !terrainPopulated ? "carved" : (lightPopulated ? "mobs_spawned" : "decorated");
+
+ dynamic = dynamic.set("Status", dynamic.createString(newStatus));
dynamic = dynamic.set("hasLegacyStructureData", dynamic.createBoolean(true));
- Dynamic dynamic1;
+ // Tuinity end - fix incorrect status conversion
+ Dynamic<?> dynamic1; // Tuinity - decompile fix
- if (flag) {
+ if (true) { // Tuinity - fix incorrect status conversion
Optional<ByteBuffer> optional1 = dynamic.get("Biomes").asByteBufferOpt().result();
if (optional1.isPresent()) {
@@ -70,7 +78,7 @@ public class DataConverterProtoChunk extends DataFix {
}).collect(Collectors.toList());
if (optional.isPresent()) {
- ((Stream) optional.get()).forEach((dynamic2) -> {
+ optional.get().forEach((dynamic2) -> { // Tuinity - decompile fix
int j = dynamic2.get("x").asInt(0);
int k = dynamic2.get("y").asInt(0);
int l = dynamic2.get("z").asInt(0);
@@ -78,11 +86,11 @@ public class DataConverterProtoChunk extends DataFix {
((ShortList) list.get(k >> 4)).add(short0);
});
+ Dynamic<?> finalDynamic = dynamic; // Tuinity - decompile fix
dynamic = dynamic.set("ToBeTicked", dynamic.createList(list.stream().map((shortlist) -> {
- Stream stream = shortlist.stream();
+ Stream<Short> stream = shortlist.stream(); // Tuinity - decompile fix
- dynamic.getClass();
- return dynamic.createList(stream.map(dynamic::createShort));
+ return finalDynamic.createList(stream.map(finalDynamic::createShort));
})));
}
diff --git a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java b/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java
index a4970654496c52fcd02c5c055ff5ac551bd19da3..6725b31a5183d5af7f8f7566ed21eb61797ef4c9 100644
--- a/src/main/java/net/minecraft/util/worldupdate/WorldUpgrader.java
@@ -20663,10 +20718,10 @@ index e50731723d266ba65b2163df2e935afb8b013a93..a6736d15282715d920bab85eb92074cd
}
value.append("},");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6cc8eb04f42592aa12f76bb4a0a863ea509741b2..55f2834373ccc7362836b4fab4ae2f069f31fd63 100644
index 554d13d65952af1b98db074ebc4a2d90474029f6..1d07fa90736b0c4995b5d7dc0cafe9303fa30c84 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
@@ -233,7 +233,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -20675,7 +20730,7 @@ index 6cc8eb04f42592aa12f76bb4a0a863ea509741b2..55f2834373ccc7362836b4fab4ae2f06
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
@@ -864,6 +864,7 @@ public final class CraftServer implements Server {
@@ -867,6 +867,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -20683,7 +20738,7 @@ index 6cc8eb04f42592aa12f76bb4a0a863ea509741b2..55f2834373ccc7362836b4fab4ae2f06
for (WorldServer world : console.getWorlds()) {
world.worldDataServer.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
@@ -898,6 +899,7 @@ public final class CraftServer implements Server {
@@ -901,6 +902,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -20691,7 +20746,7 @@ index 6cc8eb04f42592aa12f76bb4a0a863ea509741b2..55f2834373ccc7362836b4fab4ae2f06
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1917,7 +1919,10 @@ public final class CraftServer implements Server {
@@ -1920,7 +1922,10 @@ public final class CraftServer implements Server {
@Override
public boolean isPrimaryThread() {
@@ -20703,7 +20758,7 @@ index 6cc8eb04f42592aa12f76bb4a0a863ea509741b2..55f2834373ccc7362836b4fab4ae2f06
}
// Paper start
@@ -2351,6 +2356,14 @@ public final class CraftServer implements Server {
@@ -2354,6 +2359,14 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}
@@ -20882,10 +20937,10 @@ index 3b3eda95c0ff8b129adedbae6561bba2d01c2f3a..02807cc1fe14e747a7c18edf0fcdc386
// Spigot start
private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 154f3a6a3d37b94c40cb29c305e3aa5fb494850c..145748b5ca095cd555fd1f085a596bf0f58fea13 100644
index 6cae7454f3cf5b246300bac489b38ea65e2185c9..969beec6ceaf43282337cf02af94033764c95bcc 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -140,6 +140,13 @@ public class Main {
@@ -146,6 +146,13 @@ public class Main {
.defaultsTo(new File("paper.yml"))
.describedAs("Yml file");
// Paper end
@@ -20899,7 +20954,7 @@ index 154f3a6a3d37b94c40cb29c305e3aa5fb494850c..145748b5ca095cd555fd1f085a596bf0
// Paper start
acceptsAll(asList("server-name"), "Name of the server")
@@ -253,7 +260,7 @@ public class Main {
@@ -259,7 +266,7 @@ public class Main {
if (buildDate.before(deadline.getTime())) {
// Paper start - This is some stupid bullshit
System.err.println("*** Warning, you've not updated in a while! ***");