From a988367471f2548e91dbd4942f0b441b57486d48 Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 2 Apr 2024 00:33:47 -0400 Subject: [PATCH 1/2] getIsPassable --- src/api | 2 +- .../npcs/scripted/BlockScriptedWrapper.java | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/api b/src/api index 2fc048b93..748939619 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 2fc048b93e0f58ea59a4c7f943b7b46a98d42ee9 +Subproject commit 7489396198dde521e5b79eaecb2aeac9ca6e9862 diff --git a/src/main/java/noppes/npcs/scripted/BlockScriptedWrapper.java b/src/main/java/noppes/npcs/scripted/BlockScriptedWrapper.java index 33b97e4c1..6c6b81605 100644 --- a/src/main/java/noppes/npcs/scripted/BlockScriptedWrapper.java +++ b/src/main/java/noppes/npcs/scripted/BlockScriptedWrapper.java @@ -81,12 +81,24 @@ public class BlockScriptedWrapper extends ScriptBlock implements IBlockScripted{ @Override public void setIsPassible(boolean bo){ + setIsPassable(bo); + } + + @Override + public boolean getIsPassible(){ + return getIsPassable(); + } + + @Override + public void setIsPassable(boolean bo){ tile.isPassible = bo; tile.needsClientUpdate = true; } @Override - public boolean getIsPassible(){ + public boolean getIsPassable(){ + if(tile == null) + return false; return tile.isPassible; } @@ -97,6 +109,8 @@ public class BlockScriptedWrapper extends ScriptBlock implements IBlockScripted{ @Override public int getLight(){ + if(tile == null) + return 0; return tile.lightValue; } From b9170d77f51cc4b008b7b6d0627e18369f38327a Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 2 Apr 2024 01:41:03 -0400 Subject: [PATCH 2/2] Show Selected Box for Blocks with Block Model or AIR --- src/main/java/noppes/npcs/blocks/BlockScripted.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/noppes/npcs/blocks/BlockScripted.java b/src/main/java/noppes/npcs/blocks/BlockScripted.java index 5dc6c6bfd..f1b4b9266 100644 --- a/src/main/java/noppes/npcs/blocks/BlockScripted.java +++ b/src/main/java/noppes/npcs/blocks/BlockScripted.java @@ -7,6 +7,7 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -40,7 +41,7 @@ public class BlockScripted extends BlockContainer { @Override public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { TileScripted tile = (TileScripted) world.getTileEntity(x, y, z); - if (tile != null && tile.isPassible) + if (tile != null && tile.isPassible && (tile.blockModel == null || tile.blockModel == Blocks.air)) return AABB_EMPTY; return AABB.getOffsetBoundingBox(x,y,z); } @@ -53,6 +54,13 @@ public class BlockScripted extends BlockContainer { return AABB.getOffsetBoundingBox(x,y,z); } + @Override + public boolean getBlocksMovement(IBlockAccess worldIn, int x, int y, int z) + { + TileScripted tile = (TileScripted) worldIn.getTileEntity(x, y, z); + return tile != null && tile.isPassible; + } + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if (world.isRemote)