Skip to content

Commit c285f3f

Browse files
committed
1.21.5 -> 25w14craftmine
1 parent 5eb0ccb commit c285f3f

File tree

11 files changed

+60
-30
lines changed

11 files changed

+60
-30
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ buildscript {
44
}
55
}
66
plugins {
7-
id 'fabric-loom' version '1.6-SNAPSHOT'
7+
id 'fabric-loom' version '1.10-SNAPSHOT'
88
id 'maven-publish'
99
id 'com.modrinth.minotaur' version '2.+'
1010
id 'org.ajoberstar.reckon' version '0.13.1'

gradle.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ org.gradle.daemon=false
33

44
# Fabric Properties
55
# check these on https://fabricmc.net/develop
6-
minecraft_version=1.21-pre2
7-
yarn_mappings=1.21-pre2+build.2
8-
loader_version=0.15.11
9-
fabric_version=0.99.4+1.21
6+
minecraft_version=25w14craftmine
7+
yarn_mappings=25w14craftmine+build.3
8+
loader_version=0.16.12
9+
fabric_version=0.119.7+25w14craftmine
1010

1111
# Mod Properties
1212
group=com.sollace
@@ -15,9 +15,9 @@ org.gradle.daemon=false
1515
description=Enhanced Networking API for Fabric
1616

1717
# Publishing
18-
minecraft_version_range=>=1.21-pre2
18+
minecraft_version_range=>=25w14craftmine
1919
modrinth_loader_type=fabric
2020
modrinth_project_id=coknAH3s
2121

2222
# Dependencies
23-
modmenu_version=11.0.0-beta.1
23+
modmenu_version=14.0.0-rc.2
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

src/main/java/com/sollace/fabwork/api/packets/C2SPacketType.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public void sendToServer(T packet) {
3838
ClientSimpleNetworkingImpl.send(new Payload<>(packet, id));
3939
}
4040

41+
@SuppressWarnings("unchecked")
4142
@Deprecated
4243
public void sendToServer(Packet packet) {
4344
sendToServer((T)packet);
@@ -66,6 +67,7 @@ public net.minecraft.network.packet.Packet<ServerCommonPacketListener> toPacket(
6667
return ClientSimpleNetworkingImpl.createC2SPacket(new Payload<>(packet, id));
6768
}
6869

70+
@SuppressWarnings("unchecked")
6971
@Deprecated
7072
public net.minecraft.network.packet.Packet<ServerCommonPacketListener> toPacket(Packet packet) {
7173
return toPacket((T)packet);

src/main/java/com/sollace/fabwork/api/packets/S2CPacketType.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import net.minecraft.network.codec.PacketCodec;
99
import net.minecraft.network.listener.ClientCommonPacketListener;
1010
import net.minecraft.network.packet.CustomPayload;
11+
import net.minecraft.server.GameInstance;
1112
import net.minecraft.server.MinecraftServer;
1213
import net.minecraft.server.network.ServerPlayerEntity;
1314
import net.minecraft.server.world.ServerWorld;
@@ -26,6 +27,7 @@ public void sendToPlayer(T packet, ServerPlayerEntity recipient) {
2627
ServerPlayNetworking.send(recipient, new Payload<>(packet, id));
2728
}
2829

30+
@SuppressWarnings("unchecked")
2931
@Deprecated
3032
public void sendToPlayer(Packet packet, ServerPlayerEntity recipient) {
3133
sendToPlayer((T)packet, recipient);
@@ -41,6 +43,7 @@ public void sendToAllPlayers(T packet, World world) {
4143
});
4244
}
4345

46+
@SuppressWarnings("unchecked")
4447
@Deprecated
4548
public void sendToAllPlayers(Packet packet, World world) {
4649
sendToAllPlayers((T)packet, world);
@@ -53,6 +56,7 @@ public void sendToSurroundingPlayers(T packet, Entity entity) {
5356
}
5457
}
5558

59+
@SuppressWarnings("unchecked")
5660
@Deprecated
5761
public void sendToSurroundingPlayers(Packet packet, Entity entity) {
5862
sendToSurroundingPlayers((T)packet, entity);
@@ -61,16 +65,29 @@ public void sendToSurroundingPlayers(Packet packet, Entity entity) {
6165
public void sendToAllPlayers(T packet, MinecraftServer server) {
6266
Objects.requireNonNull(server, "Server cannot be null");
6367
var p = toPacket(packet);
64-
server.getPlayerManager().getPlayerList().forEach(recipient -> {
68+
server.getGameInstance().getPlayerManager().getPlayerList().forEach(recipient -> {
6569
recipient.networkHandler.sendPacket(p);
6670
});
6771
}
6872

73+
@SuppressWarnings("unchecked")
6974
@Deprecated
7075
public void sendToAllPlayers(Packet packet, MinecraftServer server) {
7176
sendToAllPlayers((T)packet, server);
7277
}
7378

79+
public void sendToAllPlayers(T packet, GameInstance game) {
80+
Objects.requireNonNull(game, "Game cannot be null");
81+
sendToAllPlayers(packet, game.getServer());
82+
}
83+
84+
@SuppressWarnings("unchecked")
85+
@Deprecated
86+
public void sendToAllPlayers(Packet packet, GameInstance game) {
87+
Objects.requireNonNull(game, "Game cannot be null");
88+
sendToAllPlayers((T)packet, game.getServer());
89+
}
90+
7491
/**
7592
* Repackages a fabwork packet into a normal Minecraft protocol packet suitable for sending to a connected client.
7693
*/
@@ -79,6 +96,7 @@ public net.minecraft.network.packet.Packet<ClientCommonPacketListener> toPacket(
7996
return ServerPlayNetworking.createS2CPacket(new Payload<>(packet, id));
8097
}
8198

99+
@SuppressWarnings("unchecked")
82100
@Deprecated
83101
public net.minecraft.network.packet.Packet<ClientCommonPacketListener> toPacket(Packet packet) {
84102
return toPacket((T)packet);

src/main/java/com/sollace/fabwork/impl/FabworkClientImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void onInitializeClient() {
4949
}, "Responding to server sync packet");
5050
});
5151

52-
ClientConfigurationConnectionEvents.READY.register((handler, client) -> {
52+
ClientConfigurationConnectionEvents.COMPLETE.register((handler, client) -> {
5353
LoaderUtil.invokeUntrusted(() -> {
5454
STATE.verify(LOGGER, true).ifPresent(disconnectReason -> {
5555
handler.onDisconnect(new DisconnectS2CPacket(disconnectReason));

src/main/java/com/sollace/fabwork/impl/FabworkServer.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void onInitialize() {
4646
handler.addTask(new ServerPlayerConfigurationTask() {
4747
@Override
4848
public void sendPacket(Consumer<Packet<?>> sender) {
49-
LOGGER.info("Sending mod list to {}[{}]", handler.getDebugProfile().getName(), connection.getAddress());
49+
LOGGER.info("Sending mod list to {}[{}]", handler.method_69162().getName(), connection.getAddress());
5050
sender.accept(ServerConfigurationNetworking.createS2CPacket(new ConsentMessage(emptyState.installedOnServer())));
5151
}
5252

@@ -56,11 +56,11 @@ public Key getKey() {
5656
}
5757
});
5858
} else {
59-
LOGGER.warn("{}[{}] does not appear to have fabwork installed", handler.getDebugProfile().getName(), connection.getAddress());
59+
LOGGER.warn("{}[{}] does not appear to have fabwork installed", handler.method_69162().getName(), connection.getAddress());
6060
if (config.allowUnmoddedClients) {
61-
LOGGER.warn("Connection to {}[{}] has been force permitted by server configuration. They are allowed to join checking installed mods! Their game may be broken upon joining!", handler.getDebugProfile().getName(), connection.getAddress());
61+
LOGGER.warn("Connection to {}[{}] has been force permitted by server configuration. They are allowed to join checking installed mods! Their game may be broken upon joining!", handler.method_69162().getName(), connection.getAddress());
6262
} else {
63-
emptyState.verify(LOGGER, false).ifPresent(handler::disconnect);
63+
emptyState.verify(LOGGER, false).ifPresent(connection::disconnect);
6464
}
6565
}
6666
});
@@ -69,8 +69,8 @@ public Key getKey() {
6969
LoaderUtil.invokeUntrusted(() -> {
7070
SynchronisationState state = new SynchronisationState(payload.entries().stream(), emptyState.installedOnServer().stream());
7171
ClientConnection connection = ClientConnectionAccessor.get(context.networkHandler());
72-
LOGGER.info("Got mod list from {}[{}]: {}", context.networkHandler().getDebugProfile().getName(), connection.getAddress(), ModEntriesUtil.stringify(state.installedOnClient()));
73-
state.verify(LOGGER, true).ifPresentOrElse(context.networkHandler()::disconnect, () -> context.networkHandler().completeTask(MOD_LIST_SYNC_TASK));
72+
LOGGER.info("Got mod list from {}[{}]: {}", context.networkHandler().method_69162().getName(), connection.getAddress(), ModEntriesUtil.stringify(state.installedOnClient()));
73+
state.verify(LOGGER, true).ifPresentOrElse(ClientConnectionAccessor.get(context.networkHandler())::disconnect, () -> context.networkHandler().completeTask(MOD_LIST_SYNC_TASK));
7474
}, "Received synchronize response from client");
7575
});
7676
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.sollace.fabwork.impl.mixin;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.gen.Accessor;
5+
6+
import net.minecraft.server.GameInstance;
7+
import net.minecraft.server.network.ServerCommonNetworkHandler;
8+
9+
@Mixin(ServerCommonNetworkHandler.class)
10+
public interface GameInstanceAccessor {
11+
@Accessor("field_58305")
12+
GameInstance getGameInstance();
13+
}
Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.sollace.fabwork.impl.mixin;
22

3-
import org.spongepowered.asm.mixin.Final;
43
import org.spongepowered.asm.mixin.Mixin;
5-
import org.spongepowered.asm.mixin.Shadow;
64
import org.spongepowered.asm.mixin.gen.Accessor;
75
import org.spongepowered.asm.mixin.injection.At;
86
import org.spongepowered.asm.mixin.injection.Inject;
@@ -11,26 +9,24 @@
119
import com.sollace.fabwork.impl.ClientConnectionAccessor;
1210
import com.sollace.fabwork.impl.PlayPingSynchroniser;
1311

12+
import net.minecraft.class_10972;
1413
import net.minecraft.network.ClientConnection;
1514
import net.minecraft.network.NetworkThreadUtils;
1615
import net.minecraft.network.listener.ServerCommonPacketListener;
1716
import net.minecraft.network.packet.c2s.common.CommonPongC2SPacket;
18-
import net.minecraft.server.MinecraftServer;
19-
import net.minecraft.server.network.ServerCommonNetworkHandler;
2017

21-
@Mixin(ServerCommonNetworkHandler.class)
18+
@Mixin(class_10972.class)
2219
abstract class ServerCommonNetworkHandlerMixin implements ServerCommonPacketListener, ClientConnectionAccessor {
23-
24-
@Shadow
25-
protected @Final MinecraftServer server;
26-
2720
@Inject(method = "onPong(Lnet/minecraft/network/packet/c2s/common/CommonPongC2SPacket;)V", at = @At("HEAD"))
2821
private void onOnPong(CommonPongC2SPacket packet, CallbackInfo info) {
29-
NetworkThreadUtils.forceMainThread(packet, this, server);
30-
PlayPingSynchroniser.onClientResponse(packet, server);
22+
Object self = this;
23+
if (self instanceof GameInstanceAccessor handler) {
24+
NetworkThreadUtils.forceMainThread(packet, this, handler.getGameInstance().getThreadExecutor());
25+
PlayPingSynchroniser.onClientResponse(packet, handler.getGameInstance().getThreadExecutor());
26+
}
3127
}
3228

3329
@Override
34-
@Accessor("connection")
30+
@Accessor("field_58317")
3531
public abstract ClientConnection getConnection();
3632
}

src/main/java/com/sollace/fabwork/impl/packets/ServerSimpleNetworkingImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static <T> C2SPacketType<T> registerC2S(Identifier id, PacketCodec<? supe
2424
var type = new C2SPacketType<>(packetId, Payload.createCodec(packetId, codec), new ReceiverImpl<>(id));
2525
PayloadTypeRegistry.playC2S().register(type.id(), type.codec());
2626
ServerPlayNetworking.registerGlobalReceiver(type.id(), (payload, context) -> {
27-
context.player().server.execute(() -> ((ReceiverImpl<ServerPlayerEntity, T>)type.receiver()).onReceive(context.player(), payload.packet()));
27+
context.player().method_69130().getServer().execute(() -> ((ReceiverImpl<ServerPlayerEntity, T>)type.receiver()).onReceive(context.player(), payload.packet()));
2828
});
2929
return type;
3030
}

0 commit comments

Comments
 (0)