Commit Graph
149 Commits
Author SHA1 Message Date
firenoo d2df9beb31 Fix fluid export bus voiding fluids on crafting only mode (#120)
The Fluid Export Bus was voiding fluids on craft only mode because it
tried to craft it, and decided to continue with the normal export logic:
Extract fluid from ME system and fill the tank.

Unfortunately, there was a condition that prevented the extracted fluid
from going anywhere depending on craft only mode, so it got voided.

Commit fixes this by skipping the normal extract logic if set to craft
only.

The amount must be simulated before extracting from the ME system. This
helps prevent a scenario where we cannot insert the fluid back (such as
when we have a fluid storage bus on Extract Only).

Signed-off-by: Firenoo <49818773+firenoo@users.noreply.github.com>
2023-05-01 19:43:07 +02:00
firenoo dab5a0dbf3 Add mappings for most important Extra Cells items (#115)
* EC2 deprecation: Part 1 - Items

Laying the groundwork for absorbing EC2 mappings.

* EC2 deprecation: Part 2 - Blocks

* EC2 Deprecation: Part 3 - Parts

Parts are deprecated.

* set config "replaceEC2" to default true

* API changes to make room for Extra Cells fluid placeholder

* Finish basic item replacement code

- parts work
- items are remapped properly, and converted when they enter the player inventory

* Fixed some storage cell conversion issues

The placeholders did not transfer NBT data properly

* Add handlers for deprecated item cells

Now the placeholder should work automatically in a drive.

The void cell is still a WIP.

* Add more tooltip help and cell handler for void cell

* apply spotless

too lazy to rebase
2023-05-01 19:42:52 +02:00
firenoo 6090f198e6 Allow all 63 partition items to be used for fluid cells (#121)
Previously, only one partition item was allowed. This fix will have
the cell consider all 63 slots. If you configure more than 1 or 5
cell slots, it works as expected - up to 1 or 5 of the whitelisted
fluids can be stored at a time.

This will degrade performance slightly.

Signed-off-by: Firenoo <49818773+firenoo@users.noreply.github.com>
2023-05-01 19:38:07 +02:00
firenoo c29f8cf846 Fix FluidContainerRegistry interactions w/ Certus Quart Tank (#122)
The Certus Quartz Tank previously did not consider the
FluidContainerRegistry API for fluid containers, so fluid containers
that implemented that (like ic2 cells) were voided when filling the
tank.

Signed-off-by: Firenoo <49818773+firenoo@users.noreply.github.com>
2023-05-01 19:37:53 +02:00
firenoo 508f6e5d64 Add null check when determining potential tanks to import (#116)
It seems that implementers of IFluidHandler sometimes return null
in `getTankInfo()`, so this adds a check for that before doing the
bus work.
2023-04-26 21:14:40 +02:00
firenooandMartin Robertz e1b3f20078 Network throttle: Force ME update packets to be sent once every N ms. (#110)
* Network throttle: Force ME update packets to be sent once every 50ms.

1. Item and fluid packets are separated to their own classes, as they are
not even allowed to be mixed together in the first place. This will enforce a strict
separation of the two.

2. New network worker thread for handling ME inventory updates. Instead of
creating packets directly, classes should schedule packet(s) to be sent at the
next 50ms boundary. The packet has a limit of 256 items to prevent killing the
client, but this can be changed in the config. In fact, the packet send rate is
also configurable.

3. Upon opening a terminal GUI, ME update packets are split. Only the last received
packet will trigger a terminal sorting, so if the ME system is large, it may take
several seconds (!) to load all the items.

* Update SPacketMEFluidInvUpdate.java

---------

Co-authored-by: Martin Robertz <dream-master@gmx.net>
2023-04-01 14:04:39 +02:00
firenoo 9c2ef02383 Split packets when sending items over network (#107)
Packets are now split into smaller chunks when sent. The packet
size is adjustable in the config.
2023-03-23 17:14:14 +01:00
Raven Szewczyk 6a244c12c4 Add unlocalized names to fluid drops&packets (#105)
Previously they were null.

Fixes <https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/12874>
2023-03-14 21:04:56 +01:00
asdfljandRaven Szewczyk b9724d9369 fc terminal add type filter (#98)
* fc terminal add type filter

* Update dependencies.gradle

---------

Co-authored-by: Raven Szewczyk <git@eigenraven.me>
2023-03-12 20:25:42 +01:00
GlodBlock 0a01bb008b fix gl crash 2023-03-03 20:27:02 +08:00
GlodBlock 18f31ac3ef fix export bus exporting too much fluid 2023-03-02 16:46:35 +08:00
asdflj 6505967826 add fluid packet check 2023-02-28 09:06:06 +08:00
asdflj 78e9291fc6 Certus Quartz Tank add waila support
fluid packet decode add support to use conduit to export fluid
2023-02-27 16:50:29 +08:00
asdflj ebf5a23ab9 fluid export bus add schedule mode 2023-02-26 10:46:55 +08:00
GlodBlock 161e38cbda fix fluid dupe from simulate drain 2023-02-25 22:06:29 +08:00
asdflj acfb5b1d48 add universal terminal more tips 2023-02-24 16:30:39 +08:00
asdflj 7438c7075c fix can't be display in network details 2023-02-24 09:40:21 +08:00
asdflj bc053b2690 fix fluid storage bus crash 2023-02-20 18:19:47 +08:00
asdflj aef677868b add hotkey and baubles support 2023-02-17 22:34:06 +08:00
asdflj 09c1c49529 pattern terminal add auto fill blank pattern 2023-02-17 12:04:11 +08:00
GlodBlock 0734dc4d0b add fluid name in certus tank name 2023-02-14 12:34:32 +08:00
GlodBlock a5f7d8bed2 fix wireless terminal not usable at server 2023-02-13 14:59:31 +08:00
GlodBlock 4f54c9bb28 add 5 type fluid cell 2023-02-12 20:12:23 +08:00
GlodBlock 96c7032523 add fluid cell housing 2023-02-12 19:04:04 +08:00
asdflj f7001d205e fix bug 2023-02-12 15:54:35 +08:00
asdflj eb293ceb63 add ME Fluid Quantum Storage Cell
add ME Fluid Digital Singularity Storage Cell
2023-02-11 21:57:05 +08:00
asdflj 56b8683686 update wireless interface recipe 2023-02-10 16:19:34 +08:00
asdflj 5ada5ddec3 add Wireless Pattern Terminal Ex 2023-02-09 15:40:14 +08:00
asdflj d2c420d193 add wireless interface terminal 2023-02-08 12:07:15 +08:00
asdflj c2ccede395 Switching terminal does not blink 2023-02-06 16:56:10 +08:00
asdflj 92213031f8 fix bug 2023-02-05 18:12:58 +08:00
asdflj f81fab984a update 2023-02-05 15:06:06 +08:00
asdflj 1bbc575f6e spotless apply 2023-02-05 01:59:57 +08:00
GlodBlock c1b2400549 fix bugs 2023-02-05 01:03:59 +08:00
GlodBlock f22bebbf21 wireless crafting terminal 2023-02-04 18:27:16 +08:00
GlodBlock 513af871aa wireless universal terminal 2023-02-03 22:38:33 +08:00
asdflj a8155c8b17 fix when open the auto filler, always to try update pattern
add using exists item to fill pattern slot
2023-02-02 11:13:59 +08:00
GlodBlock dadf2784a8 fixes 2023-02-01 21:15:44 +08:00
asdflj 8081eb2c2c all done? 2023-02-01 16:25:42 +08:00
asdflj 5ea7f44058 Merge remote-tracking branch 'origin/bookmark' into bookmark 2023-01-31 15:51:29 +08:00
asdflj 7f53e01184 add wireless fluid pattern terminal 2023-01-31 15:50:45 +08:00
GlodBlock 2eb1854eda network update flag 2023-01-31 10:49:19 +08:00
asdflj a22814940b add wireless fluid terminal 2023-01-30 22:52:25 +08:00
GlodBlock 482298021e tank 2023-01-30 18:07:57 +08:00
asdflj 99f8e98017 spotless apply 2023-01-29 16:30:27 +08:00
Yang Xizhi 1f6dc04a71 Merge branch 'master' into bookmark 2023-01-29 14:25:51 +08:00
asdflj bad29bfdc3 add certus quartz tank 2023-01-29 14:21:56 +08:00
Jason Mitchell 69a5c0e6ee [ci skip] spotlessApply with the new settings 2023-01-28 17:43:10 -08:00
GlodBlock 80340dbd75 add portable fluid cell 2023-01-28 23:15:33 +08:00
asdflj 44ff338023 add fluid auto filler 2023-01-28 20:47:10 +08:00