Commit Graph

3676 Commits

Author SHA1 Message Date
shartte 8617dc8340 Plane Connection Refactor (#4556)
* Refactors all plane parts to use a common helper for
calculating connections to adjacent planes.
Also fixes problems with updating these connections on neighbor updates.

* Fix conflicting GuiSync ID.

* Slightly refactor PlaneConnectionHelper, and fix an issue where the bounding box was calculated incorrectly by using the wrong up-direction.
2020-08-05 17:45:33 +02:00
shartte 9bc844738c Fixes #4547: Name clash between ITooltip#getWidth, ITooltip#getHeight and Vanilla Widget methods leads to missing methods at runtime, since the implementing methods will be remapped to SRG names, while referees of the interface will try to call the renamed methods by their name in the interface, leading to an AbstractMethodError. (#4557) 2020-08-05 16:33:44 +02:00
Sebastian Hartte eab6483bd7 Fixes #4551: Bounding box of annihilation planes is too small. 2020-08-05 00:54:26 +02:00
yueh 7ca9405c8b Apply the FE tunnel behaviour to the fluid tunnel (#4550) 2020-08-04 17:57:59 +02:00
yueh 39959145a3 Revert "Apply the FE tunnel behaviour to the fluid tunnel (#4545)" (#4549)
This reverts commit 22f552217f.
2020-08-04 08:45:10 +02:00
Sebastian Hartte 184fe8c1fc Fix items being lost when trying to stack items in the player inventory. 2020-08-03 22:29:03 +02:00
Sebastian Hartte 6f4722b393 Preliminary fix for AO-enabled auto-rotated blocks using the wrong face for getting lighting values. 2020-08-03 22:28:15 +02:00
yueh 22f552217f Apply the FE tunnel behaviour to the fluid tunnel (#4545)
* Apply the FE tunnel behaviour to the fluid tunnel

* Make a second pass to try and get all the requested fill amount sent out to outputs.

Co-authored-by: Sebastian Hartte <sebastian@hartte.de>
2020-08-03 21:39:34 +02:00
yueh 8f0e408772 Fixes NPE on empty tooltips (#4546) 2020-08-03 20:57:10 +02:00
Sebastian Hartte 62bbc32763 Minor cleanup. 2020-08-03 20:31:30 +02:00
Sebastian Hartte 414b01bddb Merge branch 'master' into fabric/master
# Conflicts:
#	src/main/java/appeng/block/storage/SkyChestBlock.java
#	src/main/java/appeng/client/render/tesr/SkyChestTESR.java
#	src/main/java/appeng/core/api/ApiPart.java
#	src/main/java/appeng/core/api/definitions/ApiItems.java
#	src/main/java/appeng/core/sync/packets/PartPlacementPacket.java
#	src/main/java/appeng/parts/PartPlacement.java
#	src/unported/java/appeng/client/ClientHelper.java
#	src/unported/java/appeng/core/CommonHelper.java
#	src/unported/java/appeng/server/ServerHelper.java
2020-08-03 15:15:14 +02:00
Sebastian Hartte 63c251294e Added custom item entity support via mixin. 2020-08-03 15:10:41 +02:00
shartte 872d8d33cb Clean up global state for cable render mode (#4539)
* Clean up the global state used to hack part interaction into respecting
the player's facade render mode. Make the name more indicative of
what is actually happening.

* Fun.
2020-08-03 14:46:39 +02:00
shartte 1801302d8f Fix SkyStone chest model issues that I had introduced back in 1.8. (#4542)
This makes the chest 1 pixel higher to restore the look it had in 1.7.
Since the skystone chest's texture is a grungy mess, only the most
obvious texture problems were fixed, while for the skystone block chest,
the look should be close to what it was now.
Also introduces caching for the skystone chest's block shape.
2020-08-03 14:46:23 +02:00
Sebastian Hartte 541f07a7e3 Fix output item stacking for condenser.
Fix exposed inventories for condenser.
2020-08-03 13:06:00 +02:00
Sebastian Hartte 1693271660 Fix recipe transfer for recipes that are not 3x3. 2020-08-03 13:05:34 +02:00
Sebastian Hartte 3a12fa4843 Minor cleanup. 2020-08-03 13:05:23 +02:00
Sebastian Hartte ba85da2c72 Fix SkyStone placement not immediately updating the compass. 2020-08-03 13:05:05 +02:00
Sebastian Hartte 469a1e205b Reactivated REI 2020-08-02 22:31:27 +02:00
Sebastian Hartte d238f6e8e4 Post-Merge fixes 2020-08-02 22:31:20 +02:00
Sebastian Hartte c0fa8ab2dc Merge remote-tracking branch 'origin/master' into fabric/master
# Conflicts:
#	src/main/java/appeng/client/me/SlotDisconnected.java
#	src/main/java/appeng/container/implementations/QuartzKnifeContainer.java
#	src/main/java/appeng/container/slot/AppEngCraftingSlot.java
#	src/main/java/appeng/container/slot/AppEngSlot.java
#	src/main/java/appeng/container/slot/CraftingMatrixSlot.java
#	src/main/java/appeng/container/slot/CraftingTermSlot.java
#	src/main/java/appeng/container/slot/DisabledSlot.java
#	src/main/java/appeng/container/slot/FakeBlacklistSlot.java
#	src/main/java/appeng/container/slot/FakeCraftingMatrixSlot.java
#	src/main/java/appeng/container/slot/FakeSlot.java
#	src/main/java/appeng/container/slot/FakeTypeOnlySlot.java
#	src/main/java/appeng/container/slot/InaccessibleSlot.java
#	src/main/java/appeng/container/slot/MolecularAssemblerPatternSlot.java
#	src/main/java/appeng/container/slot/NormalSlot.java
#	src/main/java/appeng/container/slot/OptionalFakeSlot.java
#	src/main/java/appeng/container/slot/OptionalNormalSlot.java
#	src/main/java/appeng/container/slot/OptionalRestrictedInputSlot.java
#	src/main/java/appeng/container/slot/OptionalTypeOnlyFakeSlot.java
#	src/main/java/appeng/container/slot/OutputSlot.java
#	src/main/java/appeng/container/slot/PatternOutputsSlot.java
#	src/main/java/appeng/container/slot/PlayerHotBarSlot.java
#	src/main/java/appeng/container/slot/PlayerInvSlot.java
#	src/main/java/appeng/container/slot/RestrictedInputSlot.java
2020-08-02 22:28:37 +02:00
Sebastian Hartte a85ffec9f9 Unified Parameter-Names for Slots 2020-08-02 22:12:08 +02:00
Sebastian Hartte 3e5787be76 Fix internal inventory on the client not being updated. 2020-08-02 20:58:24 +02:00
Sebastian Hartte 52ec63413f Fix client-side particle effects. 2020-08-02 20:58:03 +02:00
Sebastian Hartte 62ac6a0052 Fix server-side problems. 2020-08-02 18:09:21 +02:00
Sebastian Hartte 7f7b794c0b Merge remote-tracking branch 'origin/master' into fabric/master
# Conflicts:
#	src/main/java/appeng/block/crafting/CraftingMonitorBlockRendering.java
2020-08-02 15:46:11 +02:00
Sebastian Hartte a97ebaf40d Server can at least begin to launch now. 2020-08-02 15:45:59 +02:00
Sebastian Hartte 5fca946ef3 The lambda has to be replaced with an explicit method to annotate it with @OnlyIn. 2020-08-02 15:45:15 +02:00
Sebastian Hartte 80375c436d Merge remote-tracking branch 'origin/master' into fabric/master
# Conflicts:
#	src/main/java/appeng/core/api/definitions/ApiBlocks.java
2020-08-02 15:41:50 +02:00
Sebastian Hartte f8446209ce Move CraftingMonitor rendering customization out to its own class to circumvent issues with a client-side only lambda method being generated in a common-side class. 2020-08-02 15:40:50 +02:00
Sebastian Hartte 9ce4a65203 Merge remote-tracking branch 'origin/master' into fabric/master
# Conflicts:
#	src/main/java/appeng/block/misc/ChargerBlock.java
#	src/main/java/appeng/core/api/definitions/ApiBlocks.java
2020-08-02 15:15:39 +02:00
Sebastian Hartte f5aee56a0b Remove unused imports. 2020-08-02 15:14:28 +02:00
Sebastian Hartte 088627aedf Remove client-only methods from ChargerBlock which could potentially create synthetic lambda methods that reference client-only classes (and are not stripped). 2020-08-02 15:13:20 +02:00
Sebastian Hartte 2655620fd0 Merge remote-tracking branch 'origin/master' into fabric-1.16
# Conflicts:
#	src/api/java/appeng/api/parts/IPart.java
#	src/main/java/appeng/block/AEBaseBlockItemChargeable.java
#	src/main/java/appeng/block/qnb/QnbFormedModel.java
#	src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java
#	src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java
#	src/main/java/appeng/client/render/BakedModelUnwrapper.java
#	src/main/java/appeng/client/render/BasicUnbakedModel.java
#	src/main/java/appeng/client/render/FacadeItemModel.java
#	src/main/java/appeng/client/render/cablebus/CableBusModel.java
#	src/main/java/appeng/client/render/cablebus/P2PTunnelFrequencyModel.java
#	src/main/java/appeng/client/render/crafting/CraftingCubeModel.java
#	src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java
#	src/main/java/appeng/client/render/model/BiometricCardModel.java
#	src/main/java/appeng/client/render/model/ColorApplicatorModel.java
#	src/main/java/appeng/client/render/model/DriveBakedModel.java
#	src/main/java/appeng/client/render/model/DriveModel.java
#	src/main/java/appeng/client/render/model/GlassModel.java
#	src/main/java/appeng/client/render/model/MemoryCardModel.java
#	src/main/java/appeng/client/render/model/SkyCompassModel.java
#	src/main/java/appeng/client/render/spatial/SpatialPylonModel.java
#	src/main/java/appeng/client/render/tesr/ChestTileEntityRenderer.java
#	src/main/java/appeng/core/AERecipeType.java
#	src/main/java/appeng/core/AppEng.java
#	src/main/java/appeng/core/Registration.java
#	src/main/java/appeng/core/api/client/ApiCellModelRegistry.java
#	src/main/java/appeng/core/api/definitions/ApiItems.java
#	src/main/java/appeng/fluids/helper/DualityFluidInterface.java
#	src/main/java/appeng/items/misc/CrystalSeedItem.java
#	src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java
#	src/main/java/appeng/parts/automation/PlaneModel.java
#	src/main/java/appeng/recipes/handlers/GrinderRecipe.java
#	src/main/java/appeng/recipes/handlers/GrinderRecipeSerializer.java
#	src/main/java/appeng/recipes/handlers/InscriberRecipe.java
#	src/main/java/appeng/recipes/handlers/InscriberRecipeSerializer.java
#	src/main/java/appeng/spatial/SpatialDimensionManager.java
#	src/main/java/appeng/tile/networking/CableBusBlockEntity.java
#	src/main/java/appeng/tile/storage/SkyChestBlockEntity.java
2020-08-02 14:37:29 +02:00
Sebastian Hartte 3c86f2eae4 Working on lifecycle. 2020-08-02 14:07:54 +02:00
Sebastian Hartte cdba0b04fb Change datagen task to use the source set outputs directly to avoid problems with modCompileOnly transitive dependencies. 2020-08-02 13:27:32 +02:00
shartte c8d08f9726 Fixes sidedness issues that cropped up with 1.16 (#4533) 2020-08-01 22:16:57 +02:00
yueh 259d932946 Fixes 4529: Updated IPart to match new ICapabilityProvider (#4534) 2020-08-01 21:01:19 +02:00
Sebastian Hartte a6fb17b008 Formatting Fixes 2020-08-01 17:24:48 +02:00
Sebastian Hartte 1b31185cdb Ported to 1.16.2-pre 2020-08-01 17:14:12 +02:00
shartte d66986df85 Fix cell models not being loaded. (#4528) v8.0.0-alpha.1 2020-08-01 12:59:05 +02:00
shartte 4fa78a2add Fix #4521: Register RecipeTypes. (#4523) 2020-07-31 17:22:44 +02:00
Sebastian Hartte 3d1a919e69 Removed unnecessary dependencies. 2020-07-31 01:02:38 +02:00
Sebastian Hartte 98e9faa262 Ported model dependency changes from Fabric 1.16.
Made IChestLid sided.
2020-07-30 22:08:19 +02:00
Sebastian Hartte 80710cc818 Simplify Git Workflow 2020-07-28 23:17:02 +02:00
Sebastian Hartte b8c63df11b Make build depend on generateData, and remove unmapped mods from its dependencies. 2020-07-28 23:16:08 +02:00
Sebastian Hartte 20fd760274 Switch to right task for data generation 2020-07-28 22:59:58 +02:00
Sebastian Hartte 27cdbfb7f3 Fix NPEs when the input isn't an item. 2020-07-28 22:56:03 +02:00
Sebastian Hartte 33d247fec8 Fix server startup, jar building and after-merge fixes. 2020-07-28 22:45:09 +02:00
Sebastian Hartte 75dd1d4bb6 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/features/IWorldGen.java
#	src/api/java/appeng/api/implementations/items/ISpatialStorageCell.java
#	src/api/java/appeng/api/storage/ISpatialDimension.java
#	src/api/java/appeng/api/util/DimensionalCoord.java
#	src/main/java/appeng/block/AEBaseBlockItemChargeable.java
#	src/main/java/appeng/block/AEBaseTileBlock.java
#	src/main/java/appeng/block/misc/TinyTNTBlock.java
#	src/main/java/appeng/block/networking/CableBusBlock.java
#	src/main/java/appeng/block/qnb/QnbFormedBakedModel.java
#	src/main/java/appeng/block/spatial/MatrixFrameBlock.java
#	src/main/java/appeng/block/storage/ChestBlock.java
#	src/main/java/appeng/client/gui/AEBaseMEScreen.java
#	src/main/java/appeng/client/gui/AEBaseScreen.java
#	src/main/java/appeng/client/gui/implementations/CellWorkbenchScreen.java
#	src/main/java/appeng/client/gui/implementations/ChestScreen.java
#	src/main/java/appeng/client/gui/implementations/CondenserScreen.java
#	src/main/java/appeng/client/gui/implementations/CraftAmountScreen.java
#	src/main/java/appeng/client/gui/implementations/CraftConfirmScreen.java
#	src/main/java/appeng/client/gui/implementations/CraftingCPUScreen.java
#	src/main/java/appeng/client/gui/implementations/DriveScreen.java
#	src/main/java/appeng/client/gui/implementations/FormationPlaneScreen.java
#	src/main/java/appeng/client/gui/implementations/GrinderScreen.java
#	src/main/java/appeng/client/gui/implementations/IOPortScreen.java
#	src/main/java/appeng/client/gui/implementations/InscriberScreen.java
#	src/main/java/appeng/client/gui/implementations/InterfaceScreen.java
#	src/main/java/appeng/client/gui/implementations/InterfaceTerminalScreen.java
#	src/main/java/appeng/client/gui/implementations/MEMonitorableScreen.java
#	src/main/java/appeng/client/gui/implementations/NetworkStatusScreen.java
#	src/main/java/appeng/client/gui/implementations/NetworkToolScreen.java
#	src/main/java/appeng/client/gui/implementations/PatternTermScreen.java
#	src/main/java/appeng/client/gui/implementations/QNBScreen.java
#	src/main/java/appeng/client/gui/implementations/QuartzKnifeScreen.java
#	src/main/java/appeng/client/gui/implementations/SecurityStationScreen.java
#	src/main/java/appeng/client/gui/implementations/SkyChestScreen.java
#	src/main/java/appeng/client/gui/implementations/SpatialIOPortScreen.java
#	src/main/java/appeng/client/gui/implementations/StorageBusScreen.java
#	src/main/java/appeng/client/gui/implementations/UpgradeableScreen.java
#	src/main/java/appeng/client/gui/implementations/VibrationChamberScreen.java
#	src/main/java/appeng/client/gui/implementations/WirelessScreen.java
#	src/main/java/appeng/client/gui/widgets/AETextField.java
#	src/main/java/appeng/client/gui/widgets/ActionButton.java
#	src/main/java/appeng/client/gui/widgets/CustomSlotWidget.java
#	src/main/java/appeng/client/gui/widgets/IconButton.java
#	src/main/java/appeng/client/gui/widgets/ProgressBar.java
#	src/main/java/appeng/client/gui/widgets/SettingToggleButton.java
#	src/main/java/appeng/client/gui/widgets/ToggleButton.java
#	src/main/java/appeng/client/render/ColorableTileBlockColor.java
#	src/main/java/appeng/client/render/FacadeDispatcherBakedModel.java
#	src/main/java/appeng/client/render/FacingToRotation.java
#	src/main/java/appeng/client/render/SpatialSkyRender.java
#	src/main/java/appeng/client/render/StaticBlockColor.java
#	src/main/java/appeng/client/render/cablebus/CableBuilder.java
#	src/main/java/appeng/client/render/crafting/CraftingCubeModel.java
#	src/main/java/appeng/client/render/crafting/EncodedPatternBakedModel.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/LightningArcFX.java
#	src/main/java/appeng/client/render/effects/MatterCannonFX.java
#	src/main/java/appeng/client/render/effects/ParticleTypes.java
#	src/main/java/appeng/client/render/model/AutoRotatingBakedModel.java
#	src/main/java/appeng/client/render/model/BiometricCardBakedModel.java
#	src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java
#	src/main/java/appeng/client/render/model/MemoryCardBakedModel.java
#	src/main/java/appeng/client/render/model/MemoryCardModel.java
#	src/main/java/appeng/client/render/model/SkyCompassBakedModel.java
#	src/main/java/appeng/client/render/tesr/ChestTileEntityRenderer.java
#	src/main/java/appeng/client/render/tesr/CrankTESR.java
#	src/main/java/appeng/client/render/tesr/SkyCompassTESR.java
#	src/main/java/appeng/container/ContainerLocator.java
#	src/main/java/appeng/container/guisync/SyncData.java
#	src/main/java/appeng/container/implementations/CraftConfirmContainer.java
#	src/main/java/appeng/container/implementations/WirelessTermContainer.java
#	src/main/java/appeng/core/AEConfig.java
#	src/main/java/appeng/core/AppEng.java
#	src/main/java/appeng/core/Registration.java
#	src/main/java/appeng/core/api/ApiClientHelper.java
#	src/main/java/appeng/core/api/definitions/ApiBlocks.java
#	src/main/java/appeng/core/features/registries/WirelessRegistry.java
#	src/main/java/appeng/core/features/registries/WorldGenRegistry.java
#	src/main/java/appeng/core/localization/ButtonToolTips.java
#	src/main/java/appeng/core/localization/GuiText.java
#	src/main/java/appeng/core/stats/AppEngAdvancementTrigger.java
#	src/main/java/appeng/core/sync/network/NetworkHandler.java
#	src/main/java/appeng/core/sync/network/TargetPoint.java
#	src/main/java/appeng/core/worlddata/WorldData.java
#	src/main/java/appeng/debug/ChunkLoaderBlockEntity.java
#	src/main/java/appeng/debug/CubeGeneratorBlockEntity.java
#	src/main/java/appeng/debug/DebugCardItem.java
#	src/main/java/appeng/debug/DebugPartPlacerItem.java
#	src/main/java/appeng/debug/MeteoritePlacerItem.java
#	src/main/java/appeng/debug/ReplicatorCardItem.java
#	src/main/java/appeng/decorative/solid/SkyStoneBlock.java
#	src/main/java/appeng/entity/TinyTNTPrimedEntity.java
#	src/main/java/appeng/fluids/client/gui/FluidFormationPlaneScreen.java
#	src/main/java/appeng/fluids/client/gui/FluidInterfaceScreen.java
#	src/main/java/appeng/fluids/client/gui/FluidStorageBusScreen.java
#	src/main/java/appeng/fluids/client/gui/FluidTerminalScreen.java
#	src/main/java/appeng/fluids/client/gui/widgets/FluidSlotWidget.java
#	src/main/java/appeng/fluids/client/gui/widgets/FluidTankWidget.java
#	src/main/java/appeng/fluids/parts/FluidAnnihilationPlanePart.java
#	src/main/java/appeng/fluids/tile/FluidInterfaceBlockEntity.java
#	src/main/java/appeng/helpers/DualityInterface.java
#	src/main/java/appeng/helpers/InvalidPatternHelper.java
#	src/main/java/appeng/helpers/MetaRotation.java
#	src/main/java/appeng/hooks/DynamicDimensions.java
#	src/main/java/appeng/integration/modules/jei/CondenserCategory.java
#	src/main/java/appeng/integration/modules/jei/InscriberRecipeCategory.java
#	src/main/java/appeng/integration/modules/theoneprobe/TheOneProbeText.java
#	src/main/java/appeng/integration/modules/waila/part/PartStackWailaDataProvider.java
#	src/main/java/appeng/items/misc/CrystalSeedItem.java
#	src/main/java/appeng/items/misc/EncodedPatternItem.java
#	src/main/java/appeng/items/parts/FacadeItem.java
#	src/main/java/appeng/items/storage/SpatialStorageCellItem.java
#	src/main/java/appeng/items/tools/BiometricCardItem.java
#	src/main/java/appeng/items/tools/MemoryCardItem.java
#	src/main/java/appeng/items/tools/powered/ColorApplicatorItem.java
#	src/main/java/appeng/items/tools/powered/MatterCannonItem.java
#	src/main/java/appeng/items/tools/powered/powersink/AEBasePoweredItem.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/mixins/DimensionTypeMixin.java
#	src/main/java/appeng/mixins/MinecraftServerMixin.java
#	src/main/java/appeng/mixins/SkyPropertiesMixin.java
#	src/main/java/appeng/mixins/SkyRenderMixin.java
#	src/main/java/appeng/mixins/ThreadedAnvilChunkStorageAccessor.java
#	src/main/java/appeng/parts/automation/AnnihilationPlanePart.java
#	src/main/java/appeng/parts/misc/CableAnchorPart.java
#	src/main/java/appeng/parts/reporting/AbstractMonitorPart.java
#	src/main/java/appeng/server/subcommands/TestMeteoritesCommand.java
#	src/main/java/appeng/server/subcommands/TestOreGenCommand.java
#	src/main/java/appeng/services/CompassService.java
#	src/main/java/appeng/spatial/CachedPlane.java
#	src/main/java/appeng/spatial/SpatialDimensionExtraData.java
#	src/main/java/appeng/spatial/SpatialDimensionManager.java
#	src/main/java/appeng/spatial/StorageCellBiome.java
#	src/main/java/appeng/spatial/StorageChunkGenerator.java
#	src/main/java/appeng/spatial/StorageHelper.java
#	src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java
#	src/main/java/appeng/tile/storage/SkyChestBlockEntity.java
#	src/main/java/appeng/util/Platform.java
#	src/main/java/appeng/worldgen/ChargedQuartzOreConfig.java
#	src/main/java/appeng/worldgen/ChargedQuartzOreFeature.java
#	src/main/java/appeng/worldgen/meteorite/MeteoriteStructure.java
#	src/main/java/appeng/worldgen/meteorite/MeteoriteStructurePiece.java
#	src/main/java/appeng/worldgen/meteorite/MeteoriteStructureStart.java
#	src/main/java/appeng/worldgen/meteorite/debug/MeteoriteSpawner.java
#	src/main/resources/appliedenergistics2.mixins.json
#	src/unported/java/appeng/client/ClientHelper.java
#	src/unported/resources/META-INF/accesstransformer.cfg
2020-07-28 22:08:09 +02:00