diff --git a/gradle.properties b/gradle.properties index a92aea13c..ffc42ceae 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group = org.purpurmc.purpur version = 1.18.2-R0.1-SNAPSHOT -paperCommit = 443c5062c1b636e169707c2dcd7eb3ab5d6c7ed9 +paperCommit = 62dcff3e8d82b5782b5c1a2daee0eb45f6b2c649 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 66b3b9478..4082d133d 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -3260,22 +3260,6 @@ index 8a07d5d25086d7544757bb86181fbe2b5e743d29..9be1ce7f5b956f0c82151ea02e555e7d if (nbt.contains("LootTable", 8)) { this.lootTable = new ResourceLocation(nbt.getString("LootTable")); this.lootTableSeed = nbt.getLong("LootTableSeed"); -diff --git a/src/main/java/net/minecraft/world/inventory/LecternMenu.java b/src/main/java/net/minecraft/world/inventory/LecternMenu.java -index ff79925bc6437222f9ceb133e21bbc0600cc74ed..8674b35c12c87bd169d834801e71c1c5c71dc9bc 100644 ---- a/src/main/java/net/minecraft/world/inventory/LecternMenu.java -+++ b/src/main/java/net/minecraft/world/inventory/LecternMenu.java -@@ -119,6 +119,11 @@ public class LecternMenu extends AbstractContainerMenu { - } - } - } -+ -+ @Override -+ public ItemStack quickMoveStack(net.minecraft.world.entity.player.Player player, int index) { -+ return ItemStack.EMPTY; -+ } - - @Override - public void setData(int id, int value) { diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java index ffe5476d8ed15ee4384b679c341688787205ce59..9051559e78851257a56a998b4b882ebbcc394639 100644 --- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java @@ -3576,47 +3560,10 @@ index 13eded53a64d0f36f8c9bce2077de4f1c1ed2d56..303ad9eab2e0a9b73597ca4ee9d70bea return new BlockPos(i, l, j); } diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java -index 0422d787593cc65aadcae9f7517ec67a52f1f72b..e3a917480d0fe81d9b6cb24a4cf207c5e66388b8 100644 +index 32fc9f9162aafe312ed757be2d03577b5f95841d..da7e940f7a0cf96a81372e920412c7d09bab8a3c 100644 --- a/src/main/java/net/minecraft/world/level/biome/Biome.java +++ b/src/main/java/net/minecraft/world/level/biome/Biome.java -@@ -37,6 +37,36 @@ import net.minecraft.world.level.material.Fluids; - public final class Biome { - public static final Codec DIRECT_CODEC; - public static final Codec NETWORK_CODEC; -+ -+ // Pufferfish start - decompile fixes -+ static { -+ DIRECT_CODEC = RecordCodecBuilder.create((instance) -> { -+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> { -+ return biome.climateSettings; -+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> { -+ return biome.biomeCategory; -+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> { -+ return biome.specialEffects; -+ }), BiomeGenerationSettings.CODEC.forGetter((biome) -> { -+ return biome.generationSettings; -+ }), MobSpawnSettings.CODEC.forGetter((biome) -> { -+ return biome.mobSettings; -+ })).apply(instance, Biome::new); -+ }); -+ NETWORK_CODEC = RecordCodecBuilder.create((instance) -> { -+ return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> { -+ return biome.climateSettings; -+ }), Biome.BiomeCategory.CODEC.fieldOf("category").forGetter((biome) -> { -+ return biome.biomeCategory; -+ }), BiomeSpecialEffects.CODEC.fieldOf("effects").forGetter((biome) -> { -+ return biome.specialEffects; -+ })).apply(instance, (weather, category, effects) -> { -+ return new Biome(weather, category, effects, BiomeGenerationSettings.EMPTY, MobSpawnSettings.EMPTY); -+ }); -+ }); -+ } -+ // Pufferfish end -+ - public static final Codec> CODEC = RegistryFileCodec.create(Registry.BIOME_REGISTRY, DIRECT_CODEC); - public static final Codec> LIST_CODEC = RegistryCodecs.homogeneousList(Registry.BIOME_REGISTRY, DIRECT_CODEC); - private static final PerlinSimplexNoise TEMPERATURE_NOISE = new PerlinSimplexNoise(new WorldgenRandom(new LegacyRandomSource(1234L)), ImmutableList.of(0)); -@@ -52,14 +82,20 @@ public final class Biome { +@@ -74,14 +74,20 @@ public final class Biome { private final MobSpawnSettings mobSettings; private final Biome.BiomeCategory biomeCategory; private final BiomeSpecialEffects specialEffects; @@ -3638,7 +3585,7 @@ index 0422d787593cc65aadcae9f7517ec67a52f1f72b..e3a917480d0fe81d9b6cb24a4cf207c5 }); }); -@@ -101,17 +137,15 @@ public final class Biome { +@@ -123,17 +129,15 @@ public final class Biome { @Deprecated public float getTemperature(BlockPos blockPos) { long l = blockPos.asLong(); @@ -3661,24 +3608,6 @@ index 0422d787593cc65aadcae9f7517ec67a52f1f72b..e3a917480d0fe81d9b6cb24a4cf207c5 return g; } } -@@ -253,6 +287,8 @@ public final class Biome { - return biomeEntry.value().getBiomeCategory(); - } - -+ // Pufferfish - decompile fixes (what the fuck) -+ /* - static { - DIRECT_CODEC = RecordCodecBuilder.create((instance) -> { - return instance.group(Biome.ClimateSettings.CODEC.forGetter((biome) -> { -@@ -279,6 +315,8 @@ public final class Biome { - }); - }); - } -+ */ -+ // Pufferfish end - - public static class BiomeBuilder { - @Nullable diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java index e56f7d76b501dab7d549efd2fafd514a9625c24e..066f43deb5df6f79428eb0f325c2abfb31ea9254 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java