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..bf558f0a 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:ae2things-563800:4024417") 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..1b6d8bb2 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.7.2 modCurseId=493962 -reiVersion=9.1.550 +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.19.2 -yarnMappings = 1.19.2+build.24 -loaderVersion = 0.14.9 +minecraftVersion=1.18.2 +yarnMappings=1.18.2+build.4 +loaderVersion=0.14.21 # Fabric API -fabricVersion = 0.63.0+1.19.2 -loomVersion = 1.0-SNAPSHOT +fabricVersion=0.76.0+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 99% 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 index 6c13b57d..0eb5fbd8 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/item/storage/DiskCell.kt.old +++ 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.old b/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt similarity index 56% 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 index a69ede0d..6ddb41d8 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/me/storage/ExtendedDiskCellHandler.kt.old +++ 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/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..cc118dde 100644 --- a/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt +++ b/src/main/kotlin/com/the9grounds/aeadditions/registries/Items.kt @@ -5,20 +5,24 @@ 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() 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) } @@ -31,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)) } @@ -47,27 +51,27 @@ 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_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), 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) + 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/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/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/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 b0de5c0b..c40f4cb3 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage.png differ diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage_light.png b/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage_light.png index 68630835..7a6ec0d4 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage_light.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/1024k_storage_light.png differ 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 a13792aa..7031d0ef 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage.png differ 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 a65b79fa..37b1da54 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/16384k_storage_light.png differ 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 e4a17232..a7a59601 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage.png differ diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage_light.png b/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage_light.png index d4bf2644..dc6f4dea 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage_light.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/4096k_storage_light.png differ diff --git a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage.png b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage.png index deab5a58..e5105cd7 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage.png differ 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 e576e62c..8ea04d3b 100644 Binary files a/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png and b/src/main/resources/assets/ae2additions/textures/block/crafting/65536k_storage_light.png differ 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 6376d827..62079ac1 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/cell_component_1024.png and b/src/main/resources/assets/ae2additions/textures/item/cell_component_1024.png differ 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 dba18000..98908b26 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/cell_component_16384.png and b/src/main/resources/assets/ae2additions/textures/item/cell_component_16384.png differ 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 ee9eafb4..c855bcd1 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/cell_component_4096.png and b/src/main/resources/assets/ae2additions/textures/item/cell_component_4096.png differ 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 78aeb42c..8715fcc0 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/cell_component_65536.png and b/src/main/resources/assets/ae2additions/textures/item/cell_component_65536.png differ 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 cd94c4df..aa7ee8db 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1024k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1024k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16384k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16384k.png index 07900f75..725670ec 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16384k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16384k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16k.png index f2a15296..5efb1bfc 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_16k.png differ 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 0af5bb8e..c3d01655 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_1k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_256k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_256k.png index dc3416c4..bdcbca55 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_256k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_256k.png differ 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 be805048..0a115d9c 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4096k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4096k.png differ 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 2cef2a4f..d827bb21 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_4k.png differ 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 547e4dab..104ebe86 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_64k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_64k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_65536k.png b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_65536k.png index d1653be0..5766a089 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_fluid_65536k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_fluid_65536k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_item_1024k.png b/src/main/resources/assets/ae2additions/textures/item/disk_item_1024k.png index 79432b91..b55ed731 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_item_1024k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_item_1024k.png differ 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 511bda18..ddfd92aa 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_item_16384k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_item_16384k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_item_256k.png b/src/main/resources/assets/ae2additions/textures/item/disk_item_256k.png index c41e3e3b..4bb70cea 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_item_256k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_item_256k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_item_4096k.png b/src/main/resources/assets/ae2additions/textures/item/disk_item_4096k.png index d58d66af..ba2ee30a 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_item_4096k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_item_4096k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/disk_item_65536k.png b/src/main/resources/assets/ae2additions/textures/item/disk_item_65536k.png index 34eba48d..4f15edd7 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/disk_item_65536k.png and b/src/main/resources/assets/ae2additions/textures/item/disk_item_65536k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_1024.png b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_1024.png index d649d46a..87415e4f 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_1024.png and b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_1024.png differ 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 5e0a26b6..6ddaedf7 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_16384.png and b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_16384.png differ 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 5e0a26b6..f99b89db 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_4096.png and b/src/main/resources/assets/ae2additions/textures/item/fluid_storage_cell_4096.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_1024.png b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_1024.png index 14a83dc1..0c2ca7d0 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_1024.png and b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_1024.png differ 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 b2f4c702..560bda94 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_16384.png and b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_16384.png differ 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 a33809a6..2412fc19 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_4096.png and b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_4096.png differ 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 2e2f32ad..c33ed1c9 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_65536.png and b/src/main/resources/assets/ae2additions/textures/item/item_storage_cell_65536.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1024k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1024k.png index 37f1bd33..5a6adfe1 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1024k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1024k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16k.png index 4a59559b..1249feba 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16m.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16m.png index 27b63baf..2bc1d394 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16m.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_16m.png differ 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 b0107970..69458c56 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_1k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_256k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_256k.png index df909846..355f137e 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_256k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_256k.png differ 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 b6387d9b..2c60341c 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4096k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4096k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4k.png index cc811b72..2cc5bb35 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_4k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_64k.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_64k.png index 66cb2c2f..15fdcd7a 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_64k.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_64k.png differ diff --git a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_65m.png b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_65m.png index 14e8d082..b92b5f7f 100644 Binary files a/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_65m.png and b/src/main/resources/assets/ae2additions/textures/item/super_storage_cell_65m.png differ 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": {