diff --git a/sponge/build.gradle b/sponge/build.gradle index 09aedfe06..65b7b2c9d 100644 --- a/sponge/build.gradle +++ b/sponge/build.gradle @@ -13,13 +13,13 @@ dependencies { compile project(':sponge:sponge-service-api6') compile project(':sponge:sponge-service-api7') - compileOnly('org.spongepowered:spongeapi:8.0.0-SNAPSHOT') { + compileOnly('org.spongepowered:spongeapi:7.3.0') { exclude(module: 'configurate-core') exclude(module: 'configurate-hocon') exclude(module: 'configurate-gson') exclude(module: 'configurate-yaml') } - annotationProcessor('org.spongepowered:spongeapi:8.0.0-SNAPSHOT') { + annotationProcessor('org.spongepowered:spongeapi:7.3.0') { exclude(module: 'configurate-core') exclude(module: 'configurate-hocon') exclude(module: 'configurate-gson') diff --git a/sponge/sponge-service-api7/build.gradle b/sponge/sponge-service-api7/build.gradle index 24aa1a718..dadbbb378 100644 --- a/sponge/sponge-service-api7/build.gradle +++ b/sponge/sponge-service-api7/build.gradle @@ -6,7 +6,7 @@ dependencies { compile project(':common') compile project(':sponge:sponge-service') - compileOnly('org.spongepowered:spongeapi:7.2.0') { + compileOnly('org.spongepowered:spongeapi:7.3.0') { exclude(module: 'configurate-core') exclude(module: 'configurate-hocon') exclude(module: 'configurate-gson') diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandlerImpl.java b/sponge/sponge-service-api7/src/main/java/org/spongepowered/api/event/permission/SubjectDataUpdateEvent.java similarity index 61% rename from sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandlerImpl.java rename to sponge/sponge-service-api7/src/main/java/org/spongepowered/api/event/permission/SubjectDataUpdateEvent.java index 8fc39ef63..987acaeb3 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandlerImpl.java +++ b/sponge/sponge-service-api7/src/main/java/org/spongepowered/api/event/permission/SubjectDataUpdateEvent.java @@ -23,25 +23,14 @@ * SOFTWARE. */ -package me.lucko.luckperms.sponge.service.events; +package org.spongepowered.api.event.permission; -import me.lucko.luckperms.sponge.LPSpongePlugin; -import me.lucko.luckperms.sponge.service.model.LPSubjectData; +import org.spongepowered.api.event.Event; +import org.spongepowered.api.service.permission.SubjectData; -import org.spongepowered.api.event.permission.SubjectDataUpdateEvent; +// Copy of https://github.com/SpongePowered/SpongeAPI/blob/api-8/src/main/java/org/spongepowered/api/event/permission/SubjectDataUpdateEvent.java +public interface SubjectDataUpdateEvent extends Event { -public class UpdateEventHandlerImpl implements UpdateEventHandler { - private final LPSpongePlugin plugin; + SubjectData getUpdatedData(); - public UpdateEventHandlerImpl(LPSpongePlugin plugin) { - this.plugin = plugin; - } - - @Override - public void fireUpdateEvent(LPSubjectData subjectData) { - this.plugin.getBootstrap().getScheduler().executeAsync(() -> { - SubjectDataUpdateEvent event = new LPSubjectDataUpdateEvent(this.plugin, subjectData); - this.plugin.getBootstrap().getGame().getEventManager().post(event); - }); - } -} +} \ No newline at end of file diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java index 18fb7e39b..7b7bf6576 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/LPSpongePlugin.java @@ -53,7 +53,6 @@ import me.lucko.luckperms.sponge.model.manager.SpongeGroupManager; import me.lucko.luckperms.sponge.model.manager.SpongeUserManager; import me.lucko.luckperms.sponge.service.LuckPermsService; import me.lucko.luckperms.sponge.service.ProxyFactory; -import me.lucko.luckperms.sponge.service.events.UpdateEventHandler; import me.lucko.luckperms.sponge.service.model.LPPermissionService; import me.lucko.luckperms.sponge.service.model.LPSubjectCollection; import me.lucko.luckperms.sponge.service.model.ProxiedServiceObject; @@ -94,7 +93,6 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { private StandardTrackManager trackManager; private SpongeContextManager contextManager; private LuckPermsService service; - private UpdateEventHandler updateEventHandler; private boolean lateLoad = false; @@ -170,7 +168,6 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { @Override protected void setupPlatformHooks() { getLogger().info("Registering PermissionService..."); - this.updateEventHandler = UpdateEventHandler.obtain(this); this.service = new LuckPermsService(this); PermissionService oldService = this.bootstrap.getGame().getServiceManager().provide(PermissionService.class).orElse(null); @@ -325,8 +322,4 @@ public class LPSpongePlugin extends AbstractLuckPermsPlugin { return this.service; } - public UpdateEventHandler getUpdateEventHandler() { - return this.updateEventHandler; - } - } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandler.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandler.java index 35829861f..a2fc9e4b4 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandler.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/events/UpdateEventHandler.java @@ -28,23 +28,15 @@ package me.lucko.luckperms.sponge.service.events; import me.lucko.luckperms.sponge.LPSpongePlugin; import me.lucko.luckperms.sponge.service.model.LPSubjectData; -public interface UpdateEventHandler { +import org.spongepowered.api.event.permission.SubjectDataUpdateEvent; - static UpdateEventHandler obtain(LPSpongePlugin plugin) { - try { - Class.forName("org.spongepowered.api.event.permission.SubjectDataUpdateEvent"); - return new UpdateEventHandlerImpl(plugin); - } catch (ClassNotFoundException e) { - return new Noop(); - } - } +public final class UpdateEventHandler { + private UpdateEventHandler() {} - void fireUpdateEvent(LPSubjectData subjectData); - - class Noop implements UpdateEventHandler { - @Override - public void fireUpdateEvent(LPSubjectData subjectData) { - - } + public static void fireUpdateEvent(LPSpongePlugin plugin, LPSubjectData subjectData) { + plugin.getBootstrap().getScheduler().executeAsync(() -> { + SubjectDataUpdateEvent event = new LPSubjectDataUpdateEvent(plugin, subjectData); + plugin.getBootstrap().getGame().getEventManager().post(event); + }); } } diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/permissionholder/PermissionHolderSubject.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/permissionholder/PermissionHolderSubject.java index f04a8e511..341147e9f 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/permissionholder/PermissionHolderSubject.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/permissionholder/PermissionHolderSubject.java @@ -41,6 +41,7 @@ import me.lucko.luckperms.sponge.LPSpongePlugin; import me.lucko.luckperms.sponge.model.SpongeGroup; import me.lucko.luckperms.sponge.service.LuckPermsService; import me.lucko.luckperms.sponge.service.ProxyFactory; +import me.lucko.luckperms.sponge.service.events.UpdateEventHandler; import me.lucko.luckperms.sponge.service.model.LPSubject; import me.lucko.luckperms.sponge.service.model.LPSubjectReference; import me.lucko.luckperms.sponge.service.model.ProxiedSubject; @@ -74,8 +75,8 @@ public abstract class PermissionHolderSubject implem } public void fireUpdateEvent() { - this.plugin.getUpdateEventHandler().fireUpdateEvent(this.subjectData); - this.plugin.getUpdateEventHandler().fireUpdateEvent(this.transientSubjectData); + UpdateEventHandler.fireUpdateEvent(this.plugin, this.subjectData); + UpdateEventHandler.fireUpdateEvent(this.plugin, this.transientSubjectData); } public T getParent() { diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/persisted/PersistedSubject.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/persisted/PersistedSubject.java index 8e70a492b..2c6a05c0e 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/persisted/PersistedSubject.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/model/persisted/PersistedSubject.java @@ -29,6 +29,7 @@ import me.lucko.luckperms.common.cache.BufferedRequest; import me.lucko.luckperms.common.plugin.LuckPermsPlugin; import me.lucko.luckperms.sponge.service.LuckPermsService; import me.lucko.luckperms.sponge.service.ProxyFactory; +import me.lucko.luckperms.sponge.service.events.UpdateEventHandler; import me.lucko.luckperms.sponge.service.model.LPSubject; import me.lucko.luckperms.sponge.service.model.LPSubjectData; import me.lucko.luckperms.sponge.service.model.ProxiedSubject; @@ -109,7 +110,7 @@ public class PersistedSubject extends CalculatedSubject implements LPSubject { * @param subjectData the subject data */ private void fireUpdateEvent(LPSubjectData subjectData) { - this.service.getPlugin().getUpdateEventHandler().fireUpdateEvent(subjectData); + UpdateEventHandler.fireUpdateEvent(this.service.getPlugin(), subjectData); } /**