diff --git a/src/main/java/com/ldtteam/structurize/event/ClientLifecycleSubscriber.java b/src/main/java/com/ldtteam/structurize/event/ClientLifecycleSubscriber.java index f9c149d51..bdf24cb5a 100644 --- a/src/main/java/com/ldtteam/structurize/event/ClientLifecycleSubscriber.java +++ b/src/main/java/com/ldtteam/structurize/event/ClientLifecycleSubscriber.java @@ -19,7 +19,6 @@ import net.minecraftforge.client.event.*; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.event.config.ModConfigEvent; -import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; public class ClientLifecycleSubscriber { @@ -29,28 +28,23 @@ public class ClientLifecycleSubscriber * @param event event */ @SubscribeEvent - public static void onClientInit(final FMLClientSetupEvent event) + public static void onClientInit(final RegisterClientReloadListenersEvent event) { - final ResourceManager rm = Minecraft.getInstance().getResourceManager(); - if (rm instanceof final ReloadableResourceManager resourceManager) + event.registerReloadListener(new SimplePreparableReloadListener<>() { - resourceManager.registerReloadListener(new SimplePreparableReloadListener<>() + @Override + protected Object prepare(final ResourceManager manager, final ProfilerFiller profiler) { + return new Object(); + } - @Override - protected Object prepare(final ResourceManager manager, final ProfilerFiller profiler) - { - return new Object(); - } - - @Override - protected void apply(final Object source, final ResourceManager manager, final ProfilerFiller profiler) - { - Log.getLogger().debug("Clearing blueprint renderer cache."); - BlueprintHandler.getInstance().clearCache(); - } - }); - } + @Override + protected void apply(final Object source, final ResourceManager manager, final ProfilerFiller profiler) + { + Log.getLogger().debug("Clearing blueprint renderer cache."); + BlueprintHandler.getInstance().clearCache(); + } + }); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java b/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java index a158fcd4f..f75da3132 100644 --- a/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java +++ b/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java @@ -926,11 +926,6 @@ public ActionProcessingResult handle( @Nullable final CompoundTag tileEntityData, final IPlacementContext placementContext) { - if (!handleBlockPlacement(world, pos, blockState)) - { - return ActionProcessingResult.DENY; - } - try { // Try detecting inventory content. @@ -938,13 +933,17 @@ public ActionProcessingResult handle( } catch (final Exception ex) { - // If we can't load the inventory content of the TE, return early, don't fill TE data. + // If we can't load the inventory content of the TE, don't fill TE data. + if (!handleBlockPlacement(world, pos, blockState)) + { + return ActionProcessingResult.DENY; + } return ActionProcessingResult.SUCCESS; } - if (tileEntityData != null) + if (!handleBlockPlacement(world, pos, blockState, placementContext.getRotationMirror().getRotationMirror(), tileEntityData)) { - handleTileEntityPlacement(tileEntityData, world, pos, placementContext.getRotationMirror().getRotationMirror()); + return ActionProcessingResult.DENY; } return ActionProcessingResult.SUCCESS;