Finished initial implementation of tiered CPUs. They still need crafting recipes. Going to wait though because I plan to completely redo the recipes throughout the mod.
This commit is contained in:
@@ -20,4 +20,5 @@ public final class DeviceTypes {
|
||||
|
||||
public static DeviceType FLOPPY = (DeviceType) RegistryObject.create(new ResourceLocation(API.MOD_ID, "floppy"), new ResourceLocation("oc2", "device_type"), API.MOD_ID).get();
|
||||
public static DeviceType NETWORK_TUNNEL = (DeviceType) RegistryObject.create(new ResourceLocation(API.MOD_ID, "network_tunnel"), new ResourceLocation("oc2", "device_type"), API.MOD_ID).get();
|
||||
public static DeviceType CPU = (DeviceType) RegistryObject.create(new ResourceLocation(API.MOD_ID, "cpu"), new ResourceLocation("oc2", "device_type"), API.MOD_ID).get();
|
||||
}
|
||||
|
||||
@@ -128,6 +128,7 @@ public abstract class AbstractMachineInventoryScreen<T extends AbstractMachineTe
|
||||
GuiUtils.renderMissingDeviceInfoIcon(graphics, this, DeviceTypes.FLASH_MEMORY, Sprites.WARN_ICON);
|
||||
GuiUtils.renderMissingDeviceInfoIcon(graphics, this, DeviceTypes.MEMORY, Sprites.WARN_ICON);
|
||||
GuiUtils.renderMissingDeviceInfoIcon(graphics, this, DeviceTypes.HARD_DRIVE, Sprites.INFO_ICON);
|
||||
GuiUtils.renderMissingDeviceInfoIcon(graphics, this, DeviceTypes.CPU, Sprites.INFO_ICON);
|
||||
|
||||
if (shouldRenderEnergyBar()) {
|
||||
final int x = leftPos - Sprites.SIDEBAR_2.width + 4;
|
||||
@@ -143,6 +144,7 @@ public abstract class AbstractMachineInventoryScreen<T extends AbstractMachineTe
|
||||
GuiUtils.renderMissingDeviceInfoTooltip(graphics, this, mouseX, mouseY, DeviceTypes.FLASH_MEMORY);
|
||||
GuiUtils.renderMissingDeviceInfoTooltip(graphics, this, mouseX, mouseY, DeviceTypes.MEMORY);
|
||||
GuiUtils.renderMissingDeviceInfoTooltip(graphics, this, mouseX, mouseY, DeviceTypes.HARD_DRIVE);
|
||||
GuiUtils.renderMissingDeviceInfoTooltip(graphics, this, mouseX, mouseY, DeviceTypes.CPU);
|
||||
|
||||
if (!shouldRenderEnergyBar()) {
|
||||
return;
|
||||
|
||||
@@ -27,6 +27,7 @@ public final class GuiUtils {
|
||||
map.put(DeviceTypes.FLASH_MEMORY, text("tooltip.{mod}.flash_memory_missing"));
|
||||
map.put(DeviceTypes.MEMORY, text("tooltip.{mod}.memory_missing"));
|
||||
map.put(DeviceTypes.HARD_DRIVE, text("tooltip.{mod}.hard_drive_missing"));
|
||||
map.put(DeviceTypes.CPU, text("tooltip.{mod}.cpu_missing"));
|
||||
|
||||
return map;
|
||||
});
|
||||
@@ -65,7 +66,7 @@ public final class GuiUtils {
|
||||
|
||||
findFirstSlotOfTypeIfAllSlotsOfTypeEmpty(screen.getMenu(), type).ifPresent(slot -> {
|
||||
if (slot == hoveredSlot) {
|
||||
//TooltipUtils.drawTooltip(graphics, Collections.singletonList(tooltip), mouseX, mouseY);
|
||||
TooltipUtils.drawTooltip(graphics, Collections.singletonList(tooltip), mouseX, mouseY);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
package li.cil.oc2.client.renderer.blockentity;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Axis;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import org.joml.Quaternionf;
|
||||
import org.joml.Vector3f;
|
||||
@@ -40,9 +41,9 @@ public final class DiskDriveRenderer implements BlockEntityRenderer<DiskDriveBlo
|
||||
stack.pushPose();
|
||||
|
||||
stack.translate(0.5f, 0.5f, 0.5f);
|
||||
stack.mulPose(new Quaternionf().rotateY((float) Math.toRadians(blockFacing.toYRot())));
|
||||
stack.mulPose(Axis.YN.rotationDegrees(blockFacing.toYRot()));
|
||||
stack.translate(0.0f, 0.0f, 0.5f);
|
||||
stack.mulPose(new Quaternionf().rotateX((float) Math.toRadians(90)));
|
||||
stack.mulPose(Axis.XN.rotationDegrees(90));
|
||||
stack.translate(0.0f, 0.2375f, 2.5f / 16f);
|
||||
stack.scale(0.55f, 0.55f, 0.55f);
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ public final class Constants {
|
||||
public static final String COMPUTER_SCREEN_POWER_DESCRIPTION = key("gui.{mod}.computer.power.desc");
|
||||
public static final String COMPUTER_ERROR_UNKNOWN = key("gui.{mod}.computer.error.unknown");
|
||||
public static final String COMPUTER_ERROR_MISSING_FIRMWARE = key("gui.{mod}.computer.error.missing_firmware");
|
||||
public static final String COMPUTER_ERROR_MISSING_CPU = key("gui.{mod}.computer.error.missing_cpu");
|
||||
public static final String COMPUTER_ERROR_INSUFFICIENT_MEMORY = key("gui.{mod}.computer.error.insufficient_memory");
|
||||
public static final String COMPUTER_BUS_STATE_INCOMPLETE = key("gui.{mod}.computer.bus_state.incomplete");
|
||||
public static final String COMPUTER_BUS_STATE_TOO_COMPLEX = key("gui.{mod}.computer.bus_state.too_complex");
|
||||
|
||||
@@ -4,11 +4,13 @@ package li.cil.oc2.common.blockentity;
|
||||
|
||||
import li.cil.oc2.api.bus.DeviceBusElement;
|
||||
import li.cil.oc2.api.bus.device.Device;
|
||||
import li.cil.oc2.api.bus.device.DeviceType;
|
||||
import li.cil.oc2.api.bus.device.DeviceTypes;
|
||||
import li.cil.oc2.api.bus.device.provider.ItemDeviceQuery;
|
||||
import li.cil.oc2.api.capabilities.TerminalUserProvider;
|
||||
import li.cil.oc2.client.audio.LoopingSoundManager;
|
||||
import li.cil.oc2.common.Config;
|
||||
import li.cil.oc2.common.Constants;
|
||||
import li.cil.oc2.common.block.ComputerBlock;
|
||||
import li.cil.oc2.common.bus.AbstractBlockDeviceBusElement;
|
||||
import li.cil.oc2.common.bus.BlockDeviceBusController;
|
||||
@@ -17,7 +19,9 @@ import li.cil.oc2.common.bus.device.util.Devices;
|
||||
import li.cil.oc2.common.capabilities.Capabilities;
|
||||
import li.cil.oc2.common.container.ComputerInventoryContainer;
|
||||
import li.cil.oc2.common.container.ComputerTerminalContainer;
|
||||
import li.cil.oc2.common.container.DeviceTypeSlotItemHandler;
|
||||
import li.cil.oc2.common.energy.FixedEnergyStorage;
|
||||
import li.cil.oc2.common.item.CPUItem;
|
||||
import li.cil.oc2.common.network.Network;
|
||||
import li.cil.oc2.common.network.message.ComputerBootErrorMessage;
|
||||
import li.cil.oc2.common.network.message.ComputerBusStateMessage;
|
||||
@@ -32,6 +36,7 @@ import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.inventory.Slot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -60,6 +65,7 @@ public final class ComputerBlockEntity extends ModBlockEntity implements Termina
|
||||
private static final int HARD_DRIVE_SLOTS = 4;
|
||||
private static final int FLASH_MEMORY_SLOTS = 1;
|
||||
private static final int CARD_SLOTS = 4;
|
||||
private static final int CPU_SLOTS = 1;
|
||||
|
||||
private static final int MAX_RUNNING_SOUND_DELAY = TickUtils.toTicks(Duration.ofSeconds(2));
|
||||
|
||||
@@ -101,6 +107,12 @@ public final class ComputerBlockEntity extends ModBlockEntity implements Termina
|
||||
|
||||
public void start() {
|
||||
if (level != null && !level.isClientSide()) {
|
||||
if (deviceItems.getItemHandler(DeviceTypes.CPU).get().getStackInSlot(0).isEmpty())
|
||||
{
|
||||
virtualMachine.error(Component.translatable(Constants.COMPUTER_ERROR_MISSING_CPU));
|
||||
return;
|
||||
}
|
||||
virtualMachine.state.board.getCpu().setFrequency(((CPUItem) deviceItems.getItemHandler(DeviceTypes.CPU).get().getStackInSlot(0).getItem()).getFrequency());
|
||||
virtualMachine.start();
|
||||
}
|
||||
}
|
||||
@@ -308,7 +320,7 @@ public final class ComputerBlockEntity extends ModBlockEntity implements Termina
|
||||
|
||||
private final class ComputerItemStackHandlers extends AbstractVMItemStackHandlers {
|
||||
public ComputerItemStackHandlers() {
|
||||
super(new GroupDefinition(DeviceTypes.MEMORY, MEMORY_SLOTS), new GroupDefinition(DeviceTypes.HARD_DRIVE, HARD_DRIVE_SLOTS), new GroupDefinition(DeviceTypes.FLASH_MEMORY, FLASH_MEMORY_SLOTS), new GroupDefinition(DeviceTypes.CARD, CARD_SLOTS));
|
||||
super(new GroupDefinition(DeviceTypes.MEMORY, MEMORY_SLOTS), new GroupDefinition(DeviceTypes.HARD_DRIVE, HARD_DRIVE_SLOTS), new GroupDefinition(DeviceTypes.FLASH_MEMORY, FLASH_MEMORY_SLOTS), new GroupDefinition(DeviceTypes.CARD, CARD_SLOTS), new GroupDefinition(DeviceTypes.CPU, CPU_SLOTS));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,6 +44,7 @@ public final class DeviceTypes {
|
||||
register(ItemTags.DEVICES_ROBOT_MODULE);
|
||||
register(ItemTags.DEVICES_FLOPPY);
|
||||
register(ItemTags.DEVICES_NETWORK_TUNNEL);
|
||||
register(ItemTags.DEVICES_CPU);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -74,6 +74,12 @@ public final class ComputerInventoryContainer extends AbstractComputerContainer
|
||||
}
|
||||
});
|
||||
|
||||
handlers.getItemHandler(DeviceTypes.CPU).ifPresent(itemHandler -> {
|
||||
if(itemHandler.getSlots() > 0) {
|
||||
addSlot(new DeviceTypeSlotItemHandler(itemHandler, DeviceTypes.CPU, 0, 64, 52));
|
||||
}
|
||||
});
|
||||
|
||||
createPlayerInventoryAndHotbarSlots(player.getInventory(), 8, 115);
|
||||
}
|
||||
}
|
||||
|
||||
16
src/main/java/li/cil/oc2/common/item/CPUItem.java
Normal file
16
src/main/java/li/cil/oc2/common/item/CPUItem.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package li.cil.oc2.common.item;
|
||||
|
||||
public class CPUItem extends ModItem {
|
||||
|
||||
private final int frequency;
|
||||
|
||||
public CPUItem(int frequency)
|
||||
{
|
||||
this.frequency = frequency;
|
||||
}
|
||||
|
||||
public int getFrequency()
|
||||
{
|
||||
return frequency;
|
||||
}
|
||||
}
|
||||
@@ -93,6 +93,10 @@ public final class ItemGroup {
|
||||
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.CPU_TIER_1.get());
|
||||
output.accept(Items.CPU_TIER_2.get());
|
||||
output.accept(Items.CPU_TIER_3.get());
|
||||
output.accept(Items.CPU_TIER_4.get());
|
||||
output.accept(Items.FLASH_MEMORY.get());
|
||||
output.accept(Items.FLASH_MEMORY_CUSTOM.get());
|
||||
output.accept(Items.FLOPPY.get());
|
||||
|
||||
@@ -68,6 +68,15 @@ public final class Items {
|
||||
public static final RegistryObject<HardDriveWithExternalDataItem> HARD_DRIVE_CUSTOM = register("hard_drive_custom", () ->
|
||||
new HardDriveWithExternalDataItem(BlockDeviceDataRegistry.BUILDROOT.getId(), DyeColor.BROWN));
|
||||
|
||||
public static final RegistryObject<CPUItem> CPU_TIER_1 = register("cpu_tier_1", () ->
|
||||
new CPUItem(25_000_000));
|
||||
public static final RegistryObject<CPUItem> CPU_TIER_2 = register("cpu_tier_2", () ->
|
||||
new CPUItem(50_000_000));
|
||||
public static final RegistryObject<CPUItem> CPU_TIER_3 = register("cpu_tier_3", () ->
|
||||
new CPUItem(100_000_000));
|
||||
public static final RegistryObject<CPUItem> CPU_TIER_4 = register("cpu_tier_4", () ->
|
||||
new CPUItem(200_000_000));
|
||||
|
||||
public static final RegistryObject<FlashMemoryItem> FLASH_MEMORY = register("flash_memory", () ->
|
||||
new FlashMemoryItem(12 * Constants.MEGABYTE));
|
||||
public static final RegistryObject<FlashMemoryWithExternalDataItem> FLASH_MEMORY_CUSTOM = register("flash_memory_custom", () ->
|
||||
|
||||
@@ -18,6 +18,7 @@ public final class ItemTags {
|
||||
public static final TagKey<Item> DEVICES_ROBOT_MODULE = tag("devices/robot_module");
|
||||
public static final TagKey<Item> DEVICES_FLOPPY = tag("devices/floppy");
|
||||
public static final TagKey<Item> DEVICES_NETWORK_TUNNEL = tag("devices/network_tunnel");
|
||||
public static final TagKey<Item> DEVICES_CPU = tag("devices/cpu");
|
||||
|
||||
public static final TagKey<Item> CABLES = tag("cables");
|
||||
public static final TagKey<Item> WRENCHES = tag("wrenches");
|
||||
|
||||
@@ -244,7 +244,7 @@ public abstract class AbstractVirtualMachine implements VirtualMachine {
|
||||
protected void handleBootErrorChanged(@Nullable final Component value) {
|
||||
}
|
||||
|
||||
protected void error(@Nullable final Component message) {
|
||||
public void error(@Nullable final Component message) {
|
||||
error(message, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ public class VMRunner implements Runnable {
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
private static int getCyclesPerTick() {
|
||||
return Constants.CPU_FREQUENCY / TICKS_PER_SECOND;
|
||||
private int getCyclesPerTick() {
|
||||
return board.getCpu().getFrequency() / TICKS_PER_SECOND;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@ public final class ModItemModelProvider extends ItemModelProvider {
|
||||
simple(Items.MEMORY_MEDIUM);
|
||||
simple(Items.MEMORY_LARGE);
|
||||
simple(Items.MEMORY_EXTRA_LARGE);
|
||||
simple(Items.CPU_TIER_1);
|
||||
simple(Items.CPU_TIER_2);
|
||||
simple(Items.CPU_TIER_3);
|
||||
simple(Items.CPU_TIER_4);
|
||||
simple(Items.HARD_DRIVE_SMALL, "item/hard_drive_base")
|
||||
.texture("layer1", "item/hard_drive_tint");
|
||||
simple(Items.HARD_DRIVE_MEDIUM, "item/hard_drive_base")
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
package li.cil.oc2.data;
|
||||
|
||||
import li.cil.oc2.api.API;
|
||||
import li.cil.oc2.common.item.CPUItem;
|
||||
import li.cil.oc2.common.item.Items;
|
||||
import li.cil.oc2.common.tags.BlockTags;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
@@ -92,6 +93,10 @@ public final class ModItemTagsProvider extends ItemTagsProvider {
|
||||
Items.HARD_DRIVE_LARGE.get(),
|
||||
Items.HARD_DRIVE_EXTRA_LARGE.get(),
|
||||
Items.HARD_DRIVE_CUSTOM.get(),
|
||||
Items.CPU_TIER_1.get(),
|
||||
Items.CPU_TIER_2.get(),
|
||||
Items.CPU_TIER_3.get(),
|
||||
Items.CPU_TIER_4.get(),
|
||||
Items.KEYBOARD.get(),
|
||||
Items.MEMORY_SMALL.get(),
|
||||
Items.MEMORY_MEDIUM.get(),
|
||||
@@ -102,5 +107,12 @@ public final class ModItemTagsProvider extends ItemTagsProvider {
|
||||
Items.NETWORK_TUNNEL_MODULE.get(),
|
||||
Items.PROJECTOR.get()
|
||||
);
|
||||
|
||||
tag(DEVICES_CPU).add(
|
||||
Items.CPU_TIER_1.get(),
|
||||
Items.CPU_TIER_2.get(),
|
||||
Items.CPU_TIER_3.get(),
|
||||
Items.CPU_TIER_4.get()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,14 @@
|
||||
"item.oc2.manual.desc": "Holds information on all things needed when working with Computers.",
|
||||
"item.oc2.bus_interface": "Bus Interface",
|
||||
"item.oc2.bus_interface.desc": "Connects external devices to Computers.",
|
||||
"item.oc2.cpu_tier_1": "CPU Tier 1",
|
||||
"item.oc2.cpu_tier_1.desc": "Processes computer instructions.",
|
||||
"item.oc2.cpu_tier_2": "CPU Tier 2",
|
||||
"item.oc2.cpu_tier_2.desc": "Processes computer instructions.",
|
||||
"item.oc2.cpu_tier_3": "CPU Tier 3",
|
||||
"item.oc2.cpu_tier_3.desc": "Processes computer instructions.",
|
||||
"item.oc2.cpu_tier_4": "CPU Tier 4",
|
||||
"item.oc2.cpu_tier_4.desc": "Processes computer instructions.",
|
||||
"item.oc2.network_cable": "Network Cable",
|
||||
"item.oc2.network_cable.desc": "Connects Network Connectors.",
|
||||
"item.oc2.memory": "Memory",
|
||||
@@ -77,6 +85,7 @@
|
||||
"gui.oc2.computer.bus_state.too_complex": "Bus Too Complex",
|
||||
"gui.oc2.computer.bus_state.multiple_controllers": "Multiple Bus Controllers",
|
||||
"gui.oc2.computer.error.not_enough_energy": "Not Enough Energy",
|
||||
"gui.oc2.computer.error.missing_cpu": "Missing CPU",
|
||||
|
||||
"gui.oc2.computer.capture_input.capt": "Capture Input",
|
||||
"gui.oc2.computer.capture_input.desc": "When enabled, as long as the mouse cursor is hovering the terminal contents, all input will be captured, including the escape key.",
|
||||
@@ -122,6 +131,7 @@
|
||||
"tooltip.oc2.flash_memory_missing": "A flash memory containing a firmware is required to boot.",
|
||||
"tooltip.oc2.memory_missing": "Some memory is required to load the flash memory for execution to boot.",
|
||||
"tooltip.oc2.hard_drive_missing": "Most systems will require a root file system to boot.",
|
||||
"tooltip.oc2.cpu_missing": "A cpu is required to boot",
|
||||
"tooltip.oc2.energy": "Energy: %s",
|
||||
"tooltip.oc2.energyConsumption": "Energy Consumption: %s/t",
|
||||
"tooltip.oc2.confirm": "Confirm",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"gui.oc2.computer.capture_input.capt": "Захват ввода",
|
||||
"gui.oc2.computer.capture_input.desc": "Пока курсор находится в пределах окна терминала, ввод (включая нажатие на ESC) будет захватываться.",
|
||||
"gui.oc2.computer.error.insufficient_memory": "Недостаточно памяти",
|
||||
"gui.oc2.computer.error.missing_cpu": "Отсутствует процессор",
|
||||
"gui.oc2.computer.error.missing_firmware": "Отсутствует прошивка",
|
||||
"gui.oc2.computer.error.not_enough_energy": "Недостаточно энергии",
|
||||
"gui.oc2.computer.error.unknown": "Неизвестная ошибка",
|
||||
@@ -110,6 +111,7 @@
|
||||
"subtitles.oc2.hdd": "Шум жесткого диска",
|
||||
"tooltip.oc2.cancel": "Отмена",
|
||||
"tooltip.oc2.confirm": "Подтвердить",
|
||||
"tooltip.oc2.cpu_missing": "Для загрузки требуется процессор",
|
||||
"tooltip.oc2.device_needs_reboot": "Требуется перезагрузка",
|
||||
"tooltip.oc2.energy": "Энергия: %s",
|
||||
"tooltip.oc2.energyConsumption": "Потребление энергии: %s/t",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"gui.oc2.computer.capture_input.capt": "捕获输入",
|
||||
"gui.oc2.computer.capture_input.desc": "当开启并且鼠标移动到终端内时,将捕获所有的输入,包括ESC键",
|
||||
"gui.oc2.computer.error.insufficient_memory": "内存不足",
|
||||
"gui.oc2.computer.error.missing_cpu": "缺少CPU",
|
||||
"gui.oc2.computer.error.missing_firmware": "丢失固件",
|
||||
"gui.oc2.computer.error.not_enough_energy": "能量不足",
|
||||
"gui.oc2.computer.error.unknown": "未知错误",
|
||||
@@ -110,6 +111,7 @@
|
||||
"subtitles.oc2.hdd": "硬盘:访问",
|
||||
"tooltip.oc2.cancel": "取消",
|
||||
"tooltip.oc2.confirm": "确认",
|
||||
"tooltip.oc2.cpu_missing": "启动时需要CPU",
|
||||
"tooltip.oc2.device_needs_reboot": "需要重启",
|
||||
"tooltip.oc2.energy": "能量:%s",
|
||||
"tooltip.oc2.energyConsumption": "能量使用:%s/t",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "oc2:item/cpu_tier_1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "oc2:item/cpu_tier_2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "oc2:item/cpu_tier_3"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "oc2:item/cpu_tier_4"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 6.7 KiB |
@@ -17,6 +17,10 @@
|
||||
"oc2:network_interface_card",
|
||||
"oc2:network_tunnel_card",
|
||||
"oc2:network_tunnel_module",
|
||||
"oc2:projector"
|
||||
"oc2:projector",
|
||||
"oc2:cpu_tier_1",
|
||||
"oc2:cpu_tier_2",
|
||||
"oc2:cpu_tier_3",
|
||||
"oc2:cpu_tier_4"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"#oc2:devices/flash_memory",
|
||||
"#oc2:devices/card",
|
||||
"#oc2:devices/robot_module",
|
||||
"#oc2:devices/floppy"
|
||||
"#oc2:devices/floppy",
|
||||
"#oc2:devices/cpu"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
9
src/main/resources/data/oc2/tags/items/devices/cpu.json
Normal file
9
src/main/resources/data/oc2/tags/items/devices/cpu.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"oc2:cpu_tier_1",
|
||||
"oc2:cpu_tier_2",
|
||||
"oc2:cpu_tier_3",
|
||||
"oc2:cpu_tier_4"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user