Commit Graph

42 Commits

Author SHA1 Message Date
yueh a38ebf7c4d Fixes #3886: Initialise sleeping import bus in pulse mode. (#3887) 2018-12-26 23:28:17 +01:00
yueh a2091d10fe Code cleanup
Added missing this, annotations, etc.
2018-08-30 20:33:08 +02:00
fscan 71a9bb2532 Change storage/conversion monitor interaction. (#3613)
Fixes #1480
2018-07-14 16:40:20 +02:00
fscan a126112a2d Rework ImportBus (#3206)
Fixes #3201
2017-11-11 19:59:11 +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
yueh 15582fd1df Always use qualified access for fields and methods 2017-07-20 21:27:22 +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 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
Sebastian Hartte 7e027da804 Reimplemented cable and parts rendering. 2016-09-10 00:56:28 +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
elix-x 03aa59521c Removed old rendering system
Removed old rendering system. Some parts may be left over, but they
won't affect testing.
1.10-R todo tag marks things to do with rendering.
2016-06-29 12:22:18 +02:00
elix-x 05aa6972c4 Second update pass (2/3) - 82 -> 0 errors
Second update pass which fixes all compile errors. Some parts may have
aftermath effect, hence why 3rd pass will check those maked with
"aftermath".
Errors: 82 -> 0. Mod can be launched.
2016-06-21 11:03:10 +02:00
elix-x 5498eb6d7c First update pass (1/3) - ~1400 -> 82 errors
This is first update pass, which is mainly import reorganization, name
fixes, etc... Although some parts of second were done where changes
aren't important.
Errors: ~1400 -> 82.
2016-06-19 14:43:27 +02:00
thatsIch aff3941729 Make the project buildable with gradlew build by externalizing the model generator and expose it as an interface 2016-02-16 21:06:59 +01:00
yueh 99215e1701 Organized imports 2015-12-24 02:07:03 +01:00
yueh e94a0cfccf Reduces visibility of internal fields/methods
Reduces the visibility of all fields to private and create setters/getters
when necessary. Exceptions are fields with GuiSync as these need to be
public.

Reduces the visibility of internal methods to private/protected/default when possible.
2015-12-24 01:59:13 +01:00
thatsIch ebda927fb5 Add this qualifier 2015-09-30 14:26:54 +02:00
thatsIch 8b3a954f73 final variables and parameters 2015-09-30 14:24:44 +02:00
thatsIch 059523f543 Reduce scope of variables 2015-09-30 14:22:21 +02:00
yueh 97b7583ff2 Fixes incorrect handling of prioritized inventories
Prioritized inventories are not longer used twice for storing leftover
items and thus finally reporting twice the amount of storable items when
they are the only possible option to store something.

Also fixes import buses now respecting the amount of storable items inside
the network instead of trying to place the exported items back and failing
on any restricted inventory, potentially voiding the overflow.

Fixes #1892
2015-09-30 13:52:08 +02:00
yueh 67213462db Adds a round robin and random mode to export buses.
Resolves #85
2015-09-30 13:04:02 +02:00
thatsIch 28c30c44c5 Rename IRenderHelper to ModelGenerator 2015-06-22 18:16:25 +02:00
AlgorithmX2 38afde724b Most of the 1.8 Port. 2015-06-15 19:44:59 -05:00
thatsIch f193c2adc4 Replaces all method parameter regarding their naming conventions 2015-05-08 23:25:19 +02:00
thatsIch 64ed05a1b4 Puts everywhere brackets 2015-04-29 18:38:24 +02:00
thatsIch d34c988c88 Basic reformat, hit once, hope never again 2015-04-03 15:07:13 +02:00
thatsIch 9986ffc458 Fixes #675 No disabled feature should log spam or crash anymore.
Deprecates the old usage of the AEItemDefinitions via the direct method access of

* blocks()
* parts()
* items()
* materials()

and thus use the new re-direct via definitions().

All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.
2015-03-28 16:21:37 +01:00
yueh b18addbf37 remove trailing whitespaces 2015-02-03 12:04:13 +01:00
yueh 9b7b0fc0fb Organize imports 2014-12-29 21:59:05 +01:00
yueh f471513bd0 Changed access to use this qualifier 2014-12-29 15:13:47 +01:00
thatsIch 7505f9b66a Added copyright to all java files 2014-11-14 12:03:00 +01:00
thatsIch 542c1dcdbd Improved various typos 2014-11-04 12:32:33 +01:00
Andrew 7f225a5ec1 Deleted useless things 2014-10-03 23:08:28 -07:00
thatsIch 474596f095 Make fields final if possible to ensure immutability 2014-09-30 09:52:57 +02:00
Andrew 8514e32f5f Added missing @Override annotations with Eclipse 2014-09-28 11:34:00 -07:00
AlgorithmX2 386d18a059 Relocate Source to proper directory. 2014-09-23 19:26:27 -05:00