Update api

This commit is contained in:
IzzelAliz 2021-08-29 14:28:13 +08:00
parent 28b30f771b
commit 19256c504a
No known key found for this signature in database
GPG Key ID: EE50E123A11D8338
6 changed files with 28 additions and 43 deletions

View File

@ -1,26 +0,0 @@
package io.izzel.arclight.common.mixin.api;
import io.izzel.arclight.api.Arclight;
import io.izzel.arclight.common.mod.util.PluginEventHandler;
import net.minecraftforge.eventbus.EventBus;
import net.minecraftforge.eventbus.api.IEventBus;
import org.bukkit.plugin.Plugin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
@Mixin(value = Arclight.class, remap = false)
public class Arclight_ForgeEventMixin {
/**
* @author IzzelAliz
* @reason
*/
@Overwrite
public static void registerForgeEvent(Plugin plugin, IEventBus bus, Object target) throws Throwable {
if (bus instanceof EventBus) {
PluginEventHandler.register(plugin, (EventBus) bus, target);
} else {
bus.register(target);
}
}
}

View File

@ -18,7 +18,6 @@ public class ArclightConnector implements IMixinConnector {
Mixins.addConfiguration("mixins.arclight.core.json"); Mixins.addConfiguration("mixins.arclight.core.json");
Mixins.addConfiguration("mixins.arclight.bukkit.json"); Mixins.addConfiguration("mixins.arclight.bukkit.json");
Mixins.addConfiguration("mixins.arclight.forge.json"); Mixins.addConfiguration("mixins.arclight.forge.json");
Mixins.addConfiguration("mixins.arclight.api.json");
LOGGER.info("mixin-load.core"); LOGGER.info("mixin-load.core");
Mixins.addConfiguration("mixins.arclight.impl.forge.optimization.json"); Mixins.addConfiguration("mixins.arclight.impl.forge.optimization.json");
if (ArclightConfig.spec().getOptimization().isRemoveStream()) { if (ArclightConfig.spec().getOptimization().isRemoveStream()) {

View File

@ -1,8 +1,10 @@
package io.izzel.arclight.common.mod.server; package io.izzel.arclight.common.mod.server;
import io.izzel.arclight.api.Arclight;
import io.izzel.arclight.common.bridge.bukkit.CraftServerBridge; import io.izzel.arclight.common.bridge.bukkit.CraftServerBridge;
import io.izzel.arclight.common.bridge.core.server.MinecraftServerBridge; import io.izzel.arclight.common.bridge.core.server.MinecraftServerBridge;
import io.izzel.arclight.common.mod.ArclightMod; import io.izzel.arclight.common.mod.ArclightMod;
import io.izzel.arclight.common.mod.server.api.DefaultArclightServer;
import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.server.dedicated.DedicatedServer; import net.minecraft.server.dedicated.DedicatedServer;
@ -26,6 +28,7 @@ public class ArclightServer {
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
public static CraftServer createOrLoad(DedicatedServer console, PlayerList playerList) { public static CraftServer createOrLoad(DedicatedServer console, PlayerList playerList) {
if (server == null) { if (server == null) {
Arclight.setServer(new DefaultArclightServer());
try { try {
server = new CraftServer(console, playerList); server = new CraftServer(console, playerList);
((MinecraftServerBridge) console).bridge$setServer(server); ((MinecraftServerBridge) console).bridge$setServer(server);

View File

@ -0,0 +1,24 @@
package io.izzel.arclight.common.mod.server.api;
import io.izzel.arclight.api.ArclightServer;
import io.izzel.arclight.api.Unsafe;
import io.izzel.arclight.common.mod.util.PluginEventHandler;
import net.minecraftforge.eventbus.EventBus;
import net.minecraftforge.eventbus.api.IEventBus;
import org.bukkit.plugin.Plugin;
public class DefaultArclightServer implements ArclightServer {
@Override
public void registerForgeEvent(Plugin plugin, IEventBus bus, Object target) {
try {
if (bus instanceof EventBus) {
PluginEventHandler.register(plugin, (EventBus) bus, target);
} else {
bus.register(target);
}
} catch (Throwable t) {
Unsafe.throwException(t);
}
}
}

View File

@ -1,15 +0,0 @@
{
"required": true,
"minVersion": "0.8",
"package": "io.izzel.arclight.common.mixin.api",
"target": "@env(DEFAULT)",
"refmap": "mixins.arclight.refmap.json",
"setSourceFile": true,
"injectors": {
"defaultRequire": 1
},
"compatibilityLevel": "JAVA_11",
"mixins": [
"Arclight_ForgeEventMixin"
]
}

View File

@ -15,7 +15,7 @@ allprojects {
agpVersion = '1.20' agpVersion = '1.20'
minecraftVersion = '1.17.1' minecraftVersion = '1.17.1'
forgeVersion = '37.0.44' forgeVersion = '37.0.44'
apiVersion = '1.0.+' apiVersion = '1.1.+'
toolsVersion = '1.3.+' toolsVersion = '1.3.+'
gitHash = getGitHash() gitHash = getGitHash()
} }