From d3c856ec3c93580e02ea48062daed320ff636962 Mon Sep 17 00:00:00 2001 From: Jackson Abney Date: Sat, 25 May 2024 15:05:20 -0800 Subject: [PATCH] Fixed the tooltips for GUIs and added a 16MB version of memory and hard drives for use in more intensive applications. Also added a modern version of the floppy disk that holds 1.44MB. --- .../gui/AbstractMachineInventoryScreen.java | 6 +- .../gui/AbstractModContainerScreen.java | 2 +- .../li/cil/oc2/client/gui/util/GuiUtils.java | 4 +- .../oc2/client/gui/widget/ImageButton.java | 22 +++ .../cil/oc2/client/item/CustomItemColors.java | 4 +- .../item/CustomItemModelProperties.java | 4 + .../renderer/ProjectorDepthRenderer.java | 2 +- .../li/cil/oc2/common/item/ItemGroup.java | 3 + .../java/li/cil/oc2/common/item/Items.java | 6 + .../li/cil/oc2/data/ModItemModelProvider.java | 5 + .../li/cil/oc2/data/ModItemTagsProvider.java | 10 +- .../li/cil/oc2/data/ModRecipesProvider.java | 37 ++++ src/main/resources/assets/oc2/lang/en_us.json | 2 + src/main/resources/assets/oc2/lang/ru_ru.json | 186 ++++++++---------- src/main/resources/assets/oc2/lang/zh_cn.json | 163 ++++++++------- .../assets/oc2/models/item/floppy_modern.json | 7 + .../models/item/hard_drive_extra_large.json | 7 + .../oc2/models/item/memory_extra_large.json | 6 + .../recipes/oc2.common/floppy_modern.json | 34 ++++ .../oc2.common/hard_drive_extra_large.json | 47 +++++ .../oc2.common/memory_extra_large.json | 47 +++++ .../data/oc2/recipes/floppy_modern.json | 25 +++ .../oc2/recipes/hard_drive_extra_large.json | 25 +++ .../data/oc2/recipes/memory_extra_large.json | 26 +++ .../oc2/tags/items/device_needs_reboot.json | 4 +- .../data/oc2/tags/items/devices/floppy.json | 5 +- .../oc2/tags/items/devices/hard_drive.json | 3 +- .../data/oc2/tags/items/devices/memory.json | 5 +- 28 files changed, 509 insertions(+), 188 deletions(-) create mode 100644 src/main/resources/assets/oc2/models/item/floppy_modern.json create mode 100644 src/main/resources/assets/oc2/models/item/hard_drive_extra_large.json create mode 100644 src/main/resources/assets/oc2/models/item/memory_extra_large.json create mode 100644 src/main/resources/data/oc2/advancements/recipes/oc2.common/floppy_modern.json create mode 100644 src/main/resources/data/oc2/advancements/recipes/oc2.common/hard_drive_extra_large.json create mode 100644 src/main/resources/data/oc2/advancements/recipes/oc2.common/memory_extra_large.json create mode 100644 src/main/resources/data/oc2/recipes/floppy_modern.json create mode 100644 src/main/resources/data/oc2/recipes/hard_drive_extra_large.json create mode 100644 src/main/resources/data/oc2/recipes/memory_extra_large.json diff --git a/src/main/java/li/cil/oc2/client/gui/AbstractMachineInventoryScreen.java b/src/main/java/li/cil/oc2/client/gui/AbstractMachineInventoryScreen.java index 45743513..5ab8c79c 100644 --- a/src/main/java/li/cil/oc2/client/gui/AbstractMachineInventoryScreen.java +++ b/src/main/java/li/cil/oc2/client/gui/AbstractMachineInventoryScreen.java @@ -125,9 +125,9 @@ public abstract class AbstractMachineInventoryScreen void renderMissingDeviceInfoIcon(final GuiGraphics graphics, final AbstractContainerScreen screen, final DeviceType type, final Sprite icon) { - /*findFirstSlotOfTypeIfAllSlotsOfTypeEmpty(screen.getMenu(), type).ifPresent(slot -> icon.draw(graphics, + findFirstSlotOfTypeIfAllSlotsOfTypeEmpty(screen.getMenu(), type).ifPresent(slot -> icon.draw(graphics, screen.getGuiLeft() + slot.x - 1 + RELATIVE_ICON_POSITION, - screen.getGuiTop() + slot.y - 1 + RELATIVE_ICON_POSITION));*/ + screen.getGuiTop() + slot.y - 1 + RELATIVE_ICON_POSITION)); } public static void renderMissingDeviceInfoTooltip(final GuiGraphics graphics, final AbstractContainerScreen screen, final int mouseX, final int mouseY, final DeviceType type) { diff --git a/src/main/java/li/cil/oc2/client/gui/widget/ImageButton.java b/src/main/java/li/cil/oc2/client/gui/widget/ImageButton.java index 1b2da602..174fe0fe 100644 --- a/src/main/java/li/cil/oc2/client/gui/widget/ImageButton.java +++ b/src/main/java/li/cil/oc2/client/gui/widget/ImageButton.java @@ -9,10 +9,19 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractButton; +import net.minecraft.client.gui.components.Tooltip; import net.minecraft.client.gui.narration.NarrationElementOutput; +import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ComponentContents; +import net.minecraft.network.chat.Style; +import net.minecraft.util.FormattedCharSequence; import net.minecraft.util.Mth; +import net.minecraft.world.inventory.tooltip.TooltipComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import javax.annotation.Nullable; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -84,4 +93,17 @@ public abstract class ImageButton extends AbstractButton { getFGColor() | Mth.ceil(alpha * 255) << 24); } } + + @Override + @Nullable + public Tooltip getTooltip() + { + if (tooltip.stream().findFirst().isEmpty()) return null; + StringBuilder builder = new StringBuilder(); + for(int i = 0; i < tooltip.size(); i++) { + builder.append(tooltip.get(i).getString() + (i == tooltip.size() - 1 ? "" : "\n")); + } + Component component = Component.literal(builder.toString()); + return Tooltip.create(component); + } } diff --git a/src/main/java/li/cil/oc2/client/item/CustomItemColors.java b/src/main/java/li/cil/oc2/client/item/CustomItemColors.java index 79c1ece1..6178db40 100644 --- a/src/main/java/li/cil/oc2/client/item/CustomItemColors.java +++ b/src/main/java/li/cil/oc2/client/item/CustomItemColors.java @@ -41,8 +41,10 @@ public final class CustomItemColors { Items.HARD_DRIVE_SMALL.get(), Items.HARD_DRIVE_MEDIUM.get(), Items.HARD_DRIVE_LARGE.get(), + Items.HARD_DRIVE_EXTRA_LARGE.get(), Items.HARD_DRIVE_CUSTOM.get(), - Items.FLOPPY.get()); + Items.FLOPPY.get(), + Items.FLOPPY_MODERN.get()); } public static int getColorByDye(final DyeColor dye) { 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 85367c28..db49879b 100644 --- a/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java +++ b/src/main/java/li/cil/oc2/client/item/CustomItemModelProperties.java @@ -19,9 +19,13 @@ public final class CustomItemModelProperties { (stack, level, entity, seed) -> CustomItemColors.getColor(stack)); ItemProperties.register(Items.HARD_DRIVE_LARGE.get(), CustomItemModelProperties.COLOR_PROPERTY, (stack, leve, entity, seed) -> CustomItemColors.getColor(stack)); + ItemProperties.register(Items.HARD_DRIVE_EXTRA_LARGE.get(), CustomItemModelProperties.COLOR_PROPERTY, + (stack, leve, entity, seed) -> CustomItemColors.getColor(stack)); ItemProperties.register(Items.HARD_DRIVE_CUSTOM.get(), CustomItemModelProperties.COLOR_PROPERTY, (stack, level, entity, seed) -> CustomItemColors.getColor(stack)); ItemProperties.register(Items.FLOPPY.get(), CustomItemModelProperties.COLOR_PROPERTY, (stack, level, entity, seed) -> CustomItemColors.getColor(stack)); + ItemProperties.register(Items.FLOPPY_MODERN.get(), CustomItemModelProperties.COLOR_PROPERTY, + (stack, level, entity, seed) -> CustomItemColors.getColor(stack)); } } diff --git a/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java b/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java index 62bc06e4..06335539 100644 --- a/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java +++ b/src/main/java/li/cil/oc2/client/renderer/ProjectorDepthRenderer.java @@ -419,7 +419,7 @@ public final class ProjectorDepthRenderer { 0, 5000 );*/ - RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.ORTHOGRAPHIC_Z); + RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.DISTANCE_TO_ORIGIN); final PoseStack modelViewStack = RenderSystem.getModelViewStack(); modelViewStack.setIdentity(); 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 f6409e1f..4a1ffb7f 100644 --- a/src/main/java/li/cil/oc2/common/item/ItemGroup.java +++ b/src/main/java/li/cil/oc2/common/item/ItemGroup.java @@ -87,13 +87,16 @@ public final class ItemGroup { output.accept(Items.MEMORY_SMALL.get()); output.accept(Items.MEMORY_MEDIUM.get()); output.accept(Items.MEMORY_LARGE.get()); + output.accept(Items.MEMORY_EXTRA_LARGE.get()); output.accept(Items.HARD_DRIVE_SMALL.get()); output.accept(Items.HARD_DRIVE_MEDIUM.get()); output.accept(Items.HARD_DRIVE_LARGE.get()); + output.accept(Items.HARD_DRIVE_EXTRA_LARGE.get()); output.accept(Items.HARD_DRIVE_CUSTOM.get()); output.accept(Items.FLASH_MEMORY.get()); output.accept(Items.FLASH_MEMORY_CUSTOM.get()); output.accept(Items.FLOPPY.get()); + output.accept(Items.FLOPPY_MODERN.get()); output.accept(Items.REDSTONE_INTERFACE_CARD.get()); output.accept(Items.NETWORK_INTERFACE_CARD.get()); output.accept(Items.NETWORK_TUNNEL_CARD.get()); 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 a3cda6eb..3eb2acde 100644 --- a/src/main/java/li/cil/oc2/common/item/Items.java +++ b/src/main/java/li/cil/oc2/common/item/Items.java @@ -54,6 +54,8 @@ public final class Items { new MemoryItem(4 * Constants.MEGABYTE)); public static final RegistryObject MEMORY_LARGE = register("memory_large", () -> new MemoryItem(8 * Constants.MEGABYTE)); + public static final RegistryObject MEMORY_EXTRA_LARGE = register("memory_extra_large", () -> + new MemoryItem(16 * Constants.MEGABYTE)); public static final RegistryObject HARD_DRIVE_SMALL = register("hard_drive_small", () -> new HardDriveItem(2 * Constants.MEGABYTE, DyeColor.LIGHT_GRAY)); @@ -61,6 +63,8 @@ public final class Items { new HardDriveItem(4 * Constants.MEGABYTE, DyeColor.GREEN)); public static final RegistryObject HARD_DRIVE_LARGE = register("hard_drive_large", () -> new HardDriveItem(8 * Constants.MEGABYTE, DyeColor.CYAN)); + public static final RegistryObject HARD_DRIVE_EXTRA_LARGE = register("hard_drive_extra_large", () -> + new HardDriveItem(16 * Constants.MEGABYTE, DyeColor.YELLOW)); public static final RegistryObject HARD_DRIVE_CUSTOM = register("hard_drive_custom", () -> new HardDriveWithExternalDataItem(BlockDeviceDataRegistry.BUILDROOT.getId(), DyeColor.BROWN)); @@ -71,6 +75,8 @@ public final class Items { public static final RegistryObject FLOPPY = register("floppy", () -> new FloppyItem(512 * Constants.KILOBYTE)); + public static final RegistryObject FLOPPY_MODERN = register("floppy_modern", () -> + new FloppyItem(1440 * Constants.KILOBYTE)); public static final RegistryObject REDSTONE_INTERFACE_CARD = register("redstone_interface_card"); public static final RegistryObject NETWORK_INTERFACE_CARD = register("network_interface_card", NetworkInterfaceCardItem::new); diff --git a/src/main/java/li/cil/oc2/data/ModItemModelProvider.java b/src/main/java/li/cil/oc2/data/ModItemModelProvider.java index 36c9d205..b91522ac 100644 --- a/src/main/java/li/cil/oc2/data/ModItemModelProvider.java +++ b/src/main/java/li/cil/oc2/data/ModItemModelProvider.java @@ -29,18 +29,23 @@ public final class ModItemModelProvider extends ItemModelProvider { simple(Items.MEMORY_SMALL); simple(Items.MEMORY_MEDIUM); simple(Items.MEMORY_LARGE); + simple(Items.MEMORY_EXTRA_LARGE); simple(Items.HARD_DRIVE_SMALL, "item/hard_drive_base") .texture("layer1", "item/hard_drive_tint"); simple(Items.HARD_DRIVE_MEDIUM, "item/hard_drive_base") .texture("layer1", "item/hard_drive_tint"); simple(Items.HARD_DRIVE_LARGE, "item/hard_drive_base") .texture("layer1", "item/hard_drive_tint"); + simple(Items.HARD_DRIVE_EXTRA_LARGE, "item/hard_drive_base") + .texture("layer1", "item/hard_drive_tint"); simple(Items.HARD_DRIVE_CUSTOM, "item/hard_drive_base") .texture("layer1", "item/hard_drive_tint"); simple(Items.FLASH_MEMORY); simple(Items.FLASH_MEMORY_CUSTOM, "item/flash_memory"); simple(Items.FLOPPY, "item/floppy_base") .texture("layer1", "item/floppy_tint"); + simple(Items.FLOPPY_MODERN, "item/floppy_base") + .texture("layer1", "item/floppy_tint"); simple(Items.REDSTONE_INTERFACE_CARD); simple(Items.NETWORK_INTERFACE_CARD); diff --git a/src/main/java/li/cil/oc2/data/ModItemTagsProvider.java b/src/main/java/li/cil/oc2/data/ModItemTagsProvider.java index 0caa45b6..42c514e8 100644 --- a/src/main/java/li/cil/oc2/data/ModItemTagsProvider.java +++ b/src/main/java/li/cil/oc2/data/ModItemTagsProvider.java @@ -9,6 +9,7 @@ import net.minecraft.data.DataGenerator; import net.minecraft.core.HolderLookup; import net.minecraft.data.PackOutput; import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraftforge.common.data.ExistingFileHelper; @@ -45,12 +46,14 @@ public final class ModItemTagsProvider extends ItemTagsProvider { tag(DEVICES_MEMORY).add( Items.MEMORY_SMALL.get(), Items.MEMORY_MEDIUM.get(), - Items.MEMORY_LARGE.get() + Items.MEMORY_LARGE.get(), + Items.MEMORY_EXTRA_LARGE.get() ); tag(DEVICES_HARD_DRIVE).add( Items.HARD_DRIVE_SMALL.get(), Items.HARD_DRIVE_MEDIUM.get(), Items.HARD_DRIVE_LARGE.get(), + Items.HARD_DRIVE_EXTRA_LARGE.get(), Items.HARD_DRIVE_CUSTOM.get() ); tag(DEVICES_FLASH_MEMORY).add( @@ -58,7 +61,8 @@ public final class ModItemTagsProvider extends ItemTagsProvider { Items.FLASH_MEMORY_CUSTOM.get() ); tag(DEVICES_FLOPPY).add( - Items.FLOPPY.get() + Items.FLOPPY.get(), + Items.FLOPPY_MODERN.get() ); tag(DEVICES_CARD).add( Items.REDSTONE_INTERFACE_CARD.get(), @@ -86,11 +90,13 @@ public final class ModItemTagsProvider extends ItemTagsProvider { Items.HARD_DRIVE_SMALL.get(), Items.HARD_DRIVE_MEDIUM.get(), Items.HARD_DRIVE_LARGE.get(), + Items.HARD_DRIVE_EXTRA_LARGE.get(), Items.HARD_DRIVE_CUSTOM.get(), Items.KEYBOARD.get(), Items.MEMORY_SMALL.get(), Items.MEMORY_MEDIUM.get(), Items.MEMORY_LARGE.get(), + Items.MEMORY_EXTRA_LARGE.get(), Items.NETWORK_INTERFACE_CARD.get(), Items.NETWORK_TUNNEL_CARD.get(), Items.NETWORK_TUNNEL_MODULE.get(), diff --git a/src/main/java/li/cil/oc2/data/ModRecipesProvider.java b/src/main/java/li/cil/oc2/data/ModRecipesProvider.java index 0d599e03..78ddd555 100644 --- a/src/main/java/li/cil/oc2/data/ModRecipesProvider.java +++ b/src/main/java/li/cil/oc2/data/ModRecipesProvider.java @@ -219,6 +219,19 @@ public final class ModRecipesProvider extends RecipeProvider { .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get())) .save(consumer); + ShapedRecipeBuilder + .shaped(RecipeCategory.MISC, Items.MEMORY_EXTRA_LARGE.get(), 2) + .pattern("DTD") + .pattern("EBE") + .pattern("DTD") + .define('D', Tags.Items.GEMS_DIAMOND) + .define('T', Items.TRANSISTOR.get()) + .define('B', Items.CIRCUIT_BOARD.get()) + .define('E', Tags.Items.GEMS_EMERALD) + .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get())) + .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get())) + .save(consumer); + ShapedRecipeBuilder .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_SMALL.get()) .pattern("ITI") @@ -255,6 +268,19 @@ public final class ModRecipesProvider extends RecipeProvider { .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get())) .save(consumer); + ShapedRecipeBuilder + .shaped(RecipeCategory.MISC, Items.HARD_DRIVE_EXTRA_LARGE.get()) + .pattern("ETE") + .pattern("DBD") + .pattern("EBE") + .define('D', Tags.Items.GEMS_DIAMOND) + .define('T', Items.TRANSISTOR.get()) + .define('B', Items.CIRCUIT_BOARD.get()) + .define('E', Tags.Items.GEMS_EMERALD) + .unlockedBy("has_computer", inventoryChange(Items.COMPUTER.get())) + .unlockedBy("has_robot", inventoryChange(Items.ROBOT.get())) + .save(consumer); + WrenchRecipeBuilder .wrenchRecipe(Items.HARD_DRIVE_CUSTOM.get()) .requires(Items.HARD_DRIVE_LARGE.get()) @@ -347,6 +373,17 @@ public final class ModRecipesProvider extends RecipeProvider { .unlockedBy("has_disk_drive", inventoryChange(Items.DISK_DRIVE.get())) .save(consumer); + ShapedRecipeBuilder + .shaped(RecipeCategory.MISC, Items.FLOPPY_MODERN.get()) + .pattern("ITI") + .pattern("QBQ") + .pattern("QBQ") + .define('I', Tags.Items.INGOTS_IRON) + .define('T', Items.TRANSISTOR.get()) + .define('Q', Tags.Items.GEMS_QUARTZ) + .define('B', Items.CIRCUIT_BOARD.get()) + .unlockedBy("has_disk_drive", inventoryChange(Items.DISK_DRIVE.get())) + .save(consumer); ShapedRecipeBuilder .shaped(RecipeCategory.MISC, Items.INVENTORY_OPERATIONS_MODULE.get()) diff --git a/src/main/resources/assets/oc2/lang/en_us.json b/src/main/resources/assets/oc2/lang/en_us.json index 72df2ef7..63fc4860 100644 --- a/src/main/resources/assets/oc2/lang/en_us.json +++ b/src/main/resources/assets/oc2/lang/en_us.json @@ -39,6 +39,8 @@ "item.oc2.hard_drive.desc": "Mass storage for operating systems and data.", "item.oc2.floppy": "Floppy Disk", "item.oc2.floppy.desc": "Portable storage used to transfer data between Computers.", + "item.oc2.floppy_modern": "Modern Floppy Disk", + "item.oc2.floppy_modern.desc": "Newer version of portable storage used to transfer data between Computers.", "item.oc2.flash_memory": "Flash Memory", "item.oc2.flash_memory.desc": "Readonly storage for firmware.", "item.oc2.redstone_interface_card": "Redstone Interface Card", diff --git a/src/main/resources/assets/oc2/lang/ru_ru.json b/src/main/resources/assets/oc2/lang/ru_ru.json index 59cd6f28..8b854f45 100644 --- a/src/main/resources/assets/oc2/lang/ru_ru.json +++ b/src/main/resources/assets/oc2/lang/ru_ru.json @@ -1,134 +1,120 @@ { - "item_group.oc2.common": "OpenComputers II", - + "block.oc2.bus_cable": "Интерфейсный кабель", + "block.oc2.bus_cable.desc": "Соединяет интерфейсные шины.", + "block.oc2.charger": "Зарядное устройство", + "block.oc2.charger.desc": "Заряжает сущности и предметы в контейнерах над ним.", "block.oc2.computer": "Компьютер", "block.oc2.computer.desc": "Выполняет программы из карт памяти и жестких дисков.", "block.oc2.computer.preconfigured": "Собранный компьютер", - "block.oc2.bus_cable": "Интерфейсный кабель", - "block.oc2.bus_cable.desc": "Соединяет интерфейсные шины.", - "block.oc2.network_connector": "Сетевой разъем", - "block.oc2.network_connector.desc": "Передает пакеты через сетевые кабели.", - "block.oc2.network_hub": "Сетевой концентратор", - "block.oc2.network_hub.desc": "Передает пакеты на все подключенные к нему сетевые разъемы.", - "block.oc2.redstone_interface": "Красный интерфейс", - "block.oc2.redstone_interface.desc": "Подает и считывает редстоун сигналы.", + "block.oc2.creative_energy": "Энергокуб бесконечности", + "block.oc2.creative_energy.desc": "Подает бесконечную энергию на соседние блоки. Применять только в тестовых целях.", "block.oc2.disk_drive": "Дисковод", "block.oc2.disk_drive.desc": "Нужен для работы с дискетами.", "block.oc2.flash_memory_flasher": "Флэш-память", "block.oc2.flash_memory_flasher.desc": "Используется для прошивки новой прошивки на чип флэш-памяти.", - "block.oc2.charger": "Зарядное устройство", - "block.oc2.charger.desc": "Заряжает сущности и предметы в контейнерах над ним.", - "block.oc2.creative_energy": "Энергокуб бесконечности", - "block.oc2.creative_energy.desc": "Подает бесконечную энергию на соседние блоки. Применять только в тестовых целях.", - "block.oc2.projector": "Проектор", - "block.oc2.projector.desc": "Проецирует изображения на поверхности перед ним.", "block.oc2.keyboard": "Клавиатура", "block.oc2.keyboard.desc": "Позволяет вводить текст при использовании проектора.", - - "item.oc2.wrench": "Ключ", - "item.oc2.wrench.desc": "Конфигурирует и демонтирует (если присесть) устройства.", - "item.oc2.manual": "Справочник компьютерщика", - "item.oc2.manual.desc": "Содержит информацию о всем, что нужно для работы с компьютерами.", + "block.oc2.network_connector": "Сетевой разъем", + "block.oc2.network_connector.desc": "Передает пакеты через сетевые кабели.", + "block.oc2.network_hub": "Сетевой концентратор", + "block.oc2.network_hub.desc": "Передает пакеты на все подключенные к нему сетевые разъемы.", + "block.oc2.projector": "Проектор", + "block.oc2.projector.desc": "Проецирует изображения на поверхности перед ним.", + "block.oc2.redstone_interface": "Красный интерфейс", + "block.oc2.redstone_interface.desc": "Подает и считывает редстоун сигналы.", + "entity.oc2.robot": "Робот", + "gui.oc2.computer.bus_state.incomplete": "Шина не заполнена", + "gui.oc2.computer.bus_state.multiple_controllers": "Много контроллеров шины", + "gui.oc2.computer.bus_state.too_complex": "Слишком много устройств", + "gui.oc2.computer.capture_input.capt": "Захват ввода", + "gui.oc2.computer.capture_input.desc": "Пока курсор находится в пределах окна терминала, ввод (включая нажатие на ESC) будет захватываться.", + "gui.oc2.computer.error.insufficient_memory": "Недостаточно памяти", + "gui.oc2.computer.error.missing_firmware": "Отсутствует прошивка", + "gui.oc2.computer.error.not_enough_energy": "Недостаточно энергии", + "gui.oc2.computer.error.unknown": "Неизвестная ошибка", + "gui.oc2.computer.power.capt": "Кнопка питания", + "gui.oc2.computer.power.desc": "Включает или выключает компьютер.", + "gui.oc2.device_type.card": "Карта", + "gui.oc2.device_type.flash_memory": "Карта памяти", + "gui.oc2.device_type.hard_drive": "Жесткий диск", + "gui.oc2.device_type.memory": "Память", + "gui.oc2.file_chooser.cancel_button": "Отмена", + "gui.oc2.file_chooser.confirm_button.load": "Открыть", + "gui.oc2.file_chooser.confirm_button.overwrite": "Перезаписать", + "gui.oc2.file_chooser.confirm_button.save": "Сохранить", + "gui.oc2.file_chooser.text_field.filename": "Имя файла", + "gui.oc2.file_chooser.title.load": "Открыть файл", + "gui.oc2.file_chooser.title.save": "Сохранить файл", + "gui.oc2.keyboard.close_info": "Для закрытия нажмите ПКМ.", + "gui.oc2.machine.open_inventory.capt": "Открыть инвентарь", + "gui.oc2.machine.open_terminal.capt": "Открыть терминал", + "gui.oc2.network_interface_card.connectivity.disabled": "Выключено", + "gui.oc2.network_interface_card.connectivity.enabled": "Включено", + "gui.oc2.network_interface_card.info": "Потяните для поворота. Клик на сторону переключит соединение.", + "gui.oc2.network_interface_card.side_state": "Соединение: %s", + "gui.oc2.network_tunnel.link": "Привязать", + "item.oc2.block_operations_module": "Модуль управления блоками", + "item.oc2.block_operations_module.desc": "Ломает и ставит блоки.", "item.oc2.bus_interface": "Интерфейсная шина", "item.oc2.bus_interface.desc": "Соединяет внешние устройства с компьютерами.", - "item.oc2.network_cable": "Сетевой кабель", - "item.oc2.network_cable.desc": "Соединяет сетевые разъемы.", - "item.oc2.memory": "Память", - "item.oc2.memory.desc": "Оперативное Запоминающее Устройство (ОЗУ). Используется в компьютерах и роботах.", - "item.oc2.hard_drive": "Жесткий диск", - "item.oc2.hard_drive.desc": "Накопитель для операционных систем и данных.", - "item.oc2.floppy": "Дискета", - "item.oc2.floppy.desc": "Съемный накопитель для переноса данных между компьютерами.", + "item.oc2.circuit_board": "Печатная плата", + "item.oc2.circuit_board.desc": "Материал для крафта.", + "item.oc2.file_import_export_card": "Карта импорта/экспорта файлов", + "item.oc2.file_import_export_card.desc": "Импортирует и экспортирует файлы между вашим реальным компьютером.", "item.oc2.flash_memory": "Карта памяти", "item.oc2.flash_memory.desc": "Накопитель для прошивки.", - "item.oc2.redstone_interface_card": "Красная интерфейсная карта", - "item.oc2.redstone_interface_card.desc": "Подает и считывает редстоун сигналы от блока компьютера.", + "item.oc2.floppy": "Дискета", + "item.oc2.floppy.desc": "Съемный накопитель для переноса данных между компьютерами.", + "item.oc2.floppy_modern": "Современная дискета", + "item.oc2.floppy_modern.desc": "Новая версия портативного хранилища, используемого для передачи данных между компьютерами.", + "item.oc2.hard_drive": "Жесткий диск", + "item.oc2.hard_drive.desc": "Накопитель для операционных систем и данных.", + "item.oc2.inventory_operations_module": "Модуль управления инвентарем", + "item.oc2.inventory_operations_module.desc": "Позволяет роботу управлять своим инвентарем.", + "item.oc2.manual": "Справочник компьютерщика", + "item.oc2.manual.desc": "Содержит информацию о всем, что нужно для работы с компьютерами.", + "item.oc2.memory": "Память", + "item.oc2.memory.desc": "Оперативное Запоминающее Устройство (ОЗУ). Используется в компьютерах и роботах.", + "item.oc2.network_cable": "Сетевой кабель", + "item.oc2.network_cable.desc": "Соединяет сетевые разъемы.", "item.oc2.network_interface_card": "Сетевая интерфейсная карта", "item.oc2.network_interface_card.desc": "Отсылает и принимает пакеты через сетевой разъем.", "item.oc2.network_interface_card.is_configured": "Установлены настройки соединения.", "item.oc2.network_tunnel_card": "Сетевая туннельная карта", "item.oc2.network_tunnel_card.desc": "Отсылает и принимает пакеты с привязанного устройства.", - "item.oc2.file_import_export_card": "Карта импорта/экспорта файлов", - "item.oc2.file_import_export_card.desc": "Импортирует и экспортирует файлы между вашим реальным компьютером.", - "item.oc2.robot": "Робот", - "item.oc2.robot.desc": "Портативный компьютер. Используйте ключ, чтобы убрать его", - "item.oc2.inventory_operations_module": "Модуль управления инвентарем", - "item.oc2.inventory_operations_module.desc": "Позволяет роботу управлять своим инвентарем.", - "item.oc2.block_operations_module": "Модуль управления блоками", - "item.oc2.block_operations_module.desc": "Ломает и ставит блоки.", - "item.oc2.sound_card": "Звуковая карта", - "item.oc2.sound_card.desc": "Проигрывает разные звуки из своих высококачественных звуковых банков.", "item.oc2.network_tunnel_module": "Сетевой туннельный модуль", "item.oc2.network_tunnel_module.desc": "Отсылает и принимает пакеты с привязанного устройства.", - + "item.oc2.redstone_interface_card": "Красная интерфейсная карта", + "item.oc2.redstone_interface_card.desc": "Подает и считывает редстоун сигналы от блока компьютера.", + "item.oc2.robot": "Робот", + "item.oc2.robot.desc": "Портативный компьютер. Используйте ключ, чтобы убрать его", + "item.oc2.sound_card": "Звуковая карта", + "item.oc2.sound_card.desc": "Проигрывает разные звуки из своих высококачественных звуковых банков.", "item.oc2.transistor": "Транзистор", "item.oc2.transistor.desc": "Материал для крафта.", - "item.oc2.circuit_board": "Печатная плата", - "item.oc2.circuit_board.desc": "Материал для крафта.", - - "entity.oc2.robot": "Робот", - - "gui.oc2.computer.error.unknown": "Неизвестная ошибка", - "gui.oc2.computer.error.missing_firmware": "Отсутствует прошивка", - "gui.oc2.computer.error.insufficient_memory": "Недостаточно памяти", - "gui.oc2.computer.bus_state.incomplete": "Шина не заполнена", - "gui.oc2.computer.bus_state.too_complex": "Слишком много устройств", - "gui.oc2.computer.bus_state.multiple_controllers": "Много контроллеров шины", - "gui.oc2.computer.error.not_enough_energy": "Недостаточно энергии", - - "gui.oc2.computer.capture_input.capt": "Захват ввода", - "gui.oc2.computer.capture_input.desc": "Пока курсор находится в пределах окна терминала, ввод (включая нажатие на ESC) будет захватываться.", - "gui.oc2.computer.power.capt": "Кнопка питания", - "gui.oc2.computer.power.desc": "Включает или выключает компьютер.", - - "gui.oc2.machine.open_inventory.capt": "Открыть инвентарь", - "gui.oc2.machine.open_terminal.capt": "Открыть терминал", - - "gui.oc2.device_type.memory": "Память", - "gui.oc2.device_type.hard_drive": "Жесткий диск", - "gui.oc2.device_type.flash_memory": "Карта памяти", - "gui.oc2.device_type.card": "Карта", - - "gui.oc2.file_chooser.title.load": "Открыть файл", - "gui.oc2.file_chooser.title.save": "Сохранить файл", - "gui.oc2.file_chooser.text_field.filename": "Имя файла", - "gui.oc2.file_chooser.confirm_button.load": "Открыть", - "gui.oc2.file_chooser.confirm_button.save": "Сохранить", - "gui.oc2.file_chooser.confirm_button.overwrite": "Перезаписать", - "gui.oc2.file_chooser.cancel_button": "Отмена", - - "gui.oc2.network_interface_card.side_state": "Соединение: %s", - "gui.oc2.network_interface_card.connectivity.enabled": "Включено", - "gui.oc2.network_interface_card.connectivity.disabled": "Выключено", - "gui.oc2.network_interface_card.info": "Потяните для поворота. Клик на сторону переключит соединение.", - - "gui.oc2.keyboard.close_info": "Для закрытия нажмите ПКМ.", - - "gui.oc2.network_tunnel.link": "Привязать", - - "manual.oc2.home": "Главная страница", + "item.oc2.wrench": "Ключ", + "item.oc2.wrench.desc": "Конфигурирует и демонтирует (если присесть) устройства.", + "item_group.oc2.common": "OpenComputers II", "manual.oc2.blocks": "Блоки", + "manual.oc2.home": "Главная страница", "manual.oc2.items": "Предметы", - "message.oc2.connector.error.full": "Подключено слишком много кабелей.", - "message.oc2.connector.error.too_far": "Дистанция между разъемами слишком велика.", "message.oc2.connector.error.obstructed": "Между разъемами присутствует преграда.", + "message.oc2.connector.error.too_far": "Дистанция между разъемами слишком велика.", "message.oc2.import_file.file_too_large": "Файл слишком большой.", "message.oc2.invalid_facade_block": "Этот блок нельзя использовать как фасад.", - - "tooltip.oc2.device_needs_reboot": "Требуется перезагрузка", - "tooltip.oc2.flash_memory_missing": "Карта памяти содержит прошивку, необходимую для загрузки.", - "tooltip.oc2.memory_missing": "Оперативная память требуется для загрузки прошивки из карты памяти и последующей работы.", - "tooltip.oc2.hard_drive_missing": "Большинству ОС для загрузки необходима файловая система.", - "tooltip.oc2.energy": "Энергия: %s", - "tooltip.oc2.energyConsumption": "Потребление энергии: %s/t", - "tooltip.oc2.confirm": "Подтвердить", - "tooltip.oc2.cancel": "Отмена", - "tooltip.oc2.network_tunnel_id": "Туннель: %s", - "subtitles.oc2.computer": "Запуск вентиляторов", "subtitles.oc2.floppy": "Жужжание дисковода", "subtitles.oc2.floppy_eject": "Дискета извлечена", "subtitles.oc2.floppy_insert": "Дискета вставлена", - "subtitles.oc2.hdd": "Шум жесткого диска" + "subtitles.oc2.hdd": "Шум жесткого диска", + "tooltip.oc2.cancel": "Отмена", + "tooltip.oc2.confirm": "Подтвердить", + "tooltip.oc2.device_needs_reboot": "Требуется перезагрузка", + "tooltip.oc2.energy": "Энергия: %s", + "tooltip.oc2.energyConsumption": "Потребление энергии: %s/t", + "tooltip.oc2.flash_memory_missing": "Карта памяти содержит прошивку, необходимую для загрузки.", + "tooltip.oc2.hard_drive_missing": "Большинству ОС для загрузки необходима файловая система.", + "tooltip.oc2.memory_missing": "Оперативная память требуется для загрузки прошивки из карты памяти и последующей работы.", + "tooltip.oc2.network_tunnel_id": "Туннель: %s" } diff --git a/src/main/resources/assets/oc2/lang/zh_cn.json b/src/main/resources/assets/oc2/lang/zh_cn.json index d78ed4f6..51ca918b 100644 --- a/src/main/resources/assets/oc2/lang/zh_cn.json +++ b/src/main/resources/assets/oc2/lang/zh_cn.json @@ -1,101 +1,120 @@ { - "item_group.oc2.common": "开放式电脑 II", - + "block.oc2.bus_cable": "总线线缆", + "block.oc2.bus_cable.desc": "与总线接口结合使用,以将外部设备连接到电脑。", + "block.oc2.charger": "充电器", + "block.oc2.charger.desc": "通过站在上面给实体和物品充电。", "block.oc2.computer": "电脑", "block.oc2.computer.desc": "使用螺丝刀扳手或者兼容的扳手来添加或移除组件。", "block.oc2.computer.preconfigured": "电脑(已经配置好的)", - "block.oc2.bus_cable": "总线线缆", - "block.oc2.bus_cable.desc": "与总线接口结合使用,以将外部设备连接到电脑。", - "block.oc2.network_connector": "网络连接口", - "block.oc2.network_hub": "网线集线器", - "block.oc2.redstone_interface": "红石接口", + "block.oc2.creative_energy": "无限能量方块", + "block.oc2.creative_energy.desc": "提供无限的能量给连接的方块。", "block.oc2.disk_drive": "磁盘驱动器", "block.oc2.disk_drive.desc": "使用这个来访问软盘。", "block.oc2.flash_memory_flasher": "闪存闪存器", "block.oc2.flash_memory_flasher.desc": "用于将新固件刷新到闪存芯片上。", - "block.oc2.charger": "充电器", - "block.oc2.charger.desc": "通过站在上面给实体和物品充电。", - "block.oc2.creative_energy": "无限能量方块", - "block.oc2.creative_energy.desc": "提供无限的能量给连接的方块。", - - "item.oc2.wrench": "螺丝刀扳手", - "item.oc2.wrench.desc": "当潜行时用于配置设备和拆卸设备。", - "item.oc2.bus_interface": "总线接口", - "item.oc2.bus_interface.desc": "通过总线线缆来和外部设备通讯。", - "item.oc2.network_cable": "网线", - "item.oc2.memory": "内存条", - "item.oc2.hard_drive": "硬盘", - "item.oc2.floppy": "软盘", - "item.oc2.flash_memory": "固件", - "item.oc2.redstone_interface_card": "红石卡", - "item.oc2.network_interface_card": "网卡", - "item.oc2.file_import_export_card": "文件导入/导出卡", - "item.oc2.file_import_export_card.desc": "提供一个API来导入/导出文件。", - "item.oc2.robot": "机器人", - "item.oc2.robot.desc": "使用螺丝刀扳手或者兼容的扳手来添加或移除组件。", - "item.oc2.inventory_operations_module": "物品栏操作模块", - "item.oc2.inventory_operations_module.desc": "允许机器人存取物品。", - "item.oc2.block_operations_module": "方块操作模块", - "item.oc2.block_operations_module.desc": "允许机器人放置/破坏方块。", - "item.oc2.sound_card": "声卡", - "item.oc2.sound_card.desc": "可以从其高度逼真的音库播放各种声音。", - - "item.oc2.transistor": "晶体管", - "item.oc2.circuit_board": "电路板", - + "block.oc2.keyboard": "Keyboard", + "block.oc2.keyboard.desc": "Allows keyboard input when using a projector.", + "block.oc2.network_connector": "网络连接口", + "block.oc2.network_connector.desc": "Transmits network packets via Network Cables.", + "block.oc2.network_hub": "网线集线器", + "block.oc2.network_hub.desc": "Distributes network packets among all attached Network Connectors.", + "block.oc2.projector": "Projector", + "block.oc2.projector.desc": "Projects images onto surfaces in front of it.", + "block.oc2.redstone_interface": "红石接口", + "block.oc2.redstone_interface.desc": "Emits and reads redstone signals.", "entity.oc2.robot": "机器人", - - "gui.oc2.computer.error.unknown": "未知错误", - "gui.oc2.computer.error.missing_firmware": "丢失固件", - "gui.oc2.computer.error.insufficient_memory": "内存不足", "gui.oc2.computer.bus_state.incomplete": "总线不完整", - "gui.oc2.computer.bus_state.too_complex": "总线太复杂", "gui.oc2.computer.bus_state.multiple_controllers": "检测到多个总线控制器", - "gui.oc2.computer.error.not_enough_energy": "能量不足", - + "gui.oc2.computer.bus_state.too_complex": "总线太复杂", "gui.oc2.computer.capture_input.capt": "捕获输入", "gui.oc2.computer.capture_input.desc": "当开启并且鼠标移动到终端内时,将捕获所有的输入,包括ESC键", + "gui.oc2.computer.error.insufficient_memory": "内存不足", + "gui.oc2.computer.error.missing_firmware": "丢失固件", + "gui.oc2.computer.error.not_enough_energy": "能量不足", + "gui.oc2.computer.error.unknown": "未知错误", "gui.oc2.computer.power.capt": "电源", "gui.oc2.computer.power.desc": "开启或关闭这台电脑。", - - "gui.oc2.machine.open_inventory.capt": "打开物品栏", - "gui.oc2.machine.open_terminal.capt": "打开终端", - - "gui.oc2.device_type.memory": "内存条", - "gui.oc2.device_type.hard_drive": "硬盘", - "gui.oc2.device_type.flash_memory": "固件", "gui.oc2.device_type.card": "卡", - + "gui.oc2.device_type.flash_memory": "固件", + "gui.oc2.device_type.hard_drive": "硬盘", + "gui.oc2.device_type.memory": "内存条", + "gui.oc2.file_chooser.cancel_button": "取消", + "gui.oc2.file_chooser.confirm_button.load": "打开", + "gui.oc2.file_chooser.confirm_button.overwrite": "覆盖", + "gui.oc2.file_chooser.confirm_button.save": "保存", + "gui.oc2.file_chooser.text_field.filename": "文件名称", "gui.oc2.file_chooser.title.load": "打开文件", "gui.oc2.file_chooser.title.save": "保存文件", - "gui.oc2.file_chooser.text_field.filename": "文件名称", - "gui.oc2.file_chooser.confirm_button.load": "打开", - "gui.oc2.file_chooser.confirm_button.save": "保存", - "gui.oc2.file_chooser.confirm_button.overwrite": "覆盖", - "gui.oc2.file_chooser.cancel_button": "取消", - - "manual.oc2.home": "主页", + "gui.oc2.keyboard.close_info": "Right click to close.", + "gui.oc2.machine.open_inventory.capt": "打开物品栏", + "gui.oc2.machine.open_terminal.capt": "打开终端", + "gui.oc2.network_interface_card.connectivity.disabled": "Disabled", + "gui.oc2.network_interface_card.connectivity.enabled": "Enabled", + "gui.oc2.network_interface_card.info": "Drag to rotate. Click faces to toggle connectivity.", + "gui.oc2.network_interface_card.side_state": "Connectivity: %s", + "gui.oc2.network_tunnel.link": "Link", + "item.oc2.block_operations_module": "方块操作模块", + "item.oc2.block_operations_module.desc": "允许机器人放置/破坏方块。", + "item.oc2.bus_interface": "总线接口", + "item.oc2.bus_interface.desc": "通过总线线缆来和外部设备通讯。", + "item.oc2.circuit_board": "电路板", + "item.oc2.circuit_board.desc": "Crafting material.", + "item.oc2.file_import_export_card": "文件导入/导出卡", + "item.oc2.file_import_export_card.desc": "提供一个API来导入/导出文件。", + "item.oc2.flash_memory": "固件", + "item.oc2.flash_memory.desc": "Readonly storage for firmware.", + "item.oc2.floppy": "软盘", + "item.oc2.floppy.desc": "Portable storage used to transfer data between Computers.", + "item.oc2.floppy_modern": "现代软盘", + "item.oc2.floppy_modern.desc": "用于在计算机之间传输数据的较新版本的便携式存储。", + "item.oc2.hard_drive": "硬盘", + "item.oc2.hard_drive.desc": "Mass storage for operating systems and data.", + "item.oc2.inventory_operations_module": "物品栏操作模块", + "item.oc2.inventory_operations_module.desc": "允许机器人存取物品。", + "item.oc2.manual": "The Computerist's Handbook", + "item.oc2.manual.desc": "Holds information on all things needed when working with Computers.", + "item.oc2.memory": "内存条", + "item.oc2.memory.desc": "Random Access Memory (RAM) used in Computers and Robots.", + "item.oc2.network_cable": "网线", + "item.oc2.network_cable.desc": "Connects Network Connectors.", + "item.oc2.network_interface_card": "网卡", + "item.oc2.network_interface_card.desc": "Sends and receives network packets via attached Network Connectors.", + "item.oc2.network_interface_card.is_configured": "Has connectivity configuration.", + "item.oc2.network_tunnel_card": "Network Tunnel Card", + "item.oc2.network_tunnel_card.desc": "Sends and receives network packets to a linked device.", + "item.oc2.network_tunnel_module": "Network Tunnel Module", + "item.oc2.network_tunnel_module.desc": "Sends and receives network packets to a linked device.", + "item.oc2.redstone_interface_card": "红石卡", + "item.oc2.redstone_interface_card.desc": "Emits and reads redstone signals through the Computer.", + "item.oc2.robot": "机器人", + "item.oc2.robot.desc": "使用螺丝刀扳手或者兼容的扳手来添加或移除组件。", + "item.oc2.sound_card": "声卡", + "item.oc2.sound_card.desc": "可以从其高度逼真的音库播放各种声音。", + "item.oc2.transistor": "晶体管", + "item.oc2.transistor.desc": "Crafting material.", + "item.oc2.wrench": "螺丝刀扳手", + "item.oc2.wrench.desc": "当潜行时用于配置设备和拆卸设备。", + "item_group.oc2.common": "开放式电脑 II", "manual.oc2.blocks": "方块", + "manual.oc2.home": "主页", "manual.oc2.items": "物品", - "message.oc2.connector.error.full": "不能放置更多线缆。", - "message.oc2.connector.error.too_far": "距离太远了。", "message.oc2.connector.error.obstructed": "直线内有方块", + "message.oc2.connector.error.too_far": "距离太远了。", "message.oc2.import_file.file_too_large": "文件过大", "message.oc2.invalid_facade_block": "该方块不能被用作一个面。", - - "tooltip.oc2.device_needs_reboot": "需要重启", - "tooltip.oc2.flash_memory_missing": "启动时需要包含固件的闪存。", - "tooltip.oc2.memory_missing": "需要一些内存来加载闪存以执行引导.", - "tooltip.oc2.hard_drive_missing": "找不到硬盘。", - "tooltip.oc2.energy": "能量:%s", - "tooltip.oc2.energyConsumption": "能量使用:%s/t", - "tooltip.oc2.confirm": "确认", - "tooltip.oc2.cancel": "取消", - "subtitles.oc2.computer": "电脑:运行", "subtitles.oc2.floppy": "软盘:访问", "subtitles.oc2.floppy_eject": "软盘:弹出", "subtitles.oc2.floppy_insert": "软盘:插入", - "subtitles.oc2.hdd": "硬盘:访问" + "subtitles.oc2.hdd": "硬盘:访问", + "tooltip.oc2.cancel": "取消", + "tooltip.oc2.confirm": "确认", + "tooltip.oc2.device_needs_reboot": "需要重启", + "tooltip.oc2.energy": "能量:%s", + "tooltip.oc2.energyConsumption": "能量使用:%s/t", + "tooltip.oc2.flash_memory_missing": "启动时需要包含固件的闪存。", + "tooltip.oc2.hard_drive_missing": "找不到硬盘。", + "tooltip.oc2.memory_missing": "需要一些内存来加载闪存以执行引导.", + "tooltip.oc2.network_tunnel_id": "Tunnel: %s" } diff --git a/src/main/resources/assets/oc2/models/item/floppy_modern.json b/src/main/resources/assets/oc2/models/item/floppy_modern.json new file mode 100644 index 00000000..44a3c651 --- /dev/null +++ b/src/main/resources/assets/oc2/models/item/floppy_modern.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "oc2:item/floppy_base", + "layer1": "oc2:item/floppy_tint" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/item/hard_drive_extra_large.json b/src/main/resources/assets/oc2/models/item/hard_drive_extra_large.json new file mode 100644 index 00000000..327b1241 --- /dev/null +++ b/src/main/resources/assets/oc2/models/item/hard_drive_extra_large.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "oc2:item/hard_drive_base", + "layer1": "oc2:item/hard_drive_tint" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/oc2/models/item/memory_extra_large.json b/src/main/resources/assets/oc2/models/item/memory_extra_large.json new file mode 100644 index 00000000..f07b7646 --- /dev/null +++ b/src/main/resources/assets/oc2/models/item/memory_extra_large.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "oc2:item/memory_extra_large" + } +} diff --git a/src/main/resources/data/oc2/advancements/recipes/oc2.common/floppy_modern.json b/src/main/resources/data/oc2/advancements/recipes/oc2.common/floppy_modern.json new file mode 100644 index 00000000..9a4e61c1 --- /dev/null +++ b/src/main/resources/data/oc2/advancements/recipes/oc2.common/floppy_modern.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "oc2:floppy_modern" + ] + }, + "criteria": { + "has_disk_drive": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "oc2:disk_drive" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "oc2:floppy_modern" + } + } + }, + "requirements": [ + [ + "has_disk_drive", + "has_the_recipe" + ] + ] +} diff --git a/src/main/resources/data/oc2/advancements/recipes/oc2.common/hard_drive_extra_large.json b/src/main/resources/data/oc2/advancements/recipes/oc2.common/hard_drive_extra_large.json new file mode 100644 index 00000000..cb3f2ab8 --- /dev/null +++ b/src/main/resources/data/oc2/advancements/recipes/oc2.common/hard_drive_extra_large.json @@ -0,0 +1,47 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "oc2:hard_drive_extra_large" + ] + }, + "criteria": { + "has_computer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "oc2:computer" + ] + } + ] + } + }, + "has_robot": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "oc2:robot" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "oc2:hard_drive_extra_large" + } + } + }, + "requirements": [ + [ + "has_computer", + "has_robot", + "has_the_recipe" + ] + ] +} diff --git a/src/main/resources/data/oc2/advancements/recipes/oc2.common/memory_extra_large.json b/src/main/resources/data/oc2/advancements/recipes/oc2.common/memory_extra_large.json new file mode 100644 index 00000000..a118ae62 --- /dev/null +++ b/src/main/resources/data/oc2/advancements/recipes/oc2.common/memory_extra_large.json @@ -0,0 +1,47 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "oc2:memory_extra_large" + ] + }, + "criteria": { + "has_computer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "oc2:computer" + ] + } + ] + } + }, + "has_robot": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "oc2:robot" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "oc2:memory_extra_large" + } + } + }, + "requirements": [ + [ + "has_computer", + "has_robot", + "has_the_recipe" + ] + ] +} diff --git a/src/main/resources/data/oc2/recipes/floppy_modern.json b/src/main/resources/data/oc2/recipes/floppy_modern.json new file mode 100644 index 00000000..65343e20 --- /dev/null +++ b/src/main/resources/data/oc2/recipes/floppy_modern.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "ITI", + "QBQ", + "QBQ" + ], + "key": { + "I": { + "tag": "forge:ingots/iron" + }, + "T": { + "item": "oc2:transistor" + }, + "Q": { + "tag": "forge:gems/quartz" + }, + "B": { + "item": "oc2:circuit_board" + } + }, + "result": { + "item": "oc2:floppy_modern" + } +} diff --git a/src/main/resources/data/oc2/recipes/hard_drive_extra_large.json b/src/main/resources/data/oc2/recipes/hard_drive_extra_large.json new file mode 100644 index 00000000..4b37f468 --- /dev/null +++ b/src/main/resources/data/oc2/recipes/hard_drive_extra_large.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "ETE", + "DBD", + "EBE" + ], + "key": { + "D": { + "tag": "forge:gems/diamond" + }, + "T": { + "item": "oc2:transistor" + }, + "B": { + "item": "oc2:circuit_board" + }, + "E": { + "tag": "forge:gems/emerald" + } + }, + "result": { + "item": "oc2:hard_drive_extra_large" + } +} diff --git a/src/main/resources/data/oc2/recipes/memory_extra_large.json b/src/main/resources/data/oc2/recipes/memory_extra_large.json new file mode 100644 index 00000000..d1dbd6ec --- /dev/null +++ b/src/main/resources/data/oc2/recipes/memory_extra_large.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "DTD", + "EBE", + "DTD" + ], + "key": { + "D": { + "tag": "forge:gems/diamond" + }, + "T": { + "item": "oc2:transistor" + }, + "B": { + "item": "oc2:circuit_board" + }, + "E": { + "tag": "forge:gems/emerald" + } + }, + "result": { + "item": "oc2:memory_extra_large", + "count": 2 + } +} diff --git a/src/main/resources/data/oc2/tags/items/device_needs_reboot.json b/src/main/resources/data/oc2/tags/items/device_needs_reboot.json index 08f909d9..d049cbb8 100644 --- a/src/main/resources/data/oc2/tags/items/device_needs_reboot.json +++ b/src/main/resources/data/oc2/tags/items/device_needs_reboot.json @@ -7,14 +7,16 @@ "oc2:hard_drive_small", "oc2:hard_drive_medium", "oc2:hard_drive_large", + "oc2:hard_drive_extra_large", "oc2:hard_drive_custom", "oc2:keyboard", "oc2:memory_small", "oc2:memory_medium", "oc2:memory_large", + "oc2:memory_extra_large", "oc2:network_interface_card", "oc2:network_tunnel_card", "oc2:network_tunnel_module", "oc2:projector" ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/oc2/tags/items/devices/floppy.json b/src/main/resources/data/oc2/tags/items/devices/floppy.json index 66d9cae3..f1fd7e1f 100644 --- a/src/main/resources/data/oc2/tags/items/devices/floppy.json +++ b/src/main/resources/data/oc2/tags/items/devices/floppy.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "oc2:floppy" + "oc2:floppy", + "oc2:floppy_modern" ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/oc2/tags/items/devices/hard_drive.json b/src/main/resources/data/oc2/tags/items/devices/hard_drive.json index 929b9fdc..30764a13 100644 --- a/src/main/resources/data/oc2/tags/items/devices/hard_drive.json +++ b/src/main/resources/data/oc2/tags/items/devices/hard_drive.json @@ -4,6 +4,7 @@ "oc2:hard_drive_small", "oc2:hard_drive_medium", "oc2:hard_drive_large", + "oc2:hard_drive_extra_large", "oc2:hard_drive_custom" ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/oc2/tags/items/devices/memory.json b/src/main/resources/data/oc2/tags/items/devices/memory.json index 924b9891..c2ed3079 100644 --- a/src/main/resources/data/oc2/tags/items/devices/memory.json +++ b/src/main/resources/data/oc2/tags/items/devices/memory.json @@ -3,6 +3,7 @@ "values": [ "oc2:memory_small", "oc2:memory_medium", - "oc2:memory_large" + "oc2:memory_large", + "oc2:memory_extra_large" ] -} \ No newline at end of file +}