feat: DeltaCraft awakening - TP only with magic/knife + soulbound MagicOrb + all physical triggers + Lang config
This commit is contained in:
@@ -30,6 +30,7 @@ public class TensionManager implements Listener {
|
||||
}
|
||||
|
||||
public void addTP(Player p, float amount, String reason) {
|
||||
if (!hasMagic(p)) return;
|
||||
float cur = Math.min(250, getTP(p) + amount);
|
||||
tp.put(p.getUniqueId(), cur);
|
||||
lastCombat.put(p.getUniqueId(), System.currentTimeMillis());
|
||||
@@ -38,7 +39,18 @@ public class TensionManager implements Listener {
|
||||
}
|
||||
|
||||
public boolean isOwner(Player p) {
|
||||
return BlackKnifeItem.is(p.getInventory().getItemInMainHand()) || BlackKnifeItem.is(p.getInventory().getItemInOffHand());
|
||||
return BlackKnifeItem.is(p.getInventory().getItemInMainHand()) || BlackKnifeItem.is(p.getInventory().getItemInOffHand()) || hasAnyBlackKnife(p);
|
||||
}
|
||||
|
||||
private boolean hasAnyBlackKnife(Player p) {
|
||||
for (var it : p.getInventory().getContents()) if (BlackKnifeItem.is(it)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean hasMagic(Player p) {
|
||||
if (hasAnyBlackKnife(p)) return true;
|
||||
var mgr = BlackKnifePlugin.getInstance() != null ? BlackKnifePlugin.getInstance().getMagicManager() : null;
|
||||
return mgr != null && mgr.hasAwakened(p.getUniqueId());
|
||||
}
|
||||
|
||||
private void updateBar(Player p, float tpVal) {
|
||||
|
||||
Reference in New Issue
Block a user