Commit Graph

50 Commits

Author SHA1 Message Date
yueh a847a01d8a Feature #3832: Made onRequestChange() less ambiguous (#3833) 2018-12-23 22:41:52 +01:00
yueh 66c365d11f Code Formatting 2018-08-30 20:31:27 +02:00
fscan e809c688df Performance improvements for saveChanges() and ICellInventory (#3586)
API break!
Fixes #3553
2018-07-14 16:53:49 +02:00
yueh d7b97fa7b8 Replaced LinkedList with ArrayList or ArrayDeque when applicable. (#3392) 2018-05-27 21:15:50 +02:00
yueh b32834e2b3 Fixes #3411: Limit patterns without substitute to precise operations. (#3413)
This will no longer ignore NBT data when searching for an itemstack,
thus less likely to trigger the CraftingManager fallback.
2018-03-08 16:35:13 +01:00
yueh 122b6163dc Fixes #3209: Reset stack to prevent leaking meaningful ones (#3210) 2017-11-12 12:53:40 +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 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 780ce89ac3 Internal change to fix Named Inventories. This change will not affect the reobfed version (much). 2017-07-03 05:54:25 +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
Sebastian Hartte 5b6ed0cfd0 First pass of implementing rendering for crafting cubes (#7) 2016-09-12 01:11:38 +02:00
yueh 02ac8cf220 Refactored the logging
Using LogManager instead of FMLRelaunchLog to access the logger instance.
Added logging of the name of failed exports instead of exception.
Improved crafting log to include issuer including their location and the
requested item.
Removed superfluous FMLRelaunchLog instance.
Removed superfluous parameters for PlayerData constructor.
2016-01-01 02:55:36 +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 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 61dfc05ae0 Added a simple ETA to crafting jobs 2015-05-21 21:31:13 +02: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 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 4b4693498d Replace call to simple getter from within class with inlined version 2015-03-26 10:23:59 +01: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 2243c5a188 Refactoring
Type-safety

Minor performance improvements
2014-12-02 22:55:39 +01:00
thatsIch 7505f9b66a Added copyright to all java files 2014-11-14 12:03:00 +01:00
thatsIch 011ff54224 Simplified some control flow statements 2014-10-09 21:33:31 +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
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
thatsIch 3db2d4960b Replaced normal for loops with foreach loops which is less error prone when just iterating over collection/array 2014-09-29 23:48:25 +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
Chris 62fcf26fcc Merge pull request #175 from thatsIch/TypeSafety
Type safety
2014-09-28 19:51:31 -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
Andrew 0042176f29 Deleted redundant null checks 2014-09-28 10:41:51 -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
AlgorithmX2 386d18a059 Relocate Source to proper directory. 2014-09-23 19:26:27 -05:00