@SubscribeEvent public void onLivingUpdate(LivingUpdateEvent event) { if (event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; MainExtendedPlayer props = MainExtendedPlayer.get(player); if (props.getUsedFruit().equals("gomugomu") || props.getUsedFruit().equals("banebane") || props.isLogia() || (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == ListMisc.Geppo)) player.fallDistance = 0; } }
@SubscribeEvent public void onPlayerDrinkMilk(PlayerInteractEvent event) { if (Config.allowMilkRemove_actual && event.action.RIGHT_CLICK_AIR != null && event.entityPlayer != null && event.entityPlayer.inventory.getCurrentItem() != null && event.entityPlayer.inventory.getCurrentItem().getItem() == Items.milk_bucket && !event.world.isRemote) { MainExtendedPlayer props = MainExtendedPlayer.get(event.entityPlayer); for (int i = 0; i < Helper.abilities.size(); i++) event.entityPlayer.inventory.consumeInventoryItem(Helper.abilities.get(i)); props.setUsedFruit("N/A"); props.setIsLogia(false); Main.network.sendTo(new PacketSync(props), (EntityPlayerMP) event.entityPlayer); } }
@SubscribeEvent public void onAttackEvent(LivingAttackEvent event) { if (event.source.getSourceOfDamage() instanceof EntityLivingBase) { boolean flag1 = event.entityLiving instanceof IOnePieceMob && ((IOnePieceMob) event.entityLiving).hasHaki(); if (event.entityLiving instanceof IOnePieceMob && ((IOnePieceMob) event.entityLiving).isLogia()) if (!flag1) event.setCanceled(true); if (event.entityLiving instanceof EntityPlayer && MainExtendedPlayer.get((EntityPlayer) event.entityLiving).isLogia()) if (!flag1) event.setCanceled(true); } if (event.source.getSourceOfDamage() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.source.getSourceOfDamage(); MainExtendedPlayer props = MainExtendedPlayer.get(player); ItemStack heldItem = player.getCurrentEquippedItem(); boolean flag1 = heldItem != null && heldItem.getItem() instanceof ItemSword && EnchantmentHelper.getEnchantmentLevel(ListEffects.kairoseki.effectId, heldItem) > 0; boolean flag2 = heldItem != null && heldItem.getItem() instanceof Haki && ((Haki) heldItem.getItem()).type.equals("busoshoku") && heldItem.stackTagCompound != null && heldItem.stackTagCompound.getBoolean("use"); if (event.entityLiving instanceof IOnePieceMob && ((IOnePieceMob) event.entityLiving).isLogia()) if (!flag1 || !flag2) event.setCanceled(true); if (event.entityLiving instanceof EntityPlayer && MainExtendedPlayer.get((EntityPlayer) event.entityLiving).isLogia()) if (!flag1 || !flag2) event.setCanceled(true); } if (event.source.getSourceOfDamage() instanceof EntityArrow) { EntityLivingBase living = (EntityLivingBase) event.entityLiving; if (living instanceof EntityPlayer && MainExtendedPlayer.get((EntityPlayer) living).isLogia()) event.setCanceled(true); if (living instanceof EntityPlayer && MainExtendedPlayer.get((EntityPlayer) living).getUsedFruit().equals("gomugomu")) event.setCanceled(true); } if (event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; MainExtendedPlayer props = MainExtendedPlayer.get(player); if (props.getUsedFruit().equals("meramera") && (event.source.equals(DamageSource.inFire) || event.source.equals(DamageSource.onFire))) { player.extinguish(); event.setCanceled(true); } if (props.getUsedFruit().equals("magumagu") && (event.source.equals(DamageSource.inFire) || event.source.equals(DamageSource.onFire) || event.source.equals(DamageSource.lava))) { player.extinguish(); event.setCanceled(true); } } }