use of uk.co.wehavecookies56.kk.common.entity.mobs.IKHMob in project Kingdom-Keys-Re-Coded by Wehavecookies56.
the class EntityEvents method onLivingDrops.
@SubscribeEvent
public void onLivingDrops(LivingDropsEvent event) {
for (int i = 0; i < entityDrops.size(); i++) {
if (entityDrops.get(i).getDroppedFrom().isInstance(event.getEntity())) {
addEntityDrop(event, entityDrops.get(i));
}
}
// Remove any summoned keyblades or org weapons on death
if (event.getEntity() instanceof EntityPlayer) {
for (int i = 0; i < event.getDrops().size(); i++) {
if (event.getDrops().get(i).getItem().getItem() instanceof ItemKeyblade && (event.getDrops().get(i).getItem().getItem() != ModItems.WoodenKeyblade && event.getDrops().get(i).getItem().getItem() != ModItems.WoodenStick)) {
event.getDrops().remove(i);
event.getEntity().getCapability(ModCapabilities.SUMMON_KEYBLADE, null).setIsKeybladeSummoned(EnumHand.MAIN_HAND, false);
i = 0;
}
if (event.getDrops().get(i).getItem().getItem() == event.getEntity().getCapability(ModCapabilities.ORGANIZATION_XIII, null).currentWeapon()) {
event.getDrops().remove(i);
event.getEntity().getCapability(ModCapabilities.ORGANIZATION_XIII, null).setWeaponSummoned(((EntityPlayer) event.getEntity()).getActiveHand(), false);
i = 0;
}
}
}
if (!MainConfig.entities.disableDrops) {
if (event.getSource().getTrueSource() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
if (!ItemStack.areItemStacksEqual(player.getHeldItem(player.getActiveHand()), ItemStack.EMPTY)) {
if (player.getHeldItem(player.getActiveHand()).getItem() instanceof ItemKeyblade) {
if (event.getEntity() instanceof EntityMob)
if (Arrays.asList(MainConfig.entities.dropsList).contains("recipe"))
dropRecipe(event);
}
}
if (!ItemStack.areItemStacksEqual(player.getHeldItem(EnumHand.OFF_HAND), ItemStack.EMPTY)) {
if (player.getHeldItem(player.getActiveHand()).getItem() instanceof ItemKeyblade) {
if (event.getEntity() instanceof EntityMob)
if (Arrays.asList(MainConfig.entities.dropsList).contains("recipe"))
dropRecipe(event);
}
}
if (!ItemStack.areItemStacksEqual(player.getHeldItem(player.getActiveHand()), ItemStack.EMPTY)) {
if (player.getHeldItem(player.getActiveHand()).getItem() instanceof ItemRealKeyblade) {
if (event.getEntity() instanceof EntityAnimal) {
if (Arrays.asList(MainConfig.entities.dropsList).contains("heart"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.Heart), 2);
} else if (event.getEntity() instanceof EntityMob) {
if (Arrays.asList(MainConfig.entities.dropsList).contains("darkheart")) {
if (!(event.getEntityLiving() instanceof IKHMob && ((IKHMob) event.getEntityLiving()).getType() == MobType.HEARTLESS_PUREBLOOD))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.DarkHeart), 2);
}
if (Arrays.asList(MainConfig.entities.dropsList).contains("spellorb") && event.getEntity() instanceof EntityWitch) {
int rand;
rand = Utils.randomWithRange(1, 30);
if (rand == 1)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicFire), 1);
else if (rand == 5)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicBlizzard), 1);
else if (rand == 9)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicThunder), 1);
else if (rand == 13)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicCure), 1);
else if (rand == 17) {
// event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicGravity), 1);
} else if (rand == 21)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicAero), 1);
else if (rand == 25)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicStop), 1);
}
} else if (event.getEntity() instanceof EntityAgeable)
if (Arrays.asList(MainConfig.entities.dropsList).contains("pureheart"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.PureHeart), 2);
if (event.getEntity() instanceof EntityDragon || event.getEntity() instanceof EntityWither) {
if (Arrays.asList(MainConfig.entities.dropsList).contains("kingdomhearts"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.KingdomHearts), 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("recipe"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.Recipe), 1);
}
}
}
if (!ItemStack.areItemStacksEqual(player.getHeldItem(EnumHand.OFF_HAND), ItemStack.EMPTY)) {
if (player.getHeldItem(EnumHand.OFF_HAND).getItem() instanceof ItemRealKeyblade) {
if (event.getEntity() instanceof EntityAnimal)
if (Arrays.asList(MainConfig.entities.dropsList).contains("heart"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.Heart), 2);
else if (event.getEntity() instanceof EntityMob) {
if (Arrays.asList(MainConfig.entities.dropsList).contains("darkheart"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.DarkHeart), 2);
if (Arrays.asList(MainConfig.entities.dropsList).contains("spellorb") && event.getEntity() instanceof EntityWitch) {
int rand;
rand = Utils.randomWithRange(1, 30);
if (rand == 1)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicFire), 1);
else if (rand == 5)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicBlizzard), 1);
else if (rand == 9)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicThunder), 1);
else if (rand == 13)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicCure), 1);
else if (rand == 17) {
// event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicGravity), 1);
} else if (rand == 21)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicAero), 1);
else if (rand == 25)
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.LevelUpMagicStop), 1);
}
} else if (event.getEntity() instanceof EntityAgeable)
if (Arrays.asList(MainConfig.entities.dropsList).contains("pureheart"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.PureHeart), 2);
if (event.getEntity() instanceof EntityDragon || event.getEntity() instanceof EntityWither) {
if (Arrays.asList(MainConfig.entities.dropsList).contains("kingdomhearts"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.KingdomHearts), 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("recipe"))
event.getEntityLiving().entityDropItem(new ItemStack(ModItems.Recipe), 1);
}
}
}
ItemStack munny = new ItemStack(ModItems.Munny, 1);
munny.setTagCompound(new NBTTagCompound());
ItemStack driveOrb = new ItemStack(ModItems.DriveOrb, 1);
driveOrb.setTagCompound(new NBTTagCompound());
ItemStack magicOrb = new ItemStack(ModItems.MagicOrb, 1);
magicOrb.setTagCompound(new NBTTagCompound());
ItemStack HPOrb = new ItemStack(ModItems.HpOrb, 1);
if (event.getEntity() instanceof EntityAnimal) {
munny.getTagCompound().setInteger("amount", Utils.randomWithRange(1, 20));
if (Arrays.asList(MainConfig.entities.dropsList).contains("munny"))
event.getEntityLiving().entityDropItem(munny, 1);
driveOrb.getTagCompound().setInteger("amount", 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("dporb"))
event.getEntityLiving().entityDropItem(driveOrb, 1);
magicOrb.getTagCompound().setInteger("amount", Utils.randomWithRange(2, 8));
if (Arrays.asList(MainConfig.entities.dropsList).contains("mporb"))
event.getEntityLiving().entityDropItem(magicOrb, 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("hporb"))
event.getEntityLiving().entityDropItem(HPOrb, 1);
} else if (event.getEntity() instanceof EntityMob) {
munny.getTagCompound().setInteger("amount", Utils.randomWithRange(5, 50));
if (Arrays.asList(MainConfig.entities.dropsList).contains("munny"))
event.getEntityLiving().entityDropItem(munny, 1);
driveOrb.getTagCompound().setInteger("amount", 5);
if (Arrays.asList(MainConfig.entities.dropsList).contains("dporb"))
event.getEntityLiving().entityDropItem(driveOrb, 1);
magicOrb.getTagCompound().setInteger("amount", Utils.randomWithRange(5, 15));
if (Arrays.asList(MainConfig.entities.dropsList).contains("mporb"))
event.getEntityLiving().entityDropItem(magicOrb, 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("hporb"))
event.getEntityLiving().entityDropItem(HPOrb, 1);
} else if (event.getEntity() instanceof EntityAgeable) {
munny.getTagCompound().setInteger("amount", Utils.randomWithRange(50, 100));
if (Arrays.asList(MainConfig.entities.dropsList).contains("munny"))
event.getEntityLiving().entityDropItem(munny, 1);
driveOrb.getTagCompound().setInteger("amount", 5);
if (Arrays.asList(MainConfig.entities.dropsList).contains("dporb"))
event.getEntityLiving().entityDropItem(driveOrb, 1);
magicOrb.getTagCompound().setInteger("amount", Utils.randomWithRange(10, 25));
if (Arrays.asList(MainConfig.entities.dropsList).contains("mporb"))
event.getEntityLiving().entityDropItem(magicOrb, 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("hporb"))
event.getEntityLiving().entityDropItem(HPOrb, 1);
} else if (event.getEntity() instanceof EntityDragon || event.getEntity() instanceof EntityWither) {
munny.getTagCompound().setInteger("amount", Utils.randomWithRange(500, 1000));
if (Arrays.asList(MainConfig.entities.dropsList).contains("munny"))
event.getEntityLiving().entityDropItem(munny, 1);
driveOrb.getTagCompound().setInteger("amount", Utils.randomWithRange(200, 250));
if (Arrays.asList(MainConfig.entities.dropsList).contains("dporb"))
event.getEntityLiving().entityDropItem(driveOrb, 1);
magicOrb.getTagCompound().setInteger("amount", Utils.randomWithRange(100, 140));
if (Arrays.asList(MainConfig.entities.dropsList).contains("mporb"))
event.getEntityLiving().entityDropItem(magicOrb, 1);
if (Arrays.asList(MainConfig.entities.dropsList).contains("hporb"))
event.getEntityLiving().entityDropItem(HPOrb, 1);
}
}
}
}
use of uk.co.wehavecookies56.kk.common.entity.mobs.IKHMob in project Kingdom-Keys-Re-Coded by Wehavecookies56.
the class BaseEntityHeartless method onDeath.
@Override
public void onDeath(DamageSource cause) {
super.onDeath(cause);
if (this instanceof IKHMob) {
if (((IKHMob) this).getType() == MobType.HEARTLESS_EMBLEM) {
if (!world.isRemote) {
EntityFlyingHeart heart = new EntityFlyingHeart(this.world);
heart.setPosition(this.posX, this.posY + 1, this.posZ);
world.spawnEntity(heart);
}
}
}
}
use of uk.co.wehavecookies56.kk.common.entity.mobs.IKHMob in project Kingdom-Keys-Re-Coded by Wehavecookies56.
the class EntityEvents method onHurt.
/* @SubscribeEvent
public void onLivingUpdate (LivingEvent.LivingUpdateEvent event) {
if (event.getEntityLiving() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getEntityLiving();
if(player.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).getAttributeValue() == 0 && player.isAirBorne){
player.motionX=0;
player.motionY=0;
player.motionZ=0;
}
}
}*/
@SubscribeEvent
public void onHurt(LivingHurtEvent event) {
if (event.getEntityLiving() instanceof EntityPlayer) {
PlayerStatsCapability.IPlayerStats STATS = event.getEntity().getCapability(ModCapabilities.PLAYER_STATS, null);
EntityPlayer player = (EntityPlayer) event.getEntityLiving();
if (event.getAmount() - STATS.getDefense() <= 0)
event.setAmount(1);
else
event.setAmount((float) (event.getAmount() - (STATS.getDefense() * 0.25)));
if (event.getSource().getDamageType().equals("lightningBolt"))
if (EntityThunder.summonLightning)
event.setCanceled(true);
}
if (event.getSource().getTrueSource() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
player.getCapability(ModCapabilities.DRIVE_STATE, null).addDP(1);
PacketDispatcher.sendTo(new SyncDriveData(player.getCapability(ModCapabilities.DRIVE_STATE, null)), (EntityPlayerMP) player);
}
if (event.getEntityLiving() instanceof IKHMob) {
EntityPlayer player = null;
IKHMob khMob = (IKHMob) event.getEntityLiving();
if (event.getSource().getImmediateSource() instanceof EntityPlayer) {
player = (EntityPlayer) event.getSource().getImmediateSource();
}
if (player != null) {
if (khMob.getType() == MobType.HEARTLESS_EMBLEM || khMob.getType() == MobType.HEARTLESS_PUREBLOOD || khMob.getType() == MobType.NOBODY) {
// If the player has a real weapon in any slot
if (!(player.getHeldItemMainhand().getItem() instanceof ItemKeyblade || player.getHeldItemMainhand().getItem() instanceof IOrgWeapon || player.getHeldItemOffhand().getItem() instanceof ItemKeyblade || player.getHeldItemOffhand().getItem() instanceof IOrgWeapon)) {
event.setCanceled(true);
}
// }
}
}
}
if (event.getSource().getImmediateSource() instanceof EntityPlayer && !event.getSource().damageType.equals(EnumHand.OFF_HAND.name())) {
EntityPlayer player = (EntityPlayer) event.getSource().getImmediateSource();
if (event.getSource().getDamageType().equals("thorns"))
return;
if (!ItemStack.areItemStacksEqual(player.getHeldItem(player.getActiveHand()), ItemStack.EMPTY)) {
if (player.getHeldItem(player.getActiveHand()).getItem() instanceof ItemKeyblade || player.getHeldItem(player.getActiveHand()).getItem() instanceof IOrgWeapon) {
event.setAmount(event.getAmount() - 4 + DamageCalculation.getStrengthDamage(player));
}
}
}
}
use of uk.co.wehavecookies56.kk.common.entity.mobs.IKHMob in project Kingdom-Keys-Re-Coded by Wehavecookies56.
the class DriveFormWisdom method getXP.
@SubscribeEvent
public static void getXP(LivingDeathEvent event) {
if (!event.getEntity().world.isRemote && event.getEntity() instanceof IKHMob) {
if (event.getSource().getTrueSource() instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource();
IDriveState DRIVE = player.getCapability(ModCapabilities.DRIVE_STATE, null);
if (DRIVE.getActiveDriveName().equals(Strings.Form_Wisdom)) {
DRIVE.setDriveExp(DRIVE.getActiveDriveName(), DRIVE.getDriveExp(DRIVE.getActiveDriveName()) + 1);
int[] costs = DriveFormRegistry.get(DRIVE.getActiveDriveName()).getExpCosts();
int actualLevel = DRIVE.getDriveLevel(DRIVE.getActiveDriveName());
int actualExp = DRIVE.getDriveExp(DRIVE.getActiveDriveName());
if (costs.length == 7 && actualLevel < 7) {
if (actualExp >= costs[actualLevel]) {
System.out.println("LEVEL UP");
DRIVE.setDriveLevel(DRIVE.getActiveDriveName(), actualLevel + 1);
DRIVE.displayLevelUpMessage(player, DRIVE.getActiveDriveName());
}
}
PacketDispatcher.sendTo(new SyncDriveData(DRIVE), (EntityPlayerMP) player);
}
}
}
}
Aggregations