Updated Upstream (Bukkit/CraftBukkit) (#8714)

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:
aef9b6d2 PR-800: Add support for NoteBlock sounds in Skulls

CraftBukkit Changes:
ae8f5fc02 PR-1125: Add support for NoteBlock sounds in Skulls
0a1c89e4b SPIGOT-7212: Allow negative firework power
909a246af SPIGOT-7211: generateTree() with Consumer or Predicate is broken
c810c3ed8 Increase outdated build delay
This commit is contained in:
Jake Potrebic 2022-12-26 09:53:35 -08:00 committed by GitHub
parent 78a91dfb48
commit 52718dba10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 178 additions and 88 deletions

View file

@ -67,7 +67,7 @@ index 40d1dcd4a0870cf002ee6d0309ce667f49a89d35..a2d2c817cdc1798cd30b3a852b3a495b
exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 3790fd4f33a1fcd7d1430032af146cc724fcde61..16c38195c3e4f5550122df0d65fcce8ca3a83822 100644
index 19c669347c5f3a70e7f378c836798e6787094e26..8842ac222e0dea1afb7ba4584512147bb53ccb56 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -192,7 +192,7 @@ public class Main {
@ -78,7 +78,7 @@ index 3790fd4f33a1fcd7d1430032af146cc724fcde61..16c38195c3e4f5550122df0d65fcce8c
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -14);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java

View file

@ -19,7 +19,7 @@ index e9f4ffec4b659f3300daa0138f6e955a8d97786d..e2e66fd4bd34e0ceaab350214a50ddbb
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 5b6653bb3ed90ca1b200ae13ed71e834c07b5d27..445c73c27b2e87fbbc3d5f57098b0c6b618d002e 100644
index 82b267898f98b7e6c808a2377951106769a4a763..e609a52750fe6ca178ce2933510d000a11438270 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -259,7 +259,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException;
@ -32,11 +32,11 @@ index 5b6653bb3ed90ca1b200ae13ed71e834c07b5d27..445c73c27b2e87fbbc3d5f57098b0c6b
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index c6b04971733b2a26f287e0fa7bf74316c8cc48f2..0be441eef296ebf301d086edaf8dc3d0e107a025 100644
index a51581263f1c9d72aab7c9223a816d034630f702..d453c630da1780a7aeab80cf95adcee62f4e8a14 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -223,12 +223,25 @@ public class Main {
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -14);
if (buildDate.before(deadline.getTime())) {
System.err.println("*** Error, this build is outdated ***");
- System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Use UserCache for player heads
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index a07d4639a9cd932f241784d3a127b9824c26f4a1..70a683529534e1f82c35350accbfeeb5ae4ceb6b 100644
index 30865eece58ba2f3c991f9d373a128ada3385b4f..85b9baad074634a2f21c15adbb393ebc5924bdd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -169,7 +169,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -208,7 +208,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
if (name == null) {
this.setProfile(null);
} else {

View file

@ -50,18 +50,18 @@ index 58e923f4ef1980bc7fff1e3b3fcdaad8c4eded53..4038bb76339d43f18770624bd7fecc79
}, this.executor).whenCompleteAsync((optional, throwable) -> {
consumer.accept(optional);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java
index 8fa6b788c4c330ad50e9833bbf7082da540b109c..91fb6678214d5f23b33d5d3b65a29fdfbb003c58 100644
index bb7dd7a81a2af3d2a7df9d117f0d6395ecaed61b..28ce257b54f224b801a5206dd6d39cbae0ef248b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java
@@ -137,7 +137,7 @@ public class SkullBlockEntity extends BlockEntity {
@@ -140,7 +140,7 @@ public class SkullBlockEntity extends BlockEntity {
public static void updateGameprofile(@Nullable GameProfile owner, Consumer<GameProfile> callback) {
if (owner != null && !StringUtil.isNullOrEmpty(owner.getName()) && (!owner.isComplete() || !owner.getProperties().containsKey("textures")) && profileCache != null && sessionService != null) {
profileCache.getAsync(owner.getName(), (profile) -> {
if (owner != null && !StringUtil.isNullOrEmpty(owner.getName()) && (!owner.isComplete() || !owner.getProperties().containsKey("textures")) && SkullBlockEntity.profileCache != null && SkullBlockEntity.sessionService != null) {
SkullBlockEntity.profileCache.getAsync(owner.getName(), (optional) -> {
- Util.backgroundExecutor().execute(() -> {
+ Util.PROFILE_EXECUTOR.execute(() -> { // Paper - not a good idea to use BLOCKING OPERATIONS on the worldgen executor
Util.ifElse(profile, (profilex) -> {
Property property = Iterables.getFirst(profilex.getProperties().get("textures"), (Property)null);
if (property == null) {
Util.ifElse(optional, (gameprofile1) -> {
Property property = (Property) Iterables.getFirst(gameprofile1.getProperties().get("textures"), (Object) null);
diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java
index 3030c153725415802f68c144e0b577d919307058..3e40d47f504248cd7caeef6b841a8aa6f1976170 100644
--- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java

View file

@ -31,12 +31,12 @@ index b5aa358638b9d0638dfe47f7ebac04cca1dd80b9..0d3a8f576c037886ccdd6068ce953c4c
Bootstrap.isBootstrapped = true;
if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 75f5a3eb8730af1fea5bedbe168dcffacdbc85ad..22bb84601865960459040d7cb51d0c8d96695b3c 100644
index 7004baa10a6df287239db868dce64d054105040c..127b05c44aa1e20ce097f1c1fe6b6ca2b32226c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -241,10 +241,12 @@ public class Main {
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -7);
deadline.add(Calendar.DAY_OF_YEAR, -14);
if (buildDate.before(deadline.getTime())) {
- System.err.println("*** Error, this build is outdated ***");
+ // Paper start - This is some stupid bullshit

View file

@ -7,10 +7,10 @@ This allows you to create already filled textures on Skulls to avoid texture loo
which commonly cause rate limit issues with Mojang API
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
index 5158ba8c1d03cc2ffbd576146c6f72377bf05233..060939a6720049a4fef345f228ce76517f7741a4 100644
index cf76e486bc873580c3b28dee88e168a2f3666a79..1325e9140a4b568170f0bd400904fe3c9d00cd4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
@@ -102,7 +102,22 @@ public class CraftSkull extends CraftBlockEntityState<SkullBlockEntity> implemen
@@ -106,7 +106,22 @@ public class CraftSkull extends CraftBlockEntityState<SkullBlockEntity> implemen
}
}
@ -33,7 +33,7 @@ index 5158ba8c1d03cc2ffbd576146c6f72377bf05233..060939a6720049a4fef345f228ce7651
public PlayerProfile getOwnerProfile() {
if (!this.hasOwner()) {
return null;
@@ -112,11 +127,12 @@ public class CraftSkull extends CraftBlockEntityState<SkullBlockEntity> implemen
@@ -116,11 +131,12 @@ public class CraftSkull extends CraftBlockEntityState<SkullBlockEntity> implemen
}
@Override
@ -48,10 +48,10 @@ index 5158ba8c1d03cc2ffbd576146c6f72377bf05233..060939a6720049a4fef345f228ce7651
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index 70a683529534e1f82c35350accbfeeb5ae4ceb6b..2771dd62c04c8da890724fe03f836fdeba440c55 100644
index 85b9baad074634a2f21c15adbb393ebc5924bdd8..deed77a3d44bc55681483d7f47f148b5220135f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -145,6 +145,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -184,6 +184,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
return this.hasOwner() ? this.profile.getName() : null;
}
@ -71,7 +71,7 @@ index 70a683529534e1f82c35350accbfeeb5ae4ceb6b..2771dd62c04c8da890724fe03f836fde
@Override
public OfflinePlayer getOwningPlayer() {
if (this.hasOwner()) {
@@ -195,6 +208,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -234,6 +247,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
}
@Override
@ -79,7 +79,7 @@ index 70a683529534e1f82c35350accbfeeb5ae4ceb6b..2771dd62c04c8da890724fe03f836fde
public PlayerProfile getOwnerProfile() {
if (!this.hasOwner()) {
return null;
@@ -204,11 +218,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -243,11 +257,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
}
@Override
@ -93,12 +93,12 @@ index 70a683529534e1f82c35350accbfeeb5ae4ceb6b..2771dd62c04c8da890724fe03f836fde
}
}
@@ -245,7 +260,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -301,7 +316,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
Builder<String, Object> serialize(Builder<String, Object> builder) {
super.serialize(builder);
if (this.profile != null) {
- return builder.put(SKULL_OWNER.BUKKIT, new CraftPlayerProfile(this.profile));
+ return builder.put(SKULL_OWNER.BUKKIT, new com.destroystokyo.paper.profile.CraftPlayerProfile(this.profile)); // Paper
}
return builder;
}
NamespacedKey namespacedKeyNB = this.getNoteBlockSound();
if (namespacedKeyNB != null) {

View file

@ -6,19 +6,24 @@ Subject: [PATCH] Add missing important BlockStateListPopulator methods
Without these methods it causes exceptions due to these being used by certain feature generators.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
index 8e6a71c1e8b53faa70b893c76f5bd25f96a5e142..19abf7b6000a875be8c7141cfba81b279b2cae60 100644
index 4bd59614606962a5371fd0da54bde25bf6a01325..602ce766f00dfde057c735eae3351068d09feab1 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
@@ -129,4 +129,32 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
public DimensionType dimensionType() {
return this.world.dimensionType();
@@ -128,7 +128,7 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
@Override
public boolean isFluidAtPosition(BlockPos pos, Predicate<FluidState> state) {
- return this.world.isFluidAtPosition(pos, state);
+ return state.test(this.getFluidState(pos)); // Paper - fix
}
@Override
@@ -140,4 +140,28 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
public RegistryAccess registryAccess() {
return this.world.registryAccess();
}
+ // Paper start
+ @Override
+ public boolean isFluidAtPosition(BlockPos pos, Predicate<FluidState> state) {
+ return state.test(this.getFluidState(pos));
+ }
+
+ // Paper start
+ @Override
+ public <T extends BlockEntity> java.util.Optional<T> getBlockEntity(BlockPos pos, net.minecraft.world.level.block.entity.BlockEntityType<T> type) {
+ BlockEntity tileentity = this.getBlockEntity(pos);