Merge branch 'master' of https://github.com/calclavia/Resonant-Induction
This commit is contained in:
commit
43a4d4ab4c
6 changed files with 41 additions and 14 deletions
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
|
@ -15,7 +15,7 @@ public interface IBattery
|
||||||
{
|
{
|
||||||
public float getEnergyStored(ItemStack itemStack);
|
public float getEnergyStored(ItemStack itemStack);
|
||||||
|
|
||||||
public float getMaxEnergyStored();
|
public float getMaxEnergyStored(ItemStack itemStack);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param itemStack
|
* @param itemStack
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class GuiBattery extends GuiContainer
|
||||||
fontRenderer.drawString("Battery", 43, 6, 0x404040);
|
fontRenderer.drawString("Battery", 43, 6, 0x404040);
|
||||||
fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 0x404040);
|
fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 0x404040);
|
||||||
fontRenderer.drawString("Cells: " + tileEntity.clientCells + " / " + tileEntity.structure.getMaxCells(), 62, 23, 0x404040);
|
fontRenderer.drawString("Cells: " + tileEntity.clientCells + " / " + tileEntity.structure.getMaxCells(), 62, 23, 0x404040);
|
||||||
fontRenderer.drawString("Energy: " + tileEntity.getEnergyStored() + " / " + tileEntity.getMaxEnergyStored(), 62, 32, 0x404040);
|
fontRenderer.drawString("Energy: " + (int)tileEntity.getEnergyStored() + " / " + (int)tileEntity.getMaxEnergyStored(), 62, 32, 0x404040);
|
||||||
fontRenderer.drawString("Volume: " + tileEntity.structure.getVolume(), 62, 41, 0x404040);
|
fontRenderer.drawString("Volume: " + tileEntity.structure.getVolume(), 62, 41, 0x404040);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class ItemCapacitor extends ItemBase implements IBattery
|
||||||
public void addInformation(ItemStack itemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
public void addInformation(ItemStack itemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
||||||
{
|
{
|
||||||
double energyStored = this.getEnergyStored(itemStack);
|
double energyStored = this.getEnergyStored(itemStack);
|
||||||
par3List.add("Energy: " + energyStored + " KJ");
|
par3List.add("Energy: " + (int)energyStored + " KJ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -41,8 +41,9 @@ public class ItemCapacitor extends ItemBase implements IBattery
|
||||||
{
|
{
|
||||||
itemStack.setTagCompound(new NBTTagCompound());
|
itemStack.setTagCompound(new NBTTagCompound());
|
||||||
}
|
}
|
||||||
|
|
||||||
itemStack.getTagCompound().setFloat("energyStored", amount);
|
itemStack.getTagCompound().setFloat("energyStored", amount);
|
||||||
itemStack.setItemDamage((int) (amount / this.getMaxEnergyStored()));
|
itemStack.setItemDamage((int)(100 - (amount / getMaxEnergyStored(itemStack)) * 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -52,11 +53,15 @@ public class ItemCapacitor extends ItemBase implements IBattery
|
||||||
{
|
{
|
||||||
itemStack.setTagCompound(new NBTTagCompound());
|
itemStack.setTagCompound(new NBTTagCompound());
|
||||||
}
|
}
|
||||||
return itemStack.getTagCompound().getFloat("energyStored");
|
|
||||||
|
float amount = itemStack.getTagCompound().getFloat("energyStored");
|
||||||
|
itemStack.setItemDamage((int)(100 - (amount / getMaxEnergyStored(itemStack)) * 100));
|
||||||
|
|
||||||
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getMaxEnergyStored()
|
public float getMaxEnergyStored(ItemStack itemStack)
|
||||||
{
|
{
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
|
@ -65,7 +70,7 @@ public class ItemCapacitor extends ItemBase implements IBattery
|
||||||
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
|
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
|
||||||
{
|
{
|
||||||
ItemStack chargedStack = new ItemStack(par1, 1, 0);
|
ItemStack chargedStack = new ItemStack(par1, 1, 0);
|
||||||
this.setEnergyStored(chargedStack, this.getMaxEnergyStored());
|
this.setEnergyStored(chargedStack, this.getMaxEnergyStored(chargedStack));
|
||||||
par3List.add(chargedStack);
|
par3List.add(chargedStack);
|
||||||
ItemStack unchargedStack = new ItemStack(par1, 1, 0);
|
ItemStack unchargedStack = new ItemStack(par1, 1, 0);
|
||||||
this.setEnergyStored(unchargedStack, 0);
|
this.setEnergyStored(unchargedStack, 0);
|
||||||
|
|
|
@ -18,6 +18,7 @@ import resonantinduction.api.ITesla;
|
||||||
import resonantinduction.base.IPacketReceiver;
|
import resonantinduction.base.IPacketReceiver;
|
||||||
import resonantinduction.base.ListUtil;
|
import resonantinduction.base.ListUtil;
|
||||||
import resonantinduction.base.TileEntityBase;
|
import resonantinduction.base.TileEntityBase;
|
||||||
|
import resonantinduction.tesla.TeslaGrid;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
|
@ -41,6 +42,11 @@ public class TileEntityBattery extends TileEntityBase implements IPacketReceiver
|
||||||
{
|
{
|
||||||
ticks++;
|
ticks++;
|
||||||
|
|
||||||
|
if(ticks == 1)
|
||||||
|
{
|
||||||
|
TeslaGrid.instance().register(this);
|
||||||
|
}
|
||||||
|
|
||||||
if(!worldObj.isRemote)
|
if(!worldObj.isRemote)
|
||||||
{
|
{
|
||||||
if(playersUsing.size() > 0)
|
if(playersUsing.size() > 0)
|
||||||
|
@ -75,11 +81,16 @@ public class TileEntityBattery extends TileEntityBase implements IPacketReceiver
|
||||||
|
|
||||||
prevStructure = structure;
|
prevStructure = structure;
|
||||||
|
|
||||||
if(structure != null)
|
structure.wroteInventory = false;
|
||||||
{
|
|
||||||
structure.didTick = false;
|
structure.didTick = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invalidate()
|
||||||
|
{
|
||||||
|
TeslaGrid.instance().unregister(this);
|
||||||
|
super.invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -207,7 +218,7 @@ public class TileEntityBattery extends TileEntityBase implements IPacketReceiver
|
||||||
IBattery battery = (IBattery)itemStack.getItem();
|
IBattery battery = (IBattery)itemStack.getItem();
|
||||||
|
|
||||||
float needed = amount-added;
|
float needed = amount-added;
|
||||||
float itemAdd = Math.min(battery.getMaxEnergyStored()-battery.getEnergyStored(itemStack), needed);
|
float itemAdd = Math.min(battery.getMaxEnergyStored(itemStack)-battery.getEnergyStored(itemStack), needed);
|
||||||
|
|
||||||
if(doAdd)
|
if(doAdd)
|
||||||
{
|
{
|
||||||
|
@ -273,7 +284,7 @@ public class TileEntityBattery extends TileEntityBase implements IPacketReceiver
|
||||||
{
|
{
|
||||||
if (itemStack.getItem() instanceof IBattery)
|
if (itemStack.getItem() instanceof IBattery)
|
||||||
{
|
{
|
||||||
max += ((IBattery) itemStack.getItem()).getMaxEnergyStored();
|
max += ((IBattery) itemStack.getItem()).getMaxEnergyStored(itemStack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ import net.minecraftforge.common.ForgeDirection;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import resonantinduction.ResonantInduction;
|
import resonantinduction.ResonantInduction;
|
||||||
|
import resonantinduction.battery.TileEntityBattery;
|
||||||
import resonantinduction.model.ModelBattery;
|
import resonantinduction.model.ModelBattery;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
@ -34,6 +35,8 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||||
public class RenderBattery extends TileEntitySpecialRenderer
|
public class RenderBattery extends TileEntitySpecialRenderer
|
||||||
{
|
{
|
||||||
public static final ResourceLocation TEXTURE = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "battery.png");
|
public static final ResourceLocation TEXTURE = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "battery.png");
|
||||||
|
public static final ResourceLocation TEXTURE_MULTI = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "battery_multi.png");
|
||||||
|
|
||||||
public static final ModelBattery MODEL = new ModelBattery();
|
public static final ModelBattery MODEL = new ModelBattery();
|
||||||
private EntityItem fakeBattery;
|
private EntityItem fakeBattery;
|
||||||
private Random random = new Random();
|
private Random random = new Random();
|
||||||
|
@ -56,7 +59,15 @@ public class RenderBattery extends TileEntitySpecialRenderer
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5);
|
GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5);
|
||||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||||
|
|
||||||
|
if(((TileEntityBattery)t).structure.isMultiblock)
|
||||||
|
{
|
||||||
|
this.func_110628_a(TEXTURE_MULTI);
|
||||||
|
}
|
||||||
|
else {
|
||||||
this.func_110628_a(TEXTURE);
|
this.func_110628_a(TEXTURE);
|
||||||
|
}
|
||||||
|
|
||||||
MODEL.render(0.0625f);
|
MODEL.render(0.0625f);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue