diff --git a/src/main/resources/assets/opencomputers/textures/blocks/access_point_top.png b/src/main/resources/assets/opencomputers/textures/blocks/AccessPointTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/access_point_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/AccessPointTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/adapter_side.png b/src/main/resources/assets/opencomputers/textures/blocks/AdapterSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/adapter_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/AdapterSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/adapter_top.png b/src/main/resources/assets/opencomputers/textures/blocks/AdapterTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/adapter_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/AdapterTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_side.png b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_side_assembling.png b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideAssembling.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_side_assembling.png rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideAssembling.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_side_assembling.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideAssembling.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_side_assembling.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideAssembling.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_side_on.png b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_side_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_top.png b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/assembler_top_on.png b/src/main/resources/assets/opencomputers/textures/blocks/AssemblerTopOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/assembler_top_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/AssemblerTopOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/capacitor.png b/src/main/resources/assets/opencomputers/textures/blocks/CapacitorSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/capacitor.png rename to src/main/resources/assets/opencomputers/textures/blocks/CapacitorSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/capacitor_top.png b/src/main/resources/assets/opencomputers/textures/blocks/CapacitorTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/capacitor_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/CapacitorTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_back.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseBack.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_back.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseBack.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_back_on.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseBackOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_back_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseBackOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_front.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseFront.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_front.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseFront.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_front_on.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseFrontOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_front_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseFrontOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_side.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_side_on.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_side_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/case_top.png b/src/main/resources/assets/opencomputers/textures/blocks/CaseTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/case_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/CaseTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/charger_front.png b/src/main/resources/assets/opencomputers/textures/blocks/ChargerFront.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/charger_front.png rename to src/main/resources/assets/opencomputers/textures/blocks/ChargerFront.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/charger_front_on.png b/src/main/resources/assets/opencomputers/textures/blocks/ChargerFrontOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/charger_front_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/ChargerFrontOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/charger_side.png b/src/main/resources/assets/opencomputers/textures/blocks/ChargerSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/charger_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/ChargerSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/charger_side_on.png b/src/main/resources/assets/opencomputers/textures/blocks/ChargerSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/charger_side_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/ChargerSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/charger_side_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/ChargerSideOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/charger_side_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/ChargerSideOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_side.png b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_side_on.png b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_side_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_side_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSideOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_side_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerSideOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_top.png b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_top_on.png b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTopOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_top_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTopOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disassembler_top_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTopOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disassembler_top_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/DisassemblerTopOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disk_drive_front.png b/src/main/resources/assets/opencomputers/textures/blocks/DiskDriveFront.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disk_drive_front.png rename to src/main/resources/assets/opencomputers/textures/blocks/DiskDriveFront.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/disk_drive_side.png b/src/main/resources/assets/opencomputers/textures/blocks/DiskDriveSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/disk_drive_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/DiskDriveSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/GenericSide.png b/src/main/resources/assets/opencomputers/textures/blocks/GenericSide.png new file mode 100644 index 000000000..77de67941 Binary files /dev/null and b/src/main/resources/assets/opencomputers/textures/blocks/GenericSide.png differ diff --git a/src/main/resources/assets/opencomputers/textures/blocks/generic_top.png b/src/main/resources/assets/opencomputers/textures/blocks/GenericTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/generic_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/GenericTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/geolyzer_side.png b/src/main/resources/assets/opencomputers/textures/blocks/GeolyzerSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/geolyzer_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/GeolyzerSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top.png b/src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top_on.png b/src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTopOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTopOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTopOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/geolyzer_top_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/GeolyzerTopOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/hologram_effect.png b/src/main/resources/assets/opencomputers/textures/blocks/HologramEffect.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/hologram_effect.png rename to src/main/resources/assets/opencomputers/textures/blocks/HologramEffect.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/hologram_side.png b/src/main/resources/assets/opencomputers/textures/blocks/HologramSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/hologram_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/HologramSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/hologram_top0.png b/src/main/resources/assets/opencomputers/textures/blocks/HologramTop0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/hologram_top0.png rename to src/main/resources/assets/opencomputers/textures/blocks/HologramTop0.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/hologram_top1.png b/src/main/resources/assets/opencomputers/textures/blocks/HologramTop1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/hologram_top1.png rename to src/main/resources/assets/opencomputers/textures/blocks/HologramTop1.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/motion_sensor_side.png b/src/main/resources/assets/opencomputers/textures/blocks/MotionSensorSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/motion_sensor_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/MotionSensorSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/motion_sensor_top.png b/src/main/resources/assets/opencomputers/textures/blocks/MotionSensorTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/motion_sensor_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/MotionSensorTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_converter.png b/src/main/resources/assets/opencomputers/textures/blocks/PowerConverterSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_converter.png rename to src/main/resources/assets/opencomputers/textures/blocks/PowerConverterSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side.png b/src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side_on.png b/src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSideOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_distributor_side_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorSideOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_distributor_top.png b/src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_distributor_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/power_distributor_top_on.png b/src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorTopOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/power_distributor_top_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/PowerDistributorTopOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/redstone.png b/src/main/resources/assets/opencomputers/textures/blocks/RedstoneSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/redstone.png rename to src/main/resources/assets/opencomputers/textures/blocks/RedstoneSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/redstone_top.png b/src/main/resources/assets/opencomputers/textures/blocks/RedstoneTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/redstone_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/RedstoneTop.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/rack_front.png b/src/main/resources/assets/opencomputers/textures/blocks/ServerRackFront.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/rack_front.png rename to src/main/resources/assets/opencomputers/textures/blocks/ServerRackFront.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/rack_front_on.png b/src/main/resources/assets/opencomputers/textures/blocks/ServerRackFrontOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/rack_front_on.png rename to src/main/resources/assets/opencomputers/textures/blocks/ServerRackFrontOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/rack_side.png b/src/main/resources/assets/opencomputers/textures/blocks/ServerRackSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/rack_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/ServerRackSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/switch_side.png b/src/main/resources/assets/opencomputers/textures/blocks/SwitchSide.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/switch_side.png rename to src/main/resources/assets/opencomputers/textures/blocks/SwitchSide.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/switch_side_active.png b/src/main/resources/assets/opencomputers/textures/blocks/SwitchSideOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/switch_side_active.png rename to src/main/resources/assets/opencomputers/textures/blocks/SwitchSideOn.png diff --git a/src/main/resources/assets/opencomputers/textures/blocks/switch_top.png b/src/main/resources/assets/opencomputers/textures/blocks/SwitchTop.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/blocks/switch_top.png rename to src/main/resources/assets/opencomputers/textures/blocks/SwitchTop.png diff --git a/src/main/resources/assets/opencomputers/textures/items/alu.png b/src/main/resources/assets/opencomputers/textures/items/ALU.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/alu.png rename to src/main/resources/assets/opencomputers/textures/items/ALU.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_abstract_bus.png b/src/main/resources/assets/opencomputers/textures/items/AbstractBusCard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_abstract_bus.png rename to src/main/resources/assets/opencomputers/textures/items/AbstractBusCard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/grog.png b/src/main/resources/assets/opencomputers/textures/items/Acid.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/grog.png rename to src/main/resources/assets/opencomputers/textures/items/Acid.png diff --git a/src/main/resources/assets/opencomputers/textures/items/analyzer.png b/src/main/resources/assets/opencomputers/textures/items/Analyzer.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/analyzer.png rename to src/main/resources/assets/opencomputers/textures/items/Analyzer.png diff --git a/src/main/resources/assets/opencomputers/textures/items/keys_arrow.png b/src/main/resources/assets/opencomputers/textures/items/ArrowKeys.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/keys_arrow.png rename to src/main/resources/assets/opencomputers/textures/items/ArrowKeys.png diff --git a/src/main/resources/assets/opencomputers/textures/items/keys_group.png b/src/main/resources/assets/opencomputers/textures/items/ButtonGroup.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/keys_group.png rename to src/main/resources/assets/opencomputers/textures/items/ButtonGroup.png diff --git a/src/main/resources/assets/opencomputers/textures/items/cpu0.png b/src/main/resources/assets/opencomputers/textures/items/CPU0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/cpu0.png rename to src/main/resources/assets/opencomputers/textures/items/CPU0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/cpu1.png b/src/main/resources/assets/opencomputers/textures/items/CPU1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/cpu1.png rename to src/main/resources/assets/opencomputers/textures/items/CPU1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/cpu2.png b/src/main/resources/assets/opencomputers/textures/items/CPU2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/cpu2.png rename to src/main/resources/assets/opencomputers/textures/items/CPU2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card.png b/src/main/resources/assets/opencomputers/textures/items/CardBase.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card.png rename to src/main/resources/assets/opencomputers/textures/items/CardBase.png diff --git a/src/main/resources/assets/opencomputers/textures/items/circuit_board.png b/src/main/resources/assets/opencomputers/textures/items/CircuitBoard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/circuit_board.png rename to src/main/resources/assets/opencomputers/textures/items/CircuitBoard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/cu.png b/src/main/resources/assets/opencomputers/textures/items/ControlUnit.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/cu.png rename to src/main/resources/assets/opencomputers/textures/items/ControlUnit.png diff --git a/src/main/resources/assets/opencomputers/textures/items/cutting_wire.png b/src/main/resources/assets/opencomputers/textures/items/CuttingWire.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/cutting_wire.png rename to src/main/resources/assets/opencomputers/textures/items/CuttingWire.png diff --git a/src/main/resources/assets/opencomputers/textures/items/disk.png b/src/main/resources/assets/opencomputers/textures/items/Disk.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/disk.png rename to src/main/resources/assets/opencomputers/textures/items/Disk.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_black.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBlack.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_black.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBlack.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_blue.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBlue.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_blue.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBlue.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_brown.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBrown.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_brown.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeBrown.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_cyan.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeCyan.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_cyan.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeCyan.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_gray.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeGray.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_gray.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeGray.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_green.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeGreen.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_green.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeGreen.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_lightBlue.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLightBlue.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_lightBlue.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLightBlue.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_lightGray.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLightGray.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_lightGray.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLightGray.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_lime.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLime.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_lime.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeLime.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_magenta.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeMagenta.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_magenta.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeMagenta.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_orange.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeOrange.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_orange.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeOrange.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_pink.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyePink.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_pink.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyePink.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_purple.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyePurple.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_purple.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyePurple.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_red.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeRed.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_red.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeRed.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_white.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeWhite.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_white.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeWhite.png diff --git a/src/main/resources/assets/opencomputers/textures/items/floppy_yellow.png b/src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeYellow.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/floppy_yellow.png rename to src/main/resources/assets/opencomputers/textures/items/FloppyDisk_dyeYellow.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_graphics0.png b/src/main/resources/assets/opencomputers/textures/items/GraphicsCard0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_graphics0.png rename to src/main/resources/assets/opencomputers/textures/items/GraphicsCard0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_graphics1.png b/src/main/resources/assets/opencomputers/textures/items/GraphicsCard1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_graphics1.png rename to src/main/resources/assets/opencomputers/textures/items/GraphicsCard1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_graphics2.png b/src/main/resources/assets/opencomputers/textures/items/GraphicsCard2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_graphics2.png rename to src/main/resources/assets/opencomputers/textures/items/GraphicsCard2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/disk_harddrive0.png b/src/main/resources/assets/opencomputers/textures/items/HardDiskDrive0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/disk_harddrive0.png rename to src/main/resources/assets/opencomputers/textures/items/HardDiskDrive0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/disk_harddrive1.png b/src/main/resources/assets/opencomputers/textures/items/HardDiskDrive1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/disk_harddrive1.png rename to src/main/resources/assets/opencomputers/textures/items/HardDiskDrive1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/disk_harddrive2.png b/src/main/resources/assets/opencomputers/textures/items/HardDiskDrive2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/disk_harddrive2.png rename to src/main/resources/assets/opencomputers/textures/items/HardDiskDrive2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_internet.png b/src/main/resources/assets/opencomputers/textures/items/InternetCard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_internet.png rename to src/main/resources/assets/opencomputers/textures/items/InternetCard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_internet.png.mcmeta b/src/main/resources/assets/opencomputers/textures/items/InternetCard.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_internet.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/items/InternetCard.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/items/interweb.png b/src/main/resources/assets/opencomputers/textures/items/Interweb.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/interweb.png rename to src/main/resources/assets/opencomputers/textures/items/Interweb.png diff --git a/src/main/resources/assets/opencomputers/textures/items/iron_nugget.png b/src/main/resources/assets/opencomputers/textures/items/IronNugget.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/iron_nugget.png rename to src/main/resources/assets/opencomputers/textures/items/IronNugget.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_linked.png b/src/main/resources/assets/opencomputers/textures/items/LinkedCard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_linked.png rename to src/main/resources/assets/opencomputers/textures/items/LinkedCard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_linked.png.mcmeta b/src/main/resources/assets/opencomputers/textures/items/LinkedCard.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_linked.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/items/LinkedCard.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/items/memory0.png b/src/main/resources/assets/opencomputers/textures/items/Memory0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory0.png rename to src/main/resources/assets/opencomputers/textures/items/Memory0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/memory1.png b/src/main/resources/assets/opencomputers/textures/items/Memory1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory1.png rename to src/main/resources/assets/opencomputers/textures/items/Memory1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/memory2.png b/src/main/resources/assets/opencomputers/textures/items/Memory2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory2.png rename to src/main/resources/assets/opencomputers/textures/items/Memory2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/memory3.png b/src/main/resources/assets/opencomputers/textures/items/Memory3.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory3.png rename to src/main/resources/assets/opencomputers/textures/items/Memory3.png diff --git a/src/main/resources/assets/opencomputers/textures/items/memory4.png b/src/main/resources/assets/opencomputers/textures/items/Memory4.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory4.png rename to src/main/resources/assets/opencomputers/textures/items/Memory4.png diff --git a/src/main/resources/assets/opencomputers/textures/items/memory5.png b/src/main/resources/assets/opencomputers/textures/items/Memory5.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/memory5.png rename to src/main/resources/assets/opencomputers/textures/items/Memory5.png diff --git a/src/main/resources/assets/opencomputers/textures/items/microchip0.png b/src/main/resources/assets/opencomputers/textures/items/Microchip0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/microchip0.png rename to src/main/resources/assets/opencomputers/textures/items/Microchip0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/microchip1.png b/src/main/resources/assets/opencomputers/textures/items/Microchip1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/microchip1.png rename to src/main/resources/assets/opencomputers/textures/items/Microchip1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/microchip2.png b/src/main/resources/assets/opencomputers/textures/items/Microchip2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/microchip2.png rename to src/main/resources/assets/opencomputers/textures/items/Microchip2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_lan.png b/src/main/resources/assets/opencomputers/textures/items/NetworkCard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_lan.png rename to src/main/resources/assets/opencomputers/textures/items/NetworkCard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/keys_numpad.png b/src/main/resources/assets/opencomputers/textures/items/NumPad.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/keys_numpad.png rename to src/main/resources/assets/opencomputers/textures/items/NumPad.png diff --git a/src/main/resources/assets/opencomputers/textures/items/circuit_board_printed.png b/src/main/resources/assets/opencomputers/textures/items/PrintedCircuitBoard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/circuit_board_printed.png rename to src/main/resources/assets/opencomputers/textures/items/PrintedCircuitBoard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/circuit_board_raw.png b/src/main/resources/assets/opencomputers/textures/items/RawCircuitBoard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/circuit_board_raw.png rename to src/main/resources/assets/opencomputers/textures/items/RawCircuitBoard.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_redstone0.png b/src/main/resources/assets/opencomputers/textures/items/RedstoneCard0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_redstone0.png rename to src/main/resources/assets/opencomputers/textures/items/RedstoneCard0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_redstone1.png b/src/main/resources/assets/opencomputers/textures/items/RedstoneCard1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_redstone1.png rename to src/main/resources/assets/opencomputers/textures/items/RedstoneCard1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/server0.png b/src/main/resources/assets/opencomputers/textures/items/Server0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/server0.png rename to src/main/resources/assets/opencomputers/textures/items/Server0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/server1.png b/src/main/resources/assets/opencomputers/textures/items/Server1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/server1.png rename to src/main/resources/assets/opencomputers/textures/items/Server1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/server2.png b/src/main/resources/assets/opencomputers/textures/items/Server2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/server2.png rename to src/main/resources/assets/opencomputers/textures/items/Server2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/tablet.png b/src/main/resources/assets/opencomputers/textures/items/Tablet.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/tablet.png rename to src/main/resources/assets/opencomputers/textures/items/Tablet.png diff --git a/src/main/resources/assets/opencomputers/textures/items/terminal.png b/src/main/resources/assets/opencomputers/textures/items/Terminal.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/terminal.png rename to src/main/resources/assets/opencomputers/textures/items/Terminal.png diff --git a/src/main/resources/assets/opencomputers/textures/items/terminal_off.png b/src/main/resources/assets/opencomputers/textures/items/TerminalOff.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/terminal_off.png rename to src/main/resources/assets/opencomputers/textures/items/TerminalOff.png diff --git a/src/main/resources/assets/opencomputers/textures/items/terminal_on.png b/src/main/resources/assets/opencomputers/textures/items/TerminalOn.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/terminal_on.png rename to src/main/resources/assets/opencomputers/textures/items/TerminalOn.png diff --git a/src/main/resources/assets/opencomputers/textures/items/terminal_on.png.mcmeta b/src/main/resources/assets/opencomputers/textures/items/TerminalOn.png.mcmeta similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/terminal_on.png.mcmeta rename to src/main/resources/assets/opencomputers/textures/items/TerminalOn.png.mcmeta diff --git a/src/main/resources/assets/opencomputers/textures/items/transistor.png b/src/main/resources/assets/opencomputers/textures/items/Transistor.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/transistor.png rename to src/main/resources/assets/opencomputers/textures/items/Transistor.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_angel.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeAngel.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_angel.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeAngel.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery0.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeBattery0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_battery0.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeBattery0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery1.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeBattery1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_battery1.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeBattery1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery2.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeBattery2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_battery2.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeBattery2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_chunkloader.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeChunkloader.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_chunkloader.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeChunkloader.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_card0.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_card0.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_card1.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_card1.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_card2.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_card2.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerCard2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_upgrade0.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade0.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_upgrade0.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade0.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_upgrade1.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade1.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_upgrade1.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade1.png diff --git a/src/main/resources/assets/opencomputers/textures/items/container_upgrade2.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade2.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/container_upgrade2.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeContainerUpgrade2.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_crafting.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeCrafting.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_crafting.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeCrafting.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_experience.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeExperience.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_experience.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeExperience.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_generator.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeGenerator.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_generator.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeGenerator.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_inventory.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeInventory.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_inventory.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeInventory.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_inventory_controller.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeInventoryController.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_inventory_controller.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeInventoryController.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_navigation.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeNavigation.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_navigation.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeNavigation.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_sign.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeSign.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_sign.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeSign.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_solar_generator.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeSolarGenerator.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_solar_generator.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeSolarGenerator.png diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_tractor_beam.png b/src/main/resources/assets/opencomputers/textures/items/UpgradeTractorBeam.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/upgrade_tractor_beam.png rename to src/main/resources/assets/opencomputers/textures/items/UpgradeTractorBeam.png diff --git a/src/main/resources/assets/opencomputers/textures/items/card_wlan.png b/src/main/resources/assets/opencomputers/textures/items/WirelessNetworkCard.png similarity index 100% rename from src/main/resources/assets/opencomputers/textures/items/card_wlan.png rename to src/main/resources/assets/opencomputers/textures/items/WirelessNetworkCard.png diff --git a/src/main/scala/li/cil/oc/Blocks.scala b/src/main/scala/li/cil/oc/Blocks.scala index 15d28ddda..d76e477f7 100644 --- a/src/main/scala/li/cil/oc/Blocks.scala +++ b/src/main/scala/li/cil/oc/Blocks.scala @@ -1,6 +1,7 @@ package li.cil.oc import cpw.mods.fml.common.registry.GameRegistry +import li.cil.oc.common.InventorySlots.Tier import li.cil.oc.common.block._ import li.cil.oc.common.recipe.Recipes import li.cil.oc.common.tileentity @@ -43,7 +44,7 @@ object Blocks { GameRegistry.registerTileEntity(classOf[tileentity.RobotAssembler], Settings.namespace + "robotAssembler") GameRegistry.registerTileEntityWithAlternatives(classOf[tileentity.Switch], Settings.namespace + "switch", Settings.namespace + "router") GameRegistry.registerTileEntity(classOf[tileentity.Screen], Settings.namespace + "screen") - GameRegistry.registerTileEntity(classOf[tileentity.Rack], Settings.namespace + "serverRack") + GameRegistry.registerTileEntity(classOf[tileentity.ServerRack], Settings.namespace + "serverRack") GameRegistry.registerTileEntityWithAlternatives(classOf[tileentity.AccessPoint], Settings.namespace + "access_point", Settings.namespace + "wireless_router") // IMPORTANT: the multi block must come first, since the sub blocks will @@ -52,9 +53,9 @@ object Blocks { Recipes.addBlock(new Adapter(blockSimple), "adapter", "oc:adapter") Recipes.addBlock(new Cable(blockSpecial), "cable", "oc:cable") Recipes.addBlock(new Capacitor(blockSimple), "capacitor", "oc:capacitor") - Recipes.addBlock(new Case.Tier1(blockSimpleWithRedstone), "case1", "oc:case1") - Recipes.addBlock(new Case.Tier2(blockSimpleWithRedstone), "case2", "oc:case2") - Recipes.addBlock(new Case.Tier3(blockSimpleWithRedstone), "case3", "oc:case3") + Recipes.addBlock(new Case(blockSimpleWithRedstone, Tier.One), "case1", "oc:case1") + Recipes.addBlock(new Case(blockSimpleWithRedstone, Tier.Two), "case2", "oc:case2") + Recipes.addBlock(new Case(blockSimpleWithRedstone, Tier.Three), "case3", "oc:case3") Recipes.addBlock(new Charger(blockSimpleWithRedstone), "charger", "oc:charger") Recipes.addBlock(new DiskDrive(blockSimple), "diskDrive", "oc:diskDrive") Recipes.addBlock(new Keyboard(blockSpecial), "keyboard", "oc:keyboard") @@ -66,27 +67,27 @@ object Blocks { Recipes.addBlock(new Switch(blockSimple), "switch", "oc:switch") // Copied to simple block for automatic conversion from old format (when // screens did not take redstone inputs) to keep save format compatible. - blockSimple.subBlocks += Recipes.addBlock(new Screen.Tier1(blockSimpleWithRedstone), "screen1", "oc:screen1") - blockSimple.subBlocks += Recipes.addBlock(new Screen.Tier2(blockSimpleWithRedstone), "screen2", "oc:screen2") - blockSimple.subBlocks += Recipes.addBlock(new Screen.Tier3(blockSimpleWithRedstone), "screen3", "oc:screen3") + blockSimple.subBlocks += Recipes.addBlock(new Screen(blockSimpleWithRedstone, Tier.One), "screen1", "oc:screen1") + blockSimple.subBlocks += Recipes.addBlock(new Screen(blockSimpleWithRedstone, Tier.Two), "screen2", "oc:screen2") + blockSimple.subBlocks += Recipes.addBlock(new Screen(blockSimpleWithRedstone, Tier.Three), "screen3", "oc:screen3") // v1.2.0 - Recipes.addBlock(new Rack(blockSpecialWithRedstone), "rack", "oc:rack") + Recipes.addBlock(new ServerRack(blockSpecialWithRedstone), "rack", "oc:rack") // v1.2.2 - Recipes.addBlock(new Hologram.Tier1(blockSpecial), "hologram1", "oc:hologram1") + Recipes.addBlock(new Hologram(blockSpecial, Tier.One), "hologram1", "oc:hologram1") Recipes.addBlock(new AccessPoint(blockSimple), "accessPoint", "oc:accessPoint") // v1.2.6 - Items.registerBlock(new Case.TierCreative(blockSimpleWithRedstone), "caseCreative") + Items.registerBlock(new Case(blockSimpleWithRedstone, Tier.Four), "caseCreative") // v1.3.0 - Recipes.addBlock(new Hologram.Tier2(blockSpecial), "hologram2", "oc:hologram2") + Recipes.addBlock(new Hologram(blockSpecial, Tier.Two), "hologram2", "oc:hologram2") Recipes.addBlock(new Geolyzer(blockSimple), "geolyzer", "oc:geolyzer") Recipes.addBlock(new RobotAssembler(blockSpecial), "robotAssembler", "oc:robotAssembler") Recipes.addBlock(new Disassembler(blockSimple), "disassembler", "oc:disassembler") - // ??? + // v1.3.2 Recipes.addBlock(new MotionSensor(blockSimple), "motionSensor", "oc:motionSensor") } } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/client/GuiHandler.scala b/src/main/scala/li/cil/oc/client/GuiHandler.scala index b554d054d..c3a2c3b35 100644 --- a/src/main/scala/li/cil/oc/client/GuiHandler.scala +++ b/src/main/scala/li/cil/oc/client/GuiHandler.scala @@ -20,7 +20,7 @@ object GuiHandler extends CommonGuiHandler { new gui.DiskDrive(player.inventory, drive) case proxy: tileentity.RobotProxy if id == GuiType.Robot.id => new gui.Robot(player.inventory, proxy.robot) - case rack: tileentity.Rack if id == GuiType.Rack.id => + case rack: tileentity.ServerRack if id == GuiType.Rack.id => new gui.Rack(player.inventory, rack) case assembler: tileentity.RobotAssembler if id == GuiType.RobotAssembler.id => new gui.RobotAssembler(player.inventory, assembler) @@ -54,7 +54,7 @@ object GuiHandler extends CommonGuiHandler { val address = stack.getTagCompound.getString(Settings.namespace + "server") val key = stack.getTagCompound.getString(Settings.namespace + "key") if (key != null && !key.isEmpty && address != null && !address.isEmpty) { - tileentity.Rack.list.keys. + tileentity.ServerRack.list.keys. flatMap(_.terminals). find(term => term.rack.isPresent(term.number) match { case Some(value) => value == address diff --git a/src/main/scala/li/cil/oc/client/PacketHandler.scala b/src/main/scala/li/cil/oc/client/PacketHandler.scala index b4481e8b2..b6cf4fbe7 100644 --- a/src/main/scala/li/cil/oc/client/PacketHandler.scala +++ b/src/main/scala/li/cil/oc/client/PacketHandler.scala @@ -93,7 +93,7 @@ class PacketHandler extends CommonPacketHandler { def onComputerState(p: PacketParser) = p.readTileEntity[TileEntity]() match { case Some(t: Computer) => t.setRunning(p.readBoolean()) - case Some(t: Rack) => + case Some(t: ServerRack) => val number = p.readInt() if (number == -1) { t.range = p.readInt() @@ -359,7 +359,7 @@ class PacketHandler extends CommonPacketHandler { } def onServerPresence(p: PacketParser) = - p.readTileEntity[Rack]() match { + p.readTileEntity[ServerRack]() match { case Some(t) => for (i <- 0 until t.isPresent.length) { if (p.readBoolean()) { t.isPresent(i) = Some(p.readUTF()) diff --git a/src/main/scala/li/cil/oc/client/PacketSender.scala b/src/main/scala/li/cil/oc/client/PacketSender.scala index 19f61097f..e7a6cda4c 100644 --- a/src/main/scala/li/cil/oc/client/PacketSender.scala +++ b/src/main/scala/li/cil/oc/client/PacketSender.scala @@ -124,7 +124,7 @@ object PacketSender { pb.sendToServer() } - def sendServerPower(t: Rack, number: Int, power: Boolean) { + def sendServerPower(t: ServerRack, number: Int, power: Boolean) { val pb = new PacketBuilder(PacketType.ComputerPower) pb.writeTileEntity(t) @@ -134,7 +134,7 @@ object PacketSender { pb.sendToServer() } - def sendServerRange(t: Rack, range: Int) { + def sendServerRange(t: ServerRack, range: Int) { val pb = new PacketBuilder(PacketType.ServerRange) pb.writeTileEntity(t) @@ -143,7 +143,7 @@ object PacketSender { pb.sendToServer() } - def sendServerSide(t: Rack, number: Int, side: ForgeDirection) { + def sendServerSide(t: ServerRack, number: Int, side: ForgeDirection) { val pb = new PacketBuilder(PacketType.ServerSide) pb.writeTileEntity(t) diff --git a/src/main/scala/li/cil/oc/client/Proxy.scala b/src/main/scala/li/cil/oc/client/Proxy.scala index 01311ff35..2a69dc983 100644 --- a/src/main/scala/li/cil/oc/client/Proxy.scala +++ b/src/main/scala/li/cil/oc/client/Proxy.scala @@ -10,7 +10,7 @@ import li.cil.oc.client.renderer.item.ItemRenderer import li.cil.oc.client.renderer.tileentity._ import li.cil.oc.client.renderer.{PetRenderer, TextBufferRenderCache, WirelessNetworkDebugRenderer} import li.cil.oc.common.component.TextBuffer -import li.cil.oc.common.tileentity.Rack +import li.cil.oc.common.tileentity.ServerRack import li.cil.oc.common.{tileentity, Proxy => CommonProxy} import li.cil.oc.{Items, OpenComputers} import net.minecraft.client.Minecraft @@ -40,7 +40,7 @@ private[oc] class Proxy extends CommonProxy { ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Geolyzer], GeolyzerRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Hologram], HologramRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.PowerDistributor], PowerDistributorRenderer) - ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Rack], RackRenderer) + ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.ServerRack], RackRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.RobotAssembler], RobotAssemblerRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.Switch], SwitchRenderer) ClientRegistry.bindTileEntitySpecialRenderer(classOf[tileentity.AccessPoint], SwitchRenderer) @@ -67,7 +67,7 @@ private[oc] class Proxy extends CommonProxy { TickRegistry.registerTickHandler(TextBufferRenderCache, Side.CLIENT) TickRegistry.registerTickHandler(PetRenderer, Side.CLIENT) MinecraftForge.EVENT_BUS.register(WirelessNetworkDebugRenderer) - MinecraftForge.EVENT_BUS.register(Rack) + MinecraftForge.EVENT_BUS.register(ServerRack) MinecraftForge.EVENT_BUS.register(TextBuffer) MinecraftForge.EVENT_BUS.register(PetRenderer) } diff --git a/src/main/scala/li/cil/oc/client/Textures.scala b/src/main/scala/li/cil/oc/client/Textures.scala index 1f95b5110..532014990 100644 --- a/src/main/scala/li/cil/oc/client/Textures.scala +++ b/src/main/scala/li/cil/oc/client/Textures.scala @@ -27,9 +27,9 @@ object Textures extends ResourceManagerReloadListener { val guiSlot = new ResourceLocation(Settings.resourceDomain, "textures/gui/slot.png") val blockCable = new ResourceLocation(Settings.resourceDomain, "textures/blocks/cable.png") - val blockCaseFrontOn = new ResourceLocation(Settings.resourceDomain, "textures/blocks/case_front_on.png") - val blockHologram = new ResourceLocation(Settings.resourceDomain, "textures/blocks/hologram_effect.png") - val blockRackFrontOn = new ResourceLocation(Settings.resourceDomain, "textures/blocks/rack_front_on.png") + val blockCaseFrontOn = new ResourceLocation(Settings.resourceDomain, "textures/blocks/CaseFrontOn.png") + val blockHologram = new ResourceLocation(Settings.resourceDomain, "textures/blocks/HologramEffect.png") + val blockRackFrontOn = new ResourceLocation(Settings.resourceDomain, "textures/blocks/ServerRackFrontOn.png") val blockRobot = new ResourceLocation(Settings.resourceDomain, "textures/blocks/robot.png") val blockScreenUpIndicator = new ResourceLocation(Settings.resourceDomain, "textures/blocks/screen/up_indicator.png") diff --git a/src/main/scala/li/cil/oc/client/gui/Rack.scala b/src/main/scala/li/cil/oc/client/gui/Rack.scala index 10a6ec2f2..f1977ceb7 100644 --- a/src/main/scala/li/cil/oc/client/gui/Rack.scala +++ b/src/main/scala/li/cil/oc/client/gui/Rack.scala @@ -12,7 +12,7 @@ import net.minecraft.util.StatCollector import net.minecraftforge.common.ForgeDirection import org.lwjgl.opengl.GL11 -class Rack(playerInventory: InventoryPlayer, val rack: tileentity.Rack) extends DynamicGuiContainer(new container.Rack(playerInventory, rack)) { +class Rack(playerInventory: InventoryPlayer, val rack: tileentity.ServerRack) extends DynamicGuiContainer(new container.Rack(playerInventory, rack)) { protected var powerButtons = new Array[ImageButton](4) protected var sideButtons = new Array[GuiButton](4) diff --git a/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala index d69c8c81a..15f07c2c0 100644 --- a/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/block/BlockRenderer.scala @@ -106,7 +106,7 @@ object BlockRenderer extends ISimpleBlockRenderingHandler { RenderState.checkError(getClass.getName + ".renderWorldBlock: keyboard") result - case rack: tileentity.Rack => + case rack: tileentity.ServerRack => val previousRenderAllFaces = renderer.renderAllFaces val u1 = 1 / 16f val u2 = 15 / 16f diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/RackRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/RackRenderer.scala index a7918621b..154f6ce61 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/RackRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/RackRenderer.scala @@ -1,7 +1,7 @@ package li.cil.oc.client.renderer.tileentity import li.cil.oc.client.Textures -import li.cil.oc.common.tileentity.Rack +import li.cil.oc.common.tileentity.ServerRack import li.cil.oc.util.RenderState import net.minecraft.client.renderer.Tessellator import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer @@ -13,7 +13,7 @@ object RackRenderer extends TileEntitySpecialRenderer { override def renderTileEntityAt(tileEntity: TileEntity, x: Double, y: Double, z: Double, f: Float) = { RenderState.checkError(getClass.getName + ".renderTileEntityAt: entering (aka: wasntme)") - val rack = tileEntity.asInstanceOf[Rack] + val rack = tileEntity.asInstanceOf[ServerRack] if (rack.anyRunning) { GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS) diff --git a/src/main/scala/li/cil/oc/common/GuiHandler.scala b/src/main/scala/li/cil/oc/common/GuiHandler.scala index 62aaded6f..086065759 100644 --- a/src/main/scala/li/cil/oc/common/GuiHandler.scala +++ b/src/main/scala/li/cil/oc/common/GuiHandler.scala @@ -17,7 +17,7 @@ abstract class GuiHandler extends IGuiHandler { new container.DiskDrive(player.inventory, drive) case proxy: tileentity.RobotProxy if id == GuiType.Robot.id => new container.Robot(player.inventory, proxy.robot) - case rack: tileentity.Rack if id == GuiType.Rack.id => + case rack: tileentity.ServerRack if id == GuiType.Rack.id => new container.Rack(player.inventory, rack) case assembler: tileentity.RobotAssembler if id == GuiType.RobotAssembler.id => new container.RobotAssembler(player.inventory, assembler) diff --git a/src/main/scala/li/cil/oc/common/block/AccessPoint.scala b/src/main/scala/li/cil/oc/common/block/AccessPoint.scala index 69dfc8f73..a67837981 100644 --- a/src/main/scala/li/cil/oc/common/block/AccessPoint.scala +++ b/src/main/scala/li/cil/oc/common/block/AccessPoint.scala @@ -4,23 +4,21 @@ import java.util import cpw.mods.fml.common.Optional import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip import li.cil.oc.{Localization, Settings} import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} -import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.world.World -import net.minecraftforge.common.ForgeDirection class AccessPoint(parent: SimpleDelegator) extends Switch(parent) { - override val unlocalizedName = "AccessPoint" - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } + override protected def customTextures = Array( + None, + Some("AccessPointTop"), + Some("SwitchSide"), + Some("SwitchSide"), + Some("SwitchSide"), + Some("SwitchSide") + ) @Optional.Method(modid = "Waila") override def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { @@ -34,11 +32,6 @@ class AccessPoint(parent: SimpleDelegator) extends Switch(parent) { } } - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":access_point_top") - } - // ----------------------------------------------------------------------- // override def createTileEntity(world: World) = Some(new tileentity.AccessPoint) diff --git a/src/main/scala/li/cil/oc/common/block/Adapter.scala b/src/main/scala/li/cil/oc/common/block/Adapter.scala index 107d83667..7a9e24444 100644 --- a/src/main/scala/li/cil/oc/common/block/Adapter.scala +++ b/src/main/scala/li/cil/oc/common/block/Adapter.scala @@ -1,37 +1,17 @@ package li.cil.oc.common.block -import java.util - -import li.cil.oc.Settings import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.World -import net.minecraftforge.common.ForgeDirection class Adapter(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "Adapter" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":adapter_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":adapter_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } + override protected def customTextures = Array( + None, + Some("AdapterTop"), + Some("AdapterSide"), + Some("AdapterSide"), + Some("AdapterSide"), + Some("AdapterSide") + ) // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/Cable.scala b/src/main/scala/li/cil/oc/common/block/Cable.scala index 28452409b..7a85d4600 100644 --- a/src/main/scala/li/cil/oc/common/block/Cable.scala +++ b/src/main/scala/li/cil/oc/common/block/Cable.scala @@ -1,45 +1,17 @@ package li.cil.oc.common.block -import java.util - import codechicken.lib.vec.Cuboid6 import codechicken.multipart.{JNormalOcclusion, NormalOcclusionTest, TFacePart, TileMultipart} -import cpw.mods.fml.relauncher.{Side, SideOnly} -import li.cil.oc.Settings import li.cil.oc.api.network.{Environment, SidedEnvironment} import li.cil.oc.common.multipart.CablePart import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.Mods -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.tileentity.TileEntity import net.minecraft.util.AxisAlignedBB import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection class Cable(val parent: SpecialDelegator) extends SpecialDelegate { - val unlocalizedName = "Cable" - - private var icon: Icon = _ - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - @SideOnly(Side.CLIENT) - override def icon(side: ForgeDirection) = Some(icon) - - @SideOnly(Side.CLIENT) - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - icon = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - } - - // ----------------------------------------------------------------------- // - override def hasTileEntity = true override def createTileEntity(world: World) = Some(new tileentity.Cable) diff --git a/src/main/scala/li/cil/oc/common/block/Capacitor.scala b/src/main/scala/li/cil/oc/common/block/Capacitor.scala index cedb04970..ba613d39b 100644 --- a/src/main/scala/li/cil/oc/common/block/Capacitor.scala +++ b/src/main/scala/li/cil/oc/common/block/Capacitor.scala @@ -4,24 +4,20 @@ import java.util import cpw.mods.fml.common.Optional import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip import li.cil.oc.{Localization, Settings} import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} -import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.world.{IBlockAccess, World} -import net.minecraftforge.common.ForgeDirection class Capacitor(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "Capacitor" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } + override protected def customTextures = Array( + None, + Some("CapacitorTop"), + Some("CapacitorSide"), + Some("CapacitorSide"), + Some("CapacitorSide"), + Some("CapacitorSide") + ) @Optional.Method(modid = "Waila") override def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { @@ -31,18 +27,6 @@ class Capacitor(val parent: SimpleDelegator) extends SimpleDelegate { } } - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":capacitor_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":capacitor") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } - override def luminance(world: IBlockAccess, x: Int, y: Int, z: Int) = 5 // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/Case.scala b/src/main/scala/li/cil/oc/common/block/Case.scala index 82b1e6b31..e0a44e51c 100644 --- a/src/main/scala/li/cil/oc/common/block/Case.scala +++ b/src/main/scala/li/cil/oc/common/block/Case.scala @@ -14,10 +14,19 @@ import net.minecraft.item.{EnumRarity, ItemStack} import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection -abstract class Case(val parent: SimpleDelegator) extends RedstoneAware with SimpleDelegate { - val unlocalizedName = "Case" + tier +class Case(val parent: SimpleDelegator, val tier: Int) extends RedstoneAware with SimpleDelegate { + override val unlocalizedName = super.unlocalizedName + tier - def tier: Int + override protected def customTextures = Array( + Some("CaseTop"), + Some("CaseTop"), + Some("CaseBack"), + Some("CaseFront"), + Some("CaseSide"), + Some("CaseSide") + ) + + private val iconsOn = new Array[Icon](6) override def rarity = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare, EnumRarity.epic).apply(tier) @@ -43,11 +52,6 @@ abstract class Case(val parent: SimpleDelegator) extends RedstoneAware with Simp } } - private object Icons { - val on = Array.fill[Icon](6)(null) - val off = Array.fill[Icon](6)(null) - } - override def icon(world: IBlockAccess, x: Int, y: Int, z: Int, worldSide: ForgeDirection, localSide: ForgeDirection) = { getIcon(localSide, world.getBlockTileEntity(x, y, z) match { case computer: tileentity.Case => computer.isRunning @@ -58,24 +62,14 @@ abstract class Case(val parent: SimpleDelegator) extends RedstoneAware with Simp override def icon(side: ForgeDirection) = getIcon(side, isOn = false) private def getIcon(side: ForgeDirection, isOn: Boolean) = - Some(if (isOn) Icons.on(side.ordinal) else Icons.off(side.ordinal)) + if (isOn) Some(iconsOn(side.ordinal)) else super.icon(side) override def registerIcons(iconRegister: IconRegister) = { - Icons.off(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_top") - Icons.on(ForgeDirection.DOWN.ordinal) = Icons.off(ForgeDirection.DOWN.ordinal) - Icons.off(ForgeDirection.UP.ordinal) = Icons.off(ForgeDirection.DOWN.ordinal) - Icons.on(ForgeDirection.UP.ordinal) = Icons.off(ForgeDirection.UP.ordinal) - - Icons.off(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_back") - Icons.on(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_back_on") - - Icons.off(ForgeDirection.SOUTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_front") - Icons.on(ForgeDirection.SOUTH.ordinal) = Icons.off(ForgeDirection.SOUTH.ordinal) - - Icons.off(ForgeDirection.WEST.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_side") - Icons.on(ForgeDirection.WEST.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":case_side_on") - Icons.off(ForgeDirection.EAST.ordinal) = Icons.off(ForgeDirection.WEST.ordinal) - Icons.on(ForgeDirection.EAST.ordinal) = Icons.on(ForgeDirection.WEST.ordinal) + super.registerIcons(iconRegister) + System.arraycopy(icons, 0, iconsOn, 0, icons.length) + iconsOn(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":CaseBackOn") + iconsOn(ForgeDirection.WEST.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":CaseSideOn") + iconsOn(ForgeDirection.EAST.ordinal) = iconsOn(ForgeDirection.WEST.ordinal) } // ----------------------------------------------------------------------- // @@ -109,24 +103,4 @@ abstract class Case(val parent: SimpleDelegator) extends RedstoneAware with Simp case c: tileentity.Case => c.canInteract(player.getCommandSenderName) case _ => super.removedByEntity(world, x, y, z, player) } -} - -object Case { - - class Tier1(parent: SimpleDelegator) extends Case(parent) { - def tier = 0 - } - - class Tier2(parent: SimpleDelegator) extends Case(parent) { - def tier = 1 - } - - class Tier3(parent: SimpleDelegator) extends Case(parent) { - def tier = 2 - } - - class TierCreative(parent: SimpleDelegator) extends Case(parent) { - def tier = 3 - } - -} +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/block/Charger.scala b/src/main/scala/li/cil/oc/common/block/Charger.scala index 89b09eadf..2c777f64b 100644 --- a/src/main/scala/li/cil/oc/common/block/Charger.scala +++ b/src/main/scala/li/cil/oc/common/block/Charger.scala @@ -3,11 +3,9 @@ package li.cil.oc.common.block import java.util import cpw.mods.fml.common.Optional -import cpw.mods.fml.relauncher.{Side, SideOnly} import li.cil.oc.client.Textures import li.cil.oc.common.tileentity import li.cil.oc.server.PacketSender -import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.BuildCraft import li.cil.oc.{Localization, Settings} import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} @@ -17,13 +15,14 @@ import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection class Charger(val parent: SimpleDelegator) extends RedstoneAware with SimpleDelegate { - val unlocalizedName = "Charger" - - private val icons = Array.fill[Icon](6)(null) - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } + override protected def customTextures = Array( + None, + None, + Some("ChargerSide"), + Some("ChargerFront"), + Some("ChargerSide"), + Some("ChargerSide") + ) @Optional.Method(modid = "Waila") override def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { @@ -34,22 +33,10 @@ class Charger(val parent: SimpleDelegator) extends RedstoneAware with SimpleDele } } - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) - - @SideOnly(Side.CLIENT) - override def icon(world: IBlockAccess, x: Int, y: Int, z: Int, worldSide: ForgeDirection, localSide: ForgeDirection) = Some(icons(localSide.ordinal())) - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":charger_side") - icons(ForgeDirection.SOUTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":charger_front") - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.Charger.iconFrontCharging = iconRegister.registerIcon(Settings.resourceDomain + ":charger_front_on") - Textures.Charger.iconSideCharging = iconRegister.registerIcon(Settings.resourceDomain + ":charger_side_on") + super.registerIcons(iconRegister) + Textures.Charger.iconFrontCharging = iconRegister.registerIcon(Settings.resourceDomain + ":ChargerFrontOn") + Textures.Charger.iconSideCharging = iconRegister.registerIcon(Settings.resourceDomain + ":ChargerSideOn") } override def createTileEntity(world: World) = Some(new tileentity.Charger()) diff --git a/src/main/scala/li/cil/oc/common/block/Delegate.scala b/src/main/scala/li/cil/oc/common/block/Delegate.scala index 213fdd698..1236992e9 100644 --- a/src/main/scala/li/cil/oc/common/block/Delegate.scala +++ b/src/main/scala/li/cil/oc/common/block/Delegate.scala @@ -4,8 +4,10 @@ import java.util import cpw.mods.fml.common.Optional import cpw.mods.fml.relauncher.{Side, SideOnly} +import li.cil.oc.Settings import li.cil.oc.common.tileentity import li.cil.oc.common.tileentity.traits.Inventory +import li.cil.oc.util.Tooltip import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} import net.minecraft.entity.player.EntityPlayer import net.minecraft.entity.{Entity, EntityLivingBase} @@ -19,7 +21,7 @@ trait Delegate { type Icon = net.minecraft.util.Icon type IconRegister = net.minecraft.client.renderer.texture.IconRegister - val unlocalizedName: String + def unlocalizedName = getClass.getSimpleName var showInItemList = true @@ -27,6 +29,10 @@ trait Delegate { def parent: Delegator[_] + val icons = new Array[Icon](6) + + protected def customTextures = Array.fill[Option[String]](6)(None) + def setBlock(world: World, x: Int, y: Int, z: Int, flags: Int) = { world.setBlock(x, y, z, parent.blockID, blockId, flags) } @@ -105,7 +111,9 @@ trait Delegate { def rarity = EnumRarity.common @SideOnly(Side.CLIENT) - def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {} + def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) { + tooltip.addAll(Tooltip.get(unlocalizedName)) + } @Optional.Method(modid = "Waila") def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { @@ -129,7 +137,7 @@ trait Delegate { } @SideOnly(Side.CLIENT) - def icon(side: ForgeDirection): Option[Icon] = None + def icon(side: ForgeDirection): Option[Icon] = Some(icons(side.ordinal)) @SideOnly(Side.CLIENT) def icon(world: IBlockAccess, x: Int, y: Int, z: Int, worldSide: ForgeDirection, localSide: ForgeDirection): Option[Icon] = icon(localSide) @@ -140,7 +148,22 @@ trait Delegate { def preItemRender() {} @SideOnly(Side.CLIENT) - def registerIcons(iconRegister: IconRegister) {} + def registerIcons(iconRegister: IconRegister) { + icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":GenericTop") + icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) + icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":GenericSide") + icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) + icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) + icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) + + val custom = customTextures + for (side <- ForgeDirection.VALID_DIRECTIONS) { + custom(side.ordinal) match { + case Some(name) => icons(side.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":" + name) + case _ => + } + } + } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/Disassembler.scala b/src/main/scala/li/cil/oc/common/block/Disassembler.scala index 7c6ff8c9a..b954a3d70 100644 --- a/src/main/scala/li/cil/oc/common/block/Disassembler.scala +++ b/src/main/scala/li/cil/oc/common/block/Disassembler.scala @@ -12,11 +12,14 @@ import net.minecraft.world.World import net.minecraftforge.common.ForgeDirection class Disassembler(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "Disassembler" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // + override protected def customTextures = Array( + None, + Some("DisassemblerTop"), + Some("DisassemblerSide"), + Some("DisassemblerSide"), + Some("DisassemblerSide"), + Some("DisassemblerSide") + ) override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.disassemblerBreakChance * 100).toInt.toString)) @@ -25,16 +28,9 @@ class Disassembler(val parent: SimpleDelegator) extends SimpleDelegate { override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":disassembler_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":disassembler_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.Disassembler.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":disassembler_side_on") - Textures.Disassembler.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":disassembler_top_on") + super.registerIcons(iconRegister) + Textures.Disassembler.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":DisassemblerSideOn") + Textures.Disassembler.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":DisassemblerTopOn") } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/DiskDrive.scala b/src/main/scala/li/cil/oc/common/block/DiskDrive.scala index 156aaacf2..37d7efc63 100644 --- a/src/main/scala/li/cil/oc/common/block/DiskDrive.scala +++ b/src/main/scala/li/cil/oc/common/block/DiskDrive.scala @@ -15,14 +15,17 @@ import net.minecraft.world.World import net.minecraftforge.common.ForgeDirection class DiskDrive(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "DiskDrive" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // + override protected def customTextures = Array( + None, + None, + Some("DiskDriveSide"), + Some("DiskDriveFront"), + Some("DiskDriveSide"), + Some("DiskDriveSide") + ) override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) + super.tooltipLines(stack, player, tooltip, advanced) if (Mods.ComputerCraft.isAvailable) { tooltip.addAll(Tooltip.get(unlocalizedName + ".CC")) } @@ -43,18 +46,6 @@ class DiskDrive(val parent: SimpleDelegator) extends SimpleDelegate { } } - override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":disk_drive_side") - icons(ForgeDirection.SOUTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":disk_drive_front") - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } - // ----------------------------------------------------------------------- // override def hasTileEntity = true diff --git a/src/main/scala/li/cil/oc/common/block/Geolyzer.scala b/src/main/scala/li/cil/oc/common/block/Geolyzer.scala index 5f0e288b1..da8aae2e9 100644 --- a/src/main/scala/li/cil/oc/common/block/Geolyzer.scala +++ b/src/main/scala/li/cil/oc/common/block/Geolyzer.scala @@ -1,39 +1,23 @@ package li.cil.oc.common.block -import java.util - import li.cil.oc.Settings import li.cil.oc.client.Textures import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.{IBlockAccess, World} -import net.minecraftforge.common.ForgeDirection class Geolyzer(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "Geolyzer" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) + override protected def customTextures = Array( + None, + Some("GeolyzerTop"), + Some("GeolyzerSide"), + Some("GeolyzerSide"), + Some("GeolyzerSide"), + Some("GeolyzerSide") + ) override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":geolyzer_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":geolyzer_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.Geolyzer.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":geolyzer_top_on") + super.registerIcons(iconRegister) + Textures.Geolyzer.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":GeolyzerTopOn") } override def luminance(world: IBlockAccess, x: Int, y: Int, z: Int) = 2 diff --git a/src/main/scala/li/cil/oc/common/block/Hologram.scala b/src/main/scala/li/cil/oc/common/block/Hologram.scala index 3e63d2ccd..ff445b4b9 100644 --- a/src/main/scala/li/cil/oc/common/block/Hologram.scala +++ b/src/main/scala/li/cil/oc/common/block/Hologram.scala @@ -5,26 +5,27 @@ import java.util import cpw.mods.fml.common.Optional import cpw.mods.fml.relauncher.{Side, SideOnly} import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip import li.cil.oc.{Localization, Settings} import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} -import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.{EnumRarity, ItemStack} import net.minecraft.util.AxisAlignedBB import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection -abstract class Hologram(val parent: SpecialDelegator) extends SpecialDelegate { - val unlocalizedName = "Hologram" + tier +class Hologram(val parent: SpecialDelegator, val tier: Int) extends SpecialDelegate { + override val unlocalizedName = super.unlocalizedName + tier - def tier: Int + override protected def customTextures = Array( + None, + Some("HologramTop" + tier), + Some("HologramSide"), + Some("HologramSide"), + Some("HologramSide"), + Some("HologramSide") + ) override def rarity = Array(EnumRarity.uncommon, EnumRarity.rare).apply(tier) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - @Optional.Method(modid = "Waila") override def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { val node = accessor.getNBTData.getCompoundTag(Settings.namespace + "node") @@ -33,10 +34,6 @@ abstract class Hologram(val parent: SpecialDelegator) extends SpecialDelegate { } } - private val icons = Array.fill[Icon](6)(null) - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) - override def luminance(world: IBlockAccess, x: Int, y: Int, z: Int) = 15 override def isSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection) = side == ForgeDirection.DOWN @@ -53,31 +50,9 @@ abstract class Hologram(val parent: SpecialDelegator) extends SpecialDelegate { parent.setBlockBounds(AxisAlignedBB.getAABBPool.getAABB(0, 0, 0, 1, 0.5f, 1)) } - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":hologram_top" + tier) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":hologram_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } - // ----------------------------------------------------------------------- // override def hasTileEntity = true override def createTileEntity(world: World) = Some(new tileentity.Hologram(tier)) -} - -object Hologram { - - class Tier1(parent: SpecialDelegator) extends Hologram(parent) { - def tier = 0 - } - - class Tier2(parent: SpecialDelegator) extends Hologram(parent) { - def tier = 1 - } - } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/block/Keyboard.scala b/src/main/scala/li/cil/oc/common/block/Keyboard.scala index bb21a2f9f..72a0039dc 100644 --- a/src/main/scala/li/cil/oc/common/block/Keyboard.scala +++ b/src/main/scala/li/cil/oc/common/block/Keyboard.scala @@ -4,7 +4,6 @@ import java.util import cpw.mods.fml.common.Optional import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip import li.cil.oc.{Localization, Settings} import mcp.mobius.waila.api.{IWailaConfigHandler, IWailaDataAccessor} import net.minecraft.entity.player.EntityPlayer @@ -15,14 +14,8 @@ import net.minecraftforge.common.ForgeDirection import org.lwjgl.opengl.GL11 class Keyboard(val parent: SpecialDelegator) extends SpecialDelegate { - val unlocalizedName = "Keyboard" - var icon: Icon = null - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - @Optional.Method(modid = "Waila") override def wailaBody(stack: ItemStack, tooltip: util.List[String], accessor: IWailaDataAccessor, config: IWailaConfigHandler) { val node = accessor.getNBTData.getCompoundTag(Settings.namespace + "keyboard").getCompoundTag("node") diff --git a/src/main/scala/li/cil/oc/common/block/MotionSensor.scala b/src/main/scala/li/cil/oc/common/block/MotionSensor.scala index 6b68c024b..8a336307a 100644 --- a/src/main/scala/li/cil/oc/common/block/MotionSensor.scala +++ b/src/main/scala/li/cil/oc/common/block/MotionSensor.scala @@ -1,42 +1,21 @@ package li.cil.oc.common.block -import java.util - -import li.cil.oc.Settings import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.World -import net.minecraftforge.common.ForgeDirection class MotionSensor(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "MotionSensor" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":motion_sensor_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":motion_sensor_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } + override protected def customTextures = Array( + Some("MotionSensorTop"), + Some("MotionSensorTop"), + Some("MotionSensorSide"), + Some("MotionSensorSide"), + Some("MotionSensorSide"), + Some("MotionSensorSide") + ) // ----------------------------------------------------------------------- // override def hasTileEntity = true override def createTileEntity(world: World) = Some(new tileentity.MotionSensor) -} - +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/block/PowerConverter.scala b/src/main/scala/li/cil/oc/common/block/PowerConverter.scala index e8b1441db..ab1f7bd31 100644 --- a/src/main/scala/li/cil/oc/common/block/PowerConverter.scala +++ b/src/main/scala/li/cil/oc/common/block/PowerConverter.scala @@ -10,21 +10,25 @@ import li.cil.oc.util.mods.Mods import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.world.World -import net.minecraftforge.common.ForgeDirection class PowerConverter(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "PowerConverter" - showInItemList = !Settings.get.ignorePower - private val icons = Array.fill[Icon](6)(null) + override protected def customTextures = Array( + None, + None, + Some("PowerConverterSide"), + Some("PowerConverterSide"), + Some("PowerConverterSide"), + Some("PowerConverterSide") + ) private val formatter = new DecimalFormat("#.#") // ----------------------------------------------------------------------- // override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) + super.tooltipLines(stack, player, tooltip, advanced) def addExtension(x: Double) = if (x >= 1e9) formatter.format(x / 1e9) + "G" else if (x >= 1e6) formatter.format(x / 1e6) + "M" @@ -50,18 +54,6 @@ class PowerConverter(val parent: SimpleDelegator) extends SimpleDelegate { } } - override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":power_converter") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } - // ----------------------------------------------------------------------- // override def hasTileEntity = true diff --git a/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala b/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala index 394370fa9..f21c2f548 100644 --- a/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala +++ b/src/main/scala/li/cil/oc/common/block/PowerDistributor.scala @@ -1,40 +1,24 @@ package li.cil.oc.common.block -import java.util - import li.cil.oc.Settings import li.cil.oc.client.Textures import li.cil.oc.common.tileentity -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.{IBlockAccess, World} -import net.minecraftforge.common.ForgeDirection class PowerDistributor(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "PowerDistributor" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) + override protected def customTextures = Array( + None, + Some("PowerDistributorTop"), + Some("PowerDistributorSide"), + Some("PowerDistributorSide"), + Some("PowerDistributorSide"), + Some("PowerDistributorSide") + ) override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":power_distributor_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":power_distributor_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.PowerDistributor.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":power_distributor_side_on") - Textures.PowerDistributor.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":power_distributor_top_on") + super.registerIcons(iconRegister) + Textures.PowerDistributor.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":PowerDistributorSideOn") + Textures.PowerDistributor.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":PowerDistributorTopOn") } override def luminance(world: IBlockAccess, x: Int, y: Int, z: Int) = 5 diff --git a/src/main/scala/li/cil/oc/common/block/Redstone.scala b/src/main/scala/li/cil/oc/common/block/Redstone.scala index ce0bd6850..3a2ac2e75 100644 --- a/src/main/scala/li/cil/oc/common/block/Redstone.scala +++ b/src/main/scala/li/cil/oc/common/block/Redstone.scala @@ -2,22 +2,25 @@ package li.cil.oc.common.block import java.util -import li.cil.oc.Settings import li.cil.oc.common.tileentity import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.Mods import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.world.World -import net.minecraftforge.common.ForgeDirection class Redstone(val parent: SimpleDelegator) extends RedstoneAware with SimpleDelegate { - val unlocalizedName = "Redstone" - - private val icons = Array.fill[Icon](6)(null) + override protected def customTextures = Array( + Some("RedstoneTop"), + Some("RedstoneTop"), + Some("RedstoneSide"), + Some("RedstoneSide"), + Some("RedstoneSide"), + Some("RedstoneSide") + ) override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) + super.tooltipLines(stack, player, tooltip, advanced) if (Mods.RedLogic.isAvailable) { tooltip.addAll(Tooltip.get("RedstoneCard.RedLogic")) } @@ -26,17 +29,5 @@ class Redstone(val parent: SimpleDelegator) extends RedstoneAware with SimpleDel } } - override def icon(side: ForgeDirection) = Some(icons(side.ordinal())) - - override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":redstone_top") - icons(ForgeDirection.UP.ordinal) = icons(ForgeDirection.DOWN.ordinal) - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":redstone") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - } - override def createTileEntity(world: World) = Some(new tileentity.Redstone()) } diff --git a/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala b/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala index fc8b3a561..8a4fa10ac 100644 --- a/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala +++ b/src/main/scala/li/cil/oc/common/block/RobotAfterimage.scala @@ -10,8 +10,6 @@ import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection class RobotAfterimage(val parent: SpecialDelegator) extends SpecialDelegate { - val unlocalizedName = "RobotAfterimage" - showInItemList = false private var icon: Icon = _ diff --git a/src/main/scala/li/cil/oc/common/block/RobotAssembler.scala b/src/main/scala/li/cil/oc/common/block/RobotAssembler.scala index 0a50c48f8..257bee1fe 100644 --- a/src/main/scala/li/cil/oc/common/block/RobotAssembler.scala +++ b/src/main/scala/li/cil/oc/common/block/RobotAssembler.scala @@ -1,45 +1,31 @@ package li.cil.oc.common.block -import java.util - import li.cil.oc.client.Textures import li.cil.oc.common.{GuiType, tileentity} -import li.cil.oc.util.Tooltip import li.cil.oc.{OpenComputers, Settings} import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection class RobotAssembler(val parent: SpecialDelegator) extends SpecialDelegate { - val unlocalizedName = "RobotAssembler" - - private val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) + override protected def customTextures = Array( + None, + Some("AssemblerTop"), + Some("AssemblerSide"), + Some("AssemblerSide"), + Some("AssemblerSide"), + Some("AssemblerSide") + ) override def luminance(world: IBlockAccess, x: Int, y: Int, z: Int) = 5 override def isSolid(world: IBlockAccess, x: Int, y: Int, z: Int, side: ForgeDirection) = side == ForgeDirection.DOWN || side == ForgeDirection.UP override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":assembler_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":assembler_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.RobotAssembler.iconSideAssembling = iconRegister.registerIcon(Settings.resourceDomain + ":assembler_side_assembling") - Textures.RobotAssembler.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":assembler_side_on") - Textures.RobotAssembler.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":assembler_top_on") + super.registerIcons(iconRegister) + Textures.RobotAssembler.iconSideAssembling = iconRegister.registerIcon(Settings.resourceDomain + ":AssemblerSideAssembling") + Textures.RobotAssembler.iconSideOn = iconRegister.registerIcon(Settings.resourceDomain + ":AssemblerSideOn") + Textures.RobotAssembler.iconTopOn = iconRegister.registerIcon(Settings.resourceDomain + ":AssemblerTopOn") } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/RobotProxy.scala b/src/main/scala/li/cil/oc/common/block/RobotProxy.scala index 9ab03ec74..afebfa7d9 100644 --- a/src/main/scala/li/cil/oc/common/block/RobotProxy.scala +++ b/src/main/scala/li/cil/oc/common/block/RobotProxy.scala @@ -19,7 +19,7 @@ import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection class RobotProxy(val parent: SpecialDelegator) extends RedstoneAware with SpecialDelegate { - val unlocalizedName = "Robot" + override val unlocalizedName = "Robot" private var icon: Icon = _ @@ -35,7 +35,7 @@ class RobotProxy(val parent: SpecialDelegator) extends RedstoneAware with Specia override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { addLines(stack, tooltip) - tooltip.addAll(Tooltip.get(unlocalizedName)) + super.tooltipLines(stack, player, tooltip, advanced) if (KeyBindings.showExtendedTooltips) { val info = new ItemUtils.RobotData(stack) for (component <- info.containers ++ info.components) { diff --git a/src/main/scala/li/cil/oc/common/block/Screen.scala b/src/main/scala/li/cil/oc/common/block/Screen.scala index 3ac13b842..d84dfea03 100644 --- a/src/main/scala/li/cil/oc/common/block/Screen.scala +++ b/src/main/scala/li/cil/oc/common/block/Screen.scala @@ -16,11 +16,8 @@ import net.minecraft.item.{EnumRarity, ItemStack} import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection -abstract class Screen(val parent: SimpleDelegator) extends RedstoneAware with SimpleDelegate { - val baseName = "Screen" - val unlocalizedName = baseName + tier - - def tier: Int +class Screen(val parent: SimpleDelegator, val tier: Int) extends RedstoneAware with SimpleDelegate { + override val unlocalizedName = super.unlocalizedName + tier override def rarity = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare).apply(tier) @@ -30,7 +27,7 @@ abstract class Screen(val parent: SimpleDelegator) extends RedstoneAware with Si override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { val (w, h) = Settings.screenResolutionsByTier(tier) val depth = PackedColor.Depth.bits(Settings.screenDepthsByTier(tier)) - tooltip.addAll(Tooltip.get(baseName, w, h, depth)) + tooltip.addAll(Tooltip.get(super.unlocalizedName, w, h, depth)) } @Optional.Method(modid = "Waila") @@ -362,20 +359,4 @@ abstract class Screen(val parent: SimpleDelegator) extends RedstoneAware with Si } case _ => super.validRotations(world, x, y, z) } -} - -object Screen { - - class Tier1(parent: SimpleDelegator) extends Screen(parent) { - def tier = 0 - } - - class Tier2(parent: SimpleDelegator) extends Screen(parent) { - def tier = 1 - } - - class Tier3(parent: SimpleDelegator) extends Screen(parent) { - def tier = 2 - } - -} +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/block/Rack.scala b/src/main/scala/li/cil/oc/common/block/ServerRack.scala similarity index 54% rename from src/main/scala/li/cil/oc/common/block/Rack.scala rename to src/main/scala/li/cil/oc/common/block/ServerRack.scala index 6d3612105..890fbcad3 100644 --- a/src/main/scala/li/cil/oc/common/block/Rack.scala +++ b/src/main/scala/li/cil/oc/common/block/ServerRack.scala @@ -1,42 +1,32 @@ package li.cil.oc.common.block -import java.util - import cpw.mods.fml.relauncher.{Side, SideOnly} +import li.cil.oc.OpenComputers import li.cil.oc.client.Textures import li.cil.oc.common.{GuiType, tileentity} -import li.cil.oc.util.Tooltip -import li.cil.oc.{OpenComputers, Settings} import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.{IBlockAccess, World} import net.minecraftforge.common.ForgeDirection -class Rack(val parent: SpecialDelegator) extends RedstoneAware with SpecialDelegate { - val unlocalizedName = "ServerRack" - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(Textures.Rack.icons(side.ordinal)) +class ServerRack(val parent: SpecialDelegator) extends RedstoneAware with SpecialDelegate { + override protected def customTextures = Array( + None, + None, + Some("ServerRackSide"), + Some("ServerRackFront"), + Some("ServerRackSide"), + Some("ServerRackSide") + ) override def registerIcons(iconRegister: IconRegister) = { - Textures.Rack.icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - Textures.Rack.icons(ForgeDirection.UP.ordinal) = Textures.Rack.icons(ForgeDirection.DOWN.ordinal) - - Textures.Rack.icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":rack_side") - Textures.Rack.icons(ForgeDirection.SOUTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":rack_front") - Textures.Rack.icons(ForgeDirection.WEST.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":rack_side") - Textures.Rack.icons(ForgeDirection.EAST.ordinal) = Textures.Rack.icons(ForgeDirection.WEST.ordinal) + super.registerIcons(iconRegister) + System.arraycopy(icons, 0, Textures.Rack.icons, 0, icons.length) } @SideOnly(Side.CLIENT) override def mixedBrightness(world: IBlockAccess, x: Int, y: Int, z: Int) = { world.getBlockTileEntity(x, y, z) match { - case rack: tileentity.Rack => + case rack: tileentity.ServerRack => def brightness(x: Int, y: Int, z: Int) = world.getLightBrightnessForSkyBlocks(x, y, z, parent.getLightValue(world, x, y, z)) val value = brightness(x + rack.facing.offsetX, y + rack.facing.offsetY, z + rack.facing.offsetZ) val skyBrightness = (value >> 20) & 15 @@ -50,7 +40,7 @@ class Rack(val parent: SpecialDelegator) extends RedstoneAware with SpecialDeleg override def hasTileEntity = true - override def createTileEntity(world: World) = Some(new tileentity.Rack) + override def createTileEntity(world: World) = Some(new tileentity.ServerRack) // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/block/Switch.scala b/src/main/scala/li/cil/oc/common/block/Switch.scala index bee374a98..1995ee739 100644 --- a/src/main/scala/li/cil/oc/common/block/Switch.scala +++ b/src/main/scala/li/cil/oc/common/block/Switch.scala @@ -1,39 +1,25 @@ package li.cil.oc.common.block -import java.util - import li.cil.oc.client.Textures import li.cil.oc.common.{GuiType, tileentity} -import li.cil.oc.util.Tooltip import li.cil.oc.{OpenComputers, Settings} import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack import net.minecraft.world.World import net.minecraftforge.common.ForgeDirection class Switch(val parent: SimpleDelegator) extends SimpleDelegate { - val unlocalizedName = "Switch" - - protected val icons = Array.fill[Icon](6)(null) - - // ----------------------------------------------------------------------- // - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - } - - override def icon(side: ForgeDirection) = Some(icons(side.ordinal)) + override protected def customTextures = Array( + None, + Some("SwitchTop"), + Some("SwitchSide"), + Some("SwitchSide"), + Some("SwitchSide"), + Some("SwitchSide") + ) override def registerIcons(iconRegister: IconRegister) = { - icons(ForgeDirection.DOWN.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":generic_top") - icons(ForgeDirection.UP.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":switch_top") - - icons(ForgeDirection.NORTH.ordinal) = iconRegister.registerIcon(Settings.resourceDomain + ":switch_side") - icons(ForgeDirection.SOUTH.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.WEST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - icons(ForgeDirection.EAST.ordinal) = icons(ForgeDirection.NORTH.ordinal) - - Textures.Switch.iconSideActivity = iconRegister.registerIcon(Settings.resourceDomain + ":switch_side_active") + super.registerIcons(iconRegister) + Textures.Switch.iconSideActivity = iconRegister.registerIcon(Settings.resourceDomain + ":SwitchSideOn") } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/component/Terminal.scala b/src/main/scala/li/cil/oc/common/component/Terminal.scala index ce05dce5d..2885664ca 100644 --- a/src/main/scala/li/cil/oc/common/component/Terminal.scala +++ b/src/main/scala/li/cil/oc/common/component/Terminal.scala @@ -11,7 +11,7 @@ import net.minecraft.nbt.{NBTTagCompound, NBTTagString} import scala.collection.mutable -class Terminal(val rack: tileentity.Rack, val number: Int) { +class Terminal(val rack: tileentity.ServerRack, val number: Int) { val buffer = { val screenItem = api.Items.get("screen1").createItemStack(1) val buffer = api.Driver.driverFor(screenItem).createEnvironment(screenItem, rack).asInstanceOf[api.component.TextBuffer] diff --git a/src/main/scala/li/cil/oc/common/container/Rack.scala b/src/main/scala/li/cil/oc/common/container/Rack.scala index f095eb689..0bd2b7228 100644 --- a/src/main/scala/li/cil/oc/common/container/Rack.scala +++ b/src/main/scala/li/cil/oc/common/container/Rack.scala @@ -3,7 +3,7 @@ package li.cil.oc.common.container import li.cil.oc.common.tileentity import net.minecraft.entity.player.InventoryPlayer -class Rack(playerInventory: InventoryPlayer, rack: tileentity.Rack) extends Player(playerInventory, rack) { +class Rack(playerInventory: InventoryPlayer, rack: tileentity.ServerRack) extends Player(playerInventory, rack) { addSlotToContainer(106, 8) addSlotToContainer(106, 26) addSlotToContainer(106, 44) diff --git a/src/main/scala/li/cil/oc/common/item/ALU.scala b/src/main/scala/li/cil/oc/common/item/ALU.scala index ac4342493..25f724b42 100644 --- a/src/main/scala/li/cil/oc/common/item/ALU.scala +++ b/src/main/scala/li/cil/oc/common/item/ALU.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class ALU(val parent: Delegator) extends Delegate { - val unlocalizedName = "ALU" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":alu") - } -} +class ALU(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala b/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala index 1438f0359..1a7e55e06 100644 --- a/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala +++ b/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala @@ -1,26 +1,7 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.Mods -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack class AbstractBusCard(val parent: Delegator) extends Delegate { - val unlocalizedName = "AbstractBusCard" - showInItemList = Mods.StargateTech2.isAvailable - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_abstract_bus") - } } diff --git a/src/main/scala/li/cil/oc/common/item/Acid.scala b/src/main/scala/li/cil/oc/common/item/Acid.scala index 1c259883a..a586c3843 100644 --- a/src/main/scala/li/cil/oc/common/item/Acid.scala +++ b/src/main/scala/li/cil/oc/common/item/Acid.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class Acid(val parent: Delegator) extends Delegate { - val unlocalizedName = "Acid" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":grog") - } -} +class Acid(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/Analyzer.scala b/src/main/scala/li/cil/oc/common/item/Analyzer.scala index d535d3f49..d0540ab83 100644 --- a/src/main/scala/li/cil/oc/common/item/Analyzer.scala +++ b/src/main/scala/li/cil/oc/common/item/Analyzer.scala @@ -1,24 +1,14 @@ package li.cil.oc.common.item -import java.util - +import li.cil.oc.Localization import li.cil.oc.api.network._ import li.cil.oc.server.PacketSender -import li.cil.oc.util.Tooltip -import li.cil.oc.{Localization, Settings} import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} import net.minecraft.item.ItemStack import net.minecraft.world.World import net.minecraftforge.common.ForgeDirection class Analyzer(val parent: Delegator) extends Delegate { - val unlocalizedName = "Analyzer" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - override def onItemUse(stack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) = { player match { case realPlayer: EntityPlayerMP => @@ -64,10 +54,4 @@ class Analyzer(val parent: Delegator) extends Delegate { PacketSender.sendAnalyze(address, player) } } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":analyzer") - } } diff --git a/src/main/scala/li/cil/oc/common/item/ArrowKeys.scala b/src/main/scala/li/cil/oc/common/item/ArrowKeys.scala index 535004a7a..0a1a2e592 100644 --- a/src/main/scala/li/cil/oc/common/item/ArrowKeys.scala +++ b/src/main/scala/li/cil/oc/common/item/ArrowKeys.scala @@ -1,13 +1,5 @@ package li.cil.oc.common.item -import li.cil.oc.Settings - class ArrowKeys(val parent: Delegator) extends Delegate { - val unlocalizedName = "ArrowKeys" - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":keys_arrow") - } + override protected def tooltipName = None } diff --git a/src/main/scala/li/cil/oc/common/item/ButtonGroup.scala b/src/main/scala/li/cil/oc/common/item/ButtonGroup.scala index 27e53c51e..9974e5a25 100644 --- a/src/main/scala/li/cil/oc/common/item/ButtonGroup.scala +++ b/src/main/scala/li/cil/oc/common/item/ButtonGroup.scala @@ -1,13 +1,5 @@ package li.cil.oc.common.item -import li.cil.oc.Settings - class ButtonGroup(val parent: Delegator) extends Delegate { - val unlocalizedName = "ButtonGroup" - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":keys_group") - } + override protected def tooltipName = None } diff --git a/src/main/scala/li/cil/oc/common/item/CPU.scala b/src/main/scala/li/cil/oc/common/item/CPU.scala index 676832866..e78e19dcd 100644 --- a/src/main/scala/li/cil/oc/common/item/CPU.scala +++ b/src/main/scala/li/cil/oc/common/item/CPU.scala @@ -1,24 +1,11 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack class CPU(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "CPU" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName, Settings.get.cpuComponentSupport(tier))) - super.tooltipLines(stack, player, tooltip, advanced) - } + override protected def tooltipName = Option(super.unlocalizedName) - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":cpu" + tier) - } + override protected def tooltipData = Seq(Settings.get.cpuComponentSupport(tier)) } diff --git a/src/main/scala/li/cil/oc/common/item/CardBase.scala b/src/main/scala/li/cil/oc/common/item/CardBase.scala index 667ac591d..e7d5b0f0b 100644 --- a/src/main/scala/li/cil/oc/common/item/CardBase.scala +++ b/src/main/scala/li/cil/oc/common/item/CardBase.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class CardBase(val parent: Delegator) extends Delegate { - val unlocalizedName = "CardBase" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card") - } -} +class CardBase(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/CircuitBoard.scala b/src/main/scala/li/cil/oc/common/item/CircuitBoard.scala index 3f5b3306e..6eb48b9f3 100644 --- a/src/main/scala/li/cil/oc/common/item/CircuitBoard.scala +++ b/src/main/scala/li/cil/oc/common/item/CircuitBoard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class CircuitBoard(val parent: Delegator) extends Delegate { - val unlocalizedName = "CircuitBoard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":circuit_board") - } -} +class CircuitBoard(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/ControlUnit.scala b/src/main/scala/li/cil/oc/common/item/ControlUnit.scala index ed2494da8..72ff0c574 100644 --- a/src/main/scala/li/cil/oc/common/item/ControlUnit.scala +++ b/src/main/scala/li/cil/oc/common/item/ControlUnit.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class ControlUnit(val parent: Delegator) extends Delegate { - val unlocalizedName = "ControlUnit" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":cu") - } -} +class ControlUnit(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/CuttingWire.scala b/src/main/scala/li/cil/oc/common/item/CuttingWire.scala index 54f47eabf..ed85025f4 100644 --- a/src/main/scala/li/cil/oc/common/item/CuttingWire.scala +++ b/src/main/scala/li/cil/oc/common/item/CuttingWire.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class CuttingWire(val parent: Delegator) extends Delegate { - val unlocalizedName = "CuttingWire" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":cutting_wire") - } -} +class CuttingWire(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/Delegate.scala b/src/main/scala/li/cil/oc/common/item/Delegate.scala index e8129af5e..d18e1edf7 100644 --- a/src/main/scala/li/cil/oc/common/item/Delegate.scala +++ b/src/main/scala/li/cil/oc/common/item/Delegate.scala @@ -4,7 +4,7 @@ import java.util import cpw.mods.fml.relauncher.{Side, SideOnly} import li.cil.oc.client.KeyBindings -import li.cil.oc.util.{ItemCosts, Rarity} +import li.cil.oc.util.{ItemCosts, Rarity, Tooltip} import li.cil.oc.{Settings, api} import net.minecraft.entity.Entity import net.minecraft.entity.player.EntityPlayer @@ -19,7 +19,11 @@ trait Delegate { val parent: Delegator - val unlocalizedName: String + def unlocalizedName = getClass.getSimpleName + + protected def tooltipName = Option(unlocalizedName) + + protected def tooltipData = Seq.empty[Any] var showInItemList = true @@ -67,6 +71,13 @@ trait Delegate { @SideOnly(Side.CLIENT) def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) { + if (tooltipName.isDefined) { + tooltip.addAll(Tooltip.get(tooltipName.get, tooltipData: _*)) + } + tooltipCosts(stack, tooltip) + } + + protected def tooltipCosts(stack: ItemStack, tooltip: java.util.List[String]) { if (ItemCosts.hasCosts(stack)) { if (KeyBindings.showMaterialCosts) { ItemCosts.addTooltip(stack, tooltip.asInstanceOf[util.List[String]]) @@ -101,7 +112,9 @@ trait Delegate { def icon(stack: ItemStack, pass: Int): Option[Icon] = icon @SideOnly(Side.CLIENT) - def registerIcons(iconRegister: IconRegister) {} + def registerIcons(iconRegister: IconRegister) { + icon = iconRegister.registerIcon(Settings.resourceDomain + ":" + unlocalizedName) + } // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/item/Disk.scala b/src/main/scala/li/cil/oc/common/item/Disk.scala index 9000e2476..b30d25129 100644 --- a/src/main/scala/li/cil/oc/common/item/Disk.scala +++ b/src/main/scala/li/cil/oc/common/item/Disk.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class Disk(val parent: Delegator) extends Delegate { - val unlocalizedName = "Disk" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":disk") - } -} +class Disk(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala b/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala index 786062dbf..3fa51ddc4 100644 --- a/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala +++ b/src/main/scala/li/cil/oc/common/item/FloppyDisk.scala @@ -4,11 +4,15 @@ import java.util import cpw.mods.fml.relauncher.{Side, SideOnly} import li.cil.oc.Settings +import li.cil.oc.util.Color import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class FloppyDisk(val parent: Delegator) extends Delegate { - val unlocalizedName = "FloppyDisk" + // Necessary for anonymous subclasses used for loot disks. + override def unlocalizedName = "FloppyDisk" + + override protected def tooltipName = None val icons = Array.fill[Icon](16)(null) @@ -30,23 +34,10 @@ class FloppyDisk(val parent: Delegator) extends Delegate { } override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icons(0) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_black") - icons(1) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_red") - icons(2) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_green") - icons(3) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_brown") - icons(4) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_blue") - icons(5) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_purple") - icons(6) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_cyan") - icons(7) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_lightGray") - icons(8) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_gray") - icons(9) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_pink") - icons(10) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_lime") - icons(11) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_yellow") - icons(12) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_lightBlue") - icons(13) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_magenta") - icons(14) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_orange") - icons(15) = iconRegister.registerIcon(Settings.resourceDomain + ":floppy_white") + val baseTextureName = Settings.resourceDomain + ":" + unlocalizedName + "_" + Color.dyes.zipWithIndex.foreach { + case (color, index) => + icons(index) = iconRegister.registerIcon(baseTextureName + color) + } } } diff --git a/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala b/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala index 060a92cca..aca985159 100644 --- a/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala +++ b/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala @@ -1,32 +1,21 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.{PackedColor, Tooltip} -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack +import li.cil.oc.util.PackedColor class GraphicsCard(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "GraphicsCard" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { + override protected def tooltipName = Option(super.unlocalizedName) + + override protected def tooltipData = { val (w, h) = Settings.screenResolutionsByTier(tier) val depth = PackedColor.Depth.bits(Settings.screenDepthsByTier(tier)) - tooltip.addAll(Tooltip.get(baseName, - w, h, depth, + Seq(w, h, depth, tier match { case 0 => "1/1/4/2/2" case 1 => "2/4/8/4/4" case 2 => "4/8/16/8/8" - })) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_graphics" + tier) + }) } } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala b/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala index a9cd05d28..2cb8895f9 100644 --- a/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala +++ b/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala @@ -7,11 +7,11 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class HardDiskDrive(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "HardDiskDrive" - val unlocalizedName = baseName + tier - + override val unlocalizedName = super.unlocalizedName + tier val kiloBytes = Settings.get.hddSizes(tier) + override protected def tooltipName = None + override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) = { if (stack.hasTagCompound) { val nbt = stack.getTagCompound @@ -41,10 +41,4 @@ class HardDiskDrive(val parent: Delegator, val tier: Int) extends Delegate { localizedName + " (%dKB)".format(kiloBytes) }) } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":disk_harddrive" + tier) - } } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/InternetCard.scala b/src/main/scala/li/cil/oc/common/item/InternetCard.scala index 5fc8328e6..c2379040b 100644 --- a/src/main/scala/li/cil/oc/common/item/InternetCard.scala +++ b/src/main/scala/li/cil/oc/common/item/InternetCard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class InternetCard(val parent: Delegator) extends Delegate { - val unlocalizedName = "InternetCard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_internet") - } -} +class InternetCard(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/Interweb.scala b/src/main/scala/li/cil/oc/common/item/Interweb.scala index 8bd464d16..4b1d2c926 100644 --- a/src/main/scala/li/cil/oc/common/item/Interweb.scala +++ b/src/main/scala/li/cil/oc/common/item/Interweb.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class Interweb(val parent: Delegator) extends Delegate { - val unlocalizedName = "Interweb" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":interweb") - } -} +class Interweb(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/IronNugget.scala b/src/main/scala/li/cil/oc/common/item/IronNugget.scala index 7ba419b2b..272b2d083 100644 --- a/src/main/scala/li/cil/oc/common/item/IronNugget.scala +++ b/src/main/scala/li/cil/oc/common/item/IronNugget.scala @@ -1,26 +1,7 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.Mods -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack class IronNugget(val parent: Delegator) extends Delegate { - val unlocalizedName = "IronNugget" - showInItemList = !Mods.GregTech.isAvailable - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":iron_nugget") - } } diff --git a/src/main/scala/li/cil/oc/common/item/LinkedCard.scala b/src/main/scala/li/cil/oc/common/item/LinkedCard.scala index 7c36513e9..5295d82cf 100644 --- a/src/main/scala/li/cil/oc/common/item/LinkedCard.scala +++ b/src/main/scala/li/cil/oc/common/item/LinkedCard.scala @@ -8,8 +8,6 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class LinkedCard(val parent: Delegator) extends Delegate { - val unlocalizedName = "LinkedCard" - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { if (stack.hasTagCompound && stack.getTagCompound.hasKey(Settings.namespace + "data")) { val data = stack.getTagCompound.getCompoundTag(Settings.namespace + "data") @@ -23,13 +21,6 @@ class LinkedCard(val parent: Delegator) extends Delegate { } } } - tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_linked") - } } diff --git a/src/main/scala/li/cil/oc/common/item/Memory.scala b/src/main/scala/li/cil/oc/common/item/Memory.scala index 9c66b2bf1..f565e3f41 100644 --- a/src/main/scala/li/cil/oc/common/item/Memory.scala +++ b/src/main/scala/li/cil/oc/common/item/Memory.scala @@ -1,29 +1,14 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class Memory(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "Memory" - val unlocalizedName = baseName + tier - + override val unlocalizedName = super.unlocalizedName + tier val kiloBytes = Settings.get.ramSizes(tier) + override protected def tooltipName = Option(super.unlocalizedName) + override def displayName(stack: ItemStack) = Some(parent.getItemStackDisplayName(stack) + " (%dKB)".format(kiloBytes)) - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":memory" + tier) - } } diff --git a/src/main/scala/li/cil/oc/common/item/Microchip.scala b/src/main/scala/li/cil/oc/common/item/Microchip.scala index 10d8cb5d2..7e18e4967 100644 --- a/src/main/scala/li/cil/oc/common/item/Microchip.scala +++ b/src/main/scala/li/cil/oc/common/item/Microchip.scala @@ -1,26 +1,11 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.{Rarity, Tooltip} -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack +import li.cil.oc.util.Rarity class Microchip(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "Microchip" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier + + override protected def tooltipName = Option(super.unlocalizedName) override def rarity = Rarity.byTier(tier) - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":microchip" + tier) - } } diff --git a/src/main/scala/li/cil/oc/common/item/NetworkCard.scala b/src/main/scala/li/cil/oc/common/item/NetworkCard.scala index 9055e368a..ff10be91d 100644 --- a/src/main/scala/li/cil/oc/common/item/NetworkCard.scala +++ b/src/main/scala/li/cil/oc/common/item/NetworkCard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class NetworkCard(val parent: Delegator) extends Delegate { - val unlocalizedName = "NetworkCard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_lan") - } -} +class NetworkCard(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/NumPad.scala b/src/main/scala/li/cil/oc/common/item/NumPad.scala new file mode 100644 index 000000000..eb7303199 --- /dev/null +++ b/src/main/scala/li/cil/oc/common/item/NumPad.scala @@ -0,0 +1,5 @@ +package li.cil.oc.common.item + +class NumPad(val parent: Delegator) extends Delegate { + override protected def tooltipName = None +} diff --git a/src/main/scala/li/cil/oc/common/item/Numpad.scala b/src/main/scala/li/cil/oc/common/item/Numpad.scala deleted file mode 100644 index e14aea79e..000000000 --- a/src/main/scala/li/cil/oc/common/item/Numpad.scala +++ /dev/null @@ -1,13 +0,0 @@ -package li.cil.oc.common.item - -import li.cil.oc.Settings - -class NumPad(val parent: Delegator) extends Delegate { - val unlocalizedName = "NumPad" - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":keys_numpad") - } -} diff --git a/src/main/scala/li/cil/oc/common/item/PrintedCircuitBoard.scala b/src/main/scala/li/cil/oc/common/item/PrintedCircuitBoard.scala index 7b2632326..0e7072e5d 100644 --- a/src/main/scala/li/cil/oc/common/item/PrintedCircuitBoard.scala +++ b/src/main/scala/li/cil/oc/common/item/PrintedCircuitBoard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class PrintedCircuitBoard(val parent: Delegator) extends Delegate { - val unlocalizedName = "PrintedCircuitBoard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":circuit_board_printed") - } -} +class PrintedCircuitBoard(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/RawCircuitBoard.scala b/src/main/scala/li/cil/oc/common/item/RawCircuitBoard.scala index 2d35dac0f..fe74a2c92 100644 --- a/src/main/scala/li/cil/oc/common/item/RawCircuitBoard.scala +++ b/src/main/scala/li/cil/oc/common/item/RawCircuitBoard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class RawCircuitBoard(val parent: Delegator) extends Delegate { - val unlocalizedName = "RawCircuitBoard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":circuit_board_raw") - } -} +class RawCircuitBoard(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala b/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala index a60f7af0d..85f09742a 100644 --- a/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala +++ b/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala @@ -2,7 +2,6 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.Settings import li.cil.oc.common.InventorySlots.Tier import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.{BundledRedstone, Mods, WirelessRedstone} @@ -10,36 +9,29 @@ import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class RedstoneCard(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "RedstoneCard" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier showInItemList = tier == Tier.One || BundledRedstone.isAvailable || WirelessRedstone.isAvailable override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName)) + tooltip.addAll(Tooltip.get(super.unlocalizedName)) if (tier == Tier.Two) { if (Mods.ProjectRed.isAvailable) { - tooltip.addAll(Tooltip.get(baseName + ".ProjectRed")) + tooltip.addAll(Tooltip.get(super.unlocalizedName + ".ProjectRed")) } if (Mods.RedLogic.isAvailable) { - tooltip.addAll(Tooltip.get(baseName + ".RedLogic")) + tooltip.addAll(Tooltip.get(super.unlocalizedName + ".RedLogic")) } if (Mods.MineFactoryReloaded.isAvailable) { - tooltip.addAll(Tooltip.get(baseName + ".RedNet")) + tooltip.addAll(Tooltip.get(super.unlocalizedName + ".RedNet")) } if (Mods.WirelessRedstoneCBE.isAvailable) { - tooltip.addAll(Tooltip.get(baseName + ".WirelessCBE")) + tooltip.addAll(Tooltip.get(super.unlocalizedName + ".WirelessCBE")) } if (Mods.WirelessRedstoneSV.isAvailable) { - tooltip.addAll(Tooltip.get(baseName + ".WirelessSV")) + tooltip.addAll(Tooltip.get(super.unlocalizedName + ".WirelessSV")) } } - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_redstone" + tier) + tooltipCosts(stack, tooltip) } } diff --git a/src/main/scala/li/cil/oc/common/item/Server.scala b/src/main/scala/li/cil/oc/common/item/Server.scala index 8a17288cc..0e903d45b 100644 --- a/src/main/scala/li/cil/oc/common/item/Server.scala +++ b/src/main/scala/li/cil/oc/common/item/Server.scala @@ -13,8 +13,7 @@ import net.minecraft.world.World import scala.collection.mutable class Server(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "Server" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier override def rarity = Rarity.byTier(tier) @@ -27,7 +26,7 @@ class Server(val parent: Delegator, val tier: Int) extends Delegate { } override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName, Settings.get.terminalsPerTier(tier))) + tooltip.addAll(Tooltip.get(super.unlocalizedName, Settings.get.terminalsPerTier(tier))) HelperInventory.container = stack HelperInventory.reinitialize() val items = mutable.Map.empty[String, Int] @@ -41,13 +40,7 @@ class Server(val parent: Delegator, val tier: Int) extends Delegate { tooltip.add("- " + items(itemName) + "x " + itemName) } } - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":server" + tier) + tooltipCosts(stack, tooltip) } override def onItemRightClick(stack: ItemStack, world: World, player: EntityPlayer) = { diff --git a/src/main/scala/li/cil/oc/common/item/Tablet.scala b/src/main/scala/li/cil/oc/common/item/Tablet.scala index f6fac379a..40d5c61d3 100644 --- a/src/main/scala/li/cil/oc/common/item/Tablet.scala +++ b/src/main/scala/li/cil/oc/common/item/Tablet.scala @@ -22,16 +22,8 @@ import net.minecraftforge.event.ForgeSubscribe import net.minecraftforge.event.world.WorldEvent class Tablet(val parent: Delegator) extends Delegate { - val unlocalizedName = "Tablet" - override def maxStackSize = 1 - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon_=(iconRegister.registerIcon(Settings.resourceDomain + ":tablet")) - } - override def update(stack: ItemStack, world: World, player: Entity, slot: Int, selected: Boolean) = Tablet.get(stack, player).update(world, player, slot, selected) diff --git a/src/main/scala/li/cil/oc/common/item/Terminal.scala b/src/main/scala/li/cil/oc/common/item/Terminal.scala index cdc1a9e49..066291e56 100644 --- a/src/main/scala/li/cil/oc/common/item/Terminal.scala +++ b/src/main/scala/li/cil/oc/common/item/Terminal.scala @@ -6,7 +6,6 @@ import java.util.UUID import cpw.mods.fml.relauncher.{Side, SideOnly} import li.cil.oc.common.{GuiType, tileentity} import li.cil.oc.server.{PacketSender => ServerPacketSender} -import li.cil.oc.util.Tooltip import li.cil.oc.{OpenComputers, Settings} import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -14,8 +13,6 @@ import net.minecraft.nbt.NBTTagCompound import net.minecraft.world.World class Terminal(val parent: Delegator) extends Delegate { - val unlocalizedName = "Terminal" - override def maxStackSize = 1 private var iconOn: Option[Icon] = None @@ -25,7 +22,6 @@ class Terminal(val parent: Delegator) extends Delegate { @SideOnly(Side.CLIENT) override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) if (hasServer(stack)) { val server = stack.getTagCompound.getString(Settings.namespace + "server") @@ -41,15 +37,13 @@ class Terminal(val parent: Delegator) extends Delegate { override def registerIcons(iconRegister: IconRegister) = { super.registerIcons(iconRegister) - icon_=(iconRegister.registerIcon(Settings.resourceDomain + ":terminal")) - - iconOn = Option(iconRegister.registerIcon(Settings.resourceDomain + ":terminal_on")) - iconOff = Option(iconRegister.registerIcon(Settings.resourceDomain + ":terminal_off")) + iconOn = Option(iconRegister.registerIcon(Settings.resourceDomain + ":TerminalOn")) + iconOff = Option(iconRegister.registerIcon(Settings.resourceDomain + ":TerminalOff")) } override def onItemUse(stack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) = { world.getBlockTileEntity(x, y, z) match { - case rack: tileentity.Rack if side == rack.facing.ordinal() => + case rack: tileentity.ServerRack if side == rack.facing.ordinal() => val l = 2 / 16.0 val h = 14 / 16.0 val slot = (((1 - hitY) - l) / (h - l) * 4).toInt diff --git a/src/main/scala/li/cil/oc/common/item/Transistor.scala b/src/main/scala/li/cil/oc/common/item/Transistor.scala index 41448a279..14e8c8390 100644 --- a/src/main/scala/li/cil/oc/common/item/Transistor.scala +++ b/src/main/scala/li/cil/oc/common/item/Transistor.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class Transistor(val parent: Delegator) extends Delegate { - val unlocalizedName = "Transistor" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":transistor") - } -} +class Transistor(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala b/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala index cf6c5cdb4..709a0431a 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeAngel(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeAngel" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_angel") - } -} +class UpgradeAngel(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala b/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala index c19337180..ee3925009 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala @@ -1,20 +1,14 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack class UpgradeBattery(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "UpgradeBattery" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName, Settings.get.bufferCapacitorUpgrades(tier).toInt)) - super.tooltipLines(stack, player, tooltip, advanced) - } + override protected def tooltipName = Option(super.unlocalizedName) + + override protected def tooltipData = Seq(Settings.get.bufferCapacitorUpgrades(tier).toInt) override def isDamageable = true @@ -28,10 +22,4 @@ class UpgradeBattery(val parent: Delegator, val tier: Int) extends Delegate { } override def maxDamage(stack: ItemStack) = 100 - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_battery" + tier) - } } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala b/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala index 11e79d5a9..79a039521 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala @@ -1,21 +1,3 @@ package li.cil.oc.common.item -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeChunkloader(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeChunkloader" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_chunkloader") - } -} +class UpgradeChunkloader(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala b/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala index 91427125a..16c924b4c 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala @@ -1,24 +1,9 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - class UpgradeContainerCard(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "UpgradeContainerCard" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName, tier + 1)) - super.tooltipLines(stack, player, tooltip, advanced) - } + override protected def tooltipName = Option(super.unlocalizedName) - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":container_card" + tier) - } + override protected def tooltipData = Seq(tier + 1) } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala b/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala index a59b2ea12..e510a5ec9 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala @@ -1,24 +1,9 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - class UpgradeContainerUpgrade(val parent: Delegator, val tier: Int) extends Delegate { - val baseName = "UpgradeContainerUpgrade" - val unlocalizedName = baseName + tier + override val unlocalizedName = super.unlocalizedName + tier - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(baseName, tier + 1)) - super.tooltipLines(stack, player, tooltip, advanced) - } + override protected def tooltipName = Option(super.unlocalizedName) - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":container_upgrade" + tier) - } + override protected def tooltipData = Seq(tier + 1) } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala b/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala index 03a91a1b5..cedc1d778 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeCrafting(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeCrafting" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_crafting") - } -} +class UpgradeCrafting(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala b/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala index 5cc2febb7..cf20bcad4 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeExperience(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeExperience" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_experience") - } -} +class UpgradeExperience(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala b/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala index 4686031f0..030af591e 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala @@ -1,23 +1,7 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack class UpgradeGenerator(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeGenerator" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.generatorEfficiency * 100).toInt)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_generator") - } + override protected def tooltipData = Seq((Settings.get.generatorEfficiency * 100).toInt) } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala b/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala index fd71149c9..55e6e3bdb 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeInventory(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeInventory" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_inventory") - } -} +class UpgradeInventory(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala b/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala index cd7927652..33db053e0 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeInventoryController(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeInventoryController" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_inventory_controller") - } -} +class UpgradeInventoryController(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala b/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala index 7944c4fda..3e1ab185d 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeNavigation(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeNavigation" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_navigation") - } -} +class UpgradeNavigation(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala b/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala index d6db4b9f1..4e6ef07f2 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeSign(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeSign" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_sign") - } -} +class UpgradeSign(val parent: Delegator) extends Delegate diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala b/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala index b45da6216..b9813da01 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala @@ -1,23 +1,7 @@ package li.cil.oc.common.item -import java.util - import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack class UpgradeSolarGenerator(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeSolarGenerator" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.solarGeneratorEfficiency * 100).toInt)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_solar_generator") - } + override protected def tooltipData = Seq((Settings.get.solarGeneratorEfficiency * 100).toInt) } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeTractorBeam.scala b/src/main/scala/li/cil/oc/common/item/UpgradeTractorBeam.scala index 928cf3df3..635c54ad5 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeTractorBeam.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeTractorBeam.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class UpgradeTractorBeam(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeTractorBeam" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_tractor_beam") - } -} +class UpgradeTractorBeam(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala b/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala index 9884178d6..b5b36e07e 100644 --- a/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala +++ b/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala @@ -1,23 +1,3 @@ package li.cil.oc.common.item -import java.util - -import li.cil.oc.Settings -import li.cil.oc.util.Tooltip -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -class WirelessNetworkCard(val parent: Delegator) extends Delegate { - val unlocalizedName = "WirelessNetworkCard" - - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) - super.tooltipLines(stack, player, tooltip, advanced) - } - - override def registerIcons(iconRegister: IconRegister) = { - super.registerIcons(iconRegister) - - icon = iconRegister.registerIcon(Settings.resourceDomain + ":card_wlan") - } -} +class WirelessNetworkCard(val parent: Delegator) extends Delegate \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/common/tileentity/Rack.scala b/src/main/scala/li/cil/oc/common/tileentity/ServerRack.scala similarity index 97% rename from src/main/scala/li/cil/oc/common/tileentity/Rack.scala rename to src/main/scala/li/cil/oc/common/tileentity/ServerRack.scala index 11f6c1b56..a3641e71c 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/Rack.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/ServerRack.scala @@ -22,7 +22,7 @@ import scala.collection.mutable // See AbstractBusAware as to why we have to define the IBusDevice here. @Optional.Interface(iface = "stargatetech2.api.bus.IBusDevice", modid = "StargateTech2") -class Rack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalancer with traits.Inventory with traits.Rotatable with traits.BundledRedstoneAware with traits.AbstractBusAware with Analyzable with IBusDevice { +class ServerRack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalancer with traits.Inventory with traits.Rotatable with traits.BundledRedstoneAware with traits.AbstractBusAware with Analyzable with IBusDevice { val servers = Array.fill(getSizeInventory)(None: Option[component.Server]) val sides = Seq(ForgeDirection.UP, ForgeDirection.EAST, ForgeDirection.WEST, ForgeDirection.DOWN). @@ -228,12 +228,12 @@ class Rack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalance override protected def initialize() { super.initialize() - Rack.list += this -> Unit + ServerRack.list += this -> Unit } override protected def dispose() { super.dispose() - Rack.list -= this + ServerRack.list -= this } override def readFromNBT(nbt: NBTTagCompound) { @@ -384,8 +384,8 @@ class Rack extends traits.PowerAcceptor with traits.Hub with traits.PowerBalance override def rotate(axis: ForgeDirection) = false } -object Rack { - val list = mutable.WeakHashMap.empty[Rack, Unit] +object ServerRack { + val list = mutable.WeakHashMap.empty[ServerRack, Unit] @ForgeSubscribe def onWorldUnload(e: WorldEvent.Unload) { diff --git a/src/main/scala/li/cil/oc/server/PacketHandler.scala b/src/main/scala/li/cil/oc/server/PacketHandler.scala index 2b24889ac..2ba677956 100644 --- a/src/main/scala/li/cil/oc/server/PacketHandler.scala +++ b/src/main/scala/li/cil/oc/server/PacketHandler.scala @@ -39,7 +39,7 @@ class PacketHandler extends CommonPacketHandler { case player: EntityPlayerMP => trySetComputerPower(t.computer, p.readBoolean(), player) case _ => } - case Some(r: Rack) => r.servers(p.readInt()) match { + case Some(r: ServerRack) => r.servers(p.readInt()) match { case Some(server) => p.player match { case player: EntityPlayerMP => trySetComputerPower(server.machine, p.readBoolean(), player) case _ => @@ -148,7 +148,7 @@ class PacketHandler extends CommonPacketHandler { } def onServerRange(p: PacketParser) = - p.readTileEntity[Rack]() match { + p.readTileEntity[ServerRack]() match { case Some(rack) => p.player match { case player: EntityPlayerMP if rack.isUseableByPlayer(player) => rack.range = math.min(math.max(0, p.readInt()), Settings.get.maxWirelessRange).toInt @@ -159,7 +159,7 @@ class PacketHandler extends CommonPacketHandler { } def onServerSide(p: PacketParser) = - p.readTileEntity[Rack]() match { + p.readTileEntity[ServerRack]() match { case Some(rack) => p.player match { case player: EntityPlayerMP if rack.isUseableByPlayer(player) => val number = p.readInt() diff --git a/src/main/scala/li/cil/oc/server/PacketSender.scala b/src/main/scala/li/cil/oc/server/PacketSender.scala index fd47c89c5..fe23b571a 100644 --- a/src/main/scala/li/cil/oc/server/PacketSender.scala +++ b/src/main/scala/li/cil/oc/server/PacketSender.scala @@ -340,7 +340,7 @@ object PacketSender { pb.sendToNearbyPlayers(container) } - def sendServerPresence(t: tileentity.Rack) { + def sendServerPresence(t: tileentity.ServerRack) { val pb = new PacketBuilder(PacketType.ServerPresence) pb.writeTileEntity(t) @@ -355,7 +355,7 @@ object PacketSender { pb.sendToNearbyPlayers(t) } - def sendServerState(t: tileentity.Rack) { + def sendServerState(t: tileentity.ServerRack) { val pb = new PacketBuilder(PacketType.ComputerState) pb.writeTileEntity(t) @@ -365,7 +365,7 @@ object PacketSender { pb.sendToNearbyPlayers(t) } - def sendServerState(t: tileentity.Rack, number: Int, player: Option[EntityPlayerMP] = None) { + def sendServerState(t: tileentity.ServerRack, number: Int, player: Option[EntityPlayerMP] = None) { val pb = new PacketBuilder(PacketType.ComputerState) pb.writeTileEntity(t) diff --git a/src/main/scala/li/cil/oc/server/component/Server.scala b/src/main/scala/li/cil/oc/server/component/Server.scala index 7ac4278f2..a4ce329e7 100644 --- a/src/main/scala/li/cil/oc/server/component/Server.scala +++ b/src/main/scala/li/cil/oc/server/component/Server.scala @@ -11,7 +11,7 @@ import li.cil.oc.util.ExtendedNBT._ import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound -class Server(val rack: tileentity.Rack, val number: Int) extends Owner { +class Server(val rack: tileentity.ServerRack, val number: Int) extends Owner { val machine = Machine.create(this) val inventory = new NetworkedInventory()