类net.minecraft.inventory.IContainerListener源码实例Demo

下面列出了怎么用net.minecraft.inventory.IContainerListener的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Sakura_mod   文件: ContainerCampfirePot.java
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);

        if (this.burnTime != this.tileCampfire.getField(0)) {
            icontainerlistener.sendWindowProperty(this, 0, this.tileCampfire.getField(0));
        }

        if (this.processTime != this.tileCampfire.getField(1)) {
            icontainerlistener.sendWindowProperty(this, 1, this.tileCampfire.getField(1));
        }

        if (this.maxProcessTime != this.tileCampfire.getField(2)) {
            icontainerlistener.sendWindowProperty(this, 2, this.tileCampfire.getField(2));
        }
    }

    this.burnTime = this.tileCampfire.getField(0);
    this.processTime = this.tileCampfire.getField(1);
    this.maxProcessTime = this.tileCampfire.getField(2);
}
 
源代码2 项目: Sakura_mod   文件: ContainerMapleCauldron.java
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();
    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);

        if (this.mapleTime != this.tileCampfire.getField(0)) {
            icontainerlistener.sendWindowProperty(this, 0, this.tileCampfire.getField(0));
        }

        if (this.cookTime != this.tileCampfire.getField(1)) {
            icontainerlistener.sendWindowProperty(this, 1, this.tileCampfire.getField(1));
        }

    }
    this.mapleTime = this.tileCampfire.getField(0);
    this.cookTime = this.tileCampfire.getField(1);
}
 
源代码3 项目: Sakura_mod   文件: ContainerStoneMortar.java
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);

        if (this.processTime != this.tileCampfire.getField(0)) {
            icontainerlistener.sendWindowProperty(this, 0, this.tileCampfire.getField(0));
        }

        if (this.maxProcessTime != this.tileCampfire.getField(1)) {
            icontainerlistener.sendWindowProperty(this, 1, this.tileCampfire.getField(1));
        }
    }

    this.processTime = this.tileCampfire.getField(0);
    this.maxProcessTime = this.tileCampfire.getField(1);
}
 
源代码4 项目: EmergingTechnology   文件: OptimiserContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.OPTIMISERENERGY, this.packetEnergy);
		checkField(listener, EnumTileField.OPTIMISERFLUID, this.packetFluid);
		checkField(listener, EnumTileField.OPTIMISERGAS, this.packetGas);
		checkField(listener, EnumTileField.OPTIMISERPROGRESS, this.packetProgress);
		checkField(listener, EnumTileField.OPTIMISERCORES, this.cores);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.cores = this.tileEntity.getField(EnumTileField.OPTIMISERCORES);

	this.packetEnergy = this.tileEntity.getField(EnumTileField.OPTIMISERENERGY);
	this.packetFluid = this.tileEntity.getField(EnumTileField.OPTIMISERFLUID);
	this.packetGas = this.tileEntity.getField(EnumTileField.OPTIMISERGAS);
	this.packetProgress = this.tileEntity.getField(EnumTileField.OPTIMISERPROGRESS);
}
 
源代码5 项目: EmergingTechnology   文件: ScrubberContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.GAS, this.gas);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.gas = this.tileEntity.getField(EnumTileField.GAS);
}
 
源代码6 项目: EmergingTechnology   文件: FabricatorContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.FABRICATORSELECTION, this.selection);
		checkField(listener, EnumTileField.FABRICATORISPRINTING, this.printing);
		checkField(listener, EnumTileField.FABRICATORSTATUS, this.status);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.selection = this.tileEntity.getField(EnumTileField.FABRICATORSELECTION);
	this.printing = this.tileEntity.getField(EnumTileField.FABRICATORISPRINTING);
	this.status = this.tileEntity.getField(EnumTileField.FABRICATORSTATUS);
}
 
源代码7 项目: EmergingTechnology   文件: BioreactorContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.MAXPROGRESS, this.maxProgress);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.maxProgress = this.tileEntity.getField(EnumTileField.MAXPROGRESS);
}
 
