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 }) ) })