Commit graph

113 commits

Author SHA1 Message Date
yueh
38e7e579fa Fixes #2043: Storage buses updates should happen in the correct order.
This is loosely based on #2032 and should prevent any duplicated event,
but still does a refresh the whole cache due to potentially issues with
some inventories.

It also ensures that storage buses will not announce a CellArrayUpdate
before they are fully initialized, thus no longer causing them to return
null during an update.

Fixes #2403
2016-01-03 13:23:51 +01:00
yueh
c9ef1beea1 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.

Closes #2009
Refs #2069
2015-12-26 23:14:29 +01:00
yueh
1862ab3562 Revert "Changed NetworkMonitor to update its cache." 2015-12-11 22:26:21 +01:00
yueh
919faefb15 Merge pull request #2032 from yueh/feature-cached-networkmonitor
Changed NetworkMonitor to update its cache.
2015-12-10 16:34:24 +01:00
yueh
e877eac7bb Fixes #2044: No longer uses internal exceptions
Added 3 new exception as subclass to FailedConnection to allow a more
precise handling and/or logging.
2015-12-10 16:24:40 +01:00
yueh
0696662254 Changed NetworkMonitor to update its cache.
No longer invalidates and refresh it with every single change.
This should now also ensure that updates are send exactly once per network
instead of multiple times scaling up with the amount of chained networks.
2015-12-10 16:11:30 +01:00
yueh
b0d3a6c743 Merge pull request #2022 from yueh/feature-revert-itemlist-changes
Reverts some of the changes to ItemList.
2015-12-06 14:36:45 +01:00
yueh
599e6f3e64 Exception during GridConnection now reports the machine and side. 2015-11-30 12:55:47 +01:00
yueh
fbfd13d163 Reverts some of the changes to ItemList.
Removes the split collection as in some rare corner cases the insertion
order is important to maintain the correct data in terms of self cleaning.

Keeps the general cleanups and split of Fluid/ItemList.

Fixes #1964
2015-11-28 11:12:31 +01:00
yueh
500fc47490 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-10-30 18:52:20 +01:00
yueh
2e00a483a0 Closes #1906: Using a constant time collection for cells
Cells are only ever using precise for storing their items, thus there is
no need for a sorted collection with in general logarithmic time.
Storing them inside a HashMap for constant time is a way better solution.

Also adds an UnsortedItemList without fuzzy handling.
If anyone tries to use it, it will currently throw an
UnsupportedOperationException, Should the need arise guava Collections2
could provide a filter for it, but it is no alternative with heavy usage
of fuzzy access.

Also some code cleanup, reducing the visibility when not needed as
protected/default as well as removing actually unused methods.
2015-10-03 15:22:12 +02:00
thatsIch
410d2f1e0d final variables and parameters
seeing some methods it does actually help to enforce the parameters
2015-09-26 21:08:18 +02:00
thatsIch
0387d30d1c Reduce scope of variables 2015-09-26 20:07:51 +02:00
thatsIch
4b3d7c7d03 Replace with array initializer
this can be done through http://docs.oracle.com/javase/specs/jls/se6/html/arrays.html#10.6
2015-09-25 23:04:36 +02:00
yueh
b9d615c4ba 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-23 00:09:27 +02:00
yueh
40dcf711f6 Fixed the order craftinglinks are notified for the last item.
Fixes #1833
2015-08-28 13:29:24 +02:00
yueh
5dfca5eb93 Merge pull request #1776 from yueh/feature-1283
Closes #1283: Add custom Callable to prevent memory leaks
2015-08-22 23:22:17 +02:00
yueh
0de7a2d83a Closes #1283: Add custom Callable to prevent memory leaks 2015-08-20 21:04:06 +02:00
yueh
7dd283cf9f Fixes 1481: Not using the right itemcount in a few cases 2015-08-16 15:32:58 +02:00
yueh
6a18102ea0 Fixes #1481: Updated cell itemcount when empty 2015-08-06 23:04:57 +02:00
yueh
a5287f6779 Qualified field and method access 2015-08-06 19:08:04 +02:00
yueh
9c8deac9de Code format 2015-08-06 19:08:02 +02:00
yueh
1c2df4f380 Reset the lastUsedChannels on a gridstorage change 2015-07-06 09:54:05 +02:00
yueh
85de600d16 Splitted channeldata into two ints
Previously it did encode the current and previous used channels into the
same as well as mask it with 0xFF. Which lead to an overflow every 256
gridnodes requiring a channel. This will not happen at > 2^31

Also removes the need to bitshift them for every access.

Fixes #1510
2015-06-16 14:57:04 +02:00
thatsIch
d1e4ea6579 Improves the message generated when generating the folder for the compass data.
Outsources the encoding of the compass data into the file name
Written tests for the encoding
Did some internal cleaning of the class
2015-06-13 16:05:59 +02:00
yueh
05f90760f2 No longer invalidate the cache of MEMonitorIInventory on simulate.
Should fix #1036
2015-06-05 19:35:52 +02:00
yueh
61dfc05ae0 Added a simple ETA to crafting jobs 2015-05-21 21:31:13 +02:00
thatsIch
1d737c3167 Merge pull request #1425 from thatsIch/e-weaker-collection-type
Use weaker collection types
2015-05-09 15:57:57 +02:00
thatsIch
168038c595 Merge pull request #1426 from thatsIch/e-overly-strong-cast
reduces overly strong type cast
2015-05-09 15:57:47 +02:00
yueh
b6b76d145b Organize imports 2015-05-09 13:06:09 +02:00
thatsIch
7c9b734948 reduces overly strong type cast 2015-05-09 12:45:46 +02:00
thatsIch
16c0fbe3c1 Use weaker collection types 2015-05-09 12:33:16 +02:00
thatsIch
5832e2d828 Merge pull request #1420 from thatsIch/e-method-parameter-naming-conventions
Replaces all method parameter regarding their naming conventions
2015-05-08 23:45:28 +02:00
thatsIch
f193c2adc4 Replaces all method parameter regarding their naming conventions 2015-05-08 23:25:19 +02:00
thatsIch
b748a1982f Replaces all non constant fields with upper case name 2015-05-08 22:53:50 +02:00
thatsIch
875214c166 Adds annotations by contract of the interface 2015-05-02 15:39:59 +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
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
thatsIch
dff48c07c9 finalized 2015-03-26 11:14:34 +01:00
thatsIch
234d97b8ce Security issues: public static collections 2015-03-26 11:13:24 +01:00
thatsIch
9bf8b4388f Extract ++ and -- from expressions 2015-03-26 11:07:26 +01:00
thatsIch
14df50dbf3 Unnecessary modifier in interfaces 2015-03-26 11:03:30 +01:00
thatsIch
3143c871d0 this access 2015-03-26 11:01:57 +01:00
thatsIch
f1248c4c33 Unused imports 2015-03-26 10:49:48 +01:00
thatsIch
bd2ee1c5ea Assignment replaceable with operator assignment 2015-03-26 10:41:45 +01:00
thatsIch
8ef286b9d6 Replace call to simple setter from within class with inlined version 2015-03-26 10:27:07 +01:00
thatsIch
4b4693498d Replace call to simple getter from within class with inlined version 2015-03-26 10:23:59 +01:00