Commit Graph

104 Commits

Author SHA1 Message Date
Sebastian Hartte fee5b7fdfc Utils ported 2020-06-28 03:41:44 +02:00
Sebastian Hartte b79cd732b2 Fabric port in progress 2020-06-27 23:25:38 +02:00
Sebastian Hartte 80fbb58d4f API compiles 2020-06-27 18:09:44 +02:00
Sebastian Hartte ba71a82288 Migrations 2020-06-27 16:18:20 +02:00
yueh cb62d3a706 Refactored how cell state is exposed (#4422)
Replaced fuzzy ints with a well defined enum
Moved API related cell interfaces to a new subpackage
Introduced a new client helper method to register a cell texture for a storage channel
Added a method to obtain the storage channel for a drive or chest slot
Added a new cell state for cells with stored items but neither types nor completely full
2020-06-22 22:18:41 +02:00
Sebastian Hartte b4471b1abb The Great Renamening of 2020 2020-06-22 13:21:23 +02:00
Sebastian Hartte 2f8cffdd93 Fix several bugs with fluids (null vs. EMPTY).
Fix IAEFluidStack NBT serialization.
Fix fluid export bus not exporting.
Fix fluid formation planes.
Fix fluid annihilation planes.
2020-06-20 00:45:47 +02:00
yueh 5225ea426b pick 97420a31d The big reformat of 2020 2020-06-16 21:45:35 +02:00
yueh 23b6e195ac Revert using internal API 2020-06-07 17:21:20 +02:00
Sebastian Hartte c402390282 Compiles again. 2020-06-04 19:58:58 +02:00
covers1624 3f5c299d09 More compile things 2020-06-02 15:12:30 +09:30
Sebastian Hartte 5cdeff01be Custom Model Loader 2020-06-01 04:02:37 +02:00
Sebastian Hartte ec3b464655 Some additional fixes from other branch. 2020-05-31 16:13:07 +02:00
yueh 16d6d55d7f 1.15 port 2020-05-18 14:02:45 +02:00
yueh 41a4518c5b Fixes #4005: Persist cell after cleanup. (#4009) 2019-04-21 22:30:45 +02:00
yueh 7daad58607 Fixes #3742: Do not use storableInStorageCell() to identify generic c… (#3743)
Annotated IStorageCell with Nonnull where appropriate.
2018-09-28 17:38:08 +02:00
yueh a2091d10fe Code cleanup
Added missing this, annotations, etc.
2018-08-30 20:33:08 +02:00
fscan c1c7e94cf6 Generic ICellInventoryHandler (#3624)
Allows addons who register a custom IStorageChannel to use the IStorageCell interface without registering a cell handler. Also adds some helpers (poweredInsert/poweredExtract).
This breaks API!
2018-07-22 19:20:47 +02:00
fscan e809c688df Performance improvements for saveChanges() and ICellInventory (#3586)
API break!
Fixes #3553
2018-07-14 16:53:49 +02:00
Brock 7fe7f4b1c2 Fixed unnecessary cell saving when cell is full (#3611) 2018-07-14 16:30:33 +02:00
fscan 2182b6e37c Add fluid GUI to me chest, fixed some warnings while at it. (#3579)
Fixes #3555
2018-07-04 19:14:34 +02:00
fscan c2d18ce013 Added ME Fluid Interface (#3564)
* Fixed fluid storage bus json recipe
* Added part version and recipes
* Added rudimentary gui
2018-06-27 20:04:30 +02:00
Florian Scandella edc0cef2bb Fixes #3449: Fix CellInventory to not mess with the item definition 2018-06-20 23:13:07 +02:00
Brock d16677224a Initial Fluid Integration (#3510)
* Added Fluid Storage Cells

* Added Fluid Import Bus

* Added Fluid Export Bus

* Added Fluid Storage Bus

* Added Fluid Terminal.
While holding a item with the FLUID_HANDLER_ITEM_CAPABILITY, such as a tank
Left click on a fluid to extract the fluid
Right click to insert the fluid
2018-06-11 19:55:33 +02:00
yueh 2894a7caa0 Replaces all custom number comparisons with java provided ones. (#3434) 2018-05-27 21:33:59 +02:00
yueh d7b97fa7b8 Replaced LinkedList with ArrayList or ArrayDeque when applicable. (#3392) 2018-05-27 21:15:50 +02:00
yueh 59af05aeb1 Fixes #3417: Avoid creating ItemStacks when injecting them into a cell. (#3418) 2018-03-08 16:38:00 +01:00
yueh eed4776c6f Fixes #3389: Prevent inventory cache from becoming unmatched. (#3390)
Use slightly faster ArrayDeqeue instead of LinkedList.
Check boolean fields before more complex datatypes
2018-02-17 19:10:09 +01:00
yueh 6e81f698c0 Refactored StorageChannel enum into an interface (#3138)
This replaces the static enum with a more dynamic interface providing
factory methods for handling network storage.
2017-10-08 17:59:30 +02:00
fscan 1e15b23506 Rework AEItemStack (#3091)
* Use itemstack as itemdef
* HIGH_TAG/LOW_TAG should be compared both directions
* Remove getTagCompound
* Make Itemlist implementation independent
* Cache item id for performance reasons
* Add preconditions to saveguard against external meddling
* Chache itemDamage
* Remove IAEStackSearchKey for now, rename getDisplayStack
2017-09-30 17:18:30 +02:00
yueh 970630a90d Refactored the BaseActionSource (#3063)
* Refactored the BaseActionSource

It now uses an interface `IActionSource` instead of a concrete class and further
subclasses. 

Instead of relying on a specific class for a certain action type, it now
uses methods with Optional as return values to determine a player or
machine issuing an action. Refer to the JavaDocs for the exact behaviour.

* `IActionHost` no longer extends `IGridHost`

It never used the additional functionality and if needed the `IGridNode`
will also provide a reference to the corresponding `IGridHost`.

Due to most crafting related GUIs being hardcoded to `IGridHost`, 
they no longer work when `IActionHost` is not extending it. Actually
`IActionHost` is the better solution for it, as it prevents us from looking
the grid up via the `IGridHost` and potentially finding a wrong grid.

* Interfaces now only lock the currently worked slot.

This allows `DualityInterface#onChangeInventory` to update slots of the same interface, should they be the source for a requested item and therefore updating their working set accordingly to queue further crafting requests for unfulfilled stack requirements.
2017-09-12 11:39:00 +02:00
fscan 52d28fabe3 Use IItemHandler instead of IInventory internally (#2971)
* Use IItemHandler instead of IInventory internally
2017-07-28 22:04:32 +02:00
fscan c97165cc63 Fix NPE in MEMonitorIInventory.onTick (#2972) 2017-07-22 21:24:19 +02:00
yueh 15582fd1df Always use qualified access for fields and methods 2017-07-20 21:27:22 +02:00
yueh 7de90ed0ae Finally use Java7 <> 2017-07-20 21:21:45 +02:00
yueh 621910df91 Format sourcecode 2017-07-20 21:17:10 +02:00
Gunther De Wachter 61b81fc802 Fix facade recipes. Hopefully the last null check fix. 2017-06-27 20:39:06 +02:00
Gunther De Wachter da5879b667 First batch of null -> isEmpty() checks.
I most likely still missed a ton of checks...
2017-06-26 05:15:25 +02:00
yueh ed9e6dd21c Port to 1.11 2016-12-21 20:38:36 +01:00
yueh fb79fd284d Replaced Watcher using Collection with a more fitting interface (#2693)
Replaced the watchers for energy, storage and crafting with a more fitting interface compared to a common collection.

Fixes #229
2016-12-14 18:30:49 +01:00
yueh a665200c31 Refactored AEConfig (#2633)
Added a singleton getter instead the public field.
Reduced all fields to private.
Replaced field access with getters.
Added setters where necessary (Dimension/Biome Registration)
Added config options to disable more features.
Splitted Enum name from the config key.
Changed FacadeConfig and Networkhandler similar to AEConfig.init().
2016-11-26 14:07:34 +01:00
yueh fe1a67ffaa Reduced drive update rate. (#2574)
Limits drive updates to modulate.
Code cleanup of the TileDrive.
2016-11-05 19:28:09 +01:00
shartte 4253d659f1 Add Config to Remove Crashing Items from Storage Cells (#2573)
Added a configuration option to enable players to recover their world if any of their items in storage cause crashes on load.
2016-11-05 13:50:54 +01:00
yueh 005392911d Fixed DriverWatcher constantly calling blinkCell instead when changed. 2016-11-05 00:11:02 +01:00
yueh 1e20086799 Extracts item comparison from Platform into their own helper. (#2555)
* Extracts item comparison from Platform into their own helper.

Renamed methods to be more more fitting for the actual comparison.
Added documentation about each methods behaviour.
2016-11-04 09:27:52 +01:00
yueh a3c33d5323 Fixed typo in prioritylist. 2016-11-01 16:15:05 +01:00
shartte b977ee89ee Remove External Storage Handler (#2417) (#2508)
* Implemented an adapter for IItemHandler so it can be used by the Storage Bus.
* Added update hook for inject/extract to ItemHandlerAdapter.
* Implemented ItemHandler and FluidHandler capabilities for the condenser, as replacement for the Void Inventories.
* Removed external storage handler, added capability-based way of accessing a monitorable ME network via the storage bus. Removed special case inventories for the matter condenser.
* Implemented InventoryAdaptor for IItemHandler. This also now fixes molecular assemblers interaction with part interfaces.
2016-10-26 22:58:23 +02:00
Sebastian Hartte 0316c1de58 Fixed broken name of TileStationSecurity -> TileSecurityStation 2016-08-26 13:51:38 +02:00
Sebastian Hartte c0b0687fd3 Makes naming of security station related classes/assets consistent with registry name. 2016-08-26 12:42:21 +02:00
yueh f84b9a7e1d All parameters on one line (for now)
Easier picking of 1.7 changes
2016-01-01 02:02:05 +01:00