Skip to content

Commit

Permalink
Warden anger event: getDenizenObject, modernize
Browse files Browse the repository at this point in the history
  • Loading branch information
tal5 committed Dec 18, 2023
1 parent b5b95e0 commit 08e6dff
Showing 1 changed file with 6 additions and 17 deletions.
Expand Up @@ -6,7 +6,6 @@
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import com.denizenscript.denizencore.utilities.CoreUtilities;
import io.papermc.paper.event.entity.WardenAngerChangeEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
Expand Down Expand Up @@ -49,6 +48,11 @@ public class WardenChangesAngerLevelScriptEvent extends BukkitScriptEvent implem

public WardenChangesAngerLevelScriptEvent() {
registerCouldMatcher("warden changes anger level");
this.<WardenChangesAngerLevelScriptEvent, ElementTag>registerDetermination("anger", ElementTag.class, (evt, context, anger) -> {
if (anger.isInt()) {
evt.event.setNewAnger(anger.asInt());
}
});
}

public WardenAngerChangeEvent event;
Expand All @@ -67,26 +71,11 @@ public ObjectTag getContext(String name) {
case "entity" -> new EntityTag(event.getEntity());
case "new_anger" -> new ElementTag(event.getNewAnger());
case "old_anger" -> new ElementTag(event.getOldAnger());
case "target" -> event.getTarget() != null ? new EntityTag(event.getTarget()) : null;
case "target" -> event.getTarget() != null ? new EntityTag(event.getTarget()).getDenizenObject() : null;
default -> super.getContext(name);
};
}

@Override
public boolean applyDetermination(ScriptPath path, ObjectTag determinationObj) {
if (determinationObj instanceof ElementTag) {
String lower = CoreUtilities.toLowerCase((determinationObj.toString()));
if (lower.startsWith("anger:")) {
ElementTag value = new ElementTag(lower.substring("anger:".length()));
if (value.isInt()) {
event.setNewAnger(value.asInt());
return true;
}
}
}
return super.applyDetermination(path, determinationObj);
}

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getTarget());
Expand Down

0 comments on commit 08e6dff

Please sign in to comment.