Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

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.

 

 

  • 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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.