Posted April 21, 20232 yr I have an AttackEntityEvent and I can't get it to cancel. public class ModEvents { @Mod.EventBusSubscriber(modid = GreekMythsMod.MOD_ID) public class ForgeEvents { @SubscribeEvent public static void onPlayerAttackEntity(AttackEntityEvent event) { ItemStack item = event.getEntity().getItemInHand(InteractionHand.MAIN_HAND); if (item == new ItemStack(ModItems.CELESTIAL_BRONZE_SWORD.get(), 1) && !(event.getTarget() instanceof Enemy)) { event.setCancelled(true); } } } } It is supposed to check if you are holding a celestial bronze sword and you are not hitting an enemy. It says that AttackEntityEvent is not cancelable. Please don't put anything from 1.16.5, 1.12.2, 1.14, 1.15, 1.0, or anything not 1.18.x or 1.19.x!
April 21, 20232 yr A workaround I would do for this is to just make the attack do 0 damage. I'm not good at modding, but at least I can read a crash report (well enough). That's something, right?
April 21, 20232 yr Author I don't want to do that because then it would still show an animation. Please don't put anything from 1.16.5, 1.12.2, 1.14, 1.15, 1.0, or anything not 1.18.x or 1.19.x!
April 21, 20232 yr Author Also, the only one that sets damage (LivingHurtEvent) doesn't let me get the target. Please don't put anything from 1.16.5, 1.12.2, 1.14, 1.15, 1.0, or anything not 1.18.x or 1.19.x!
April 21, 20232 yr Quote It says that AttackEntityEvent is not cancelable Not true. https://github.com/MinecraftForge/MinecraftForge/blob/b398f52a7f9885b2a181092d04af9679d4fb3e6b/src/main/java/net/minecraftforge/event/entity/player/AttackEntityEvent.java#L21 Quote if (item == new ItemStack(ModItems.CELESTIAL_BRONZE_SWORD.get(), 1) && !(event.getTarget() instanceof Enemy)) { There is zero possiblity the ItemStack in the player's inventory will be referentially equal to a new instance of an ItemStack. Perhaps you meant? if (item.is(ModItems.CELESTIAL_BRONZE_SWORD.get()) && !(event.getTarget() instanceof Enemy)) { Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
April 21, 20232 yr Author So Gradle stopped throwing errors, maybe I had a typo? Thank you for your help. Please don't put anything from 1.16.5, 1.12.2, 1.14, 1.15, 1.0, or anything not 1.18.x or 1.19.x!
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.