Sebastian Hartte
9fcfbf31be
Lots of fixes
2020-07-23 02:38:32 +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
b45669bb82
Removed several unchecked casts.
2020-07-19 16:01:19 +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
Sebastian Hartte
e1f9e01404
Force cluster-rebuilds on the first detected change, if their bounds do not match.
...
Also use a client-side method to update connected textures
for crafting cubes if two previously distinct clusters are connected.
Refactored MBCalculator to use generics for type checks and remove more casts.
2020-07-19 00:16:33 +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
shartte
d79c0f642c
Do not allow recursive creation of multiblocks. ( #4472 )
2020-07-18 18:00:40 +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
0d63f560d3
More moves and compilation fixes
2020-06-29 02:15:31 +02:00
Sebastian Hartte
46955643b9
Utils ported
2020-06-28 13:28:14 +02:00
Sebastian Hartte
fee5b7fdfc
Utils ported
2020-06-28 03:41:44 +02:00
Sebastian Hartte
b79cd732b2
Fabric port in progress
2020-06-27 23:25:38 +02:00
Sebastian Hartte
80fbb58d4f
API compiles
2020-06-27 18:09:44 +02:00
Sebastian Hartte
ba71a82288
Migrations
2020-06-27 16:18:20 +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
Sebastian Hartte
4759a6d204
Fixed several tooltips (i.e. Encoded Pattern) losing parts of the text due to TextComponent.shallowCopy not keeping attached siblings.
2020-06-16 17:38:10 +02:00
yueh
23b6e195ac
Revert using internal API
2020-06-07 17:21:20 +02:00
Sebastian Hartte
237463dd94
Lots of compile fixes
2020-06-04 03:02:48 +02:00
covers1624
3f5c299d09
More compile things
2020-06-02 15:12:30 +09:30
Sebastian Hartte
d4c9e5c490
More Renames
2020-06-02 02:38:10 +02:00
Sebastian Hartte
9f63859769
Work on GUIs (specifically to get SkyChest GUI)
2020-06-02 02:14:09 +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
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