Posted October 21, 201410 yr I decided to create a new thread for this because its a different problem. I am making a mob grinder that uses a fake player to do the killing and for the most part it works fine but but i am having problems when other mods try to do certain things to it (in this case the other mod is Infernal Mobs). At first i had a problem when an infernal mob tried to affect the fake player with a potion effect but i have since fixed that now i am having trouble when a mob tries sent a data packet to the fake player. I have tracked the problem to playerNetServerHandler in my fake player is null which is giving a null pointer exception in FMLOutboundHandler. Crash log Description: Ticking block entity java.lang.NullPointerException: Ticking block entity at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:626) at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:878) at io.netty.channel.AbstractChannel.write(AbstractChannel.java:229) at io.netty.channel.embedded.EmbeddedChannel.writeOutbound(EmbeddedChannel.java:195) at atomicstryker.infernalmobs.common.network.NetworkHelper.sendPacketToPlayer(NetworkHelper.java:111) at atomicstryker.infernalmobs.common.InfernalMobsCore.sendVelocityPacket(InfernalMobsCore.java:745) at atomicstryker.infernalmobs.common.mods.MM_Blastoff.tryAbility(MM_Blastoff.java:69) at atomicstryker.infernalmobs.common.mods.MM_Blastoff.onHurt(MM_Blastoff.java:44) at atomicstryker.infernalmobs.common.MobModifier.onHurt(MobModifier.java:213) at atomicstryker.infernalmobs.common.mods.MM_Ender.onHurt(MM_Ender.java:37) at atomicstryker.infernalmobs.common.MobModifier.onHurt(MobModifier.java:213) at atomicstryker.infernalmobs.common.mods.MM_Webber.onHurt(MM_Webber.java:47) at atomicstryker.infernalmobs.common.EntityEventHandler.onEntityLivingHurt(EntityEventHandler.java:126) at cpw.mods.fml.common.eventhandler.ASMEventHandler_118_EntityEventHandler_onEntityLivingHurt_LivingHurtEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:51) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:122) at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:288) at net.minecraft.entity.EntityLivingBase.damageEntity(EntityLivingBase.java:1271) at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:880) at net.minecraft.entity.monster.EntityMob.attackEntityFrom(EntityMob.java:84) at com.brandon3055.draconicevolution.common.tileentities.TileGrinder.killNextEntity(TileGrinder.java:152) at com.brandon3055.draconicevolution.common.tileentities.TileGrinder.updateEntity(TileGrinder.java:103) at net.minecraft.world.World.updateEntities(World.java:2115) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:517) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:713) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at cpw.mods.fml.common.network.FMLOutboundHandler$OutboundTarget$4.selectNetworks(FMLOutboundHandler.java:109) at cpw.mods.fml.common.network.FMLOutboundHandler.write(FMLOutboundHandler.java:273) at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:115) at io.netty.handler.codec.MessageToMessageCodec.write(MessageToMessageCodec.java:116) at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:644) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:698) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:637) at io.netty.channel.DefaultChannelHandlerContext.write(DefaultChannelHandlerContext.java:626) at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:878) at io.netty.channel.AbstractChannel.write(AbstractChannel.java:229) at io.netty.channel.embedded.EmbeddedChannel.writeOutbound(EmbeddedChannel.java:195) at atomicstryker.infernalmobs.common.network.NetworkHelper.sendPacketToPlayer(NetworkHelper.java:111) at atomicstryker.infernalmobs.common.InfernalMobsCore.sendVelocityPacket(InfernalMobsCore.java:745) at atomicstryker.infernalmobs.common.mods.MM_Blastoff.tryAbility(MM_Blastoff.java:69) at atomicstryker.infernalmobs.common.mods.MM_Blastoff.onHurt(MM_Blastoff.java:44) at atomicstryker.infernalmobs.common.MobModifier.onHurt(MobModifier.java:213) at atomicstryker.infernalmobs.common.mods.MM_Ender.onHurt(MM_Ender.java:37) at atomicstryker.infernalmobs.common.MobModifier.onHurt(MobModifier.java:213) at atomicstryker.infernalmobs.common.mods.MM_Webber.onHurt(MM_Webber.java:47) at atomicstryker.infernalmobs.common.EntityEventHandler.onEntityLivingHurt(EntityEventHandler.java:126) at cpw.mods.fml.common.eventhandler.ASMEventHandler_118_EntityEventHandler_onEntityLivingHurt_LivingHurtEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:51) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:122) at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:288) at net.minecraft.entity.EntityLivingBase.damageEntity(EntityLivingBase.java:1271) at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:880) at net.minecraft.entity.monster.EntityMob.attackEntityFrom(EntityMob.java:84) at com.brandon3055.draconicevolution.common.tileentities.TileGrinder.killNextEntity(TileGrinder.java:152) at com.brandon3055.draconicevolution.common.tileentities.TileGrinder.updateEntity(TileGrinder.java:103) -- Block entity being ticked -- Details: Name: draconicevolution:TileGrinder // com.brandon3055.draconicevolution.common.tileentities.TileGrinder Block type: ID #169 (tile.draconicevolution:grinder // com.brandon3055.draconicevolution.common.blocks.machine.Grinder) Block data value: 0 / 0x0 / 0b0000 Block location: World: (26,71,25), Chunk: (at 10,4,9 in 1,1; contains blocks 16,0,16 to 31,255,31), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Actual block type: ID #169 (tile.draconicevolution:grinder // com.brandon3055.draconicevolution.common.blocks.machine.Grinder) Actual block data value: 0 / 0x0 / 0b0000 Stacktrace: at net.minecraft.world.World.updateEntities(World.java:2115) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:517) -- Affected level -- Details: Level name: Minning Layers All players: 1 total; [EntityPlayerMP['ForgeDevName'/393041, l='Minning Layers', x=26.66, y=75.84, z=18.06]] Chunk stats: ServerChunkCache: 1089 Drop: 0 Level seed: 3446051860655676810 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: 2;7,10x1,10x13,10x3,10x12,10x5,10x35:15,10x159:14;1;village Level spawn location: World: (0,71,0), Chunk: (at 0,4,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 11019136 game time, 6000 day time Level dimension: 0 Level storage version: 0x04ABD - Anvil Level weather: Rain time: 27969 (now: false), thunder time: 33740 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Stacktrace: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:713) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.7.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 328606760 bytes (313 MB) / 1317826560 bytes (1256 MB) up to 2077753344 bytes (1981 MB) JVM Flags: 3 total; -Xincgc -Xmx2048M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95 FML: MCP v9.05 FML v7.10.25.1199 Minecraft Forge 10.13.0.1199 16 mods loaded, 16 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available FML{7.10.25.1199} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1199.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available Forge{10.13.0.1199} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1199.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available CodeChickenCore{1.0.1.8} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available <CoFH ASM>{000} [CoFH ASM Data Initialization] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available CoFHCore{1.7.10R3.0.0B3} [CoFH Core] (CoFHCore-[1.7.10]3.0.0B3-dev-26.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available DraconicEvolution{0.9.5-Beta} [Draconic Evolution] (Draconic-Evolution) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available ExtraUtilities{1.1.0e} [Extra Utilities] (extrautilities-1.1.0e.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available InfernalMobs{1.5.6} [infernal Mobs] (InfernalMobs-1.7.10.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available Mantle{1.7.10-0.3.1.jenkins180} [Mantle] (Mantle-mc1.7.10-0.3.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available ThermalFoundation{1.7.10R1.0.0B1} [Thermal Foundation] (ThermalFoundation-[1.7.10]1.0.0B1-dev-6.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available ThermalExpansion{1.7.10R4.0.0B3} [Thermal Expansion] (ThermalExpansion-[1.7.10]4.0.0B3-dev-11.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available RedstoneArsenal{1.7.10R1.1.0B3} [Redstone Arsenal] (RedstoneArsenal-[1.7.10]1.1.0B3-dev-8.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available TConstruct{1.7.10-1.6.0.build611} [Tinkers' Construct] (TConstruct_mc1.7.10_1.6.0d40.1.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available TMechworks{1.7.10-67.34d1d9b} [Tinkers' Mechworks] (TMechworks_mc1.7.10_0.2.8.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available->Available->Available->Available Mantle Environment: Environment healthy. TConstruct Environment: Environment healthy. Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['ForgeDevName'/393041, l='Minning Layers', x=26.66, y=75.84, z=18.06]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2014-10-21_21.48.49-server.txt Disconnected from the target VM, address: '127.0.0.1:50064', transport: 'socket' AL lib: (EE) alc_cleanup: 1 device not closed Process finished with exit code -1 Unfortunately finding the problem was the easy part i have been working on this for over a day and havent even come close to finding a solution yet. Im hoping someone more experienced can help me with this problem. I am the author of Draconic Evolution
October 22, 201410 yr Last I checked you don't need a fakeplayer to make mobs drop their rare-drops. There is (was) an int field you can set in the entity that denotes a timer since it was last hit by a player. If this timer>0 when it dies, it drops rare/player only loot. Simply set the timer to 1, and do whatever to kill the entity (I generally call entity.attackEntityFrom(genericSource, entityHealth). Upon further investigation, the field is still there, in EntityLivingBase. protected int recentlyHit; Use reflection / AT to set this to a value >0. Viola, the mob now drops 'rare' loot.
October 22, 201410 yr Author I have never used reflection and from what i have read is is best to avoid it unless absolutely necessary but if there is no other option i will look into it. Edit: I got it to work thanks for your help. I am the author of Draconic Evolution
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.