Skip to content

Commit

Permalink
Merge pull request #60 from zly2006/c2me-compat
Browse files Browse the repository at this point in the history
fix: the shit server init logic for `fakePlayerResident`
  • Loading branch information
Gu-ZT committed Jul 10, 2024
2 parents 650c127 + ff43629 commit 9e0fbea
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 67 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ minecraft_version=1.21
loader_version=0.15.11
# parchment_version=2022.08.14
# Mod Properties
mod_version=2.8.0
mod_version=2.9.0-zly2008-prs.1
build_number=undefined
maven_group=dev.dubhe.gugle
archives_base_name=gugle-carpet-addition
Expand Down
20 changes: 9 additions & 11 deletions src/main/java/dev/dubhe/gugle/carpet/GcaExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@ public class GcaExtension implements CarpetExtension, ModInitializer {

public static final List<Map.Entry<Long, Consumer>> planFunction = new ArrayList<>();

static {
CarpetServer.manageExtension(new GcaExtension());
}

@Override
public void onPlayerLoggedIn(ServerPlayer player) {
GcaExtension.fakePlayerInventoryContainerMap.put(player, Map.entry(
Expand All @@ -68,7 +64,8 @@ public void onGameStarted() {
CarpetServer.settingsManager.parseSettingsClass(GcaSetting.class);
}

public static void onServerStop(MinecraftServer server) {
@Override
public void onServerClosed(MinecraftServer server) {
if (GcaSetting.fakePlayerResident) {
JsonObject fakePlayerList = new JsonObject();
fakePlayerInventoryContainerMap.forEach((player, fakePlayerInventoryContainer) -> {
Expand All @@ -87,21 +84,21 @@ public static void onServerStop(MinecraftServer server) {
fakePlayerInventoryContainerMap.clear();
}

public static void onServerStart(MinecraftServer server) {
@Override
public void onServerLoadedWorlds(MinecraftServer server) {
if (GcaSetting.fakePlayerResident) {
JsonObject fakePlayerList = new JsonObject();
File file = server.getWorldPath(LevelResource.ROOT).resolve("fake_player.gca.json").toFile();
if (!file.isFile()) {
return;
}
try (BufferedReader bfr = Files.newBufferedReader(file.toPath(), StandardCharsets.UTF_8)) {
fakePlayerList = GSON.fromJson(bfr, JsonObject.class);
JsonObject fakePlayerList = GSON.fromJson(bfr, JsonObject.class);
for (Map.Entry<String, JsonElement> entry : fakePlayerList.entrySet()) {
FakePlayerResident.load(entry, server);
}
} catch (IOException e) {
GcaExtension.LOGGER.error(e.getMessage(), e);
}
for (Map.Entry<String, JsonElement> entry : fakePlayerList.entrySet()) {
FakePlayerResident.load(entry, server);
}
file.delete();
}
}
Expand All @@ -113,5 +110,6 @@ public Map<String, String> canHasTranslations(String lang) {

@Override
public void onInitialize() {
CarpetServer.manageExtension(this);
}
}

This file was deleted.

26 changes: 0 additions & 26 deletions src/main/java/dev/dubhe/gugle/carpet/mixin/ServerPlayerMixin.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public static void createFake(String username, MinecraftServer server, Vec3 pos,
gameprofile = new GameProfile(UUIDUtil.createOfflinePlayerUUID(username), username);
}
GameProfile finalGameprofile = gameprofile;
EntityPlayerMPFakeInvoker.invokerFetchGameProfile(gameprofile.getName()).thenAccept((p) -> {
EntityPlayerMPFakeInvoker.invokerFetchGameProfile(gameprofile.getName()).thenAcceptAsync((p) -> {
GameProfile current = finalGameprofile;
if (p.isPresent()) {
current = p.get();
Expand All @@ -102,7 +102,7 @@ public static void createFake(String username, MinecraftServer server, Vec3 pos,
playerMPFake.getAbilities().flying = flying;
actionPackFromJson(actions, playerMPFake);
((EntityInvoker) playerMPFake).invokerUnsetRemoved();
});
}, server);
}

public static void load(Map.Entry<String, JsonElement> entry, MinecraftServer server) {
Expand Down
4 changes: 1 addition & 3 deletions src/main/resources/gca.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"FenceGateBlockMixin",
"FishingHookMixin",
"ItemStackMixin",
"MinecraftServerMixin",
"PlayerAccessor",
"PlayerMixin",
"ServerLevelMixin",
Expand All @@ -23,8 +22,7 @@
"server": [
],
"client": [
"EntityMixin",
"ServerPlayerMixin"
"EntityMixin"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit 9e0fbea

Please sign in to comment.