Fix Sponge build

This commit is contained in:
Luck 2021-01-31 12:51:16 +00:00
parent b708d04141
commit b8e044c4e3
No known key found for this signature in database
GPG Key ID: EFA9B3EC5FD90F8B
7 changed files with 23 additions and 47 deletions

View File

@ -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')

View File

@ -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')

View File

@ -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);
});
}
}
}

View File

@ -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;
}
}

View File

@ -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);
});
}
}

View File

@ -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<T extends PermissionHolder> 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() {

View File

@ -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);
}
/**