diff --git a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/server/MinecraftServerMixin_API.java b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/server/MinecraftServerMixin_API.java index 1327ac9242e..07b0fdff824 100644 --- a/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/server/MinecraftServerMixin_API.java +++ b/src/mixins/java/org/spongepowered/common/mixin/api/minecraft/server/MinecraftServerMixin_API.java @@ -70,7 +70,6 @@ import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; -import org.spongepowered.asm.mixin.Interface.Remap; import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -104,8 +103,9 @@ import java.util.Optional; import java.util.UUID; +@SuppressWarnings("rawtypes") @Mixin(MinecraftServer.class) -@Implements(value = @Interface(iface = Server.class, prefix = "server$", remap = Remap.NONE)) +@Implements(value = @Interface(iface = Server.class, prefix = "server$", remap = Interface.Remap.NONE)) public abstract class MinecraftServerMixin_API extends ReentrantBlockableEventLoop implements SpongeServer, SpongeRegistryHolder { // @formatter:off @@ -130,6 +130,11 @@ public abstract class MinecraftServerMixin_API extends ReentrantBlockableEventLo @Shadow public abstract boolean shadow$isNetherEnabled(); @Shadow public abstract Commands shadow$getCommands(); @Shadow public abstract PackRepository shadow$getPackRepository(); + // We can't extend ReentrantBlockableEventLoop because of + // https://github.com/SpongePowered/Sponge/issues/3647 + // which is related to https://github.com/SpongePowered/Mixin/issues/169 + @Shadow(aliases = "func_212871_a_", remap = false) @Override public abstract void tell(TickTask runnable); + @Shadow(aliases = "func_212871_a_", remap = false) public abstract void shadow$tell(Runnable runnable); // @formatter:on private Iterable audiences; @@ -163,6 +168,8 @@ public MinecraftServerMixin_API(final String name) { this.api$userManager = new SpongeUserManager((MinecraftServer) (Object) this); } + + @Override public RecipeManager recipeManager() { return (RecipeManager) this.shadow$getRecipeManager();