v4.3 Ninjafix #2

*Added missing javadocs.
*Fixed energy transfer system.
*Fixed packets sent every tick.
*Fixed BC hooks.
*Fixed broken sounds.
This commit is contained in:
Aidan Brady 2012-10-31 10:49:04 -04:00
parent fe1fdd5130
commit d7782bcdec
9 changed files with 97 additions and 12 deletions

View file

@ -32,6 +32,14 @@ public class ContainerAdvancedElectricMachine extends Container
{
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
}
tileEntity.openChest();
}
public void onCraftGuiClosed(EntityPlayer entityplayer)
{
super.onCraftGuiClosed(entityplayer);
tileEntity.closeChest();
}
public boolean canInteractWith(EntityPlayer par1EntityPlayer)

View file

@ -31,6 +31,14 @@ public class ContainerElectricMachine extends Container
{
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
}
tileEntity.openChest();
}
public void onCraftGuiClosed(EntityPlayer entityplayer)
{
super.onCraftGuiClosed(entityplayer);
tileEntity.closeChest();
}
public boolean canInteractWith(EntityPlayer par1EntityPlayer)

View file

@ -29,6 +29,14 @@ public class ContainerGenerator extends Container
{
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
}
tileEntity.openChest();
}
public void onCraftGuiClosed(EntityPlayer entityplayer)
{
super.onCraftGuiClosed(entityplayer);
tileEntity.closeChest();
}
public boolean canInteractWith(EntityPlayer par1EntityPlayer)

View file

@ -29,7 +29,15 @@ public class ContainerPowerUnit extends Container
{
addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142));
}
}
tileEntity.openChest();
}
public void onCraftGuiClosed(EntityPlayer entityplayer)
{
super.onCraftGuiClosed(entityplayer);
tileEntity.closeChest();
}
public boolean canInteractWith(EntityPlayer par1EntityPlayer)
{

View file

@ -25,13 +25,13 @@ public class ObsidianHooks
public boolean IC2Loaded = false;
public boolean RailcraftLoaded = false;
public boolean UELoaded = false;
public boolean BCLoaded = false;
public void hook()
{
if(isIC2Installed()) IC2Loaded = true;
if(isRailcraftInstalled()) RailcraftLoaded = true;
if(isUEInstalled()) UELoaded = true;
if(isUEInstalled()) BCLoaded = true;
if(IC2Loaded)
{
@ -49,6 +49,10 @@ public class ObsidianHooks
System.out.println("[ObsidianIngots] Hooked into Railcraft successfully.");
}
if(BCLoaded)
{
System.out.println("[ObsidianIngots] Hooked into BasicComponents successfully.");
}
}
/**
@ -120,7 +124,7 @@ public class ObsidianHooks
public boolean isUEInstalled()
{
try {
if(BCLoader == null) BCLoader = Class.forName("basiccomponents.BasicComponents");
if(BCLoader == null) BCLoader = Class.forName("basiccomponents.BCLoader");
Object ret = BCLoader.getField("instance").get(null);
if(ret != null)
@ -129,7 +133,7 @@ public class ObsidianHooks
}
return false;
} catch(Exception e) {
System.out.println("[ObsidianIngots] Unable to hook into UniversalElectricity.");
System.out.println("[ObsidianIngots] Unable to hook into BasicComponents.");
return false;
}
}

View file

@ -80,18 +80,21 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
if(PowerFramework.currentFramework != null)
{
powerProvider = PowerFramework.currentFramework.createPowerProvider();
powerProvider.configure(20, 25, 25, 25, maxEnergy/10);
powerProvider.configure(5, 2, 10, 1, maxEnergy/10);
}
}
public void onUpdate()
{
if(audio == null && worldObj.isRemote)
if(audio == null && worldObj != null && worldObj.isRemote)
{
audio = ObsidianIngots.audioHandler.getSound(fullName.replace(" ", ""), soundURL, worldObj, xCoord, yCoord, zCoord);
if(FMLClientHandler.instance().getClient().sndManager.sndSystem != null)
{
audio = ObsidianIngots.audioHandler.getSound(fullName.replace(" ", ""), soundURL, worldObj, xCoord, yCoord, zCoord);
}
}
if(worldObj.isRemote)
if(worldObj != null && worldObj.isRemote && audio != null)
{
audio.updateVolume(FMLClientHandler.instance().getClient().thePlayer);
if(!audio.isPlaying && isActive == true)
@ -215,7 +218,19 @@ public abstract class TileEntityBasicMachine extends TileEntityElectricBlock imp
public void onReceive(TileEntity sender, double amps, double voltage, ForgeDirection side)
{
setEnergy(energyStored + (int)(ElectricInfo.getJoules(amps, voltage)*UniversalElectricity.TO_IC2_RATIO));
int energyToReceive = (int)(ElectricInfo.getJoules(amps, voltage)*UniversalElectricity.TO_IC2_RATIO);
int energyNeeded = currentMaxEnergy - energyStored;
int energyToStore = 0;
if(energyToReceive <= energyNeeded)
{
energyToStore = energyToReceive;
}
else if(energyToReceive > energyNeeded)
{
energyToStore = energyNeeded;
}
setEnergy(energyStored + energyToStore);
}
/**

View file

@ -408,7 +408,19 @@ public class TileEntityPowerUnit extends TileEntityElectricBlock implements IEne
public void onReceive(TileEntity sender, double amps, double voltage, ForgeDirection side)
{
setEnergy(energyStored + (int)(ElectricInfo.getJoules(amps, voltage)*UniversalElectricity.TO_IC2_RATIO));
int energyToReceive = (int)(ElectricInfo.getJoules(amps, voltage)*UniversalElectricity.TO_IC2_RATIO);
int energyNeeded = MAX_ENERGY - energyStored;
int energyToStore = 0;
if(energyToReceive <= energyNeeded)
{
energyToStore = energyToReceive;
}
else if(energyToReceive > energyNeeded)
{
energyToStore = energyNeeded;
}
setEnergy(energyStored + energyToStore);
}
public double wattRequest()

View file

@ -2,9 +2,24 @@ package obsidian.api;
import net.minecraftforge.common.ForgeDirection;
/**
* Implement this if your tile entity accepts energy from a foreign, external source.
* @author AidanBrady
*
*/
public interface IEnergyAcceptor
{
/**
* Transfer a certain amount of energy to this acceptor.
* @param amount - amount to transfer
* @return rejects
*/
public int transferToAcceptor(int amount);
/**
* Whether or not this tile entity accepts energy from a certain side.
* @param side - side to check
* @return if tile entity accepts energy
*/
public boolean canReceive(ForgeDirection side);
}

View file

@ -39,7 +39,14 @@ public class SoundHandler
*/
public Sound getSound(String name, String path, World world, int x, int y, int z)
{
return new Sound(soundSystem, getSoundName(name), path, world, x, y, z);
if(soundSystem != null)
{
return new Sound(soundSystem, getSoundName(name), path, world, x, y, z);
}
else {
soundSystem = FMLClientHandler.instance().getClient().sndManager.sndSystem;
return new Sound(soundSystem, getSoundName(name), path, world, x, y, z);
}
}
/**