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 { object Items {
val ITEMS: DeferredRegister<Item> = DeferredRegister.create(NeoComputers.MODID, Registries.ITEM) val ITEMS: DeferredRegister<Item> = DeferredRegister.create(NeoComputers.MODID, Registries.ITEM)
val MEM0 = register("memory0") { MemoryTier1() } val MEM0 = ITEMS.register("memory0") { MemoryTier1() }
val MEM1 = register("memory1") { MemoryTier1_5() } val MEM1 = ITEMS.register("memory1") { MemoryTier1_5() }
val MEM2 = register("memory2") { MemoryTier2() } val MEM2 = ITEMS.register("memory2") { MemoryTier2() }
val MEM3 = register("memory3") { MemoryTier2_5() } val MEM3 = ITEMS.register("memory3") { MemoryTier2_5() }
val MEM4 = register("memory4") { MemoryTier3() } val MEM4 = ITEMS.register("memory4") { MemoryTier3() }
val MEM5 = register("memory5") { MemoryTier3_5() } val MEM5 = ITEMS.register("memory5") { MemoryTier3_5() }
val EE0 = register("eeprom0") { EEPROM0() } val EE0 = ITEMS.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
}
} }

View File

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