Suggestion
Okay so random idea I had but basically:
Skript has a chunk of events that are built on top of normal bukkit events but with conditions (e.g. EvtPressurePlate or EvtFirstJoin)
which can cause some annoying but (I guess so far) resolvable issues
so my idea is allow us to have a check for event-values e.g.
eventValueRegistry.register(EventValue.builder(PlayerGameModeChangeEvent.class, GameMode.class)
.getter(PlayerGameModeChangeEvent::getNewGameMode)
.patterns("gamemode")
.check(PlayerGameModeChangeEvent::isCancelled)
.build());
or a more advanced one
eventValueRegistry.register(EventValue.builder(PlayerGameModeChangeEvent.class, GameMode.class)
.getter(PlayerGameModeChangeEvent::getNewGameMode)
.patterns("gamemode")
.check(event -> {
if (conditions blah blah)
return true;
return false;
})
.build());
Basically it'd act like a check similiar to how events have check
e.g. lets say 2 events have same bukkit event (PlayerMoveEvent) but one wants event-item stack but one does not
currently that could work with a check in get/in a changer if x conditions meet then return nothing but that can be confusing for users so
instead if false is returned inside check then the event-value act like it does not exist on the event else if they do the event-value will work perfectly fine
Why?
Seems useful
Other
this possibly might already exist but I don't believe it does in the way I described only excludes
Agreement
Suggestion
Okay so random idea I had but basically:
Skript has a chunk of events that are built on top of normal bukkit events but with conditions (e.g. EvtPressurePlate or EvtFirstJoin)
which can cause some annoying but (I guess so far) resolvable issues
so my idea is allow us to have a
checkfor event-values e.g.or a more advanced one
Basically it'd act like a
checksimiliar to how events havechecke.g. lets say 2 events have same bukkit event (PlayerMoveEvent) but one wants event-item stack but one does not
currently that could work with a check in get/in a changer if x conditions meet then return nothing but that can be confusing for users so
instead if
falseis returned insidecheckthen the event-value act like it does not exist on the event else if they do the event-value will work perfectly fineWhy?
Seems useful
Other
this possibly might already exist but I don't believe it does in the way I described only
excludesAgreement