phantamanta44 / Lazy-AE2

the stuff you wish was in ae2
https://minecraft.curseforge.com/projects/lazy-ae2
Other
13 stars 14 forks source link

Me Level Emitter display flickering and showing wrong values #53

Open Rubijox opened 2 years ago

Rubijox commented 2 years ago

i've come across 2 separate issues with values displayed in the me level maintainer First is the numbers randomly flickering, with no input from me Second is , every time i open the gui of a level maintainer, the values of the previously opened maintainer gets displayed instead of the ones from the maintainer i just right clicked

Gui flickering: https://user-images.githubusercontent.com/32174232/136659484-3c09b333-5c63-4bce-8245-962b84e0343b.mp4

Gui showing wrong value: https://user-images.githubusercontent.com/32174232/136659646-73493c79-c5ab-464a-9620-63aaaa0d4af2.mp4

IGalat commented 2 years ago

Seconding this.

I'm using the mod with Omnifactory modpack(dev version).

I think flickering is due to other Level Maintainers activating request of a new craft.

Example: Set LevelMaintainer1 slot1 to 10k stone with batch 2k, slot2 to 5k gravel 1k batch Set LevelMaintainer2 slot2 to 100k sand with batch 20k, slot3 to 50k sandstone 10k batch Then go to newly set LM3 and open GUI. If at this point LM1 decides to order stone, you'll see numbers being changed to: 10k 2k 5k 1k 0 1 0 1 0 1 So basically all numbers for LM1. Then let's say LM2 decided to order sand, or sandstone - doesn't matter. You'll see: 0 1 100k 20k 50k 10k 0 1 0 1 Again, correct numbers for LM2. The initial numbers for LM3 don't matter. The icons are fine, as are numbers near them(in the bottom right of icons). Only editable numbers are affected.

This is huge. Once you start automating and those LMs start ordering, you basically can't edit any values anymore.

As a side note - could you please add another digit or two to LM GUI numbers? If users set ludicrous amounts, it's on them. And I use ae2fluid crafting, that has "drops" items that are only 1mB each, so I can only have up to 999 buckets, which is not ideal:)

phantamanta44 commented 2 years ago

i think i've worked out what's going on, but i'm really busy with grad school applications for a bit. i'll try to get a patch out in maybe a week or two.

IGalat commented 2 years ago

Could you point me to a class/line? I'll make a PR

phantamanta44 commented 2 years ago

should be the sync packet handler in the level maintainer tile entity class. i think i probably forgot to check if the open level maintainer gui is the correct one for that tile entity

IGalat commented 2 years ago

Whew, setting it up to do anything was a pain and a half. I had to change build.gradle all deobfCompile to implementation; add maven { url 'https://jitpack.io' } for ae to download; and libnine didn't want to download period, so I had to clone it as welll, and there was some weird-ass version of forgeGradle that I had to change to 2.3 to match what's here. libnine also has 1.2.1 but dependency is for 1.2.0 Then I "gradle install" it, and added jar manually in Project Structure to Lazy. (coulda just downloaded the jar from curse) And then in GuiLevelMaintainer and GuiBigAssembler method drawSlot has private access and @Override did not apply, as well as super.drawSlot being not available.

Don't know how much of it was my inexperience with mods.

I'll probably do more than fix this - here are a couple of things I wanted to change as well: Remove number in slot, it's redundant as you have a number in a field near it Make jei ghost item pull onto LM slots Add a couple of digits max to numbers, so it goes not to 10^6 max but to 10^8 or ^9 Remove checkmarks and have numbers instantly registering when user inputs them Making Enter go to next line(batch1 to batch2, qty1 to qty2), Tab to next entry(so to batch1 from qty1, or qty2 from batch1) On moving to a text field, select everything in it. So you don't have to delete a number to enter another one Typing "k" in a field will type 000, for easy thousands entering

Don't know which of these I'll implement, and which you'll want for the mod - I'll submit separate commits, feel free to cherry pick.

phantamanta44 commented 2 years ago

hey sorry, i got bogged down with work. i'll take a look at your work now

phantamanta44 commented 2 years ago

also, i have to apologize about the build script; i haven't worked on lazy ae2 in a while, so it's a bit outdated. i'll push an updated version after merging the PR

you're intended to compile libnine (and a custom build of forgegradle) for now. i plan on distributing them from my personal maven repo in the future, but i haven't had the chance to set it up yet

vadimas56 commented 1 year ago

When you update mod?

sjcl commented 1 year ago

I have created a mod to fix this issue 🙃 https://github.com/Team-Fruit/Lazy-AE2-Patch https://www.curseforge.com/minecraft/mc-mods/lazy-ae2-patch

vadimas56 commented 1 year ago

I have created a mod to fix this issue 🙃 https://github.com/Team-Fruit/Lazy-AE2-Patch https://www.curseforge.com/minecraft/mc-mods/lazy-ae2-patch

Thank you very much!