create-the-brass-oncerto/kubejs/startup_scripts/create/completed.js

59 lines
2.3 KiB
JavaScript
Raw Normal View History

2025-04-11 17:07:29 +08:00
StartupEvents.registry('item', event => {
event.create('mechanical_core')
event.create('circuit_board')
event.create('magenta_circuit_board')
event.create('lime_circuit_board')
event.create('bridge_rectifier')
event.create('bearing')
event.create('planetary_gear')
event.create('cardan_joint')
event.create('differential')
event.create('electric_gear')
event.create('iron_hand')
event.create('uncharged_electrolyzer')
event.create('electrolyzer')
event.create('bullet_shells')
event.create('filled_bullets')
event.create('empty_can')
event.create('radiator')
//一次性电池
event.create("disposable_battery")
.maxDamage(240000)
.attachCapability(
CapabilityBuilder.ENERGY.customItemStack()
.canExtract(() => true)
.getEnergyStored(be => { return (240000 - be.damageValue) })
.extractEnergy((item, amount, sim) => {
const extract = Math.min(480, amount, 240000 - item.damageValue)
if (item.damageValue < 160000 && !sim) {
item.damageValue += extract
if (item.damageValue >= 240000) { item.shrink(1) }
}
return extract
})
)
//充电电池
event.create("chargeable_battery")
.maxDamage(320000)
.attachCapability(
CapabilityBuilder.ENERGY.customItemStack()
.canExtract(() => true)
.canReceive(() => true)
.receiveEnergy((item, amount, sim) => {
const receive = Math.min(360, amount, item.damageValue)
if (item.damageValue > 0 && !sim) {
item.damageValue -= receive
}
return receive
})
.getEnergyStored(be => { return (320000 - be.damageValue) })
.extractEnergy((item, amount, sim) => {
const extract = Math.min(480, amount, 320000 - item.damageValue)
if (item.damageValue < 320000 && !sim) {
item.damageValue += extract
}
return extract
})
)
})