From 3ba3c064fc8e6d6608672e07aea981e5770ee2b9 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Fri, 1 Mar 2019 23:54:38 +0100 Subject: [PATCH] added supporter fanciness in preparation for patreon revamp --- .../compat/patchouli/PatchouliCompat.java | 34 +++++- .../naturesaura/proxy/ClientProxy.java | 2 + .../renderers/SupporterFancyHandler.java | 113 ++++++++++++++++++ .../assets/naturesaura/textures/gui/book.png | Bin 27035 -> 27874 bytes supporters.json | 5 + 5 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/ellpeck/naturesaura/renderers/SupporterFancyHandler.java create mode 100644 supporters.json diff --git a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java index ce7fe19e..6f2ecdd3 100644 --- a/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java +++ b/src/main/java/de/ellpeck/naturesaura/compat/patchouli/PatchouliCompat.java @@ -4,10 +4,13 @@ import de.ellpeck.naturesaura.ModConfig; import de.ellpeck.naturesaura.NaturesAura; import de.ellpeck.naturesaura.api.multiblock.Matcher; import de.ellpeck.naturesaura.events.ClientEvents; +import de.ellpeck.naturesaura.renderers.SupporterFancyHandler; +import de.ellpeck.naturesaura.renderers.SupporterFancyHandler.FancyInfo; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.TextFormatting; import net.minecraftforge.fml.client.config.GuiUtils; @@ -48,9 +51,38 @@ public final class PatchouliCompat { 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!"), + GuiUtils.drawHoveringText( + Collections.singletonList(TextFormatting.GOLD + "It's the author Ellpeck's birthday!"), mouseX, mouseY, gui.width, gui.height, 0, gui.mc.fontRenderer); } + + String name = gui.mc.player.getName(); + FancyInfo info = SupporterFancyHandler.FANCY_INFOS.get(name); + if (info != null) { + int x = gui.width / 2 - 272 / 2 + 20; + int y = gui.height / 2 + 180 / 2; + + RenderHelper.disableStandardItemLighting(); + GlStateManager.color(1, 1, 1, 1); + gui.mc.getTextureManager().bindTexture(ClientEvents.BOOK_GUI); + + Gui.drawModalRectWithCustomSizedTexture(x, y, 496, 44, 16, 18, 512, 256); + if (info.tier == 1) { + Gui.drawModalRectWithCustomSizedTexture(x, y, 496 - 16, 44, 16, 18, 512, 256); + } else { + float r = ((info.color >> 16) & 255) / 255F; + float g = ((info.color >> 8) & 255) / 255F; + float b = (info.color & 255) / 255F; + GlStateManager.color(r, g, b); + Gui.drawModalRectWithCustomSizedTexture(x, y, 496 - 32, 44, 16, 18, 512, 256); + } + + if (mouseX >= x && mouseY >= y && mouseX < x + 16 && mouseY < y + 18) + GuiUtils.drawHoveringText( + Collections.singletonList(TextFormatting.YELLOW + "Thanks for your support, " + name + "!"), + mouseX, mouseY, gui.width, gui.height, 0, gui.mc.fontRenderer); + + } } } diff --git a/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java b/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java index 85769a56..adfe1b3a 100644 --- a/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java +++ b/src/main/java/de/ellpeck/naturesaura/proxy/ClientProxy.java @@ -8,6 +8,7 @@ import de.ellpeck.naturesaura.reg.IColorProvidingBlock; import de.ellpeck.naturesaura.reg.IColorProvidingItem; import de.ellpeck.naturesaura.reg.ITESRProvider; import de.ellpeck.naturesaura.renderers.PlayerLayerTrinkets; +import de.ellpeck.naturesaura.renderers.SupporterFancyHandler; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; @@ -44,6 +45,7 @@ public class ClientProxy implements IProxy { for (RenderPlayer render : new RenderPlayer[]{skinMap.get("default"), skinMap.get("slim")}) { render.addLayer(new PlayerLayerTrinkets()); } + new SupporterFancyHandler(); } @Override diff --git a/src/main/java/de/ellpeck/naturesaura/renderers/SupporterFancyHandler.java b/src/main/java/de/ellpeck/naturesaura/renderers/SupporterFancyHandler.java new file mode 100644 index 00000000..13be19f8 --- /dev/null +++ b/src/main/java/de/ellpeck/naturesaura/renderers/SupporterFancyHandler.java @@ -0,0 +1,113 @@ +package de.ellpeck.naturesaura.renderers; + +import com.google.gson.*; +import com.google.gson.stream.JsonReader; +import de.ellpeck.naturesaura.NaturesAura; +import de.ellpeck.naturesaura.api.NaturesAuraAPI; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EnumPlayerModelParts; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeColorHelper; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + +@SideOnly(Side.CLIENT) +public class SupporterFancyHandler { + + public static final Map FANCY_INFOS = new HashMap<>(); + + public SupporterFancyHandler() { + new FetchThread(); + MinecraftForge.EVENT_BUS.register(this); + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) { + if (event.phase != TickEvent.Phase.END) + return; + EntityPlayer player = event.player; + if (!player.world.isRemote) + return; + if (player.isInvisible() || !player.isWearing(EnumPlayerModelParts.CAPE)) + return; + Minecraft mc = Minecraft.getMinecraft(); + if (player == mc.player && mc.gameSettings.thirdPersonView == 0) + return; + FancyInfo info = FANCY_INFOS.get(player.getName()); + if (info == null) + return; + + Random rand = player.world.rand; + if (rand.nextFloat() >= 0.75F) { + int color; + if (info.tier == 1) { + BlockPos pos = player.getPosition(); + color = BiomeColorHelper.getFoliageColorAtPos(player.world, pos); + } else { + color = info.color; + } + + NaturesAuraAPI.instance().spawnMagicParticle( + player.posX + rand.nextGaussian() * 0.15F, + player.posY + rand.nextFloat() * 1.8F, + player.posZ + rand.nextGaussian() * 0.15F, + rand.nextGaussian() * 0.01F, + rand.nextFloat() * 0.01F, + rand.nextGaussian() * 0.01F, + color, rand.nextFloat() + 1F, rand.nextInt(50) + 50, 0F, false, true); + } + } + + public static class FancyInfo { + public final int tier; + public final int color; + + public FancyInfo(int tier, int color) { + this.tier = tier; + this.color = color; + } + } + + private static class FetchThread extends Thread { + public FetchThread() { + this.setName(NaturesAura.MOD_ID + "_support_fetcher"); + this.setDaemon(true); + this.start(); + } + + @Override + public void run() { + try { + URL url = new URL("https://raw.githubusercontent.com/Ellpeck/NaturesAura/master/supporters.json"); + JsonReader reader = new JsonReader(new InputStreamReader(url.openStream())); + JsonParser parser = new JsonParser(); + + JsonObject main = parser.parse(reader).getAsJsonObject(); + for (Map.Entry entry : main.entrySet()) { + JsonObject object = entry.getValue().getAsJsonObject(); + int tier = object.get("tier").getAsInt(); + int color = object.has("color") ? Integer.parseInt(object.get("color").getAsString(), 16) : 0; + FANCY_INFOS.put(entry.getKey(), new FancyInfo(tier, color)); + } + + reader.close(); + } catch (Exception e) { + NaturesAura.LOGGER.warn("Fetching supporter information failed", e); + } + } + } +} diff --git a/src/main/resources/assets/naturesaura/textures/gui/book.png b/src/main/resources/assets/naturesaura/textures/gui/book.png index f8b402c0f6b985993444ee0a37b4a09095d89c85..467a5de6805fafaf361969a18f9c4146980f4de7 100644 GIT binary patch delta 25315 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 Co`;qI diff --git a/supporters.json b/supporters.json new file mode 100644 index 00000000..d94757d1 --- /dev/null +++ b/supporters.json @@ -0,0 +1,5 @@ +{ + "Ellpeck": { + "tier": 1 + } +} \ No newline at end of file