Skip to content

Adapt crafting calculator & crafting cpu & patterns for work with fluid directly #752

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 316 commits into
base: master
Choose a base branch
from

Conversation

lc-1337
Copy link

@lc-1337 lc-1337 commented May 16, 2025

This makes crafting calculator, crafting cpu and patterns work with actual fluid instead of trick with conversions fluid to item with discretizer. Since other components of system not ready for that, for compitability i used convertation in/out drops.
Interfaces are not changet. They should work as before.

In future all machines/terminal will be changed too, for work with actual fluid.

My goal is add full fluid support in AE and remove it from ae2fc, this will significantly improve adding new features. Because will not need to copy paste/adapt code for ae2fc.

For not make PR too big and for ease plans/tests/bug fix, for conversation about sensitive things about machines/terminal etc. I split changes in time and space, so changes will applied piece by piece.

Some road map:

  1. this pr
  2. Implement fluid support to exist terminals/machines, deprecation ae2fc terminals. Patterns changes, rn we have regular pattern in ae2 and fluid pattern in ae2fc, after this step we will have crafting pattern and regular pattern both in ae2. Long patterns.
  3. ???
  4. profit

I also used convertation for write NBT, so this should be reversible without break world.

I also removed v1 calculator.

req: GTNewHorizons/AE2FluidCraft-Rework#293

serenibyss and others added 30 commits April 19, 2025 10:51
NOT COMPLETE

TODO:
Implement the config so it is used by MeteoritePlacer.java
…s for each dimension

Created JSON config for meteorite loot tables for each dimension

NOT COMPLETE

TODO:
Implement the config so it is used by MeteoritePlacer.java
display scheduled reason
remove duplicate
  No more manual deserilazation on JSON creation.
  Switched to the instance variable for certain methods.
Moved to a 2d arraylist object based Entry Map:
   Allows for multiple unique loot tables in one dimension.(is essentially the opposite of an exclusive group)
   Reworked all methods to support the 2d array.
   Removed unnessecary methods.
   Loot tables are selected based on total entry weight.
Cleaned up AEJSONEntry.java
   Added another constructor
   Added itemstack accessor method
Fixed file creation on initlization event
Completed chest loot creation in MeteoritePlacer.java
   Disabled old loot placement (will be removed before final push)
   Added general functionality as expected from the JSON.
   Needs further testing to confirm that all works well.
Cleaned up AEJSONConfig.java:
  No more manual deserilazation on JSON creation.
  Switched to the instance variable for certain methods.
Moved to a 2d arraylist object based Entry Map:
   Allows for multiple unique loot tables in one dimension.(is essentially the opposite of an exclusive group)
   Reworked all methods to support the 2d array.
   Removed unnessecary methods.
   Loot tables are selected based on total entry weight.
Cleaned up AEJSONEntry.java
   Added another constructor
   Added itemstack accessor method
Fixed file creation on initlization event
Completed chest loot creation in MeteoritePlacer.java
   Disabled old loot placement (will be removed before final push)
   Added general functionality as expected from the JSON.
   Needs further testing to confirm that all works well.

TODO: TEST BEFORE FINAL PUSH
TODO: FINALIZE DEFAULT LOOT. MAKE IT SIMILAR TO OLD LOOT. (BUT BETTER)
Reworked defaults
DO NOT WORK YET

Added OreDictionary Support
Modified getItemStack method to return a list of ItemStacks
Made dimensions that are not a part of the config use the currently set overworld config rather than the default one.
# Conflicts:
#	src/main/java/appeng/core/AEJSONConfig.java
#	src/main/java/appeng/core/AEJSONEntry.java
#	src/main/java/appeng/worldgen/MeteoritePlacer.java
Dream-Master and others added 15 commits June 3, 2025 22:01
# Conflicts:
#	dependencies.gradle
#	src/main/java/appeng/helpers/DualityInterface.java
#	src/main/java/appeng/items/storage/ItemBasicStorageCell.java
# Conflicts:
#	src/main/java/appeng/api/config/Settings.java
#	src/main/java/appeng/client/gui/widgets/GuiImgButton.java
#	src/main/java/appeng/core/localization/ButtonToolTips.java
#	src/main/java/appeng/core/sync/AppEngPacketHandlerBase.java
#	src/main/resources/assets/appliedenergistics2/lang/en_US.lang
#	src/main/resources/assets/appliedenergistics2/textures/guis/states.png
…to dev

# Conflicts:
#	dependencies.gradle
#	src/main/java/appeng/client/gui/widgets/GuiImgButton.java
#	src/main/java/appeng/helpers/DualityInterface.java
#	src/main/java/appeng/items/storage/ItemBasicStorageCell.java
#	src/main/resources/assets/appliedenergistics2/lang/en_US.lang
…storage-inventory' into dev

# Conflicts:
#	src/main/java/appeng/helpers/DualityInterface.java
@Caedis Caedis removed the 🚧 Testing on Zeta Do not merge yet, testing this PR on Zeta label Jun 11, 2025
lc-1337 added 2 commits June 11, 2025 21:59
fix cost of crafting operation for fluids
fix npe with Ultra pattern with substation on
@Dream-Master Dream-Master added the 🚧 Testing on Zeta Do not merge yet, testing this PR on Zeta label Jun 20, 2025
lc-1337 and others added 11 commits June 20, 2025 22:57
…step

# Conflicts:
#	src/main/java/appeng/api/config/PinsState.java
#	src/main/java/appeng/api/config/Settings.java
#	src/main/java/appeng/api/networking/crafting/ICraftingCPU.java
#	src/main/java/appeng/api/storage/ITerminalPins.java
#	src/main/java/appeng/client/gui/AEBaseGui.java
#	src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java
#	src/main/java/appeng/client/gui/widgets/GuiImgButton.java
#	src/main/java/appeng/client/me/ItemRepo.java
#	src/main/java/appeng/client/me/PinSlotME.java
#	src/main/java/appeng/container/AEBaseContainer.java
#	src/main/java/appeng/container/implementations/ContainerInterface.java
#	src/main/java/appeng/container/implementations/ContainerMEMonitorable.java
#	src/main/java/appeng/container/implementations/ContainerStorageBus.java
#	src/main/java/appeng/core/localization/ButtonToolTips.java
#	src/main/java/appeng/core/sync/AppEngPacketHandlerBase.java
#	src/main/java/appeng/core/sync/packets/PacketPinsUpdate.java
#	src/main/java/appeng/helpers/DualityInterface.java
#	src/main/java/appeng/helpers/IPinsHandler.java
#	src/main/java/appeng/helpers/WirelessTerminalGuiObject.java
#	src/main/java/appeng/items/contents/WirelessTerminalPins.java
#	src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java
#	src/main/java/appeng/parts/misc/PartStorageBus.java
#	src/main/java/appeng/parts/p2p/PartP2PInterface.java
#	src/main/java/appeng/parts/reporting/AbstractPartTerminal.java
#	src/main/resources/assets/appliedenergistics2/lang/en_US.lang
#	src/main/resources/assets/appliedenergistics2/textures/guis/states.png
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚧 Testing on Zeta Do not merge yet, testing this PR on Zeta ongoing freeze - do not merge Not just a bug fix and thus affected by a current freeze for a upcoming version
Projects
None yet
Development

Successfully merging this pull request may close these issues.