From a0db8e38e6a2d4ab656f34cd635fc2ea9fb17809 Mon Sep 17 00:00:00 2001 From: MCTBL <30978504+MCTBL@users.noreply.github.com> Date: Sun, 28 Jul 2024 20:32:26 +0800 Subject: [PATCH 1/3] Add Fluid Artificial Universe Cell (#218) * Add Fluid Artificial Universe Cell * reduce type from 63 to 5 * change the internal name of cell --- .../github/loader/ItemAndBlockHolder.java | 6 ++++++ .../com/glodblock/github/util/NameConst.java | 1 + src/main/resources/assets/ae2fc/lang/en_US.lang | 1 + src/main/resources/assets/ae2fc/lang/zh_CN.lang | 1 + .../textures/items/fluid_storage.Universe.png | Bin 0 -> 5206 bytes .../items/fluid_storage.Universe.png.mcmeta | 1 + 6 files changed, 10 insertions(+) create mode 100644 src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png create mode 100644 src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png.mcmeta diff --git a/src/main/java/com/glodblock/github/loader/ItemAndBlockHolder.java b/src/main/java/com/glodblock/github/loader/ItemAndBlockHolder.java index 0006e5e99..15f5cbd5f 100644 --- a/src/main/java/com/glodblock/github/loader/ItemAndBlockHolder.java +++ b/src/main/java/com/glodblock/github/loader/ItemAndBlockHolder.java @@ -134,6 +134,12 @@ public static void init() {} 8, 1, 5).register(); + public static ItemFluidExtremeStorageCell ARTIFICIAL_UNIVERSE_CELL = new ItemFluidExtremeStorageCell( + NameConst.ITEM_ARTIFICIAL_UNIVERSE_STORAGE, + Long.MAX_VALUE / 2048, + 16384, + 5, + 600000D).register(); public static ItemCreativeFluidStorageCell CREATIVE_CELL = new ItemCreativeFluidStorageCell().register(); public static ItemInfinityWaterStorageCell INFINITY_WATER_CELL = new ItemInfinityWaterStorageCell().register(); public static ItemBasicFluidStoragePart CELL_PART = new ItemBasicFluidStoragePart().register(); diff --git a/src/main/java/com/glodblock/github/util/NameConst.java b/src/main/java/com/glodblock/github/util/NameConst.java index b148329d9..93852815a 100644 --- a/src/main/java/com/glodblock/github/util/NameConst.java +++ b/src/main/java/com/glodblock/github/util/NameConst.java @@ -40,6 +40,7 @@ public class NameConst { public static final String ITEM_MULTI_FLUID_STORAGE = "multi_fluid_storage"; public static final String ITEM_QUANTUM_FLUID_STORAGE = ITEM_FLUID_STORAGE + ".quantum"; public static final String ITEM_SINGULARITY_FLUID_STORAGE = ITEM_FLUID_STORAGE + ".singularity"; + public static final String ITEM_ARTIFICIAL_UNIVERSE_STORAGE = ITEM_FLUID_STORAGE + ".Universe"; public static final String ITEM_INFINITY_FLUID_STORAGE = ITEM_FLUID_STORAGE + ".infinity"; public static final String ITEM_INFINITY_WATER_FLUID_STORAGE = ITEM_INFINITY_FLUID_STORAGE + ".water"; public static final String ITEM_CREATIVE_FLUID_STORAGE = "creative_" + ITEM_FLUID_STORAGE; diff --git a/src/main/resources/assets/ae2fc/lang/en_US.lang b/src/main/resources/assets/ae2fc/lang/en_US.lang index f6464f191..63433d1cd 100644 --- a/src/main/resources/assets/ae2fc/lang/en_US.lang +++ b/src/main/resources/assets/ae2fc/lang/en_US.lang @@ -46,6 +46,7 @@ item.multi_fluid_storage.4096.name=%s4096k%s ME Multi-Fluid Storage Cell item.multi_fluid_storage.16384.name=%s16384k%s ME Multi-Fluid Storage Cell item.fluid_storage.quantum.name=ME Fluid Quantum Storage Cell item.fluid_storage.singularity.name=ME Fluid Digital Singularity Storage Cell +item.fluid_storage.Universe.name=ME Fluid Artificial Universe Storage Cell item.fluid_storage.infinity.water.name=ME Fluid Infinity Water Storage Cell item.fluid_part.0.name=%s1k%s ME Fluid Storage Component item.fluid_part.1.name=%s4k%s ME Fluid Storage Component diff --git a/src/main/resources/assets/ae2fc/lang/zh_CN.lang b/src/main/resources/assets/ae2fc/lang/zh_CN.lang index 3b8c36766..9cff88b3d 100644 --- a/src/main/resources/assets/ae2fc/lang/zh_CN.lang +++ b/src/main/resources/assets/ae2fc/lang/zh_CN.lang @@ -41,6 +41,7 @@ item.multi_fluid_storage.4096.name=%s4096k%s-ME多重流体存储元件 item.multi_fluid_storage.16384.name=%s16384k%s-ME多重流体存储元件 item.fluid_storage.quantum.name=ME流体量子存储元件 item.fluid_storage.singularity.name=ME流体数字奇点元件 +item.fluid_storage.Universe.name=ME流体寰宇存储元件 item.fluid_part.0.name=%s1k%s-ME流体存储组件 item.fluid_part.1.name=%s4k%s-ME流体存储组件 item.fluid_part.2.name=%s16k%s-ME流体存储组件 diff --git a/src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png b/src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png new file mode 100644 index 0000000000000000000000000000000000000000..41df8cb8413202d6f4ec8ba8162ad3e50c253c13 GIT binary patch literal 5206 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 U$-0f`)h~bMrdB3*jffHd0aJE5ng9R* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png.mcmeta b/src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/src/main/resources/assets/ae2fc/textures/items/fluid_storage.Universe.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file From f63435403b08861904dbd47b7926c5de5b3b8f2b Mon Sep 17 00:00:00 2001 From: Dream Master Date: Sun, 28 Jul 2024 19:40:24 +0700 Subject: [PATCH 2/3] update --- dependencies.gradle | 12 ++++++------ gradle.properties | 13 ++++++++++++- gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 5 ++++- gradlew.bat | 2 ++ settings.gradle | 2 +- 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 294019a1c..ae2dca128 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -34,19 +34,19 @@ * For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph */ dependencies { - api('com.github.GTNewHorizons:NotEnoughItems:2.6.14-GTNH:dev') - api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-412-GTNH:dev') + api('com.github.GTNewHorizons:NotEnoughItems:2.6.19-GTNH:dev') + api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-418-GTNH:dev') api('curse.maven:cofh-core-69162:2388751') api('com.github.GTNewHorizons:waila:1.8.1:dev') implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.11.2:dev") - compileOnly("com.github.GTNewHorizons:GTNHLib:0.3.2:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:GTNHLib:0.3.3:dev") { transitive = false } compileOnly('com.github.GTNewHorizons:Baubles:1.0.4:dev') compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.34:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:ForestryMC:4.9.7:dev') compileOnly('com.github.GTNewHorizons:EnderIO:2.8.17:dev') - compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.48.92:dev') { + compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.48.113:dev') { exclude group: 'com.github.GTNewHorizons', module: 'AE2FluidCraft-Rework' } @@ -54,8 +54,8 @@ dependencies { compileOnly('com.gregoriust.gregtech:gregtech_1.7.10:6.14.23:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:OpenComputers:1.10.16-GTNH:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.6.18-GTNH:dev') { transitive = false } - compileOnly("com.github.GTNewHorizons:Hodgepodge:2.5.36:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:Hodgepodge:2.5.38:dev") { transitive = false } runtimeOnlyNonPublishable("com.github.GTNewHorizons:DuraDisplay:1.3.2:dev") - runtimeOnlyNonPublishable("com.github.GTNewHorizons:GTNHLib:0.3.2:dev") + runtimeOnlyNonPublishable("com.github.GTNewHorizons:GTNHLib:0.3.3:dev") } diff --git a/gradle.properties b/gradle.properties index 44e3578cd..edbd1b38b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -85,6 +85,11 @@ accessTransformersFile = ae2fc_at.cfg # Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled! usesMixins = false +# Set to a non-empty string to configure mixins in a separate source set under src/VALUE, instead of src/main. +# This can speed up compile times thanks to not running the mixin annotation processor on all input sources. +# Mixin classes will have access to "main" classes, but not the other way around. +separateMixinSourceSet = + # Adds some debug arguments like verbose output and class export. usesMixinDebug = false @@ -117,9 +122,15 @@ minimizeShadowedDependencies = true # If disabled, won't rename the shadowed classes. relocateShadowedDependencies = true -# Adds the GTNH maven, CurseMaven, Modrinth, and some more well-known 1.7.10 repositories. +# Adds CurseMaven, Modrinth, and some more well-known 1.7.10 repositories. includeWellKnownRepositories = true +# A list of repositories to exclude from the includeWellKnownRepositories setting. Should be a space separated +# list of strings, with the acceptable keys being(case does not matter): +# cursemaven +# modrinth +excludeWellKnownRepositories = + # Change these to your Maven coordinates if you want to publish to a custom Maven repository instead of the default GTNH Maven. # Authenticate with the MAVEN_USER and MAVEN_PASSWORD environment variables. # If you need a more complex setup disable maven publishing here and add a publishing repository to addon.gradle. diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 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 Ojj7^59?Sdh$^Qpp*~F>< delta 8662 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4413138c..09523c0e5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf133..f5feea6d6 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 25da30dbd..9d21a2183 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/settings.gradle b/settings.gradle index 6fe010ce8..54797868d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.23' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.25' } From e983a5e87cbe2e17163803fd352da20862143f8a Mon Sep 17 00:00:00 2001 From: Demiu Date: Tue, 30 Jul 2024 19:39:16 +0200 Subject: [PATCH 3/3] Adjust to AE2 api changes (#220) * Adjust to AE2 api changes * update * update --------- Co-authored-by: Dream Master --- dependencies.gradle | 6 +++--- .../client/gui/container/ContainerFluidStorageBus.java | 3 ++- .../glodblock/github/common/item/FCBaseItemCell.java | 4 +++- .../github/common/parts/PartFluidStorageBus.java | 7 ++++--- .../github/common/storage/FluidCellInventory.java | 4 ++-- .../github/common/tile/TileFluidDiscretizer.java | 10 +++++----- .../github/inventory/MEMonitorIFluidHandler.java | 4 ++-- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index ae2dca128..5a48851c3 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -35,18 +35,18 @@ */ dependencies { api('com.github.GTNewHorizons:NotEnoughItems:2.6.19-GTNH:dev') - api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-418-GTNH:dev') + api('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-421-GTNH:dev') api('curse.maven:cofh-core-69162:2388751') api('com.github.GTNewHorizons:waila:1.8.1:dev') - implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.11.2:dev") + implementation("com.github.GTNewHorizons:WirelessCraftingTerminal:1.11.5:dev") compileOnly("com.github.GTNewHorizons:GTNHLib:0.3.3:dev") { transitive = false } compileOnly('com.github.GTNewHorizons:Baubles:1.0.4:dev') compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.34:dev') { transitive = false } compileOnly('com.github.GTNewHorizons:ForestryMC:4.9.7:dev') compileOnly('com.github.GTNewHorizons:EnderIO:2.8.17:dev') - compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.48.113:dev') { + compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.48.120:dev') { exclude group: 'com.github.GTNewHorizons', module: 'AE2FluidCraft-Rework' } diff --git a/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidStorageBus.java b/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidStorageBus.java index 9c06106a6..cba712d50 100644 --- a/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidStorageBus.java +++ b/src/main/java/com/glodblock/github/client/gui/container/ContainerFluidStorageBus.java @@ -23,6 +23,7 @@ import appeng.container.guisync.GuiSync; import appeng.container.slot.SlotRestrictedInput; import appeng.tile.inventory.AppEngInternalAEInventory; +import appeng.util.IterationCounter; import appeng.util.Platform; import appeng.util.iterators.NullIterator; @@ -156,7 +157,7 @@ public void partition() { Iterator i = new NullIterator<>(); if (cellInv != null) { final IItemList list = cellInv - .getAvailableItems(AEApi.instance().storage().createFluidList()); + .getAvailableItems(AEApi.instance().storage().createFluidList(), IterationCounter.fetchNewId()); i = list.iterator(); } diff --git a/src/main/java/com/glodblock/github/common/item/FCBaseItemCell.java b/src/main/java/com/glodblock/github/common/item/FCBaseItemCell.java index e63c78f57..d3f5b728b 100644 --- a/src/main/java/com/glodblock/github/common/item/FCBaseItemCell.java +++ b/src/main/java/com/glodblock/github/common/item/FCBaseItemCell.java @@ -37,6 +37,7 @@ import appeng.items.contents.CellConfig; import appeng.items.contents.CellUpgrades; import appeng.util.InventoryAdaptor; +import appeng.util.IterationCounter; import appeng.util.Platform; import appeng.util.ReadableNumberConverter; @@ -224,7 +225,8 @@ protected boolean disassembleDrive(final ItemStack stack, final World world, fin .getCellInventory(stack, null, StorageChannel.FLUIDS); if (inv != null && playerInventory.getCurrentItem() == stack) { final InventoryAdaptor ia = InventoryAdaptor.getAdaptor(player, ForgeDirection.UNKNOWN); - final IItemList list = inv.getAvailableItems(StorageChannel.FLUIDS.createList()); + final IItemList list = inv + .getAvailableItems(StorageChannel.FLUIDS.createList(), IterationCounter.fetchNewId()); if (list.isEmpty() && ia != null) { playerInventory.setInventorySlotContents(playerInventory.currentItem, null); diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java b/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java index cc5032305..2c5146b36 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java @@ -67,6 +67,7 @@ import appeng.tile.inventory.AppEngInternalAEInventory; import appeng.tile.inventory.InvOperation; import appeng.tile.networking.TileCableBus; +import appeng.util.IterationCounter; import appeng.util.Platform; import appeng.util.item.AEFluidStack; import appeng.util.prioitylist.PrecisePriorityList; @@ -207,11 +208,11 @@ protected void resetCache() { if (!currentAccess.hasPermission(AccessRestriction.READ)) { readOncePass = true; } - before = in.getAvailableItems(before); + before = in.getAvailableItems(before, IterationCounter.fetchNewId()); in.setBaseAccess(currentAccess); accessChanged = false; } else { - before = in.getAvailableItems(before); + before = in.getAvailableItems(before, IterationCounter.fetchNewId()); } } @@ -225,7 +226,7 @@ protected void resetCache() { if (in != out) { if (out != null) { - after = out.getAvailableItems(after); + after = out.getAvailableItems(after, IterationCounter.fetchNewId()); } Platform.postListChanges(before, after, this, this.source); } diff --git a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java index bf6396af0..55d8d2321 100644 --- a/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java +++ b/src/main/java/com/glodblock/github/common/storage/FluidCellInventory.java @@ -380,7 +380,7 @@ public IAEFluidStack extractItems(IAEFluidStack request, Actionable mode, BaseAc } @Override - public IItemList getAvailableItems(IItemList out) { + public IItemList getAvailableItems(IItemList out, int iteration) { for (final IAEFluidStack i : this.getCellFluids()) { out.add(i); } @@ -388,7 +388,7 @@ public IItemList getAvailableItems(IItemList out) } @Override - public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request) { + public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request, int iteration) { return this.getCellFluids().findPrecise(request); } diff --git a/src/main/java/com/glodblock/github/common/tile/TileFluidDiscretizer.java b/src/main/java/com/glodblock/github/common/tile/TileFluidDiscretizer.java index cd41c64a1..bedb3c53e 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileFluidDiscretizer.java +++ b/src/main/java/com/glodblock/github/common/tile/TileFluidDiscretizer.java @@ -189,7 +189,7 @@ public IAEItemStack extractItems(IAEItemStack request, Actionable mode, BaseActi } @Override - public IItemList getAvailableItems(IItemList out) { + public IItemList getAvailableItems(IItemList out, int iteration) { if (itemCache == null) { itemCache = AEApi.instance().storage().createItemList(); IMEMonitor fluidGrid = getFluidGrid(); @@ -210,7 +210,7 @@ public IItemList getAvailableItems(IItemList out) { } @Override - public IAEItemStack getAvailableItem(@Nonnull IAEItemStack request) { + public IAEItemStack getAvailableItem(@Nonnull IAEItemStack request, int iteration) { IMEMonitor fluidGrid = getFluidGrid(); if (fluidGrid == null) { return null; @@ -219,7 +219,7 @@ public IAEItemStack getAvailableItem(@Nonnull IAEItemStack request) { if (fluidRequest == null) { return null; } - IAEFluidStack availableFluid = fluidGrid.getAvailableItem(fluidRequest); + IAEFluidStack availableFluid = fluidGrid.getAvailableItem(fluidRequest, iteration); if (availableFluid == null || availableFluid.getFluid() == null || FluidCraftAPI.instance().isBlacklistedInDisplay(availableFluid.getFluid().getClass())) { return null; @@ -297,12 +297,12 @@ public IAEFluidStack extractItems(IAEFluidStack request, Actionable mode, BaseAc } @Override - public IItemList getAvailableItems(IItemList out) { + public IItemList getAvailableItems(IItemList out, int iteration) { return out; } @Override - public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request) { + public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request, int iteration) { return null; } diff --git a/src/main/java/com/glodblock/github/inventory/MEMonitorIFluidHandler.java b/src/main/java/com/glodblock/github/inventory/MEMonitorIFluidHandler.java index 8d0d70c59..1344b22b1 100644 --- a/src/main/java/com/glodblock/github/inventory/MEMonitorIFluidHandler.java +++ b/src/main/java/com/glodblock/github/inventory/MEMonitorIFluidHandler.java @@ -184,7 +184,7 @@ public boolean validForPass(int i) { return true; } - public IItemList getAvailableItems(IItemList out) { + public IItemList getAvailableItems(IItemList out, int iteration) { for (IAEFluidStack fs : this.cache) { out.addStorage(fs); @@ -194,7 +194,7 @@ public IItemList getAvailableItems(IItemList out) { } @Override - public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request) { + public IAEFluidStack getAvailableItem(@Nonnull IAEFluidStack request, int iteration) { return this.cache.findPrecise(request); }