package mods.ocminecart.common.assemble.util; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import java.util.ArrayList; import java.util.List; public class TooltipUtil { private final static int MAX_WIDTH = 220; private final static FontRenderer font = Minecraft.getMinecraft().fontRenderer; public static List<String> trimString(String tooltip){ String sp=""; int cur = 0; while(sp.length()<tooltip.length() && cur<tooltip.length()){ int clen = 0; while(clen+cur<tooltip.length() && font.getStringWidth(tooltip.substring(cur, clen+cur))<MAX_WIDTH) clen+=1; //Find the max number of chars String cut = tooltip.substring(cur, clen+cur); int pos = -1; if(font.getStringWidth(cut)>MAX_WIDTH) pos = cut.lastIndexOf(' '); if(pos > 0 && cut.charAt(pos)==' ') { char[] buf = cut.toCharArray(); buf[pos] = '\n'; cut = String.valueOf(buf); cut = cut.substring(0,pos+1); } sp = sp + cut; cur+=cut.length(); } ArrayList<String> res = new ArrayList<String>(); String[] s = sp.split("\\n"); for(int i=0;i<s.length;i+=1){ res.add(s[i]); } return res; } }