package shedar.mods.ic2.nuclearcontrol.crossmod.RF; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.tileentity.TileEntity; import shedar.mods.ic2.nuclearcontrol.crossmod.EnergyStorageData; import shedar.mods.ic2.nuclearcontrol.crossmod.ModLib; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityAverageCounter; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityEnergyCounter; public class CrossRF { public boolean _RFModPresent = false; public CrossRF(){ if(Loader.isModLoaded(ModLib.TE) || Loader.isModLoaded(ModLib.BC)){ _RFModPresent = true; registerTiles(); } else { _RFModPresent = false; } } public void registerTiles(){ GameRegistry.registerTileEntity(RFTileEntityAverageCounter.class, "IC2NCAverageCounterRF"); GameRegistry.registerTileEntity(RFTileEntityEnergyCounter.class, "IC2NCEnergyCounterRF"); } public TileEntityAverageCounter getAverageCounter(){ if(_RFModPresent){ try{ return (TileEntityAverageCounter)Class.forName("shedar.mods.ic2.nuclearcontrol.crossmod.RF.RFTileEntityAverageCounter").newInstance(); } catch (Exception e) { e.printStackTrace(); } } return null; } public TileEntityEnergyCounter getEnergyCounter(){ if(_RFModPresent){ try{ return (TileEntityEnergyCounter)Class.forName("shedar.mods.ic2.nuclearcontrol.crossmod.RF.RFTileEntityEnergyCounter").newInstance(); } catch (Exception e){ e.printStackTrace(); } } return null; } public EnergyStorageData getStorageData(TileEntity target) { if(!_RFModPresent || target == null) return null; RFTileEntityAverageCounter tile = new RFTileEntityAverageCounter(); if(tile.storage == null) return null; EnergyStorageData result = new EnergyStorageData(); result.capacity = tile.storage.getMaxEnergyStored(); result.stored = tile.storage.getEnergyStored(); result.units = EnergyStorageData.UNITS_RF; result.type = EnergyStorageData.TARGET_TYPE_RF; return result; } }