From 6ab47cc9630c62df6f831d553903eb5bb02e8b76 Mon Sep 17 00:00:00 2001 From: Gugle Date: Sun, 23 Jun 2024 16:18:34 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BB=85=E5=AE=89=E8=A3=85JEI=E6=97=B6?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anvilcraft/api/event/EventManager.java | 5 +++ .../api/event/entity/PlayerEvent.java | 23 ++++++++++-- .../data/generator/lang/OtherLang.java | 15 ++++++-- .../anvilcraft/event/PlayerEventListener.java | 34 ++++++++++++++++++ .../mixin/ClientPacketListenerMixin.java | 36 +++++++++++++++++++ .../java/dev/dubhe/anvilcraft/util/Utils.java | 16 +++++++++ .../resources/anvilcraft-common.mixins.json | 1 + .../assets/anvilcraft/lang/zh_cn.json | 3 +- .../assets/anvilcraft/lang/en_ud.json | 2 ++ .../assets/anvilcraft/lang/en_us.json | 2 ++ .../anvilcraft/util/fabric/UtilsImpl.java | 9 +++++ .../assets/anvilcraft/lang/en_ud.json | 2 ++ .../assets/anvilcraft/lang/en_us.json | 2 ++ .../event/forge/PlayerEventListener.java | 2 +- .../anvilcraft/util/forge/UtilsImpl.java | 9 +++++ 15 files changed, 154 insertions(+), 7 deletions(-) create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/mixin/ClientPacketListenerMixin.java create mode 100644 common/src/main/java/dev/dubhe/anvilcraft/util/Utils.java create mode 100644 fabric/src/main/java/dev/dubhe/anvilcraft/util/fabric/UtilsImpl.java create mode 100644 forge/src/main/java/dev/dubhe/anvilcraft/util/forge/UtilsImpl.java diff --git a/common/src/main/java/dev/dubhe/anvilcraft/api/event/EventManager.java b/common/src/main/java/dev/dubhe/anvilcraft/api/event/EventManager.java index e8637e944..2b8e60b07 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/api/event/EventManager.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/api/event/EventManager.java @@ -1,6 +1,9 @@ package dev.dubhe.anvilcraft.api.event; +import dev.architectury.platform.Platform; +import dev.architectury.utils.Env; import dev.dubhe.anvilcraft.AnvilCraft; +import net.fabricmc.api.Environment; import org.jetbrains.annotations.NotNull; import java.lang.reflect.InvocationTargetException; @@ -47,6 +50,8 @@ public void register(@NotNull Object object) { for (Method method : object.getClass().getMethods()) { if (method.getParameterCount() != 1) continue; SubscribeEvent annotation = method.getAnnotation(SubscribeEvent.class); + Environment env = method.getAnnotation(Environment.class); + if (env != null && Env.fromPlatform(env.value()) != Platform.getEnvironment()) continue; if (null == annotation) continue; Class event = method.getParameterTypes()[0]; Consumer trigger = (obj) -> { diff --git a/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java b/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java index f810adb8b..1b6ca2d6e 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java @@ -2,6 +2,9 @@ import lombok.Getter; import lombok.Setter; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -9,7 +12,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; -public class PlayerEvent extends EntityEvent { +public class PlayerEvent extends EntityEvent { /** * 玩家事件 * @@ -17,12 +20,12 @@ public class PlayerEvent extends EntityEvent { * @param pos 位置 * @param level 世界 */ - public PlayerEvent(Player entity, BlockPos pos, Level level) { + public PlayerEvent(T entity, BlockPos pos, Level level) { super(entity, pos, level); } @Getter - public static class UseEntity extends PlayerEvent { + public static class UseEntity extends PlayerEvent { private final Entity target; private final InteractionHand hand; @Setter @@ -37,4 +40,18 @@ public UseEntity(Player entity, Entity target, InteractionHand hand, Level level this.hand = hand; } } + + @Environment(EnvType.CLIENT) + public static class ClientPlayerJoin extends PlayerEvent { + /** + * 玩家加入事件 + * + * @param entity 实体 + * @param pos 位置 + * @param level 世界 + */ + public ClientPlayerJoin(LocalPlayer entity, BlockPos pos, Level level) { + super(entity, pos, level); + } + } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/OtherLang.java b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/OtherLang.java index 3e19259c9..b6754d46b 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/OtherLang.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/data/generator/lang/OtherLang.java @@ -8,6 +8,11 @@ public class OtherLang { * @param provider 提供器 */ public static void init(@NotNull RegistrateLangProvider provider) { + provider.add( + "modmenu.nameTranslation.anvilcraft", + "AnvilCraft" + ); + provider.add( "item.anvilcraft.default_enchantment.tooltip", "Has default enchantments:" @@ -34,8 +39,14 @@ public static void init(@NotNull RegistrateLangProvider provider) { ); provider.add( - "item.anvilcraft.disk.stored_from", - "Stored from: %s" + "item.anvilcraft.disk.stored_from", + "Stored from: %s" + ); + + provider.add( + "tooltip.anvilcraft.only_jei", + "We have detected that you have only installed JEI and will not be able to obtain a complete recipe query. " + + "We recommend installing %s for a complete gaming experience!" ); } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java b/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java index 9770dae20..6492c7ce3 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java @@ -4,6 +4,11 @@ import dev.dubhe.anvilcraft.api.event.entity.PlayerEvent; import dev.dubhe.anvilcraft.init.ModBlocks; import dev.dubhe.anvilcraft.item.ResinBlockItem; +import dev.dubhe.anvilcraft.util.Utils; +import net.minecraft.ChatFormatting; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.ClickEvent; +import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; @@ -24,4 +29,33 @@ public void useEntity(@NotNull PlayerEvent.UseEntity event) { event.setResult(ResinBlockItem.useEntity(player, target, item)); } } + + /** + * @param event 玩家加入事件 + */ + @SubscribeEvent + public void onPlayerJoin(@NotNull PlayerEvent.ClientPlayerJoin event) { + if (Utils.onlyJei()) { + LocalPlayer entity = event.getEntity(); + entity.sendSystemMessage( + Component.literal("[").withStyle(ChatFormatting.GREEN).append( + Component.translatable("modmenu.nameTranslation.anvilcraft").withStyle(ChatFormatting.GOLD).append( + Component.literal("] ").withStyle(ChatFormatting.GREEN).append( + Component.translatable( + "tooltip.anvilcraft.only_jei", + Component.literal("EMI").withStyle(ChatFormatting.BLUE).withStyle( + style -> style.withClickEvent( + new ClickEvent( + ClickEvent.Action.OPEN_URL, + "https://modrinth.com/mod/emi" + ) + ) + ) + ).withStyle(ChatFormatting.BLACK) + ) + ) + ) + ); + } + } } diff --git a/common/src/main/java/dev/dubhe/anvilcraft/mixin/ClientPacketListenerMixin.java b/common/src/main/java/dev/dubhe/anvilcraft/mixin/ClientPacketListenerMixin.java new file mode 100644 index 000000000..da93bdbef --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/mixin/ClientPacketListenerMixin.java @@ -0,0 +1,36 @@ +package dev.dubhe.anvilcraft.mixin; + +import dev.dubhe.anvilcraft.AnvilCraft; +import dev.dubhe.anvilcraft.api.event.entity.PlayerEvent; +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.protocol.game.ClientboundLoginPacket; +import org.spongepowered.asm.mixin.Final; +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.callback.CallbackInfo; + +@Mixin(ClientPacketListener.class) +public abstract class ClientPacketListenerMixin { + @Shadow + @Final + private Minecraft minecraft; + + @Shadow + public abstract ClientLevel getLevel(); + + @Inject( + method = "handleLogin", + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Options;broadcastOptions()V") + ) + private void handleLogin(ClientboundLoginPacket packet, CallbackInfo ci) { + LocalPlayer player = this.minecraft.player; + if (player != null) { + AnvilCraft.EVENT_BUS.post(new PlayerEvent.ClientPlayerJoin(player, player.getOnPos(), this.getLevel())); + } + } +} diff --git a/common/src/main/java/dev/dubhe/anvilcraft/util/Utils.java b/common/src/main/java/dev/dubhe/anvilcraft/util/Utils.java new file mode 100644 index 000000000..8400f3e85 --- /dev/null +++ b/common/src/main/java/dev/dubhe/anvilcraft/util/Utils.java @@ -0,0 +1,16 @@ +package dev.dubhe.anvilcraft.util; + +import dev.architectury.injectables.annotations.ExpectPlatform; + +public abstract class Utils { + private Utils() { + } + + /** + * @return 是否只加载了 JEI + */ + @ExpectPlatform + public static boolean onlyJei() { + throw new AssertionError(); + } +} diff --git a/common/src/main/resources/anvilcraft-common.mixins.json b/common/src/main/resources/anvilcraft-common.mixins.json index ef83a97c8..c9b4b0f44 100644 --- a/common/src/main/resources/anvilcraft-common.mixins.json +++ b/common/src/main/resources/anvilcraft-common.mixins.json @@ -35,6 +35,7 @@ ], "client": [ "ClientLevelMixin", + "ClientPacketListenerMixin", "ItemInHandRendererMixin", "LevelRendererMixin", "TooltipRenderMixin", diff --git a/common/src/main/resources/assets/anvilcraft/lang/zh_cn.json b/common/src/main/resources/assets/anvilcraft/lang/zh_cn.json index 95db4c458..590ad8d51 100644 --- a/common/src/main/resources/assets/anvilcraft/lang/zh_cn.json +++ b/common/src/main/resources/assets/anvilcraft/lang/zh_cn.json @@ -423,5 +423,6 @@ "tooltip.anvilcraft.item.topaz": "蕴含闪电的力量", "tooltip.anvilcraft.item.transmission_pole": "组建电网,传输距离为8个方块", "tooltip.anvilcraft.jade.power_information": "电网:%d/%d kW", - "tooltip.anvilcraft.ruby_prism.power": "激光等级:%d" + "tooltip.anvilcraft.ruby_prism.power": "激光等级:%d", + "modmenu.nameTranslation.anvilcraft": "铁砧工艺" } diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json index c91b169ea..cf3bcbbec 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -299,6 +299,7 @@ "itemGroup.anvilcraft.ingredients": "sʇuǝıpǝɹbuI :ʇɟɐɹƆןıʌuⱯ", "itemGroup.anvilcraft.tools": "sǝıʇıןıʇ∩ :ʇɟɐɹƆןıʌuⱯ", "message.anvilcraft.need_patchouli_installed": "pǝןןɐʇsuı ǝq oʇ spǝǝu ıןnoɥɔʇɐԀ", + "modmenu.nameTranslation.anvilcraft": "ʇɟɐɹƆןıʌuⱯ", "patchouli.anvilcraft.landing_text": "ʇɟɐɹƆןıʌuⱯ oʇ ǝɯoɔןǝM", "screen.anvilcraft.active_silencer.title": "ɹǝɔuǝןıS ǝʌıʇɔⱯ", "screen.anvilcraft.button.direction": "%s :uoıʇɔǝɹıᗡ ʇndʇnO", @@ -433,5 +434,6 @@ "tooltip.anvilcraft.item.topaz": "buıuʇɥbıן ɟo ɹǝʍod ǝɥʇ buıuıɐʇuoƆ", "tooltip.anvilcraft.item.transmission_pole": "8 ɟo ǝɔuɐʇsıp uoıssıɯsuɐɹʇ ɐ ɥʇıʍ pıɹb ɹǝʍod ɐ pןınᗺ", "tooltip.anvilcraft.jade.power_information": "Mʞ %d/%d :pıɹ⅁ ɹǝʍoԀ", + "tooltip.anvilcraft.only_jei": "¡ǝɔuǝıɹǝdxǝ buıɯɐb ǝʇǝןdɯoɔ ɐ ɹoɟ %s buıןןɐʇsuı puǝɯɯoɔǝɹ ǝM ˙ʎɹǝnb ǝdıɔǝɹ ǝʇǝןdɯoɔ ɐ uıɐʇqo oʇ ǝןqɐ ǝq ʇou ןןıʍ puɐ IƎſ pǝןןɐʇsuı ʎןuo ǝʌɐɥ noʎ ʇɐɥʇ pǝʇɔǝʇǝp ǝʌɐɥ ǝM", "tooltip.anvilcraft.ruby_prism.power": "%d :ןǝʌǝן ɹǝsɐꞀ" } \ No newline at end of file diff --git a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json index 8c46bc2d6..56f747b3f 100644 --- a/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/fabric/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -299,6 +299,7 @@ "itemGroup.anvilcraft.ingredients": "AnvilCraft: Ingredients", "itemGroup.anvilcraft.tools": "AnvilCraft: Utilities", "message.anvilcraft.need_patchouli_installed": "Patchouli needs to be installed", + "modmenu.nameTranslation.anvilcraft": "AnvilCraft", "patchouli.anvilcraft.landing_text": "Welcome to AnvilCraft", "screen.anvilcraft.active_silencer.title": "Active Silencer", "screen.anvilcraft.button.direction": "Output Direction: %s", @@ -433,5 +434,6 @@ "tooltip.anvilcraft.item.topaz": "Containing the power of lightning", "tooltip.anvilcraft.item.transmission_pole": "Build a power grid with a transmission distance of 8", "tooltip.anvilcraft.jade.power_information": "Power Grid: %d/%d kW", + "tooltip.anvilcraft.only_jei": "We have detected that you have only installed JEI and will not be able to obtain a complete recipe query. We recommend installing %s for a complete gaming experience!", "tooltip.anvilcraft.ruby_prism.power": "Laser level: %d" } \ No newline at end of file diff --git a/fabric/src/main/java/dev/dubhe/anvilcraft/util/fabric/UtilsImpl.java b/fabric/src/main/java/dev/dubhe/anvilcraft/util/fabric/UtilsImpl.java new file mode 100644 index 000000000..3a6d4ea20 --- /dev/null +++ b/fabric/src/main/java/dev/dubhe/anvilcraft/util/fabric/UtilsImpl.java @@ -0,0 +1,9 @@ +package dev.dubhe.anvilcraft.util.fabric; + +import net.fabricmc.loader.api.FabricLoader; + +public class UtilsImpl { + public static boolean onlyJei() { + return FabricLoader.getInstance().isModLoaded("jei") && !FabricLoader.getInstance().isModLoaded("emi"); + } +} diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json index c91b169ea..cf3bcbbec 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_ud.json @@ -299,6 +299,7 @@ "itemGroup.anvilcraft.ingredients": "sʇuǝıpǝɹbuI :ʇɟɐɹƆןıʌuⱯ", "itemGroup.anvilcraft.tools": "sǝıʇıןıʇ∩ :ʇɟɐɹƆןıʌuⱯ", "message.anvilcraft.need_patchouli_installed": "pǝןןɐʇsuı ǝq oʇ spǝǝu ıןnoɥɔʇɐԀ", + "modmenu.nameTranslation.anvilcraft": "ʇɟɐɹƆןıʌuⱯ", "patchouli.anvilcraft.landing_text": "ʇɟɐɹƆןıʌuⱯ oʇ ǝɯoɔןǝM", "screen.anvilcraft.active_silencer.title": "ɹǝɔuǝןıS ǝʌıʇɔⱯ", "screen.anvilcraft.button.direction": "%s :uoıʇɔǝɹıᗡ ʇndʇnO", @@ -433,5 +434,6 @@ "tooltip.anvilcraft.item.topaz": "buıuʇɥbıן ɟo ɹǝʍod ǝɥʇ buıuıɐʇuoƆ", "tooltip.anvilcraft.item.transmission_pole": "8 ɟo ǝɔuɐʇsıp uoıssıɯsuɐɹʇ ɐ ɥʇıʍ pıɹb ɹǝʍod ɐ pןınᗺ", "tooltip.anvilcraft.jade.power_information": "Mʞ %d/%d :pıɹ⅁ ɹǝʍoԀ", + "tooltip.anvilcraft.only_jei": "¡ǝɔuǝıɹǝdxǝ buıɯɐb ǝʇǝןdɯoɔ ɐ ɹoɟ %s buıןןɐʇsuı puǝɯɯoɔǝɹ ǝM ˙ʎɹǝnb ǝdıɔǝɹ ǝʇǝןdɯoɔ ɐ uıɐʇqo oʇ ǝןqɐ ǝq ʇou ןןıʍ puɐ IƎſ pǝןןɐʇsuı ʎןuo ǝʌɐɥ noʎ ʇɐɥʇ pǝʇɔǝʇǝp ǝʌɐɥ ǝM", "tooltip.anvilcraft.ruby_prism.power": "%d :ןǝʌǝן ɹǝsɐꞀ" } \ No newline at end of file diff --git a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json index 8c46bc2d6..56f747b3f 100644 --- a/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json +++ b/forge/src/generated/resources/assets/anvilcraft/lang/en_us.json @@ -299,6 +299,7 @@ "itemGroup.anvilcraft.ingredients": "AnvilCraft: Ingredients", "itemGroup.anvilcraft.tools": "AnvilCraft: Utilities", "message.anvilcraft.need_patchouli_installed": "Patchouli needs to be installed", + "modmenu.nameTranslation.anvilcraft": "AnvilCraft", "patchouli.anvilcraft.landing_text": "Welcome to AnvilCraft", "screen.anvilcraft.active_silencer.title": "Active Silencer", "screen.anvilcraft.button.direction": "Output Direction: %s", @@ -433,5 +434,6 @@ "tooltip.anvilcraft.item.topaz": "Containing the power of lightning", "tooltip.anvilcraft.item.transmission_pole": "Build a power grid with a transmission distance of 8", "tooltip.anvilcraft.jade.power_information": "Power Grid: %d/%d kW", + "tooltip.anvilcraft.only_jei": "We have detected that you have only installed JEI and will not be able to obtain a complete recipe query. We recommend installing %s for a complete gaming experience!", "tooltip.anvilcraft.ruby_prism.power": "Laser level: %d" } \ No newline at end of file diff --git a/forge/src/main/java/dev/dubhe/anvilcraft/event/forge/PlayerEventListener.java b/forge/src/main/java/dev/dubhe/anvilcraft/event/forge/PlayerEventListener.java index 4815dbddb..4c57ee3c6 100644 --- a/forge/src/main/java/dev/dubhe/anvilcraft/event/forge/PlayerEventListener.java +++ b/forge/src/main/java/dev/dubhe/anvilcraft/event/forge/PlayerEventListener.java @@ -30,7 +30,7 @@ public static void useEntity(@NotNull PlayerInteractEvent.EntityInteract event) } @SubscribeEvent - public static void itemTooltip(ItemTooltipEvent event) { + public static void itemTooltip(@NotNull ItemTooltipEvent event) { TooltipEventListener.addTooltip(event.getItemStack(), event.getToolTip()); } } diff --git a/forge/src/main/java/dev/dubhe/anvilcraft/util/forge/UtilsImpl.java b/forge/src/main/java/dev/dubhe/anvilcraft/util/forge/UtilsImpl.java new file mode 100644 index 000000000..40fee213c --- /dev/null +++ b/forge/src/main/java/dev/dubhe/anvilcraft/util/forge/UtilsImpl.java @@ -0,0 +1,9 @@ +package dev.dubhe.anvilcraft.util.forge; + +import net.minecraftforge.fml.ModList; + +public class UtilsImpl { + public static boolean onlyJei() { + return ModList.get().isLoaded("jei") && !ModList.get().isLoaded("emi"); + } +} From 2e5c6593ef61f63d6c03c221ddfef9570ebdb809 Mon Sep 17 00:00:00 2001 From: Gugle Date: Sun, 23 Jun 2024 16:24:52 +0800 Subject: [PATCH 2/4] Update PlayerEvent.java --- .../dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java b/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java index 1b6ca2d6e..7944347cd 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/api/event/entity/PlayerEvent.java @@ -2,8 +2,6 @@ import lombok.Getter; import lombok.Setter; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; @@ -41,7 +39,6 @@ public UseEntity(Player entity, Entity target, InteractionHand hand, Level level } } - @Environment(EnvType.CLIENT) public static class ClientPlayerJoin extends PlayerEvent { /** * 玩家加入事件 From ec5390480ee9578d365bde67a0ca1fa9f28dcd87 Mon Sep 17 00:00:00 2001 From: Gugle Date: Sun, 23 Jun 2024 16:28:00 +0800 Subject: [PATCH 3/4] Update ForgeGuiMixin.java --- .../java/dev/dubhe/anvilcraft/mixin/forge/ForgeGuiMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge/src/main/java/dev/dubhe/anvilcraft/mixin/forge/ForgeGuiMixin.java b/forge/src/main/java/dev/dubhe/anvilcraft/mixin/forge/ForgeGuiMixin.java index e67ed96ec..3623122b7 100644 --- a/forge/src/main/java/dev/dubhe/anvilcraft/mixin/forge/ForgeGuiMixin.java +++ b/forge/src/main/java/dev/dubhe/anvilcraft/mixin/forge/ForgeGuiMixin.java @@ -32,7 +32,7 @@ public ForgeGuiMixin(Minecraft minecraft, ItemRenderer itemRenderer) { target = "Lcom/mojang/blaze3d/systems/RenderSystem;setShaderColor(FFFF)V", shift = At.Shift.AFTER ), - remap = false + remap = true ) void onHudRender(GuiGraphics guiGraphics, float partialTick, CallbackInfo ci) { if (minecraft.player == null || minecraft.isPaused()) return; From f8d407cdc44b17dde8c7e897788bd8da5998f5d3 Mon Sep 17 00:00:00 2001 From: Gugle Date: Sun, 23 Jun 2024 16:35:29 +0800 Subject: [PATCH 4/4] Update PlayerEventListener.java --- .../java/dev/dubhe/anvilcraft/event/PlayerEventListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java b/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java index 6492c7ce3..8803c6d85 100644 --- a/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java +++ b/common/src/main/java/dev/dubhe/anvilcraft/event/PlayerEventListener.java @@ -51,7 +51,7 @@ public void onPlayerJoin(@NotNull PlayerEvent.ClientPlayerJoin event) { ) ) ) - ).withStyle(ChatFormatting.BLACK) + ).withStyle(ChatFormatting.WHITE) ) ) )