// priority: 0

console.info('Just think of Monika from now on. Just Monika. Just Monika. Just Monika.')

StartupEvents.registry('item', event => {
	event.create('logic_mechanism').displayName('Logic Mechanism').texture('kubejs:item/logic_mechanism_revised')
	event.create('incomplete_logic_mechanism').displayName('Incomplete Logic Mechanism').texture('kubejs:item/incomplete_logic_mechanism_revised')
	event.create('basic_mechanism').displayName('Basic Mechanism').texture('kubejs:item/basic_mechanism')
	event.create('incomplete_basic_mechanism').displayName('Incomplete Basic Mechanism').texture('kubejs:item/incomplete_basic_mechanism')
	event.create('golden_hand').displayName('Golden Hand').texture('kubejs:item/golden_hand')
	event.create('incomplete_basic_control_circuit').displayName('Incomplete Basic Control Circuit').texture('kubejs:item/incomplete_basic_control_circuit')
	event.create('incomplete_rocket_nose_cone').displayName('Incomplete Rocket Nose Cone').texture('kubejs:item/incomplete_rocket_nose_cone')
	event.create('incomplete_steel_engine').displayName('Incomplete Steel Engine').texture('kubejs:item/incomplete_steel_engine')
	event.create('incomplete_desh_engine').displayName('Incomplete Desh Engine').texture('kubejs:item/incomplete_desh_engine')
	event.create('incomplete_ostrum_engine').displayName('Incomplete Ostrum Engine').texture('kubejs:item/incomplete_ostrum_engine')
	event.create('incomplete_calorite_engine').displayName('Incomplete Calorite Engine').texture('kubejs:item/incomplete_calorite_engine')
	event.create('processor').displayName('Processor').texture('kubejs:item/processor')
	event.create('incomplete_processor').displayName('Incomplete Processor').texture('kubejs:item/incomplete_processor')
	event.create('guidance_mechanism').displayName('Guidance Mechanism').texture('kubejs:item/guidance_mechanism')
	event.create('incomplete_guidance_mechanism').displayName('Incomplete Guidance Mechanism').texture('kubejs:item/incomplete_guidance_mechanism')
	event.create('tier_1_plating').displayName('Tier 1 Plating').texture('kubejs:item/t1_plating')
	event.create('tier_2_plating').displayName('Tier 2 Plating').texture('kubejs:item/t2_plating')
	event.create('tier_3_plating').displayName('Tier 3 Plating').texture('kubejs:item/t3_plating')
	event.create('tier_4_plating').displayName('Tier 4 Plating').texture('kubejs:item/t4_plating')
	event.create('stellarite_cluster').displayName('Stellarite Cluster').texture('kubejs:item/stellarite_cluster')
    event.create('refined_stellarite').displayName('Refined Stellarite').texture('kubejs:item/refined_stellarite')
	event.create('lunar_crystal').displayName('Lunar Crystal').texture('kubejs:item/lunar_crystal')
	event.create('supercompressed_helium').displayName('Supercompressed Helium').texture('kubejs:item/supercompressed_helium')
	event.create('silica_cluster').displayName('Silica Cluster').texture('kubejs:item/silica_cluster')
	event.create('high_grade_sand').displayName('High-Grade Sand').texture('kubejs:item/high_grade_sand')
	event.create('thermal_tile').displayName('Thermal Tile').texture('kubejs:item/thermal_tile')
	event.create('reinforced_thermal_tile').displayName('Reinforced Thermal Tile').texture('kubejs:item/reinforced_thermal_tile')
	event.create('rusted_iron').displayName('Rusted Iron').texture('kubejs:item/rusted_iron')
	event.create('assembly_kit').displayName('Assembly Kit').texture('kubejs:item/assembly_kit').maxDamage(10)
	event.create('mercury_stone_dust').displayName('Mercury Stone Dust').texture('kubejs:item/mercury_stone_dust')
	event.create('rare_metal_dust').displayName('Rare Metal Dust').texture('kubejs:item/rare_metal_dust')

})
StartupEvents.registry('block', event => {
	event.create('stellarite_ore').material('stone').hardness(30.0).displayName('Stellarite Ore')
	event.create('stellarite_block').material('stone').hardness(30.0).displayName('Block of Stellarite')
	event.create('ground_sifter_side').material('stone').hardness(2.5).displayName('Ground Sifter Dummy')
	.texture('up', 'kubejs:block/ground_sifter_top')
	.texture('down', 'kubejs:block/ground_sifter_bottom')
	.texture('north', 'kubejs:block/ground_sifter_side')
	.texture('south', 'kubejs:block/ground_sifter_side')
	.texture('east', 'kubejs:block/ground_sifter_side')
	.texture('west', 'kubejs:block/ground_sifter_side')

	event.create('microgravity_centrifuge_side').material('stone').hardness(2.5).displayName('Microgravity Centrifuge Dummy')
	.texture('up', 'kubejs:block/microgravity_centrifuge_top')
	.texture('down', 'kubejs:block/microgravity_centrifuge_bottom')
	.texture('north', 'kubejs:block/microgravity_centrifuge_side')
	.texture('south', 'kubejs:block/microgravity_centrifuge_side')
	.texture('east', 'kubejs:block/microgravity_centrifuge_side')
	.texture('west', 'kubejs:block/microgravity_centrifuge_side')
})
StartupEvents.registry('fluid', event => {
	event.create('artificial_void')
	  .thickTexture(0x1a1a1a)
	  .bucketColor(0x1a1a1a)
	  .displayName('Artificial Void')
	  .luminosity(0)
	  .gaseous()
	  .noBucket()
	  .noBlock()
})
ItemEvents.modification(event => {
	event.modify('mekanism:pellet_plutonium', item => {
	  item.foodProperties = food => {
		food.hunger(0)
		food.saturation(0)
		food.fastToEat(true)
		food.alwaysEdible()
		food.eaten(ctx => {
		  ctx.entity.kill()
		})
	  }
	})
  })
ItemEvents.modification(event => {
	event.modify('mekanism:pellet_polonium', item => {
	  item.foodProperties = food => {
		food.hunger(0)
		food.saturation(0)
		food.fastToEat(true)
		food.alwaysEdible()
		food.eaten(ctx => {
		  ctx.entity.kill()
		})
	  }
	})
  })
const $EventBuses = Java.loadClass('dev.architectury.platform.forge.EventBuses')
const $GasDeferredRegister = Java.loadClass('mekanism.common.registration.impl.GasDeferredRegister')
const $SlurryDeferredRegister = Java.loadClass('mekanism.common.registration.impl.SlurryDeferredRegister')
const GASES = new $GasDeferredRegister('kubejs')
GASES.register('helium3', 0xd4d3cf)
GASES.register('refined_stellarite', 0x8556d1)
GASES.register('unrefined_stellarite', 0x6f488a)
GASES.register($EventBuses.getModEventBus('kubejs').get())
const SLURRY = new $SlurryDeferredRegister('kubejs')
SLURRY.register('silica_slurry', builder => builder.color(0xd4d3cf))
SLURRY.register('rare_metal_slurry', builder => builder.color(0x6f488a))
SLURRY['register(net.minecraftforge.eventbus.api.IEventBus)']($EventBuses.getModEventBus('kubejs').get())
