Skip to content

Commit

Permalink
Workaround for server instance getter.
Browse files Browse the repository at this point in the history
Signed-off-by: shedaniel <daniel@shedaniel.me>
  • Loading branch information
shedaniel committed Jul 1, 2020
1 parent 2cfa5db commit a68a0a1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
Expand Up @@ -27,19 +27,24 @@

package me.shedaniel.cloth.api.utils.v1;

import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.fabric.api.event.server.ServerStartCallback;
import net.fabricmc.fabric.api.event.server.ServerStopCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.server.MinecraftServer;

import java.util.function.Supplier;

public final class GameInstanceUtils {
private static MinecraftServer server = null;
private static final Supplier<MinecraftServer> SERVER_SUPPLIER = () -> Executor.callForEnv(
() -> () -> MinecraftClient.getInstance().getServer(),
() -> () -> (MinecraftServer) FabricLoader.getInstance().getGameInstance()
() -> () -> server
);

private GameInstanceUtils() {}
private GameInstanceUtils() {
ServerStartCallback.EVENT.register(server -> GameInstanceUtils.server = server);
ServerStopCallback.EVENT.register(server -> GameInstanceUtils.server = null);
}

public static MinecraftServer getServer() {
return SERVER_SUPPLIER.get();
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -4,5 +4,5 @@ minecraft_version=1.16-pre3
yarn_version=1.16-pre3+build.1+legacy.20w09a+build.8
fabric_loader_version=0.8.7+build.201
fabric_version=0.11.8+build.357-1.16
mod_version=1.0.5
mod_version=1.0.6
cloth_basic_math=0.5.1

0 comments on commit a68a0a1

Please sign in to comment.