Getting the title of an open chest. You can probably tell that I'm very new to this haha. For example, the title of the chest would be " §lnice shoes," and the file would output, "shoes." But when I compile the mod it outputs "§lnice shoes" instead.
The only reason I used unformatted text is to get the raw name, its works perfectly in the development environment. I really don't care about checking for the colors. Orig and count are used in another event called later in the code. I'm concerned that I maybe "over manipulated" that orig string? If that makes any sense. Should I try to separate all the outputs into different strings?
My mod works flawlessly in the development environment, but when I compile and run it from the forge mod folder it stops working as it should. The main problem I noticed is that the strings are not being manipulated properly. Either the .startsWith or .substring methods are not executing because the strings are being printed into a file in the raw form, when they should be parsed. Any advice?
code:
import net.minecraft.client.gui.inventory.GuiChest;
import net.minecraft.inventory.ContainerChest;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class EventHandlerCommon{
private int count = 5;
private String orig;
@SubscribeEvent
public void onPlayerGuiOpen(GuiOpenEvent e){
if (e.gui instanceof GuiChest){
GuiChest guiC = (GuiChest) e.gui;
ContainerChest guiG = (ContainerChest) guiC.inventorySlots;
orig = guiG.getLowerChestInventory().getDisplayName().getUnformattedText().toLowerCase();
if(orig.startsWith("§lnice")){
orig = orig.substring(6).trim();
}else if(orig.startsWith("§lhello")){
orig = orig.substring(7).trim();
}
if(orig.equals("lava")){
orig = "bucketLava";
}
newFileWriter.main(orig);
count = 0;
}
}
}
Is there anyway to programmatically retrieve the title of a chest GUI sent by the server? It's not a physical chest placed in the world, rather a custom inventory created by the server.