diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index d5354b59a..cf96e2e28 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -14,6 +14,7 @@ import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; +import com.hbm.entity.train.EntityRailCarBase.BoundingBoxDummyEntity; import com.hbm.entity.train.EntityRailCarRidable.SeatDummyEntity; import com.hbm.entity.train.TrainCargoTram; import com.hbm.main.MainRegistry; @@ -212,6 +213,7 @@ public class EntityMappings { addEntity(EntityMist.class, "entity_mist", 1000); addEntity(SeatDummyEntity.class, "entity_ntm_seat_dummy", 250, false); + addEntity(BoundingBoxDummyEntity.class, "entity_ntm_bounding_dummy", 250, false); addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 39a31c625..f146af9de 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -196,4 +196,14 @@ public abstract class EntityRailCarBase extends Entity { this.velocityY = this.motionY = mY; this.velocityZ = this.motionZ = mZ; } + + /** Invisible entities that make up the dynamic bounding structure of the train, moving as the train rotates. */ + public static class BoundingBoxDummyEntity extends Entity { + public BoundingBoxDummyEntity(World world) { this(world, 1F, 1F); } + public BoundingBoxDummyEntity(World world, float width, float height) { super(world); this.setSize(width, height);} + @Override protected void entityInit() { } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } + @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 3d2f6805b..6b6bb08fc 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -120,6 +120,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { public abstract Vec3[] getPassengerSeats(); + /** Dynamic seats generated when a player clicks near a seat-spot, moves and rotates with the train as one would expect. */ public static class SeatDummyEntity extends Entity { public SeatDummyEntity(World world) { super(world); this.setSize(0.5F, 0.1F);} @Override protected void entityInit() { } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 599287701..1de7e31a5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -202,7 +202,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public int[] getAccessibleSlotsFromSide(int side) { - return side == 0 ? new int[] { 3 } : new int[] { 0, 1, 2 }; + return new int[] { 0, 1, 2, 3 }; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java index e906bc154..f0b6a5500 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java @@ -273,7 +273,7 @@ public class TileEntitySawmill extends TileEntityMachineBase { } if(names.contains("plankWood")) { - return new ItemStack(Items.stick, 4); + return new ItemStack(Items.stick, 6); } if(names.contains("treeSapling")) {