geforkt von Mirrors/Paper
90fe0d58a5
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: 897a0a23 SPIGOT-5753: Back PotionType by a minecraft registry 255b2aa1 SPIGOT-7080: Add World#locateNearestBiome ff984826 Remove javadoc.io doc links CraftBukkit Changes: 71b0135cc SPIGOT-5753: Back PotionType by a minecraft registry a6bcb8489 SPIGOT-7080: Add World#locateNearestBiome ad0e57434 SPIGOT-7502: CraftMetaItem - cannot deserialize BlockStateTag b3efca57a SPIGOT-6400: Use Mockito instead of InvocationHandler 38c599f9d PR-1272: Only allow one entity in CraftItem instead of two f065271ac SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld Spigot Changes: e0e223fe Remove javadoc.io doc links
73 Zeilen
3.4 KiB
Diff
73 Zeilen
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Sun, 12 Jun 2022 13:25:52 -0400
|
|
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 6fbf1eab2ea818a0dd0adde0c9247a2d95aac2e0..311808903b42a03b28bad8c75223f95aeecbdfa6 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
|
|
@@ -129,7 +129,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
|
|
@@ -152,4 +152,33 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
|
|
public long nextSubTickCount() {
|
|
return this.world.nextSubTickCount();
|
|
}
|
|
+
|
|
+ // 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);
|
|
+
|
|
+ return tileentity != null && tileentity.getType() == type ? (java.util.Optional<T>) java.util.Optional.of(tileentity) : java.util.Optional.empty();
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public BlockPos getHeightmapPos(net.minecraft.world.level.levelgen.Heightmap.Types heightmap, BlockPos pos) {
|
|
+ return world.getHeightmapPos(heightmap, pos);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public int getHeight(net.minecraft.world.level.levelgen.Heightmap.Types heightmap, int x, int z) {
|
|
+ return world.getHeight(heightmap, x, z);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public int getRawBrightness(BlockPos pos, int ambientDarkness) {
|
|
+ return world.getRawBrightness(pos, ambientDarkness);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public int getBrightness(net.minecraft.world.level.LightLayer type, BlockPos pos) {
|
|
+ return world.getBrightness(type, pos);
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
|
index d5861dfa771c4eb217e082e3c832c3a6c603710d..1233788274f1cbdaa564d3145214b4908ae1f573 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
|
@@ -274,4 +274,13 @@ public class DummyGeneratorAccess implements WorldGenLevel {
|
|
@Override
|
|
public <T> void getEntitiesByClass(Class<? extends T> clazz, Entity except, AABB box, List<? super T> into, Predicate<? super T> predicate) {}
|
|
// Paper end
|
|
+ // Paper start - add more methods
|
|
+ public void scheduleTick(BlockPos pos, Fluid fluid, int delay) {}
|
|
+
|
|
+ @Override
|
|
+ public void scheduleTick(BlockPos pos, Block block, int delay, net.minecraft.world.ticks.TickPriority priority) {}
|
|
+
|
|
+ @Override
|
|
+ public void scheduleTick(BlockPos pos, Fluid fluid, int delay, net.minecraft.world.ticks.TickPriority priority) {}
|
|
+ // Paper end - add more methods
|
|
}
|