diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java | 64 |
1 files changed, 60 insertions, 4 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java index dc88da2f..31499f7f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java @@ -2,7 +2,11 @@ package io.github.moulberry.notenoughupdates.util; import com.google.common.base.Splitter; import com.google.common.collect.Lists; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking; import net.minecraft.client.Minecraft; @@ -30,14 +34,19 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; import net.minecraft.network.play.client.C0DPacketCloseWindow; -import net.minecraft.util.*; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Matrix4f; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import net.minecraftforge.fml.common.Loader; import org.lwjgl.BufferUtils; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL14; -import java.awt.Color; +import java.awt.*; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; @@ -47,7 +56,11 @@ import java.lang.reflect.Method; import java.nio.FloatBuffer; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -1798,4 +1811,47 @@ public class Utils { return left <= x && x <= left + width && top <= y && y <= top + height; } + + public static int getNumberOfStars(ItemStack stack) { + if (stack != null && stack.hasTagCompound()) { + NBTTagCompound tag = stack.getTagCompound(); + + if (tag.hasKey("ExtraAttributes", 10)) { + NBTTagCompound ea = tag.getCompoundTag("ExtraAttributes"); + if (ea.hasKey("upgrade_level", 99)) { + return ea.getInteger("upgrade_level"); + } else if (ea.hasKey("dungeon_item_level")) { + return ea.getInteger("dungeon_item_level"); + } + } + } + return -1; + } + + public static String getStarsString(int stars) { + EnumChatFormatting colorCode = null; + EnumChatFormatting defaultColorCode = EnumChatFormatting.GOLD; + int amount = 0; + if (stars > 5 && stars < 11) { + colorCode = EnumChatFormatting.LIGHT_PURPLE; + amount = stars - 5; + stars = 5; + } + if (stars > 10) { + colorCode = EnumChatFormatting.AQUA; + defaultColorCode = EnumChatFormatting.LIGHT_PURPLE; + amount = stars - 10; + stars = 5; + } + + StringBuilder stringBuilder = new StringBuilder(); + for (int i = 0; i < stars; i++) { + if (i < amount) { + stringBuilder.append(colorCode).append('\u272A'); + } else { + stringBuilder.append(defaultColorCode).append('\u272A'); + } + } + return stringBuilder.toString(); + } } |
