Commit Graph

173 Commits

Author SHA1 Message Date
Florian Scandella dfb23fd9e7 Save changes in AppEngInternalAEInventory too. 2017-08-31 14:00:40 +02:00
Florian Scandella e9a8a8cdff always save changes when inventory changes.
should fix #3059
2017-08-29 23:21:08 +02:00
yueh ab89278274 Replaces old fluid handlers with the new capability based ones. (#2727)
* Changed ME Chest and P2P tunnels to use fluid capabilities.
* Renamed all occurrences of liquid to fluids.
2016-12-31 16:01:29 +01:00
yueh a14cf2204d Fixes anchor rendering (#2698)
* Fixes #2680: Use a shorter cable anchor model when blocked by a facade.
* Fixes #2664: Prevent anchors from creating intersection.

Replaced the simple List<ResourceLocation> for the static models with a
new container also indicating a solid part, which can be used to prevent
the creation of an intersection.
2016-12-14 22:37:10 +01:00
yueh db85419702 Restructured registry packages (#2703)
Moved larger registries together with their related classes instead of putting unrelated classes into the same package.
2016-12-14 22:35:52 +01:00
yueh eb1e86cacb Refactored GrinderRegistry. (#2644)
* Refactored GrinderRegistry.

Changed IGrinderRegistry#getRecipes to return an unmodifiable collection.
Added a way to remove recipes explicitly instead the internal list.
Added a cache to lookup recipes instead of iterating a list.

Renamed IGrinderEntry to IGrinderRecipe
Made IGrindRecipe immutable for easy caching.

Improved GrinderLogging and Exception Handling
JEI Workaround as it expects a List instead Collection.

* Added blacklist of explicit oredict names for the grindstone.

This can be used should the automatic recipe generation create unintended
loopholes.
2016-12-02 23:47:50 +01:00
yueh 887339f7b8 Removed ASMTweaker and replaced it with AT. (#2636)
Added appeng_at.cfg and updated build.gradle to correctly include the AT when building.
Deleted the now useless ASMTweaker.
Moved the coremod from package transformer to coremod as a better matching name.
Updated the old 1.7.10 code using reflection to drop it where forge or vanilla now exposes that functionality directly.
2016-11-26 14:08:10 +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
Sebastian Hartte 6df311c11a AE now accepts power via the legacy RF API (i.e. from Immersive Engineering). 2016-11-06 23:02:22 +01:00
shartte 0e7981d717 Cleaning Up Mod Integrations (#2581)
* Cleaned up unused Mod integrations other than for mods that are likely to be integrated soon.
* Introduced an easier Facade class to access mod integration abstractions (called Integrations).
* Removed the link between IntegrationType and integration abstraction. Integrations are now explicitly instantiated inside of IntegrationNode.
2016-11-06 20:23:14 +01:00
Sebastian Hartte 3a8d6d0bcd Simplified handling of rotations inside getCapability() for TileInscriber. 2016-11-05 23:33:24 +01:00
Sebastian Hartte 0ceb4765a2 Fixes #2580: The inscriber's rotation is not taken into account when returning the IItemHandler capability. 2016-11-05 23:27:52 +01:00
yueh 5328627d7a Fixes #2575: Removed ITickable from AEBaseTile
Removed TileEventType.TICK, use ITickable when really needed.
The few tiles needing to tick and are not a grid tile now implement ITickable.
Charger is no longer implementing ITickable.
2016-11-05 21:43:49 +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
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 d7d99c5e7e Fixes #2551: Prevent chunk rebuilds when drive is unchanged. 2016-11-01 11:22:35 +01:00
Sebastian Hartte 53c32cc296 #2527: Implements charging of tools via RF (Forge Energy) and Tesla. Tested with Tesla Essentials and EnderIO. 2016-10-30 02:38:20 +02:00
Sebastian Hartte 2972f0ddc8 Fixes #2528: World light level not being updated when light-level of cable bus changed after removing parts. 2016-10-30 01:41:03 +02:00
Sebastian Hartte 6e6e51dc20 Separated TileEntity and External Power Sink arguments to IC2 to emphasize that they don't necessarily need to be the same, and that a tile entity is required for IC2. 2016-10-28 22:58:19 +02:00
Sebastian Hartte 344958aefb Added IC2 integration. 2016-10-28 22:58:19 +02: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 7d3464abf9 Fixes #2500: Implement an IItemHandler that doesn't allow new items to be inserted if there's already an item in the slot, while not resetting progress. 2016-10-25 20:09:53 +02:00
Sebastian Hartte ec4bc86266 #2438: Added Tesla support with same conversion ratio as RF. 2016-10-20 00:13:45 +02:00
Sebastian Hartte 5578aba8c8 Removed unused imports as well. 2016-10-19 23:39:14 +02:00
Sebastian Hartte de3a4afac1 Removed unnecessary getCaps 2016-10-19 22:04:28 +02:00
Sebastian Hartte a72c97e666 #2438: Implemented forge energy capabilities. Removed other disabled energy units for the time being. 2016-10-19 20:57:59 +02:00
Sebastian Hartte c590e7f6e6 Fixes #2377: Paint blocks now render correctly. 2016-10-15 11:50:55 +02:00
Sebastian Hartte 7c8ee24f8c Renamed QNB's getConnections to make more sense. 2016-10-15 00:47:45 +02:00
Sebastian Hartte 7761a37d59 Fixes #2431: Implemented multi block rendering for quantum network bridge. 2016-10-14 22:59:14 +02:00
Sebastian Hartte 8df692053a Added JEI integration (#2436). 2016-10-08 13:06:21 +02:00
Sebastian Hartte 1d0606947b Added capability support to AEBaseInvTile. 2016-10-01 01:53:48 +02:00
Sebastian Hartte 754a1f1de3 Added super calls back in to re-enable attached capabilities. 2016-10-01 01:24:20 +02:00
Sebastian Hartte 882f240307 Implemented capabilities for cable buses in a way that dispatches the capabilities to the parts on the appropriate attachment point. Implemented the capabilities for interface parts and tiles to provide a proof of concept. 2016-09-30 23:53:54 +02:00
yueh 035dc244ff Added missing @Override annotations 2016-09-17 17:00:10 +02:00
yueh 93145750c0 Added missing file headers 2016-09-17 16:00:37 +02:00
yueh f185bc07a6 Capitalised enums to match conventions 2016-09-17 15:06:00 +02:00
Sebastian Hartte 653ba814cc Reverted debugging code. 2016-09-14 00:52:43 +02:00
Sebastian Hartte 7584d00681 Added crafting monitor item TESR (refactored out item rendering of that kind into a shared class).
Fixes server startup issues due to sidedness.
2016-09-14 00:50:02 +02:00
Sebastian Hartte 5b6ed0cfd0 First pass of implementing rendering for crafting cubes (#7) 2016-09-12 01:11:38 +02:00
Sebastian Hartte 7e027da804 Reimplemented cable and parts rendering. 2016-09-10 00:56:28 +02:00
Sebastian Hartte 7c4e810c8d Implemented a fix for #35 by implementing getUpdateTag / handleUpdateTag using the existing update package logic. 2016-08-26 23:25:48 +02:00
Sebastian Hartte 0316c1de58 Fixed broken name of TileStationSecurity -> TileSecurityStation 2016-08-26 13:51:38 +02:00
Sebastian Hartte 576923a2f2 Implemented the sky compass. 2016-08-26 13:07:37 +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
shartte e276aa682f Replaced all instances of Guava's Optional type with Java 8's Optional type, as discussed in #81. (#90) 2016-08-26 12:42:21 +02:00
shartte 66df324ef0 Implemented interface states and models (#66)
* Implemented interface states and models.
2016-08-26 11:09:49 +02:00
elix-x 3b7d1685c5 Fixed cable connections rendering, other fixes
- Fixed cable connections rendering to parts and other tiles.
- Fixed facade & anchors rendering.
- Many other parts related bug fixes.
2016-08-20 17:15:02 +02:00
elix-x d7f32a985d Cables & parts and Baking pipeline
- Added cables & parts rendering.
- Facades got a completely new way of rendering. Anvil facades are
totally a thing.
- Added baking pipeline for simplified, highly configurable quad baking.

NOTE: Yes, there are a lot of improvements to do, bugs to fix, stuff to
add. I'm just pushing it prior to code structure change, so it does not
get lost in stashes. But it actually works!
2016-08-19 22:46:13 +02:00
shartte 026de7d590 Energy Cell Item Models (#44)
* Added energy cell item models.

* Removed the client-side only interface and moved to a method in AEBaseBlock instead.
2016-08-16 15:38:53 +02:00
elix-x 524dc52dd6 Moved F2R, added TESRs, fixed culling
-Externalized FacingToRotation.
-BlockLightDetector now uses tile based rotations.
-Added TESR methods and TESRs for chests. Can't get it to work in
inventory.
-Fixed rotation bugs involving culling and lighting. Now rotating culled
faces and normals too. Closes #21.
Relates to #9, #10 and #20.
2016-07-11 15:38:54 +02:00