Redstone cards
This commit is contained in:
@@ -43,4 +43,7 @@ object Items {
|
|||||||
val HDD0 = ITEMS.register("hdd0") { HardDisk0() }
|
val HDD0 = ITEMS.register("hdd0") { HardDisk0() }
|
||||||
val HDD1 = ITEMS.register("hdd1") { HardDisk1() }
|
val HDD1 = ITEMS.register("hdd1") { HardDisk1() }
|
||||||
val HDD2 = ITEMS.register("hdd2") { HardDisk2() }
|
val HDD2 = ITEMS.register("hdd2") { HardDisk2() }
|
||||||
|
|
||||||
|
val REDIO0 = ITEMS.register("redio0") { RedstoneCard0() }
|
||||||
|
val REDIO1 = ITEMS.register("redio1") { RedstoneCard1() }
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package org.neoflock.neocomputers.item
|
||||||
|
|
||||||
|
import net.minecraft.network.chat.Component
|
||||||
|
import net.minecraft.world.item.Item
|
||||||
|
import net.minecraft.world.item.ItemStack
|
||||||
|
import net.minecraft.world.item.TooltipFlag
|
||||||
|
import org.neoflock.neocomputers.gui.widget.ComponentRoles
|
||||||
|
import org.neoflock.neocomputers.network.Networking
|
||||||
|
|
||||||
|
// Note: We'll prob want to replace them with NN component configs later on
|
||||||
|
|
||||||
|
open class RedstoneCard(val tier: Int): Item(Properties()), ComponentItem {
|
||||||
|
override fun getComponentRoles(itemStack: ItemStack): Set<String> = setOf(ComponentRoles.CARD)
|
||||||
|
|
||||||
|
override fun getComponentTier(itemStack: ItemStack): Int = tier
|
||||||
|
|
||||||
|
override fun whenComponentPlaced(itemStack: ItemStack, newRole: String) {
|
||||||
|
ensureHasAddress(itemStack)
|
||||||
|
super.whenComponentPlaced(itemStack, newRole)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Redstone Component
|
||||||
|
override fun toComponentNode(itemStack: ItemStack): Networking.Node? = null
|
||||||
|
|
||||||
|
override fun appendHoverText(
|
||||||
|
itemStack: ItemStack,
|
||||||
|
tooltipContext: TooltipContext,
|
||||||
|
list: MutableList<Component?>,
|
||||||
|
tooltipFlag: TooltipFlag
|
||||||
|
) {
|
||||||
|
if(tooltipFlag.isAdvanced) {
|
||||||
|
val addr = itemStack.get(DataComponents.ADDRESS)
|
||||||
|
val addrComp = if(addr == null) Component.translatable("neocomputers.noaddr") else Component.literal(addr)
|
||||||
|
// TODO: show redstone and whatnot
|
||||||
|
}
|
||||||
|
super.appendHoverText(itemStack, tooltipContext, list, tooltipFlag)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class RedstoneCard0: RedstoneCard(1)
|
||||||
|
class RedstoneCard1: RedstoneCard(2)
|
||||||
@@ -48,6 +48,9 @@ object Tabs {
|
|||||||
output.accept(ItemStack(Items.WLAN0.get()))
|
output.accept(ItemStack(Items.WLAN0.get()))
|
||||||
output.accept(ItemStack(Items.WLAN1.get()))
|
output.accept(ItemStack(Items.WLAN1.get()))
|
||||||
|
|
||||||
|
output.accept(ItemStack(Items.REDIO0.get()))
|
||||||
|
output.accept(ItemStack(Items.REDIO1.get()))
|
||||||
|
|
||||||
output.accept(ItemStack(Items.EE0.get()))
|
output.accept(ItemStack(Items.EE0.get()))
|
||||||
|
|
||||||
val luaBios = ItemStack(Items.EE0.get())
|
val luaBios = ItemStack(Items.EE0.get())
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
"neocomputers.cancel": "Cancel",
|
"neocomputers.cancel": "Cancel",
|
||||||
"block.neocomputers.combustgen": "Combustion Generator",
|
"block.neocomputers.combustgen": "Combustion Generator",
|
||||||
"block.neocomputers.redio": "Redstone I/O",
|
"block.neocomputers.redio": "Redstone I/O",
|
||||||
|
"item.neocomputers.redio0": "Redstone Card (Tier 1)",
|
||||||
|
"item.neocomputers.redio1": "Redstone Card (Tier 2)",
|
||||||
"block.neocomputers.solargen": "Solar Generator",
|
"block.neocomputers.solargen": "Solar Generator",
|
||||||
"block.neocomputers.screen": "Screen (Untiered)",
|
"block.neocomputers.screen": "Screen (Untiered)",
|
||||||
"block.neocomputers.capacitor": "Small Capacitor",
|
"block.neocomputers.capacitor": "Small Capacitor",
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "neocomputers:item/redio0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "neocomputers:item/redio1"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
src/main/resources/assets/neocomputers/textures/item/redio0.png
Normal file
BIN
src/main/resources/assets/neocomputers/textures/item/redio0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 394 B |
BIN
src/main/resources/assets/neocomputers/textures/item/redio1.png
Normal file
BIN
src/main/resources/assets/neocomputers/textures/item/redio1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 417 B |
Reference in New Issue
Block a user