From 86f81bd9b62e5b2da040d14903e710f880ff1ca8 Mon Sep 17 00:00:00 2001 From: zenfyr Date: Sat, 27 Jun 2026 01:56:20 +0700 Subject: [PATCH] refactor: move creative tab animation to client and fix spelling --- .../creativetab/CreativeModeTabAnimation.java} | 10 +++++----- .../creativetab/CreativeModeTabExtensions.java | 8 ++++---- .../pulsar/impl/client/creativetab/package-info.java | 4 ++++ .../CreativeModeInventoryScreenMixin.java | 4 ++-- .../CreativeModeTabMixin.java | 12 ++++++------ src/main/resources/pulsar.mixins.json | 4 ++-- .../gametest/client/CreativeTabAnimationTest.java | 4 ++-- 7 files changed, 25 insertions(+), 21 deletions(-) rename src/main/java/dev/zenfyr/pulsar/api/{creativetab/CreativeModeTabAnimaton.java => client/creativetab/CreativeModeTabAnimation.java} (73%) rename src/main/java/dev/zenfyr/pulsar/impl/{ => client}/creativetab/CreativeModeTabExtensions.java (65%) create mode 100644 src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/package-info.java rename src/main/java/dev/zenfyr/pulsar/impl/mixins/client/{itemgroup => creativetab}/CreativeModeInventoryScreenMixin.java (93%) rename src/main/java/dev/zenfyr/pulsar/impl/mixins/client/{itemgroup => creativetab}/CreativeModeTabMixin.java (56%) diff --git a/src/main/java/dev/zenfyr/pulsar/api/creativetab/CreativeModeTabAnimaton.java b/src/main/java/dev/zenfyr/pulsar/api/client/creativetab/CreativeModeTabAnimation.java similarity index 73% rename from src/main/java/dev/zenfyr/pulsar/api/creativetab/CreativeModeTabAnimaton.java rename to src/main/java/dev/zenfyr/pulsar/api/client/creativetab/CreativeModeTabAnimation.java index 6beeec7..d4ff70c 100644 --- a/src/main/java/dev/zenfyr/pulsar/api/creativetab/CreativeModeTabAnimaton.java +++ b/src/main/java/dev/zenfyr/pulsar/api/client/creativetab/CreativeModeTabAnimation.java @@ -1,6 +1,6 @@ -package dev.zenfyr.pulsar.api.creativetab; +package dev.zenfyr.pulsar.api.client.creativetab; -import dev.zenfyr.pulsar.impl.creativetab.CreativeModeTabExtensions; +import dev.zenfyr.pulsar.impl.client.creativetab.CreativeModeTabExtensions; import java.util.Optional; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -9,15 +9,15 @@ import net.minecraft.world.item.CreativeModeTab; @FunctionalInterface @Environment(EnvType.CLIENT) -public interface CreativeModeTabAnimaton { +public interface CreativeModeTabAnimation { static CreativeModeTab setIconAnimation( - CreativeModeTab group, CreativeModeTabAnimaton animation) { + CreativeModeTab group, CreativeModeTabAnimation animation) { ((CreativeModeTabExtensions) group).pulsar$setIconAnimation(animation); return group; } - static Optional getIconAnimation(CreativeModeTab group) { + static Optional getIconAnimation(CreativeModeTab group) { return Optional.ofNullable(((CreativeModeTabExtensions) group).pulsar$getIconAnimation()); } diff --git a/src/main/java/dev/zenfyr/pulsar/impl/creativetab/CreativeModeTabExtensions.java b/src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/CreativeModeTabExtensions.java similarity index 65% rename from src/main/java/dev/zenfyr/pulsar/impl/creativetab/CreativeModeTabExtensions.java rename to src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/CreativeModeTabExtensions.java index 73d505d..5db97b4 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/creativetab/CreativeModeTabExtensions.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/CreativeModeTabExtensions.java @@ -1,6 +1,6 @@ -package dev.zenfyr.pulsar.impl.creativetab; +package dev.zenfyr.pulsar.impl.client.creativetab; -import dev.zenfyr.pulsar.api.creativetab.CreativeModeTabAnimaton; +import dev.zenfyr.pulsar.api.client.creativetab.CreativeModeTabAnimation; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.world.item.CreativeModeTab; @@ -8,11 +8,11 @@ import net.minecraft.world.item.CreativeModeTab; @Environment(EnvType.CLIENT) public interface CreativeModeTabExtensions { - default CreativeModeTab pulsar$setIconAnimation(CreativeModeTabAnimaton animation) { + default CreativeModeTab pulsar$setIconAnimation(CreativeModeTabAnimation animation) { throw new IllegalStateException("Interface not implemented"); } - default CreativeModeTabAnimaton pulsar$getIconAnimation() { + default CreativeModeTabAnimation pulsar$getIconAnimation() { throw new IllegalStateException("Interface not implemented"); } } diff --git a/src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/package-info.java b/src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/package-info.java new file mode 100644 index 0000000..1626cb6 --- /dev/null +++ b/src/main/java/dev/zenfyr/pulsar/impl/client/creativetab/package-info.java @@ -0,0 +1,4 @@ +@ApiStatus.Internal +package dev.zenfyr.pulsar.impl.client.creativetab; + +import org.jetbrains.annotations.ApiStatus; diff --git a/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeInventoryScreenMixin.java b/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeInventoryScreenMixin.java similarity index 93% rename from src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeInventoryScreenMixin.java rename to src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeInventoryScreenMixin.java index c7509ad..137c813 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeInventoryScreenMixin.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeInventoryScreenMixin.java @@ -1,7 +1,7 @@ -package dev.zenfyr.pulsar.impl.mixins.client.itemgroup; +package dev.zenfyr.pulsar.impl.mixins.client.creativetab; import com.llamalad7.mixinextras.sugar.Local; -import dev.zenfyr.pulsar.impl.creativetab.CreativeModeTabExtensions; +import dev.zenfyr.pulsar.impl.client.creativetab.CreativeModeTabExtensions; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen; import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; diff --git a/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeTabMixin.java b/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeTabMixin.java similarity index 56% rename from src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeTabMixin.java rename to src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeTabMixin.java index 75e9163..dc4b92c 100644 --- a/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/itemgroup/CreativeModeTabMixin.java +++ b/src/main/java/dev/zenfyr/pulsar/impl/mixins/client/creativetab/CreativeModeTabMixin.java @@ -1,7 +1,7 @@ -package dev.zenfyr.pulsar.impl.mixins.client.itemgroup; +package dev.zenfyr.pulsar.impl.mixins.client.creativetab; -import dev.zenfyr.pulsar.api.creativetab.CreativeModeTabAnimaton; -import dev.zenfyr.pulsar.impl.creativetab.CreativeModeTabExtensions; +import dev.zenfyr.pulsar.api.client.creativetab.CreativeModeTabAnimation; +import dev.zenfyr.pulsar.impl.client.creativetab.CreativeModeTabExtensions; import net.minecraft.world.item.CreativeModeTab; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; @@ -9,16 +9,16 @@ import org.spongepowered.asm.mixin.Unique; @Mixin(CreativeModeTab.class) public class CreativeModeTabMixin implements CreativeModeTabExtensions { - @Unique private CreativeModeTabAnimaton pulsar$animation; + @Unique private CreativeModeTabAnimation pulsar$animation; @Override - public CreativeModeTab pulsar$setIconAnimation(CreativeModeTabAnimaton animation) { + public CreativeModeTab pulsar$setIconAnimation(CreativeModeTabAnimation animation) { this.pulsar$animation = animation; return (CreativeModeTab) (Object) this; } @Override - public CreativeModeTabAnimaton pulsar$getIconAnimation() { + public CreativeModeTabAnimation pulsar$getIconAnimation() { return pulsar$animation; } } diff --git a/src/main/resources/pulsar.mixins.json b/src/main/resources/pulsar.mixins.json index e8dbf6f..9faa3fe 100644 --- a/src/main/resources/pulsar.mixins.json +++ b/src/main/resources/pulsar.mixins.json @@ -10,8 +10,8 @@ ], "client": [ "client.events.MinecraftMixin", - "client.itemgroup.CreativeModeInventoryScreenMixin", - "client.itemgroup.CreativeModeTabMixin", + "client.creativetab.CreativeModeInventoryScreenMixin", + "client.creativetab.CreativeModeTabMixin", "client.particles.GameRendererMixin", "client.particles.MinecraftMixin", "client.particles.ParticleEngineAccessor", diff --git a/src/testmod/java/dev/zenfyr/pulsar/gametest/client/CreativeTabAnimationTest.java b/src/testmod/java/dev/zenfyr/pulsar/gametest/client/CreativeTabAnimationTest.java index d283e68..79c6943 100644 --- a/src/testmod/java/dev/zenfyr/pulsar/gametest/client/CreativeTabAnimationTest.java +++ b/src/testmod/java/dev/zenfyr/pulsar/gametest/client/CreativeTabAnimationTest.java @@ -1,7 +1,7 @@ package dev.zenfyr.pulsar.gametest.client; import com.mojang.math.Axis; -import dev.zenfyr.pulsar.api.creativetab.CreativeModeTabAnimaton; +import dev.zenfyr.pulsar.api.client.creativetab.CreativeModeTabAnimation; import dev.zenfyr.pulsar.gametest.common.CreativeTabBuilderTest; import dev.zenfyr.pulsar.gametest.util.AutoTest; import dev.zenfyr.pulsar.gametest.util.client.ClientTestContext; @@ -19,7 +19,7 @@ public class CreativeTabAnimationTest implements ClientModInitializer { @Override public void onInitializeClient() { var stack = Items.SPRUCE_SIGN.getDefaultInstance(); - CreativeModeTabAnimaton.setIconAnimation( + CreativeModeTabAnimation.setIconAnimation( CreativeTabBuilderTest.tab, (group, context, itemX, itemY, selected, isTopRow) -> { context.pose().pushPose(); context.pose().translate(itemX, itemY, 100); -- 2.51.2