From f2d1455717a425d10bda2d209a692bebfafa8d77 Mon Sep 17 00:00:00 2001 From: deirn Date: Sun, 14 Apr 2024 17:14:52 +0700 Subject: [PATCH] main menu --- gradle.properties | 2 +- .../mobius/waila/fabric/FabricApiService.java | 10 -------- .../waila/fabric/FabricWailaClient.java | 2 +- .../waila/api/__internal__/IApiService.java | 6 ----- .../mcp/mobius/waila/gui/hud/RayCaster.java | 2 +- .../mobius/waila/gui/hud/TooltipHandler.java | 6 ++--- .../waila/gui/screen/CreditsScreen.java | 2 -- .../waila/gui/screen/PluginConfigScreen.java | 2 +- .../waila/gui/widget/ConfigListWidget.java | 1 - .../waila/mixin/BeaconBlockEntityAccess.java | 5 ++-- .../mixin/ChiseledBookShelfBlockAccess.java | 14 +++-------- .../ClientCommonPacketListenerImplMixin.java | 23 ------------------- ...tConfigurationPacketListenerImplMixin.java | 7 +++--- .../mixin/ClientPacketListenerMixin.java | 10 +++++--- ...andomizableContainerBlockEntityAccess.java | 14 ----------- .../waila/plugin/harvest/tool/ToolTier.java | 4 +--- .../plugin/vanilla/WailaPluginVanilla.java | 4 ++-- .../vanilla/provider/BeaconProvider.java | 13 ++++++----- .../provider/ChiseledBookShelfProvider.java | 11 ++++----- .../RandomizableContainerProvider.java | 10 ++++---- src/resources/resources/wthit.mixins.json | 2 -- 21 files changed, 43 insertions(+), 107 deletions(-) delete mode 100644 src/mixin/java/mcp/mobius/waila/mixin/ClientCommonPacketListenerImplMixin.java delete mode 100644 src/mixin/java/mcp/mobius/waila/mixin/RandomizableContainerBlockEntityAccess.java diff --git a/gradle.properties b/gradle.properties index 0114af5e5..54656a4cc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ emi = 1.0.23+1.20.2 fabricLoader = 0.15.9 fabricApi = 0.96.15+1.20.5 -modMenu = 9.0.0-pre.1 +modMenu = 10.0.0-alpha.3 trEnergy = 3.0.0 forge = 49.0.9 diff --git a/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricApiService.java b/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricApiService.java index a292f5d52..47e35299e 100644 --- a/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricApiService.java +++ b/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricApiService.java @@ -1,17 +1,7 @@ package mcp.mobius.waila.fabric; import mcp.mobius.waila.service.ApiService; -import net.fabricmc.fabric.api.mininglevel.v1.MiningLevelManager; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Tier; -import net.minecraft.world.level.block.Block; -import org.jetbrains.annotations.Nullable; public class FabricApiService extends ApiService { - @Override - public @Nullable TagKey getTierTag(Tier tier) { - return tier.getLevel() == 0 ? null : MiningLevelManager.getBlockTag(tier.getLevel()); - } - } diff --git a/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricWailaClient.java b/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricWailaClient.java index 4dafccdb9..5d780e68d 100644 --- a/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricWailaClient.java +++ b/platform/fabric/src/main/java/mcp/mobius/waila/fabric/FabricWailaClient.java @@ -23,7 +23,7 @@ public void onInitializeClient() { HudRenderCallback.EVENT.register(TooltipRenderer::render); ClientTickEvents.END_CLIENT_TICK.register(client -> onClientTick()); - ItemTooltipCallback.EVENT.register((stack, ctx, tooltip) -> onItemTooltip(stack, tooltip)); + ItemTooltipCallback.EVENT.register((stack, ctx, flag, tooltip) -> onItemTooltip(stack, tooltip)); ClientConfigurationConnectionEvents.DISCONNECT.register((handler, client) -> client.execute(WailaClient::onServerLogout)); ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> client.execute(WailaClient::onServerLogout)); diff --git a/src/api/java/mcp/mobius/waila/api/__internal__/IApiService.java b/src/api/java/mcp/mobius/waila/api/__internal__/IApiService.java index 3c8bd0140..3bf80b95b 100644 --- a/src/api/java/mcp/mobius/waila/api/__internal__/IApiService.java +++ b/src/api/java/mcp/mobius/waila/api/__internal__/IApiService.java @@ -21,12 +21,9 @@ import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Tier; -import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; /** @@ -75,9 +72,6 @@ public interface IApiService { IInstanceRegistry createInstanceRegistry(boolean reversed); - @Nullable - TagKey getTierTag(Tier tier); - List getTiers(); IData.Type createDataType(ResourceLocation id); diff --git a/src/main/java/mcp/mobius/waila/gui/hud/RayCaster.java b/src/main/java/mcp/mobius/waila/gui/hud/RayCaster.java index 44bd1075b..cc022dbfe 100644 --- a/src/main/java/mcp/mobius/waila/gui/hud/RayCaster.java +++ b/src/main/java/mcp/mobius/waila/gui/hud/RayCaster.java @@ -17,7 +17,7 @@ public class RayCaster { - public static void cast(Level world, Entity camera, Vec3 origin, Vec3 direction, float maxDistance, ObjDoubleConsumer results) { + public static void cast(Level world, Entity camera, Vec3 origin, Vec3 direction, double maxDistance, ObjDoubleConsumer results) { var showBlock = PluginConfig.CLIENT.getBoolean(WailaConstants.CONFIG_SHOW_BLOCK); var showFluid = PluginConfig.CLIENT.getBoolean(WailaConstants.CONFIG_SHOW_FLUID); var showEntity = PluginConfig.CLIENT.getBoolean(WailaConstants.CONFIG_SHOW_ENTITY); diff --git a/src/main/java/mcp/mobius/waila/gui/hud/TooltipHandler.java b/src/main/java/mcp/mobius/waila/gui/hud/TooltipHandler.java index 3bd6af13a..5f6c14317 100644 --- a/src/main/java/mcp/mobius/waila/gui/hud/TooltipHandler.java +++ b/src/main/java/mcp/mobius/waila/gui/hud/TooltipHandler.java @@ -67,7 +67,7 @@ public static void tick() { if (camera == null) return; var frameTime = client.getFrameTime(); - var pickRange = client.gameMode.getPickRange(); + var pickRange = Math.max(player.blockInteractionRange(), player.entityInteractionRange()); var results = PickerResults.get(); Vec3 castOrigin = null; Vec3 castDirection = null; @@ -97,7 +97,7 @@ public static void tick() { } } - private static ProcessResult redirectTarget(HitResult target, TargetRedirector redirector, Minecraft client, Player player, Vec3 castOrigin, Vec3 castDirection, float pickRange, WailaConfig.General config) { + private static ProcessResult redirectTarget(HitResult target, TargetRedirector redirector, Minecraft client, Player player, Vec3 castOrigin, Vec3 castDirection, double pickRange, WailaConfig.General config) { if (redirector.nowhere) return ProcessResult.BREAK; if (redirector.behind) return ProcessResult.CONTINUE; @@ -111,7 +111,7 @@ private static ProcessResult redirectTarget(HitResult target, TargetRedirector r castDirection, pickRange, config); } - private static ProcessResult processTarget(HitResult target, Minecraft client, Player player, Vec3 castOrigin, Vec3 castDirection, float pickRange, WailaConfig.General config) { + private static ProcessResult processTarget(HitResult target, Minecraft client, Player player, Vec3 castOrigin, Vec3 castDirection, double pickRange, WailaConfig.General config) { var accessor = ClientAccessor.INSTANCE; accessor.set(client.level, player, target, client.cameraEntity, castOrigin, castDirection, pickRange, client.getFrameTime()); diff --git a/src/main/java/mcp/mobius/waila/gui/screen/CreditsScreen.java b/src/main/java/mcp/mobius/waila/gui/screen/CreditsScreen.java index fd9e006f8..a260c31a5 100644 --- a/src/main/java/mcp/mobius/waila/gui/screen/CreditsScreen.java +++ b/src/main/java/mcp/mobius/waila/gui/screen/CreditsScreen.java @@ -91,8 +91,6 @@ private ListWidget(Minecraft client, int width, int height, int top, int itemHei } private void init() { - setRenderBackground(false); - var totalHeight = (children().size() - 1) * itemHeight; if (totalHeight < height) { setRenderHeader(true, (height - totalHeight) / 2 - getY()); diff --git a/src/main/java/mcp/mobius/waila/gui/screen/PluginConfigScreen.java b/src/main/java/mcp/mobius/waila/gui/screen/PluginConfigScreen.java index 971ea6df3..266f68cf8 100644 --- a/src/main/java/mcp/mobius/waila/gui/screen/PluginConfigScreen.java +++ b/src/main/java/mcp/mobius/waila/gui/screen/PluginConfigScreen.java @@ -109,7 +109,7 @@ public ConfigListWidget getOptions() { if (entry.blocksClientEdit() && minecraft.getCurrentServer() != null) { if (entry.getServerValue() == null) { - value.disable(PacketSender.c2s().canSend(VersionCommonPacket.Payload.ID) + value.disable(PacketSender.c2s().canSend(VersionCommonPacket.TYPE) ? Tl.Config.SERVER_MISSING_OPTION : Tl.Config.SERVER_MISSING_MOD); value.setValue(entry.getClientOnlyValue()); diff --git a/src/main/java/mcp/mobius/waila/gui/widget/ConfigListWidget.java b/src/main/java/mcp/mobius/waila/gui/widget/ConfigListWidget.java index dc409132b..aaac975a8 100644 --- a/src/main/java/mcp/mobius/waila/gui/widget/ConfigListWidget.java +++ b/src/main/java/mcp/mobius/waila/gui/widget/ConfigListWidget.java @@ -38,7 +38,6 @@ public ConfigListWidget(ConfigScreen owner, Minecraft client, int width, int hei this.diskWriter = diskWriter; resize(top, bottom); - setRenderBackground(false); } public ConfigListWidget(ConfigScreen owner, Minecraft client, int width, int height, int top, int bottom, int itemHeight) { diff --git a/src/mixin/java/mcp/mobius/waila/mixin/BeaconBlockEntityAccess.java b/src/mixin/java/mcp/mobius/waila/mixin/BeaconBlockEntityAccess.java index b36f3045a..697f03ca5 100644 --- a/src/mixin/java/mcp/mobius/waila/mixin/BeaconBlockEntityAccess.java +++ b/src/mixin/java/mcp/mobius/waila/mixin/BeaconBlockEntityAccess.java @@ -1,5 +1,6 @@ package mcp.mobius.waila.mixin; +import net.minecraft.core.Holder; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.level.block.entity.BeaconBlockEntity; import org.jetbrains.annotations.Nullable; @@ -11,11 +12,11 @@ public interface BeaconBlockEntityAccess { @Nullable @Accessor("primaryPower") - MobEffect wthit_primaryPower(); + Holder wthit_primaryPower(); @Nullable @Accessor("secondaryPower") - MobEffect wthit_secondaryPower(); + Holder wthit_secondaryPower(); @Accessor("levels") int wthit_levels(); diff --git a/src/mixin/java/mcp/mobius/waila/mixin/ChiseledBookShelfBlockAccess.java b/src/mixin/java/mcp/mobius/waila/mixin/ChiseledBookShelfBlockAccess.java index d8204c23b..bffd6e35d 100644 --- a/src/mixin/java/mcp/mobius/waila/mixin/ChiseledBookShelfBlockAccess.java +++ b/src/mixin/java/mcp/mobius/waila/mixin/ChiseledBookShelfBlockAccess.java @@ -1,25 +1,17 @@ package mcp.mobius.waila.mixin; -import java.util.Optional; +import java.util.OptionalInt; -import net.minecraft.core.Direction; import net.minecraft.world.level.block.ChiseledBookShelfBlock; +import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.Vec2; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; @Mixin(ChiseledBookShelfBlock.class) public interface ChiseledBookShelfBlockAccess { - @Invoker("getRelativeHitCoordinatesForBlockFace") - static Optional wthit_getRelativeHitCoordinatesForBlockFace(BlockHitResult $$0, Direction $$1) { - throw new AssertionError("mixin"); - } - @Invoker("getHitSlot") - static int wthit_getHitSlot(Vec2 $$0) { - throw new AssertionError("mixin"); - } + OptionalInt wthit_getHitSlot(BlockHitResult $$0, BlockState $$1); } diff --git a/src/mixin/java/mcp/mobius/waila/mixin/ClientCommonPacketListenerImplMixin.java b/src/mixin/java/mcp/mobius/waila/mixin/ClientCommonPacketListenerImplMixin.java deleted file mode 100644 index 4aa49fc9b..000000000 --- a/src/mixin/java/mcp/mobius/waila/mixin/ClientCommonPacketListenerImplMixin.java +++ /dev/null @@ -1,23 +0,0 @@ -package mcp.mobius.waila.mixin; - -import net.minecraft.client.multiplayer.ClientCommonPacketListenerImpl; -import net.minecraft.network.protocol.common.ClientboundUpdateTagsPacket; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(ClientCommonPacketListenerImpl.class) -public class ClientCommonPacketListenerImplMixin { - - @Inject(method = "handleUpdateTags", at = @At("TAIL")) - private void wthit_onHandleUpdateTags(ClientboundUpdateTagsPacket $$0, CallbackInfo ci) { - wthit_onHandleUpdateTags(); - } - - @Unique - protected void wthit_onHandleUpdateTags() { - } - -} diff --git a/src/mixin/java/mcp/mobius/waila/mixin/ClientConfigurationPacketListenerImplMixin.java b/src/mixin/java/mcp/mobius/waila/mixin/ClientConfigurationPacketListenerImplMixin.java index e674e1bf0..8452efa44 100644 --- a/src/mixin/java/mcp/mobius/waila/mixin/ClientConfigurationPacketListenerImplMixin.java +++ b/src/mixin/java/mcp/mobius/waila/mixin/ClientConfigurationPacketListenerImplMixin.java @@ -3,6 +3,7 @@ import mcp.mobius.waila.mixed.IMixedService; import net.minecraft.client.multiplayer.ClientConfigurationPacketListenerImpl; import net.minecraft.core.RegistryAccess; +import net.minecraft.network.protocol.common.ClientboundUpdateTagsPacket; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -10,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ClientConfigurationPacketListenerImpl.class) -public class ClientConfigurationPacketListenerImplMixin extends ClientCommonPacketListenerImplMixin { +public class ClientConfigurationPacketListenerImplMixin { @Shadow private RegistryAccess.Frozen receivedRegistries; @@ -20,8 +21,8 @@ private void wthit_onServerLogin(CallbackInfo ci) { IMixedService.INSTANCE.onServerLogin(); } - @Override - protected void wthit_onHandleUpdateTags() { + @Inject(method = "handleUpdateTags", at = @At("TAIL")) + private void wthit_onHandleUpdateTags(ClientboundUpdateTagsPacket $$0, CallbackInfo ci) { IMixedService.INSTANCE.attachRegistryFilter(receivedRegistries); } diff --git a/src/mixin/java/mcp/mobius/waila/mixin/ClientPacketListenerMixin.java b/src/mixin/java/mcp/mobius/waila/mixin/ClientPacketListenerMixin.java index b31231fd8..1fea9ffc7 100644 --- a/src/mixin/java/mcp/mobius/waila/mixin/ClientPacketListenerMixin.java +++ b/src/mixin/java/mcp/mobius/waila/mixin/ClientPacketListenerMixin.java @@ -3,19 +3,23 @@ import mcp.mobius.waila.mixed.IMixedService; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.core.RegistryAccess; +import net.minecraft.network.protocol.common.ClientboundUpdateTagsPacket; 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 class ClientPacketListenerMixin extends ClientCommonPacketListenerImplMixin { +public class ClientPacketListenerMixin { @Shadow @Final private RegistryAccess.Frozen registryAccess; - @Override - protected void wthit_onHandleUpdateTags() { + @Inject(method = "handleUpdateTags", at = @At("TAIL")) + private void wthit_onHandleUpdateTags(ClientboundUpdateTagsPacket $$0, CallbackInfo ci) { IMixedService.INSTANCE.attachRegistryFilter(registryAccess); } diff --git a/src/mixin/java/mcp/mobius/waila/mixin/RandomizableContainerBlockEntityAccess.java b/src/mixin/java/mcp/mobius/waila/mixin/RandomizableContainerBlockEntityAccess.java deleted file mode 100644 index 04ec86761..000000000 --- a/src/mixin/java/mcp/mobius/waila/mixin/RandomizableContainerBlockEntityAccess.java +++ /dev/null @@ -1,14 +0,0 @@ -package mcp.mobius.waila.mixin; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(RandomizableContainerBlockEntity.class) -public interface RandomizableContainerBlockEntityAccess { - - @Accessor("lootTable") - ResourceLocation wthit_lootTable(); - -} diff --git a/src/pluginHarvest/java/mcp/mobius/waila/plugin/harvest/tool/ToolTier.java b/src/pluginHarvest/java/mcp/mobius/waila/plugin/harvest/tool/ToolTier.java index fa67c38d4..4a66970cb 100644 --- a/src/pluginHarvest/java/mcp/mobius/waila/plugin/harvest/tool/ToolTier.java +++ b/src/pluginHarvest/java/mcp/mobius/waila/plugin/harvest/tool/ToolTier.java @@ -35,9 +35,7 @@ public final class ToolTier { private static final Supplier> VANILLA_TIER_TL_KEYS = Suppliers.memoize(() -> { var map = new HashMap(); for (var tier : Tiers.values()) { - var tag = IApiService.INSTANCE.getTierTag(tier); - if (tag == null) continue; - map.put(tag.location(), tier.name().toLowerCase(Locale.ROOT)); + map.put(tier.getIncorrectBlocksForDrops().location(), tier.name().toLowerCase(Locale.ROOT)); } return map; }); diff --git a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/WailaPluginVanilla.java b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/WailaPluginVanilla.java index 9e9a9b128..e4950284e 100644 --- a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/WailaPluginVanilla.java +++ b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/WailaPluginVanilla.java @@ -43,6 +43,7 @@ import mcp.mobius.waila.plugin.vanilla.provider.TrappedChestProvider; import mcp.mobius.waila.plugin.vanilla.provider.VehicleProvider; import net.minecraft.world.Container; +import net.minecraft.world.RandomizableContainer; import net.minecraft.world.entity.AgeableMob; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; @@ -80,7 +81,6 @@ import net.minecraft.world.level.block.entity.ChiseledBookShelfBlockEntity; import net.minecraft.world.level.block.entity.EnderChestBlockEntity; import net.minecraft.world.level.block.entity.JukeboxBlockEntity; -import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; import net.minecraft.world.level.block.entity.SkullBlockEntity; import net.minecraft.world.level.block.entity.SpawnerBlockEntity; import net.minecraft.world.level.material.Fluids; @@ -226,7 +226,7 @@ public void register(IRegistrar registrar) { registrar.addBlockData(FurnaceProvider.INSTANCE, AbstractFurnaceBlockEntity.class); registrar.addBlockData(EnderChestProvider.INSTANCE, EnderChestBlockEntity.class); - registrar.addBlockData(RandomizableContainerProvider.INSTANCE, RandomizableContainerBlockEntity.class, 1100); + registrar.addBlockData(RandomizableContainerProvider.INSTANCE, RandomizableContainer.class, 1100); registrar.addBlockData(BaseContainerProvider.INSTANCE, BaseContainerBlockEntity.class, 1200); registrar.addBlockData(HopperContainerProvider.INSTANCE, BlockEntity.class, 1300); diff --git a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/BeaconProvider.java b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/BeaconProvider.java index 1970c219a..3d9efe66a 100644 --- a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/BeaconProvider.java +++ b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/BeaconProvider.java @@ -10,6 +10,7 @@ import mcp.mobius.waila.api.ITooltip; import mcp.mobius.waila.mixin.BeaconBlockEntityAccess; import mcp.mobius.waila.plugin.vanilla.config.Options; +import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.MutableComponent; @@ -26,12 +27,12 @@ public enum BeaconProvider implements IBlockComponentProvider, IDataProvider DATA = IData.createType(new ResourceLocation("beacon")); public static final StreamCodec DATA_CODEC = StreamCodec.composite( - ByteBufCodecs.registry(Registries.MOB_EFFECT), Data::primary, - ByteBufCodecs.registry(Registries.MOB_EFFECT), Data::secondary, + ByteBufCodecs.holderRegistry(Registries.MOB_EFFECT), Data::primary, + ByteBufCodecs.holderRegistry(Registries.MOB_EFFECT), Data::secondary, Data::new); - private MutableComponent getText(MobEffect effect) { - return effect.getDisplayName().copy(); + private MutableComponent getText(Holder effect) { + return effect.value().getDisplayName().copy(); } @Override @@ -61,8 +62,8 @@ public void appendData(IDataWriter data, IServerAccessor acce } public record Data( - @Nullable MobEffect primary, - @Nullable MobEffect secondary + @Nullable Holder primary, + @Nullable Holder secondary ) implements IData { @Override diff --git a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/ChiseledBookShelfProvider.java b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/ChiseledBookShelfProvider.java index 724a2762f..5a6937289 100644 --- a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/ChiseledBookShelfProvider.java +++ b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/ChiseledBookShelfProvider.java @@ -26,7 +26,6 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.HorizontalDirectionalBlock; import net.minecraft.world.level.block.entity.ChiseledBookShelfBlockEntity; import org.jetbrains.annotations.Nullable; @@ -52,13 +51,11 @@ private void init(IBlockAccessor accessor, IPluginConfig config) { var data = accessor.getData().get(DATA); if (data == null) return; - var blockstate = accessor.getBlockState(); - var facing = blockstate.getValue(HorizontalDirectionalBlock.FACING); - var relativeHit = ChiseledBookShelfBlockAccess.wthit_getRelativeHitCoordinatesForBlockFace(accessor.getBlockHitResult(), facing); - if (relativeHit.isEmpty()) return; + var block = ((ChiseledBookShelfBlockAccess) accessor.getBlock()); + var hitSlot = block.wthit_getHitSlot(accessor.getBlockHitResult(), accessor.getBlockState()); + if (hitSlot.isEmpty()) return; - var hitSlot = ChiseledBookShelfBlockAccess.wthit_getHitSlot(relativeHit.get()); - hitItem = data.items.get(hitSlot); + hitItem = data.items.get(hitSlot.getAsInt()); } @Override diff --git a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/RandomizableContainerProvider.java b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/RandomizableContainerProvider.java index defe364a4..43a035936 100644 --- a/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/RandomizableContainerProvider.java +++ b/src/pluginVanilla/java/mcp/mobius/waila/plugin/vanilla/provider/RandomizableContainerProvider.java @@ -5,16 +5,16 @@ import mcp.mobius.waila.api.IPluginConfig; import mcp.mobius.waila.api.IServerAccessor; import mcp.mobius.waila.api.data.ItemData; -import mcp.mobius.waila.mixin.RandomizableContainerBlockEntityAccess; -import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity; +import net.minecraft.world.RandomizableContainer; +import net.minecraft.world.level.block.entity.BlockEntity; -public enum RandomizableContainerProvider implements IDataProvider { +public enum RandomizableContainerProvider implements IDataProvider { INSTANCE; @Override - public void appendData(IDataWriter data, IServerAccessor accessor, IPluginConfig config) { - if (((RandomizableContainerBlockEntityAccess) accessor.getTarget()).wthit_lootTable() != null) { + public void appendData(IDataWriter data, IServerAccessor accessor, IPluginConfig config) { + if (((RandomizableContainer) accessor.getTarget()).getLootTable() != null) { data.blockAll(ItemData.TYPE); } } diff --git a/src/resources/resources/wthit.mixins.json b/src/resources/resources/wthit.mixins.json index 482d13204..4889622e1 100644 --- a/src/resources/resources/wthit.mixins.json +++ b/src/resources/resources/wthit.mixins.json @@ -12,13 +12,11 @@ "ChiseledBookShelfBlockEntityAccess", "EntityAccess", "NoteBlockAccess", - "RandomizableContainerBlockEntityAccess", "ReloadableServerResourcesMixin", "ShearableBlocksMixin" ], "client" : [ "BossHealthOverlayAccess", - "ClientCommonPacketListenerImplMixin", "ClientConfigurationPacketListenerImplMixin", "ClientPacketListenerMixin", "EditBoxAccess",