hsgill97@gmail.com Posted November 13, 2015 Posted November 13, 2015 I have this "AlienCell" that is a tileEntity. I want to capture any entity that hits the block.I already have it setup, It crashes when saving though. TileEntity Reveal hidden contents public class TileEntityAlienCell extends TileEntity { public boolean empty=true; public Entity mob; @Override public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); empty=compound.getBoolean("empty"); if(!empty) mob=EntityList.createEntityFromNBT(compound.getCompoundTag("mob"), worldObj); } @Override public void writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); NBTTagCompound EntityNBT=new NBTTagCompound(); if(!empty) mob.writeToNBTOptional(EntityNBT); compound.setBoolean("empty", empty); compound.setTag("mob", EntityNBT); } } Block Reveal hidden contents public class AlienCell extends BlockContainer { public AlienCell() { super(Material.iron); this.setCreativeTab(Main.aliensTabTech); this.setHardness(12.0F); this.setCellBounds(); } @Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { TileEntityAlienCell cell = (TileEntityAlienCell) worldIn.getTileEntity(pos); if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null) { if (entityIn instanceof EntityPlayerMP) { } else { cell.mob.copyDataFromOld(entityIn); cell.empty=false; } } } public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos) { this.setCellBounds(); } private void setCellBounds() { this.setBlockBounds(-1.064F, 0.0F, -0.56F, 1.06F, 2.85F, 1.25F); } public int getRenderType() { return -1; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityAlienCell(); } } Crash Reveal hidden contents ---- Minecraft Crash Report ---- // Ouch. That hurt Time: 11/12/15 4:58 PM Description: Colliding entity with block java.lang.NullPointerException: Colliding entity with block at com.madmodding.space.blocks.AlienCell.onEntityCollidedWithBlock(AlienCell.java:57) at net.minecraft.entity.Entity.doBlockCollisions(Entity.java:924) at net.minecraft.entity.Entity.moveEntity(Entity.java:850) at net.minecraft.entity.EntityLivingBase.moveEntityWithHeading(EntityLivingBase.java:1699) at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2026) at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:449) at net.minecraft.entity.EntityAgeable.onLivingUpdate(EntityAgeable.java:173) at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1828) at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:273) at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2031) at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:758) at net.minecraft.world.World.updateEntity(World.java:1997) at net.minecraft.world.World.updateEntities(World.java:1823) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:587) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:775) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) at java.lang.Thread.run(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at com.madmodding.space.blocks.AlienCell.onEntityCollidedWithBlock(AlienCell.java:57) -- Block being collided with -- Details: Block: space:alienCell Block location: World: (-640,4,-1553), Chunk: (at 0,0,15 in -40,-98; contains blocks -640,0,-1568 to -625,255,-1553), Region: (-2,-4; contains chunks -64,-128 to -33,-97, blocks -1024,0,-2048 to -513,255,-1537) Stacktrace: at net.minecraft.entity.Entity.doBlockCollisions(Entity.java:924) -- Entity being checked for collision -- Details: Entity Type: Villager (net.minecraft.entity.passive.EntityVillager) Entity ID: 230623 Entity Name: Villager Entity's Exact location: -639.50, 4.67, -1553.29 Entity's Block location: -640.00,4.00,-1554.00 - World: (-640,4,-1554), Chunk: (at 0,0,14 in -40,-98; contains blocks -640,0,-1568 to -625,255,-1553), Region: (-2,-4; contains chunks -64,-128 to -33,-97, blocks -1024,0,-2048 to -513,255,-1537) Entity's Momentum: 0.00, 0.04, 0.06 Entity's Rider: ~~ERROR~~ NullPointerException: null Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.entity.Entity.moveEntity(Entity.java:850) at net.minecraft.entity.EntityLivingBase.moveEntityWithHeading(EntityLivingBase.java:1699) at net.minecraft.entity.EntityLivingBase.onLivingUpdate(EntityLivingBase.java:2026) at net.minecraft.entity.EntityLiving.onLivingUpdate(EntityLiving.java:449) at net.minecraft.entity.EntityAgeable.onLivingUpdate(EntityAgeable.java:173) at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1828) at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:273) at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2031) at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:758) at net.minecraft.world.World.updateEntity(World.java:1997) -- Entity being ticked -- Details: Entity Type: Villager (net.minecraft.entity.passive.EntityVillager) Entity ID: 230623 Entity Name: Villager Entity's Exact location: -639.50, 4.67, -1553.29 Entity's Block location: -640.00,4.00,-1554.00 - World: (-640,4,-1554), Chunk: (at 0,0,14 in -40,-98; contains blocks -640,0,-1568 to -625,255,-1553), Region: (-2,-4; contains chunks -64,-128 to -33,-97, blocks -1024,0,-2048 to -513,255,-1537) Entity's Momentum: 0.00, 0.04, 0.06 Entity's Rider: ~~ERROR~~ NullPointerException: null Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.world.World.updateEntities(World.java:1823) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:587) -- Affected level -- Details: Level name: New World All players: 1 total; [EntityPlayerMP['Arideus'/26, l='New World', x=-638.38, y=5.00, z=-1556.23]] Chunk stats: ServerChunkCache: 1347 Drop: 0 Level seed: 1319145234 Level generator: ID 01 - flat, ver 0. Features enabled: true Level generator options: Level spawn location: -633.00,4.00,-1546.00 - World: (-633,4,-1546), Chunk: (at 7,0,6 in -40,-97; contains blocks -640,0,-1552 to -625,255,-1537), Region: (-2,-4; contains chunks -64,-128 to -33,-97, blocks -1024,0,-2048 to -513,255,-1537) Level time: 795 game time, 795 day time Level dimension: 0 Level storage version: 0x04ABD - Anvil Level weather: Rain time: 46645 (now: false), thunder time: 162414 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Stacktrace: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:775) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) at java.lang.Thread.run(Unknown Source) -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_65, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 3876190920 bytes (3696 MB) / 4260102144 bytes (4062 MB) up to 4260102144 bytes (4062 MB) JVM Flags: 3 total; -Xincgc -Xmx4096M -Xms4096M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.3.1561 4 mods loaded, 4 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.3.1561.jar) UCHIJAAAA Forge{11.14.3.1561} [Minecraft Forge] (forgeSrc-1.8-11.14.3.1561.jar) UCHIJAAAA space{0.1.8} [beyondSolar] (bin) Loaded coremods (and transformers): GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread. Profiler Position: N/A (disabled) Player Count: 1 / 8; [EntityPlayerMP['Arideus'/26, l='New World', x=-638.38, y=5.00, z=-1556.23]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' Quote
hsgill97@gmail.com Posted November 13, 2015 Author Posted November 13, 2015 I tried and I get a crash. I updated main post with the code and crash report. I tested it with a villager by having water push the villager into the block. looking at report null pointer from Entity's Rider: ~~ERROR~~ NullPointerException: null Entity's Vehicle: ~~ERROR~~ NullPointerException: null Quote
hsgill97@gmail.com Posted November 13, 2015 Author Posted November 13, 2015 I use copydataold to copy the information from the entityIn to cell.mob(i'll try cell.mob=entityIn). I don't know what to initialize as because the entity could be a creeper villager or any other mob. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.