Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e046b39
Create a proper registry for event values and deprecate EventValues
UnderscoreTud Dec 19, 2025
4a71404
Add support for resolving downcast event values (i.e. when an entity …
UnderscoreTud Dec 19, 2025
4cb87b4
Fix EventValueExpression#setTime check
UnderscoreTud Dec 19, 2025
cfc653f
Fix EventValueExpression using too specific of an event class to reso…
UnderscoreTud Dec 19, 2025
a2bb944
Reintroduce retrieving a cached resolution when using EventValueRegis…
UnderscoreTud Dec 19, 2025
508f01c
Move the `eventvalue` package under `bukkit.lang`
UnderscoreTud Dec 19, 2025
8e3e5c5
Fix exception being thrown when trying to use EventValueExpression wi…
UnderscoreTud Dec 22, 2025
1f37f7d
Fix tests
UnderscoreTud Dec 22, 2025
0b1fe2f
Add support for getting event values through identifiers, i.e. `event…
UnderscoreTud Dec 23, 2025
294ec92
Make EventValueRegistry an interface and implement ViewProvider
UnderscoreTud Dec 23, 2025
b76142c
Update javadocs
UnderscoreTud Dec 23, 2025
8773784
Fix tests
UnderscoreTud Dec 24, 2025
f52ae9e
Replace all EventValues calls in BukkitEventValues to EventValueRegistry
UnderscoreTud Dec 24, 2025
b7ebe46
Merge branch 'refs/heads/dev/feature' into feature/event-value-registry
UnderscoreTud Dec 24, 2025
1562169
Remove duplicate EventValue registration for CreatureSpawnEvent in Bu…
UnderscoreTud Dec 24, 2025
f699578
Remove EventValueRegistry#skript
UnderscoreTud Dec 24, 2025
ed5e0cc
Fix pattern confliction tests
UnderscoreTud Dec 24, 2025
1643ab1
Extract common resolving logic into a separate Resolver class
UnderscoreTud Dec 24, 2025
f98cdcb
Javadocs
UnderscoreTud Dec 24, 2025
6194600
Prefix the changers methods in EventValue.Builder with 'register'
UnderscoreTud Dec 24, 2025
01c16fb
Add match methods to EventValue
UnderscoreTud Dec 24, 2025
bdf1b84
Fix formatting issues
UnderscoreTud Dec 24, 2025
d02df4e
Refactor EventValue time handling to use enum representation
UnderscoreTud Dec 25, 2025
5b51e50
Fix javadocs
UnderscoreTud Dec 25, 2025
a9e6e7e
Fix formatting
UnderscoreTud Dec 25, 2025
20c0a8c
Replace resolver flags with a proper class and enum
UnderscoreTud Dec 25, 2025
0e316b7
Refactor EventValue#validate to use an enum for validation status
UnderscoreTud Dec 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 13 additions & 36 deletions src/main/java/ch/njol/skript/Skript.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,54 +3,30 @@
import ch.njol.skript.aliases.Aliases;
import ch.njol.skript.bukkitutil.BurgerHelper;
import ch.njol.skript.classes.ClassInfo;
import ch.njol.skript.classes.data.BukkitClasses;
import ch.njol.skript.classes.data.BukkitEventValues;
import ch.njol.skript.classes.data.DefaultComparators;
import ch.njol.skript.classes.data.DefaultConverters;
import ch.njol.skript.classes.data.DefaultFunctions;
import ch.njol.skript.classes.data.DefaultOperations;
import ch.njol.skript.classes.data.JavaClasses;
import ch.njol.skript.classes.data.SkriptClasses;
import ch.njol.skript.classes.data.*;
import ch.njol.skript.command.Commands;
import ch.njol.skript.doc.Documentation;
import ch.njol.skript.events.EvtSkript;
import ch.njol.skript.expressions.arithmetic.ExprArithmetic;
import ch.njol.skript.hooks.Hook;
import ch.njol.skript.lang.*;
import ch.njol.skript.lang.Condition.ConditionType;
import ch.njol.skript.lang.Effect;
import ch.njol.skript.lang.util.SimpleExpression;
import ch.njol.skript.localization.Language;
import ch.njol.skript.localization.Message;
import ch.njol.skript.localization.PluralizingArgsMessage;
import ch.njol.skript.log.BukkitLoggerFilter;
import ch.njol.skript.log.CountingLogHandler;
import ch.njol.skript.log.ErrorDescLogHandler;
import ch.njol.skript.log.ErrorQuality;
import ch.njol.skript.log.LogEntry;
import ch.njol.skript.log.LogHandler;
import ch.njol.skript.log.SkriptLogger;
import ch.njol.skript.log.TestingLogHandler;
import ch.njol.skript.log.Verbosity;
import ch.njol.skript.log.*;
import ch.njol.skript.registrations.Classes;
import ch.njol.skript.registrations.EventValues;
import ch.njol.skript.registrations.Feature;
import ch.njol.skript.test.runner.EffObjectives;
import ch.njol.skript.test.runner.SkriptAsyncJUnitTest;
import ch.njol.skript.test.runner.SkriptJUnitTest;
import ch.njol.skript.test.runner.SkriptTestEvent;
import ch.njol.skript.test.runner.TestMode;
import ch.njol.skript.test.runner.TestTracker;
import ch.njol.skript.test.runner.*;
import ch.njol.skript.timings.SkriptTimings;
import ch.njol.skript.update.ReleaseManifest;
import ch.njol.skript.update.ReleaseStatus;
import ch.njol.skript.update.UpdateManifest;
import ch.njol.skript.util.*;
import ch.njol.skript.util.Date;
import ch.njol.skript.util.EmptyStacktraceException;
import ch.njol.skript.util.ExceptionUtils;
import ch.njol.skript.util.FileUtils;
import ch.njol.skript.util.Task;
import ch.njol.skript.util.Utils;
import ch.njol.skript.util.Version;
import ch.njol.skript.util.chat.BungeeConverter;
import ch.njol.skript.util.chat.ChatMessages;
import ch.njol.skript.variables.Variables;
Expand All @@ -62,12 +38,7 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.*;
import org.bukkit.command.CommandSender;
import org.bukkit.command.PluginCommand;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -100,6 +71,7 @@
import org.skriptlang.skript.bukkit.furnace.FurnaceModule;
import org.skriptlang.skript.bukkit.input.InputModule;
import org.skriptlang.skript.bukkit.itemcomponents.ItemComponentModule;
import org.skriptlang.skript.bukkit.lang.eventvalue.EventValueRegistry;
import org.skriptlang.skript.bukkit.log.runtime.BukkitRuntimeErrorConsumer;
import org.skriptlang.skript.bukkit.loottables.LootTableModule;
import org.skriptlang.skript.bukkit.potion.PotionModule;
Expand Down Expand Up @@ -513,6 +485,11 @@ public void onEnable() {
skript.storeRegistry(PropertyRegistry.class, new PropertyRegistry(this));
Property.registerDefaultProperties();

EventValueRegistry eventValueRegistry = EventValueRegistry.empty(this);
skript.storeRegistry(EventValueRegistry.class, eventValueRegistry);
//noinspection removal
EventValues.setEventValueRegistry(eventValueRegistry);

// Load classes which are always safe to use
new JavaClasses(); // These may be needed in configuration

Expand Down Expand Up @@ -579,7 +556,7 @@ public void onEnable() {
skriptCommand.setTabCompleter(new SkriptCommandTabCompleter());

// Load Bukkit stuff. It is done after platform check, because something might be missing!
new BukkitEventValues();
BukkitEventValues.register(eventValueRegistry);

new DefaultComparators();
new DefaultConverters();
Expand Down
Loading