Skip to content

Commit

Permalink
Update to 1.19.4 (#95)
Browse files Browse the repository at this point in the history
  • Loading branch information
DrexHD authored Mar 15, 2023
1 parent 52ed84a commit a246a12
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 14 deletions.
8 changes: 3 additions & 5 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.19.1
yarn_mappings=1.19.1+build.4
loader_version=0.14.8
# Runtime
lazydfu_version=0.1.3
minecraft_version=1.19.4
yarn_mappings=1.19.4+build.1
loader_version=0.14.17
# Mod Properties
mod_version=0.2.1
maven_group=me.steinborn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import me.steinborn.krypton.mod.shared.WorldEntityByChunkAccess;
import net.minecraft.entity.Entity;
import net.minecraft.entity.mob.MobEntity;
import net.minecraft.network.Packet;
import net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket;
import net.minecraft.network.packet.s2c.play.EntityAttachS2CPacket;
import net.minecraft.network.packet.s2c.play.EntityPassengersSetS2CPacket;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import io.netty.channel.*;
import me.steinborn.krypton.mod.shared.network.ConfigurableAutoFlush;
import net.minecraft.class_7648;
import net.minecraft.network.ClientConnection;
import net.minecraft.network.NetworkState;
import net.minecraft.network.Packet;
import net.minecraft.network.PacketCallbacks;
import net.minecraft.network.packet.Packet;
import org.jetbrains.annotations.Nullable;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Mixin;
Expand Down Expand Up @@ -43,8 +43,7 @@ private void initAddedFields(CallbackInfo ci) {
cancellable = true,
method = "sendImmediately",
at = @At(value = "FIELD", target = "Lnet/minecraft/network/ClientConnection;packetsSentCounter:I", opcode = Opcodes.PUTFIELD, shift = At.Shift.AFTER))
private void sendImmediately$rewrite(Packet<?> packet, @Nullable class_7648 callback, CallbackInfo info, NetworkState packetState, NetworkState protocolState) {
// class_7648 is net/minecraft/network/PacketSendListener in Mojmap
private void sendImmediately$rewrite(Packet<?> packet, @Nullable PacketCallbacks callback, CallbackInfo info, NetworkState packetState, NetworkState protocolState) {
boolean newState = packetState != protocolState;

if (this.channel.eventLoop().inEventLoop()) {
Expand Down Expand Up @@ -88,16 +87,16 @@ public Channel disableForcedFlushEveryTick(ClientConnection clientConnection) {
return null;
}

private void doSendPacket(Packet<?> packet, class_7648 callback) {
private void doSendPacket(Packet<?> packet, PacketCallbacks callback) {
if (callback == null) {
this.channel.write(packet, this.channel.voidPromise());
} else {
ChannelFuture channelFuture = this.channel.write(packet);
channelFuture.addListener(listener -> {
if (listener.isSuccess()) {
callback.method_45083(); // onSuccess moj
callback.onSuccess();
} else {
Packet<?> failedPacket = callback.method_45086(); // onFailure moj
Packet<?> failedPacket = callback.getFailurePacket();
if (failedPacket != null) {
ChannelFuture failedChannelFuture = this.channel.writeAndFlush(failedPacket);
failedChannelFuture.addListener(ChannelFutureListener.FIRE_EXCEPTION_ON_FAILURE);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package me.steinborn.krypton.mixin.shared.network.util;

import net.minecraft.network.ClientConnection;
import net.minecraft.server.network.ServerPlayNetworkHandler;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(ServerPlayNetworkHandler.class)
public interface ServerPlayNetworkHandlerAccessor {

@Accessor
ClientConnection getConnection();
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package me.steinborn.krypton.mod.shared.network.util;

import me.steinborn.krypton.mixin.shared.network.util.ServerPlayNetworkHandlerAccessor;
import me.steinborn.krypton.mod.shared.network.ConfigurableAutoFlush;
import net.minecraft.network.ClientConnection;
import net.minecraft.server.network.ServerPlayerEntity;

public class AutoFlushUtil {
public static void setAutoFlush(ServerPlayerEntity player, boolean val) {
if (player.getClass() == ServerPlayerEntity.class) {
ConfigurableAutoFlush configurableAutoFlusher = ((ConfigurableAutoFlush) player.networkHandler.getConnection());
ConfigurableAutoFlush configurableAutoFlusher = ((ConfigurableAutoFlush) ((ServerPlayNetworkHandlerAccessor) player.networkHandler).getConnection());
configurableAutoFlusher.setShouldAutoFlush(val);
}
}
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/krypton.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"shared.network.pipeline.compression.ClientConnectionMixin",
"shared.network.pipeline.encryption.ClientConnectionMixin",
"shared.network.pipeline.encryption.ServerLoginNetworkHandlerMixin",
"shared.network.util.ServerPlayNetworkHandlerAccessor",
"shared.player.ServerPlayerEntityMixin"
],
"injectors": {
Expand Down

0 comments on commit a246a12

Please sign in to comment.