Sofften Posted March 31, 2017 Posted March 31, 2017 Hi, I'm updating a mod source code but I don't know how to correct this : EntityList.GetEntityStringFromClass() this Method no longer exist in EntityList, I'm trying to use GetEntityString instead but i cant figure out which Entity it's trying to get the String of, as it's a really disgusting code : fontRenderer.drawStringWithShadow( index + " (" + EntityList.getEntityStringFromClass(EntityList.getClassFromID(Integer.parseInt(index))) + "): " + val, leftAlign, 2 + 9 * lineNumber, 0xFFFFFF); So please correct me if it's wrong, but if I understand correctly it's trying to get the String of an Entity by its Class (with Method 'getEntityStringFromClass'), then it's trying to get the Class from an ID (with method 'getClassFromID'), and then it's trying to get the ID converting a String (index) to an int (like an ID is) (with 'parseInt'). What I do not understand is what is index, which String is it refering to. If i know that I could use instead 'GetEntityString', as I need the Entity pointed here to use that. 'index' is refering to : for (String index : sort) Then 'sort' is refering to : List<String> sort = new ArrayList<String>(sheet.keySet()); ... then 'sheet' is refering to : private void debugScanWithSheet(final Sheet sheet, boolean isDeltaPass) ... So i'm lost, help please Here is the source code : VisualDebugger.java Quote
Matryoshika Posted March 31, 2017 Posted March 31, 2017 (edited) To make it a bit more clear: The method debugScanWithSheet gets a Sheet object from dataGatherer::getSheet. It then creates an ArrayList<String> using the keys from the mentioned sheet. It then iterates through each element in the arraylist with a ForEach loop, where each new value is called "index". If the scanDebug begins with "detect_", it assigns a new variable val to sheet.get(index). If val is not 0 nor Integer.MAX_VALUE, and index is not 0, it draws the string. As such, you need to investigate how the Sheet object looks like. What is the key->value structure? (string->what?) What does the String represent? The entity-id? It would seem the most likely. For future reference, please post your code to pastebin.com or similar webpages. GitHub would be the most optimal. Edited March 31, 2017 by Matryoshika Quote Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
Sofften Posted April 5, 2017 Author Posted April 5, 2017 Ok, I tried to figure out what Sheet Object looks like as you said, but finally when I looked again to the formula : fontRenderer.drawStringWithShadow( index + " (" + EntityList.getEntityStringFromClass(EntityList.getClassFromID(Integer.parseInt(index))) + "): " + val, leftAlign, 2 + 9 * lineNumber, 0xFFFFFF); I saw that the main goal was to get a String, but in fact index is already a String so it's kind of loopy for nothing if i'm not wrong. Then I replace the code with simply this : fontRenderer.drawStringWithShadow( index + " (" + index + "): " + val, leftAlign, 2 + 9 * lineNumber, 0xFFFFFF); And it gives me no errror, but maybe the result is not the same ? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.