59 lines
2.3 KiB
JavaScript
59 lines
2.3 KiB
JavaScript
|
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
|
||
|
})
|
||
|
)
|
||
|
|
||
|
})
|