SPIGOT-5731: PortalCreateEvent#getEntity returns null for nether portals ignited by flint and steel
By: md_5 <git@md-5.net>
This commit is contained in:
@@ -1,6 +1,30 @@
|
||||
--- a/net/minecraft/world/level/block/state/BlockBase.java
|
||||
+++ b/net/minecraft/world/level/block/state/BlockBase.java
|
||||
@@ -173,8 +173,10 @@
|
||||
@@ -81,6 +81,10 @@
|
||||
import net.minecraft.world.phys.shapes.VoxelShapeCollision;
|
||||
import net.minecraft.world.phys.shapes.VoxelShapes;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import net.minecraft.world.item.context.ItemActionContext;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public abstract class BlockBase implements FeatureElement {
|
||||
|
||||
protected static final EnumDirection[] UPDATE_SHAPE_ORDER = new EnumDirection[]{EnumDirection.WEST, EnumDirection.EAST, EnumDirection.NORTH, EnumDirection.SOUTH, EnumDirection.DOWN, EnumDirection.UP};
|
||||
@@ -156,6 +160,12 @@
|
||||
|
||||
protected void onPlace(IBlockData iblockdata, World world, BlockPosition blockposition, IBlockData iblockdata1, boolean flag) {}
|
||||
|
||||
+ // CraftBukkit start
|
||||
+ protected void onPlace(IBlockData iblockdata, World world, BlockPosition blockposition, IBlockData iblockdata1, boolean flag, @Nullable ItemActionContext context) {
|
||||
+ this.onPlace(iblockdata, world, blockposition, iblockdata1, flag);
|
||||
+ }
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
protected void onRemove(IBlockData iblockdata, World world, BlockPosition blockposition, IBlockData iblockdata1, boolean flag) {
|
||||
if (iblockdata.hasBlockEntity() && !iblockdata.is(iblockdata1.getBlock())) {
|
||||
world.removeBlockEntity(blockposition);
|
||||
@@ -173,8 +183,10 @@
|
||||
TileEntity tileentity = iblockdata.hasBlockEntity() ? world.getBlockEntity(blockposition) : null;
|
||||
LootParams.a lootparams_a = (new LootParams.a(worldserver)).withParameter(LootContextParameters.ORIGIN, Vec3D.atCenterOf(blockposition)).withParameter(LootContextParameters.TOOL, ItemStack.EMPTY).withOptionalParameter(LootContextParameters.BLOCK_ENTITY, tileentity).withOptionalParameter(LootContextParameters.THIS_ENTITY, explosion.getDirectSourceEntity());
|
||||
|
||||
@@ -13,3 +37,18 @@
|
||||
}
|
||||
|
||||
iblockdata.spawnAfterBreak(worldserver, blockposition, ItemStack.EMPTY, flag);
|
||||
@@ -1066,7 +1078,13 @@
|
||||
}
|
||||
|
||||
public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata, boolean flag) {
|
||||
- this.getBlock().onPlace(this.asState(), world, blockposition, iblockdata, flag);
|
||||
+ // CraftBukkit start
|
||||
+ this.onPlace(world, blockposition, iblockdata, flag, null);
|
||||
+ }
|
||||
+
|
||||
+ public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata, boolean flag, @Nullable ItemActionContext context) {
|
||||
+ this.getBlock().onPlace(this.asState(), world, blockposition, iblockdata, flag, context);
|
||||
+ // CraftBukkit end
|
||||
}
|
||||
|
||||
public void onRemove(World world, BlockPosition blockposition, IBlockData iblockdata, boolean flag) {
|
||||
|
||||
Reference in New Issue
Block a user