Lazy loading

This commit is contained in:
2026-04-19 15:22:45 +02:00
parent f1d39aa12c
commit b025159791
2 changed files with 24 additions and 31 deletions

View File

@@ -13,19 +13,12 @@ import java.util.function.Supplier
object Items {
val ITEMS: DeferredRegister<Item> = DeferredRegister.create(NeoComputers.MODID, Registries.ITEM)
val MEM0 = register("memory0") { MemoryTier1() }
val MEM1 = register("memory1") { MemoryTier1_5() }
val MEM2 = register("memory2") { MemoryTier2() }
val MEM3 = register("memory3") { MemoryTier2_5() }
val MEM4 = register("memory4") { MemoryTier3() }
val MEM5 = register("memory5") { MemoryTier3_5() }
val MEM0 = ITEMS.register("memory0") { MemoryTier1() }
val MEM1 = ITEMS.register("memory1") { MemoryTier1_5() }
val MEM2 = ITEMS.register("memory2") { MemoryTier2() }
val MEM3 = ITEMS.register("memory3") { MemoryTier2_5() }
val MEM4 = ITEMS.register("memory4") { MemoryTier3() }
val MEM5 = ITEMS.register("memory5") { MemoryTier3_5() }
val EE0 = register("eeprom0") { EEPROM0() }
fun<T: Item> register(name: String, itemFac: Supplier<T>): T {
val key = ResourceKey.create(Registries.ITEM, ResourceLocation.fromNamespaceAndPath(NeoComputers.MODID, name))
val item = itemFac.get()
Registry.register(BuiltInRegistries.ITEM, key, item)
return item
}
val EE0 = ITEMS.register("eeprom0") { EEPROM0() }
}

View File

@@ -12,24 +12,24 @@ import net.minecraft.world.item.ItemStack
import org.neoflock.neocomputers.NeoComputers
object Tabs {
val TABS: DeferredRegister<CreativeModeTab> = DeferredRegister.create(NeoComputers.MODID, Registries.CREATIVE_MODE_TAB)
val TABS: DeferredRegister<CreativeModeTab> =
DeferredRegister.create(NeoComputers.MODID, Registries.CREATIVE_MODE_TAB)
val TAB: CreativeModeTab = Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB,
ResourceLocation.fromNamespaceAndPath(NeoComputers.MODID, "neocomputers_tab"), CreativeTabRegistry.create {
builder ->
val TAB = TABS.register("neocomputers_tab") {
CreativeTabRegistry.create { builder ->
builder.title(Component.literal("NeoComputers"))
builder.icon {
ItemStack(Items.MEM0)
ItemStack(Items.MEM0.get())
}
builder.displayItems {
parameters, output ->
output.accept(ItemStack(Items.EE0))
builder.displayItems { parameters, output ->
output.accept(ItemStack(Items.EE0.get()))
val luaBios = ItemStack(Items.EE0)
val luaBios = ItemStack(Items.EE0.get())
luaBios.set(DataComponents.LABEL, "Lua BIOS")
luaBios.set(DataComponents.EEPROM_CODE, "error('hi')")
luaBios.set(DataComponents.EEPROM_DATA, "random garbage")
output.accept(luaBios)
}
})
}
}
}