源代码8 项目: EmergingTechnology   文件: ProcessorContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.MAXPROGRESS, this.maxProgress);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.maxProgress = this.tileEntity.getField(EnumTileField.MAXPROGRESS);
}
 
源代码9 项目: EmergingTechnology   文件: InjectorContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.NUTRIENT, this.nutrient);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.nutrient = this.tileEntity.getField(EnumTileField.NUTRIENT);
}
 
源代码10 项目: EmergingTechnology   文件: CookerContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.HEAT, this.heat);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.MAXPROGRESS, this.maxProgress);
	}

	this.heat = this.tileEntity.getField(EnumTileField.HEAT);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.maxProgress = this.tileEntity.getField(EnumTileField.MAXPROGRESS);
}
 
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.FLUID, this.water);
		checkField(listener, EnumTileField.PROGRESS, this.progress);
		checkField(listener, EnumTileField.GAS, this.gas);
		checkField(listener, EnumTileField.LIGHTBOOST, this.boost);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.progress = this.tileEntity.getField(EnumTileField.PROGRESS);
	this.water = this.tileEntity.getField(EnumTileField.FLUID);
	this.gas = this.tileEntity.getField(EnumTileField.GAS);
	this.boost = this.tileEntity.getField(EnumTileField.LIGHTBOOST);
}
 
源代码12 项目: enderutilities   文件: ContainerCreationStation.java
@Override
public void addListener(IContainerListener listener)
{
    super.addListener(listener);

    int modeMask = this.tecs.getModeMask();
    int selection = this.tecs.getQuickMode() << 2 | this.tecs.getSelectedModuleSlot();
    int smeltProgress = this.tecs.getSmeltProgressScaled(1, 100) << 8 | this.tecs.getSmeltProgressScaled(0, 100);
    int fuelProgress = this.tecs.getBurnTimeRemainingScaled(1, 100) << 8 | this.tecs.getBurnTimeRemainingScaled(0, 100);

    listener.sendWindowProperty(this, 0, modeMask);
    listener.sendWindowProperty(this, 1, selection);
    listener.sendWindowProperty(this, 2, fuelProgress);
    listener.sendWindowProperty(this, 3, smeltProgress);
    listener.sendWindowProperty(this, 4, this.tecs.lastInteractedCraftingGrid);

    this.detectAndSendChanges();
}
 
源代码13 项目: EmergingTechnology   文件: BatteryContainer.java
@Override
public void detectAndSendChanges() {
	super.detectAndSendChanges();

	for (int i = 0; i < this.listeners.size(); ++i) {

		IContainerListener listener = (IContainerListener) this.listeners.get(i);

		checkField(listener, EnumTileField.ENERGY, this.energy);
		checkField(listener, EnumTileField.BATTERYINPUT, this.totalInput);
		checkField(listener, EnumTileField.BATTERYOUTPUT, this.totalOutput);
	}

	this.energy = this.tileEntity.getField(EnumTileField.ENERGY);
	this.totalInput = this.tileEntity.getField(EnumTileField.BATTERYINPUT);
	this.totalOutput = this.tileEntity.getField(EnumTileField.BATTERYOUTPUT);
}
 
源代码14 项目: customstuff4   文件: ContainerGui.java
@Override
public void detectAndSendChanges()
{
    super.detectAndSendChanges();

    for (IContainerListener listener : listeners)
    {
        for (int id = 0; id < prevFieldValues.length; id++)
        {
            if (prevFieldValues[id] != fieldSupplier.getField(id))
            {
                listener.sendWindowProperty(this, id, fieldSupplier.getField(id));
            }
        }
    }

    for (int id = 0; id < prevFieldValues.length; id++)
    {
        prevFieldValues[id] = fieldSupplier.getField(id);
    }
}
 
