diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/SunTzu.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/SunTzu.java | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/SunTzu.java b/src/main/java/io/github/moulberry/notenoughupdates/SunTzu.java new file mode 100644 index 00000000..6de8245e --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/SunTzu.java @@ -0,0 +1,94 @@ +package io.github.moulberry.notenoughupdates; + +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MovingObjectPosition; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.event.world.WorldEvent; +import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import java.util.Random; + +public class SunTzu { + + private static boolean enabled = false; + private static int quoteNum = 0; + + private static Random rand = new Random(); + + private static String[] quotes = new String[] { + "Appear weak when you are strong, and strong when you are weak.", + "The supreme art of war is to subdue the enemy without fighting.", + "If you know the enemy and know yourself, you need not fear the result of a hundred battles.", + "Let your plans be dark and impenetrable as night, and when you move, fall like a thunderbolt.", + "All warfare is based on deception.", + "In the midst of chaos, there is also opportunity.", + "The greatest victory is that which requires no battle.", + "To know your Enemy, you must become your Enemy.", + "There is no instance of a nation benefitting from prolonged warfare.", + "Even the finest sword plunged into salt water will eventually rust.", + "Opportunities multiply as they are seized.", + "When the enemy is relaxed, make them toil. When full, starve them. When settled, make them move.", + "He who wishes to fight must first count the cost", + "If you wait by the river long enough, the bodies of your enemies will float by.", + "Be extremely subtle even to the point of formlessness. Be extremely mysterious even to the point of soundlessness. Thereby you can be the director of the opponent's fate.", + "Build your opponent a golden bridge to retreat across.", + "The wise warrior avoids the battle.", + "Great results, can be achieved with small forces.", + "Attack is the secret of defense; defense is the planning of an attack.", + "Subscribe to Moulberry on YouTube." + }; + + public static void setEnabled(boolean enabled) { + SunTzu.enabled = enabled; + } + + public static void randomizeQuote() { + for(int i=0; i<3; i++) { + int newQuote = rand.nextInt(quotes.length); + + if(newQuote != quoteNum) { + quoteNum = newQuote; + return; + } + } + } + + private static String getQuote() { + return quotes[quoteNum]; + } + + @SubscribeEvent + public void onOverlayDrawn(RenderGameOverlayEvent event) { + if(enabled && ((event.type == null && Loader.isModLoaded("labymod")) || + event.type == RenderGameOverlayEvent.ElementType.ALL)) { + if(Minecraft.getMinecraft().gameSettings.showDebugInfo || + (Minecraft.getMinecraft().gameSettings.keyBindPlayerList.isKeyDown() && + (!Minecraft.getMinecraft().isIntegratedServerRunning() || + Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap().size() > 1))) { + return; + } + + ScaledResolution sr = Utils.pushGuiScale(2); + + int height = Utils.renderStringTrimWidth(EnumChatFormatting.YELLOW+getQuote(), Minecraft.getMinecraft().fontRendererObj, + true, sr.getScaledWidth()/2-100, 5, 200, -1, -1); + String sunTzu = "- Sun Tzu, The Art of War"; + int sunTzuLength = Minecraft.getMinecraft().fontRendererObj.getStringWidth(sunTzu); + Minecraft.getMinecraft().fontRendererObj.drawString(EnumChatFormatting.GOLD+sunTzu, + sr.getScaledWidth()/2f+100-sunTzuLength, 15+height, 0, true); + + Utils.pushGuiScale(-1); + } + } + + @SubscribeEvent + public void switchWorld(WorldEvent.Load event) { + randomizeQuote(); + } + + +} |
