diff options
Diffstat (limited to 'src/main/java')
3 files changed, 55 insertions, 7 deletions
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayerNetworkHandler.java b/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayerNetworkHandler.java new file mode 100644 index 000000000..346c1238c --- /dev/null +++ b/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayerNetworkHandler.java @@ -0,0 +1,31 @@ +package me.shedaniel.rei.mixin; + +import net.minecraft.client.network.ClientPlayNetworkHandler; +import net.minecraft.client.network.packet.GameStateChangeS2CPacket; +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; + +@Mixin(ClientPlayNetworkHandler.class) +public class MixinClientPlayerNetworkHandler { + + @Inject(method = "onGameStateChange", at = @At("RETURN")) + public void onGameStateChange(GameStateChangeS2CPacket packet, CallbackInfo callbackInfo) { + switch (packet.getReason()) { + case 1: + System.out.println("End Raining"); + break; + case 2: + System.out.println("Start Raining"); + break; + case 7: + System.out.println("Change rain color to " + packet.getValue()); + break; + case 8: + System.out.println("Change thunder color to " + packet.getValue()); + break; + } + } + +} diff --git a/src/main/java/me/shedaniel/rei/utils/ClientWeatherUtils.java b/src/main/java/me/shedaniel/rei/utils/ClientWeatherUtils.java new file mode 100644 index 000000000..77db8837c --- /dev/null +++ b/src/main/java/me/shedaniel/rei/utils/ClientWeatherUtils.java @@ -0,0 +1,23 @@ +package me.shedaniel.rei.utils; + +public class ClientWeatherUtils { + + private float rain = 0f, thunder = 0f; + + public float getRain() { + return rain; + } + + public void setRain(float rain) { + this.rain = rain; + } + + public float getThunder() { + return thunder; + } + + public void setThunder(float thunder) { + this.thunder = thunder; + } + +} diff --git a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java index 510a38535..76b55950a 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java @@ -15,7 +15,6 @@ import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.config.ItemListOrderingEntry; import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks; -import net.fabricmc.fabric.api.event.client.ClientTickCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Element; @@ -46,6 +45,7 @@ public class ClothRegistry { return; if (screen instanceof PlayerInventoryScreen && minecraftClient.interactionManager.hasCreativeInventory()) return; + ScreenHelper.setLastContainerScreen((ContainerScreen) screen); boolean alreadyAdded = false; for(Element element : Lists.newArrayList(screenHooks.cloth_getInputListeners())) if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass())) @@ -118,12 +118,6 @@ public class ClothRegistry { return ActionResult.SUCCESS; return ActionResult.PASS; }); - ClientTickCallback.EVENT.register(client -> { - if (client.currentScreen instanceof ContainerScreen) { - if (ScreenHelper.getLastContainerScreen() == null || !ScreenHelper.getLastContainerScreen().equals(client.currentScreen)) - ScreenHelper.setLastContainerScreen((ContainerScreen) client.currentScreen); - } - }); } public static void openConfigScreen(Screen parent) { |
