From bc9c5061f26fc5fa58ab238974d39b632b007165 Mon Sep 17 00:00:00 2001 From: KonSola5 Date: Tue, 11 Jul 2023 11:56:55 +0200 Subject: [PATCH 1/2] Revert "Update to 1.19.2" This reverts commit 9a9a88799d49a96f7f34bb806599f3f05ae9fce9. --- .github/workflows/release.yml | 2 +- build.gradle.kts | 23 +-- gradle.properties | 20 +- .../the9grounds/aeadditions/AEAdditions.kt | 12 +- .../api/IAEAdditionsStorageCell.kt | 7 +- .../crafting/ExtendedCraftingUnitType.kt | 2 +- .../aeadditions/client/helpers/Blit.kt | 187 ++++++++++++++++++ .../aeadditions/integration/appeng/AppEng.kt | 8 +- .../storage/{DiskCell.kt.old => DiskCell.kt} | 0 ...dler.kt.old => ExtendedDiskCellHandler.kt} | 0 .../me/storage/SuperCellHandler.kt | 3 +- .../aeadditions/registries/Cells.kt | 34 ++-- .../aeadditions/registries/Items.kt | 66 ++++--- src/main/resources/ae2additions.mixins.json | 2 +- .../ae2additions/super_cell_housing.json | 32 --- .../recipes/cells/fluid/disk-1-casing.json | 22 +++ .../recipes/cells/fluid/disk-1.json | 36 ++++ .../recipes/cells/fluid/disk-1024-casing.json | 22 +++ .../recipes/cells/fluid/disk-1024.json | 36 ++++ .../recipes/cells/fluid/disk-16-casing.json | 22 +++ .../recipes/cells/fluid/disk-16.json | 36 ++++ .../cells/fluid/disk-16384-casing.json | 22 +++ .../recipes/cells/fluid/disk-16384.json | 36 ++++ .../recipes/cells/fluid/disk-256-casing.json | 22 +++ .../recipes/cells/fluid/disk-256.json | 36 ++++ .../recipes/cells/fluid/disk-4-casing.json | 22 +++ .../recipes/cells/fluid/disk-4.json | 36 ++++ .../recipes/cells/fluid/disk-4096-casing.json | 22 +++ .../recipes/cells/fluid/disk-4096.json | 36 ++++ .../recipes/cells/fluid/disk-64-casing.json | 22 +++ .../recipes/cells/fluid/disk-64.json | 36 ++++ .../cells/fluid/disk-65536-casing.json | 22 +++ .../recipes/cells/fluid/disk-65536.json | 36 ++++ .../recipes/cells/fluid/disk-housing.json | 33 ++++ .../recipes/cells/item/disk-1024-casing.json | 22 +++ .../recipes/cells/item/disk-1024.json | 36 ++++ .../recipes/cells/item/disk-16384-casing.json | 22 +++ .../recipes/cells/item/disk-16384.json | 36 ++++ .../recipes/cells/item/disk-256-casing.json | 22 +++ .../recipes/cells/item/disk-256.json | 36 ++++ .../recipes/cells/item/disk-4096-casing.json | 22 +++ .../recipes/cells/item/disk-4096.json | 36 ++++ .../recipes/cells/item/disk-65536-casing.json | 22 +++ .../recipes/cells/item/disk-65536.json | 36 ++++ .../recipes/super_cell_housing.json | 22 --- src/main/resources/fabric.mod.json | 8 +- 46 files changed, 1127 insertions(+), 146 deletions(-) create mode 100644 src/main/kotlin/com/the9grounds/aeadditions/client/helpers/Blit.kt rename src/main/kotlin/com/the9grounds/aeadditions/item/storage/{DiskCell.kt.old => DiskCell.kt} (100%) rename src/main/kotlin/com/the9grounds/aeadditions/me/storage/{ExtendedDiskCellHandler.kt.old => ExtendedDiskCellHandler.kt} (100%) delete mode 100644 src/main/resources/data/ae2additions/advancements/recipes/ae2additions/super_cell_housing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/fluid/disk-housing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-1024-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-1024.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-16384-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-16384.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-256-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-256.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-4096-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-4096.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-65536-casing.json create mode 100644 src/main/resources/data/ae2additions/recipes/cells/item/disk-65536.json delete mode 100644 src/main/resources/data/ae2additions/recipes/super_cell_housing.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e0728f5..6b48f904 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,7 +42,7 @@ jobs: pullRequests: true issues: true issuesWoLabels: true - excludeLabels: 1.12.2,1.16.5,forge,1.18.2 + excludeLabels: 1.12.2,1.16.5,forge prWoLabels: true - name: Build with Gradle run: ./gradlew build publishCurseForge diff --git a/build.gradle.kts b/build.gradle.kts index 65541c71..6ecc9df2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ import net.darkhax.curseforgegradle.Constants as CFG_Constants plugins { id("fabric-loom") - val kotlinVersion: String = "1.7.20" + val kotlinVersion: String = "1.6.21" kotlin("jvm").version(kotlinVersion) id("net.darkhax.curseforgegradle") version "1.0.10" } @@ -59,20 +59,11 @@ dependencies { modImplementation("net.fabricmc.fabric-api", "fabric-api", fabricVersion) val fabricKotlinVersion: String by project modImplementation("net.fabricmc", "fabric-language-kotlin", fabricKotlinVersion) -// modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:$reiVersion") -// modRuntimeOnly("me.shedaniel:RoughlyEnoughItems-fabric:$reiVersion") - - modImplementation("teamreborn", "energy", "2.2.0") { - exclude(group = "net.fabricmc.fabric-api") - } - -// include modApi('teamreborn:energy:') { -// exclude(group: "net.fabricmc.fabric-api") -// } + modCompileOnly("me.shedaniel:RoughlyEnoughItems-api-fabric:$reiVersion") + modRuntimeOnly("me.shedaniel:RoughlyEnoughItems-fabric:$reiVersion") -// modImplementation("appeng:appliedenergistics2-fabric:$aeVersion") -// modImplementation("curse.maven:ae2-things-563800:3796436") - modImplementation("curse.maven:ae2-223794:4030069") + modImplementation("appeng:appliedenergistics2-fabric:$aeVersion") + modImplementation("curse.maven:ae2-things-563800:3796436") annotationProcessor("org.spongepowered:mixin:0.8.5:processor") modCompileOnly("org.spongepowered:mixin:0.8.5") { isTransitive = false } @@ -92,8 +83,8 @@ tasks { } withType { kotlinOptions { jvmTarget = javaVersion.toString() } -// sourceCompatibility = javaVersion.toString() -// targetCompatibility = javaVersion.toString() + sourceCompatibility = javaVersion.toString() + targetCompatibility = javaVersion.toString() } jar { from("LICENSE") { rename { "${it}_${base.archivesName}" } } } processResources { diff --git a/gradle.properties b/gradle.properties index 9ec6e543..d8fbafc3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,24 +16,24 @@ #fabricKotlinVersion = 1.7.4+kotlin.1.6.21 # -modBaseName=AEAdditions-1.19.2 -aeVersion=12.8.3-beta +modBaseName=AEAdditions-1.18.2 +aeVersion=11.1.0 modCurseId=493962 -reiVersion=9.1.550 +reiVersion=8.2.469 kotlin.code.style = official org.gradle.jvmargs = -Xmx1G org.gradle.warning.mode = all # Check these on https://fabricmc.net/develop/ -minecraftVersion = 1.19.2 -yarnMappings = 1.19.2+build.24 -loaderVersion = 0.14.9 +minecraftVersion = 1.18.2 +yarnMappings = 1.18.2+build.3 +loaderVersion = 0.13.3 # Fabric API -fabricVersion = 0.63.0+1.19.2 -loomVersion = 1.0-SNAPSHOT +fabricVersion = 0.51.1+1.18.2 +loomVersion = 0.11-SNAPSHOT # Mod Properties modVersion = 3.0.3 mavenGroup = com.the9grounds -archivesBaseName = AEAdditions-1.19.2 +archivesBaseName = AEAdditions-1.18.2 # Kotlin systemProp.kotlinVersion = 1.6.21 -fabricKotlinVersion = 1.8.5+kotlin.1.7.20 \ No newline at end of file +fabricKotlinVersion = 1.7.4+kotlin.1.6.21 \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/AEAdditions.kt b/src/main/kotlin/com/the9grounds/aeadditions/AEAdditions.kt index 8e2e913a..b13c353c 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/AEAdditions.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/AEAdditions.kt @@ -1,15 +1,19 @@ package com.the9grounds.aeadditions import appeng.api.IAEAddonEntrypoint +import appeng.api.stacks.AEKeyType import appeng.items.storage.BasicStorageCell import com.the9grounds.aeadditions.integration.Integration +import com.the9grounds.aeadditions.integration.Mods import com.the9grounds.aeadditions.integration.appeng.AppEng import com.the9grounds.aeadditions.integration.appeng.InitUpgrades +import com.the9grounds.aeadditions.item.storage.DiskCell import com.the9grounds.aeadditions.item.storage.StorageCell import com.the9grounds.aeadditions.registries.Blocks import com.the9grounds.aeadditions.registries.Cells import com.the9grounds.aeadditions.registries.Items import com.the9grounds.aeadditions.registries.client.Models +import io.github.projectet.ae2things.item.DISKDrive import net.fabricmc.api.EnvType import net.fabricmc.api.Environment import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap @@ -36,10 +40,10 @@ object AEAdditions : IAEAddonEntrypoint { itemColorsRegister(BasicStorageCell::getColor, storageCells) -// if (Mods.AE2THINGS.isEnabled) { -// val diskCells = Items.ITEMS.filter { it is DiskCell && it.keyType == AEKeyType.fluids() }.toTypedArray() -// itemColorsRegister(DISKDrive::getColor, diskCells) -// } + if (Mods.AE2THINGS.isEnabled) { + val diskCells = Items.ITEMS.filter { it is DiskCell && it.keyType == AEKeyType.fluids() }.toTypedArray() + itemColorsRegister(DISKDrive::getColor, diskCells) + } } @Environment(EnvType.CLIENT) diff --git a/src/main/kotlin/com/the9grounds/aeadditions/api/IAEAdditionsStorageCell.kt b/src/main/kotlin/com/the9grounds/aeadditions/api/IAEAdditionsStorageCell.kt index 318c781f..034c1625 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/api/IAEAdditionsStorageCell.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/api/IAEAdditionsStorageCell.kt @@ -4,6 +4,7 @@ import appeng.api.stacks.AEKey import appeng.api.stacks.AEKeyType import appeng.api.storage.cells.ICellWorkbenchItem import net.minecraft.world.item.ItemStack +import javax.annotation.Nonnull interface IAEAdditionsStorageCell : ICellWorkbenchItem { @@ -19,7 +20,7 @@ interface IAEAdditionsStorageCell : ICellWorkbenchItem { * * @return number of bytes */ - fun getBytes(cellItem: ItemStack): Int + fun getBytes(@Nonnull cellItem: ItemStack): Int /** * Determines the number of bytes used for any type included on the cell. @@ -28,7 +29,7 @@ interface IAEAdditionsStorageCell : ICellWorkbenchItem { * * @return number of bytes */ - fun getBytesPerType(cellItem: ItemStack): Int + fun getBytesPerType(@Nonnull cellItem: ItemStack): Int /** * Allows you to fine tune which items are allowed on a given cell, if you don't care, just return false; As the @@ -70,7 +71,7 @@ interface IAEAdditionsStorageCell : ICellWorkbenchItem { * * @return number of types */ - fun getTotalTypes(cellItem: ItemStack): Int + fun getTotalTypes(@Nonnull cellItem: ItemStack): Int /** * @return drain in ae/t this storage cell will use. diff --git a/src/main/kotlin/com/the9grounds/aeadditions/block/crafting/ExtendedCraftingUnitType.kt b/src/main/kotlin/com/the9grounds/aeadditions/block/crafting/ExtendedCraftingUnitType.kt index e3762578..f4531054 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/block/crafting/ExtendedCraftingUnitType.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/block/crafting/ExtendedCraftingUnitType.kt @@ -10,7 +10,7 @@ enum class ExtendedCraftingUnitType(val kiloBytes: Int) : ICraftingUnitType { STORAGE_16384(16384), STORAGE_65536(65536); - override fun getStorageBytes(): Long = 1024L * kiloBytes + override fun getStorageBytes(): Int = 1024 * kiloBytes override fun getAcceleratorThreads(): Int = 0 diff --git a/src/main/kotlin/com/the9grounds/aeadditions/client/helpers/Blit.kt b/src/main/kotlin/com/the9grounds/aeadditions/client/helpers/Blit.kt new file mode 100644 index 00000000..272ad4ea --- /dev/null +++ b/src/main/kotlin/com/the9grounds/aeadditions/client/helpers/Blit.kt @@ -0,0 +1,187 @@ +package com.the9grounds.aeadditions.client.helpers + +import com.mojang.blaze3d.systems.RenderSystem +import com.mojang.blaze3d.vertex.* +import com.the9grounds.aeadditions.AEAdditions +import com.the9grounds.aeadditions.util.Colors +import net.minecraft.client.renderer.GameRenderer +import net.minecraft.client.renderer.Rect2i +import net.minecraft.client.renderer.texture.TextureAtlasSprite +import net.minecraft.resources.ResourceLocation +import org.lwjgl.opengl.GL11 + +class Blit(val texture: ResourceLocation, val referenceWidth: Int, val referenceHeight: Int) { + + companion object { + const val DEFAULT_WIDTH = 256 + const val DEFAULT_HEIGHT = 256 + } + + var r = 255 + var g = 255 + var b = 255 + var a = 255 + + /** + * The section of the texture we are drawing from + */ + var srcRect: Rect2i? = null + + /** + * The destination on the screen that we are drawing to + */ + var destRect = Rect2i(0, 0, 0, 0) + + /** + * Apply blending function? + */ + var blending = true + + constructor(texture: ResourceLocation) : this(texture, DEFAULT_WIDTH, DEFAULT_HEIGHT) + + constructor(sprite: TextureAtlasSprite) : this(sprite.atlas().location(), DEFAULT_WIDTH, DEFAULT_HEIGHT) { + src( + (sprite.u0 * DEFAULT_WIDTH).toInt(), + (sprite.v0 * DEFAULT_HEIGHT).toInt(), + ((sprite.u1 - sprite.u0) * DEFAULT_WIDTH).toInt(), + ((sprite.v1 - sprite.v0) * DEFAULT_HEIGHT).toInt() + ) + } + + constructor(resource: String): this(ResourceLocation(AEAdditions.MOD_ID, "textures/${resource}"), DEFAULT_WIDTH, DEFAULT_HEIGHT) + constructor(resource: String, width: Int, height: Int): this(ResourceLocation(AEAdditions.MOD_ID, "textures/${resource}"), width, height) + + fun src(x: Int, y: Int, width: Int, height: Int): Blit { + srcRect = Rect2i(x, y, width, height) + + return this + } + + fun dest(x: Int, y: Int, width: Int, height: Int): Blit { + destRect = Rect2i(x, y, width, height) + + return this + } + + fun dest(x: Int, y: Int): Blit { + return dest(x, y, 0, 0) + } + + fun color(r: Float, g: Float, b: Float): Blit { + return this.apply { + this.r = (r.coerceIn(0f, 1f) * 255).toInt() + this.g = (g.coerceIn(0f, 1f) * 255).toInt() + this.b = (b.coerceIn(0f, 1f) * 255).toInt() + } + } + + fun opacity(a: Float): Blit { + return this.apply { + this.a = (a.coerceIn(0f, 1f) * 255).toInt() + } + } + + fun color(r: Float, g: Float, b: Float, a: Float): Blit { + return this.color(r, g, b).opacity(a) + } + + fun colorRgb(color: Int, withAlpha: Boolean = false): Blit { + val r = Colors.getRed(color) + val g = Colors.getGreen(color) + val b = Colors.getBlue(color) + + color(r, g, b) + + if (withAlpha) { + val a = Colors.getAlpha(color) + + opacity(a) + } + + return this + } + + fun copy(): Blit { + val copy = Blit(texture, referenceWidth, referenceHeight) + + val self = this + + return copy.apply { + srcRect = self.srcRect + destRect = self.destRect + blending = self.blending + r = self.r + g = self.g + b = self.b + a = self.a + } + } + + fun draw(poseStack: PoseStack, zIndex: Float) { + RenderSystem.setShader { GameRenderer.getPositionTexColorShader() } + RenderSystem.setShaderTexture(0, texture) + + val minU: Float + val minV: Float + val maxU: Float + val maxV: Float + + if (srcRect == null) { + minU = 0f + minV = 0f + maxU = 1f + maxV = 1f + } else { + minU = srcRect!!.x / referenceWidth.toFloat() + minV = srcRect!!.y / referenceHeight.toFloat() + maxU = (srcRect!!.x + srcRect!!.width) / referenceWidth.toFloat() + maxV = (srcRect!!.y + srcRect!!.height) / referenceHeight.toFloat() + } + + val x1: Float = destRect.x.toFloat() + val y1: Float = destRect.y.toFloat() + + var x2 = x1 + var y2 = y1 + + if (destRect.width != 0 && destRect.height != 0) { + x2 += destRect.width.toFloat() + y2 += destRect.height.toFloat() + } else if (srcRect != null) { + x2 += srcRect!!.width.toFloat() + y2 += srcRect!!.height.toFloat() + } + + val matrix = poseStack.last().pose() + + val bufferBuilder = Tesselator.getInstance().builder + bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR_TEX) + bufferBuilder.vertex(matrix, x1, y2, zIndex) + .color(r, g, b, a) + .uv(minU, maxV) + .endVertex() + bufferBuilder.vertex(matrix, x2, y2, zIndex) + .color(r, g, b, a) + .uv(maxU, maxV) + .endVertex() + bufferBuilder.vertex(matrix, x2, y1, zIndex) + .color(r, g, b, a) + .uv(maxU, minV) + .endVertex() + bufferBuilder.vertex(matrix, x1, y1, zIndex) + .color(r, g, b, a) + .uv(minU, minV) + .endVertex() + bufferBuilder.end() + + if (blending) { + RenderSystem.enableBlend() + RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA) + } else { + RenderSystem.disableBlend() + } + + RenderSystem.enableTexture() + BufferUploader.end(bufferBuilder) + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/integration/appeng/AppEng.kt b/src/main/kotlin/com/the9grounds/aeadditions/integration/appeng/AppEng.kt index 6b230456..cf20eb6e 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/integration/appeng/AppEng.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/integration/appeng/AppEng.kt @@ -1,7 +1,9 @@ package com.the9grounds.aeadditions.integration.appeng import appeng.api.storage.StorageCells +import com.the9grounds.aeadditions.integration.Mods import com.the9grounds.aeadditions.me.storage.AEAdditionsCellHandler +import com.the9grounds.aeadditions.me.storage.ExtendedDiskCellHandler import com.the9grounds.aeadditions.me.storage.SuperCellHandler class AppEng { @@ -11,9 +13,9 @@ class AppEng { fun initCellHandler() { StorageCells.addCellHandler(AEAdditionsCellHandler) StorageCells.addCellHandler(SuperCellHandler) -// if (Mods.AE2THINGS.isEnabled) { -// StorageCells.addCellHandler(ExtendedDiskCellHandler()) -// } + if (Mods.AE2THINGS.isEnabled) { + StorageCells.addCellHandler(ExtendedDiskCellHandler()) + } } } } \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt.old b/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt similarity index 100% rename from src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt.old rename to src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt diff --git a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt.old b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt similarity index 100% rename from src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt.old rename to src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt diff --git a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/SuperCellHandler.kt b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/SuperCellHandler.kt index 03196fdb..226e7f75 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/SuperCellHandler.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/SuperCellHandler.kt @@ -5,6 +5,7 @@ import appeng.api.storage.cells.ICellHandler import appeng.api.storage.cells.ISaveProvider import appeng.core.localization.Tooltips import net.minecraft.network.chat.Component +import net.minecraft.network.chat.TextComponent import net.minecraft.world.item.ItemStack object SuperCellHandler : ICellHandler { @@ -27,7 +28,7 @@ object SuperCellHandler : ICellHandler { } val number = handler.numberOfTypesByKeyType[keyType] ?: 0 - lines.add(Component.literal("$number $description Type${if (number != 1) "s" else ""}")) + lines.add(TextComponent("${number} ${description} Type${if (number != 1) "s" else ""}")) } } } \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/registries/Cells.kt b/src/main/kotlin/com/the9grounds/aeadditions/registries/Cells.kt index 3b35844f..c4e4af81 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/registries/Cells.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/registries/Cells.kt @@ -27,22 +27,22 @@ object Cells { StorageCellModels.registerModel(Items.SUPER_CELL_16M, ResourceLocation("ae2additions:block/drive/cells/super/16m")) StorageCellModels.registerModel(Items.SUPER_CELL_65M, ResourceLocation("ae2additions:block/drive/cells/super/65m")) -// if (Mods.AE2THINGS.isEnabled) { -// StorageCellModels.registerModel(Items.DISK_256k, ResourceLocation("ae2additions:block/drive/cells/item/disk_256k")) -// StorageCellModels.registerModel(Items.DISK_1024k, ResourceLocation("ae2additions:block/drive/cells/item/disk_1024k")) -// StorageCellModels.registerModel(Items.DISK_4096k, ResourceLocation("ae2additions:block/drive/cells/item/disk_4096k")) -// StorageCellModels.registerModel(Items.DISK_16384k, ResourceLocation("ae2additions:block/drive/cells/item/disk_16384k")) -// StorageCellModels.registerModel(Items.DISK_65536k, ResourceLocation("ae2additions:block/drive/cells/item/disk_65536k")) -// -// StorageCellModels.registerModel(Items.DISK_FLUID_1k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_1k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_4k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_4k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_16k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_16k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_64k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_64k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_256k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_256k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_1024k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_1024k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_4096k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_4096k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_16384k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_16384k")) -// StorageCellModels.registerModel(Items.DISK_FLUID_65536k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_65536k")) -// } + if (Mods.AE2THINGS.isEnabled) { + StorageCellModels.registerModel(Items.DISK_256k, ResourceLocation("ae2additions:block/drive/cells/item/disk_256k")) + StorageCellModels.registerModel(Items.DISK_1024k, ResourceLocation("ae2additions:block/drive/cells/item/disk_1024k")) + StorageCellModels.registerModel(Items.DISK_4096k, ResourceLocation("ae2additions:block/drive/cells/item/disk_4096k")) + StorageCellModels.registerModel(Items.DISK_16384k, ResourceLocation("ae2additions:block/drive/cells/item/disk_16384k")) + StorageCellModels.registerModel(Items.DISK_65536k, ResourceLocation("ae2additions:block/drive/cells/item/disk_65536k")) + + StorageCellModels.registerModel(Items.DISK_FLUID_1k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_1k")) + StorageCellModels.registerModel(Items.DISK_FLUID_4k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_4k")) + StorageCellModels.registerModel(Items.DISK_FLUID_16k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_16k")) + StorageCellModels.registerModel(Items.DISK_FLUID_64k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_64k")) + StorageCellModels.registerModel(Items.DISK_FLUID_256k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_256k")) + StorageCellModels.registerModel(Items.DISK_FLUID_1024k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_1024k")) + StorageCellModels.registerModel(Items.DISK_FLUID_4096k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_4096k")) + StorageCellModels.registerModel(Items.DISK_FLUID_16384k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_16384k")) + StorageCellModels.registerModel(Items.DISK_FLUID_65536k, ResourceLocation("ae2additions:block/drive/cells/fluid/disk_65536k")) + } } } \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt b/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt index 70596ae0..d448ac39 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt @@ -5,12 +5,16 @@ import appeng.core.definitions.AEItems import appeng.items.materials.StorageComponentItem import com.the9grounds.aeadditions.core.CreativeTab import com.the9grounds.aeadditions.integration.Mods +import com.the9grounds.aeadditions.item.storage.DiskCell +import com.the9grounds.aeadditions.item.storage.DiskCellWithoutMod import com.the9grounds.aeadditions.item.storage.StorageCell import com.the9grounds.aeadditions.item.storage.SuperStorageCell +import io.github.projectet.ae2things.item.AETItems import net.minecraft.core.Registry import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.Item import net.minecraft.world.item.Rarity +import net.minecraft.world.level.ItemLike object Items { val ITEMS = mutableListOf() @@ -51,23 +55,23 @@ object Items { val SUPER_CELL_16M = createItem(Ids.SUPER_CELL_16M) { properties -> SuperStorageCell(properties.stacksTo(1).rarity(Rarity.RARE), SUPER_CELL_COMPONENT_16M, SUPER_CELL_HOUSING, 3.0, 32768, 16384, 250) } val SUPER_CELL_65M = createItem(Ids.SUPER_CELL_65M) { properties -> SuperStorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), SUPER_CELL_COMPONENT_65M, SUPER_CELL_HOUSING, 30.0, 131072, 65536, 300) } -// val DISK_FLUID_HOUSING = createItem(Ids.DISK_FLUID_HOUSING, { Item(it.stacksTo(64))}, Mods.AE2THINGS) -// -// val DISK_256k = createItemForMod(Ids.DISK_256k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), AEItems.CELL_COMPONENT_256K, getAEThingsHousing(),256, 3.0) }, Mods.AE2THINGS) -// val DISK_1024k = createItemForMod(Ids.DISK_1024k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_1024k, getAEThingsHousing(), 1024, 5.0) }, Mods.AE2THINGS) -// val DISK_4096k = createItemForMod(Ids.DISK_4096k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.UNCOMMON), AEKeyType.items(), CELL_COMPONENT_4096k, getAEThingsHousing(), 4096, 8.0) }, Mods.AE2THINGS) -// val DISK_16384k = createItemForMod(Ids.DISK_16384k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.RARE), AEKeyType.items(), CELL_COMPONENT_16384k, getAEThingsHousing(), 16384, 10.0) }, Mods.AE2THINGS) -// val DISK_65536k = createItemForMod(Ids.DISK_65536k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.EPIC), AEKeyType.items(), CELL_COMPONENT_65536k, getAEThingsHousing(), 65536, 15.0) }, Mods.AE2THINGS) -// -// val DISK_FLUID_1k = createItem(Ids.DISK_FLUID_1k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_1K, DISK_FLUID_HOUSING, 1, .5)}, Mods.AE2THINGS) -// val DISK_FLUID_4k = createItem(Ids.DISK_FLUID_4k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_4K, DISK_FLUID_HOUSING, 4, 1.0)}, Mods.AE2THINGS) -// val DISK_FLUID_16k = createItem(Ids.DISK_FLUID_16k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_16K, DISK_FLUID_HOUSING, 16, 1.5)}, Mods.AE2THINGS) -// val DISK_FLUID_64k = createItem(Ids.DISK_FLUID_64k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_64K, DISK_FLUID_HOUSING, 64, 2.0)}, Mods.AE2THINGS) -// val DISK_FLUID_256k = createItem(Ids.DISK_FLUID_256k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_256K, DISK_FLUID_HOUSING, 256, 4.0)}, Mods.AE2THINGS) -// val DISK_FLUID_1024k = createItem(Ids.DISK_FLUID_1024k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_1024k, DISK_FLUID_HOUSING, 1024, 6.0)}, Mods.AE2THINGS) -// val DISK_FLUID_4096k = createItem(Ids.DISK_FLUID_4096k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_4096k, DISK_FLUID_HOUSING, 4096, 8.0)}, Mods.AE2THINGS) -// val DISK_FLUID_16384k = createItem(Ids.DISK_FLUID_16384k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_16384k, DISK_FLUID_HOUSING, 16384, 10.0)}, Mods.AE2THINGS) -// val DISK_FLUID_65536k = createItem(Ids.DISK_FLUID_65536k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_65536k, DISK_FLUID_HOUSING, 65536, 15.0)}, Mods.AE2THINGS) + val DISK_FLUID_HOUSING = createItem(Ids.DISK_FLUID_HOUSING, { Item(it.stacksTo(64))}, Mods.AE2THINGS) + + val DISK_256k = createItemForMod(Ids.DISK_256k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), AEItems.CELL_COMPONENT_256K, getAEThingsHousing(),256, 3.0) }, Mods.AE2THINGS) + val DISK_1024k = createItemForMod(Ids.DISK_1024k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_1024k, getAEThingsHousing(), 1024, 5.0) }, Mods.AE2THINGS) + val DISK_4096k = createItemForMod(Ids.DISK_4096k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.UNCOMMON), AEKeyType.items(), CELL_COMPONENT_4096k, getAEThingsHousing(), 4096, 8.0) }, Mods.AE2THINGS) + val DISK_16384k = createItemForMod(Ids.DISK_16384k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.RARE), AEKeyType.items(), CELL_COMPONENT_16384k, getAEThingsHousing(), 16384, 10.0) }, Mods.AE2THINGS) + val DISK_65536k = createItemForMod(Ids.DISK_65536k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.EPIC), AEKeyType.items(), CELL_COMPONENT_65536k, getAEThingsHousing(), 65536, 15.0) }, Mods.AE2THINGS) + + val DISK_FLUID_1k = createItem(Ids.DISK_FLUID_1k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_1K, DISK_FLUID_HOUSING, 1, .5)}, Mods.AE2THINGS) + val DISK_FLUID_4k = createItem(Ids.DISK_FLUID_4k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_4K, DISK_FLUID_HOUSING, 4, 1.0)}, Mods.AE2THINGS) + val DISK_FLUID_16k = createItem(Ids.DISK_FLUID_16k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_16K, DISK_FLUID_HOUSING, 16, 1.5)}, Mods.AE2THINGS) + val DISK_FLUID_64k = createItem(Ids.DISK_FLUID_64k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_64K, DISK_FLUID_HOUSING, 64, 2.0)}, Mods.AE2THINGS) + val DISK_FLUID_256k = createItem(Ids.DISK_FLUID_256k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_256K, DISK_FLUID_HOUSING, 256, 4.0)}, Mods.AE2THINGS) + val DISK_FLUID_1024k = createItem(Ids.DISK_FLUID_1024k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_1024k, DISK_FLUID_HOUSING, 1024, 6.0)}, Mods.AE2THINGS) + val DISK_FLUID_4096k = createItem(Ids.DISK_FLUID_4096k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_4096k, DISK_FLUID_HOUSING, 4096, 8.0)}, Mods.AE2THINGS) + val DISK_FLUID_16384k = createItem(Ids.DISK_FLUID_16384k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_16384k, DISK_FLUID_HOUSING, 16384, 10.0)}, Mods.AE2THINGS) + val DISK_FLUID_65536k = createItem(Ids.DISK_FLUID_65536k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), CELL_COMPONENT_65536k, DISK_FLUID_HOUSING, 65536, 15.0)}, Mods.AE2THINGS) fun init() { @@ -152,19 +156,19 @@ object Items { // } // } -// fun loadDiskCell(props: Item.Properties, keyType: AEKeyType, component: ItemLike, housing: ItemLike, kiloBytes: Int, idleDrain: Double): DiskCellWithoutMod { -// return if (Mods.AE2THINGS.isEnabled) { -// DiskCell(props, keyType, component, housing, kiloBytes, idleDrain) -// } else { -// DiskCellWithoutMod(props) -// } -// } + fun loadDiskCell(props: Item.Properties, keyType: AEKeyType, component: ItemLike, housing: ItemLike, kiloBytes: Int, idleDrain: Double): DiskCellWithoutMod { + return if (Mods.AE2THINGS.isEnabled) { + DiskCell(props, keyType, component, housing, kiloBytes, idleDrain) + } else { + DiskCellWithoutMod(props) + } + } -// private fun getAEThingsHousing(): Item { -// return if (Mods.AE2THINGS.isEnabled) { -// AETItems.DISK_HOUSING.asItem() -// } else { -// DISK_FLUID_HOUSING -// } -// } + private fun getAEThingsHousing(): Item { + return if (Mods.AE2THINGS.isEnabled) { + AETItems.DISK_HOUSING.asItem() + } else { + DISK_FLUID_HOUSING + } + } } \ No newline at end of file diff --git a/src/main/resources/ae2additions.mixins.json b/src/main/resources/ae2additions.mixins.json index c1826de9..adddf48a 100644 --- a/src/main/resources/ae2additions.mixins.json +++ b/src/main/resources/ae2additions.mixins.json @@ -2,7 +2,7 @@ "minVersion": "0.8", "required": true, "package": "com.the9grounds.aeadditions.core.mixin", - "refmap": "AEAdditions-1.19.2-refmap.json", + "refmap": "AEAdditions-1.18.2-refmap.json", "compatibilityLevel": "JAVA_17", "mixins": [ ], diff --git a/src/main/resources/data/ae2additions/advancements/recipes/ae2additions/super_cell_housing.json b/src/main/resources/data/ae2additions/advancements/recipes/ae2additions/super_cell_housing.json deleted file mode 100644 index 5242b8f3..00000000 --- a/src/main/resources/data/ae2additions/advancements/recipes/ae2additions/super_cell_housing.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "ae2additions:super_cell_housing" - ] - }, - "criteria": { - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "tag": "forge:gems/diamond" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "ae2additions:super_cell_housing" - } - } - }, - "requirements": [ - [ - "has_item", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1-casing.json new file mode 100644 index 00000000..2a6720cc --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2:cell_component_1k" + } + ], + "result": { + "item": "ae2additions:disk_fluid_1k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1.json new file mode 100644 index 00000000..7ea413b4 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_1k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_1k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024-casing.json new file mode 100644 index 00000000..aaaafd5a --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2additions:cell_component_1024" + } + ], + "result": { + "item": "ae2additions:disk_fluid_1024k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024.json new file mode 100644 index 00000000..cbff7308 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-1024.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_1024" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_1024k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16-casing.json new file mode 100644 index 00000000..1f885512 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2:cell_component_16k" + } + ], + "result": { + "item": "ae2additions:disk_fluid_16k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16.json new file mode 100644 index 00000000..359a64d7 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_16k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_16k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384-casing.json new file mode 100644 index 00000000..04db8040 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2additions:cell_component_16384" + } + ], + "result": { + "item": "ae2additions:disk_fluid_16384k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384.json new file mode 100644 index 00000000..ec259c73 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-16384.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_16384" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_16384k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256-casing.json new file mode 100644 index 00000000..ba91165d --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2:cell_component_256k" + } + ], + "result": { + "item": "ae2additions:disk_fluid_256k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256.json new file mode 100644 index 00000000..c2c1febf --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-256.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_256k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_256k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4-casing.json new file mode 100644 index 00000000..9ad1f580 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2:cell_component_4k" + } + ], + "result": { + "item": "ae2additions:disk_fluid_4k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4.json new file mode 100644 index 00000000..3e49d1be --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_4k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_4k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096-casing.json new file mode 100644 index 00000000..25b26c14 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2additions:cell_component_4096" + } + ], + "result": { + "item": "ae2additions:disk_fluid_4096k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096.json new file mode 100644 index 00000000..a4910a6e --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-4096.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_4096" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_4096k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64-casing.json new file mode 100644 index 00000000..b8e7f15a --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2:cell_component_64k" + } + ], + "result": { + "item": "ae2additions:disk_fluid_64k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64.json new file mode 100644 index 00000000..490e2729 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-64.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_64k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_64k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536-casing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536-casing.json new file mode 100644 index 00000000..7e76ce68 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2additions:disk_fluid_housing" + }, + { + "item": "ae2additions:cell_component_65536" + } + ], + "result": { + "item": "ae2additions:disk_fluid_65536k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536.json new file mode 100644 index 00000000..93848ac2 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-65536.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_65536" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_65536k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-housing.json b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-housing.json new file mode 100644 index 00000000..c6d5fb8a --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/fluid/disk-housing.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "b b", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "item": "minecraft:lapis_lazuli" + } + }, + "result": { + "item": "ae2additions:disk_fluid_housing" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024-casing.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024-casing.json new file mode 100644 index 00000000..8df887c3 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2things:disk_housing" + }, + { + "item": "ae2additions:cell_component_1024" + } + ], + "result": { + "item": "ae2additions:disk_item_1024k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024.json new file mode 100644 index 00000000..48e13286 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-1024.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_1024" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "tag": "c:amethyst" + } + }, + "result": { + "item": "ae2additions:disk_item_1024k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384-casing.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384-casing.json new file mode 100644 index 00000000..0f90be49 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2things:disk_housing" + }, + { + "item": "ae2additions:cell_component_16384" + } + ], + "result": { + "item": "ae2additions:disk_item_16384k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384.json new file mode 100644 index 00000000..3731d2b3 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-16384.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_16384" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "tag": "c:amethyst" + } + }, + "result": { + "item": "ae2additions:disk_item_16384k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-256-casing.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-256-casing.json new file mode 100644 index 00000000..4261546e --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-256-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2things:disk_housing" + }, + { + "item": "ae2:cell_component_256k" + } + ], + "result": { + "item": "ae2additions:disk_item_256k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-256.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-256.json new file mode 100644 index 00000000..a02f0070 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-256.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2:cell_component_256k" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "tag": "c:amethyst" + } + }, + "result": { + "item": "ae2additions:disk_item_256k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096-casing.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096-casing.json new file mode 100644 index 00000000..9413f7d7 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2things:disk_housing" + }, + { + "item": "ae2additions:cell_component_4096" + } + ], + "result": { + "item": "ae2additions:disk_item_4096k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096.json new file mode 100644 index 00000000..dfe06304 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-4096.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_4096" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "tag": "c:amethyst" + } + }, + "result": { + "item": "ae2additions:disk_item_4096k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536-casing.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536-casing.json new file mode 100644 index 00000000..28596570 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536-casing.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ae2things:disk_housing" + }, + { + "item": "ae2additions:cell_component_65536" + } + ], + "result": { + "item": "ae2additions:disk_item_65536k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536.json b/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536.json new file mode 100644 index 00000000..8e52d827 --- /dev/null +++ b/src/main/resources/data/ae2additions/recipes/cells/item/disk-65536.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "aba", + "bcb", + "ded" + ], + "key": { + "a": { + "item": "ae2:quartz_glass" + }, + "b": { + "tag": "c:redstone_dusts" + }, + "c": { + "item": "ae2additions:cell_component_65536" + }, + "d": { + "tag": "c:netherite_ingots" + }, + "e": { + "tag": "c:amethyst" + } + }, + "result": { + "item": "ae2additions:disk_item_65536k" + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "ae2things" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/ae2additions/recipes/super_cell_housing.json b/src/main/resources/data/ae2additions/recipes/super_cell_housing.json deleted file mode 100644 index 447c4146..00000000 --- a/src/main/resources/data/ae2additions/recipes/super_cell_housing.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "aba", - "b b", - "ccc" - ], - "key": { - "a": { - "item": "ae2:quartz_glass" - }, - "b": { - "tag": "c:redstone_dusts" - }, - "c": { - "tag": "c:diamonds" - } - }, - "result": { - "item": "ae2additions:super_cell_housing" - } -} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index f3211363..0febc84c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -33,11 +33,11 @@ }, "mixins": ["ae2additions.mixins.json"], "depends": { - "fabricloader": ">=0.14.9", - "fabric": ">=0.63.0", + "fabricloader": ">=0.12.5", + "fabric": ">=0.42.4", "fabric-language-kotlin": "*", - "minecraft": "1.19.x", - "ae2": ">=12.0.0" + "minecraft": "1.18.x", + "ae2": ">=11.1.0" }, "conflicts": { From 269c73f3d6b7638cd1c9676e113a910f2456a6fe Mon Sep 17 00:00:00 2001 From: KonSola5 Date: Wed, 12 Jul 2023 20:49:05 +0200 Subject: [PATCH 2/2] 1.18.2, fix cell sizes, consistent textures,... ... Starting work on the Fluid DISK. --- build.gradle.kts | 2 +- gradle.properties | 12 +-- .../aeadditions/item/storage/DiskCell.kt | 2 +- .../me/storage/ExtendedDiskCellHandler.kt | 6 ++ .../me/storage/FluidDISKCellInventory.kt | 50 ++++++++++ .../me/storage/FluidDISKCellItem.kt | 37 +++++++ .../aeadditions/registries/Items.kt | 30 +++--- .../aeadditions/util/DataStorage.kt | 44 +++++++++ .../aeadditions/util/StorageManager.kt | 91 ++++++++++++++++++ .../assets/ae2additions/lang/en_us.json | 41 ++++---- .../textures/block/crafting/1024k_storage.png | Bin 1177 -> 6402 bytes .../block/crafting/1024k_storage_light.png | Bin 1018 -> 8957 bytes .../block/crafting/16384k_storage.png | Bin 1202 -> 6584 bytes .../block/crafting/16384k_storage_light.png | Bin 884 -> 7782 bytes .../crafting/16384k_storage_light.png.mcmeta | 20 ++-- .../textures/block/crafting/4096k_storage.png | Bin 1154 -> 6420 bytes .../block/crafting/4096k_storage_light.png | Bin 1007 -> 7607 bytes .../block/crafting/65536k_storage.png | Bin 1185 -> 6368 bytes .../block/crafting/65536k_storage_light.png | Bin 892 -> 7549 bytes .../crafting/65536k_storage_light.png.mcmeta | 16 +-- .../textures/item/cell_component_1024.png | Bin 1434 -> 1133 bytes .../textures/item/cell_component_16384.png | Bin 1378 -> 1153 bytes .../textures/item/cell_component_4096.png | Bin 1382 -> 1117 bytes .../textures/item/cell_component_65536.png | Bin 3270 -> 1133 bytes .../textures/item/disk_fluid_1024k.png | Bin 3069 -> 945 bytes .../textures/item/disk_fluid_16384k.png | Bin 3055 -> 5670 bytes .../textures/item/disk_fluid_16k.png | Bin 3059 -> 900 bytes .../textures/item/disk_fluid_1k.png | Bin 3059 -> 942 bytes .../textures/item/disk_fluid_256k.png | Bin 3063 -> 904 bytes .../textures/item/disk_fluid_4096k.png | Bin 3065 -> 907 bytes .../textures/item/disk_fluid_4k.png | Bin 3060 -> 906 bytes .../textures/item/disk_fluid_64k.png | Bin 3133 -> 952 bytes .../textures/item/disk_fluid_65536k.png | Bin 3058 -> 901 bytes .../textures/item/disk_item_1024k.png | Bin 3154 -> 983 bytes .../textures/item/disk_item_16384k.png | Bin 3120 -> 5775 bytes .../textures/item/disk_item_256k.png | Bin 3121 -> 968 bytes .../textures/item/disk_item_4096k.png | Bin 3126 -> 973 bytes .../textures/item/disk_item_65536k.png | Bin 3121 -> 991 bytes .../textures/item/fluid_storage_cell_1024.png | Bin 1199 -> 1079 bytes .../item/fluid_storage_cell_16384.png | Bin 1214 -> 6086 bytes .../textures/item/fluid_storage_cell_4096.png | Bin 1214 -> 1078 bytes .../textures/item/item_storage_cell_1024.png | Bin 1110 -> 971 bytes .../textures/item/item_storage_cell_16384.png | Bin 1354 -> 5780 bytes .../textures/item/item_storage_cell_4096.png | Bin 1114 -> 965 bytes .../textures/item/item_storage_cell_65536.png | Bin 3247 -> 984 bytes .../item/super_storage_cell_1024k.png | Bin 2950 -> 898 bytes .../textures/item/super_storage_cell_16k.png | Bin 2949 -> 908 bytes .../textures/item/super_storage_cell_16m.png | Bin 2948 -> 5531 bytes .../textures/item/super_storage_cell_1k.png | Bin 2951 -> 889 bytes .../textures/item/super_storage_cell_256k.png | Bin 2952 -> 904 bytes .../item/super_storage_cell_4096k.png | Bin 2950 -> 902 bytes .../textures/item/super_storage_cell_4k.png | Bin 2951 -> 901 bytes .../textures/item/super_storage_cell_64k.png | Bin 2952 -> 906 bytes .../textures/item/super_storage_cell_65m.png | Bin 2950 -> 895 bytes 54 files changed, 289 insertions(+), 62 deletions(-) create mode 100644 src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellInventory.kt create mode 100644 src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellItem.kt create mode 100644 src/main/kotlin/com/the9grounds/aeadditions/util/DataStorage.kt create mode 100644 src/main/kotlin/com/the9grounds/aeadditions/util/StorageManager.kt diff --git a/build.gradle.kts b/build.gradle.kts index 6ecc9df2..bf558f0a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -63,7 +63,7 @@ dependencies { modRuntimeOnly("me.shedaniel:RoughlyEnoughItems-fabric:$reiVersion") modImplementation("appeng:appliedenergistics2-fabric:$aeVersion") - modImplementation("curse.maven:ae2-things-563800:3796436") + modImplementation("curse.maven:ae2things-563800:4024417") annotationProcessor("org.spongepowered:mixin:0.8.5:processor") modCompileOnly("org.spongepowered:mixin:0.8.5") { isTransitive = false } diff --git a/gradle.properties b/gradle.properties index d8fbafc3..1b6d8bb2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,18 +17,18 @@ # modBaseName=AEAdditions-1.18.2 -aeVersion=11.1.0 +aeVersion=11.7.2 modCurseId=493962 -reiVersion=8.2.469 +reiVersion=8.3.594 kotlin.code.style = official org.gradle.jvmargs = -Xmx1G org.gradle.warning.mode = all # Check these on https://fabricmc.net/develop/ -minecraftVersion = 1.18.2 -yarnMappings = 1.18.2+build.3 -loaderVersion = 0.13.3 +minecraftVersion=1.18.2 +yarnMappings=1.18.2+build.4 +loaderVersion=0.14.21 # Fabric API -fabricVersion = 0.51.1+1.18.2 +fabricVersion=0.76.0+1.18.2 loomVersion = 0.11-SNAPSHOT # Mod Properties modVersion = 3.0.3 diff --git a/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt b/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt index 6c13b57d..0eb5fbd8 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt @@ -46,7 +46,7 @@ class DiskCell(properties: Item.Properties, private val _keyType: AEKeyType, val } override fun getBytes(cellItem: ItemStack?): Int { - return kilobytes * 1024 + return kilobytes * 1000 } override fun getIdleDrain(): Double { diff --git a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt index a69ede0d..6ddb41d8 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt @@ -1,11 +1,17 @@ package com.the9grounds.aeadditions.me.storage +import appeng.api.storage.cells.ISaveProvider import com.the9grounds.aeadditions.item.storage.DiskCell import io.github.projectet.ae2things.storage.DISKCellHandler +import io.github.projectet.ae2things.storage.DISKCellInventory import net.minecraft.world.item.ItemStack class ExtendedDiskCellHandler : DISKCellHandler() { override fun isCell(`is`: ItemStack?): Boolean { return `is`!!.item is DiskCell } + + override fun getCellInventory(`is`: ItemStack?, container: ISaveProvider?): DISKCellInventory? { + return super.getCellInventory(`is`, container) + } } \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellInventory.kt b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellInventory.kt new file mode 100644 index 00000000..7b445248 --- /dev/null +++ b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellInventory.kt @@ -0,0 +1,50 @@ +package com.the9grounds.aeadditions.me.storage + +import appeng.api.storage.cells.CellState +import appeng.api.storage.cells.ISaveProvider +import io.github.projectet.ae2things.storage.DISKCellInventory +import io.github.projectet.ae2things.storage.IDISKCellItem +import net.minecraft.world.item.ItemStack + +class FluidDISKCellInventory(val cellType: IDISKCellItem?, val stack: ItemStack, val saveProvider: ISaveProvider?) : DISKCellInventory (cellType, stack, saveProvider){ + companion object { + const val BUCKET = 81000 + } + + override fun getFreeBytes(): Long { + return super.getTotalBytes() * BUCKET - super.getStoredItemCount() + } + + override fun canHoldNewItem(): Boolean { + return (getTrueAmount() > 0 && getTrueAmount() != super.getTotalBytes() * BUCKET) + } + + override fun getNbtItemCount(): Long { + if (super.hasDiskUUID()) { + return if (stack.tag!!.getLong(ITEM_COUNT_TAG) == 0L) { + 0 + } else { + Math.floorDiv(stack.tag!!.getLong(ITEM_COUNT_TAG) - 1, BUCKET + 1) // Actually a ceiling. + } + // A bucket has 81000 droplets. 1 byte = 1 bucket. + } + return 0 + } + + override fun getClientStatus(): CellState { + if (getTrueAmount() == 0L) { + return CellState.EMPTY + } + if ((getTrueAmount() > 0L) && getTrueAmount() != totalBytes * BUCKET) { + return CellState.NOT_EMPTY + } + return CellState.FULL + } + + private fun getTrueAmount(): Long { + if (super.hasDiskUUID()) { + return stack.tag!!.getLong(ITEM_COUNT_TAG) + } + return 0 + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellItem.kt b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellItem.kt new file mode 100644 index 00000000..4e56d504 --- /dev/null +++ b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/FluidDISKCellItem.kt @@ -0,0 +1,37 @@ +package com.the9grounds.aeadditions.me.storage + +import appeng.api.stacks.AEItemKey +import appeng.api.stacks.AEKey +import appeng.api.stacks.AEKeyType +import appeng.api.storage.cells.IBasicCellItem +import appeng.api.storage.cells.ICellWorkbenchItem +import appeng.me.cells.BasicCellHandler +import appeng.util.ConfigInventory +import com.google.common.base.Preconditions +import io.github.projectet.ae2things.storage.DISKCellHandler +import io.github.projectet.ae2things.storage.IDISKCellItem +import net.minecraft.network.chat.Component +import net.minecraft.world.item.ItemStack + + interface IFluidDISKCellItem : IDISKCellItem { + override fun isBlackListed(cellItem: ItemStack?, requestedAddition: AEKey): Boolean { + return if ((requestedAddition as AEItemKey).item is IBasicCellItem) { + BasicCellHandler.INSTANCE.getCellInventory(requestedAddition.toStack(), null)!!.usedBytes > 0 + } else false + } + + override fun storableInStorageCell(): Boolean { + return false + } + + override fun isStorageCell(i: ItemStack?): Boolean { + return true + } + + override fun getConfigInventory(`is`: ItemStack): ConfigInventory + + override fun addCellInformationToTooltip(`is`: ItemStack, lines: List?) { + Preconditions.checkArgument(`is`.item === this) + DISKCellHandler.INSTANCE.addCellInformationToTooltip(`is`, lines) + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt b/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt index d448ac39..cc118dde 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt @@ -20,9 +20,9 @@ object Items { val ITEMS = mutableListOf() val CELL_COMPONENT_1024k = createItem(Ids.CELL_COMPONENT_1024) { properties -> StorageComponentItem(properties, 1024)} - val CELL_COMPONENT_4096k = createItem(Ids.CELL_COMPONENT_4096) { properties -> StorageComponentItem(properties.rarity(Rarity.RARE), 4096)} - val CELL_COMPONENT_16384k = createItem(Ids.CELL_COMPONENT_16384) { properties -> StorageComponentItem(properties.rarity(Rarity.EPIC), 16384) } - val CELL_COMPONENT_65536k = createItem(Ids.CELL_COMPONENT_65536) { properties -> StorageComponentItem(properties.rarity(Rarity.EPIC), 65536) } + val CELL_COMPONENT_4096k = createItem(Ids.CELL_COMPONENT_4096) { properties -> StorageComponentItem(properties, 4096)} + val CELL_COMPONENT_16384k = createItem(Ids.CELL_COMPONENT_16384) { properties -> StorageComponentItem(properties, 16384) } + val CELL_COMPONENT_65536k = createItem(Ids.CELL_COMPONENT_65536) { properties -> StorageComponentItem(properties, 65536) } val SUPER_CELL_COMPONENT_1k = createItem(Ids.SUPER_CELL_COMPONENT_1k) { properties -> StorageComponentItem(properties, 1) } val SUPER_CELL_COMPONENT_4k = createItem(Ids.SUPER_CELL_COMPONENT_4k) { properties -> StorageComponentItem(properties, 4) } @@ -35,13 +35,13 @@ object Items { val SUPER_CELL_COMPONENT_65M = createItem(Ids.SUPER_CELL_COMPONENT_65M) { properties -> StorageComponentItem(properties, 65536) } val ITEM_STORAGE_CELL_1024k = createItem(Ids.ITEM_STORAGE_CELL_1024) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_1024k, AEItems.ITEM_CELL_HOUSING, 4.0, 4096, 1024, 100, AEKeyType.items())} - val ITEM_STORAGE_CELL_4096k = createItem(Ids.ITEM_STORAGE_CELL_4096) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.RARE), CELL_COMPONENT_4096k, AEItems.ITEM_CELL_HOUSING, 5.0, 8192, 8192, 150, AEKeyType.items())} - val ITEM_STORAGE_CELL_16384k = createItem(Ids.ITEM_STORAGE_CELL_16384) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), CELL_COMPONENT_16384k, AEItems.ITEM_CELL_HOUSING, 6.0, 32768, 16384, 200, AEKeyType.items())} - val ITEM_STORAGE_CELL_65536k = createItem(Ids.ITEM_STORAGE_CELL_65536) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), CELL_COMPONENT_65536k, AEItems.ITEM_CELL_HOUSING, 10.0, 131072, 65536, 300, AEKeyType.items())} + val ITEM_STORAGE_CELL_4096k = createItem(Ids.ITEM_STORAGE_CELL_4096) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_4096k, AEItems.ITEM_CELL_HOUSING, 5.0, 8192, 4096, 150, AEKeyType.items())} + val ITEM_STORAGE_CELL_16384k = createItem(Ids.ITEM_STORAGE_CELL_16384) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_16384k, AEItems.ITEM_CELL_HOUSING, 6.0, 32768, 16384, 200, AEKeyType.items())} + val ITEM_STORAGE_CELL_65536k = createItem(Ids.ITEM_STORAGE_CELL_65536) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_65536k, AEItems.ITEM_CELL_HOUSING, 10.0, 131072, 65536, 300, AEKeyType.items())} - val FLUID_STORAGE_CELL_1024k = createItem(Ids.FLUID_STORAGE_CELL_1024) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.RARE), CELL_COMPONENT_1024k, AEItems.FLUID_CELL_HOUSING, 4.0, 4096, 1024, 10, AEKeyType.fluids()) } - val FLUID_STORAGE_CELL_4096k = createItem(Ids.FLUID_STORAGE_CELL_4096) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), CELL_COMPONENT_4096k, AEItems.FLUID_CELL_HOUSING, 5.0, 8192, 4096, 15, AEKeyType.fluids()) } - val FLUID_STORAGE_CELL_16384k = createItem(Ids.FLUID_STORAGE_CELL_16384) { properties -> StorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), CELL_COMPONENT_16384k, AEItems.FLUID_CELL_HOUSING, 6.0, 32768, 16384, 20, AEKeyType.fluids()) } + val FLUID_STORAGE_CELL_1024k = createItem(Ids.FLUID_STORAGE_CELL_1024) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_1024k, AEItems.FLUID_CELL_HOUSING, 4.0, 4096, 1024, 10, AEKeyType.fluids()) } + val FLUID_STORAGE_CELL_4096k = createItem(Ids.FLUID_STORAGE_CELL_4096) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_4096k, AEItems.FLUID_CELL_HOUSING, 5.0, 8192, 4096, 15, AEKeyType.fluids()) } + val FLUID_STORAGE_CELL_16384k = createItem(Ids.FLUID_STORAGE_CELL_16384) { properties -> StorageCell(properties.stacksTo(1), CELL_COMPONENT_16384k, AEItems.FLUID_CELL_HOUSING, 6.0, 32768, 16384, 20, AEKeyType.fluids()) } val SUPER_CELL_HOUSING = createItem(Ids.SUPER_CELL_HOUSING) { properties -> Item(properties.stacksTo(64)) } @@ -51,17 +51,17 @@ object Items { val SUPER_CELL_64k = createItem(Ids.SUPER_CELL_64k) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_64k, SUPER_CELL_HOUSING, 3.0, 256, 64, 63) } val SUPER_CELL_256k = createItem(Ids.SUPER_CELL_256k) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_256k, SUPER_CELL_HOUSING, 3.0, 1024, 256, 100) } val SUPER_CELL_1024k = createItem(Ids.SUPER_CELL_1024k) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_1024k, SUPER_CELL_HOUSING, 3.0, 4096, 1024, 150) } - val SUPER_CELL_4096k = createItem(Ids.SUPER_CELL_4096k) { properties -> SuperStorageCell(properties.stacksTo(1).rarity(Rarity.UNCOMMON), SUPER_CELL_COMPONENT_4096k, SUPER_CELL_HOUSING, 3.0, 8192, 4096, 200) } - val SUPER_CELL_16M = createItem(Ids.SUPER_CELL_16M) { properties -> SuperStorageCell(properties.stacksTo(1).rarity(Rarity.RARE), SUPER_CELL_COMPONENT_16M, SUPER_CELL_HOUSING, 3.0, 32768, 16384, 250) } - val SUPER_CELL_65M = createItem(Ids.SUPER_CELL_65M) { properties -> SuperStorageCell(properties.stacksTo(1).rarity(Rarity.EPIC), SUPER_CELL_COMPONENT_65M, SUPER_CELL_HOUSING, 30.0, 131072, 65536, 300) } + val SUPER_CELL_4096k = createItem(Ids.SUPER_CELL_4096k) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_4096k, SUPER_CELL_HOUSING, 3.0, 8192, 4096, 200) } + val SUPER_CELL_16M = createItem(Ids.SUPER_CELL_16M) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_16M, SUPER_CELL_HOUSING, 3.0, 32768, 16384, 250) } + val SUPER_CELL_65M = createItem(Ids.SUPER_CELL_65M) { properties -> SuperStorageCell(properties.stacksTo(1), SUPER_CELL_COMPONENT_65M, SUPER_CELL_HOUSING, 30.0, 131072, 65536, 300) } val DISK_FLUID_HOUSING = createItem(Ids.DISK_FLUID_HOUSING, { Item(it.stacksTo(64))}, Mods.AE2THINGS) val DISK_256k = createItemForMod(Ids.DISK_256k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), AEItems.CELL_COMPONENT_256K, getAEThingsHousing(),256, 3.0) }, Mods.AE2THINGS) val DISK_1024k = createItemForMod(Ids.DISK_1024k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_1024k, getAEThingsHousing(), 1024, 5.0) }, Mods.AE2THINGS) - val DISK_4096k = createItemForMod(Ids.DISK_4096k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.UNCOMMON), AEKeyType.items(), CELL_COMPONENT_4096k, getAEThingsHousing(), 4096, 8.0) }, Mods.AE2THINGS) - val DISK_16384k = createItemForMod(Ids.DISK_16384k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.RARE), AEKeyType.items(), CELL_COMPONENT_16384k, getAEThingsHousing(), 16384, 10.0) }, Mods.AE2THINGS) - val DISK_65536k = createItemForMod(Ids.DISK_65536k, { loadDiskCell(it.stacksTo(1).rarity(Rarity.EPIC), AEKeyType.items(), CELL_COMPONENT_65536k, getAEThingsHousing(), 65536, 15.0) }, Mods.AE2THINGS) + val DISK_4096k = createItemForMod(Ids.DISK_4096k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_4096k, getAEThingsHousing(), 4096, 8.0) }, Mods.AE2THINGS) + val DISK_16384k = createItemForMod(Ids.DISK_16384k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_16384k, getAEThingsHousing(), 16384, 10.0) }, Mods.AE2THINGS) + val DISK_65536k = createItemForMod(Ids.DISK_65536k, { loadDiskCell(it.stacksTo(1), AEKeyType.items(), CELL_COMPONENT_65536k, getAEThingsHousing(), 65536, 15.0) }, Mods.AE2THINGS) val DISK_FLUID_1k = createItem(Ids.DISK_FLUID_1k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_1K, DISK_FLUID_HOUSING, 1, .5)}, Mods.AE2THINGS) val DISK_FLUID_4k = createItem(Ids.DISK_FLUID_4k, { loadDiskCell(it.stacksTo(1), AEKeyType.fluids(), AEItems.CELL_COMPONENT_4K, DISK_FLUID_HOUSING, 4, 1.0)}, Mods.AE2THINGS) diff --git a/src/main/kotlin/com/the9grounds/aeadditions/util/DataStorage.kt b/src/main/kotlin/com/the9grounds/aeadditions/util/DataStorage.kt new file mode 100644 index 00000000..f168c0b8 --- /dev/null +++ b/src/main/kotlin/com/the9grounds/aeadditions/util/DataStorage.kt @@ -0,0 +1,44 @@ +package com.the9grounds.aeadditions.util + +import io.github.projectet.ae2things.storage.DISKCellInventory +import net.minecraft.nbt.CompoundTag +import net.minecraft.nbt.ListTag +import net.minecraft.nbt.Tag + +class DataStorage { + var stackKeys: ListTag + var stackAmounts: LongArray + var itemCount: Long + + constructor() { + stackKeys = ListTag() + stackAmounts = LongArray(0) + itemCount = 0 + } + + constructor(stackKeys: ListTag, stackAmounts: LongArray, itemCount: Long) { + this.stackKeys = stackKeys + this.stackAmounts = stackAmounts + this.itemCount = itemCount + } + + fun toNbt(): CompoundTag { + val nbt = CompoundTag() + nbt.put(DISKCellInventory.STACK_KEYS, stackKeys) + nbt.putLongArray(DISKCellInventory.STACK_AMOUNTS, stackAmounts) + if (itemCount != 0L) nbt.putLong(DISKCellInventory.ITEM_COUNT_TAG, itemCount) + return nbt + } + + companion object { + val EMPTY = DataStorage() + fun fromNbt(nbt: CompoundTag): DataStorage { + var itemCount: Long = 0 + val stackKeys = nbt.getList(DISKCellInventory.STACK_KEYS, Tag.TAG_COMPOUND.toInt()) + val stackAmounts = nbt.getLongArray(DISKCellInventory.STACK_AMOUNTS) + if (nbt.contains(DISKCellInventory.ITEM_COUNT_TAG)) itemCount = + nbt.getLong(DISKCellInventory.ITEM_COUNT_TAG) + return DataStorage(stackKeys, stackAmounts, itemCount) + } + } +} \ No newline at end of file diff --git a/src/main/kotlin/com/the9grounds/aeadditions/util/StorageManager.kt b/src/main/kotlin/com/the9grounds/aeadditions/util/StorageManager.kt new file mode 100644 index 00000000..3486272e --- /dev/null +++ b/src/main/kotlin/com/the9grounds/aeadditions/util/StorageManager.kt @@ -0,0 +1,91 @@ +package com.the9grounds.aeadditions.util + +import io.github.projectet.ae2things.util.Constants +import io.github.projectet.ae2things.util.DataStorage +import net.minecraft.nbt.CompoundTag +import net.minecraft.nbt.ListTag +import net.minecraft.server.MinecraftServer +import net.minecraft.server.level.ServerLevel +import net.minecraft.world.level.saveddata.SavedData +import java.util.* + +class StorageManager : SavedData { + private val disks: MutableMap + + constructor() { + disks = HashMap() + this.setDirty() + } + + private constructor(disks: MutableMap) { + this.disks = disks + this.setDirty() + } + + override fun save(nbt: CompoundTag): CompoundTag { + val diskList = ListTag() + disks.forEach { (key, value) -> + val disk = CompoundTag() + disk.putUUID(Constants.DISKUUID, key) + disk.put(Constants.DISKDATA, value!!.toNbt()) + diskList.add(disk) + } + nbt.put(Constants.DISKLIST, diskList) + return nbt + } + + fun updateDisk(uuid: UUID, dataStorage: DataStorage?) { + disks[uuid] = dataStorage + setDirty() + } + + fun removeDisk(uuid: UUID) { + disks.remove(uuid) + setDirty() + } + + fun hasUUID(uuid: UUID): Boolean { + return disks.containsKey(uuid) + } + + fun getOrCreateDisk(uuid: UUID): DataStorage? { + if (!disks.containsKey(uuid)) { + updateDisk(uuid, DataStorage()) + } + return disks[uuid] + } + + fun modifyDisk(diskID: UUID, stackKeys: ListTag?, stackAmounts: LongArray?, itemCount: Long) { + val diskToModify = getOrCreateDisk(diskID) + if (stackKeys != null && stackAmounts != null) { + diskToModify!!.stackKeys = stackKeys + diskToModify.stackAmounts = stackAmounts + } + diskToModify!!.itemCount = itemCount + updateDisk(diskID, diskToModify) + } + + companion object { + fun readNbt(nbt: CompoundTag): StorageManager { + val disks: MutableMap = HashMap() + val diskList = nbt.getList(Constants.DISKLIST, CompoundTag.TAG_COMPOUND.toInt()) + for (i in diskList.indices) { + val disk = diskList.getCompound(i) + disks[disk.getUUID(Constants.DISKUUID)] = DataStorage.fromNbt(disk.getCompound(Constants.DISKDATA)) + } + return StorageManager(disks) + } + + fun getInstance(server: MinecraftServer): StorageManager { + val world = server.getLevel(ServerLevel.OVERWORLD) + return world!!.dataStorage.computeIfAbsent( + { nbt: CompoundTag -> + readNbt( + nbt + ) + }, + { StorageManager() }, Constants.MANAGER_NAME + ) + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ae2additions/lang/en_us.json b/src/main/resources/assets/ae2additions/lang/en_us.json index 096c9a8b..88c7d480 100644 --- a/src/main/resources/assets/ae2additions/lang/en_us.json +++ b/src/main/resources/assets/ae2additions/lang/en_us.json @@ -3,21 +3,21 @@ "item.ae2additions.cell_component_4096": "4096k ME Storage Component", "item.ae2additions.cell_component_16384": "16384k ME Storage Component", "item.ae2additions.cell_component_65536": "65536k ME Storage Component", - "item.ae2additions.item_storage_cell_1024": "ME 1024k Storage Cell", - "item.ae2additions.item_storage_cell_4096": "ME 4096k Storage Cell", - "item.ae2additions.fluid_storage_cell_1024": "ME 1024k Fluid Storage Cell", - "item.ae2additions.fluid_storage_cell_4096": "ME 4096k Fluid Storage Cell", - "item.ae2additions.fluid_storage_cell_16384": "ME 16384k Fluid Storage Cell", - "item.ae2additions.chemical_storage_cell_1024": "ME 1024k Chemical Storage Cell", - "item.ae2additions.chemical_storage_cell_4096": "ME 4096k Chemical Storage Cell", - "item.ae2additions.chemical_storage_cell_16384": "ME 16384k Chemical Storage Cell", - "item.ae2additions.item_storage_cell_16384": "ME 16384k Storage Cell", - "item.ae2additions.item_storage_cell_65536": "ME 65536k Storage Cell", - "item.ae2additions.disk_item_256k": "256K ME DISK Drive", - "item.ae2additions.disk_item_1024k": "1024K ME DISK Drive", - "item.ae2additions.disk_item_4096k": "4096K ME DISK Drive", - "item.ae2additions.disk_item_16384k": "16384K ME DISK Drive", - "item.ae2additions.disk_item_65536k": "65536K ME DISK Drive", + "item.ae2additions.item_storage_cell_1024": "1024k ME Item Storage Cell", + "item.ae2additions.item_storage_cell_4096": "4096k ME Item Storage Cell", + "item.ae2additions.fluid_storage_cell_1024": "1024k ME Fluid Storage Cell", + "item.ae2additions.fluid_storage_cell_4096": "4096k ME Fluid Storage Cell", + "item.ae2additions.fluid_storage_cell_16384": "16384k ME Fluid Storage Cell", + "item.ae2additions.chemical_storage_cell_1024": "1024k ME Chemical Storage Cell", + "item.ae2additions.chemical_storage_cell_4096": "4096k ME Chemical Storage Cell", + "item.ae2additions.chemical_storage_cell_16384": "16384k ME Chemical Storage Cell", + "item.ae2additions.item_storage_cell_16384": "16384k ME Item Storage Cell", + "item.ae2additions.item_storage_cell_65536": "65536k ME Item Storage Cell", + "item.ae2additions.disk_item_256k": "256k ME DISK Drive", + "item.ae2additions.disk_item_1024k": "1024k ME DISK Drive", + "item.ae2additions.disk_item_4096k": "4096k ME DISK Drive", + "item.ae2additions.disk_item_16384k": "16384k ME DISK Drive", + "item.ae2additions.disk_item_65536k": "65536k ME DISK Drive", "item.ae2additions.disk_fluid_housing": "ME Fluid DISK Housing", "item.ae2additions.disk_chemical_housing": "ME Chemical DISK Housing", "item.ae2additions.disk_fluid_1k": "1k ME Fluid DISK Drive", @@ -40,8 +40,8 @@ "item.ae2additions.super_cell_component_256k": "256k ME Super Storage Component", "item.ae2additions.super_cell_component_1024k": "1024k ME Super Storage Component", "item.ae2additions.super_cell_component_4096k": "4096k ME Super Storage Component", - "item.ae2additions.super_cell_component_16m": "16M ME Super Storage Component", - "item.ae2additions.super_cell_component_65m": "65M ME Super Storage Component", + "item.ae2additions.super_cell_component_16m": "16384k ME Super Storage Component", + "item.ae2additions.super_cell_component_65m": "65536k ME Super Storage Component", "item.ae2additions.super_cell_1k": "1k ME Super Storage Cell", "item.ae2additions.super_cell_4k": "4k ME Super Storage Cell", "item.ae2additions.super_cell_16k": "16k ME Super Storage Cell", @@ -49,12 +49,11 @@ "item.ae2additions.super_cell_256k": "256k ME Super Storage Cell", "item.ae2additions.super_cell_1024k": "1024k ME Super Storage Cell", "item.ae2additions.super_cell_4096k": "4096k ME Super Storage Cell", - "item.ae2additions.super_cell_16m": "16M ME Super Storage Cell", - "item.ae2additions.super_cell_65m": "65M ME Super Storage Cell", + "item.ae2additions.super_cell_16m": "16384k ME Super Storage Cell", + "item.ae2additions.super_cell_65m": "65536k ME Super Storage Cell", "item.ae2additions.super_cell_housing": "ME Super Cell Housing", "itemGroup.ae2additions.item_group": "AE Additions", "chat.ae2additions.isNowLocked": "Monitor is now locked", "chat.ae2additions.isNowUnlocked": "Monitor is now unlocked", - "chat.ae2additions.handMustBeEmpty": "Your hand must be empty to perform that action.", - "gui.ae.StorageCells": "AE Additions Storage Cells" + "chat.ae2additions.handMustBeEmpty": "Your hand must be empty to perform that action." } \ No newline at end of file diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage.png b/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage.png index b0de5c0b295c0c53207960336266602c2fde11cc..c40f4cb3fb0a76e8a05905f10f911bdb6f03710d 100644 GIT binary patch literal 6402 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 P>0orbwY1_@-jV+T4);FD delta 1157 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�_I5fvvZ}_j5fEu&RH#hD$KDduNyhw(r{66 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 A?*IS* delta 974 zcmV;<12O#lMfwMjBNqS(a7bBm000XU000XU0RWnu7ytkPi<3bS9DmxC&^>5V0TjjY z-+QrEq_u+qMLN78I$01E>8Mc%LWK}3B+gN*oeM5F&V|!@2id?)?+)w&J9>?-WV9-!0^_QL$8x=D(V=-yvy7DsiuK zA)j9}vwpo7z`K=JoPYHEUoF-)dNDzS^Kqx!C%B1oxB8tv!F{CT%}R~nIZk$qr82=s zq^l$S4e3U)R3?OUcfD|tFpa1&rK?jq-s~oXXOXET?HXZmq-!<8ZDf+xARgZtU}2+u z?J6=@mUGz^d6BAtrk1`HO>L2$f}HG({4p%c8>nh&ibXEjl7FaZYEvwgqrchq>Ss=m zHZ5eC`!XE0026e000+nl3&F}0005$ zNklF^L@Zxs4S8GRfecpx@e8uWn zZh;c?-G5#qsr~EGxJ~vSjlEjiKlz}(S64PXFg!3kFgz#-4|sj71Gk%r2bSh6)SBIs z#~uk1x+9Ut9w~kIXpA8xPd)a(eyGJWw$oM4I7&;lT;a_{Jcb8`2ccj(3=alww*dWvkBiqM=pQ8VK(7}XljizxpF{aUB*l@C zs^p2o8ntE*=~5iS1Ct+^eqs^(iH%7!v7eZl2aQRS=DZ+@Rdyb{)d%@`pudxu2Yt6= wcq?FdaPmCB@qb_7m=`kfV3W|nzy5y@0DDrUQhf)OMgRZ+07*qoM6N<$g0P6e_5c6? diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage.png b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage.png index a13792aae2cc79a1161674b23009d6978b280a60..7031d0ef944c15d987202b963ca26fcf66eaa4b1 100644 GIT binary patch literal 6584 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 PI)k~ncso}vU!C+%7N1o& delta 1142 zcmV-+1d02&GqMSgBa<-~6#@Z^ljsE;f7+GMJ!n$_6vgr1d$CrewSxggI=mq|Sr8TJ zs8I+)g%B$w(ZS@UNdtLl$OkSR1=oUuAB$B77iV1^Tm?b!1H{qENzp}091=(nB6z36 zx%XV|{S)rC;-t6l6iK_^E#$IMu~d%cznZh(A!$b{aj$bBpIGQmfrt0Vml=|-_sCWLf%y>O8* zji@oDt5Z7O>?VX~k*Ou^8ewsyYc;}cWRlh(9^V;YVWWNRDl%A>bJ-Pnk*a~FmcA8D zZIPaWoa~JJF)Yg)sA_47MK0Nrf2e3`Q!JIEzuETcXHJhcEo7PdG93Om&iq~Wc80^> zkB7s(C!{{}sy)eX?Xvol)Xv1qJYwlKFJ4c)>OEfG;pnGMrCR|hg!MY#pRrit@LLXE zA8{M^J^jG?HfwKq@Q@P?mTt`W`@l4}f6k2g{Q(&ba)WV2b~gY303c&Xe^N~V0D2_= z0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM00N;&L_t(|+Dwy8Pa8)V$A9zU z;Dz0FqXtVgBFQCZtf);C$^p!gevL}u#QPyp4mm{#8_wmxcR>g#k)p^#+=zOjE)^;j z-pzuIcjoC~#VR9><}fq=f9LtXJZfq2r6{GyZU!i&08mOHB6#od-eaxBdym!{?>$N> z#)B~ctk#;%ciTAUu-4+7Lu*aD-KN!Q;hf{>=!mtoHLSIaMk6Yf3IKZ_-eQw9!#RgB zhA<4v3XMjCMx#NV=S)paQLEK(&JhFwS(f3wCrLA`QVOLMK@gyne`0-o9b*j5W|RH> zeUwtn%*?Q{v4Pf_PNzc{hNNj)&@;whi~(SEb(Pzvp8+_&`b6cK!sT#$^${Kez~<&A zJ3Bkv7q;GeLanV6X1`05V;s<9@T zG}x-*w(l7vp1T|2f7c&glcp&b7Z-fHI!6P{&CRi}u)xX52>_LYPtZ43mW-QAfbF~j3Li+%=Ax>-v9G&pUcZj zrl+U*+kL@~DU4B2tIvbVQa4%YScHO81CNVT}gzlhN9_seNKKR>6}>jBW~^+?mSyu05~ zIF4Fcd@0si`pLI~zxNnp&{~t{IU<7Ag_ZYhiwNOFfQaz_00!GXN!bNovH$=807*qo IM6N<$f_gSAd;kCd diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png index a65b79facad4beca234c2ca929f38085742602cb..37b1da54bf26996e47de3c4c401d3d0ce87c8fd3 100644 GIT binary patch literal 7782 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 O05Z}y)63oK9Qt1^6tb-V delta 822 zcmV-61Ihg6JoE;TBa<;56#@Z^lL-qPf7+GMJ!n$_6vgr1d$CrewSxggI=mq|Sr8TJ zs8I+)g%B$w(ZS@UNdtLl$OkSR1=oUuAB$B77iV1^Tm?b!1H{qENzp}091=(nB6z36 zx%XV|{S)rC;-t6l6iK_^E#$IMu~d%cznZh(A!$b{aj$bBpIGQmfrt0Vml=|-_sCWLf%y>O8* zji@oDt5Z7O>?VX~k*Ou^8ewsyYc;}cWRlh(9^V;YVWWNRDl%A>bJ-Pnk*a~FmcA8D zZIPaWoa~JJF)Yg)sA_47MK0Nrf2e3`Q!JIEzuETcXHJhcEo7PdG93Om&iq~Wc80^> zkB7s(C!{{}sy)eX?Xvol)Xv1qJYwlKFJ4c)>OEfG;pnGMrCR|hg!MY#pRrit@LLXE zA8{M^J^jG?HfwKq@Q@P?mTt`W`@l4}f6k2g{Q(&ba)WV2b~gY303c&Xe^N~V0D2_= z0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM00Co3L_t(|+U%J-Zi7G&KzAY< zB4ObQU&95t1ipZqv^DapX7nz2W~uwe~V>9O}4!OC1cD3 zDieq2fmx09^||sODT68sNf}^L2G;W+DFc!Rh99``V0T$H)Ew7Wpk$1BKxLxz2UGM1 zkNhyF{va-v(jUyAKj<1pr@pbRTrHX(SipnLVIlJanIA}h(50BDsjiLvfxItpum67o0BmyDKC;7|Bme*a07*qoM6N<$g4K?G AfB*mh diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png.mcmeta b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png.mcmeta index 618171be..4c526367 100644 --- a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png.mcmeta +++ b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png.mcmeta @@ -4,36 +4,36 @@ "frames": [ { "index": 0, - "time": 10 + "time": 100 }, { "index": 1, - "time": 10 + "time": 2 }, { "index": 2, - "time": 10 + "time": 2 }, { "index": 3, - "time": 10 + "time": 2 }, { "index": 4, - "time": 10 + "time": 2 }, { "index": 5, - "time": 10 + "time": 2 }, { "index": 6, - "time": 10 + "time": 2 }, { - "index": 7, - "time": 50 - } + "index": 7, + "time": 2 + } ] } } \ No newline at end of file diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage.png b/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage.png index e4a172320adc8bfe93f3b16f2b7135e76be5b4d1..a7a59601d5c5d361424aa0f0ea843ea62aedc9d2 100644 GIT binary patch literal 6420 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 IM6N<$f`tkfw*UYD diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png index e576e62cf24432519b90c99b43fd44b59aadcad2..8ea04d3bfdafb2e7a29810bb06f32a8dfc54ce06 100644 GIT binary patch literal 7549 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 R4{880HQH-ftbZ{4zW^&lOP2ru delta 846 zcmV-U1F`)5I{XHZBNqS(a7bBm000XU000XU0RWnu7ytkPi;@c*f7+GMJ!n$_6vgr1 zd$CrewSxggI=mq|Sr8TJs8I+)g%B$w(ZS@UNdtLl$OkSR1=oUuAB$B77iV1^Tm?b! z1H{qENzp}091=(nB6z36x%XV|{S)rC;-t6l6iK_^E#$IMu~d%cznZh(A!$b{aj$bB zpIGQmfr zt0Vml=|-_sCWLf%y>O8*ji@oDt5Z7O>?VX~k*Ou^8ewsyYc;}cWRlh(9^V;YVWWNR zDl%A>bJ-Pnk*a~FmcA8DZIPaWoa~JJF)Yg)sA_47MK0Nrf2e3`Q!JIEzuETcXHJhc zEo7PdG93Om&iq~Wc80^>kB7s(C!{{}sy)eX?Xvol)Xv1qJYwlKFJ4c)>OEfG;pnGM zrCR|hg!MY#pRrit@LLXEA8{M^J^jG?HfwKq@Q@P?mTt`W`@l4}f6k2g{Q(&ba)WV2 zb~gY303c&Xe^N~V0D2_=0Dyx40Qvs_0D$QL0Cg|`0P0`>06Lfe02gnPU&TfM00C=B zL_t(|+U%Ioaf2`nhNT`GIJQ})ou=&sbc${OnT9MAlI);9)p2D9T>}J{il-bBk@ZXZ zPJl!NQ?4hNdJz%iPSF@c-}f71s4*t{+~gCi{|8l^f3qYP(*XehP%0xL!kEu|DSYg9 zNtn;e1tnX>bBc53*=)2E*Dqr@0V4idyJd$-szN#AtUOR2%*z8ljq&~e%7f0iP=(Gp z>YUp=4?5>W9xxqB&f5JQ;k0{yJ=Rr8Z%P{axOq^pMntd9T2bl-}fd>R|Q-v+@fYRPih0n}J6`675 zQCvO+K%|?IM{EW0Knl-&X#PG(yB)b;r2B#H2f82VexUCQKYssV9vtdgd7wN{9^5lb zt+jyxt+muzyZQZ~wN~T-)1fpTPx# diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png.mcmeta b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png.mcmeta index a9fa6bfa..4c526367 100644 --- a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png.mcmeta +++ b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png.mcmeta @@ -4,35 +4,35 @@ "frames": [ { "index": 0, - "time": 40 + "time": 100 }, { "index": 1, - "time": 5 + "time": 2 }, { "index": 2, - "time": 5 + "time": 2 }, { "index": 3, - "time": 5 + "time": 2 }, { "index": 4, - "time": 5 + "time": 2 }, { "index": 5, - "time": 5 + "time": 2 }, { "index": 6, - "time": 5 + "time": 2 }, { "index": 7, - "time": 5 + "time": 2 } ] } diff --git a/src/main/resources/assets/ae2additions/textures/item/cell_component_1024.png b/src/main/resources/assets/ae2additions/textures/item/cell_component_1024.png index 6376d827efca1ae690a59dd629541fbce64e9f96..62079ac175fa0065bbc55dce7fc78b0afab69d3a 100644 GIT binary patch delta 1112 zcmV-e1gHC&3+)JyB!2{FK}|sb0I`n?{9y$E00D(*LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#MX6N>JBT=BsDfZYRK!uLSOg2Dts()EVG8Ppx*;TRY6#{zD zhcN^sX6o_OVj7;~>mEM7-bHwp_qjhuuaYwv;1h}Gm~L3a8^kl4md<&fIK+yQLVQj< zZqNmZAGt2O{KmQ9u)s4zMmjl993mDAZ7jDjD;g^CG;vr_HOdzZ?85Sb6YNVJ*(tgy#Kjiom<-re2a z+rMX;{rvz`w{n|Kg3E^h000JJOGiWit^i5^Bk4Zl>;M1&32;bRa{vG?BLDy{BLR4& zKXw2B00(qQO+^Ri0t*f)7SLEyO8@`>8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*P zO;A^X4u2N_00J~gL_t(IPjyp0XcJ)=elF=E)(cgTfCS_+Xg~)C!N#R(i6{t7MT-~^ ztcz0@v0!y_lMXF{BA6EO7Jsl*hnhtN$w@I)gGyYyQV=;ioF(a1Ynq<-yw^LDTA$^< z``-6?|DN|#T-U`$7%V^xR&_hq#Ae$zN;5M;U~&mSki0vU3VxA{%;Lt)aafiG%)db_7K5s)So3j%APS@OX0t-> zxI2bp4WRn$3F7fMCR`2HZ{Xr4QvxsTPh%cB zldkkk(3#}!z8vQ3z}zzM{SUDBt0DJkljP6&blCi9`ZdhK9gtb6_N_M_?Pv=TR<~|CNzCf7;q1G8%>< zGr9fC+XZj1B-5sz=xvD`?!o5vc3BdFG7`;u5XeX$`Ua2|jvqOIMpO+~nL3~E?@%tCuNlhmcMJ~HbsA2@ZZAJi)oxanNhw}D&d2n&Vf`M*zCwin3d#~3PMZM;oPH@ emUsTY=lmB94;S!8<{VZ40000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e~k>LkkN>BUe{L17|}+S7S#LMh! zCr1+tM;Dl0m;B_?+|;}hnBEkGUN@Y2K`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtYX zJgD9j+-`BfsaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4)xMbu*w0|OJkr;B4q z#jT`2|Nq-Ft2VH@7#JBHVzrrj=Kucc|BPq+PH8Y*{+#xuF;mfzal@y#zx|qiDx97< z!MB^Q?6>^fDcsMCi;J5LW8^f{RZjeuU%{t$tYuAP==H9J(f1}QK7YW=cJ67o#Jf8? znUC2>=NpK~?mB1?dw4SA61Eh}GXi2WHrp~kJ}_(I!N!g(wlqC4k&SolcJj>B(&F)c z?)#7bo9zjCF*m6P6IgEk;Xm6bTD7-%!{np^w&_5(NITu_a0G;&!;mvB~lIg=B-c zA20vcpO+Vq`6AzBUjO(1{f}}i%~zVfC@gnz3z*XSW;XY;KaFYppZna{_8xQd=xSb8 z_S?1h!3)-99&S^na2P%L_B5GCw4cxDOwomeiu9F?e7OR3Ts_CsvU%H{BzsFbWI1F7 zPBPLdZcu5^&UHx3vIVCg!0J*0F A+W-In diff --git a/src/main/resources/assets/ae2additions/textures/item/cell_component_16384.png b/src/main/resources/assets/ae2additions/textures/item/cell_component_16384.png index dba18000d0cc56ec0e401f49b6f98b4c69f8a4de..98908b26341f3512d1f45d643382f6ae3ab14dca 100644 GIT binary patch delta 1132 zcmV-y1e5#X3V{ibB!2{FK}|sb0I`n?{9y$E00D(*LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#MX6N>JBT=BsDfZYRK!uLSOg2Dts()EVG8Ppx*;TRY6#{zD zhcN^sX6o_OVj7;~>mEM7-bHwp_qjhuuaYwv;1h}Gm~L3a8^kl4md<&fIK+yQLVQj< zZqNmZAGt2O{KmQ9u)s4zMmjl993mDAZ7jDjD;g^CG;vr_HOdzZ?85Sb6YNVJ*(tgy#Kjiom<-re2a z+rMX;{rvz`w{n|Kg3E^h000JJOGiWit^i5^Bk4Zl>;M1&32;bRa{vG?BLDy{BLR4& zKXw2B00(qQO+^Ri0t*f)7pGrh-2eap8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*P zO;A^X4u2N_00Kx!L_t(IPmNPcXcJKsJ!7*_+fGcS+K3`d5iHb2k)ll%{LqSDqKF^J zG8Ko%Z& z%zf|PbN{2cu8Vq@THjWq==^PI_3V6n)U>khWPdm;B*$@ZHIc=mi~BI2&tu@(XI$y; z7oBa}NKQ@)fx*QALGt#F4)2P-ZL86zZc{A*U{?_S1AC$CI#z64&xttj$brXCad-*H zzkQ8#G>TEzfb|EsuqKT`Ww+2B!dL?kI)9clW~8mEgj52_o%S3;z58KV7QPjMk9OI@ zXn*ez9c`*18L(!8k)gu?WokRnB*`A$WI4h=yUn+0Y{#DS_Q4So5eqgiR_U$@3~* zk}V|@xt<8ju87Dt&y*W34mc{Jx@JaBEq?&x1t3vauF>nqPsyE-9&pYa)s5yfpvoUn zZ(d}(w2Z=H2|<-ruM-E<6o}iyDdG6IVO)|e;iI^&6znz|*4VWf?ds0sfzye9is8Pp zHP3ZpLUC)x$T@Ry*lpYyL~eW<=KE4(`TMgI-x>r&z?LH}5J&6mG4oGG)^=@i3Xxb}Csi82gYwtFCF^Qz`J! yfV&ahx=s$|OeQ1m9{JwsLlQtTsE7ako&N!_iu~ZP*Q+f60000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26f08`V>4$<0~c3A17|}+S7Qr919L}nXJaR4 z17{Oc3j>&5m;B_?+|;}hnBEkGURRuYK`9}(0BEyIYEfocYKmJ?ey#%8$5xrR-QtAP zJgD9j+-`BksaGH97=2K@BE>UI2$*<4On9mVa^UGcH4m8Bi-4(`-A-*T0|VoAPZ!6K zid##9eKlMHMeO=-@)}Oonex>qNO*SOlYEzL8D`1Ov!>|$nKE_iELkxf6Ib5kg@1TG z#g;g(=#1Dqm38Ci`_5+{?YLk2e&5XW*H_22Fi%=Cx*`;B@Ad zLJa3Rd>=fS7;ZPC+0>5ju5tgS%=NWK*VE^v@+3`kN&0wjv#3N9%h{?hrcfo7h7~FY zZm2GJwlK=Rmt8C4XY-2fGcpu5r|sXQzt`)b(xTkvj6=_-Zd~QR?vLCV^PisHF~JYt zs-5-q5BxjT@980Xb%qJO1ugTM>e#uZ<_Y#6mpr?x%jLxxF1CuOHJJ;aJ8jpg5A>R@ zZ^YBQ=;DfJ2@jtsrcdXz6}+XfMN3~T;AgtP2d1k!8M8AYjAl+L^O1QMp>yDR_D!$G z(k}@gBFr^Kmre++_F8i|dGe*_f7MRSdnJI zZFe>{yG=bHr=k*BV}4LV=?uf0z3XLebd~Z59b7nR#q7ZCuh>oG*9duteJDQjt>nUq wUyWvxt2Uoz4h>MXaOTN5a=ZA0{7=yY29>yMV~+mdKI;Vst0N{oDHvj+t diff --git a/src/main/resources/assets/ae2additions/textures/item/cell_component_4096.png b/src/main/resources/assets/ae2additions/textures/item/cell_component_4096.png index ee9eafb4da2775b1e4c886991f9163b9d8418a58..c855bcd133351703d9b66735e7dc3982bb92a491 100644 GIT binary patch delta 1096 zcmV-O1h@O<3f%~hB!2{FK}|sb0I`n?{9y$E00D(*LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#MX6N>JBT=BsDfZYRK!uLSOg2Dts()EVG8Ppx*;TRY6#{zD zhcN^sX6o_OVj7;~>mEM7-bHwp_qjhuuaYwv;1h}Gm~L3a8^kl4md<&fIK+yQLVQj< zZqNmZAGt2O{KmQ9u)s4zMmjl993mDAZ7jDjD;g^CG;vr_HOdzZ?85Sb6YNVJ*(tgy#Kjiom<-re2a z+rMX;{rvz`w{n|Kg3E^h000JJOGiWit^i5^Bk4Zl>;M1&32;bRa{vG?BLDy{BLR4& zKXw2B00(qQO+^Ri0t*f)7SLEyO8@`>8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*P zO;A^X4u2N_00JaQL_t(IPo+~$NK{c2{$9H9_YE4>xR}iop#fX8ka9vOOQS%r7O61H z*|ai95S-fN#zmV}5jeJJRxUD#a@7w+j|RtR&~VigH~A8L$&634L7(?KGw(GM?)p~e z-gCZl&OP6`n&){q4l5_aRgSJLTRSeUmY14V@_*eN8WNK0x){%F;OW>UZ0GZsc=iSN z1_s3EI1aK)OG03ANkEW%CK~mR=SjOV_2vGVxz;Pu_Nt7P*NErcR9ZhyLcJ4ZR6Vx@WClX z7=Im6@iC?nl7Md}SeZyaPr! zuxLs!$ybNt*en9;`@oMsz}fGn+!Kajz&+I?9O;15Civ$0P)q_y-d63BY%81i*%L?Z zTwLr2w@U+;1eA)Xd^0Pr?gAeRK&Eh5<$u=)Z^@Yu6{s_%y5Fo?Y*rQRzm=WhAqx9N zgu`JZY!gr_5L0uj!qK=4*VK|kA`wg`li;*DFcSWS@0(4fkjv$;n9WwpNS(Pjl+iRz znaPtqwF{~xlIg2#p9O+FXl!bdB_SvyQ8^P|M#eDKhdklNl?yni(Suc{&UatF4ncxw zJS?v=ZMNSQs@2}S{ahO2!n+Lb`9XpY!`<+u;=tBMx`TxNKM>OYe&-`y8UJ`Nxle}x O0000drTX39KTX1NP!WiZlK6fGJ}!!9_^L&q(IkF+GVZSk*tYX(rfRax6-@Y-LW3b znL>?WVH)BvZe}<$oMK!|1%pvE1e8RiE(^wqljw{HCXS$EKG-Am$|&;>@shjWBcIRb z`}sa{$D7=Z`MD*z0087W9X5}=7N*`DmHaJRO%n1_EH-$>{cMXEA$SU~kgT5qonfMt z@=yfXad?`l0RUw=-Ru>;u6=lb4eN*$Mkj?inGFCnbrMGeLX-&lsaBdXYgWd_H6Trz zH3u*k?Bc9ckal$P)c#I)bD%R6Fp-+NTChgKWq~jy5}*`rV+33>Yu0sfd7rw5G~hZ! z44E}|O?h2Spq1q*5Yu7W0E{AFwMmCy1`~o*fhdgVAq0j{lNLd6Lp6>V!Hq{FN8`yB z++(wE#F9^DO;8j$9D*W|h%Tbnv3x6pm`o-JMj;f{$_TB{!H9&UWrT{ff{hXaJk5zT z%YZ3G!q2vgW{vFhZVF*;QC#59+@ z$HlhfrY0fG$&qaoPamO3JI{u}^^9?PYcJ@QdK+AFYcKjOxsYrIO7-<$eNJD=!;{)> zPOW^{oO_Cqhn<(Fy1w*IBLFDAbJ{G;(iQ*hWU@}VE1G44QFJn^W+0IqKblk|++S2? ze6`wgql+%LDB{#C-&}KwhFD_uyzjl`hhB+IJ$Ytq;`8onXG<-V z@1q;D`18}Be3^H7iGh0*YbReY?5r;zF;Rh&=kR5!>)|9K<^-_W9XxumT>Ur5o^yEO-k41e28HZjAW!*oLQIa!EeoywpzRc4P z53{;c%HG=57wsx@@an{8*LGl&b0;dhr0bWC#OtR9V^^hTTi;gvS&&ngWv_5lt<8Dj rS7L|%_${GyJNn5-?R!V`^-%?|;9mIY1b)h%`tvy(+_rc3_`3fAuBGUo diff --git a/src/main/resources/assets/ae2additions/textures/item/cell_component_65536.png b/src/main/resources/assets/ae2additions/textures/item/cell_component_65536.png index 78aeb42ca03e361bed752ea0cb4cc6d91010fa81..8715fcc0e27f2567098d8216c8587d772c01cc63 100644 GIT binary patch delta 1112 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 A`2YX_ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1024k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1024k.png index cd94c4df4bc85a6669dc26576db81ba103dcb3dc..aa7ee8db02664de1ce1b414519bc2c14943d9dbe 100644 GIT binary patch delta 923 zcmV;M17!UD7qJJBB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=M=@2pc0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0eMM8K~y+TWBmXBKLaIz5wB*!kI1GoGQ8)

$UIsK&U&({K%o=9_}p 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 ZmFzeN6^ITKVKCVUx`R9Itlg&V{{`z<=1c$p delta 3050 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 DTQ`QA delta 3053 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 diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1k.png index 0af5bb8e54f022364d62d4b13d92d5d4071100ca..c3d01655eaf3bcad2c3af370babb9f88cd6b8516 100644 GIT binary patch delta 920 zcmV;J184m67p@18B!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=K6CVtj0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0d`45K~y+TWBmXBKLaIz5wB*!kI1GoGQ8)

$UIsK&U&({K%o=9_}p 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 Hu0mjfMcah# delta 3057 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 diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4096k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4096k.png index be805048c8080bdc3e87a0461e0edbd0f80f499c..0a115d9cf73c32bf5cba0c07027d98d7d9d681d1 100644 GIT binary patch delta 884 zcmV-)1B?9m7mEjwB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=No)-aZ0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0aHmtK~y+TrISBP13?hQXEj(!qQ!jx&y*H6qMe0}3bNXz5{#W6NU#Wk zjo0ZRL>mh`!8WCu#_m89u$6V*+)eJ^o{a;W+ndb$&6{PMR8U@!Ow5j*}C|%G| zg?KKmhV=c`44FgG-a|yu){Y2a7hNI5QV4Pi&(6kia}q#e%aHYtO%WCYIXw$BgKG}g z(js&aC%Zivr~4Gp>vkef4Rwh+L`?f6fFR}{8`7BS5d2>iiaHA%BDT&R4P_KPuzPl* zp=}*=S-OjF*n#_O)8T1k_{CWomYh@tzW0_fd==OQJ19YDl$ZaU-_iWp!7PE!2x#(~ zm_kUL@HoCG3U3GLh}EkMY7OEO`Wi?MpSSH_V=P=0S;$qF0)7D*1h+=%(c#tr0000< KMNUMnLSTY_f`iEb delta 3059 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 BzXbpQ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4k.png index 2cef2a4fe245a49f4922bc35e35f0a7bee952756..d827bb214283b05014d3a4b72929e6ac8c8e9b26 100644 GIT binary patch delta 883 zcmV-(1C0Fi7m5dvB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=LWEeaT0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0a8gsK~y+TrBks=13?g-)x$EUMQZUQ1bb6xK%!kzD5zbqvrTzjunU4k z5VW}Kq6liCz2HZPwGd5uS?A4VHhXugjSu#2Z*Jb3H*Iis`05B(m+RP9M2Z3d;^gat;^n#sg+vzQ4S$HdP*JObh?Vp@atCJbkSouC0deV~ zM(vkp31~8i!0H;&`x{X&NrO(r!S-WD*~X?2U>9T%u>jnEb0PxQ!%jh@KX}TS-W4&O z1&YBn!%7R&aqMh9Y_(lGgR=&moX*A6B^(2{qh>yX*519i&|ZBJB$kP43<4297~a@@ zN^C_$hLV)-aTwIUKCh6+dwzjx~>b;lc@8L{$GfgiM;!`0p`5K906002ov JPDHLkV1gO7h5G;i delta 3054 zcmVf59&ghTmgWD0l;*TI7}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%fLC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQu79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!h;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}0003WNklYU6oL6t4v$zC0h#*+A#UR9%;x70IzJn4+ zL5@RmV-jyP;14d`f8Te`aFmGfpMR)dU)@|9f8T~Z1toZV@?2eAUu|0@st;(+Hi`P9 zBCGX?{k@k?iNeigYd#=&di(*_(zh{ z$ zJPxXlZLl6kUI!eW#a2n5I7%sSbF`l|B=vko_iTm-jn)CQpD9(FLbRWeCZ1?NvsSBv wcb9>6l&umQ*clN)pWYVZT`m!!y-dCa07FQ%0ymdIC;$Ke07*qoM6N<$f)I4C5C8xG diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_64k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_64k.png index 547e4dab1890f12c7ddd68287589cb8babf898d6..104ebe86cda3c52551e641ca110742e9a351c9cf 100644 GIT binary patch delta 930 zcmV;T16};R7`O+JB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=LWEeaT0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0f0$FK~y+TrBks=13?g-O+=$Y67>VL$R`*O1mUnzA%t{S8MM?+MDPPl zKqQ?31(Dd8E{Y&&SIb z=?B#Xy{AIu(E5LSKp=jBuQGIEZ39t(?h*(+#IlK-qn2l7; zi3QwhaY$tT{Fw`bKn~&nn!&Y#WP0+!ui7f~WnL}mvB5J!sWLfuiH^$rJPQrVv@m4$P%D=n%~N;&E7sliri zl>DABIiYh*2=6K+_D_XVFHn3(i43N%tKI7F9FRk2tbF0#V<(PEzVa8GsF?t!1CRg^ zZ!T<(&8v)uP?y*>qKN)OGr;ei-@Yb%9UHxnGneN50H3DGC4X?tjsO4v07*qoM6N<$ Eg18l$dH?_b delta 3128 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 Ef*uKj^#A|> delta 3052 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 delta 3149 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 diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_item_16384k.png b/src/main/resources/assets/ae2additions/textures/item/disk_item_16384k.png index 511bda183c725c9024a079e8ccecac621fb0eb8f..ddfd92aa66da2bce3c1971f15b8f1322bdfcf70f 100644 GIT binary patch literal 5775 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 Uvq>_E*Z=?k07*qoM6N<$f?PP3&j0`b delta 3116 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 Z4FHX7!i*H9K>`2(002ovPDHLkV1lx(mks~` delta 3121 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 delta 3116 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 literal 1199 zcmaJ>Z)h839KLjGC~LL_1nE|oZ!bkFCb`@tX?AC`F1yQI*sgSGv|*j4m%BI3+1WxSrfV~IU(H&)D;A1$);-9D$;?g zC>7ASog{Il_e;=>by?k7YZGo5E5fXd=clb*_NqaSiHrovS?H#u{>6Cujza zEI?Cz0V;be6#9-Bs{mmly1xZ?A~a+2e8l`E3<(OW@%{LqoJLb+76DB73*fdm=wIO$^CjoccsK z_SXsH*o^he(xuex%QK^GyG`o5*7;7=8P1=}H%nbiq;hjt*N^eR_dKoBzJ<)Uo@=?6 zN(aAu?TJL??NCr#UcTcUd*k!D_SE);9o44C-dQx&*$ZELHntI8ot}CYq;LP}{z5Y8 KKH=P+k;*^TjgmD0 diff --git a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_16384.png b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_16384.png index 5e0a26b6035904729fd0ff9b62f63d276f19febb..6ddaedf75e19f42233e02be27f1493da972fbf65 100644 GIT binary patch literal 6086 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 diff --git a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_4096.png b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_4096.png index 5e0a26b6035904729fd0ff9b62f63d276f19febb..f99b89dbe0096e9fd1eee75b48262d6867235d0f 100644 GIT binary patch delta 1057 zcmV++1m63;3APB3B!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=G6mrOb0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0scuuK~y+TZIe$(8$lGtzlpXO(Y8@iM6HK<@*p{gl^mqK2vzVPqS6TQ z(1NYt!CUl@n@|g)coM-LQcwvh2(}{PNidp2sd{KlX;F(HiLQU}UsRmVdz%f3&Vyxk zzIoqo=gqzmQc9GMLmT!$BkLF5Ded~k8z57=qJKm(w|$?Mv~Da51c#;29alQ9x-rNE*O0zEwsm{NV^%3U5K$p;yR-K>AJ?pfe7xA2DOTt{%qt1U{4* zX!X1R?m$FWCZw;s1+iERj_ij>H4-4F^f^xd{6!^0>F*WW&`V=H6rLa-br_MfvLLoSvPWF8MF_UJd$?El*e*C3*`~n) z&@4;!W%vq6oT bqXqd7S-0BXmSxBQ00000NkvXXu0mjf^Yzsm literal 1214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m=!ZaB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxR5#hc$WX!DQqR!T z#M01EN5ROz&{*HlK;Otx*U-?)#N5izOaTg%fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7KMf<|~|UP^v> zu_jo#udkJ7UU5lcUUI6Zi>(sS0KLr26e|k@Ll+lgH$zuL14lzcS7Qqc17`~(XA5Uj zOG6iP7ekm{m;B_?+|;}hnBEkGUL%}(K`9}(0BEyIYEfocYKmJ?ey#%8$5xp*-Qwzo z(>$o&6x?nxz^PXs=oo!ayduRjObD2GKumb51#;l&J~a=R*o%Ovy2exMB?AMav8Rh; zNX4zBKmY&RH@_=lThmY+_@Q3luWg>Lvf0nm6M1-iczAZ0`p?=wjj<(>Es@#hhsj|E zJLef6GWXRylaP39+`>6OEmm0D;8;3`u-#d9@iL=1aki4{6%&|Qt}Xqa{#@|jhx^yp z$4l<3|KF#`7sP#u`B}rFi)t!w|9^b`|NrbNmc~qhd0T&Kgqiv9dhmPb-{Cf1uESuh zuWu-ErrlEdnXCZA$;K-UR}L|r5Sg)(^Xg~An5I1AO;Qu$HZWS9{vh4t%eRF6Xv4K@ zVLZ+b|5{r4H>FvAR$-gLsB>bWbVBwSjxW#aOX{0$lo$6gA5JhneEK_+#?L0f=(MJ# zotN&E80@e9}3hhEFgDPKS(il?ie%Q~loCIG*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=C9mIsI0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0h38YK~y+Tb(1kjLQxck&x;^1#E9mQ6rv?+vC*L|YAnblM4`1PBWP#{ zAOn>o~h4H26V7X^=gOI)j2+`XgpQ@+M zvuZ40p{gyMUEet(9_Me^?<-uS(OQi5<7+(6-#?IK!T?Zr)|ct6(`5%;h;{iVd5D8HsL>CBb0>|0Nb~uCI#Vd-o(-fHrt4wk~Nft{>jAYeVg6&=8 z27gs3)Hiz$mkI&_Aa25vSynJE<6Pr_D3Ydv>4aciBI-gR@I^uuW2{Leg)Zk~(jnF6D@W6Xl8z?;4suZ}%Tf_Vs0020 XPL~0n9W2_{00000NkvXXu0mjf0!gUP literal 1110 zcmaJ=X-E`N93Q)=?2e$qXd3N;c8*=gZ6-Ha_pk}qY+G>cLpaVn-AQNOIP+|0g($*` zA}CBKDWW2xs3iRmq(KoKR1gJG;nxm|5`&WHqTZNmeP|na^A3K$-~V{Ox39XYV*1pD zQwf5YF0Bj4@jS~NlPBT-;*URNJS{+xB-#WUP+GPC5maG4ASGRH1aTm%nU;H?lpw}0 z(Gp3Nj8%#X)M?qp(2j0mHbIn@Ii{>M0Yuh=M$HINL;cq&Qd0v|4Ig7;W(cITb!`^d z)K-;H+L{zWrOMWlrH+UNbbw^i(VGohbOO|fu87y}F+-6f5Y!Z)ekYZTRg)oT0g|VA zkHUI6(l5{)Uo3FkD$>hxK89l%ui)W0vDhziCFJNw;b@lHAjZSd(O7sFpi&5#BEzK9 zX*%trq1DK6f*>%gm+^W%7~!!q29h0*VHaiK{ii1D-{!`daWK6)sfel+N1z%i4p&QB+Ll%$` zv=R_DXS-OPf(Y6vXp*52xuQlhRG79`j=*CvQ8H{K8w!xZ0SXJynx=|DAIAm#tT)23 zxYZHgYCgmY#pS#Z@kjmTf;Y`;1!`rFl3xr?Yfu(3lrce1@qstiuqJFBSc%$$@{P$4bL%uRmy(pl6s;r+OoEBean zuWns_cH)cM9fQ}e9C~NxKg}z-)mxJPY2f+7;Wdj+Pr5kpjNj}@HZ|XWyQSN|qhQAC zm*0l(oZ91i^*Op&?HKI7P}hE!zxMg{&z;)~PaN!@Qsa4Ztn!C)d)e_9OK%XB=Z_5X Rk4usJ(xpgMxVyY=*Dv1}cA)?O diff --git a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_16384.png b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_16384.png index b2f4c7028519fbb11a191895bc4e486127c543fd..560bda94b5d2d5540ce9842175c5f33570a92379 100644 GIT binary patch literal 5780 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 delta 1034 zcmbQDdx~pY3^$8yFcXm|N-@nwnS|8tNz*85kPt8ye^vS?U@Z zTA7$z8Ja0Tfs);1ehw!M1)HLjG%J_X;^d;tf|AVqJOvOxF)6>a#8yd3p&~aYuh^<0 zw_tK3ha98QGc7r2Mz4|~$=%WQUOeo03 z4alt5uK)#hZfZ#)kY`^}keHmETB4Aemtw0_q-1XwGT}%A0|VoJPZ!6Kid!|ow*E|x z0&}fZj+~ms6s==&B->=;&Nl6HPM$X0|Ct4{xi@b3#vgHWRjZ+5W4B7!u~QOS+#Vd9 z(?19%amcW4xHmf`TtQ~GPg&Wwy*sxX7pt_?FW6AJVZO+Q4b=taPZmb#=*8TNiS7E{ zpWk&fsU+h~$LrhHx&Q8M%f0tCbf)9IJ6*vhQcGW!czqCzZoPW=L_mnv)Dc z9zHRl<8Eo}CY^4rsi$74Z0gXsmS7;T_@W1k%fz#3uB)#K?R&quU*gZhf)!k=yE0~} zv8Qd8l=iN_T>9#3)soErTb*qknuIR*G%qe>;AApLZ@d4ttn&Qx&q~uzZ|v7kW@n4| zu_jI}WBYBLV6~SeRyA#3f7iMmyZPB>YD4#n|5YY({hAX!Ew?qkyvGv05l>6_yfnez47Q^lC?*5X{OjM3k%|8p8J%sk=$m`P1! QAp;P2y85}Sb4q9e0JTquTL1t6 diff --git a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_4096.png b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_4096.png index a33809a6ef8c4a8416b3d7615713016494e84f31..2412fc19051308d42ff57dc51257e79c72206211 100644 GIT binary patch delta 943 zcmV;g15o_h2*n4GB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=C9mIsI0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0gXvSK~y+Tb(23xLQxdP&xbq+ZM-tdx2iaOkUgjB$Eq{hPf4A1$L`ZJ|Ama1qS4BK^uI3^v zs;Y(4?6t%3D3jy7d)uOUV~F-+QU1={7D*~$0jTb*F4I@N!3jEu@BUDbn$;Iq5eW1k zsZ@TZ!GNCy-~?BI2ob@Wh+}W09j@T2uSuz~8Je9KRh2}FHw??jhnLh`%=XSMI;XIC zmw%%)MU@Buh`51;lBvYFg~aeAmkSZS9f9G90I0)Y`6A&Ira~i>cz@yzOE0u55u0vE ztv@_=ZX))gTV%lJqgU&L0)8LW8-J>7OswxZndM6R6tIA^HLEq%j${Kq3?3*LV4>v< z_;_pGaJ&Vn1fW!)J7Rvay}|Fo^D*fnl_=U9yXl~m<0*gyxhR%pDMtZyfq!*a1K=Px R@zekS002ovPDHLkV1kTmsVD#d literal 1114 zcmaJ=TWHfz7!Fg0b55p$PG5`}io)7l+HNMcYL|3cw6k>8O;K2yoUL(7PE1ahZeGy` z6*iE0$AJh6zBs4iWlT`#1qOoP!;lFRAJiA|f_O*tWUkW(YvANu_`dJIobMcr*RCp= zI&UgL5GB#oQUcGV?wC@D|MNfml<_ndMH)~YY(kD~0V1rz6d7k!q_x!@ z7O3l}O)4EN3a?TtmXpD(fCY4bWHPI_8n%!PQDeFSUc1LMMUFvGONjcNR6{IIiqHaN zz#H%=49AjHyq695d6umpIfnJoEJJg=hh+tSmB3b#;~#~iS!$DzkZQ(b;a!MIBV-CR z?KqCt@p+-uOtU=C(+o#*oChO3cDsS(tjDm+a|#l$6-zUb1`X0xlv6N+LKM#QcL};V zA#2#K`tfm+Lw~H*sVMSXvuUYb>afV-*Wp z-dwmyUcGUynl~4&CNG!9$hHaSckqjN6qUls z>_}&KXnMhd(wdW9T}MA|deVF0X?p1Wd48JHclp!g;o0|Qey!~8d)Flt6&2q+{&nNw z1h=VYUESd0H*+@3A}Y>Ali`xxhvVUr{iVmwMTKzjm7SiAMP;vh){JgnU(mL%>*}$} zB@fcl*=5h(Jb2jIs9stbfB5sro-a((!p50}&fd1xk+PvGm@4iYIIUD@!!Ite(=*P+ z>jRr#mjAf=x&Qf%yQjYGNYCHeeK(k4st*;O3MB5|oN@8hzQHX;`l9|_ohJqtjuuQK XZhyMQpGXA{xUW4Lsg-)G8~6SK5&w4` diff --git a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_65536.png b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_65536.png index 2e2f32adc2d3f38dc0febf84f42d7f3f32356855..c33ed1c98387d090124d50e82f99b65167396ed2 100644 GIT binary patch delta 962 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 LNkvXXu0mjf$ck@X delta 2942 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 gkJbB+KLZ*U+< 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 diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1k.png index b010797026c1117a5f3574f3ba792c43202c8797..69458c56c67a596497fb5f5ecd643cab3b502c2e 100644 GIT binary patch delta 866 zcmV-o1D*Vb7x@N|B!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=O2Odz?0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0YOPbK~y+TrIWEv0znXlXNhvnC5QzF1;n6s1Z;f)5GE z-b70^*Qvx{fl#1{C&|&Q_fKvvd)}OllWb;pXZ~+y_x6mnmi}W~e~FK)o=Z2ko4Al} zv<^gg(d%b|>+lit0wf2}gmDy+=lcxOAPguILVr|kMYNgwr4VyjtJ{;|ke1IcTm=WyMO6qf1cE(*r*~tM&WQmCx)Af#WT9)=le<8%@#z`D zmOmr6nL^q}13u1TUZ4f$(wU_C;`Wx5{ZJuT#P}-|L#}C60D>0RhayYX%W4`6rCT sb5FSpq6t+1HeCqT;rcsQQH0`u0F`*ZFCJ|zb^rhX07*qoM6N<$f_C(MDF6Tf delta 2944 zcmV-`3xD+a28S1rB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43f59&ghTmgWD0l;*TI7}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%fLC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQu79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!h;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00028Nkl46YpLZ9N5N@I*bs*P&5~@}RN9H|hUpjHm#p zf7ZPiv_ZAsfi-&FAKN5k7%ubFMR~emJqc0SI+U2iaD=FA9oW-lL}lx+%+nC5U$4Z3 z5)*J>h3pCJX$RPoh_u2ZAR{F!PbTPKF=J_7*m`xmx^#rb#u0000*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=Q?tS&+0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0Z>UqK~y+TWBmXBKLaIz1)pY1Hg;sw8IS+^iJ_bkn+sqX<8}1l8Wvu; z1Y%HbG=em}c3jCIx<4GJA&e>fg8x0;+!$WnxeK-h zWFt%?h?bYpV|e)F5>7*yK#Cq;xX2);q72pua(^z!R**&zh8Y49gBcDDoBu$UGk^`? zioK3vh|K9^utsD65`%>W$g$xNdOR9s>wRC@3+)Q(~%s5XcaaVgEri zHUQED0>C`M2$M%i%D4={rV*RD;zM|L&(+HyhQZ2!5#Sf59&ghTmgWD0l;*TI7}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%fLC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQu79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!h;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00029Nklf4s#h?wU{SK_r>;Bj#A;WNEw7~{QNGoJdU{5>1oh2qatBiTAJT=y9Oo*^rMivDhQ00000NkvXXu0mjf{@;IU diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4096k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4096k.png index b6387d9bd7f91c293d9917f895b5edbc11c11687..2c60341c1149dd9f3556e860d6a7236eb550d935 100644 GIT binary patch delta 879 zcmV-#1CacN7lsFrB!2{FK}|sb0I`n?{9y$E00D$)LqkwWLqi~Na&Km7Y-IodD3N`U zJxIeq9K~N#OGPSzb`a^1p*mR*6>*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=Q?tS&+0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0ZvIoK~y+TrIWEr13?gmcY~PbAZigSK@!WLw!T2XP8+caLeL_8tkqs? z3qg<|h>ee-rOK5i2v(*D7N-!K^}fM5_AVP62Zr69o$sHS<<2_i%ztd=FL-0N?5o@R z@9{*s4RxU4USl-_uHt9*6Cyc*5I9Z}Q;s4L3V(@|xB$eds8s>+%T7yH?DvjbIb(Le zGVeBMM?gkMJFxNa-RyKv`OeD zTR;Rc87E{wSo%*`z0ZBh(?mjGP=KH>!a4r>%vDrS*B|}!$r7$DkM95g002ovPDHLk FV1i{Qh)4hc delta 2943 zcmV-_3xM>72Zk4rB!3BTNLh0L01FcU01FcV0GgZ_000V4X+uL$P-t&-Z*ypGa3D!T zLm+T+Z)Rz1WdHzp+MQEpR8#2|J@?-9LQ9B%luK_?6$l_wLW_VDktQl32@pz%A)(n7 zQNa;KMFbnjpojyGj)066Q7jCK3fKqaA)=0hqlk*i`{8?|Yk$_f_vX$1wbwr9tn;0- z&j-K=43f59&ghTmgWD0l;*TI7}*0BAb^tj|`8MF3bZ02F3R#5n-i zEdVe{S7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@ znX){&BsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nSU8Ffiw@`^UMGMppg|3;Dhu1 zc+L*4&dxTDwhmt{>c0m6B4T3W{^ifBa6kY6;dFk{{wy!E8h|?nfNlPwCGG@hUJIag z_lst-4?wj5py}FI^KkfnJUm6Akh$5}<>chpO2k52Vaiv1{%68pz*qfj`F=e7_x0eu z;v|7GU4MZ`1o+^>%=Ap99M6&ogks$0k4OBs3;+Bb(;~!4V!2o<6ys46agIcqjPo+3 zB8fthDa9qy|77CdEc*jK-!%ZRYCZvbku9iQV*~a}ClFY4z~c7+0P?$U!PF=S1Au6Q z;m>#f??3%Vpd|o+W=WE9003S@Bra6Svp>fO0Dk~Ppn)o|K^yeJ7%adB9Ki+L!3+Fg zHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_vKpix|QD}yfa1JiQRk#j4a1Z)n2%fLC6RbVIkUx0b+_+BaR3cnT7Zv!AJxWizFb)h!jyGOOZ85F;a?DAXP{m@;!0_ zIe&*-M!JzZ$N(~e{D!NlT@zqLtGcXcuVrX|L#Xx)I%#9!{6gSJKPrN9dR61N3(c z4Tcqi$B1Vr8Jidf7-t!G7_XR2rWw%BIv?Wdily+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBU zM0dY#r|y`ZzFvTyOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe* z@liuv!$3o&VU=N*;e?U7(SJOn)kcj*4~%KXT;n9;ZN_cJqb3F>Atp;r>P_yNQcbz0 zDW*G2J50yT%*~?B)|oY%Ju%lZ=bPu7*PGwBU|M)uEVih&xMfMQu79>|wtZn|Vi#w( z#jeBdlf9FDx_yoPJqHbk*$%56S{;6Kv~mM9!g3B(KJ}#RZ#@)!h;8Eq#KMS9gFl*neeosSBfoHYnBQIkwkyowPu(zdm zs`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMeBmZRodjHV?r+_5^X9J0W zL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0?0=B0A@}E)&XLY(4uw#D z=+@8&Vdi0r!+s1Wg@=V#hChyQh*%oYF_$%W(cD9G-$eREmPFp0XE9GXuPsV7Dn6<% zYCPIEx-_~!#x7=A%+*+(SV?S4962s3t~PFLzTf=q^M~S{;tS(@7nm=|U2u7!&cgJC zrxvL$5-d8FKz~e#PB@hCK@cja7K|nG6L%$!3VFgE!e=5c(KgYD*h5?@9!~N|DouKl z?2)`Rc_hU%r7Y#SgeR$xyi5&D-J3d|7MgY-Z8AMNy)lE5k&tmhsv%92wrA>R=4N)w ztYw9={>5&Kw=W)*2gz%*kgNq+Eef_mrsz~!DAy_nvVUh~S7yJ>iOM;atDY;(?aZ^v z+mJV$@1Ote62cPUlD4IWOIIx&SmwQ~YB{nzae3Pc;}r!fhE@iwJh+OsDs9zItL;~p zu715HdQEGAUct(O!LkCy1<%NCg+}G`0PgpNm-?d@-hMgNe6^V+j6x$b<6@S<$ z+<4_1hktL%znR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX4c}I@?e+FW+b@^R zDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i&_B8C(+grT%{XWUQ z+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?SIDu(gXbmBM!FLxzyDi(mhmCkJc;e zM-ImyzW$x>cP$Mz4ONYt#^NJzM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4Q zQ=0o*Vq3aT%s$c9>fU<%N829{oHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6 z=YM0)-)awU@466l;nGF_i|0GMJI-A4xODQe+vO8ixL2C5I$v$-bm~0*lhaSfyPUh4 zuDM)mx$b(swR>jw=^LIm&fWCAdGQwi*43UlJ>9+YdT;l|_x0Zv-F|W>{m#p~*>@-I zt-MdXU-UrjLD@syht)q@{@mE_+<$7ocYmPs(cDM(28Dyq{*m>M4?_iynUBkc4TkHU zI6gT!;y-fz>HMcd&t%Ugo)`Y2{>!cx7B7DI)$7;J(U{Spm-3gBzioV_{p!H$8L!*M z!p0uH$#^p{Ui4P`?ZJ24cOCDe-w#jZd?0@)|7iKK^;6KN`;!@ylm7$*nDhK&Gk-1H z0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00027Nklb?nWeP@1zp} z+3;e}2F<<)w&;2H`y^x*d*7QsSkE41oha_JW|X-HCB90k{cgCC1k2N!2u z9b5%L@B_rr$w|>gO8j3^Xc6PVaX;SOd)&PPgl3hgX3qqmYJZlIPQ=ArepL*0!X5l%$?&0I>U5saWpZjz4D+QAQK9P8i>4rtTK|Hf*>74h8!>lYR#OK80 z23?T&k?XR{Z=6dG3p_JyWYhD+VPdh=#c~(3vY`@B6Gs(QqkJLfvch?bvs$gQ_C5Iv zLj`Rm!*!YwB!94kBvKF|qmBxyun?nFBgI6T_TwJ@5yzh*mrSk-7&#VDg9^#?i4sjut%v2DX8V>y9Sx z0hc?#@RKeXk|X(P3dJJuen#Jv2ZnBezBRYE_C8J@fPXA?wR{5{90Fq{%3k+)cW-xZ z|DI|0_X983a*UsJT<`z@00v@9M??Vs0RI60puMM)00009a7bBm001r{001r{0eGc9 zb^rhX2XskIMF-{#91|=O2Odz?0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0} zP*;Ht7k>Z%0ZmCnK~y+TWBmXBKLaIz1)pY1Hg;sw8IS+^iJ_bkn+sqX<8}1l8Wvu; z1Y%HbG=ela@4UgV*IfgrA&e>fg8x0;+!$WnxeK-h zWFt%?h?ZAmV0d_+0jD8MAVrTaTx1YaQ3h)SIe!;qD@Y>RfDY#Ol|01`wt1jN7c?JJ6nFpV%80Lsn4_I_zQYybcN07*qoM6N<$ Eg4_3T0RR91 delta 2944 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