generated from tilera/1710mod
189 lines
8.6 KiB
Java
189 lines
8.6 KiB
Java
package mffs;
|
|
|
|
import java.io.File;
|
|
|
|
import cpw.mods.fml.common.Loader;
|
|
import mffs.api.Blacklist;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraftforge.common.config.Configuration;
|
|
import net.minecraftforge.common.config.Property;
|
|
|
|
public class Settings {
|
|
public static final Configuration CONFIGURATION;
|
|
public static final int BLOCK_ID_PREFIX = 1680;
|
|
public static final int ITEM_ID_PREFIX = 11130;
|
|
private static int NEXT_BLOCK_ID;
|
|
private static int NEXT_ITEM_ID;
|
|
public static int MAX_FORCE_FIELDS_PER_TICK;
|
|
public static int MAX_FORCE_FIELD_SCALE;
|
|
public static boolean INTERACT_CREATIVE;
|
|
public static boolean LOAD_CHUNKS;
|
|
public static boolean OP_OVERRIDE;
|
|
public static boolean USE_CACHE;
|
|
public static boolean ENABLE_ELECTRICITY;
|
|
public static boolean CONSERVE_PACKETS;
|
|
public static boolean HIGH_GRAPHICS;
|
|
public static int INTERDICTION_MURDER_ENERGY;
|
|
public static final int MAX_FREQUENCY_DIGITS = 6;
|
|
public static boolean ENABLE_MANIPULATOR;
|
|
|
|
public static int getNextBlockID() {
|
|
return ++Settings.NEXT_BLOCK_ID;
|
|
}
|
|
|
|
public static int getNextItemID() {
|
|
return ++Settings.NEXT_ITEM_ID;
|
|
}
|
|
|
|
public static void load() {
|
|
Settings.CONFIGURATION.load();
|
|
Settings.ENABLE_MANIPULATOR
|
|
= Settings.CONFIGURATION
|
|
.get("general", "Enable Force Manipulator", Settings.ENABLE_MANIPULATOR)
|
|
.getBoolean(Settings.ENABLE_MANIPULATOR);
|
|
final Property propFieldScale = Settings.CONFIGURATION.get(
|
|
"general", "Max Force Field Scale", Settings.MAX_FORCE_FIELD_SCALE
|
|
);
|
|
Settings.MAX_FORCE_FIELD_SCALE
|
|
= propFieldScale.getInt(Settings.MAX_FORCE_FIELD_SCALE);
|
|
final Property propInterdiction = Settings.CONFIGURATION.get(
|
|
"general",
|
|
"Interdiction Murder Fortron Consumption",
|
|
Settings.INTERDICTION_MURDER_ENERGY
|
|
);
|
|
Settings.INTERDICTION_MURDER_ENERGY
|
|
= propInterdiction.getInt(Settings.INTERDICTION_MURDER_ENERGY);
|
|
final Property propCreative = Settings.CONFIGURATION.get(
|
|
"general", "Effect Creative Players", Settings.INTERACT_CREATIVE
|
|
);
|
|
propCreative.comment
|
|
= "Should the interdiction matrix interact with creative players?.";
|
|
Settings.INTERACT_CREATIVE = propCreative.getBoolean(Settings.INTERACT_CREATIVE);
|
|
final Property propChunkLoading
|
|
= Settings.CONFIGURATION.get("general", "Load Chunks", Settings.LOAD_CHUNKS);
|
|
propChunkLoading.comment
|
|
= "Set this to false to turn off the MFFS Chunkloading capabilities.";
|
|
Settings.LOAD_CHUNKS = propChunkLoading.getBoolean(Settings.LOAD_CHUNKS);
|
|
final Property propOpOverride
|
|
= Settings.CONFIGURATION.get("general", "Op Override", Settings.OP_OVERRIDE);
|
|
propOpOverride.comment
|
|
= "Allow the operator(s) to override security measures created by MFFS?";
|
|
Settings.OP_OVERRIDE = propOpOverride.getBoolean(Settings.OP_OVERRIDE);
|
|
final Property propUseCache
|
|
= Settings.CONFIGURATION.get("general", "Use Cache", Settings.USE_CACHE);
|
|
propUseCache.comment
|
|
= "Cache allows temporary data saving to decrease calculations required.";
|
|
Settings.USE_CACHE = propUseCache.getBoolean(Settings.USE_CACHE);
|
|
final Property maxFFGenPerTick = Settings.CONFIGURATION.get(
|
|
"general", "Field Calculation Per Tick", Settings.MAX_FORCE_FIELDS_PER_TICK
|
|
);
|
|
maxFFGenPerTick.comment
|
|
= "How many force field blocks can be generated per tick? Less reduces lag.";
|
|
Settings.MAX_FORCE_FIELDS_PER_TICK
|
|
= maxFFGenPerTick.getInt(Settings.MAX_FORCE_FIELDS_PER_TICK);
|
|
final Property useElectricity = Settings.CONFIGURATION.get(
|
|
"general", "Require Electricity?", Settings.ENABLE_ELECTRICITY
|
|
);
|
|
useElectricity.comment
|
|
= "Turning this to false will make MFFS run without electricity or energy systems required. Great for vanilla!";
|
|
Settings.ENABLE_ELECTRICITY
|
|
= useElectricity.getBoolean(Settings.ENABLE_ELECTRICITY);
|
|
final Property conservePackets = Settings.CONFIGURATION.get(
|
|
"general", "Conserve Packets?", Settings.CONSERVE_PACKETS
|
|
);
|
|
conservePackets.comment
|
|
= "Turning this to false will enable better client side packet and updates but in the cost of more packets sent.";
|
|
Settings.CONSERVE_PACKETS = conservePackets.getBoolean(Settings.CONSERVE_PACKETS);
|
|
final Property highGraphics = Settings.CONFIGURATION.get(
|
|
"general", "High Graphics", Settings.HIGH_GRAPHICS
|
|
);
|
|
highGraphics.comment
|
|
= "Turning this to false will reduce rendering and client side packet graphical packets.";
|
|
Settings.CONSERVE_PACKETS = highGraphics.getBoolean(Settings.HIGH_GRAPHICS);
|
|
final Property forceManipulatorBlacklist
|
|
= Settings.CONFIGURATION.get("general", "Force Manipulator Blacklist", "");
|
|
highGraphics.comment
|
|
= "Put a list of block IDs to be not-moved by the force manipulator. Separate by commas, no space.";
|
|
final String blackListString = forceManipulatorBlacklist.getString();
|
|
if (blackListString != null) {
|
|
for (final String blockIDString : blackListString.split(",")) {
|
|
Block b = Block.getBlockFromName(blockIDString);
|
|
if (b == null) {
|
|
ModularForceFieldSystem.LOGGER.severe(
|
|
"Invalid block blacklist ID \'" + blockIDString + "\'!"
|
|
);
|
|
continue;
|
|
}
|
|
|
|
Blacklist.forceManipulationBlacklist.add(b);
|
|
}
|
|
}
|
|
|
|
final Property blacklist1
|
|
= Settings.CONFIGURATION.get("general", "Stabilization Blacklist", "");
|
|
final String blackListString2 = blacklist1.getString();
|
|
if (blackListString2 != null) {
|
|
for (final String blockIDString2 : blackListString2.split(",")) {
|
|
Block b = Block.getBlockFromName(blockIDString2);
|
|
if (b == null) {
|
|
ModularForceFieldSystem.LOGGER.severe(
|
|
"Invalid block blacklist ID \'" + blockIDString2 + "\'!"
|
|
);
|
|
continue;
|
|
}
|
|
|
|
Blacklist.stabilizationBlacklist.add(b);
|
|
}
|
|
}
|
|
final Property blacklist2
|
|
= Settings.CONFIGURATION.get("general", "Disintegration Blacklist", "");
|
|
final String blackListString3 = blacklist2.getString();
|
|
if (blackListString3 != null) {
|
|
for (final String blockIDString3 : blackListString3.split(",")) {
|
|
if (blockIDString3 != null && !blockIDString3.isEmpty()) {
|
|
Block b = Block.getBlockFromName(blockIDString3);
|
|
if (b == null) {
|
|
ModularForceFieldSystem.LOGGER.severe(
|
|
"Invalid block blacklist ID \'" + blockIDString3 + "\'!"
|
|
);
|
|
continue;
|
|
}
|
|
|
|
Blacklist.disintegrationBlacklist.add(b);
|
|
}
|
|
}
|
|
}
|
|
Blacklist.stabilizationBlacklist.add(Blocks.water);
|
|
Blacklist.stabilizationBlacklist.add(Blocks.flowing_water);
|
|
Blacklist.stabilizationBlacklist.add(Blocks.lava);
|
|
Blacklist.stabilizationBlacklist.add(Blocks.flowing_lava);
|
|
Blacklist.disintegrationBlacklist.add(Blocks.water);
|
|
Blacklist.disintegrationBlacklist.add(Blocks.flowing_water);
|
|
Blacklist.disintegrationBlacklist.add(Blocks.lava);
|
|
Blacklist.stabilizationBlacklist.add(Blocks.flowing_lava);
|
|
Blacklist.forceManipulationBlacklist.add(Blocks.bedrock);
|
|
Blacklist.forceManipulationBlacklist.add(ModularForceFieldSystem.blockForceField);
|
|
Settings.CONFIGURATION.save();
|
|
}
|
|
|
|
static {
|
|
CONFIGURATION = new Configuration(
|
|
new File(Loader.instance().getConfigDir(), "Modular Force Field System.cfg")
|
|
);
|
|
Settings.NEXT_BLOCK_ID = 1680;
|
|
Settings.NEXT_ITEM_ID = 11130;
|
|
Settings.MAX_FORCE_FIELDS_PER_TICK = 1000;
|
|
Settings.MAX_FORCE_FIELD_SCALE = 200;
|
|
Settings.INTERACT_CREATIVE = true;
|
|
Settings.LOAD_CHUNKS = true;
|
|
Settings.OP_OVERRIDE = true;
|
|
Settings.USE_CACHE = true;
|
|
Settings.ENABLE_ELECTRICITY = true;
|
|
Settings.CONSERVE_PACKETS = true;
|
|
Settings.HIGH_GRAPHICS = true;
|
|
Settings.INTERDICTION_MURDER_ENERGY = 0;
|
|
Settings.ENABLE_MANIPULATOR = true;
|
|
}
|
|
}
|