feat: DeltaCraft awakening - TP only with magic/knife + soulbound MagicOrb + all physical triggers + Lang config

This commit is contained in:
SashegDev
2026-08-28 04:08:41 +03:00
parent 4ce654b838
commit a8ce2375c0
8 changed files with 230 additions and 11 deletions
@@ -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) {