源代码15 项目: Production-Line   文件: ContainerPackager.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener listener : this.listeners) {
        if (this.lastProgress != this.tile.progress) {
            listener.sendProgressBarUpdate(this, 1, this.tile.progress);
        }
        if (this.lastEnergy != this.tile.energy) {
            listener.sendProgressBarUpdate(this, 2, (int) this.tile.energy);
        }
    }

    this.lastEnergy = this.tile.energy;
    this.lastProgress = this.tile.progress;
}
 
源代码16 项目: Production-Line   文件: ContainerEUStorage.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener listener : this.listeners) {
        if (this.lastEnergy != this.tile.energy) {
            listener.sendProgressBarUpdate(this, 0, (int) this.tile.energy);
        }
        if (this.lastMode != this.tile.redstoneMode.ordinal()) {
            listener.sendProgressBarUpdate(this, 1, this.tile.redstoneMode.ordinal());
        }
    }

    this.lastEnergy = this.tile.energy;
    this.lastMode = this.tile.redstoneMode.ordinal();
}
 
源代码17 项目: Production-Line   文件: ContainerParallelSpaceSU.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener object : this.listeners) {
        if (this.lastEnergy != this.tile.energy) {
            object.sendProgressBarUpdate(this, 0, (int) this.tile.energy);
        }
        if (this.lastMode != this.tile.redstoneMode.ordinal()) {
            object.sendProgressBarUpdate(this, 1, this.tile.redstoneMode.ordinal());
        }
    }

    this.lastEnergy = this.tile.energy;
    this.lastMode = this.tile.redstoneMode.ordinal();
}
 
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener listener : this.listeners) {
        if (this.lastProgress != this.tile.progress) {
            listener.sendProgressBarUpdate(this, 0, this.tile.progress);
        }

        if (this.lastRequireEnergy != this.tile.requireEnergy) {
            listener.sendProgressBarUpdate(this, 1, (int) this.tile.requireEnergy);
        }

        if (this.lastEnergy != this.tile.energy) {
            listener.sendProgressBarUpdate(this, 2, (int) this.tile.energy);
        }
    }

    this.lastProgress = this.tile.progress;
    this.lastRequireEnergy = (int) this.tile.requireEnergy;
    this.lastEnergy = this.tile.energy;
}
 
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener listener : this.listeners) {
        if (this.fluidAmount != this.tile.fluidTank.getFluidAmount()) {
            listener.sendProgressBarUpdate(this, 0, this.tile.fluidTank.getFluidAmount());
        }
        if (this.tile.fluidTank.getFluid() != null && this.fluid != this.tile.fluidTank.getFluid().getFluid()) {
            listener.sendProgressBarUpdate(this, 1, FluidRegistry.getFluidID(this.tile.fluidTank.getFluid().getFluid()));
        }
    }

    this.fluidAmount = this.tile.fluidTank.getFluidAmount();
    if (this.tile.fluidTank.getFluid() != null) {
        this.fluid = this.tile.fluidTank.getFluid().getFluid();
    }
}
 
源代码20 项目: Production-Line   文件: ContainerHeatDryer.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (IContainerListener listener : this.listeners) {
        if (this.lastProgress != this.tile.progress) {
            listener.sendProgressBarUpdate(this, 1, this.tile.progress);
        }
        if (this.lastEnergy != this.tile.energy) {
            listener.sendProgressBarUpdate(this, 2, (int) this.tile.energy);
        }
    }

    this.lastEnergy = this.tile.energy;
    this.lastProgress = this.tile.progress;
}
 
源代码21 项目: TFC2   文件: ContainerAnvil.java
@Override
public void detectAndSendChanges()
{
	super.detectAndSendChanges();
	for (int i = 0; i < this.listeners.size(); ++i)
	{
		IContainerListener icrafting = (IContainerListener)this.listeners.get(i);

		if(this.recipeIndex != anvil.getField(0))
		{
			icrafting.sendProgressBarUpdate(this, 0, anvil.getField(0));
		}
	}

	this.recipeIndex = anvil.getField(0);
}
 
