diff --git a/buildcraft_resources/assets/buildcraft/lang/en_US.lang b/buildcraft_resources/assets/buildcraft/lang/en_US.lang index 73f45871..50f3848c 100644 --- a/buildcraft_resources/assets/buildcraft/lang/en_US.lang +++ b/buildcraft_resources/assets/buildcraft/lang/en_US.lang @@ -406,3 +406,7 @@ bc_update.new_version=§cNew version of BuildCraft available: %s for Minecraft % bc_update.download=§cDownload from http://www.mod-buildcraft.com/download bc_update.once=This message only displays once bc_update.again=Type '/buildcraft version' if you want to see it again + +command.buildcraft.version=BuildCraft %s for Minecraft %s (Latest: %s). +command.buildcraft.versioninfo=Version information. +command.buildcraft.available=Available Commands: diff --git a/common/buildcraft/BuildCraftEnergy.java b/common/buildcraft/BuildCraftEnergy.java index 651750e7..77c9dcd6 100644 --- a/common/buildcraft/BuildCraftEnergy.java +++ b/common/buildcraft/BuildCraftEnergy.java @@ -151,11 +151,11 @@ public class BuildCraftEnergy extends BuildCraftMod { double fuelLavaMultiplier = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.lava.combustion", 1.0F, "adjust energy value of Lava in Combustion Engines").getDouble(1.0F); double fuelOilMultiplier = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.oil.combustion", 1.0F, "adjust energy value of Oil in Combustion Engines").getDouble(1.0F); double fuelFuelMultiplier = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.fuel.combustion", 1.0F, "adjust energy value of Fuel in Combustion Engines").getDouble(1.0F); - + int fuelLavaEnergyOutput = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.lava.combustion.energyOutput", 20, "adjust output energy by Lava in Combustion Engines").getInt(20); int fuelOilEnergyOutput = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.oil.combustion.energyOutput", 30, "adjust output energy by Oil in Combustion Engines").getInt(30); int fuelFuelEnergyOutput = BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL, "fuel.fuel.combustion.energyOutput", 60, "adjust output energy by Fuel in Combustion Engines").getInt(60); - + BuildCraftCore.mainConfiguration.save(); if (oilDesertBiomeId > 0) { @@ -183,7 +183,7 @@ public class BuildCraftEnergy extends BuildCraftMod { // Oil and fuel if (!FluidRegistry.isFluidRegistered("oil")) { - buildcraftFluidOil = new Fluid("oil").setDensity(800).setViscosity(15000); + buildcraftFluidOil = new Fluid("oil").setDensity(800).setViscosity(10000); FluidRegistry.registerFluid(buildcraftFluidOil); } else { BCLog.logger.warn("Not using BuildCraft oil - issues might occur!"); @@ -349,7 +349,7 @@ public class BuildCraftEnergy extends BuildCraftMod { NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler()); StatementManager.registerTriggerProvider(new EnergyStatementProvider()); - + BuilderAPI.schematicRegistry.registerSchematicBlock(engineBlock, SchematicEngine.class); if (BuildCraftCore.loadDefaultRecipes) { @@ -362,7 +362,7 @@ public class BuildCraftEnergy extends BuildCraftMod { @Mod.EventHandler public void postInit(FMLPostInitializationEvent evt) { - + if (BuildCraftCore.modifyWorld) { MinecraftForge.EVENT_BUS.register(OilPopulate.INSTANCE); MinecraftForge.TERRAIN_GEN_BUS.register(new BiomeInitializer()); diff --git a/common/buildcraft/core/CommandBuildCraft.java b/common/buildcraft/core/CommandBuildCraft.java index 142186b3..a7baaee2 100644 --- a/common/buildcraft/core/CommandBuildCraft.java +++ b/common/buildcraft/core/CommandBuildCraft.java @@ -15,7 +15,7 @@ import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.command.WrongUsageException; import net.minecraft.util.ChatComponentText; - +import net.minecraft.util.StatCollector; import buildcraft.core.proxy.CoreProxy; public class CommandBuildCraft extends CommandBase { @@ -58,8 +58,8 @@ public class CommandBuildCraft extends CommandBase { return; } else if (arguments[0].matches("help")) { sender.addChatMessage(new ChatComponentText("Format: '" + this.getCommandName() + " '")); - sender.addChatMessage(new ChatComponentText("Available commands:")); - sender.addChatMessage(new ChatComponentText("- version : Version information.")); + sender.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("command.buildcraft.available"))); + sender.addChatMessage(new ChatComponentText(" - version :" + StatCollector.translateToLocal("command.buildcraft.versioninfo"))); return; } @@ -69,7 +69,7 @@ public class CommandBuildCraft extends CommandBase { private void commandVersion(ICommandSender sender, String[] arguments) { String colour = Version.isOutdated() ? "\u00A7c" : "\u00A7a"; - sender.addChatMessage(new ChatComponentText(String.format(colour + "BuildCraft %s for Minecraft %s (Latest: %s).", Version.getVersion(), + sender.addChatMessage(new ChatComponentText(String.format(colour + StatCollector.translateToLocal("command.buildcraft.version"), Version.getVersion(), CoreProxy.proxy.getMinecraftVersion(), Version.getRecommendedVersion()))); // TODD This takes too much realstate. See how to improve diff --git a/common/buildcraft/core/DefaultProps.java b/common/buildcraft/core/DefaultProps.java index fe9a9049..68630ce4 100644 --- a/common/buildcraft/core/DefaultProps.java +++ b/common/buildcraft/core/DefaultProps.java @@ -16,7 +16,7 @@ public final class DefaultProps { public static final String DEPENDENCY_TRANSPORT = "required-after:BuildCraft|Transport@" + Version.VERSION; public static final String NET_CHANNEL_NAME = "BC"; - public static int NETWORK_UPDATE_RANGE = 128; + public static int NETWORK_UPDATE_RANGE = 64; public static int PIPE_CONTENTS_RENDER_DIST = 24; public static String TEXTURE_PATH_GUI = "textures/gui"; diff --git a/common/buildcraft/core/recipes/RefineryRecipeManager.java b/common/buildcraft/core/recipes/RefineryRecipeManager.java index ceead523..88cefc65 100644 --- a/common/buildcraft/core/recipes/RefineryRecipeManager.java +++ b/common/buildcraft/core/recipes/RefineryRecipeManager.java @@ -8,12 +8,12 @@ */ package buildcraft.core.recipes; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import net.minecraftforge.fluids.FluidStack; - import buildcraft.BuildCraftCore; import buildcraft.api.core.BCLog; import buildcraft.api.recipes.IFlexibleRecipe; @@ -23,6 +23,8 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { public static final RefineryRecipeManager INSTANCE = new RefineryRecipeManager(); private HashMap> recipes = new HashMap>(); + private ArrayList validFluids1 = new ArrayList(); + private ArrayList validFluids2 = new ArrayList(); private RefineryRecipeManager() { } @@ -38,6 +40,7 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { FlexibleRecipe recipe = new FlexibleRecipe(id, result, energy, delay, ingredient); recipes.put(id, recipe); + validFluids1.add(ingredient); } @Override @@ -48,7 +51,7 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { if (BuildCraftCore.recipesBlacklist.contains(name)) { return; } - + if (ingredient1 == null || ingredient2 == null || result == null) { BCLog.logger.warn("Rejected refinery recipe " + id + " due to a null FluidStack!"); } @@ -56,6 +59,8 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { FlexibleRecipe recipe = new FlexibleRecipe(id, result, energy, delay, ingredient1, ingredient2); recipes.put(id, recipe); + validFluids1.add(ingredient1); + validFluids2.add(ingredient2); } @Override @@ -67,7 +72,7 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { public IFlexibleRecipe getRecipe(String id) { return recipes.get(id); } - + @Override public void removeRecipe(IFlexibleRecipe recipe) { removeRecipe(recipe.getId()); @@ -77,4 +82,13 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager { public void removeRecipe(String id) { recipes.remove(id); } + + public ArrayList getValidFluidStacks1() + { + return validFluids1; + } + public ArrayList getValidFluidStacks2() + { + return validFluids2; + } } diff --git a/common/buildcraft/factory/BlockMiner.java b/common/buildcraft/factory/BlockMiner.java index 4cf925ab..2134a627 100644 --- a/common/buildcraft/factory/BlockMiner.java +++ b/common/buildcraft/factory/BlockMiner.java @@ -75,7 +75,7 @@ public class BlockMiner { public void invalidate() { world.destroyBlockInWorldPartially(minerId, x, y, z, -1); } - + public int acceptEnergy(int offeredAmount) { energyRequired = BlockUtils.computeBlockBreakEnergy(world, x, y, z); diff --git a/common/buildcraft/factory/TileRefinery.java b/common/buildcraft/factory/TileRefinery.java index b2ed3f42..8e2c9e64 100644 --- a/common/buildcraft/factory/TileRefinery.java +++ b/common/buildcraft/factory/TileRefinery.java @@ -9,14 +9,12 @@ package buildcraft.factory; import io.netty.buffer.ByteBuf; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; - import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -24,8 +22,8 @@ import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidHandler; - import buildcraft.BuildCraftCore; +import buildcraft.BuildCraftEnergy; import buildcraft.api.core.SafeTimeTracker; import buildcraft.api.recipes.CraftingResult; import buildcraft.api.recipes.IFlexibleCrafter; @@ -62,8 +60,10 @@ public class TileRefinery extends TileBuildCraft implements IFluidHandler, IInve public TileRefinery() { super(); this.setBattery(new RFBattery(10000, 1500, 0)); + this.tanks[0].setAcceptedFluid(BuildCraftEnergy.fluidOil); + this.tanks[1].setAcceptedFluid(BuildCraftEnergy.fluidOil); } - + @Override public int getSizeInventory() { return 0; @@ -178,7 +178,7 @@ public class TileRefinery extends TileBuildCraft implements IFluidHandler, IInve public boolean hasWork() { return isActive; } - + @Override public void readFromNBT(NBTTagCompound data) { super.readFromNBT(data); @@ -299,10 +299,14 @@ public class TileRefinery extends TileBuildCraft implements IFluidHandler, IInve int used = 0; FluidStack resourceUsing = resource.copy(); - used += tanks[0].fill(resourceUsing, doFill); - resourceUsing.amount -= used; - used += tanks[1].fill(resourceUsing, doFill); - + if(RefineryRecipeManager.INSTANCE.getValidFluidStacks1().contains(resource)) { + used += tanks[0].fill(resourceUsing, doFill); + resourceUsing.amount -= used; + } + if(RefineryRecipeManager.INSTANCE.getValidFluidStacks2().contains(resource)) { + used += tanks[1].fill(resourceUsing, doFill); + resourceUsing.amount -= used; + } updateRecipe(); return used;