From 62ccda3025bf0b90462b4d6665fc5a55db69cf2a Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Fri, 1 Mar 2019 18:27:24 +0100 Subject: [PATCH] a bit of patchouli-based reorganization --- .../naturesaura/blocks/multi/Multiblock.java | 17 +------- .../de/ellpeck/naturesaura/compat/Compat.java | 8 +++- .../compat/patchouli/PatchouliCompat.java | 39 ++++++++++++++++++ .../naturesaura/events/ClientEvents.java | 33 +++++++++++++++ .../naturesaura/proxy/ClientProxy.java | 2 + .../assets/naturesaura/textures/gui/book.png | Bin 26149 -> 27035 bytes 6 files changed, 82 insertions(+), 17 deletions(-) create mode 100644 src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java diff --git a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblock.java b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblock.java index ef21c038..bf70af20 100644 --- a/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblock.java +++ b/src/main/java/de/ellpeck/naturesaura/blocks/multi/Multiblock.java @@ -3,13 +3,12 @@ package de.ellpeck.naturesaura.blocks.multi; import de.ellpeck.naturesaura.api.NaturesAuraAPI; import de.ellpeck.naturesaura.api.multiblock.IMultiblock; import de.ellpeck.naturesaura.api.multiblock.Matcher; -import de.ellpeck.naturesaura.api.multiblock.Matcher.ICheck; +import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import vazkii.patchouli.api.PatchouliAPI; import java.util.HashMap; import java.util.Map; @@ -103,19 +102,7 @@ public class Multiblock implements IMultiblock { this.matchers.put(new BlockPos(x, y, z), matcher); } - for (int i = 1; i < rawMatchers.length; i += 2) { - if (rawMatchers[i] instanceof Matcher) { - Matcher matcher = (Matcher) rawMatchers[i]; - ICheck check = matcher.getCheck(); - if (check == null) - rawMatchers[i] = PatchouliAPI.instance.anyMatcher(); - else - rawMatchers[i] = PatchouliAPI.instance.predicateMatcher(matcher.getDefaultState(), - state -> check.matches(null, null, null, null, state, (char) 0)); - } - } - PatchouliAPI.instance.registerMultiblock(name, PatchouliAPI.instance.makeMultiblock(pattern, rawMatchers)); - + PatchouliCompat.addPatchouliMultiblock(name, pattern, rawMatchers); NaturesAuraAPI.MULTIBLOCKS.put(this.name, this); } diff --git a/src/main/java/de/ellpeck/naturesaura/compat/Compat.java b/src/main/java/de/ellpeck/naturesaura/compat/Compat.java index 7e5ad0d9..5c2e9694 100644 --- a/src/main/java/de/ellpeck/naturesaura/compat/Compat.java +++ b/src/main/java/de/ellpeck/naturesaura/compat/Compat.java @@ -3,9 +3,9 @@ package de.ellpeck.naturesaura.compat; import de.ellpeck.naturesaura.ModConfig; import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.compat.crafttweaker.CraftTweakerCompat; +import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.Loader; -import vazkii.patchouli.api.PatchouliAPI; public final class Compat { @@ -21,7 +21,11 @@ public final class Compat { if (baubles) MinecraftForge.EVENT_BUS.register(new BaublesCompat()); - PatchouliAPI.instance.setConfigFlag(NaturesAura.MOD_ID + ":rf_converter", ModConfig.enabledFeatures.rfConverter); + PatchouliCompat.preInit(); + } + + public static void preInitClient(){ + PatchouliCompat.preInitClient(); } public static void postInit() { diff --git a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java new file mode 100644 index 00000000..5e26505e --- /dev/null +++ b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java @@ -0,0 +1,39 @@ +package de.ellpeck.naturesaura.compat.patchouli; + +import de.ellpeck.naturesaura.ModConfig; +import de.ellpeck.naturesaura.NaturesAura; +import de.ellpeck.naturesaura.api.multiblock.Matcher; +import net.minecraft.util.ResourceLocation; +import vazkii.patchouli.api.PatchouliAPI; + +public final class PatchouliCompat { + + public static Class bookGuiClass; + + public static void preInit() { + PatchouliAPI.instance.setConfigFlag(NaturesAura.MOD_ID + ":rf_converter", ModConfig.enabledFeatures.rfConverter); + } + + public static void preInitClient() { + try { + bookGuiClass = Class.forName("vazkii.patchouli.client.book.gui.GuiBook"); + } catch (ClassNotFoundException e) { + NaturesAura.LOGGER.warn("Couldn't find Patchouli book class, not loading special visuals :("); + } + } + + public static void addPatchouliMultiblock(ResourceLocation name, String[][] pattern, Object... rawMatchers) { + for (int i = 1; i < rawMatchers.length; i += 2) { + if (rawMatchers[i] instanceof Matcher) { + Matcher matcher = (Matcher) rawMatchers[i]; + Matcher.ICheck check = matcher.getCheck(); + if (check == null) + rawMatchers[i] = PatchouliAPI.instance.anyMatcher(); + else + rawMatchers[i] = PatchouliAPI.instance.predicateMatcher(matcher.getDefaultState(), + state -> check.matches(null, null, null, null, state, (char) 0)); + } + } + PatchouliAPI.instance.registerMultiblock(name, PatchouliAPI.instance.makeMultiblock(pattern, rawMatchers)); + } +} diff --git a/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java b/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java index a29f6926..814e49d5 100644 --- a/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java +++ b/src/main/java/de/ellpeck/naturesaura/events/ClientEvents.java @@ -13,6 +13,7 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityGratedChute; import de.ellpeck.naturesaura.blocks.tiles.TileEntityNatureAltar; import de.ellpeck.naturesaura.blocks.tiles.TileEntityRFConverter; import de.ellpeck.naturesaura.compat.Compat; +import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat; import de.ellpeck.naturesaura.items.ItemRangeVisualizer; import de.ellpeck.naturesaura.items.ModItems; import de.ellpeck.naturesaura.particles.ParticleHandler; @@ -22,8 +23,11 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiChat; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.resources.I18n; import net.minecraft.entity.Entity; import net.minecraft.init.Items; @@ -37,11 +41,13 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeColorHelper; +import net.minecraftforge.client.event.GuiScreenEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.common.IPlantable; import net.minecraftforge.energy.EnergyStorage; +import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent; import net.minecraftforge.fml.common.gameevent.TickEvent.Phase; @@ -52,6 +58,9 @@ import org.apache.commons.lang3.mutable.MutableInt; import org.lwjgl.opengl.GL11; import java.text.NumberFormat; +import java.time.LocalDateTime; +import java.time.Month; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -60,6 +69,7 @@ import java.util.Map; public class ClientEvents { public static final ResourceLocation OVERLAYS = new ResourceLocation(NaturesAura.MOD_ID, "textures/gui/overlays.png"); + private static final ResourceLocation BOOK_GUI = new ResourceLocation(NaturesAura.MOD_ID, "textures/gui/book.png"); private static final ItemStack ITEM_FRAME = new ItemStack(Items.ITEM_FRAME); private static final Map> SHOWING_EFFECTS = new HashMap<>(); private static ItemStack heldCache = ItemStack.EMPTY; @@ -95,6 +105,29 @@ public class ClientEvents { mc.profiler.endSection(); } + @SubscribeEvent + public void onGuiRender(GuiScreenEvent.DrawScreenEvent.Post event) { + GuiScreen gui = event.getGui(); + if (PatchouliCompat.bookGuiClass != null && PatchouliCompat.bookGuiClass.isAssignableFrom(gui.getClass())) { + int mouseX = event.getMouseX(); + int mouseY = event.getMouseY(); + LocalDateTime now = LocalDateTime.now(); + if (now.getMonth() == Month.MAY && now.getDayOfMonth() == 21) { + int x = gui.width / 2 + 272 / 2 - 16; + int y = gui.height / 2 - 180 / 2 - 26; + + RenderHelper.disableStandardItemLighting(); + GlStateManager.color(1, 1, 1, 1); + gui.mc.getTextureManager().bindTexture(BOOK_GUI); + Gui.drawModalRectWithCustomSizedTexture(x, y, 469, 0, 43, 42, 512, 256); + + if (mouseX >= x && mouseY >= y && mouseX < x + 43 && mouseY < y + 42) + GuiUtils.drawHoveringText(Collections.singletonList(TextFormatting.GOLD + "It's the author Ellpeck's birthday!"), + mouseX, mouseY, gui.width, gui.height, 0, gui.mc.fontRenderer); + } + } + } + @SubscribeEvent public void onRenderLast(RenderWorldLastEvent event) { Minecraft mc = Minecraft.getMinecraft(); diff --git a/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java b/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java index 2e06fd16..622651a6 100644 --- a/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java +++ b/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java @@ -1,5 +1,6 @@ package de.ellpeck.naturesaura.proxy; +import de.ellpeck.naturesaura.compat.Compat; import de.ellpeck.naturesaura.events.ClientEvents; import de.ellpeck.naturesaura.particles.ParticleHandler; import de.ellpeck.naturesaura.particles.ParticleMagic; @@ -35,6 +36,7 @@ public class ClientProxy implements IProxy { @Override public void preInit(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new ClientEvents()); + Compat.preInitClient(); } @Override diff --git a/src/main/resources/assets/naturesaura/textures/gui/book.png b/src/main/resources/assets/naturesaura/textures/gui/book.png index f637e0ad81f978a01a7a5d23100836b212f4c090..f8b402c0f6b985993444ee0a37b4a09095d89c85 100644 GIT binary patch delta 21811 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 delta 20917 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