From fc3e94c7513a14d5ab4ca2741054c10f36f27327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:04:26 +0100 Subject: [PATCH 1/7] Don't allow NBT to change our inventory size. --- .../container/DeviceItemStackHandler.java | 3 +- .../container/FixedSizeItemStackHandler.java | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 src/main/java/li/cil/oc2/common/container/FixedSizeItemStackHandler.java diff --git a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java index d577444a..a5698dfc 100644 --- a/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java +++ b/src/main/java/li/cil/oc2/common/container/DeviceItemStackHandler.java @@ -6,12 +6,11 @@ import li.cil.oc2.common.util.NBTTagIds; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.NonNullList; -import net.minecraftforge.items.ItemStackHandler; import java.util.List; import java.util.function.Function; -public class DeviceItemStackHandler extends ItemStackHandler { +public class DeviceItemStackHandler extends FixedSizeItemStackHandler { private static final String BUS_ELEMENT_TAG_NAME = "busElement"; /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/container/FixedSizeItemStackHandler.java b/src/main/java/li/cil/oc2/common/container/FixedSizeItemStackHandler.java new file mode 100644 index 00000000..e6d7a1cc --- /dev/null +++ b/src/main/java/li/cil/oc2/common/container/FixedSizeItemStackHandler.java @@ -0,0 +1,38 @@ +package li.cil.oc2.common.container; + +import li.cil.oc2.common.util.NBTTagIds; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.util.NonNullList; +import net.minecraftforge.items.ItemStackHandler; + +public class FixedSizeItemStackHandler extends ItemStackHandler { + private static final String SIZE_TAG_NAME = "Size"; + + /////////////////////////////////////////////////////////////////// + + public FixedSizeItemStackHandler() { + } + + public FixedSizeItemStackHandler(final int size) { + super(size); + } + + public FixedSizeItemStackHandler(final NonNullList stacks) { + super(stacks); + } + + /////////////////////////////////////////////////////////////////// + + @Override + public void deserializeNBT(final CompoundNBT tag) { + // Our size is fixed, don't trust NBT data we're loading. + if (tag.contains(SIZE_TAG_NAME, NBTTagIds.TAG_INT)) { + final CompoundNBT safeTag = tag.copy(); + safeTag.remove(SIZE_TAG_NAME); + super.deserializeNBT(safeTag); + } else { + super.deserializeNBT(tag); + } + } +} From 6b2ba591d482bf76f4e1ff4d3fd61da503533639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:05:39 +0100 Subject: [PATCH 2/7] Add preconfigured computer to creative tab and add utility methods to make creating preconfigured items easier to do and read. --- .../cil/oc2/common/item/FlashMemoryItem.java | 8 +++ .../li/cil/oc2/common/item/HardDriveItem.java | 8 +++ .../li/cil/oc2/common/item/ItemGroup.java | 51 +++++++++++++++---- .../li/cil/oc2/common/item/MemoryItem.java | 9 ++++ .../common/tileentity/ComputerTileEntity.java | 6 +-- .../cil/oc2/common/util/ItemStackUtils.java | 31 +++++++++++ .../java/li/cil/oc2/common/util/NBTUtils.java | 10 ++++ 7 files changed, 110 insertions(+), 13 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java b/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java index 2fc6939b..088a9dca 100644 --- a/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java +++ b/src/main/java/li/cil/oc2/common/item/FlashMemoryItem.java @@ -22,6 +22,10 @@ public final class FlashMemoryItem extends AbstractStorageItem { /////////////////////////////////////////////////////////////////// + public static ItemStack withCapacity(final int capacity) { + return withCapacity(new ItemStack(Items.FLASH_MEMORY_ITEM.get()), capacity); + } + @Nullable public static Firmware getFirmware(final ItemStack stack) { if (stack.isEmpty() || !(stack.getItem() instanceof FlashMemoryItem)) { @@ -57,6 +61,10 @@ public final class FlashMemoryItem extends AbstractStorageItem { return stack; } + public static ItemStack withFirmware(final Firmware firmware) { + return withFirmware(new ItemStack(Items.FLASH_MEMORY_ITEM.get()), firmware); + } + /////////////////////////////////////////////////////////////////// public FlashMemoryItem(final Properties properties) { diff --git a/src/main/java/li/cil/oc2/common/item/HardDriveItem.java b/src/main/java/li/cil/oc2/common/item/HardDriveItem.java index 82abf37f..c050b5dc 100644 --- a/src/main/java/li/cil/oc2/common/item/HardDriveItem.java +++ b/src/main/java/li/cil/oc2/common/item/HardDriveItem.java @@ -21,6 +21,10 @@ public final class HardDriveItem extends AbstractStorageItem { /////////////////////////////////////////////////////////////////// + public static ItemStack withCapacity(final int capacity) { + return withCapacity(new ItemStack(Items.HARD_DRIVE_ITEM.get()), capacity); + } + @Nullable public static BaseBlockDevice getBaseBlockDevice(final ItemStack stack) { if (stack.isEmpty() || !(stack.getItem() instanceof HardDriveItem)) { @@ -56,6 +60,10 @@ public final class HardDriveItem extends AbstractStorageItem { return stack; } + public static ItemStack withBase(final BaseBlockDevice baseBlockDevice) { + return withBase(new ItemStack(Items.HARD_DRIVE_ITEM.get()), baseBlockDevice); + } + public static boolean isReadonly(final ItemStack stack) { if (stack.isEmpty() || !(stack.getItem() instanceof HardDriveItem)) { return false; diff --git a/src/main/java/li/cil/oc2/common/item/ItemGroup.java b/src/main/java/li/cil/oc2/common/item/ItemGroup.java index a0f6e5c1..fd60d635 100644 --- a/src/main/java/li/cil/oc2/common/item/ItemGroup.java +++ b/src/main/java/li/cil/oc2/common/item/ItemGroup.java @@ -4,9 +4,16 @@ import li.cil.oc2.api.API; import li.cil.oc2.common.Constants; import li.cil.oc2.common.bus.device.data.BaseBlockDevices; import li.cil.oc2.common.bus.device.data.Firmwares; +import li.cil.oc2.common.tileentity.ComputerTileEntity; +import li.cil.oc2.common.util.ItemStackUtils; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.NonNullList; +import java.util.Comparator; + +import static li.cil.oc2.common.util.NBTUtils.makeInventoryTag; + public final class ItemGroup { public static final net.minecraft.item.ItemGroup COMMON = new net.minecraft.item.ItemGroup(API.MOD_ID + ".common") { @Override @@ -18,17 +25,43 @@ public final class ItemGroup { public void fill(final NonNullList items) { super.fill(items); - items.add(FlashMemoryItem.withCapacity(new ItemStack(Items.FLASH_MEMORY_ITEM.get()), 4 * Constants.KILOBYTE)); - items.add(FlashMemoryItem.withFirmware(new ItemStack(Items.FLASH_MEMORY_ITEM.get()), Firmwares.BUILDROOT.get())); + items.add(FlashMemoryItem.withCapacity(4 * Constants.KILOBYTE)); + items.add(FlashMemoryItem.withFirmware(Firmwares.BUILDROOT.get())); - items.add(MemoryItem.withCapacity(new ItemStack(Items.MEMORY_ITEM.get()), 2 * Constants.MEGABYTE)); - items.add(MemoryItem.withCapacity(new ItemStack(Items.MEMORY_ITEM.get()), 4 * Constants.MEGABYTE)); - items.add(MemoryItem.withCapacity(new ItemStack(Items.MEMORY_ITEM.get()), 8 * Constants.MEGABYTE)); + items.add(MemoryItem.withCapacity(2 * Constants.MEGABYTE)); + items.add(MemoryItem.withCapacity(4 * Constants.MEGABYTE)); + items.add(MemoryItem.withCapacity(8 * Constants.MEGABYTE)); - items.add(HardDriveItem.withCapacity(new ItemStack(Items.HARD_DRIVE_ITEM.get()), 2 * Constants.MEGABYTE)); - items.add(HardDriveItem.withCapacity(new ItemStack(Items.HARD_DRIVE_ITEM.get()), 4 * Constants.MEGABYTE)); - items.add(HardDriveItem.withCapacity(new ItemStack(Items.HARD_DRIVE_ITEM.get()), 8 * Constants.MEGABYTE)); - items.add(HardDriveItem.withBase(new ItemStack(Items.HARD_DRIVE_ITEM.get()), BaseBlockDevices.BUILDROOT.get())); + items.add(HardDriveItem.withCapacity(2 * Constants.MEGABYTE)); + items.add(HardDriveItem.withCapacity(4 * Constants.MEGABYTE)); + items.add(HardDriveItem.withCapacity(8 * Constants.MEGABYTE)); + items.add(HardDriveItem.withBase(BaseBlockDevices.BUILDROOT.get())); + + items.add(getPreconfiguredComputer()); + + items.sort(Comparator.comparing(ItemStack::getTranslationKey)); + } + + private ItemStack getPreconfiguredComputer() { + final ItemStack computer = new ItemStack(Items.COMPUTER_ITEM.get()); + + final CompoundNBT computerItems = ItemStackUtils.getOrCreateTileEntityInventoryTag(computer); + computerItems.put(ComputerTileEntity.MEMORY_TAG_NAME, makeInventoryTag( + MemoryItem.withCapacity(8 * Constants.MEGABYTE), + MemoryItem.withCapacity(8 * Constants.MEGABYTE), + MemoryItem.withCapacity(8 * Constants.MEGABYTE) + )); + computerItems.put(ComputerTileEntity.HARD_DRIVE_TAG_NAME, makeInventoryTag( + HardDriveItem.withBase(BaseBlockDevices.BUILDROOT.get()) + )); + computerItems.put(ComputerTileEntity.FLASH_MEMORY_TAG_NAME, makeInventoryTag( + FlashMemoryItem.withFirmware(Firmwares.BUILDROOT.get()) + )); + computerItems.put(ComputerTileEntity.CARD_TAG_NAME, makeInventoryTag( + new ItemStack(Items.NETWORK_INTERFACE_CARD_ITEM.get()) + )); + + return computer; } }; } diff --git a/src/main/java/li/cil/oc2/common/item/MemoryItem.java b/src/main/java/li/cil/oc2/common/item/MemoryItem.java index fd4a080d..3f768d58 100644 --- a/src/main/java/li/cil/oc2/common/item/MemoryItem.java +++ b/src/main/java/li/cil/oc2/common/item/MemoryItem.java @@ -1,10 +1,19 @@ package li.cil.oc2.common.item; import li.cil.oc2.common.Constants; +import net.minecraft.item.ItemStack; public final class MemoryItem extends AbstractStorageItem { private static final int DEFAULT_CAPACITY = 2 * Constants.MEGABYTE; + /////////////////////////////////////////////////////////////////// + + public static ItemStack withCapacity(final int capacity) { + return withCapacity(new ItemStack(Items.MEMORY_ITEM.get()), capacity); + } + + /////////////////////////////////////////////////////////////////// + public MemoryItem(final Properties properties) { super(properties, DEFAULT_CAPACITY); } diff --git a/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java b/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java index 2eb50001..4d8a7f6b 100644 --- a/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java +++ b/src/main/java/li/cil/oc2/common/tileentity/ComputerTileEntity.java @@ -30,6 +30,7 @@ import li.cil.oc2.common.network.message.ComputerRunStateMessage; import li.cil.oc2.common.network.message.TerminalBlockOutputMessage; import li.cil.oc2.common.serialization.NBTSerialization; import li.cil.oc2.common.util.HorizontalBlockUtils; +import li.cil.oc2.common.util.ItemStackUtils; import li.cil.oc2.common.util.NBTTagIds; import li.cil.oc2.common.util.NBTUtils; import li.cil.oc2.common.vm.Terminal; @@ -500,14 +501,11 @@ public final class ComputerTileEntity extends AbstractTileEntity implements ITic } public void exportToItemStack(final ItemStack stack) { - final CompoundNBT items = new CompoundNBT(); + final CompoundNBT items = ItemStackUtils.getOrCreateTileEntityInventoryTag(stack); items.put(MEMORY_TAG_NAME, memoryItemHandler.serializeNBT()); items.put(HARD_DRIVE_TAG_NAME, hardDriveItemHandler.serializeNBT()); items.put(FLASH_MEMORY_TAG_NAME, flashMemoryItemHandler.serializeNBT()); items.put(CARD_TAG_NAME, cardItemHandler.serializeNBT()); - - stack.getOrCreateChildTag(Constants.BLOCK_ENTITY_TAG_NAME_IN_ITEM) - .put(Constants.BLOCK_ENTITY_INVENTORY_TAG_NAME, items); } /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java b/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java index 78114bf0..b232f466 100644 --- a/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java +++ b/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java @@ -13,6 +13,9 @@ import javax.annotation.Nullable; import java.util.Optional; import java.util.Random; +import static li.cil.oc2.common.Constants.BLOCK_ENTITY_INVENTORY_TAG_NAME; +import static li.cil.oc2.common.Constants.BLOCK_ENTITY_TAG_NAME_IN_ITEM; + public final class ItemStackUtils { private static final String MOD_TAG_NAME = API.MOD_ID; @@ -33,6 +36,34 @@ public final class ItemStackUtils { return stack.getOrCreateChildTag(MOD_TAG_NAME); } + @Nullable + public static CompoundNBT getTileEntityTag(final ItemStack stack) { + return stack.getChildTag(BLOCK_ENTITY_TAG_NAME_IN_ITEM); + } + + public static CompoundNBT getOrCreateTileEntityTag(final ItemStack stack) { + return stack.getOrCreateChildTag(BLOCK_ENTITY_TAG_NAME_IN_ITEM); + } + + @Nullable + public static CompoundNBT getTileEntityInventoryTag(final ItemStack stack) { + final CompoundNBT tag = getTileEntityTag(stack); + return tag == null ? null : tag.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME); + } + + @Nullable + public static CompoundNBT getOrCreateTileEntityInventoryTag(final ItemStack stack) { + final CompoundNBT tag = getOrCreateTileEntityTag(stack); + if (tag.contains(BLOCK_ENTITY_INVENTORY_TAG_NAME)) { + return tag.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME); + } + + final CompoundNBT inventoryNbt = new CompoundNBT(); + tag.put(BLOCK_ENTITY_INVENTORY_TAG_NAME, inventoryNbt); + + return inventoryNbt; + } + public static Optional spawnAsEntity(final World world, final BlockPos pos, final ItemStack stack) { return spawnAsEntity(world, Vector3d.copyCentered(pos), stack); } diff --git a/src/main/java/li/cil/oc2/common/util/NBTUtils.java b/src/main/java/li/cil/oc2/common/util/NBTUtils.java index f9cec5b4..a4bb25e9 100644 --- a/src/main/java/li/cil/oc2/common/util/NBTUtils.java +++ b/src/main/java/li/cil/oc2/common/util/NBTUtils.java @@ -1,6 +1,8 @@ package li.cil.oc2.common.util; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraftforge.items.ItemStackHandler; import javax.annotation.Nullable; @@ -24,4 +26,12 @@ public final class NBTUtils { return null; } } + + public static CompoundNBT makeInventoryTag(final ItemStack... items) { + final ItemStackHandler itemStackHandler = new ItemStackHandler(items.length); + for (int i = 0; i < items.length; i++) { + itemStackHandler.setStackInSlot(i, items[i]); + } + return itemStackHandler.serializeNBT(); + } } From 8c5a79fe699a8605d473335700f9146ea31d8182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:09:32 +0100 Subject: [PATCH 3/7] Re-use util method. --- src/main/java/li/cil/oc2/common/util/ItemStackUtils.java | 5 +++-- src/main/java/li/cil/oc2/common/util/TooltipUtils.java | 9 ++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java b/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java index b232f466..63c26c63 100644 --- a/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java +++ b/src/main/java/li/cil/oc2/common/util/ItemStackUtils.java @@ -48,13 +48,14 @@ public final class ItemStackUtils { @Nullable public static CompoundNBT getTileEntityInventoryTag(final ItemStack stack) { final CompoundNBT tag = getTileEntityTag(stack); - return tag == null ? null : tag.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME); + return tag != null && tag.contains(BLOCK_ENTITY_INVENTORY_TAG_NAME, NBTTagIds.TAG_COMPOUND) + ? tag.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME) : null; } @Nullable public static CompoundNBT getOrCreateTileEntityInventoryTag(final ItemStack stack) { final CompoundNBT tag = getOrCreateTileEntityTag(stack); - if (tag.contains(BLOCK_ENTITY_INVENTORY_TAG_NAME)) { + if (tag.contains(BLOCK_ENTITY_INVENTORY_TAG_NAME, NBTTagIds.TAG_COMPOUND)) { return tag.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME); } diff --git a/src/main/java/li/cil/oc2/common/util/TooltipUtils.java b/src/main/java/li/cil/oc2/common/util/TooltipUtils.java index ea7dab4a..7a44eea7 100644 --- a/src/main/java/li/cil/oc2/common/util/TooltipUtils.java +++ b/src/main/java/li/cil/oc2/common/util/TooltipUtils.java @@ -13,9 +13,6 @@ import net.minecraft.util.text.TextFormatting; import java.util.ArrayList; import java.util.List; -import static li.cil.oc2.common.Constants.BLOCK_ENTITY_INVENTORY_TAG_NAME; -import static li.cil.oc2.common.Constants.BLOCK_ENTITY_TAG_NAME_IN_ITEM; - public final class TooltipUtils { private static final ThreadLocal> ITEM_STACKS = ThreadLocal.withInitial(ArrayList::new); private static final ThreadLocal ITEM_STACKS_SIZES = ThreadLocal.withInitial(IntArrayList::new); @@ -25,10 +22,8 @@ public final class TooltipUtils { } public static void addInventoryInformation(final ItemStack stack, final List tooltip, final String... itemHandlerTags) { - final CompoundNBT tileEntityNbt = stack.getChildTag(BLOCK_ENTITY_TAG_NAME_IN_ITEM); - if (tileEntityNbt != null && tileEntityNbt.contains(BLOCK_ENTITY_INVENTORY_TAG_NAME, NBTTagIds.TAG_COMPOUND)) { - final CompoundNBT itemHandlerNbt = tileEntityNbt.getCompound(BLOCK_ENTITY_INVENTORY_TAG_NAME); - + final CompoundNBT itemHandlerNbt = ItemStackUtils.getTileEntityInventoryTag(stack); + if (itemHandlerNbt != null) { final List itemStacks = ITEM_STACKS.get(); itemStacks.clear(); final IntList itemStackSizes = ITEM_STACKS_SIZES.get(); From 17de47801f92b594509814b4635f5e3a28dfb565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:09:53 +0100 Subject: [PATCH 4/7] Skip suffix if size not present. --- .../oc2/common/item/AbstractStorageItem.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/item/AbstractStorageItem.java b/src/main/java/li/cil/oc2/common/item/AbstractStorageItem.java index 92c3ac73..f211d3b7 100644 --- a/src/main/java/li/cil/oc2/common/item/AbstractStorageItem.java +++ b/src/main/java/li/cil/oc2/common/item/AbstractStorageItem.java @@ -9,6 +9,8 @@ import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; +import javax.annotation.Nullable; + public abstract class AbstractStorageItem extends Item { private static final String CAPACITY_TAG_NAME = "size"; @@ -49,16 +51,27 @@ public abstract class AbstractStorageItem extends Item { @Override public ITextComponent getDisplayName(final ItemStack stack) { - return new StringTextComponent("") - .append(super.getDisplayName(stack)) - .appendString(" (") - .append(getDisplayNameSuffix(stack)) - .appendString(")"); + final ITextComponent suffix = getDisplayNameSuffix(stack); + if (suffix != null) { + return new StringTextComponent("") + .append(super.getDisplayName(stack)) + .appendString(" (") + .append(suffix) + .appendString(")"); + } else { + return super.getDisplayName(stack); + } } /////////////////////////////////////////////////////////////////// + @Nullable protected ITextComponent getDisplayNameSuffix(final ItemStack stack) { - return new StringTextComponent(TextFormatUtils.formatSize(getCapacity(stack))); + final int capacity = getCapacity(stack); + if (capacity > 0) { + return new StringTextComponent(TextFormatUtils.formatSize(capacity)); + } else { + return null; + } } } From 2008cd724df49163b35daccdc76b9c34ea6ee357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:13:43 +0100 Subject: [PATCH 5/7] Make HDDs with base block device look like max size HDDs. --- .../java/li/cil/oc2/client/item/CustomItemModelProperties.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java b/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java index 9a69262e..4eaafe97 100644 --- a/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java +++ b/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java @@ -2,6 +2,7 @@ package li.cil.oc2.client.item; import li.cil.oc2.api.API; import li.cil.oc2.common.item.AbstractStorageItem; +import li.cil.oc2.common.item.HardDriveItem; import li.cil.oc2.common.item.Items; import net.minecraft.item.ItemModelsProperties; import net.minecraft.util.ResourceLocation; @@ -15,6 +16,6 @@ public final class CustomItemModelProperties { ItemModelsProperties.registerProperty(Items.MEMORY_ITEM.get(), CustomItemModelProperties.CAPACITY_PROPERTY, (stack, world, entity) -> AbstractStorageItem.getCapacity(stack)); ItemModelsProperties.registerProperty(Items.HARD_DRIVE_ITEM.get(), CustomItemModelProperties.CAPACITY_PROPERTY, - (stack, world, entity) -> AbstractStorageItem.getCapacity(stack)); + (stack, world, entity) -> HardDriveItem.getBaseBlockDevice(stack) != null ? Integer.MAX_VALUE : AbstractStorageItem.getCapacity(stack)); } } From b504b01487a5623a719f2ed4d28f815aae0bdb85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:28:52 +0100 Subject: [PATCH 6/7] Stylizing the working title for fun :P --- README.md | 2 +- build.gradle | 2 +- gradle.properties | 2 +- src/main/resources/assets/oc2/lang/en_us.json | 2 +- src/main/resources/pack.mcmeta | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e137c0d3..660b5ccc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# OpenComputers2 [Working Title] +# OpenComputers II [Working Title] Yet another computer mod. diff --git a/build.gradle b/build.gradle index 3a3a1205..d2de5f09 100644 --- a/build.gradle +++ b/build.gradle @@ -39,7 +39,7 @@ if (build_number == null) version = "${semver}+${build_number}" group = mod_group -archivesBaseName = "${mod_name}-MC${minecraft_version}-Forge" +archivesBaseName = "${mod_name.replace(' ', '-')}-MC${minecraft_version}-Forge" sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 compileJava.sourceCompatibility = compileJava.targetCompatibility = JavaVersion.VERSION_1_8 diff --git a/gradle.properties b/gradle.properties index 8d690d9a..e0b7ecbb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ forge_version_min=35 mod_group=li.cil.oc2 mod_id=oc2 -mod_name=OpenComputers2 +mod_name=OpenComputers II mod_url=https://github.com/fnuecke/oc2 mod_issues_url=https://github.com/fnuecke/oc2/issues version_major=0 diff --git a/src/main/resources/assets/oc2/lang/en_us.json b/src/main/resources/assets/oc2/lang/en_us.json index 36cbabc6..3f98655e 100644 --- a/src/main/resources/assets/oc2/lang/en_us.json +++ b/src/main/resources/assets/oc2/lang/en_us.json @@ -1,5 +1,5 @@ { - "itemGroup.oc2.common": "OpenComputers2", + "itemGroup.oc2.common": "OpenComputers II", "block.oc2.computer": "Computer", "block.oc2.bus_cable": "Bus Cable", diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 9940370b..843f7af4 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { - "description": "OpenComputers2 Resources", + "description": "Resources", "pack_format": 5 } } From bcf62727170400dcc879a79cfa0ce60af0b8db48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 10 Jan 2021 22:33:02 +0100 Subject: [PATCH 7/7] Constant name consistency. --- src/main/java/li/cil/oc2/common/Constants.java | 6 +++--- src/main/java/li/cil/oc2/common/item/Items.java | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/li/cil/oc2/common/Constants.java b/src/main/java/li/cil/oc2/common/Constants.java index b53bf4d8..9bf3b989 100644 --- a/src/main/java/li/cil/oc2/common/Constants.java +++ b/src/main/java/li/cil/oc2/common/Constants.java @@ -31,13 +31,13 @@ public final class Constants { public static final String WRENCH_ITEM_NAME = "wrench"; public static final String BUS_INTERFACE_ITEM_NAME = "bus_interface"; - public static final String NETWORK_CABLE_NAME = "network_cable"; + public static final String NETWORK_CABLE_ITEM_NAME = "network_cable"; public static final String FLASH_MEMORY_ITEM_NAME = "flash_memory"; public static final String MEMORY_ITEM_NAME = "memory"; public static final String HARD_DRIVE_ITEM_NAME = "hard_drive"; - public static final String REDSTONE_INTERFACE_CARD_NAME = "redstone_interface_card"; - public static final String NETWORK_INTERFACE_CARD_NAME = "network_interface_card"; + public static final String REDSTONE_INTERFACE_CARD_ITEM_NAME = "redstone_interface_card"; + public static final String NETWORK_INTERFACE_CARD_ITEM_NAME = "network_interface_card"; /////////////////////////////////////////////////////////////////// diff --git a/src/main/java/li/cil/oc2/common/item/Items.java b/src/main/java/li/cil/oc2/common/item/Items.java index 841941d0..3ddff545 100644 --- a/src/main/java/li/cil/oc2/common/item/Items.java +++ b/src/main/java/li/cil/oc2/common/item/Items.java @@ -29,13 +29,13 @@ public final class Items { public static final RegistryObject WRENCH_ITEM = register(Constants.WRENCH_ITEM_NAME, WrenchItem::new); public static final RegistryObject BUS_INTERFACE_ITEM = register(Constants.BUS_INTERFACE_ITEM_NAME, BusInterfaceItem::new); - public static final RegistryObject NETWORK_CABLE_ITEM = register(Constants.NETWORK_CABLE_NAME, NetworkCableItem::new); + public static final RegistryObject NETWORK_CABLE_ITEM = register(Constants.NETWORK_CABLE_ITEM_NAME, NetworkCableItem::new); public static final RegistryObject MEMORY_ITEM = register(Constants.MEMORY_ITEM_NAME, MemoryItem::new, new Item.Properties()); public static final RegistryObject HARD_DRIVE_ITEM = register(Constants.HARD_DRIVE_ITEM_NAME, HardDriveItem::new, new Item.Properties()); public static final RegistryObject FLASH_MEMORY_ITEM = register(Constants.FLASH_MEMORY_ITEM_NAME, FlashMemoryItem::new, new Item.Properties()); - public static final RegistryObject REDSTONE_INTERFACE_CARD_ITEM = register(Constants.REDSTONE_INTERFACE_CARD_NAME); - public static final RegistryObject NETWORK_INTERFACE_CARD_ITEM = register(Constants.NETWORK_INTERFACE_CARD_NAME); + public static final RegistryObject REDSTONE_INTERFACE_CARD_ITEM = register(Constants.REDSTONE_INTERFACE_CARD_ITEM_NAME); + public static final RegistryObject NETWORK_INTERFACE_CARD_ITEM = register(Constants.NETWORK_INTERFACE_CARD_ITEM_NAME); ///////////////////////////////////////////////////////////////////