From d2c92935496db97e5d510f4017c7f021bf6549c7 Mon Sep 17 00:00:00 2001 From: LimeGlass <16087552+TheLimeGlass@users.noreply.github.com> Date: Sat, 30 Mar 2024 05:34:21 -0600 Subject: [PATCH] Disallow addon list to be modified (#162) --- .../skriptparser/registration/SkriptAddon.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/syst3ms/skriptparser/registration/SkriptAddon.java b/src/main/java/io/github/syst3ms/skriptparser/registration/SkriptAddon.java index bc9c8277..285117ee 100644 --- a/src/main/java/io/github/syst3ms/skriptparser/registration/SkriptAddon.java +++ b/src/main/java/io/github/syst3ms/skriptparser/registration/SkriptAddon.java @@ -5,22 +5,28 @@ import io.github.syst3ms.skriptparser.lang.Trigger; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** * The base for all addons, modules that hook into the API to register syntax and handle triggers. */ public abstract class SkriptAddon { - private static final List addons = new ArrayList<>(); - private String name; + private final List> handledEvents = new ArrayList<>(); + private static final List ADDONS = new ArrayList<>(); { - addons.add(this); + ADDONS.add(this); } + /** + * Returns unmodifiable list of all SkriptAddons that are registered globally. + * + * @return SkriptAddons that are registered. + */ public static List getAddons() { - return addons; + return Collections.unmodifiableList(ADDONS); } /** @@ -51,4 +57,5 @@ public final boolean canHandleEvent(SkriptEvent event) { void addHandledEvent(Class event) { handledEvents.add(event); } + }