源代码22 项目: enderutilities   文件: ContainerLargeStacks.java
@Override
public void addListener(IContainerListener listener)
{
    if (this.listeners.contains(listener))
    {
        throw new IllegalArgumentException("Listener already listening");
    }
    else
    {
        this.listeners.add(listener);

        if (listener instanceof EntityPlayerMP)
        {
            EntityPlayerMP player = (EntityPlayerMP) listener;
            player.connection.sendPacket(new SPacketSetSlot(-1, -1, player.inventory.getItemStack()));
            this.syncAllSlots(player);
        }

        this.detectAndSendChanges();
    }
}
 
源代码23 项目: enderutilities   文件: ContainerMemoryChest.java
@Override
public void detectAndSendChanges()
{
    boolean isPublic = this.temc.isPublic();

    for (int j = 0; j < this.listeners.size(); ++j)
    {
        IContainerListener listener = this.listeners.get(j);

        if (this.isPublic != isPublic)
        {
            listener.sendWindowProperty(this, 0, isPublic ? 1 : 0);
        }
    }

    this.isPublic = isPublic;

    this.syncLockableSlots(this.temc.getInventory(), 0, 1, this.lockedLast, this.templateStacksLast);

    super.detectAndSendChanges();
}
 
源代码24 项目: enderutilities   文件: ContainerEnderFurnace.java
@Override
public void addListener(IContainerListener listener)
{
    super.addListener(listener);

    int b = 0;

    if (this.teef.burnTimeFresh != 0)
    {
        b = 100 * this.teef.burnTimeRemaining / this.teef.burnTimeFresh;
    }

    int c = 100 * this.teef.cookTime / TileEntityEnderFurnace.COOKTIME_DEFAULT;

    listener.sendWindowProperty(this, 0, c << 8 | b);
    listener.sendWindowProperty(this, 1, this.teef.outputToEnderChest ? 1 : 0);
}
 
源代码25 项目: TofuCraftReload   文件: ContainerTFStorage.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
            icontainerlistener.sendWindowProperty(this, 0, this.tileStorageMachine.getField(0));
            icontainerlistener.sendWindowProperty(this, 2, this.tileStorageMachine.getField(2));
            icontainerlistener.sendWindowProperty(this, 1, this.tileStorageMachine.getField(1));
    }

}
 
源代码26 项目: TofuCraftReload   文件: ContainerTFCrasher.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
        icontainerlistener.sendWindowProperty(this, 0, this.tileStorageMachine.getField(0));
        icontainerlistener.sendWindowProperty(this, 1, this.tileStorageMachine.getField(1));
    }

}
 
源代码27 项目: TofuCraftReload   文件: ContainerTFCompressor.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
        icontainerlistener.sendWindowProperty(this, 0, this.tileStorageMachine.getField(0));
        icontainerlistener.sendWindowProperty(this, 1, this.tileStorageMachine.getField(1));
    }

}
 
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
            icontainerlistener.sendWindowProperty(this, 0, this.tileMachine.getField(0));
            icontainerlistener.sendWindowProperty(this, 2, this.tileMachine.getField(2));
            icontainerlistener.sendWindowProperty(this, 1, this.tileMachine.getField(1));
    }

}
 
源代码29 项目: TofuCraftReload   文件: ContainerTFOven.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
        icontainerlistener.sendWindowProperty(this, 0, this.tileStorageMachine.getField(0));
        icontainerlistener.sendWindowProperty(this, 1, this.tileStorageMachine.getField(1));
    }

}
 
源代码30 项目: TofuCraftReload   文件: ContainerTFAggregator.java
/**
 * Looks for changes made in the container, sends them to every listener.
 */
@Override
public void detectAndSendChanges() {
    super.detectAndSendChanges();

    for (int i = 0; i < this.listeners.size(); ++i) {
        IContainerListener icontainerlistener = this.listeners.get(i);
            icontainerlistener.sendWindowProperty(this, 0, this.tileMachine.getField(0));
            icontainerlistener.sendWindowProperty(this, 2, this.tileMachine.getField(2));
            icontainerlistener.sendWindowProperty(this, 1, this.tileMachine.getField(1));
    }

}