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:
parent
fe1fdd5130
commit
d7782bcdec
9 changed files with 97 additions and 12 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue