fcelon Posted June 12, 2017 Posted June 12, 2017 (edited) Hello, Is there any way, how to get informations about the projectile, that has hit entity? I want to know, if arrow that has hit entity has custom tag. I tried to use LivingHurtEvent, but it does not seem to work correctly. According to http://jabelarminecraft.blogspot.cz/p/minecraft-forge-172-finding-block.html event.source.getEntity() returns any entity that dealt it (the arrow) However, for me it always return enther the player or null. @SubscribeEvent(priority=EventPriority.HIGHEST, receiveCanceled=true) public void onEvent(LivingHurtEvent event) { Entity entitysource = event.getSource().getSourceOfDamage(); if (entitysource instanceof EntityLivingBase) { if (event.getSource().isProjectile()) { System.out.println(event.getSource().getEntity()); } } } Output: [17:03:19] [Server thread/INFO]: [STDOUT]: EntityPlayerMP['Player911'/7, l='Testing world', x=237.17, y=56.00, z=-111.85] [17:03:19] [Client thread/INFO]: [STDOUT]: null Thanks for any help. Edited August 7, 2017 by fcelon I no longer have this issue. Quote
Choonster Posted June 12, 2017 Posted June 12, 2017 If you update to the latest MCP mappings, DamageSource#getSourceOfDamage/getEntity have been renamed to DamageSource#getImmediateSource/getTrueSource respectively. This makes it clearer which entity is which. Quote Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
fcelon Posted June 12, 2017 Author Posted June 12, 2017 For me it is EntityPlayer in both cases (getEntity and getSourceOfDamage). Do I have to upgrade to latest forge version? Quote
fcelon Posted August 7, 2017 Author Posted August 7, 2017 Oh, and now it works. I don't know what I' ve been doing wrong all the time. 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.