From adaab2ed3c4dcd0c54294f6c783f42946bb2444d Mon Sep 17 00:00:00 2001 From: Hea3veN Date: Thu, 28 May 2015 20:19:55 -0300 Subject: [PATCH] start cleaning up getting ready for a stable release --- .../api/blueprints/MappingRegistry.java | 16 +++---- .../assets/buildcraft/lang/en_US.lang | 24 ++++++++++ buildcraft_resources/changelog/7.0.6 | 9 ++-- common/buildcraft/BuildCraftCore.java | 2 +- common/buildcraft/BuildCraftEnergy.java | 45 +++++++++++-------- common/buildcraft/BuildCraftRobotics.java | 29 ++++++++++-- .../buildcraft/core/config/ConfigManager.java | 38 ++++++++++------ .../silicon/ItemRedstoneChipset.java | 2 +- 8 files changed, 115 insertions(+), 50 deletions(-) diff --git a/api/buildcraft/api/blueprints/MappingRegistry.java b/api/buildcraft/api/blueprints/MappingRegistry.java index 64470e8a..543a0eab 100755 --- a/api/buildcraft/api/blueprints/MappingRegistry.java +++ b/api/buildcraft/api/blueprints/MappingRegistry.java @@ -289,10 +289,10 @@ public class MappingRegistry { nbt.setTag("entitiesMapping", entitiesMapping); - System.out.println("[W] idToItem size : " + idToItem.size()); - for (Item i : idToItem) { - System.out.println("- " + (i != null ? i.toString() : "null")); - } +// System.out.println("[W] idToItem size : " + idToItem.size()); +// for (Item i : idToItem) { +// System.out.println("- " + (i != null ? i.toString() : "null")); +// } } private Object getMissingMappingFromFML(boolean isBlock, String name, int i) { @@ -418,9 +418,9 @@ public class MappingRegistry { } } - System.out.println("[R] idToItem size : " + idToItem.size()); - for (Item i : idToItem) { - System.out.println("- " + (i != null ? i.toString() : "null")); - } +// System.out.println("[R] idToItem size : " + idToItem.size()); +// for (Item i : idToItem) { +// System.out.println("- " + (i != null ? i.toString() : "null")); +// } } } diff --git a/buildcraft_resources/assets/buildcraft/lang/en_US.lang b/buildcraft_resources/assets/buildcraft/lang/en_US.lang index 8943594c..bfeba379 100644 --- a/buildcraft_resources/assets/buildcraft/lang/en_US.lang +++ b/buildcraft_resources/assets/buildcraft/lang/en_US.lang @@ -79,6 +79,7 @@ config.general=General config.general.pipes=Pipes config.blueprints=Blueprints config.power=Power Usage +config.experimental=Experimental config.display=Display config.worldgen=World Generation config.network=Networking @@ -92,15 +93,31 @@ config.display.colorBlindMode=Colorblind mode config.display.hideFluidValues=Hide fluid numbers config.display.hidePowerValues=Hide power numbers +config.experimental.kinesisPowerLossOnTravel=Kinesis pipes power perdition + +config.general.boards.blacklist=Robot blacklist config.general.pumpsConsumeWater=Pumps consume water config.general.updateCheck=Check for updates +config.general.fuel.fuel.combustion=Combustion engine fuel multiplier +config.general.fuel.lava.combustion=Combustion engine lava multiplier +config.general.fuel.oil.combustion=Combustion engine oil multiplier +config.general.fuel.fuel.combustion.energyOutput=Combustion engine fuel output +config.general.fuel.lava.combustion.energyOutput=Combustion engine lava output +config.general.fuel.oil.combustion.energyOutput=Combustion engine oil output config.general.itemLifespan=Item lifespan (seconds) config.general.canEnginesExplode=Engines explode config.general.oilCanBurn=Burning oil config.general.oilIsDense=Dense oil +config.general.pipes.baseFluidRate=Base flow rate +config.general.pipes.facadeBlacklist=Facade blacklist +config.general.pipes.facadeBlacklistAsWhitelist=Invert facade blacklist +config.general.pipes.facadeNoLaserRecipe=Add facade recipe without laser +config.general.pipes.hardness=Hardness +config.general.pipes.slimeballWaterproofRecipe=Add slimeball sealant recipe config.general.quarry=Quarry Options config.general.quarry.oneTimeUse=One-time use config.general.quarry.doChunkLoading=Automatic chunk loading +config.general.markerRange=Range of markers config.general.miningDepth=Maximum relative mining depth config.general.pumpDimensionControl=Pump dimension control @@ -109,10 +126,17 @@ config.network.updateFactor=Packet sending factor (ticks) config.power.miningUsageMultiplier=Mining usage multiplier config.power.chipsetCostMultiplier=Chipset cost multiplier +config.power.gateCostMultiplier=Gate cost multiplier config.worldgen.enable=Enable +config.worldgen.generateWaterSprings=Spawn water springs config.worldgen.oilWellGenerationRate=Oil well generation rate config.worldgen.spawnOilSprings=Spawn oil springs +config.worldgen.biomes.biomeOilDesert=Oil Desert biome id +config.worldgen.biomes.biomeOilOcean=Oil Ocean biome id +config.worldgen.biomes.excessiveOilIDs=Biomes with excessive oil +config.worldgen.biomes.excludeOilIDs=Biomes without oil +config.worldgen.biomes.increasedOilIDs=Biomes with increased oil direction.north=North diff --git a/buildcraft_resources/changelog/7.0.6 b/buildcraft_resources/changelog/7.0.6 index bbb5db62..4316d1e1 100644 --- a/buildcraft_resources/changelog/7.0.6 +++ b/buildcraft_resources/changelog/7.0.6 @@ -1,6 +1,7 @@ Bugs fixed: -* [#2730] fix integration table using energy when it has an invalid recipe (hea3ven) -* [#2694] fix client/server desync on the gate copier item (hea3ven) -* fix gate expansion recipe ignoring the input's stack size (hea3ven) -* fix planters dropping items in stead of planting (hea3ven) +* [#2730] Fix integration table using energy when it has an invalid recipe (hea3ven) +* [#2694] Fix client/server desync on the gate copier item (hea3ven) +* Fix gate expansion recipe ignoring the input's stack size (hea3ven) +* Fix planters dropping items in stead of planting (hea3ven) +* Use the OreDict for the pipes recipes (ganymedes01) diff --git a/common/buildcraft/BuildCraftCore.java b/common/buildcraft/BuildCraftCore.java index 58fd4e33..89e0f8e6 100644 --- a/common/buildcraft/BuildCraftCore.java +++ b/common/buildcraft/BuildCraftCore.java @@ -148,7 +148,7 @@ public class BuildCraftCore extends BuildCraftMod { public static BuildCraftCore instance; public static final boolean NONRELEASED_BLOCKS = true; - public static final boolean TABLET_TESTING = true; + public static final boolean TABLET_TESTING = false; public enum RenderMode { Full, NoDynamic diff --git a/common/buildcraft/BuildCraftEnergy.java b/common/buildcraft/BuildCraftEnergy.java index f5649547..ffd2ad6e 100644 --- a/common/buildcraft/BuildCraftEnergy.java +++ b/common/buildcraft/BuildCraftEnergy.java @@ -21,6 +21,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.biome.BiomeGenBase; + import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; @@ -34,6 +35,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; + import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.MinecraftForge; @@ -55,6 +57,7 @@ import buildcraft.core.DefaultProps; import buildcraft.core.InterModComms; import buildcraft.core.Version; import buildcraft.core.config.ConfigManager; +import buildcraft.core.config.ConfigManager.RestartRequirement; import buildcraft.core.lib.block.BlockBuildCraftFluid; import buildcraft.core.lib.engines.TileEngineBase; import buildcraft.core.lib.engines.TileEngineBase.EnergyStage; @@ -120,40 +123,44 @@ public class BuildCraftEnergy extends BuildCraftMod { BuildcraftFuelRegistry.fuel = FuelManager.INSTANCE; BuildcraftFuelRegistry.coolant = CoolantManager.INSTANCE; - int oilDesertBiomeId = BuildCraftCore.mainConfiguration.get("worldgen.biomes", "biomeOilDesert", DefaultProps.BIOME_OIL_DESERT).getInt(DefaultProps.BIOME_OIL_DESERT); - int oilOceanBiomeId = BuildCraftCore.mainConfiguration.get("worldgen.biomes", "biomeOilOcean", DefaultProps.BIOME_OIL_OCEAN).getInt(DefaultProps.BIOME_OIL_OCEAN); + // TODO: Reload configs without having to close the game + int oilDesertBiomeId = BuildCraftCore.mainConfigManager.register("worldgen.biomes", + "biomeOilDesert", DefaultProps.BIOME_OIL_DESERT, "The id for the Oil Desert biome", + RestartRequirement.GAME).getInt(); + int oilOceanBiomeId = BuildCraftCore.mainConfigManager.register("worldgen.biomes", + "biomeOilOcean", DefaultProps.BIOME_OIL_OCEAN, "The id for the Oil Ocean biome", + RestartRequirement.GAME).getInt(); BuildCraftCore.mainConfigManager.register("worldgen.spawnOilSprings", true, "Should I spawn oil springs?", ConfigManager.RestartRequirement.GAME); BuildCraftCore.mainConfigManager.register("worldgen.oilWellGenerationRate", 1.0D, "How high should be the probability of an oil well generating?", ConfigManager.RestartRequirement.NONE); setBiomeList( OilPopulate.INSTANCE.surfaceDepositBiomes, - BuildCraftCore.mainConfiguration - .get("worldgen.biomes", "increasedOilIDs", + BuildCraftCore.mainConfigManager + .register("worldgen.biomes", "increasedOilIDs", new String[] {BiomeDictionary.Type.SANDY.toString(), BiomeGenBase.taiga.biomeName}, - "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that should have increased oil generation rates.")); + "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that should have increased oil generation rates.", RestartRequirement.GAME)); setBiomeList( OilPopulate.INSTANCE.excessiveBiomes, - BuildCraftCore.mainConfiguration - .get("worldgen.biomes", - "excessiveOilIDs", + BuildCraftCore.mainConfigManager + .register("worldgen.biomes", "excessiveOilIDs", new String[] {}, - "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that should have GREATLY increased oil generation rates.")); + "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that should have GREATLY increased oil generation rates.", RestartRequirement.GAME)); setBiomeList(OilPopulate.INSTANCE.excludedBiomes, - BuildCraftCore.mainConfiguration - .get("worldgen.biomes", "excludeOilIDs", - new String[]{BiomeGenBase.sky.biomeName, BiomeGenBase.hell.biomeName}, - "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that are excluded from generating oil.")); + BuildCraftCore.mainConfigManager + .register("worldgen.biomes", "excludeOilIDs", + new String[]{BiomeGenBase.sky.biomeName, BiomeGenBase.hell.biomeName}, + "IDs or Biome Types (e.g. SANDY,OCEAN) of biomes that are excluded from generating oil.", RestartRequirement.GAME)); - double fuelLavaMultiplier = BuildCraftCore.mainConfiguration.get("general", "fuel.lava.combustion", 1.0F, "adjust energy value of Lava in Combustion Engines").getDouble(1.0F); - double fuelOilMultiplier = BuildCraftCore.mainConfiguration.get("general", "fuel.oil.combustion", 1.0F, "adjust energy value of Oil in Combustion Engines").getDouble(1.0F); - double fuelFuelMultiplier = BuildCraftCore.mainConfiguration.get("general", "fuel.fuel.combustion", 1.0F, "adjust energy value of Fuel in Combustion Engines").getDouble(1.0F); + double fuelLavaMultiplier = BuildCraftCore.mainConfigManager.register("general", "fuel.lava.combustion", 1.0F, "adjust energy value of Lava in Combustion Engines", RestartRequirement.GAME).getDouble(); + double fuelOilMultiplier = BuildCraftCore.mainConfigManager.register("general", "fuel.oil.combustion", 1.0F, "adjust energy value of Oil in Combustion Engines", RestartRequirement.GAME).getDouble(); + double fuelFuelMultiplier = BuildCraftCore.mainConfigManager.register("general", "fuel.fuel.combustion", 1.0F, "adjust energy value of Fuel in Combustion Engines", RestartRequirement.GAME).getDouble(); - int fuelLavaEnergyOutput = BuildCraftCore.mainConfiguration.get("general", "fuel.lava.combustion.energyOutput", 20, "adjust output energy by Lava in Combustion Engines").getInt(20); - int fuelOilEnergyOutput = BuildCraftCore.mainConfiguration.get("general", "fuel.oil.combustion.energyOutput", 30, "adjust output energy by Oil in Combustion Engines").getInt(30); - int fuelFuelEnergyOutput = BuildCraftCore.mainConfiguration.get("general", "fuel.fuel.combustion.energyOutput", 60, "adjust output energy by Fuel in Combustion Engines").getInt(60); + int fuelLavaEnergyOutput = BuildCraftCore.mainConfigManager.register("general", "fuel.lava.combustion.energyOutput", 20, "adjust output energy by Lava in Combustion Engines", RestartRequirement.GAME).getInt(); + int fuelOilEnergyOutput = BuildCraftCore.mainConfigManager.register("general", "fuel.oil.combustion.energyOutput", 30, "adjust output energy by Oil in Combustion Engines", RestartRequirement.GAME).getInt(); + int fuelFuelEnergyOutput = BuildCraftCore.mainConfigManager.register("general", "fuel.fuel.combustion.energyOutput", 60, "adjust output energy by Fuel in Combustion Engines", RestartRequirement.GAME).getInt(); BuildCraftCore.mainConfiguration.save(); diff --git a/common/buildcraft/BuildCraftRobotics.java b/common/buildcraft/BuildCraftRobotics.java index 48861fbc..1c1ad0d9 100644 --- a/common/buildcraft/BuildCraftRobotics.java +++ b/common/buildcraft/BuildCraftRobotics.java @@ -19,6 +19,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; +import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; @@ -48,6 +49,7 @@ import buildcraft.core.CompatHooks; import buildcraft.core.DefaultProps; import buildcraft.core.InterModComms; import buildcraft.core.Version; +import buildcraft.core.config.ConfigManager; import buildcraft.core.network.EntityIds; import buildcraft.core.proxy.CoreProxy; import buildcraft.robotics.BlockRequester; @@ -190,10 +192,9 @@ public class BuildCraftRobotics extends BuildCraftMod { public void preInit(FMLPreInitializationEvent evt) { new BCCreativeTab("boards"); - blacklistedRobots = new ArrayList(); - blacklistedRobots.addAll(Arrays.asList(BuildCraftCore.mainConfiguration.get("general", "boards.blacklist", new String[]{}).getStringList())); + BuildCraftCore.mainConfigManager.register("general", "boards.blacklist", new String[]{}, "Blacklisted robots boards", ConfigManager.RestartRequirement.GAME); - BuildCraftCore.mainConfiguration.save(); + reloadConfig(ConfigManager.RestartRequirement.GAME); robotItem = new ItemRobot().setUnlocalizedName("robot"); CoreProxy.proxy.registerItem(robotItem); @@ -421,4 +422,26 @@ public class BuildCraftRobotics extends BuildCraftMod { public void processRequests(FMLInterModComms.IMCEvent event) { InterModComms.processIMC(event); } + + public void reloadConfig(ConfigManager.RestartRequirement restartType) { + if (restartType == ConfigManager.RestartRequirement.GAME) { + blacklistedRobots = new ArrayList(); + blacklistedRobots.addAll(Arrays.asList(BuildCraftCore.mainConfigManager.get("general", + "boards.blacklist").getStringList())); + reloadConfig(ConfigManager.RestartRequirement.WORLD); + } else if (restartType == ConfigManager.RestartRequirement.WORLD) { + reloadConfig(ConfigManager.RestartRequirement.NONE); + } else { + if (BuildCraftCore.mainConfiguration.hasChanged()) { + BuildCraftCore.mainConfiguration.save(); + } + } + } + + @SubscribeEvent + public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) { + if ("BuildCraft|Core".equals(event.modID)) { + reloadConfig(event.isWorldRunning ? ConfigManager.RestartRequirement.NONE : ConfigManager.RestartRequirement.WORLD); + } + } } diff --git a/common/buildcraft/core/config/ConfigManager.java b/common/buildcraft/core/config/ConfigManager.java index 5bbadbb9..7d942a81 100644 --- a/common/buildcraft/core/config/ConfigManager.java +++ b/common/buildcraft/core/config/ConfigManager.java @@ -21,7 +21,9 @@ public class ConfigManager implements IModGuiFactory { super(parentScreen, new ArrayList(), "BuildCraft|Core", "config", false, false, I18n.format("config.buildcraft")); for (String s : config.getCategoryNames()) { - configElements.add(new BCConfigElement(config.getCategory(s))); + if (!s.contains(".")) { + configElements.add(new BCConfigElement(config.getCategory(s))); + } } } } @@ -43,9 +45,13 @@ public class ConfigManager implements IModGuiFactory { } public Property get(String iName) { - String prefix = iName.substring(0, iName.lastIndexOf(".")); - ConfigCategory c = config.getCategory(prefix); - return c.get(iName.substring(iName.lastIndexOf(".") + 1)); + int sep = iName.lastIndexOf("."); + return get(iName.substring(0, sep), iName.substring(sep + 1)); + } + + public Property get(String catName, String propName) { + ConfigCategory c = config.getCategory(catName); + return c.get(propName); } private Property create(String s, Object o) { @@ -66,31 +72,35 @@ public class ConfigManager implements IModGuiFactory { return p; } - public Property register(String name, Object property, String comment, RestartRequirement restartRequirement) { - String prefix = name.substring(0, name.lastIndexOf(".")); - String suffix = name.substring(name.lastIndexOf(".") + 1); - - ConfigCategory c = config.getCategory(prefix); + public Property register(String catName, String propName, Object property, String comment, RestartRequirement restartRequirement) { + ConfigCategory c = config.getCategory(catName); ConfigCategory parent = c; while (parent != null) { parent.setLanguageKey("config." + parent.getQualifiedName()); parent = parent.parent; } Property p; - if (c.get(suffix) != null) { - p = c.get(suffix); + if (c.get(propName) != null) { + p = c.get(propName); } else { - p = create(suffix, property); - c.put(suffix, p); + p = create(propName, property); + c.put(propName, p); } p.comment = comment; RestartRequirement r = restartRequirement; - p.setLanguageKey("config." + name); + p.setLanguageKey("config." + catName + "." + propName); p.setRequiresWorldRestart(r == RestartRequirement.WORLD); p.setRequiresMcRestart(r == RestartRequirement.GAME); return p; } + public Property register(String name, Object property, String comment, RestartRequirement restartRequirement) { + String prefix = name.substring(0, name.lastIndexOf(".")); + String suffix = name.substring(name.lastIndexOf(".") + 1); + + return register(prefix, suffix, property, comment, restartRequirement); + } + @Override public void initialize(Minecraft minecraftInstance) { diff --git a/common/buildcraft/silicon/ItemRedstoneChipset.java b/common/buildcraft/silicon/ItemRedstoneChipset.java index f9918b7c..d310f6d3 100644 --- a/common/buildcraft/silicon/ItemRedstoneChipset.java +++ b/common/buildcraft/silicon/ItemRedstoneChipset.java @@ -34,7 +34,7 @@ public class ItemRedstoneChipset extends ItemBuildCraft { PULSATING, QUARTZ, COMP, - EMERALD, Chipset; + EMERALD; public static final Chipset[] VALUES = values(); private IIcon icon;