|
| 1 | +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Nassim Jahnke <jahnke.nassim@gmail.com> |
| 3 | +Date: Fri, 4 Mar 2022 20:35:19 +0100 |
| 4 | +Subject: [PATCH] Fix falling block spawn methods |
| 5 | + |
| 6 | + |
| 7 | +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java |
| 8 | +index 850131e601047ab1c585a6f8883ac3c0d0e97ba1..99cb7625d50d5da4ce0999e10fb84403958a7ffe 100644 |
| 9 | +--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java |
| 10 | ++++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java |
| 11 | +@@ -549,7 +549,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { |
| 12 | + // Paper end |
| 13 | + } else if (FallingBlock.class.isAssignableFrom(clazz)) { |
| 14 | + BlockPos pos = new BlockPos(x, y, z); |
| 15 | +- entity = FallingBlockEntity.fall(world, pos, this.getHandle().getBlockState(pos)); |
| 16 | ++ entity = new FallingBlockEntity(world, x, y, z, this.getHandle().getBlockState(pos)); // Paper |
| 17 | + } else if (Projectile.class.isAssignableFrom(clazz)) { |
| 18 | + if (Snowball.class.isAssignableFrom(clazz)) { |
| 19 | + entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); |
| 20 | +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java |
| 21 | +index b2c5fbfcb64f3056d7975db43b2db45bfd5e9890..028663b86970b8a1ae3e5275429516ee00ef0a04 100644 |
| 22 | +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java |
| 23 | ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java |
| 24 | +@@ -1416,7 +1416,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { |
| 25 | + Validate.notNull(material, "Material cannot be null"); |
| 26 | + Validate.isTrue(material.isBlock(), "Material must be a block"); |
| 27 | + |
| 28 | +- FallingBlockEntity entity = FallingBlockEntity.fall(world, new BlockPos(location.getX(), location.getY(), location.getZ()), CraftMagicNumbers.getBlock(material).defaultBlockState()); |
| 29 | ++ FallingBlockEntity entity = new FallingBlockEntity(this.world, location.getX(), location.getY(), location.getZ(), CraftMagicNumbers.getBlock(material).defaultBlockState()); // Paper |
| 30 | + entity.time = 1; |
| 31 | + |
| 32 | + this.world.addFreshEntity(entity, SpawnReason.CUSTOM); |
| 33 | +@@ -1428,7 +1428,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { |
| 34 | + Validate.notNull(location, "Location cannot be null"); |
| 35 | + Validate.notNull(data, "Material cannot be null"); |
| 36 | + |
| 37 | +- FallingBlockEntity entity = FallingBlockEntity.fall(world, new BlockPos(location.getX(), location.getY(), location.getZ()), ((CraftBlockData) data).getState()); |
| 38 | ++ FallingBlockEntity entity = new FallingBlockEntity(this.world, location.getX(), location.getY(), location.getZ(), ((CraftBlockData) data).getState()); // Paper |
| 39 | + entity.time = 1; |
| 40 | + |
| 41 | + this.world.addFreshEntity(entity, SpawnReason.CUSTOM); |
0 commit comments