diff --git a/src/main/java/snownee/fruits/mixin/WoodTypeMixin.java b/src/main/java/snownee/fruits/mixin/WoodTypeMixin.java new file mode 100644 index 0000000..bfba24c --- /dev/null +++ b/src/main/java/snownee/fruits/mixin/WoodTypeMixin.java @@ -0,0 +1,25 @@ +package snownee.fruits.mixin; + +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; + +import net.minecraft.world.level.block.state.properties.WoodType; +import snownee.fruits.CoreModule; +import snownee.fruits.cherry.CherryModule; + +@Mixin(WoodType.class) +public abstract class WoodTypeMixin { + @Shadow + public static WoodType register(WoodType woodType) { + throw new AssertionError(); + } + + @Inject(method = "", at = @At("RETURN")) + private static void initWoodTypes(CallbackInfo ci) { + register(CoreModule.CITRUS_WOOD_TYPE); + register(CherryModule.REDLOVE_WOOD_TYPE); + } +} diff --git a/src/main/java/snownee/fruits/util/ClientProxy.java b/src/main/java/snownee/fruits/util/ClientProxy.java index d0e8151..849da07 100644 --- a/src/main/java/snownee/fruits/util/ClientProxy.java +++ b/src/main/java/snownee/fruits/util/ClientProxy.java @@ -12,7 +12,6 @@ import static snownee.fruits.cherry.CherryModule.PETAL_CHERRY; import static snownee.fruits.cherry.CherryModule.PETAL_REDLOVE; import static snownee.fruits.cherry.CherryModule.REDLOVE_LEAVES; -import static snownee.fruits.cherry.CherryModule.REDLOVE_WOOD_TYPE; import org.joml.Matrix4f; import org.joml.Vector3f; @@ -39,7 +38,6 @@ import net.minecraft.world.item.Items; import net.minecraft.world.level.GrassColor; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.properties.WoodType; import net.minecraft.world.phys.Vec3; import net.minecraftforge.client.event.EntityRenderersEvent; import net.minecraftforge.client.event.ModelEvent; @@ -73,8 +71,6 @@ public static void init() { event.registerEntityRenderer(CoreModule.SLIDING_DOOR.getOrCreate(), SlidingDoorRenderer::new); }); - WoodType.register(CoreModule.CITRUS_WOOD_TYPE); - eventBus.addListener((RegisterColorHandlersEvent.Block event) -> { BlockColor oakBlockColor = ColorProviderUtil.delegate(Blocks.OAK_LEAVES); event.register( @@ -135,8 +131,6 @@ public static void init() { APPLE_LEAVES.get()); }); - WoodType.register(REDLOVE_WOOD_TYPE); - eventBus.addListener((RegisterParticleProvidersEvent event) -> { event.registerSpriteSet(PETAL_CHERRY.getOrCreate(), PetalParticle.Factory::new); event.registerSpriteSet(PETAL_REDLOVE.getOrCreate(), PetalParticle.Factory::new); diff --git a/src/main/resources/fruitfulfun.mixins.json b/src/main/resources/fruitfulfun.mixins.json index 0f32ee3..0f172e4 100644 --- a/src/main/resources/fruitfulfun.mixins.json +++ b/src/main/resources/fruitfulfun.mixins.json @@ -30,6 +30,7 @@ "ServerEntityMixin", "ServerLevelMixin", "SkullBlockEntityMixin", + "WoodTypeMixin", "forge.FoliagePlacerAccess" ], "client": [