下面列出了怎么用net.minecraft.inventory.IContainerListener的API类实例代码及写法,或者点击链接到github查看源代码。
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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();
}
@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);
}
@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);
}
}
/**
* 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;
}
/**
* 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();
}
/**
* 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();
}
}
/**
* 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;
}
@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);
}
@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();
}
}
@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();
}
@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);
}
/**
* 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));
}
}
/**
* 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.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));
}
}
/**
* 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));
}
}