Commit Graph

127 Commits

Author SHA1 Message Date
Sebastian Hartte 3337eb9ae3 Merge remote-tracking branch 'origin/master' into fabric-1.16
# Conflicts:
#	build.gradle
#	core/src/main/java/appeng/block/AEBaseBlock.java
#	core/src/main/java/appeng/block/misc/TinyTNTBlock.java
#	core/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java
#	core/src/main/java/appeng/fluids/util/AEFluidStack.java
#	src/main/java/appeng/core/AEConfig.java
#	src/main/java/appeng/core/api/definitions/ApiItems.java
#	src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java
#	src/main/java/appeng/entity/TinyTNTPrimedEntity.java
#	src/main/java/appeng/tile/storage/DriveBlockEntity.java
2020-06-29 21:35:34 +02:00
Sebastian Hartte 0d63f560d3 More moves and compilation fixes 2020-06-29 02:15:31 +02:00
yueh 6bbea481b8 Grid connections to the front of a drive are no longer valid. 2020-06-28 19:35:19 +02:00
Sebastian Hartte f5412152a4 Utils ported 2020-06-28 15:47:44 +02:00
Sebastian Hartte 46955643b9 Utils ported 2020-06-28 13:28:14 +02:00
Sebastian Hartte fee5b7fdfc Utils ported 2020-06-28 03:41:44 +02:00
Sebastian Hartte 37ce6b262e Fabric port in progress 2020-06-28 00:45:33 +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 26bb08ddb5 Post-Rename Formatting Fixes 2020-06-22 13:25:38 +02:00
Sebastian Hartte b4471b1abb The Great Renamening of 2020 2020-06-22 13:21:23 +02:00
yueh fe215f0a91 Code Cleanup 2020-06-19 16:09:06 +02:00
yueh 5225ea426b pick 97420a31d The big reformat of 2020 2020-06-16 21:45:35 +02:00
Sebastian Hartte d50dcc31fa Working on drive design.
Several particle crash fixes.
2020-06-15 22:20:29 +02:00
Sebastian Hartte fd7ed5bbf0 GUI Refactoring and consolidation 2020-06-14 18:00:02 +02:00
Sebastian Hartte 3989dbd860 Interpolate sky-chest lid angle (like vanilla does)
for smoother opening and closing.
2020-06-14 00:52:36 +02:00
Sebastian Hartte b2afa0398c More Rendering fixes 2020-06-08 18:36:03 +02:00
yueh 23b6e195ac Revert using internal API 2020-06-07 17:21:20 +02:00
Sebastian Hartte 46b1d1ffdc GUI Rendering and various fixes 2020-06-07 03:29:57 +02:00
Sebastian Hartte ff042a394b All GUI compile errors fixed, switched to excludes over includes in gradle build and lots, LOTS of more fixes. 2020-06-06 21:16:05 +02:00
Sebastian Hartte c402390282 Compiles again. 2020-06-04 19:58:58 +02:00
Sebastian Hartte 237463dd94 Lots of compile fixes 2020-06-04 03:02:48 +02:00
Sebastian Hartte 3e78c713d1 Moved open method to Sky Chest Container. 2020-06-02 18:57:05 +02:00
covers1624 19cdea7eb5 Move from ByteBuf to PacketBuffer 2020-06-02 11:07:46 +09:30
Sebastian Hartte 9f63859769 Work on GUIs (specifically to get SkyChest GUI) 2020-06-02 02:14:09 +02:00
Sebastian Hartte 271e8889a1 Sky Chest TESR / Tile Entity Registration Changes 2020-06-01 21:59:08 +02:00
covers1624 dffea9a167 More compile things 2020-06-01 22:17:34 +09:30
Sebastian Hartte 5cdeff01be Custom Model Loader 2020-06-01 04:02:37 +02:00
Sebastian Hartte 077ff17078 More stuff ingame and showing up. 2020-06-01 01:01:32 +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 78e1126c38 Fixes #3814: IO Port no longer put to sleep on load when having work. (#3816) 2018-11-11 11:52:13 +01:00
yueh a2091d10fe Code cleanup
Added missing this, annotations, etc.
2018-08-30 20:33:08 +02:00
yueh 66c365d11f Code Formatting 2018-08-30 20:31:27 +02:00
fscan e5f43bf315 Allow ME Chest to work with any cell (#3640) 2018-08-01 00:17:43 +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
fscan eb4caaa688 Priority GUI improvements (#3592) 2018-07-08 16:41:37 +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
yueh 87999dbf27 Moved FluidList to fluid package (#3568) 2018-06-27 20:28:29 +02:00
yueh 7956872d1d Reworked IO Port to handle StorageChannels better. (#3284)
* Reworked IO Port to handle custom StorageChannels in a better way.
* Added a transferFactor to `IStorageChannel` to allow addons to speedup the IO Port to transfer faster. E.g. 1000 mB fluid as fast as transfering 1 bucket (item) per operation, not just 1 mB. 
* Also some changes to avoid moving fluids being 1000x as energy expensive as items.
2017-12-21 19:12:45 +01:00
fscan cc9b33b473 Implement Advancements (#3160)
Improvements welcome.
2017-10-20 23:54:18 +02:00
fscan 4f07b63b13 API cleanups (#3155)
* Remove obsolete api and fix some warning
* Move MEMonitorHandler to internal code and fix some warnings
* Rename exceptions to conform to naming scheme
2017-10-14 14:15:28 +02:00
yueh ab7f35a9ee Further StorageChannel refactoring (#3152)
Updated Drives to support more than Item and Fluid cells.
Use Collections.emptyList() instead of creating empty ArrayLists.
Fixes a NPE with uninitialized ME Chests.

Fixes #3150
2017-10-14 14:12:24 +02: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 548af3c6cc Use standard inheritance to propagage NBT events (#3058)
* Remove the old annotation system
* Use TileEntity#onLoad instead of onChunkLoad event
* Do not call invalidate in onChunkUnload and validate in onLoad
2017-08-28 09:34:09 +02:00