Commit Graph

44 Commits

Author SHA1 Message Date
yueh 8c5842aca9 Fixes #3315: Slightly more permissive checks for autocrafting (#3319)
* Fixes #3315: Slightly more permissive checks for autocrafting

Also fixes a bug in the fallback for looking up patterns to only use
ItemStack.EMPTY.
2018-01-14 13:43:31 +01: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 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 7de90ed0ae Finally use Java7 <> 2017-07-20 21:21:45 +02:00
yueh 8ec8babb6a Organised imports 2017-07-20 21:18:49 +02:00
yueh 621910df91 Format sourcecode 2017-07-20 21:17:10 +02:00
Gunther De Wachter 0e2f8a22a2 Decided to go for a more "separated" TE registration.
This will still make it so addons still get to add custom blocks without having to change too much of the internals.

It still needs thorough testing though. I don't want to change this too much because it ruins older worlds.
2017-07-04 15:40:57 +02:00
Gunther De Wachter 820a6bdbd6 Fixed the ME system not finding any Crafting CPU's.
Might have to rework it a bit later. looks kind of ugly like this.
2017-07-01 09:08:43 +02: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 f84b9a7e1d All parameters on one line (for now)
Easier picking of 1.7 changes
2016-01-01 02:02:05 +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 8b3a954f73 final variables and parameters 2015-09-30 14:24:44 +02:00
yueh 6a2056562b Fixed the order craftinglinks are notified for the last item.
Fixes #1833
2015-09-30 13:39:24 +02:00
AlgorithmX2 38afde724b Most of the 1.8 Port. 2015-06-15 19:44:59 -05:00
yueh b6b76d145b Organize imports 2015-05-09 13:06:09 +02:00
thatsIch 64ed05a1b4 Puts everywhere brackets 2015-04-29 18:38:24 +02:00
thatsIch 3783ae8619 Improved exceptions
Many exceptions got an improvement due to changed class or description or details it is providing.
Is not complete, needs to be done in patches in the regions, where it is needed, since some are just
swallowed.

Removed total usage of pure RuntimeExceptions to 0.
2015-04-21 17:43:24 +02:00
yueh eaf57bedf6 Modifier are now using a consistent order based on the java conventions 2015-04-06 00:35:42 +02:00
thatsIch d34c988c88 Basic reformat, hit once, hope never again 2015-04-03 15:07:13 +02:00
thatsIch 52c512635d Renamed constants 2015-01-01 22:13:10 +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 da148ef787 Renames, visibility, other cleanups 2014-10-05 16:15:36 +02:00
thatsIch f32010a538 Renamed to a more readable version 2014-10-05 15:57:30 +02:00
thatsIch 9717450f13 Added missing Type 2014-10-05 15:43:52 +02:00
thatsIch 060255e9c7 Reduce visibility of fields
Implement against interfaces
Enforce immutability instead resetting it hard via new instantiation.
2014-10-05 15:38:56 +02:00
thatsIch dedefee30b Remove not needed imports 2014-10-01 10:43:26 +02:00
yueh 7fa7e43c29 Some performance or memory optimizations
Replaced String concat in loops with StringBuilder (performance)
Replaced for with keySet + Map.get() through for with entrySet (perf)
Changed inner classes to static classes, mostly struct like (memory)
2014-09-30 23:20:02 +02:00
thatsIch 474596f095 Make fields final if possible to ensure immutability 2014-09-30 09:52:57 +02:00
Chris 7b3bde7906 Merge pull request #182 from thatsIch/While
Replaces while iterators with foreach call
2014-09-29 14:10:03 -07:00
thatsIch b6ec21c70a Replaces while iterators with foreach call 2014-09-29 09:26:35 +02:00
Andrew 5c5aaa21ee Merge remote-tracking branch 'upstream/rv2' into rv2
Conflicts:
	src/main/java/appeng/items/tools/powered/ToolMassCannon.java
2014-09-29 00:26:15 -07:00
thatsIch 56757bd828 Fixed crafting watchers not having the right type 2014-09-28 22:45:57 +02:00
thatsIch f1ffbf08a2 Resolved some unchecked Types 2014-09-28 22:20:14 +02:00
Andrew da63aca95c Deleted unnecessary casts with Eclipse 2014-09-28 11:56:16 -07:00
Chris f9b9729fb5 Merge pull request #157 from thatsIch/Spelling
Spelling
2014-09-28 10:09:39 -07:00
thatsIch 76b147fd5b Improved readability of variables
Hopefully improved semantics of variables

Fixed typos

Added hyphenations
2014-09-28 12:21:34 +02:00
thatsIch 1e71e86acc Removes unnecessary semicolons 2014-09-28 12:08:47 +02:00
Ongy 4586c0b0d2 Fix for item #1133 2014-09-27 01:09:40 +02:00
AlgorithmX2 386d18a059 Relocate Source to proper directory. 2014-09-23 19:26:27 -05:00