Closed Nagapito closed 8 years ago
Since sometimes the generation fails to run for some strange reason, I tried opening and closing the same world until it fired. After like 6-7 (lost count), still nothing!
I also notice that every time I loaded the world, I had less and less free memory, last time was 40 Mb and game froze (Started with 1Gb free after finishing loading a world). I think this might be related with the qeue being loaded with all the chunks but on world stop, its not cleared.
Also, the key you use for the queue might be a bad key. You should use something like a value type. An object, will always be different every time you create a new one, unless the equals method is correctly implemented and the HashMap actually uses it. If not, two objects will never be equal. A string like worldID+x + ";" + Z is going to be unique for the same chunk and will properly do his work.
Maybe that is what is causing memory going up. It kept adding the chunk when it already is in the queue
Odd, because dimension 1 is in my blacklist.
I am struggling reading the documentation for the Array.binarySearch() but... should you be checking for a value greater then 0 instead of lower?
Isn't a negative number when the item is not found? So, if not found, its not on the blacklist and should be processed?
Edit: And that would be why it is ignoring all Overworld and processing the blacklisted dimensions like it happened to Haggle?
Yeah, that's what quirked my eyebrow. And @Nagapito that's the derp I just fixed :D I copy-pasted the check to a buncha places, and forgot to flip the comparison on the one method.
https://dl.dropboxusercontent.com/u/7950499/1.7.10-HarderOres-14.25.2e.jar
Re objects as keys: I correctly implement Equals and HashCode. :)
[25/6/2016 23:06:12 PM] [Server thread/INFO] [HarderOres]: World ID #0 ticking for rescan (-1)
And you still have the binaryCheck doing the wrong comparation in the doRescan
EDIT: Ohhh, and on the readData too!!!! And all the other places. That or my decompiler sucks :)
Oh ha. I had it wrong in two places. Thanks. I am apparently not all here today -..- https://dl.dropboxusercontent.com/u/7950499/1.7.10-HarderOres-14.25.2f.jar
Are you sure?
For example, readData. If the dimension is not one of blacklisted, it just exists. Same for all other uses with binarySearch? (getOreData, subOreData, clearData, cleanup,...
I will test this new version, but just seeing the code, I dont have high hopes
Edit: Also, chunkGen() in OresEventHandler
Edit 2: Confirmed, still not working
Grumble, grumble. I even double checked my math. Grumble grumble. Stupid brain being stupid again. That's why I like "contains"! https://dl.dropboxusercontent.com/u/7950499/1.7.10-HarderOres-14.25.2g.jar
Not that important but you still missed the check on chunkGen function. Not world breaking since it will re-generate later...
Still loading the pack...
D'oh, thanks for the catch.
It.... seems... to... be.... WORKING!!
Also another small but, doRescan function, whe you output the number of chunks to rescan, you output the toRescan queue size instead of the size of the actual queue for the dimension! So, it keeps saying '1 chunk remain'.
had to wait for the other message that reports the queue size for each dimensions to see the real value, 473.
going to let it run for a while to see if the number actually decreases or stops, since the previous versions, it kept growing and never stopped
MC world loading and saving is very very annoying, since it seems to not be synchronous....
I generated a new world, so I could have a clear readout of what was happening. And this is with the wrong check on chunkGen, so... no chunks got generated with the information!
And, it worked!!! it took some time, for some chunks the information is generated multiple times since MC just doesnt wait for you but eventually it got saved!!
So, I would say you just need to fix the check on world gen, fix the log message with the number of remaining chunks and maybe, tone down the logging spam.
I think the message that runs every few minutes telling how many chunks need to be calculated is nice for admins, but should only show the dimensions that actually have something to calculate and ignore blacklisted ones or ones with an empty queue. This message, with only a summary of what is doing by dimension every minute should be better info and less spam
The debug info is just debug info. I'll be removing most of it for release.
@Draco18s, did this get packaged up?
Thanks for the ping; life occurred.
By the way, Dimension blacklist is awesome!!
I dont need the information anymore, since I long pass the need for sluice and bonemeal and the constant data generation of those pesky border chunks was annoying me! Not that it was killing the server but... why use 20% of my CPU on something that I dont need?
So, I blacklisted the Overworld too. Server is now at 2-3% CPU when idle :)
It might even be a good tip for server admins...
If I had my druthers, I'd rather it have been a dimension whitelist, prefilled with only the overworld, but I'm okay adding all known dimensions in my pack to the blacklist (it's already done -- waiting on the fix).
The issue, I imagine, will be with dynamically-created dimensions -- think Mystcraft or RFTools, also GalactiCraft's space stations. Which would mean Draco18s would need to add a isBlacklistWhite=false
, so that the behavior of the list could be flipped between black and white, depending on the whims of the pack author.
But I'm happy to get what I'm getting. Maybe he'll add something like that in the future, but 1.7.10 is on it's last legs, and Draco18s and I both have only a limited amount of time to dedicate to our hobby. :)
The reason for the Blacklist is for dimensions like Mystcraft Ages or RF whatever-its-called. Those are as arbitrary as you can get and I'd rather catch those on the fly than have to have them added to a white list.
I think we're saying the same thing. :D
Regardless, thank you for all your hard work. I and my players greatly appreciate it.
sure thing!
@Draco18s notice anything wrong with this picture:
:)
D'oh. Fixing now.
Wildlife and Underground got reversed. Should be visible correctly in a few minutes. Thanks for catching it before I went on vacation (I will be out of town until Tuesday).
Thank you both for testing this!
@Draco18s
Is there a way to remove this:
BTW, all of these worlds are in the blacklist, except for 0
You sure all of them are on the blacklist?
Blacklisted ones should say -2 in the amount of ores to rescan... -1 is when there isnt even a queue with chunks to rescan and 0 or higher is the size of the queue when it exists.
And I see a couple of -1's... Unless that is what you are trying to say...
I think I'm saying 'I don't want these messages spamming the console constantly when I release this'...I really don't want it while I'm working on other things, as what I need to see scrolls out of the debug window after a few seconds. :)
Oh, that's what I forgot to do! Remember I said I was going to remove a lot of debug info? Yeah. Unfortunately this will have to wait until next week. Sorry!
Tip for the future, instead of logging them as INFO, log them as DEBUG and ask who is helping you to test the mod to lower the log level, since all launchers/clients only show INFO and above levels.
This way, you dont have to do 'log cleanups' on your code and if something weird happens in the future, you can always ask the bug reporter to lower the log level and you will have the extra information without needing a new version.
I'll try to do that, although I recall doing that once and the person who was helping test couldn't see them. On Jul 1, 2016 4:42 AM, "Nagapito" notifications@github.com wrote:
Tip for the future, instead of logging them as INFO, log them as DEBUG and ask who is helping you to test the mod to lower the log level, since all launchers/clients only show INFO and above levels.
This way, you dont have to do 'log cleanups' on your code and if something weird happens in the future, you can always ask the bug reporter to lower the log level and you will have the extra information without needing a new version.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Haggle1996/RevolutionPack/issues/462#issuecomment-229891108, or mute the thread https://github.com/notifications/unsubscribe/ABq2mDTrtyXZgWz5srQ9-JGAb-_Blri2ks5qRNMJgaJpZM4I34v2 .
I think they need to pass a parameter on the java console to lower the log level on Log4. By default its at INFO and on development ambient is at the lower setting, so you could see them.
Yeah, I tried to explain that and didn't have any luck. On Jul 1, 2016 10:26 AM, "Nagapito" notifications@github.com wrote:
I think they need to pass a parameter on the java console to lower the log level on Log4. By default its at INFO and on development ambient is at the lower setting, so you could see them.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Haggle1996/RevolutionPack/issues/462#issuecomment-229960802, or mute the thread https://github.com/notifications/unsubscribe/ABq2mLZcu8kJYCroL197BVL7Wbg3hU1_ks5qRSOIgaJpZM4I34v2 .
Pregenarating the world, at least with the PregenSpawn command does not generate the HardOre slice data for the chunk and the sluice will think there are no more ores available on the chunk and produce nothing.
My pregenerated world has the HardOreData generated for the chunks around spawn that were generated normally. The chunks that were pegenerated have no HardOreData, even with ores in it.
Time to start a new world...