Sebastian Hartte
b1feeca41c
Fixup imports + formatting.
2020-08-15 03:18:23 +02:00
Sebastian Hartte
6c544f2211
Reformatted, and ported back some enhancements from the Forge version.
2020-08-15 02:51:03 +02:00
Sebastian Hartte
780f68952b
Added spotless back and reformatted
2020-07-27 20:07:27 +02:00
Sebastian Hartte
1933b4b10d
Merge remote-tracking branch 'origin/master' into fabric-1.16
...
# Conflicts:
# src/main/java/appeng/block/crafting/AbstractCraftingUnitBlock.java
# src/main/java/appeng/block/qnb/QnbFormedBakedModel.java
# src/main/java/appeng/client/gui/AEBaseScreen.java
# src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java
# src/main/java/appeng/client/gui/implementations/LevelEmitterScreen.java
# src/main/java/appeng/client/gui/implementations/PriorityScreen.java
# src/main/java/appeng/client/gui/widgets/NumberBox.java
# src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java
# src/main/java/appeng/client/render/cablebus/SmartCableTextures.java
# src/main/java/appeng/container/implementations/CraftingCPUContainer.java
# src/main/java/appeng/container/implementations/LevelEmitterContainer.java
# src/main/java/appeng/container/implementations/PriorityContainer.java
# src/main/java/appeng/core/AEConfig.java
# src/main/java/appeng/fluids/client/gui/FluidLevelEmitterScreen.java
# src/main/java/appeng/fluids/container/FluidLevelEmitterContainer.java
# src/main/java/appeng/me/cluster/MBCalculator.java
# src/main/java/appeng/me/cluster/implementations/CraftingCPUCalculator.java
# src/main/java/appeng/me/cluster/implementations/QuantumCalculator.java
# src/main/java/appeng/me/cluster/implementations/QuantumCluster.java
# src/main/java/appeng/me/cluster/implementations/SpatialPylonCalculator.java
# src/main/java/appeng/tile/crafting/CraftingBlockEntity.java
# src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java
# src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java
2020-07-20 20:19:42 +02:00
Sebastian Hartte
1c88ea7b78
Fail faster when something modifies the list of energy providers/requesters while an extract/inject operation is ongoing, since this would lead to ConcurrentModificationExceptions later, without a way of tracking down what caused the modification in the first place.
2020-07-19 16:39:37 +02:00
yueh
755ac12b8a
Fix SortedSet using compare for equals ( #4479 )
...
Fix SortedSet using compare for equals
2020-07-19 11:43:20 +02:00
Sebastian Hartte
be4fdfed85
Merge remote-tracking branch 'origin/master' into fabric-1.16
...
# Conflicts:
# src/main/java/appeng/block/spatial/SpatialPylonBlock.java
# src/main/java/appeng/client/render/spatial/SpatialPylonBakedModel.java
# src/main/java/appeng/core/AppEng.java
# src/main/java/appeng/hooks/TickHandler.java
# src/main/java/appeng/me/cluster/MBCalculator.java
# src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java
# src/main/java/appeng/me/cluster/implementations/QuantumCluster.java
# src/main/java/appeng/me/cluster/implementations/SpatialPylonCluster.java
# src/main/java/appeng/me/helpers/AENetworkProxy.java
# src/main/java/appeng/tile/networking/CableBusBlockEntity.java
# src/main/java/appeng/tile/networking/DenseEnergyCellBlockEntity.java
# src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java
# src/main/java/appeng/tile/spatial/SpatialPylonBlockEntity.java
# src/main/java/appeng/util/Platform.java
2020-07-19 01:05:14 +02:00
shartte
5b3c4aef79
When blocks adjacent to multiblock-capable blocks are updated, ( #4474 )
...
do not always recalculate existing multiblocks. Only do so,
if the adjacent block is either part of the multiblock's bounding
box, or if the adjacent block would be a valid part of the multiblock.
2020-07-18 18:18:24 +02:00
yueh
4a289470e2
Added a priority to IAEPowerStorage ( #4473 )
...
Added a priority to IAEPowerStorage
2020-07-18 18:06:05 +02:00
Sebastian Hartte
1e20cd8c08
Merge remote-tracking branch 'origin/master' into fabric-1.16
...
# Conflicts:
# build.gradle
# gradle.properties
# src/api/java/appeng/api/config/Upgrades.java
# src/api/java/appeng/api/recipes/ResolverResult.java
# src/main/java/appeng/block/AEBaseBlockItemChargeable.java
# src/main/java/appeng/block/crafting/CraftingStorageItem.java
# src/main/java/appeng/block/misc/ChargerBlock.java
# src/main/java/appeng/block/networking/CableBusBlock.java
# src/main/java/appeng/block/storage/ChestBlock.java
# src/main/java/appeng/block/storage/DriveSlotCellType.java
# src/main/java/appeng/capabilities/Capabilities.java
# src/main/java/appeng/client/me/ItemRepo.java
# src/main/java/appeng/client/render/cablebus/FacadeBuilder.java
# src/main/java/appeng/client/render/effects/ChargedOreFX.java
# src/main/java/appeng/client/render/effects/CraftingFx.java
# src/main/java/appeng/client/render/effects/EnergyFx.java
# src/main/java/appeng/client/render/effects/LightningArcFX.java
# src/main/java/appeng/client/render/effects/LightningFX.java
# src/main/java/appeng/client/render/effects/MatterCannonFX.java
# src/main/java/appeng/client/render/effects/VibrantFX.java
# src/main/java/appeng/client/render/spatial/SpatialPylonRendering.java
# src/main/java/appeng/client/render/tesr/DriveLedTileEntityRenderer.java
# src/main/java/appeng/container/AEBaseContainer.java
# src/main/java/appeng/container/implementations/CellWorkbenchContainer.java
# src/main/java/appeng/container/implementations/MolecularAssemblerContainer.java
# src/main/java/appeng/container/implementations/PatternTermContainer.java
# src/main/java/appeng/container/implementations/QuartzKnifeContainer.java
# src/main/java/appeng/core/AEConfig.java
# src/main/java/appeng/core/AEItemGroup.java
# src/main/java/appeng/core/Api.java
# src/main/java/appeng/core/AppEng.java
# src/main/java/appeng/core/Registration.java
# src/main/java/appeng/core/api/definitions/ApiBlocks.java
# src/main/java/appeng/core/api/definitions/ApiParts.java
# src/main/java/appeng/core/features/registries/MovableTileRegistry.java
# src/main/java/appeng/core/features/registries/P2PTunnelRegistry.java
# src/main/java/appeng/core/features/registries/WirelessRegistry.java
# src/main/java/appeng/core/features/registries/WorldGenRegistry.java
# src/main/java/appeng/core/features/registries/cell/BasicItemCellGuiHandler.java
# src/main/java/appeng/core/sync/BasePacketHandler.java
# src/main/java/appeng/core/sync/packets/ClickPacket.java
# src/main/java/appeng/core/sync/packets/PatternSlotPacket.java
# src/main/java/appeng/crafting/CraftingTreeProcess.java
# src/main/java/appeng/debug/ReplicatorCardItem.java
# src/main/java/appeng/entity/ChargedQuartzEntity.java
# src/main/java/appeng/entity/SingularityEntity.java
# src/main/java/appeng/entity/TinyTNTPrimedEntity.java
# src/main/java/appeng/fluids/helper/DualityFluidInterface.java
# src/main/java/appeng/fluids/helper/FluidCellConfig.java
# src/main/java/appeng/fluids/parts/FluidFormationPlanePart.java
# src/main/java/appeng/fluids/parts/FluidHandlerAdapter.java
# src/main/java/appeng/forge/data/providers/IAE2DataProvider.java
# src/main/java/appeng/forge/data/providers/recipes/SlabStairRecipes.java
# src/main/java/appeng/helpers/CraftingPatternDetails.java
# src/main/java/appeng/helpers/DualityInterface.java
# src/main/java/appeng/helpers/WirelessTerminalGuiObject.java
# src/main/java/appeng/hooks/IBlockTool.java
# src/main/java/appeng/hooks/TickHandler.java
# src/main/java/appeng/integration/modules/jei/CondenserCategory.java
# src/main/java/appeng/integration/modules/jei/JEIPlugin.java
# src/main/java/appeng/items/misc/EncodedPatternItem.java
# src/main/java/appeng/items/parts/FacadeItem.java
# src/main/java/appeng/items/parts/PartItem.java
# src/main/java/appeng/items/storage/AbstractStorageCell.java
# src/main/java/appeng/items/storage/CreativeStorageCellItem.java
# src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java
# src/main/java/appeng/items/tools/powered/EntropyManipulatorItem.java
# src/main/java/appeng/items/tools/powered/MatterCannonItem.java
# src/main/java/appeng/items/tools/powered/WirelessTerminalItem.java
# src/main/java/appeng/me/cluster/implementations/CraftingCPUCluster.java
# src/main/java/appeng/me/storage/MEMonitorIFluidHandler.java
# src/main/java/appeng/parts/PartPlacement.java
# src/main/java/appeng/parts/automation/FormationPlanePart.java
# src/main/java/appeng/parts/p2p/FluidP2PTunnelPart.java
# src/main/java/appeng/parts/reporting/PatternTerminalPart.java
# src/main/java/appeng/spatial/CachedPlane.java
# src/main/java/appeng/spatial/StorageChunkGenerator.java
# src/main/java/appeng/spatial/StorageHelper.java
# src/main/java/appeng/tile/crafting/CraftingBlockEntity.java
# src/main/java/appeng/tile/crafting/CraftingStorageBlockEntity.java
# src/main/java/appeng/tile/crafting/MolecularAssemblerBlockEntity.java
# src/main/java/appeng/tile/inventory/AppEngInternalAEInventory.java
# src/main/java/appeng/tile/misc/ChargerBlockEntity.java
# src/main/java/appeng/tile/misc/CondenserBlockEntity.java
# src/main/java/appeng/tile/misc/InscriberBlockEntity.java
# src/main/java/appeng/tile/misc/InscriberRecipes.java
# src/main/java/appeng/tile/qnb/QuantumBridgeBlockEntity.java
# src/main/java/appeng/tile/storage/ChestBlockEntity.java
# src/main/java/appeng/tile/storage/DriveBlockEntity.java
# src/main/java/appeng/util/Platform.java
# src/main/java/team/chisel/ctm/api/IFacade.java
# src/main/resources/assets/appliedenergistics2/models/block/chest/base.json
# src/unported/java/appeng/client/render/FacadeItemModel.java
# src/unported/java/appeng/client/render/model/DriveBakedModel.java
# src/unported/java/appeng/client/render/model/DriveModel.java
# src/unported/java/appeng/core/PluginLoader.java
2020-07-18 01:45:43 +02:00
yueh
9bb23bcac8
Refactored crafting patterns ( #4458 )
...
* Deduplicate crafting patterns internals
This should save a bit memory for duplicate patterns as well as speed up
loading new patterns on reloading chunks.
* Encode recipe id in pattern
* Use the recipe id directly for looking it up
* Slightly refactored how patterns encode whether they are crafting patterns or not.
* Renamed PatternHelper.
* Added APIs to encode patterns. (#4463 )
* Removed ICraftingPatternItem.
* Renamed isCrafting to isCraftable
Co-authored-by: shartte <shartte@users.noreply.github.com >
2020-07-12 16:21:30 +02:00
yueh
0d43ca15be
Removed AEApi
...
Moved all internal access to the internal `Api` class using a new static
getter.
2020-07-11 19:40:34 +02:00
Sebastian Hartte
1478e4c378
Lots more moved
2020-07-04 21:03:30 +02:00
Sebastian Hartte
2642ced86b
Moving to source sets
2020-07-01 23:36:51 +02:00
Sebastian Hartte
007c7ceb56
Moved more parts of ME over
2020-07-01 01:04:53 +02:00
Sebastian Hartte
8d8d3dd2d7
Minor refactoring.
...
Replaced use of reflection with use of functional factory interface (API change).
2020-06-30 18:58:30 +02:00
Sebastian Hartte
d17f8cec92
Removed unused fields.
2020-06-30 18:39:34 +02:00
Sebastian Hartte
d0acc9ccf1
Removed reliance of TickTracker on implementation detail to generate additional crash information.
2020-06-30 18:34:36 +02:00
Sebastian Hartte
3337eb9ae3
Merge remote-tracking branch 'origin/master' into fabric-1.16
...
# Conflicts:
# build.gradle
# core/src/main/java/appeng/block/AEBaseBlock.java
# core/src/main/java/appeng/block/misc/TinyTNTBlock.java
# core/src/main/java/appeng/entity/TinyTNTPrimedRenderer.java
# core/src/main/java/appeng/fluids/util/AEFluidStack.java
# src/main/java/appeng/core/AEConfig.java
# src/main/java/appeng/core/api/definitions/ApiItems.java
# src/main/java/appeng/debug/EnergyGeneratorBlockEntity.java
# src/main/java/appeng/entity/TinyTNTPrimedEntity.java
# src/main/java/appeng/tile/storage/DriveBlockEntity.java
2020-06-29 21:35:34 +02:00
Sebastian Hartte
0d63f560d3
More moves and compilation fixes
2020-06-29 02:15:31 +02:00
yueh
55d7ac82e5
Removed no channels pathing.
...
Also use default values for features without a config option
2020-06-28 19:19:05 +02:00
Sebastian Hartte
b79cd732b2
Fabric port in progress
2020-06-27 23:25:38 +02:00
yueh
cb62d3a706
Refactored how cell state is exposed ( #4422 )
...
Replaced fuzzy ints with a well defined enum
Moved API related cell interfaces to a new subpackage
Introduced a new client helper method to register a cell texture for a storage channel
Added a method to obtain the storage channel for a drive or chest slot
Added a new cell state for cells with stored items but neither types nor completely full
2020-06-22 22:18:41 +02:00
Sebastian Hartte
26bb08ddb5
Post-Rename Formatting Fixes
2020-06-22 13:25:38 +02:00
Sebastian Hartte
b4471b1abb
The Great Renamening of 2020
2020-06-22 13:21:23 +02:00
yueh
5225ea426b
pick 97420a31d The big reformat of 2020
2020-06-16 21:45:35 +02:00
yueh
3cb9695026
Increase network energy buffer to 800 AE
2020-06-14 14:25:30 +02:00
yueh
ae69ad6d8a
Fixes #4388 : Ensure correct ticking priority order ( #4410 )
2020-06-11 20:21:17 +02:00
yueh
23b6e195ac
Revert using internal API
2020-06-07 17:21:20 +02:00
Sebastian Hartte
c411a800f6
Work on server data and registries.
2020-06-05 19:03:29 +02:00
Eutro
58afa6539f
Add data generation. ( #4399 )
...
Recipe and other Data Generators
2020-06-02 23:13:49 +02:00
covers1624
3f5c299d09
More compile things
2020-06-02 15:12:30 +09:30
Sebastian Hartte
fc300745cd
Container-Stuff
2020-06-02 02:33:05 +02:00
Sebastian Hartte
5cdeff01be
Custom Model Loader
2020-06-01 04:02:37 +02:00
Sebastian Hartte
ec3b464655
Some additional fixes from other branch.
2020-05-31 16:13:07 +02:00
yueh
16d6d55d7f
1.15 port
2020-05-18 14:02:45 +02:00
yueh
a847a01d8a
Feature #3832 : Made onRequestChange() less ambiguous ( #3833 )
2018-12-23 22:41:52 +01:00
yueh
fdcba13369
Power off a network in case it losses its local buffer. ( #3703 )
...
This better indicates power issue with dynamic consumption like
extracting/inserting items into a network. E.g. the terminals will
shutdown, no light/channel/etc indicators.
Due to the networks trying to extract from the largest possible energy
storage first, the network buffer will be used as last option after
energy cells or controllers.
Potentially needs evaluation in case of adhoc networks with a high
transfer rate locally. Increasing the local buffer might be an idea or
have it scale with the amount of local gridnodes. As long as it does not
invalidates energy cells.
2018-09-02 14:00:15 +02:00
yueh
a2091d10fe
Code cleanup
...
Added missing this, annotations, etc.
2018-08-30 20:33:08 +02:00
yueh
2894a7caa0
Replaces all custom number comparisons with java provided ones. ( #3434 )
2018-05-27 21:33:59 +02:00
yueh
044e639827
Updated Grid API ( #3399 )
...
* Updated Grid API
Added Nonull/Nullable/Nonnegative where applicable.
Deprecated unused methods
Changed concrete classes with interfaces (HashMap -> Map)
IGridTickable will no longer accept null as TickingRequest. Do not
implement it, if it should not tick.
* Renamed parameter to match conventions
2018-05-27 21:16:01 +02:00
yueh
d7b97fa7b8
Replaced LinkedList with ArrayList or ArrayDeque when applicable. ( #3392 )
2018-05-27 21:15:50 +02:00
yueh
eed4776c6f
Fixes #3389 : Prevent inventory cache from becoming unmatched. ( #3390 )
...
Use slightly faster ArrayDeqeue instead of LinkedList.
Check boolean fields before more complex datatypes
2018-02-17 19:10:09 +01:00
yueh
b1472c58d0
Fixes #3363 : Energy providers/requesters incorrectly removed on simulate ( #3364 )
2018-01-29 15:30:56 +01:00
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
yueh
e243c8e9a2
Adds a debug generator for ForgeEnergy. ( #3259 )
...
* Adds a debug generator for ForgeEnergy.
This adds a simple debug block to test external energy injection via
ForgeEnergy and not rely solely on creative cells.
The energy has two functions. The first is acting as an infinite
ForgEnergy battery, this is unused by AE2 itself as nothing pulls
energy.
The second one is injecting energy every tick into any adjacent block
accepting ForgeEnergy.
The base generation is 8 per tick, but this is increased by the power of
adjacent TileEnergyGenerators.
2017-12-21 17:29:39 +01:00
fscan
cc9b33b473
Implement Advancements ( #3160 )
...
Improvements welcome.
2017-10-20 23:54:18 +02: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