mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 11:45:51 +00:00
Extracted dupliocted code blocks to methods
This commit is contained in:
parent
a622e05ea8
commit
4e32c4981c
@ -92,42 +92,19 @@ public class Talisman extends SlimefunItem {
|
|||||||
if (!pass(p, talisman)) {
|
if (!pass(p, talisman)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
boolean message = !talisman.getSuffix().equalsIgnoreCase("");
|
|
||||||
|
|
||||||
if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) {
|
if (p.getInventory().containsAtLeast(talisman.getItem(), 1)) {
|
||||||
if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) {
|
if (Slimefun.hasUnlocked(p, talisman.getItem(), true)) {
|
||||||
if (talisman.isConsumable())
|
executeTalismanAttributes(e,p,talisman);
|
||||||
p.getInventory().removeItem(talisman.getItem());
|
|
||||||
for (PotionEffect effect : talisman.getEffects()) {
|
|
||||||
p.addPotionEffect(effect);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e instanceof Cancellable && talisman.isEventCancelled())
|
|
||||||
((Cancellable) e).setCancelled(true);
|
|
||||||
|
|
||||||
if (message)
|
|
||||||
Messages.local.sendTranslation(p, "messages.talisman." + talisman.getSuffix(), true);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else return false;
|
} else return false;
|
||||||
} else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) {
|
} else if (p.getEnderChest().containsAtLeast(talisman.upgrade(), 1)) {
|
||||||
if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) {
|
if (Slimefun.hasUnlocked(p, talisman.upgrade(), true)) {
|
||||||
if (talisman.isConsumable())
|
executeTalismanAttributes(e,p,talisman);
|
||||||
p.getEnderChest().removeItem(talisman.upgrade());
|
|
||||||
for (PotionEffect effect : talisman.getEffects()) {
|
|
||||||
p.addPotionEffect(effect);
|
|
||||||
}
|
|
||||||
if (e instanceof Cancellable && talisman.isEventCancelled())
|
|
||||||
((Cancellable) e).setCancelled(true);
|
|
||||||
|
|
||||||
if (message)
|
|
||||||
Messages.local.sendTranslation(p, "messages.talisman." + talisman.getSuffix(), true);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} else return false;
|
} else return false;
|
||||||
} else return false;
|
} else return false;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack upgrade() {
|
public ItemStack upgrade() {
|
||||||
@ -158,6 +135,38 @@ public class Talisman extends SlimefunItem {
|
|||||||
Slimefun.addOfficialWikiPage(getID(), "Talismans");
|
Slimefun.addOfficialWikiPage(getID(), "Talismans");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isTalismanMessage(Talisman talisman){
|
||||||
|
return !("").equalsIgnoreCase(talisman.getSuffix());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void executeTalismanAttributes(Event e, Player p, Talisman talisman){
|
||||||
|
consumeItem(p,talisman);
|
||||||
|
applyTalismanEffects(p,talisman);
|
||||||
|
cancelEvent(e,talisman);
|
||||||
|
sendMessage(p,talisman);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void applyTalismanEffects(Player p, Talisman talisman){
|
||||||
|
for (PotionEffect effect : talisman.getEffects()) {
|
||||||
|
p.addPotionEffect(effect);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void cancelEvent(Event e, Talisman talisman){
|
||||||
|
if (e instanceof Cancellable && talisman.isEventCancelled())
|
||||||
|
((Cancellable) e).setCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void sendMessage(Player p, Talisman talisman){
|
||||||
|
if (isTalismanMessage(talisman))
|
||||||
|
Messages.local.sendTranslation(p, "messages.talisman." + talisman.getSuffix(), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void consumeItem(Player p, Talisman talisman){
|
||||||
|
if (talisman.isConsumable())
|
||||||
|
p.getInventory().removeItem(talisman.getItem());
|
||||||
|
}
|
||||||
|
|
||||||
private static Player getPlayerByEventType(Event e) {
|
private static Player getPlayerByEventType(Event e) {
|
||||||
if (e instanceof EntityDeathEvent) return ((EntityDeathEvent) e).getEntity().getKiller();
|
if (e instanceof EntityDeathEvent) return ((EntityDeathEvent) e).getEntity().getKiller();
|
||||||
else if (e instanceof BlockBreakEvent) return ((BlockBreakEvent) e).getPlayer();
|
else if (e instanceof BlockBreakEvent) return ((BlockBreakEvent) e).getPlayer();
|
||||||
|
Loading…
Reference in New Issue
Block a user