#Ars Nouveau Containment Extractor

3 messages · Page 1 of 1 (latest)

void void
#

Gets a fluid for entity in jar.
Just place jar above and tank below.

// startup script.

const $ForgeCapabilities = Java.loadClass('net.minecraftforge.common.capabilities.ForgeCapabilities')

global.containment_extractor = tick => {

    const { block, level } = tick;
    const pos = block.getPos();
    const tankPos = pos.relative("down");
    const jarPos = pos.relative("up");
    let fill_fluid = null;
    const io = {
        "minecraft:wither": "industrialforegoing:ether_gas",
        "minecraft:cow": "minecraft:milk",
        "minecraft:pig": "industrialforegoing:sewage",
        "minecraft:zombie": "industrialforegoing:meat"
    }

    if (level.getBlock(jarPos).id != "ars_nouveau:mob_jar") return;

    if (io[level.getBlock(jarPos).getEntityData().entityId])
        fill_fluid = io[level.getBlock(jarPos).getEntityData().entityId]

    if (fill_fluid == null) return;

    if (level.getBlock(tankPos).entity) {
        if (typeof level.getBlock(tankPos).entity.getCapability == "function") {
            if (level.getBlock(tankPos).entity.getCapability($ForgeCapabilities.FLUID_HANDLER, Direction.UP) != null) {
                let FluidCap = level.getBlock(tankPos).entity.getCapability($ForgeCapabilities.FLUID_HANDLER, Direction.UP).resolve().get()
                FluidCap.fill(Fluid.of(fill_fluid, 1000), 'EXECUTE')
            }
        }
    }

}

StartupEvents.registry('block', e => {
    e.create("pedruutilities:containment_extractor").displayName("Containment Extractor").randomTick(global.containment_extractor);
});```
void void
#

shitty texture