Move client configs to their own category, with new gui screen to match.

This commit is contained in:
Ben Spiers 2014-08-15 02:58:44 +01:00
parent 41e118ba2e
commit 3fcce24bac
12 changed files with 61 additions and 32 deletions

View file

@ -12,7 +12,6 @@ public class MekanismConfig
public static boolean dynamicTankEasterEgg = false;
public static boolean voiceServerEnabled = true;
public static boolean cardboardSpawners = true;
public static boolean machineEffects = true;
public static boolean enableWorldRegeneration = true;
public static boolean creativeOverrideElectricChest = true;
public static boolean spawnBabySkeletons = true;
@ -38,6 +37,15 @@ public class MekanismConfig
public static int laserRange = 100;
}
public static class client
{
public static boolean enableSounds = true;
public static boolean fancyUniversalCableRender = true;
public static boolean holidays = true;
public static double baseSoundVolume = 1;
public static boolean machineEffects = true;
}
public static class usage
{
public static double enrichmentChamberUsage;

View file

@ -4,6 +4,7 @@ import java.io.File;
import java.util.HashMap;
import mekanism.api.Coord4D;
import mekanism.api.MekanismConfig.client;
import mekanism.api.MekanismConfig.general;
import mekanism.client.entity.EntityLaser;
import mekanism.client.gui.GuiChemicalCrystallizer;
@ -182,11 +183,11 @@ public class ClientProxy extends CommonProxy
{
super.loadConfiguration();
MekanismClient.enableSounds = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnableSounds", true).getBoolean(true);
MekanismClient.fancyUniversalCableRender = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "FancyUniversalCableRender", true).getBoolean(true);
MekanismClient.holidays = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "Holidays", true).getBoolean(true);
MekanismClient.baseSoundVolume = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SoundVolume", 1D).getDouble(1D);
general.machineEffects = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "MachineEffects", true).getBoolean(true);
client.enableSounds = Mekanism.configuration.get("client", "EnableSounds", true).getBoolean(true);
client.fancyUniversalCableRender = Mekanism.configuration.get("client", "FancyUniversalCableRender", true).getBoolean(true);
client.holidays = Mekanism.configuration.get("client", "Holidays", true).getBoolean(true);
client.baseSoundVolume = Mekanism.configuration.get("client", "SoundVolume", 1D).getDouble(1D);
client.machineEffects = Mekanism.configuration.get("client", "MachineEffects", true).getBoolean(true);
if(Mekanism.configuration.hasChanged())
Mekanism.configuration.save();
@ -201,7 +202,7 @@ public class ClientProxy extends CommonProxy
@Override
public void registerSound(TileEntity tileEntity)
{
if(MekanismClient.enableSounds && MekanismClient.audioHandler != null)
if(client.enableSounds && MekanismClient.audioHandler != null)
{
synchronized(MekanismClient.audioHandler.soundMaps)
{
@ -213,7 +214,7 @@ public class ClientProxy extends CommonProxy
@Override
public void unregisterSound(TileEntity tileEntity)
{
if(MekanismClient.enableSounds && MekanismClient.audioHandler != null)
if(client.enableSounds && MekanismClient.audioHandler != null)
{
synchronized(MekanismClient.audioHandler.soundMaps)
{
@ -512,7 +513,7 @@ public class ClientProxy extends CommonProxy
@Override
public void loadSoundHandler()
{
if(MekanismClient.enableSounds)
if(client.enableSounds)
{
MekanismClient.audioHandler = new SoundHandler();
}
@ -521,7 +522,7 @@ public class ClientProxy extends CommonProxy
@Override
public void unloadSoundHandler()
{
if(MekanismClient.enableSounds)
if(client.enableSounds)
{
if(MekanismClient.audioHandler != null)
{

View file

@ -9,6 +9,7 @@ import java.util.Set;
import mekanism.api.EnumColor;
import mekanism.api.IClientTicker;
import mekanism.api.MekanismConfig.client;
import mekanism.api.gas.GasStack;
import mekanism.client.sound.FlamethrowerSound;
import mekanism.client.sound.GasMaskSound;
@ -97,7 +98,7 @@ public class ClientTickHandler
public void tickStart()
{
if(!preloadedSounds && MekanismClient.enableSounds && MekanismClient.audioHandler != null && MekanismClient.audioHandler.isSystemLoaded())
if(!preloadedSounds && client.enableSounds && MekanismClient.audioHandler != null && MekanismClient.audioHandler.isSystemLoaded())
{
preloadedSounds = true;

View file

@ -5,6 +5,7 @@ import java.util.Calendar;
import java.util.List;
import mekanism.api.EnumColor;
import mekanism.api.MekanismConfig.client;
import mekanism.common.Mekanism;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
@ -20,7 +21,7 @@ public final class HolidayManager
public static void init()
{
if(MekanismClient.holidays)
if(client.holidays)
{
holidays.add(new Christmas());
holidays.add(new NewYear());
@ -50,7 +51,7 @@ public final class HolidayManager
public static String filterSound(String sound)
{
if(!MekanismClient.holidays)
if(!client.holidays)
{
return sound;
}

View file

@ -21,12 +21,6 @@ public class MekanismClient extends Mekanism
public static VoiceClient voiceClient;
//General Configuration
public static boolean enableSounds = true;
public static boolean fancyUniversalCableRender = true;
public static boolean holidays = true;
public static double baseSoundVolume = 1;
public static long ticksPassed = 0;
public static void updateKey(KeyBinding key, int type)

View file

@ -27,6 +27,7 @@ public class GuiMekanismConfig extends GuiConfig
List<IConfigElement> list = new ArrayList<IConfigElement>();
list.add(new DummyCategoryElement("Mekanism General Settings", "mekanism.configgui.ctgy.general", GeneralEntry.class));
list.add(new DummyCategoryElement("Usage Settings", "mekanism.configgui.ctgy.usage", UsageEntry.class));
list.add(new DummyCategoryElement("Client Settings", "mekanism.configgui.ctgy.client", ClientEntry.class));
return list;
}
@ -63,4 +64,21 @@ public class GuiMekanismConfig extends GuiConfig
GuiConfig.getAbridgedConfigPath(Mekanism.configuration.toString()));
}
}
public static class ClientEntry extends CategoryEntry
{
public ClientEntry(GuiConfig owningScreen, GuiConfigEntries owningEntryList, IConfigElement prop)
{
super(owningScreen, owningEntryList, prop);
}
@Override
protected GuiScreen buildChildScreen()
{
return new GuiConfig(this.owningScreen,
new ConfigElement(Mekanism.configuration.getCategory("client")).getChildElements(),
this.owningScreen.modID, "client", false, false,
GuiConfig.getAbridgedConfigPath(Mekanism.configuration.toString()));
}
}
}

View file

@ -2,6 +2,7 @@ package mekanism.client.sound;
import java.net.URL;
import mekanism.api.MekanismConfig.client;
import mekanism.api.Pos3D;
import mekanism.client.MekanismClient;
import mekanism.common.Mekanism;
@ -174,7 +175,7 @@ public abstract class Sound
float masterVolume = MekanismClient.audioHandler.getMasterVolume();
double distance = mc.thePlayer.getDistance(getLocation().xPos, getLocation().yPos, getLocation().zPos);
volume = (float)Math.min(Math.max(masterVolume-((distance*.08F)*masterVolume), 0)*multiplier, 1);
volume *= Math.max(0, Math.min(1, MekanismClient.baseSoundVolume));
volume *= Math.max(0, Math.min(1, client.baseSoundVolume));
if(SoundHandler.getSoundSystem() != null)
{

View file

@ -14,8 +14,8 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import mekanism.api.Coord4D;
import mekanism.api.MekanismConfig.client;
import mekanism.client.HolidayManager;
import mekanism.client.MekanismClient;
import mekanism.common.Mekanism;
import mekanism.common.ObfuscatedNames;
import mekanism.common.util.MekanismUtils;
@ -86,7 +86,7 @@ public class SoundHandler
Mekanism.logger.info("Preloaded " + listings.size() + " object sounds.");
if(MekanismClient.holidays)
if(client.holidays)
{
listings = listFiles(corePath.replace("%20", " ").replace(".jar!", ".jar").replace("file:", ""), "assets/mekanism/sounds/holiday");

View file

@ -4,7 +4,7 @@ import java.util.List;
import java.util.Random;
import mekanism.api.Coord4D;
import mekanism.api.MekanismConfig.general;
import mekanism.api.MekanismConfig.client;
import mekanism.api.MekanismConfig.usage;
import mekanism.api.energy.IEnergizedItem;
import mekanism.client.ClientProxy;
@ -278,7 +278,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer
{
TileEntityBasicBlock tileEntity = (TileEntityBasicBlock)world.getTileEntity(x, y, z);
if(MekanismUtils.isActive(world, x, y, z) && ((IActiveState)tileEntity).renderUpdate() && general.machineEffects)
if(MekanismUtils.isActive(world, x, y, z) && ((IActiveState)tileEntity).renderUpdate() && client.machineEffects)
{
float xRandom = (float)x + 0.5F;
float yRandom = (float)y + 0.0F + random.nextFloat() * 6.0F / 16.0F;
@ -321,7 +321,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds, IPer
{
TileEntity tileEntity = world.getTileEntity(x, y, z);
if(general.machineEffects && tileEntity instanceof IActiveState)
if(client.machineEffects && tileEntity instanceof IActiveState)
{
if(((IActiveState)tileEntity).getActive() && ((IActiveState)tileEntity).lightUpdate())
{

View file

@ -48,7 +48,7 @@ import cpw.mods.fml.relauncher.SideOnly;
@Interface(iface = "buildcraft.api.transport.IPipeTile", modid = "BuildCraftAPI|transport")
public class PartLogisticalTransporter extends PartTransmitter<InventoryNetwork> implements ILogisticalTransporter, IPipeTile
{
public static TransmitterIcons transporterIcons = new TransmitterIcons(3, 2);
public static TransmitterIcons transporterIcons = new TransmitterIcons(3, 4);
public static final int SPEED = 5;
@ -86,7 +86,7 @@ public class PartLogisticalTransporter extends PartTransmitter<InventoryNetwork>
public static void registerIcons(IIconRegister register)
{
transporterIcons.registerCenterIcons(register, new String[] {"LogisticalTransporter", "RestrictiveTransporter", "DiversionTransporter"});
transporterIcons.registerSideIcons(register, new String[] {"LogisticalTransporterSide", "RestrictiveTransporterSide"});
transporterIcons.registerSideIcons(register, new String[] {"LogisticalTransporterVertical", "LogisticalTransporterHorizontal", "RestrictiveTransporterVertical", "RestrictiveTransporterVertical"});
}
@Override
@ -124,6 +124,12 @@ public class PartLogisticalTransporter extends PartTransmitter<InventoryNetwork>
return transporterIcons.getSideIcon(0);
}
@Override
public IIcon getSideIconRotated()
{
return transporterIcons.getSideIcon(1);
}
@Override
public boolean isValidAcceptor(TileEntity tile, ForgeDirection side)
{

View file

@ -5,11 +5,11 @@ import ic2.api.energy.tile.IEnergySource;
import java.util.List;
import java.util.Set;
import mekanism.api.MekanismConfig.client;
import mekanism.api.MekanismConfig.general;
import mekanism.api.energy.IStrictEnergyAcceptor;
import mekanism.api.transmitters.IGridTransmitter;
import mekanism.api.transmitters.TransmissionType;
import mekanism.client.MekanismClient;
import mekanism.client.render.RenderPartTransmitter;
import mekanism.common.EnergyNetwork;
import mekanism.common.Tier;
@ -226,7 +226,7 @@ public class PartUniversalCable extends PartTransmitter<EnergyNetwork> implement
@SideOnly(Side.CLIENT)
public void renderDynamic(Vector3 pos, float frame, int pass)
{
if(pass == 0 && MekanismClient.fancyUniversalCableRender)
if(pass == 0 && client.fancyUniversalCableRender)
{
RenderPartTransmitter.getInstance().renderContents(this, pos);
}

View file

@ -16,6 +16,7 @@ import java.util.Map;
import mekanism.api.Chunk3D;
import mekanism.api.Coord4D;
import mekanism.api.EnumColor;
import mekanism.api.MekanismConfig.client;
import mekanism.api.MekanismConfig.general;
import mekanism.api.gas.Gas;
import mekanism.api.gas.GasStack;
@ -42,10 +43,8 @@ import mekanism.common.item.ItemBlockEnergyCube;
import mekanism.common.item.ItemBlockGasTank;
import mekanism.common.network.PacketElectricChest.ElectricChestMessage;
import mekanism.common.network.PacketElectricChest.ElectricChestPacketType;
import mekanism.common.tank.DynamicTankCache;
import mekanism.common.tile.TileEntityAdvancedBoundingBlock;
import mekanism.common.tile.TileEntityBoundingBlock;
import mekanism.common.tile.TileEntityDynamicTank;
import mekanism.common.tile.TileEntityElectricChest;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@ -697,7 +696,7 @@ public final class MekanismUtils
world.func_147479_m(x, y, z);
}
if(!(world.getTileEntity(x, y, z) instanceof IActiveState) || ((IActiveState)world.getTileEntity(x, y, z)).lightUpdate() && general.machineEffects)
if(!(world.getTileEntity(x, y, z) instanceof IActiveState) || ((IActiveState)world.getTileEntity(x, y, z)).lightUpdate() && client.machineEffects)
{
updateAllLightTypes(world, x, y, z);
}