Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,6 @@ repositories {
name "ProfMobius"
url "http://mobiusstrip.eu/maven"
}
maven {
name "OC"
url "http://maven.cil.li/"
}
}

dependencies {
Expand All @@ -52,12 +48,14 @@ dependencies {
compile codeChickenLibVersion
compile argoVersion
compile wailaVersion
compile openCVersion
compile files(openCVersion)
compile files(rcVersion)
compile files(aeVersion)
compile files(cofhCoreVersion)
compile files(brVersion)
compile files(mekVersion)
compile files(buildcraftVersion)
compile files(gregtechVersion)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please fix indentations

}


Expand Down
10 changes: 6 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
forgeVersion=1.7.10-10.13.4.1558-1.7.10
ic2Version=net.industrial-craft:industrialcraft-2:2.2.817-experimental:dev
forgeVersion=1.7.10-10.13.4.1614-1.7.10
ic2Version=net.industrial-craft:industrialcraft-2:2.2.827-experimental:dev

codeChickenCoreVersion=codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev
notEnoughItemsVersion=codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev
codeChickenLibVersion=codechicken:CodeChickenLib:1.7.10-1.1.3.138:dev
argoVersion=net.sourceforge.argo:argo:3.19
wailaVersion=mcp.mobius.waila:Waila:1.5.10_1.7.10
openCVersion=li.cil.oc:OpenComputers:MC1.7.10-1.6.0.883-dev:dev

cofhCoreVersion=lib/CoFHCore-[1.7.10]3.1.2-325-dev.jar
brVersion=lib/BigReactors-0.4.3A.jar
aeVersion=lib/appliedenergistics2-rv3-beta-5-dev.jar
buildcraftVersion=lib/buildcraft-7.1.16-dev.jar
mekVersion=lib/Mekanism-1.7.10-8.1.7.252.jar
openCVersion=lib/OpenComputers-MC1.7.10-1.7.2.1166-universal.jar
rcVersion=lib/RotaryCraft1.7.10V19c.jar
gregtechVersion=lib/gregtech-5.09.32pre3stable.jar

newNuclearControlVersion=2.4.3a
newNuclearControlVersion=2.4.4a
Binary file not shown.
Binary file added lib/RotaryCraft1.7.10V19c.jar
Binary file not shown.
Binary file added lib/gregtech-5.09.32pre3stable.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -5,50 +5,51 @@
import net.minecraftforge.common.config.Configuration;

import java.io.File;
import java.util.UUID;
//import java.util.UUID;

public class ConfigurationHandler {
public Configuration configuration;
public Configuration configuration;

public void init(File configFile) {
if (configuration == null) {
configuration = new Configuration(configFile);
}
loadConfiguration();
}
public void init(File configFile) {
if (configuration == null) {
configuration = new Configuration(configFile);
}
loadConfiguration();
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please


private void loadConfiguration() {
try {
IC2NuclearControl.instance.alarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "alarmRange", 64).getInt();
IC2NuclearControl.instance.maxAlarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "maxAlarmRange", 128).getInt();
IC2NuclearControl.instance.allowedAlarms = configuration.get(Configuration.CATEGORY_GENERAL, "allowedAlarms", "default,sci-fi").getString().replaceAll(" ", "");
IC2NuclearControl.instance.remoteThermalMonitorEnergyConsumption = configuration.get(Configuration.CATEGORY_GENERAL, "remoteThermalMonitorEnergyConsumption", 1).getInt();
IC2NuclearControl.instance.screenRefreshPeriod = configuration.get(Configuration.CATEGORY_GENERAL, "infoPanelRefreshPeriod",20).getInt();
IC2NuclearControl.instance.rangeTriggerRefreshPeriod = configuration.get(Configuration.CATEGORY_GENERAL, "rangeTriggerRefreshPeriod", 20).getInt();
IC2NuclearControl.instance.SMPMaxAlarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "SMPMaxAlarmRange", 256).getInt();
IC2NuclearControl.instance.disableCapes = configuration.get(Configuration.CATEGORY_GENERAL, "disableCapes", false).getBoolean(false);
//IC2NuclearControl.isHttpSensorAvailableClient = configuration.getBoolean("isHttpSensorAvailableClient", Configuration.CATEGORY_GENERAL, false, "Turns on/off the recipes for the web upgrade client side");
//IC2NuclearControl.isHttpSensorAvailableServer = configuration.getBoolean("isHttpSensorAvailableServer", Configuration.CATEGORY_GENERAL, true, "Turns on/off the recipes for the web upgrade server side");
//IC2NuclearControl.instance.httpSensorKey = configuration.get(Configuration.CATEGORY_GENERAL, "httpSensorKey", UUID.randomUUID().toString().replace("-", "")).getString();
IC2NuclearControl.instance.recipes = configuration.getString("recipes", Configuration.CATEGORY_GENERAL, "normal", "Valid inputs: normal, old or gregtech");
}catch(Exception e) {
IC2NuclearControl.logger.error(
"Mod has a problem loading it's configuration", e);
}finally {
if(configuration.hasChanged()) {
configuration.save();
}
}
}
private void loadConfiguration() {
try {
IC2NuclearControl.instance.alarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "alarmRange", 64).getInt();
IC2NuclearControl.instance.maxAlarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "maxAlarmRange", 128).getInt();
IC2NuclearControl.instance.allowedAlarms = configuration.get(Configuration.CATEGORY_GENERAL, "allowedAlarms", "default,sci-fi").getString().replaceAll(" ", "");
IC2NuclearControl.instance.remoteThermalMonitorEnergyConsumption = configuration.get(Configuration.CATEGORY_GENERAL, "remoteThermalMonitorEnergyConsumption", 1).getInt();
IC2NuclearControl.instance.screenRefreshPeriod = configuration.get(Configuration.CATEGORY_GENERAL, "infoPanelRefreshPeriod", 20).getInt();
IC2NuclearControl.instance.dataRefreshPeriod = configuration.get(Configuration.CATEGORY_GENERAL, "sensorDataRefreshPeriod", 4, "can not be longer than infoPanelRefreshPeriod [default: 4]").getInt();
IC2NuclearControl.instance.rangeTriggerRefreshPeriod = configuration.get(Configuration.CATEGORY_GENERAL, "rangeTriggerRefreshPeriod", 20).getInt();
IC2NuclearControl.instance.SMPMaxAlarmRange = configuration.get(Configuration.CATEGORY_GENERAL, "SMPMaxAlarmRange", 256).getInt();
IC2NuclearControl.instance.disableCapes = configuration.get(Configuration.CATEGORY_GENERAL, "disableCapes", false).getBoolean(false);
//IC2NuclearControl.isHttpSensorAvailableClient = configuration.getBoolean("isHttpSensorAvailableClient", Configuration.CATEGORY_GENERAL, false, "Turns on/off the recipes for the web upgrade client side");
//IC2NuclearControl.isHttpSensorAvailableServer = configuration.getBoolean("isHttpSensorAvailableServer", Configuration.CATEGORY_GENERAL, true, "Turns on/off the recipes for the web upgrade server side");
//IC2NuclearControl.instance.httpSensorKey = configuration.get(Configuration.CATEGORY_GENERAL, "httpSensorKey", UUID.randomUUID().toString().replace("-", "")).getString();
IC2NuclearControl.instance.recipes = configuration.getString("recipes", Configuration.CATEGORY_GENERAL, "normal", "Valid inputs: normal, old or gregtech");
} catch (Exception e) {
IC2NuclearControl.logger.error(
"Mod has a problem loading it's configuration", e);
} finally {
if (configuration.hasChanged()) {
configuration.save();
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these conventions are bad, sorry :P

}
}

public void save(){
if (configuration.hasChanged()) {
configuration.save();
}
}
public void save() {
if (configuration.hasChanged()) {
configuration.save();
}
}

@SubscribeEvent
public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) {
loadConfiguration();
}
@SubscribeEvent
public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) {
loadConfiguration();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@
import shedar.mods.ic2.nuclearcontrol.blocks.BlockNuclearControlLight;
import shedar.mods.ic2.nuclearcontrol.blocks.BlockNuclearControlMain;
import shedar.mods.ic2.nuclearcontrol.crossmod.CrossModLoader;
import shedar.mods.ic2.nuclearcontrol.crossmod.ModLib;
import shedar.mods.ic2.nuclearcontrol.crossmod.RF.CrossBuildcraft;
import shedar.mods.ic2.nuclearcontrol.crossmod.RF.CrossRF;
import shedar.mods.ic2.nuclearcontrol.crossmod.gregtech.CrossGregTech;
import shedar.mods.ic2.nuclearcontrol.crossmod.gregtech.GregtechRecipes;
import shedar.mods.ic2.nuclearcontrol.crossmod.ic2.IC2Cross;
import shedar.mods.ic2.nuclearcontrol.crossmod.ic2.IC2Type;
Expand Down Expand Up @@ -54,7 +56,7 @@



@Mod(modid = "IC2NuclearControl", name = "Nuclear Control 2", version = "@VERSION@", dependencies = "required-after:IC2", guiFactory = "shedar.mods.ic2.nuclearcontrol.gui.GuiFactory")
@Mod(modid = "IC2NuclearControl", name = "Nuclear Control 2", version = "@VERSION@", dependencies = "required-after:IC2; after:gregtech;", guiFactory = "shedar.mods.ic2.nuclearcontrol.gui.GuiFactory")
public class IC2NuclearControl {

// The instance of your mod forge uses
Expand Down Expand Up @@ -108,6 +110,7 @@ public class IC2NuclearControl {
public int remoteThermalMonitorEnergyConsumption;
public ScreenManager screenManager = new ScreenManager();
public int screenRefreshPeriod;
public int dataRefreshPeriod;
public int rangeTriggerRefreshPeriod;
public boolean disableCapes;
public String recipes;
Expand All @@ -117,6 +120,7 @@ public class IC2NuclearControl {
public CrossRF crossRF;
public CrossOpenComputers crossOC;
public IC2Cross crossIc2;
public CrossGregTech crossGT;

protected void initBlocks() {
blockNuclearControlMain = new BlockNuclearControlMain();
Expand Down Expand Up @@ -227,6 +231,7 @@ public void postInit(FMLPostInitializationEvent event) {
} else {
RecipesNew.addRecipes();
}
crossGT = new CrossGregTech();
/*
//I thought about doing this, but I didn't :P
ItemStack dBlock = new ItemStack(Blocks.diamond_block);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ public class ModLib {
public static final String BIG_REACTORS = "BigReactors";
public static final String ENDER_IO = "EnderIO";
public static final String MEKANISM = "Mekanism";
public static final String GT = "gregtech";
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package shedar.mods.ic2.nuclearcontrol.crossmod.gregtech;

import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.items.GT_RadioactiveCell_Item;
import net.minecraft.item.ItemStack;

import gregtech.api.items.GT_RadioactiveCellIC_Item;
import shedar.mods.ic2.nuclearcontrol.IC2NuclearControl;
import shedar.mods.ic2.nuclearcontrol.crossmod.ModLib;

public class CrossGregTech {
private boolean _isApiAvailable;

public CrossGregTech() {
if(Loader.isModLoaded(ModLib.GT)) {
_isApiAvailable = true;
IC2NuclearControl.logger.info("[IC2NuclearControl] find GregTech");
} else {
_isApiAvailable = false;
}

}
public boolean isApiAvailable()
{
return _isApiAvailable;
}

public int getNuclearCellTimeLeft(ItemStack stack) {
if (!_isApiAvailable || stack == null) {
return 0;
}
try {
if (stack.getItem() instanceof GT_RadioactiveCellIC_Item) {
String rodName = stack.getUnlocalizedName();
GT_RadioactiveCell_Item rod = (GT_RadioactiveCell_Item) GameRegistry.findItem(ModLib.GT, rodName);
int maxDamage = rod.getMaxDamageEx();
int currentDmg = GT_RadioactiveCellIC_Item.getDurabilityOfStack(stack);
int dmg = maxDamage - currentDmg;
return (dmg > 0) ? dmg : 0;
} else {
return -1;
}
} catch (Exception e) {
IC2NuclearControl.logger.error(e);
return -1;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public int getNuclearCellTimeLeft(ItemStack par1) {
if (par1.getItem() instanceof ItemReactorUranium) {
return 10000 - par1.getItemDamage();
}
return 0;
return -1;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ public int getNuclearCellTimeLeft(ItemStack par1) {
}
if (par1.getItem() instanceof ItemReactorUranium || par1.getItem() instanceof ItemReactorLithiumCell || par1.getItem() instanceof ItemReactorMOX)
{
return par1.getMaxDamage() - par1.getItemDamage();
int dmg = par1.getMaxDamage() - par1.getItemDamage();
return (dmg > 0) ? dmg : 0;
}

return 0;
return -1;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ public class TileEntityInfoPanel extends TileEntity implements ISlotItemFilter,
protected int updateTicker;
protected int dataTicker;
protected int tickRate;
protected int dt;
protected int updatedataTicker;
public boolean init;
public ItemStack inventory[];
public NBTTagCompound screenData;
Expand Down Expand Up @@ -315,7 +317,9 @@ public TileEntityInfoPanel(int inventorySize) {
cardData = new HashMap<Integer, List<PanelString>>();
tickRate = IC2NuclearControl.instance.screenRefreshPeriod;
updateTicker = tickRate;
dataTicker = 4;
dt = IC2NuclearControl.instance.dataRefreshPeriod;
dataTicker = (dt > tickRate) ? tickRate : dt;
updatedataTicker = dataTicker;
displaySettings = new HashMap<Byte, Map<UUID, Integer>>(1);
displaySettings.put((byte) 0, new HashMap<UUID, Integer>());
powered = false;
Expand Down Expand Up @@ -394,10 +398,10 @@ public void updateEntity() {
if (!init) {
initData();
}
dataTicker--;
if (dataTicker <= 0) {
updatedataTicker--;
if (updatedataTicker <= 0) {
resetCardData();
dataTicker = 4;
updatedataTicker = dataTicker;
}
if (!worldObj.isRemote) {
if (updateTicker-- > 0)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package shedar.mods.ic2.nuclearcontrol.utils;

import cpw.mods.fml.common.Loader;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorChamber;
import net.minecraft.item.ItemStack;
Expand Down Expand Up @@ -78,7 +79,16 @@ public static boolean isProducing(IReactor reactor) {
}

public static int getNuclearCellTimeLeft(ItemStack rStack) {
return IC2NuclearControl.instance.crossIc2.getNuclearCellTimeLeft(rStack);
int val;
if (IC2NuclearControl.instance.crossGT.isApiAvailable()) {
val = IC2NuclearControl.instance.crossGT.getNuclearCellTimeLeft(rStack);
if (val == -1)
{
val = IC2NuclearControl.instance.crossIc2.getNuclearCellTimeLeft(rStack);
}
} else {
val = IC2NuclearControl.instance.crossIc2.getNuclearCellTimeLeft(rStack);
}
return val;
}

}