-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from tumuidle/dev/1.21.1
1.21.1
- Loading branch information
Showing
29 changed files
with
384 additions
and
213 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
mod/common/src/main/java/arcnode/reshack/mod/ConfigurationPayload.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package arcnode.reshack.mod; | ||
|
||
import arcnode.reshack.common.ConfigData; | ||
import arcnode.reshack.common.Networking; | ||
import net.minecraft.network.FriendlyByteBuf; | ||
import net.minecraft.network.codec.StreamCodec; | ||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
public record ConfigurationPayload(ConfigData config) implements CustomPacketPayload { | ||
public static final Type<ConfigurationPayload> TYPE = new Type<>(ResourceHack.getChannelConfig()); | ||
public static final StreamCodec<FriendlyByteBuf, ConfigurationPayload> CODEC = CustomPacketPayload.codec(ConfigurationPayload::write, ConfigurationPayload::read); | ||
|
||
private static ConfigurationPayload read(FriendlyByteBuf fbb) { | ||
var result = new ConfigurationPayload(Networking.read(fbb)); | ||
fbb.readBytes(fbb.readableBytes()); | ||
return result; | ||
} | ||
|
||
@Override | ||
public @NotNull Type<? extends CustomPacketPayload> type() { | ||
return TYPE; | ||
} | ||
|
||
private void write(FriendlyByteBuf fbb) { | ||
ResourceHack.LOG.info("ENCODE"); | ||
Networking.write(this.config, fbb); | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
mod/common/src/main/java/arcnode/reshack/mod/ConfigurationRequestPayload.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package arcnode.reshack.mod; | ||
|
||
import net.minecraft.network.FriendlyByteBuf; | ||
import net.minecraft.network.codec.StreamCodec; | ||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
public record ConfigurationRequestPayload() implements CustomPacketPayload { | ||
public static final Type<ConfigurationRequestPayload> TYPE = new Type<>(ResourceHack.getChannelConfigRequest()); | ||
public static final StreamCodec<FriendlyByteBuf, ConfigurationRequestPayload> CODEC = CustomPacketPayload.codec(ConfigurationRequestPayload::write, ConfigurationRequestPayload::read); | ||
|
||
|
||
@Override | ||
public @NotNull Type<? extends CustomPacketPayload> type() { | ||
return TYPE; | ||
} | ||
private static ConfigurationRequestPayload read(FriendlyByteBuf fbb) { | ||
return new ConfigurationRequestPayload(); | ||
} | ||
|
||
private void write(FriendlyByteBuf fbb) { | ||
} | ||
} |
5 changes: 5 additions & 0 deletions
5
mod/common/src/main/java/arcnode/reshack/mod/IResourceHackPlatform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package arcnode.reshack.mod; | ||
|
||
public interface IResourceHackPlatform { | ||
void sendConfigRequest(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
mod/common/src/main/java/arcnode/reshack/mod/mixin/MixinClientCommonPacketListenerImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package arcnode.reshack.mod.mixin; | ||
|
||
import arcnode.reshack.mod.ResourceHack; | ||
import net.minecraft.client.multiplayer.ClientCommonPacketListenerImpl; | ||
import net.minecraft.client.multiplayer.ServerData; | ||
import net.minecraft.network.protocol.Packet; | ||
import net.minecraft.network.protocol.common.ClientboundResourcePackPushPacket; | ||
import net.minecraft.network.protocol.common.ServerboundResourcePackPacket; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
import org.spongepowered.asm.mixin.Shadow; | ||
import org.spongepowered.asm.mixin.injection.At; | ||
import org.spongepowered.asm.mixin.injection.Inject; | ||
import org.spongepowered.asm.mixin.injection.Redirect; | ||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
|
||
@Mixin(ClientCommonPacketListenerImpl.class) | ||
public abstract class MixinClientCommonPacketListenerImpl { | ||
@Shadow public abstract void send(Packet<?> packet); | ||
|
||
@Redirect( | ||
method = "handleResourcePackPush", | ||
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/ServerData;getResourcePackStatus()Lnet/minecraft/client/multiplayer/ServerData$ServerPackStatus;") | ||
) | ||
// Forced enable server resource pack | ||
public ServerData.ServerPackStatus redirectGetServerPackStatus(ServerData instance) { | ||
return ServerData.ServerPackStatus.ENABLED; | ||
} | ||
|
||
@Inject( | ||
method = "handleResourcePackPush", | ||
at = @At("HEAD"), | ||
cancellable = true) | ||
// Prevent resource reloading between servers when connecting through a proxy | ||
public void injectHandleResourcePack(ClientboundResourcePackPushPacket packet, CallbackInfo ci) { | ||
// TODO: Fix, not working in 1.21.1 | ||
// if (ResourceHack.getLoadedUrls().contains(packet.url())) { | ||
// ResourceHack.LOG.info("Skipping loaded pack {}", packet.id()); | ||
// ci.cancel(); | ||
// | ||
// // Notify server | ||
// this.send(new ServerboundResourcePackPacket(packet.id(), ServerboundResourcePackPacket.Action.ACCEPTED)); | ||
// this.send(new ServerboundResourcePackPacket(packet.id(), ServerboundResourcePackPacket.Action.SUCCESSFULLY_LOADED)); | ||
// System.out.println(ResourceHack.getLoadedUrls()); | ||
// } else ResourceHack.getPackUrls().put(packet.id(), packet.url()); | ||
} | ||
} |
34 changes: 0 additions & 34 deletions
34
mod/common/src/main/java/arcnode/reshack/mod/mixin/MixinClientPacketListener.java
This file was deleted.
Oops, something went wrong.
21 changes: 0 additions & 21 deletions
21
mod/common/src/main/java/arcnode/reshack/mod/mixin/MixinClientboundCustomPayloadPacket.java
This file was deleted.
Oops, something went wrong.
27 changes: 27 additions & 0 deletions
27
mod/common/src/main/java/arcnode/reshack/mod/mixin/MixinDownloadPackSource.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package arcnode.reshack.mod.mixin; | ||
|
||
import arcnode.reshack.mod.ResourceHack; | ||
import net.minecraft.client.resources.server.PackLoadFeedback; | ||
import org.spongepowered.asm.mixin.Mixin; | ||
import org.spongepowered.asm.mixin.injection.At; | ||
import org.spongepowered.asm.mixin.injection.Inject; | ||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||
|
||
import java.util.UUID; | ||
|
||
@Mixin(targets = "net.minecraft.client.resources.server.DownloadedPackSource$6") | ||
public class MixinDownloadPackSource { | ||
@Inject( | ||
method = "reportFinalResult", | ||
at = @At(value = "FIELD", target = "Lnet/minecraft/network/protocol/common/ServerboundResourcePackPacket$Action;SUCCESSFULLY_LOADED:Lnet/minecraft/network/protocol/common/ServerboundResourcePackPacket$Action;") | ||
) | ||
public void injectReportFinalResult(UUID uUID, PackLoadFeedback.FinalResult finalResult, CallbackInfo ci) { | ||
String url = ResourceHack.getPackUrls().get(uUID); | ||
if (url == null) { | ||
ResourceHack.LOG.warn("Resource {} has no recorded URL", uUID); | ||
return; | ||
} | ||
ResourceHack.getLoadedUrls().add(ResourceHack.getPackUrls().get(uUID)); | ||
ResourceHack.LOG.info("Added loaded resource pack {}", uUID); | ||
} | ||
} |
Oops, something went wrong.