fix #4688
This commit is contained in:
parent
cc1893448c
commit
8a6b126701
|
@ -91,9 +91,9 @@ public class ItemPackage extends ItemBuildCraft {
|
||||||
public void addInformation(ItemStack stack, EntityPlayer player, List strings, boolean adv) {
|
public void addInformation(ItemStack stack, EntityPlayer player, List strings, boolean adv) {
|
||||||
NBTTagCompound tag = NBTUtils.getItemData(stack);
|
NBTTagCompound tag = NBTUtils.getItemData(stack);
|
||||||
if (!tag.hasNoTags()) {
|
if (!tag.hasNoTags()) {
|
||||||
strings.add("SPECIAL:0");
|
strings.add("{{BC_PACKAGE_SPECIAL:0}}");
|
||||||
strings.add("SPECIAL:1");
|
strings.add("{{BC_PACKAGE_SPECIAL:1}}");
|
||||||
strings.add("SPECIAL:2");
|
strings.add("{{BC_PACKAGE_SPECIAL:2}}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package buildcraft.silicon.render;
|
package buildcraft.silicon.render;
|
||||||
|
|
||||||
|
import net.minecraft.util.EnumChatFormatting;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -11,11 +12,15 @@ import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
import buildcraft.core.lib.utils.NBTUtils;
|
import buildcraft.core.lib.utils.NBTUtils;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class PackageFontRenderer extends FontRenderer {
|
public class PackageFontRenderer extends FontRenderer {
|
||||||
private static final RenderItem itemRender = new RenderItem();
|
private static final RenderItem itemRender = new RenderItem();
|
||||||
private static final Minecraft mc = Minecraft.getMinecraft();
|
private static final Minecraft mc = Minecraft.getMinecraft();
|
||||||
private static final FontRenderer realRenderer = mc.fontRenderer;
|
private static final FontRenderer realRenderer = mc.fontRenderer;
|
||||||
private final NBTTagCompound pkgTag;
|
private final NBTTagCompound pkgTag;
|
||||||
|
private final Pattern stringPattern = Pattern.compile("^\\{\\{BC_PACKAGE_SPECIAL:([0-2])}}$");
|
||||||
|
|
||||||
public PackageFontRenderer(ItemStack packageStack) {
|
public PackageFontRenderer(ItemStack packageStack) {
|
||||||
super(mc.gameSettings, new ResourceLocation("textures/font/ascii.png"), mc.getTextureManager(), mc.fontRenderer.getUnicodeFlag());
|
super(mc.gameSettings, new ResourceLocation("textures/font/ascii.png"), mc.getTextureManager(), mc.fontRenderer.getUnicodeFlag());
|
||||||
|
@ -24,7 +29,8 @@ public class PackageFontRenderer extends FontRenderer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getStringWidth(String s) {
|
public int getStringWidth(String s) {
|
||||||
if (!s.contains("SPECIAL:")) {
|
Matcher m = stringPattern.matcher(EnumChatFormatting.getTextWithoutFormattingCodes(s));
|
||||||
|
if (!m.find()) {
|
||||||
return realRenderer.getStringWidth(s);
|
return realRenderer.getStringWidth(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,11 +39,12 @@ public class PackageFontRenderer extends FontRenderer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int drawString(String s, int x, int y, int color, boolean shadow) {
|
public int drawString(String s, int x, int y, int color, boolean shadow) {
|
||||||
if (!s.contains("SPECIAL:")) {
|
Matcher m = stringPattern.matcher(EnumChatFormatting.getTextWithoutFormattingCodes(s));
|
||||||
|
if (!m.find()) {
|
||||||
return realRenderer.drawString(s, x, y, color, shadow);
|
return realRenderer.drawString(s, x, y, color, shadow);
|
||||||
}
|
}
|
||||||
|
|
||||||
int begin = Integer.parseInt(s.substring(s.length() - 1)) * 3;
|
int begin = Integer.parseInt(m.group(1)) * 3;
|
||||||
int rx = x;
|
int rx = x;
|
||||||
|
|
||||||
for (int slotPos = begin; slotPos < begin + 3; slotPos++) {
|
for (int slotPos = begin; slotPos < begin + 3; slotPos++) {
|
||||||
|
|
Loading…
Reference in a new issue