Jump to content

Recommended Posts

Posted

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

Posted (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 by Matryoshika

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.

Posted

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 ?

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.