2018-03-27 01:42:26 +02:00
|
|
|
package com.massivecraft.factions.zcore.fupgrades;
|
|
|
|
|
2018-12-16 06:04:23 +01:00
|
|
|
import com.massivecraft.factions.Board;
|
|
|
|
import com.massivecraft.factions.FLocation;
|
|
|
|
import com.massivecraft.factions.Faction;
|
2019-08-02 23:01:33 +02:00
|
|
|
import com.massivecraft.factions.P;
|
2018-03-27 01:42:26 +02:00
|
|
|
import org.bukkit.entity.Entity;
|
|
|
|
import org.bukkit.event.EventHandler;
|
|
|
|
import org.bukkit.event.Listener;
|
|
|
|
import org.bukkit.event.entity.EntityDeathEvent;
|
|
|
|
|
|
|
|
public class EXPUpgrade implements Listener {
|
2019-02-11 05:57:45 +01:00
|
|
|
|
2019-08-24 19:21:39 +02:00
|
|
|
@EventHandler
|
|
|
|
public void onDeath(EntityDeathEvent e) {
|
|
|
|
Entity killer = e.getEntity().getKiller();
|
|
|
|
|
|
|
|
if (killer == null)
|
|
|
|
return;
|
|
|
|
|
|
|
|
FLocation floc = new FLocation(e.getEntity().getLocation());
|
|
|
|
Faction faction = Board.getInstance().getFactionAt(floc);
|
|
|
|
|
|
|
|
if (!faction.isWilderness()) {
|
|
|
|
int level = faction.getUpgrade(UpgradeType.EXP);
|
|
|
|
if (level != 0) {
|
|
|
|
|
|
|
|
double multiplier = -1;
|
|
|
|
|
|
|
|
switch (level) {
|
|
|
|
case 1:
|
|
|
|
multiplier = P.p.getConfig().getDouble("fupgrades.MainMenu.EXP.EXP-Boost.level-1");
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
multiplier = P.p.getConfig().getDouble("fupgrades.MainMenu.EXP.EXP-Boost.level-2");
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
multiplier = P.p.getConfig().getDouble("fupgrades.MainMenu.EXP.EXP-Boost.level-3");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (multiplier >= 0)
|
|
|
|
spawnMoreExp(e, multiplier);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void spawnMoreExp(EntityDeathEvent e, double multiplier) {
|
|
|
|
double newExp = e.getDroppedExp() * multiplier;
|
|
|
|
e.setDroppedExp((int) newExp);
|
|
|
|
}
|
2018-03-27 01:42:26 +02:00
|
|
|
}
|