reobf / Programmable-Hatches-Mod

An addon for GTNH modpack(2.5.1+)
MIT License
47 stars 2 forks source link

Add new stocking for assembling line? #75

Open evgengoldwar opened 3 weeks ago

evgengoldwar commented 3 weeks ago

Maybe add a UV+ stocking for the assembling line, which will take the necessary items from the subnet itself, which would make it easier to build new assembling line without communication.

TimberDimber commented 3 weeks ago

I suggest trying something a little different: Add a special stocker for items/liquids, inside which you can specify the corresponding priority/channel and which will take items/liquids according to it. This would allow you to build an ass-line by placing only 20 stockers and copying their settings by data orb, as it became possible in 2.7.

reobf commented 3 weeks ago

Maybe add a UV+ stocking for the assembling line, which will take the necessary items from the subnet itself, which would make it easier to build new assembling line without communication.

'take necessary items' 'without communication', that sounds a little technically impossible... What you're talking about is more like an assembler doing Assline recipe.

reobf commented 3 weeks ago

I suggest trying something a little different: Add a special stocker for items/liquids, inside which you can specify the corresponding priority/channel and which will take items/liquids according to it. This would allow you to build an ass-line by placing only 20 stockers and copying their settings by data orb, as it became possible in 2.7.

Good idea! Too bad dataorb support should be manually implemented, or else dataorb simply skips unsupported hatches.... I'll implement this first.

TimberDimber commented 3 weeks ago

EvgenWarGold also asked whether it's possible to make all your dual inputs/slaves work similarly to how it was done with the original Stockings : as shown here Essentially, buss triggered instantly when an item enters the input, notifying the mech to start operating.

reobf commented 3 weeks ago

EvgenWarGold also asked whether it's possible to make all your dual inputs/slaves work similarly to how it was done with the original Stockings : as shown here Essentially, buss triggered instantly when an item enters the input, notifying the mech to start operating.

Actually it's already done. But only for the 'Buffered' versions and Slaves linked to those versions. The Buffered Dual Hatch will notify the multi when it detects and transfers items/fluid into its buffer. The Non-buffered Dual Hatch does not support this. (Non-buffered ver. is more like a simple combination of bus&hatch, there's no point scanning its inv(at the cost of server load) only to see if something changes, in my opinion.)

TimberDimber commented 3 weeks ago

@reobf It seems that Priority Filtering Stocking Input Bus does not save ntb. When you restart, all priorities set in them are reset. Otherwise, everything works fine, especially in conjunction with decoy stocking.

However, today I found another bug: Restricted Stocking seems to ignore any settings set in it. image image image image As shown in the screenshots - there is less salt in the network than set in it, but the electrolyzer starts processing and does this until there is 0 left and turns on every time there is an opportunity to process.

TimberDimber commented 3 weeks ago

Hatch work as must, but not item one

reobf commented 3 weeks ago

Fixed @TimberDimber https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p9-beta

TimberDimber commented 3 weeks ago

Fixed @TimberDimber https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p9-beta

'll check and let you know

TimberDimber commented 3 weeks ago

Fixed @TimberDimber https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p9-beta

Description: Exception in server tick loop

cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: gregtech/api/metatileentity/BaseMetaTileEntity
    at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:544)
    at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87)
    at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:314)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:117)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387)
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
Caused by: java.lang.NoClassDefFoundError: gregtech/api/metatileentity/BaseMetaTileEntity
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:440)
    at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: gregtech.api.metatileentity.BaseMetaTileEntity
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 29 more
TimberDimber commented 3 weeks ago

Looks like it for 2.6.1?

reobf commented 3 weeks ago

you are using mod with 'gtnh270'suffix on 270-beta-1 server right? Seems like some mixin issue... I'll check by myself hold on...

TimberDimber commented 3 weeks ago

Yep

TimberDimber commented 3 weeks ago

oh, sorry, my mistake

TimberDimber commented 3 weeks ago

Every time you make two release 270 beta and usual beta. Now I just miss it merged 😅

reobf commented 3 weeks ago

Well because the one for 270beta ver is quite unstable, it's complied with 261 deps and then simply replaces java constants. That's the only way to maintain mods under 261 and 270. Someone tell me its not necessary to do that... so I merge them.

TimberDimber commented 3 weeks ago

Fixed @TimberDimber https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p9-beta

Okay, Priority Stocking works great. But there is one small omission: when you build it, it displays priority "1" by default - but it does not see the Bus with this priority and you can only set it back to 1 by changing it to any other and only then returning it to 1

But this can be corrected later - when the recipe will added.

TimberDimber commented 3 weeks ago

Restricted fixed and fork as must. Tnx.

reobf commented 3 weeks ago

Fixed @TimberDimber https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p9-beta

Okay, Priority Stocking works great. But there is one small omission: when you build it, it displays priority "1" by default - but it does not see the Bus with this priority and you can only set it back to 1 by changing it to any other and only then returning it to 1

But this can be fixed later - when the recipe is added.

too lazy to add new release tag... I just re-uploaded the fixed ver

Now it can be 0 or neg

TimberDimber commented 3 weeks ago

