public static List<TextData> getStatLines(IMaterialStats stats) { List<TextData> lineData = new ArrayList<>(); for(int i = 0; i < stats.getLocalizedInfo().size(); i++) { TextData text = new TextData(stats.getLocalizedInfo().get(i)); text.tooltip = LocUtils.convertNewlines(stats.getLocalizedDesc().get(i)).split("\n"); lineData.add(text); lineData.add(new TextData("\n")); } return lineData; }
protected void setDisplayForMaterial(Material material) { info.setCaption(material.getLocalizedNameColored()); List<String> stats = Lists.newLinkedList(); List<String> tips = Lists.newArrayList(); for(IMaterialStats stat : material.getAllStats()) { List<String> info = stat.getLocalizedInfo(); if(!info.isEmpty()) { stats.add(TextFormatting.UNDERLINE + stat.getLocalizedName()); stats.addAll(info); stats.add(null); tips.add(null); tips.addAll(stat.getLocalizedDesc()); tips.add(null); } } // Traits for(ITrait trait : material.getAllTraits()) { if(!trait.isHidden()) { stats.add(material.getTextColor() + trait.getLocalizedName()); tips.add(material.getTextColor() + trait.getLocalizedDesc()); } } if(!stats.isEmpty() && stats.get(stats.size() - 1) == null) { // last empty line stats.remove(stats.size() - 1); tips.remove(tips.size() - 1); } info.setText(stats, tips); }