commit 9e6c197f44d42c88b15cf79edcf2b5bdce9f0f0b from: rohanverma2007 date: Sun Apr 26 15:37:01 2026 UTC add sleep tight support commit - 62b3bb8066fd31d86098f91d771f995979fb9ef3 commit + 9e6c197f44d42c88b15cf79edcf2b5bdce9f0f0b blob - 15cfbbc30857d1e0d869401a0982367fea87236b blob + 1f8ee11a5903168dc0a82083a1ea845fb84fea5c --- build.gradle +++ build.gradle @@ -93,6 +93,7 @@ jar { exclude 'dev/ryanhcode/**' exclude 'dev/simulated_team/**' exclude 'me/desht/**' + exclude 'net/mehvahdjukaar/**' } var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) { blob - 0f8f0800da5605f8ea9f0fc97c3fb1d5fc5c86c1 blob + dc75a8ad6b5bf6be0adbc1eecc5b47cc9b51a870 --- src/main/java/sh/rsap/aeronauticscompat/mixin/AeronauticsCompatMixinPlugin.java +++ src/main/java/sh/rsap/aeronauticscompat/mixin/AeronauticsCompatMixinPlugin.java @@ -20,29 +20,30 @@ public class AeronauticsCompatMixinPlugin implements I private static final String PNEUMATIC_CRAFT = "me.desht.pneumaticcraft.common.block.entity.utility.SentryTurretBlockEntity"; /** Per-mixin marker-class requirements (all must resolve to apply). */ - private static final Map REQUIREMENTS = Map.of( - "sh.rsap.aeronauticscompat.mixin.etched.EtchedStopListeningSoundMixin", - new String[]{SABLE, ETCHED}, - "sh.rsap.aeronauticscompat.mixin.waterframes.WaterFramesSableDistanceMixin", - new String[]{SABLE, WATERFRAMES}, - "sh.rsap.aeronauticscompat.mixin.citadel.CitadelAdvancedPathNavigateMixin", - new String[]{SABLE, CITADEL}, - "sh.rsap.aeronauticscompat.mixin.thickair.ThickAirAirQualityHelperMixin", - new String[]{SABLE, THICK_AIR}, - "sh.rsap.aeronauticscompat.mixin.sable.SubLevelAssemblyHelperMixin", - new String[]{SABLE, BITS_N_BOBS}, - "sh.rsap.aeronauticscompat.mixin.bitsnbobs.CogwheelChainBehaviourMixin", - new String[]{SABLE, BITS_N_BOBS}, - "sh.rsap.aeronauticscompat.mixin.simulated.SimAssemblyHelperMixin", - new String[]{SABLE, SIMULATED, BITS_N_BOBS}, - "sh.rsap.aeronauticscompat.mixin.pneumaticcraft.SentryTurretEntitySelectorMixin", - new String[]{SABLE, PNEUMATIC_CRAFT}, - "sh.rsap.aeronauticscompat.mixin.pneumaticcraft.MovingSoundMinigunMixin", - new String[]{SABLE, PNEUMATIC_CRAFT}, - "sh.rsap.aeronauticscompat.mixin.pneumaticcraft.AbstractPneumaticCraftBlockMixin", - new String[]{SABLE, PNEUMATIC_CRAFT} + private static final Map REQUIREMENTS = Map.ofEntries( + Map.entry("sh.rsap.aeronauticscompat.mixin.etched.EtchedStopListeningSoundMixin", + new String[]{SABLE, ETCHED}), + Map.entry("sh.rsap.aeronauticscompat.mixin.waterframes.WaterFramesSableDistanceMixin", + new String[]{SABLE, WATERFRAMES}), + Map.entry("sh.rsap.aeronauticscompat.mixin.citadel.CitadelAdvancedPathNavigateMixin", + new String[]{SABLE, CITADEL}), + Map.entry("sh.rsap.aeronauticscompat.mixin.thickair.ThickAirAirQualityHelperMixin", + new String[]{SABLE, THICK_AIR}), + Map.entry("sh.rsap.aeronauticscompat.mixin.sable.SubLevelAssemblyHelperMixin", + new String[]{SABLE, BITS_N_BOBS}), + Map.entry("sh.rsap.aeronauticscompat.mixin.simulated.SimAssemblyHelperMixin", + new String[]{SABLE, SIMULATED, BITS_N_BOBS}), + Map.entry("sh.rsap.aeronauticscompat.mixin.bitsnbobs.CogwheelChainBlockEntityMixin", + new String[]{SABLE, BITS_N_BOBS}), + Map.entry("sh.rsap.aeronauticscompat.mixin.pneumaticcraft.SentryTurretEntitySelectorMixin", + new String[]{SABLE, PNEUMATIC_CRAFT}), + Map.entry("sh.rsap.aeronauticscompat.mixin.pneumaticcraft.MovingSoundMinigunMixin", + new String[]{SABLE, PNEUMATIC_CRAFT}), + Map.entry("sh.rsap.aeronauticscompat.mixin.pneumaticcraft.AbstractPneumaticCraftBlockMixin", + new String[]{SABLE, PNEUMATIC_CRAFT}), + Map.entry("sh.rsap.aeronauticscompat.mixin.sable.ClientPacketListenerMixin", + new String[]{SABLE}) ); - @Override public void onLoad(String mixinPackage) { ClassLoader cl = AeronauticsCompatMixinPlugin.class.getClassLoader(); @@ -54,7 +55,6 @@ public class AeronauticsCompatMixinPlugin implements I + " thick_air=" + resolves(THICK_AIR, cl) + " bnb=" + resolves(BITS_N_BOBS, cl) + " simulated=" + resolves(SIMULATED, cl) - + " pneumaticcraft=" + resolves(PNEUMATIC_CRAFT, cl) + " pneumaticcraft=" + resolves(PNEUMATIC_CRAFT, cl)); } blob - /dev/null blob + c98cc389edb2e56c0b014639bf75bbeb2e3650dc (mode 644) --- /dev/null +++ src/main/java/sh/rsap/aeronauticscompat/mixin/sable/ClientPacketListenerMixin.java @@ -0,0 +1,28 @@ +package sh.rsap.aeronauticscompat.mixin.sable; + +import net.minecraft.client.multiplayer.ClientChunkCache; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.world.level.ChunkPos; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(ClientPacketListener.class) +public abstract class ClientPacketListenerMixin { + + private static final int PLOT_CHUNK_THRESHOLD = 1_000_000; + + @Redirect( + method = "handleForgetLevelChunk", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/client/multiplayer/ClientChunkCache;drop(Lnet/minecraft/world/level/ChunkPos;)V" + ) + ) + private void aeronauticscompat$skipPlotChunkDrop(ClientChunkCache cache, ChunkPos chunkPos) { + if (Math.abs(chunkPos.x) > PLOT_CHUNK_THRESHOLD || Math.abs(chunkPos.z) > PLOT_CHUNK_THRESHOLD) { + return; + } + cache.drop(chunkPos); + } +} blob - 6db1cf80e7a659514d7f374979f6f454fa78a59b blob + 8d2da57a4aae63c1fb37b53472aaa3dc719a89a9 --- src/main/resources/aeronauticscompat.mixins.json +++ src/main/resources/aeronauticscompat.mixins.json @@ -16,7 +16,8 @@ "client": [ "etched.EtchedStopListeningSoundMixin", "waterframes.WaterFramesSableDistanceMixin", - "pneumaticcraft.MovingSoundMinigunMixin" + "pneumaticcraft.MovingSoundMinigunMixin", + "sable.ClientPacketListenerMixin" ], "injectors": { "defaultRequire": 1 blob - 2ffa83779f29f1c1e8c0d53554d5cbe667a0bb01 blob + 00dcf5a434c21254ed8390f063265781066d0876 --- src/main/resources/data/sable/tags/entity_type/retain_in_sub_level.json +++ src/main/resources/data/sable/tags/entity_type/retain_in_sub_level.json @@ -5,6 +5,7 @@ {"id": "immersive_paintings:painting", "required": false}, {"id": "immersive_paintings:glow_painting", "required": false}, {"id": "immersive_paintings:graffiti", "required": false}, - {"id": "immersive_paintings:glow_graffiti", "required": false} + {"id": "immersive_paintings:glow_graffiti", "required": false}, + {"id": "sleep_tight:bed_entity", "required": false} ] }