Convert MatterFabricator

This commit is contained in:
Ourten 2017-01-08 15:22:59 +01:00
parent ad890079ec
commit 665b5f7569
4 changed files with 71 additions and 130 deletions

View file

@ -3,12 +3,14 @@ package techreborn.tiles;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import reborncore.api.power.EnumPowerTier;
import reborncore.api.tile.IInventoryProvider;
import reborncore.common.IWrenchable;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import reborncore.common.util.ItemUtils;
import techreborn.init.ModBlocks;
import techreborn.init.ModItems;
import techreborn.items.ItemParts;
@ -27,17 +29,17 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
public boolean wrenchCanSetFacing(final EntityPlayer entityPlayer, final EnumFacing side) {
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
return this.getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
public boolean wrenchCanRemove(final EntityPlayer entityPlayer) {
return entityPlayer.isSneaking();
}
@ -47,7 +49,7 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
public ItemStack getWrenchDrop(final EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.MATTER_FABRICATOR, 1);
}
@ -77,7 +79,7 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
// }
public int maxProgresstime() {
return fabricationRate;
return TileMatterFabricator.fabricationRate;
}
@Override
@ -86,14 +88,14 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
if (!super.world.isRemote) {
for (int i = 0; i < 6; i++) {
ItemStack stack = inventory.getStackInSlot(i);
final ItemStack stack = this.inventory.getStackInSlot(i);
if (this.amplifier < 10000 && stack != ItemStack.EMPTY) {
int amp = (int) ((long) (getValue(stack) / 32));
if (ItemUtils.isItemEqual(stack, inventory.getStackInSlot(i), true, true)) {
if (canUseEnergy(1)) {
useEnergy(1);
final int amp = this.getValue(stack) / 32;
if (ItemUtils.isItemEqual(stack, this.inventory.getStackInSlot(i), true, true)) {
if (this.canUseEnergy(1)) {
this.useEnergy(1);
this.amplifier += amp;
inventory.decrStackSize(i, 1);
this.inventory.decrStackSize(i, 1);
}
}
}
@ -120,27 +122,27 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
}
private boolean spaceForOutput() {
return inventory.getStackInSlot(6) == ItemStack.EMPTY
|| ItemUtils.isItemEqual(inventory.getStackInSlot(6), new ItemStack(ModItems.UU_MATTER), true, true)
&& inventory.getStackInSlot(6).getCount() < 64;
return this.inventory.getStackInSlot(6) == ItemStack.EMPTY
|| ItemUtils.isItemEqual(this.inventory.getStackInSlot(6), new ItemStack(ModItems.UU_MATTER), true, true)
&& this.inventory.getStackInSlot(6).getCount() < 64;
}
private void addOutputProducts() {
if (inventory.getStackInSlot(6) == ItemStack.EMPTY) {
inventory.setInventorySlotContents(6, new ItemStack(ModItems.UU_MATTER));
} else if (ItemUtils.isItemEqual(inventory.getStackInSlot(6), new ItemStack(ModItems.UU_MATTER), true, true)) {
inventory.getStackInSlot(6).setCount(Math.min(64, 1 + inventory.getStackInSlot(6).getCount()));
if (this.inventory.getStackInSlot(6) == ItemStack.EMPTY) {
this.inventory.setInventorySlotContents(6, new ItemStack(ModItems.UU_MATTER));
} else if (ItemUtils.isItemEqual(this.inventory.getStackInSlot(6), new ItemStack(ModItems.UU_MATTER), true, true)) {
this.inventory.getStackInSlot(6).setCount(Math.min(64, 1 + this.inventory.getStackInSlot(6).getCount()));
}
}
public boolean decreaseStoredEnergy(double aEnergy, boolean aIgnoreTooLessEnergy) {
public boolean decreaseStoredEnergy(final double aEnergy, final boolean aIgnoreTooLessEnergy) {
if (this.getEnergy() - aEnergy < 0 && !aIgnoreTooLessEnergy) {
return false;
} else {
setEnergy(this.getEnergy() - aEnergy);
this.setEnergy(this.getEnergy() - aEnergy);
if (this.getEnergy() < 0) {
setEnergy(0);
this.setEnergy(0);
return false;
} else {
return true;
@ -149,7 +151,7 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
}
// TODO ic2
public int getValue(ItemStack itemStack) {
public int getValue(final ItemStack itemStack) {
// int value = getValue(Recipes.matterAmplifier.getOutputFor(itemStack,
// false));
if (itemStack.getItem() == ModItems.PARTS && itemStack.getItemDamage() == ItemParts.getPartByName("scrap").getItemDamage()) {
@ -173,12 +175,12 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
public boolean canAcceptEnergy(final EnumFacing direction) {
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
public boolean canProvideEnergy(final EnumFacing direction) {
return false;
}
@ -199,6 +201,21 @@ public class TileMatterFabricator extends TilePowerAcceptor implements IWrenchab
@Override
public Inventory getInventory() {
return inventory;
return this.inventory;
}
public int getProgress() {
return this.progresstime;
}
public void setProgress(final int progress) {
this.progresstime = progress;
}
public int getProgressScaled(final int scale) {
if (this.progresstime != 0) {
return this.progresstime * scale / this.maxProgresstime();
}
return 0;
}
}