'll check it later. At the moment everything is working perfectly.

TimberDimber commented 3 weeks ago

@evgengoldwar asked me next: Offer him a double AE output [item+fluid] on, say, zpm-uv and a little further wireless the same How do you look at this?

reobf commented 3 weeks ago

Dual ME output is not likely due to GT5 code limit Even if done with Mixin or Coremod,making it work on differet multis will be a torture. And its sure to break voiding mode rules. About Wireless... ae2stuff is enough?

TimberDimber commented 1 week ago

@reobf Is it possible to add usability Priority Card for Priority Stocking?

reobf commented 1 week ago

@reobf Is it possible to add usability Priority Card for Priority Stocking?

Such ‘priority’ is not regular ME Storage Priority, have to add it manually. Will add it in the next release.

reobf commented 1 week ago

@reobf Is it possible to add usability Priority Card for Priority Stocking?

https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p14-beta done

evgengoldwar commented 6 days ago

@reobf Is it possible to add usability Priority Card for Priority Stocking?

https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p14-beta done

Couldn't Decoy Stocking add a recipe update when items are hit otherwise they take a very long time to turn on (

evgengoldwar commented 6 days ago

And also is it possible to add ME Super Chest ability to take in a desired item from the whole ME like IO port ?

reobf commented 6 days ago

@reobf Is it possible to add usability Priority Card for Priority Stocking?

https://github.com/reobf/Programmable-Hatches-Mod/releases/tag/0.0.19p14-beta done

Couldn't Decoy Stocking add a recipe update when items are hit otherwise they take a very long time to turn on (

I didn't override the expidit check code, so it should notify the Multiblock Controller the same way as normal Advanced Stocking, are you sure it's not working? Or it might be caused by default 100 ticks interval of auto pull.

reobf commented 6 days ago

And also is it possible to add ME Super Chest ability to take in a desired item from the whole ME like IO port ?

1. 'desired' is hard to define. Like if it satisfies one Assline recipe?

2. Do you mean high priority of accepting specific type of item when item is injected into current ME Storage(for example via IO Port you mentioned or import bus), or gathering specific type of item from current ME Storage that is already stored (for example in ME Drive)?

If the former, use priority or sticky mode. if the later, it's not likely due to AE design.

TimberDimber commented 6 days ago

And also is it possible to add ME Super Chest ability to take in a desired item from the whole ME like IO port ?

'desired' is hard to define. Like if it satisfies one Assline recipe?

Do you mean high priority of accepting specific type of item when item is injected into current ME Storage(for example via IO Port you mentioned or import bus), or gathering specific type of item from current ME Storage that is already stored (for example in ME Drive)?

If the former, use priority or sticky mode. if the later, it's not likely due to AE design.

He mean next: add there button for push in/push out all items from/in ME. As example: chest bind for stone, in ME we have 1kkk stone. Push button and all stone from ME come in chest. So like I/O port, but without moving cell or use buses. And the reverse is similar - push all from chest to ME.

TimberDimber commented 6 days ago

And, if it's not too difficult and annoying, can you describe the use case for Item/Fluid Proxy. It's looks like replacement for storage bus for subnet, or there are something more?

reobf commented 6 days ago

And, if it's not too difficult and annoying, can you describe the use case for Item/Fluid Proxy. It's looks like replacement for storage bus for subnet, or there are something more?

The problem is this feature has to scan every Storage in current Network frequently(because the normal ME Storage access does not exclude the ME Chest itself). Just imagine two ME Chests trying to pushing items into each other.

reobf commented 6 days ago

Config in Item/Fluid Storage Bus provides only WRITING filter. Config in Item/Fluid Proxy provides READING filter.

Normally if want subnet to only read some types of item, you have to mark items in ME Interface. But the subnet can only read up to 64 tiems and those 64 items are not in the host net. Replace the ME Interface with Proxy and mark items ,then you can read all item you marked in host net.

TimberDimber commented 6 days ago

Config in Item/Fluid Storage Bus provides only WRITING filter. Config in Item/Fluid Proxy provides READING filter.

I didn't quite understand. Let's say I have the following structure: image

On the left is the interface that provides access to the main network, on the right is the storage bus, in which I specify which items it will see (if don't anything - it will see everything) image image

How will using a proxy be different instead of an interface?

reobf commented 6 days ago

2024-10-26_20 52 56 2024-10-26_20 53 00 2024-10-26_20 53 03 2024-10-26_20 53 06

reobf commented 6 days ago

Well that will not specify what you see, but what the storage bus can put into the target. not sure... it works this way in 2.6.1 I will check in 270

TimberDimber commented 6 days ago

image image image image

TimberDimber commented 6 days ago

Well that will not specify what you see, but what the storage bus can put into the target. not sure... it works this way in 2.6.1 I will check in 270

oh... yes. it's 270 feature

TimberDimber commented 6 days ago

https://github.com/GTNewHorizons/Applied-Energistics-2-Unofficial/pull/553

This one

reobf commented 6 days ago

Good PR.The old behaviour of Storage Bus is weird.

TimberDimber commented 6 days ago

So, Proxy do exactly same?

reobf commented 6 days ago

exactly