mirror of
https://github.com/TotalFreedomMC/TF-ProjectKorra.git
synced 2025-02-14 04:47:51 +00:00
Fix FireCombo
- Makes FireCombos cook animal meat when killing (excludes JetBlast)
This commit is contained in:
parent
bb88553db0
commit
7ec229ff41
2 changed files with 53 additions and 7 deletions
|
@ -64,6 +64,7 @@ import com.projectkorra.projectkorra.firebending.Combustion;
|
|||
import com.projectkorra.projectkorra.firebending.FireBlast;
|
||||
import com.projectkorra.projectkorra.firebending.FireBlastCharged;
|
||||
import com.projectkorra.projectkorra.firebending.FireBurst;
|
||||
import com.projectkorra.projectkorra.firebending.FireCombo;
|
||||
import com.projectkorra.projectkorra.firebending.FireDamageTimer;
|
||||
import com.projectkorra.projectkorra.firebending.FireJet;
|
||||
import com.projectkorra.projectkorra.firebending.FireShield;
|
||||
|
@ -508,6 +509,46 @@ public class PKListener implements Listener {
|
|||
event.getDrops().addAll(newdrops);
|
||||
MetalClips.getEntityClipsCount().remove(event.getEntity());
|
||||
}
|
||||
for (FireCombo fc : CoreAbility.getAbilities(event.getEntity().getKiller(), FireCombo.class)) {
|
||||
if (!fc.getAffectedEntities().contains(event.getEntity())) continue;
|
||||
List<ItemStack> drops = event.getDrops();
|
||||
List<ItemStack> newDrops = new ArrayList<>();
|
||||
for (int i = 0; i < drops.size(); i++) {
|
||||
ItemStack cooked = drops.get(i);
|
||||
Material material = drops.get(i).getType();
|
||||
switch (material) {
|
||||
case RAW_BEEF:
|
||||
cooked = new ItemStack(Material.COOKED_BEEF, 1);
|
||||
break;
|
||||
case RAW_FISH:
|
||||
ItemStack salmon = new ItemStack(Material.RAW_FISH, 1, (short) 1);
|
||||
if (drops.get(i).getDurability() == salmon.getDurability()) {
|
||||
cooked = new ItemStack(Material.COOKED_FISH, 1, (short) 1);
|
||||
} else {
|
||||
cooked = new ItemStack(Material.COOKED_FISH, 1);
|
||||
}
|
||||
break;
|
||||
case RAW_CHICKEN:
|
||||
cooked = new ItemStack(Material.COOKED_CHICKEN, 1);
|
||||
break;
|
||||
case PORK:
|
||||
cooked = new ItemStack(Material.GRILLED_PORK, 1);
|
||||
break;
|
||||
case MUTTON:
|
||||
cooked = new ItemStack(Material.COOKED_MUTTON);
|
||||
break;
|
||||
case RABBIT:
|
||||
cooked = new ItemStack(Material.COOKED_RABBIT);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
newDrops.add(cooked);
|
||||
}
|
||||
event.getDrops().clear();
|
||||
event.getDrops().addAll(newDrops);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||
|
|
|
@ -177,19 +177,24 @@ public class FireCombo extends FireAbility implements ComboAbility {
|
|||
entity.getLocation().getWorld().playSound(entity.getLocation(), Sound.VILLAGER_HIT, 0.3f, 0.3f);
|
||||
|
||||
if (ability.equalsIgnoreCase("FireKick")) {
|
||||
GeneralMethods.damageEntity(this, entity, damage);
|
||||
fstream.remove();
|
||||
if (!affectedEntities.contains(entity)) {
|
||||
affectedEntities.add(entity);
|
||||
GeneralMethods.damageEntity(this, entity, damage);
|
||||
fstream.remove();
|
||||
}
|
||||
} else if (ability.equalsIgnoreCase("FireSpin")) {
|
||||
if (entity instanceof Player) {
|
||||
if (Commands.invincible.contains(((Player) entity).getName())) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
double newKnockback = bPlayer.isAvatarState() ? knockback + 0.5 : knockback;
|
||||
GeneralMethods.damageEntity(this, entity, damage);
|
||||
entity.setVelocity(direction.normalize().multiply(newKnockback));
|
||||
fstream.remove();
|
||||
if (!affectedEntities.contains(entity)) {
|
||||
affectedEntities.add(entity);
|
||||
double newKnockback = bPlayer.isAvatarState() ? knockback + 0.5 : knockback;
|
||||
GeneralMethods.damageEntity(this, entity, damage);
|
||||
entity.setVelocity(direction.normalize().multiply(newKnockback));
|
||||
fstream.remove();
|
||||
}
|
||||
} else if (ability.equalsIgnoreCase("JetBlaze")) {
|
||||
if (!affectedEntities.contains(entity)) {
|
||||
affectedEntities.add(entity);
|
||||
|
|
Loading…
Reference in a new issue