move redstone engines to core, split out base engine code in core, create core.lib as a place for public-facing utility classes

This commit is contained in:
asiekierka 2015-03-06 16:45:05 +01:00
parent 81fcde9eea
commit 73b110915a
463 changed files with 1157 additions and 1165 deletions

View file

@ -75,6 +75,7 @@ import buildcraft.core.BCCreativeTab;
import buildcraft.core.BlockSpring;
import buildcraft.core.BuildCraftConfiguration;
import buildcraft.core.CommandBuildCraft;
import buildcraft.core.CompatHooks;
import buildcraft.core.CoreIconProvider;
import buildcraft.core.DefaultProps;
import buildcraft.core.CoreGuiHandler;
@ -88,8 +89,11 @@ import buildcraft.core.SpringPopulate;
import buildcraft.core.TickHandlerCore;
import buildcraft.core.Version;
import buildcraft.core.blueprints.SchematicRegistry;
import buildcraft.core.network.ChannelHandler;
import buildcraft.core.network.PacketHandler;
import buildcraft.core.BlockEngine;
import buildcraft.core.lib.engines.TileEngineBase;
import buildcraft.core.TileEngineWood;
import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.lib.network.PacketHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.recipes.AssemblyRecipeManager;
import buildcraft.core.recipes.IntegrationRecipeManager;
@ -109,7 +113,7 @@ import buildcraft.core.statements.TriggerInventory;
import buildcraft.core.statements.TriggerInventoryLevel;
import buildcraft.core.statements.TriggerMachine;
import buildcraft.core.statements.TriggerRedstoneInput;
import buildcraft.core.utils.ColorUtils;
import buildcraft.core.lib.utils.ColorUtils;
import buildcraft.core.properties.WorldPropertyIsDirt;
import buildcraft.core.properties.WorldPropertyIsFarmland;
import buildcraft.core.properties.WorldPropertyIsFluidSource;
@ -119,6 +123,8 @@ import buildcraft.core.properties.WorldPropertyIsOre;
import buildcraft.core.properties.WorldPropertyIsShoveled;
import buildcraft.core.properties.WorldPropertyIsSoft;
import buildcraft.core.properties.WorldPropertyIsWood;
import buildcraft.core.lib.engines.ItemEngine;
import buildcraft.core.SchematicEngine;
import buildcraft.energy.fuels.CoolantManager;
import buildcraft.energy.fuels.FuelManager;
@ -143,6 +149,7 @@ public class BuildCraftCore extends BuildCraftMod {
public static long longUpdateFactor = 40;
public static BuildCraftConfiguration mainConfiguration;
public static BlockEngine engineBlock;
public static Block springBlock;
public static Item woodenGearItem;
public static Item stoneGearItem;
@ -200,6 +207,7 @@ public class BuildCraftCore extends BuildCraftMod {
public static Achievement goldGearAchievement;
public static Achievement diamondGearAchievement;
public static Achievement wrenchAchievement;
public static Achievement engineRedstoneAchievement;
public static HashSet<String> recipesBlacklist = new HashSet<String>();
@ -309,6 +317,11 @@ public class BuildCraftCore extends BuildCraftMod {
CoreProxy.proxy.registerItem(diamondGearItem);
OreDictionary.registerOre("gearDiamond", new ItemStack(diamondGearItem));
engineBlock = (BlockEngine) CompatHooks.INSTANCE.getBlock(BlockEngine.class);
CoreProxy.proxy.registerBlock(engineBlock, ItemEngine.class);
engineBlock.registerTile((Class<? extends TileEngineBase>) CompatHooks.INSTANCE.getTile(TileEngineWood.class), "tile.engineWood");
CoreProxy.proxy.registerTileEntity(TileEngineWood.class, "net.minecraft.src.buildcraft.energy.TileEngineWood");
MinecraftForge.EVENT_BUS.register(this);
MinecraftForge.EVENT_BUS.register(new BlockHighlightHandler());
} finally {
@ -335,6 +348,7 @@ public class BuildCraftCore extends BuildCraftMod {
goldGearAchievement = achievementManager.registerAchievement(new Achievement("achievement.goldGear", "goldGearAchievement", 6, 0, goldGearItem, ironGearAchievement));
diamondGearAchievement = achievementManager.registerAchievement(new Achievement("achievement.diamondGear", "diamondGearAchievement", 8, 0, diamondGearItem, goldGearAchievement));
wrenchAchievement = achievementManager.registerAchievement(new Achievement("achievement.wrench", "wrenchAchievement", 3, 2, wrenchItem, stoneGearAchievement));
engineRedstoneAchievement = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.redstoneEngine", "engineAchievement1", 1, -2, new ItemStack(engineBlock, 1, 0), BuildCraftCore.woodenGearAchievement));
// BuildCraft 6.1.4 and below - migration only
StatementManager.registerParameterClass("buildcraft:stackTrigger", StatementParameterItemStack.class);
@ -368,6 +382,8 @@ public class BuildCraftCore extends BuildCraftMod {
EntityList.stringToClassMapping.remove("BuildCraft|Core.bcLaser");
EntityList.stringToClassMapping.remove("BuildCraft|Core.bcEnergyLaser");
BuilderAPI.schematicRegistry.registerSchematicBlock(engineBlock, SchematicEngine.class);
CoreProxy.proxy.initializeRendering();
CoreProxy.proxy.initializeEntityRendering();
@ -455,6 +471,10 @@ public class BuildCraftCore extends BuildCraftMod {
CoreProxy.proxy.addCraftingRecipe(new ItemStack(mapLocationItem), "ppp", "pYp", "ppp", 'p', Items.paper, 'Y', "dyeYellow");
CoreProxy.proxy.addCraftingRecipe(new ItemStack(listItem), "ppp", "pYp", "ppp", 'p', Items.paper, 'Y',
"dyeGreen");
CoreProxy.proxy.addCraftingRecipe(new ItemStack(engineBlock, 1, 0),
"www", " g ", "GpG", 'w', "plankWood", 'g', "blockGlass", 'G',
"gearWood", 'p', Blocks.piston);
}
@Mod.EventHandler

View file

@ -25,10 +25,12 @@ import net.minecraft.world.biome.BiomeGenBase;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
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;
@ -41,7 +43,6 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import buildcraft.api.blueprints.BuilderAPI;
import buildcraft.api.core.BCLog;
import buildcraft.api.core.JavaTools;
import buildcraft.api.core.StackKey;
@ -49,24 +50,23 @@ import buildcraft.api.fuels.BuildcraftFuelRegistry;
import buildcraft.api.recipes.BuildcraftRecipeRegistry;
import buildcraft.api.statements.ITriggerExternal;
import buildcraft.api.statements.StatementManager;
import buildcraft.core.CompatHooks;
import buildcraft.core.BlockSpring;
import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms;
import buildcraft.core.Version;
import buildcraft.core.network.ChannelHandler;
import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.energy.BlockBuildcraftFluid;
import buildcraft.energy.BlockEngine;
import buildcraft.energy.BucketHandler;
import buildcraft.energy.EnergyProxy;
import buildcraft.energy.EnergyGuiHandler;
import buildcraft.energy.IMCHandlerEnergy;
import buildcraft.energy.ItemBucketBuildcraft;
import buildcraft.energy.ItemEngine;
import buildcraft.energy.SchematicEngine;
import buildcraft.energy.TileEngine;
import buildcraft.energy.TileEngine.EnergyStage;
import buildcraft.core.lib.engines.TileEngineBase;
import buildcraft.core.lib.engines.TileEngineBase.EnergyStage;
import buildcraft.energy.TileEngineCreative;
import buildcraft.energy.TileEngineIron;
import buildcraft.energy.TileEngineStone;
import buildcraft.energy.statements.EnergyStatementProvider;
import buildcraft.energy.statements.TriggerEngineHeat;
import buildcraft.energy.worldgen.BiomeGenOilDesert;
@ -84,7 +84,6 @@ public class BuildCraftEnergy extends BuildCraftMod {
public static boolean spawnOilSprings = true;
public static BiomeGenOilDesert biomeOilDesert;
public static BiomeGenOilOcean biomeOilOcean;
public static BlockEngine engineBlock;
public static Fluid fluidOil;
public static Fluid fluidFuel;
public static Fluid fluidRedPlasma;
@ -175,9 +174,6 @@ public class BuildCraftEnergy extends BuildCraftMod {
biomeOilOcean = BiomeGenOilOcean.makeBiome(oilOceanBiomeId);
}
engineBlock = (BlockEngine) CompatHooks.INSTANCE.getBlock(BlockEngine.class);
CoreProxy.proxy.registerBlock(engineBlock, ItemEngine.class);
// Oil and fuel
if (!FluidRegistry.isFluidRegistered("oil")) {
buildcraftFluidOil = new Fluid("oil").setDensity(800).setViscosity(10000);
@ -281,6 +277,10 @@ public class BuildCraftEnergy extends BuildCraftMod {
BuildcraftFuelRegistry.coolant.addCoolant(FluidRegistry.WATER, 0.0023f);
BuildcraftFuelRegistry.coolant.addSolidCoolant(StackKey.stack(Blocks.ice), StackKey.fluid(FluidRegistry.WATER), 2f);
BuildCraftCore.engineBlock.registerTile(TileEngineStone.class, "tile.engineStone");
BuildCraftCore.engineBlock.registerTile(TileEngineIron.class, "tile.engineIron");
BuildCraftCore.engineBlock.registerTile(TileEngineCreative.class, "tile.engineCreative");
InterModComms.registerHandler(new IMCHandlerEnergy());
MinecraftForge.EVENT_BUS.register(this);
@ -337,8 +337,6 @@ public class BuildCraftEnergy extends BuildCraftMod {
StatementManager.registerTriggerProvider(new EnergyStatementProvider());
BuilderAPI.schematicRegistry.registerSchematicBlock(engineBlock, SchematicEngine.class);
if (BuildCraftCore.loadDefaultRecipes) {
loadRecipes();
}
@ -346,9 +344,8 @@ public class BuildCraftEnergy extends BuildCraftMod {
EnergyProxy.proxy.registerBlockRenderers();
EnergyProxy.proxy.registerTileEntities();
engineAchievement1 = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.redstoneEngine", "engineAchievement1", 1, -2, new ItemStack(engineBlock, 1, 0), BuildCraftCore.woodenGearAchievement));
engineAchievement2 = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.stirlingEngine", "engineAchievement2", 3, -2, new ItemStack(engineBlock, 1, 1), engineAchievement1));
engineAchievement3 = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.combustionEngine", "engineAchievement3", 5, -2, new ItemStack(engineBlock, 1, 2), engineAchievement2));
engineAchievement2 = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.stirlingEngine", "engineAchievement2", 3, -2, new ItemStack(BuildCraftCore.engineBlock, 1, 1), BuildCraftCore.engineRedstoneAchievement));
engineAchievement3 = BuildCraftCore.achievementManager.registerAchievement(new Achievement("achievement.combustionEngine", "engineAchievement3", 5, -2, new ItemStack(BuildCraftCore.engineBlock, 1, 2), engineAchievement2));
}
@Mod.EventHandler
@ -376,13 +373,10 @@ public class BuildCraftEnergy extends BuildCraftMod {
}
public static void loadRecipes() {
CoreProxy.proxy.addCraftingRecipe(new ItemStack(engineBlock, 1, 0),
"www", " g ", "GpG", 'w', "plankWood", 'g', "blockGlass", 'G',
"gearWood", 'p', Blocks.piston);
CoreProxy.proxy.addCraftingRecipe(new ItemStack(engineBlock, 1, 1),
CoreProxy.proxy.addCraftingRecipe(new ItemStack(BuildCraftCore.engineBlock, 1, 1),
"www", " g ", "GpG", 'w', "cobblestone",
'g', "blockGlass", 'G', "gearStone", 'p', Blocks.piston);
CoreProxy.proxy.addCraftingRecipe(new ItemStack(engineBlock, 1, 2),
CoreProxy.proxy.addCraftingRecipe(new ItemStack(BuildCraftCore.engineBlock, 1, 2),
"www", " g ", "GpG", 'w', "ingotIron",
'g', "blockGlass", 'G', "gearIron", 'p', Blocks.piston);
}
@ -416,6 +410,19 @@ public class BuildCraftEnergy extends BuildCraftMod {
@Mod.EventHandler
public void whiteListAppliedEnergetics(FMLInitializationEvent event) {
FMLInterModComms.sendMessage("appliedenergistics2", "whitelist-spatial",
TileEngine.class.getCanonicalName());
TileEngineBase.class.getCanonicalName());
}
@Mod.EventHandler
public void remap(FMLMissingMappingsEvent event) {
for (FMLMissingMappingsEvent.MissingMapping mapping : event.get()) {
if (mapping.name.equals("BuildCraft|Energy:engineBlock")) {
if (mapping.type == GameRegistry.Type.BLOCK) {
mapping.remap(BuildCraftCore.engineBlock);
} else if (mapping.type == GameRegistry.Type.ITEM) {
mapping.remap(Item.getItemFromBlock(BuildCraftCore.engineBlock));
}
}
}
}
}

View file

@ -43,9 +43,9 @@ import buildcraft.core.CompatHooks;
import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms;
import buildcraft.core.Version;
import buildcraft.core.network.ChannelHandler;
import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.ConfigUtils;
import buildcraft.core.lib.utils.ConfigUtils;
import buildcraft.factory.BlockAutoWorkbench;
import buildcraft.factory.BlockFloodGate;
import buildcraft.factory.BlockFrame;

View file

@ -24,7 +24,7 @@ import cpw.mods.fml.relauncher.Side;
import buildcraft.api.core.BCLog;
import buildcraft.core.DefaultProps;
import buildcraft.core.network.Packet;
import buildcraft.core.lib.network.Packet;
public class BuildCraftMod {
public EnumMap<Side, FMLEmbeddedChannel> channels;

View file

@ -34,9 +34,9 @@ import buildcraft.robotics.TileZonePlan;
import buildcraft.core.CompatHooks;
import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.Version;
import buildcraft.core.network.ChannelHandler;
import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.silicon.BlockLaser;
import buildcraft.silicon.BlockLaserTable;

View file

@ -46,19 +46,18 @@ import buildcraft.api.recipes.BuildcraftRecipeRegistry;
import buildcraft.api.statements.IActionInternal;
import buildcraft.api.statements.ITriggerInternal;
import buildcraft.api.statements.StatementManager;
import buildcraft.api.transport.IPipeTile;
import buildcraft.api.transport.PipeManager;
import buildcraft.api.transport.PipeWire;
import buildcraft.core.CompatHooks;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.PowerMode;
import buildcraft.core.Version;
import buildcraft.core.network.ChannelHandler;
import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.ColorUtils;
import buildcraft.core.lib.utils.ColorUtils;
import buildcraft.silicon.ItemRedstoneChipset.Chipset;
import buildcraft.transport.BlockFilteredBuffer;
import buildcraft.transport.BlockGenericPipe;

View file

@ -29,10 +29,10 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.api.tools.IToolWrench;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.GuiIds;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class BlockArchitect extends BlockBuildCraft {
IIcon blockTextureTop;

View file

@ -21,7 +21,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.GuiIds;

View file

@ -29,11 +29,11 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.api.tools.IToolWrench;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.GuiIds;
import buildcraft.core.fluids.TankUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.fluids.TankUtils;
import buildcraft.core.lib.utils.Utils;
public class BlockBuilder extends BlockBuildCraft {

View file

@ -23,7 +23,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class BlockConstructionMarker extends BlockMarker {

View file

@ -26,10 +26,10 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.api.filler.IFillerPattern;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.GuiIds;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class BlockFiller extends BlockBuildCraft {

View file

@ -26,9 +26,9 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.api.items.IMapLocation;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class BlockMarker extends BlockBuildCraft {

View file

@ -18,7 +18,7 @@ import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class BlockPathMarker extends BlockMarker {

View file

@ -18,10 +18,10 @@ import buildcraft.BuildCraftBuilders;
import buildcraft.api.blueprints.BuildingPermission;
import buildcraft.core.blueprints.BlueprintId;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.blueprints.BlueprintBase;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.utils.NBTUtils;
import buildcraft.core.lib.utils.StringUtils;
public abstract class ItemBlueprint extends ItemBuildCraft {

View file

@ -15,7 +15,7 @@ import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.utils.NBTUtils;
public class ItemBlueprintStandard extends ItemBlueprint {
private IIcon cleanBlueprint;

View file

@ -15,7 +15,7 @@ import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.utils.NBTUtils;
public class ItemBlueprintTemplate extends ItemBlueprint {
private IIcon cleanTemplate;

View file

@ -22,7 +22,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.api.core.Position;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.utils.NBTUtils;
public class ItemConstructionMarker extends ItemBlock {

View file

@ -34,15 +34,15 @@ import buildcraft.core.Box;
import buildcraft.core.Box.Kind;
import buildcraft.core.IBoxProvider;
import buildcraft.core.LaserData;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.blueprints.BlueprintReadConfiguration;
import buildcraft.core.inventory.SimpleInventory;
import buildcraft.core.network.Packet;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.inventory.SimpleInventory;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.core.lib.utils.Utils;
public class TileArchitect extends TileBuildCraft implements IInventory, IBoxProvider, ICommandReceiver {

View file

@ -26,14 +26,13 @@ import buildcraft.BuildCraftBuilders;
import buildcraft.BuildCraftCore;
import buildcraft.core.blueprints.BlueprintId;
import buildcraft.core.blueprints.BlueprintId.Kind;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.blueprints.BlueprintBase;
import buildcraft.core.inventory.SimpleInventory;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.inventory.SimpleInventory;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
/**
* In this implementation, the blueprint library is the interface to the

View file

@ -54,18 +54,18 @@ import buildcraft.core.blueprints.BptBuilderBase;
import buildcraft.core.blueprints.BptBuilderBlueprint;
import buildcraft.core.blueprints.BptBuilderTemplate;
import buildcraft.core.builders.TileAbstractBuilder;
import buildcraft.core.fluids.Tank;
import buildcraft.core.fluids.TankManager;
import buildcraft.core.inventory.ITransactor;
import buildcraft.core.inventory.InvUtils;
import buildcraft.core.inventory.InventoryIterator;
import buildcraft.core.inventory.SimpleInventory;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.inventory.Transactor;
import buildcraft.core.network.Packet;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.lib.fluids.Tank;
import buildcraft.core.lib.fluids.TankManager;
import buildcraft.core.lib.inventory.ITransactor;
import buildcraft.core.lib.inventory.InvUtils;
import buildcraft.core.lib.inventory.InventoryIterator;
import buildcraft.core.lib.inventory.SimpleInventory;
import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.inventory.Transactor;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.api.robots.ResourceIdRequest;
public class TileBuilder extends TileAbstractBuilder implements IHasWork, IFluidHandler, IRequestProvider, IControllable {

View file

@ -28,7 +28,7 @@ import buildcraft.core.Box;
import buildcraft.core.Box.Kind;
import buildcraft.core.IBoxProvider;
import buildcraft.core.LaserData;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.blueprints.Blueprint;
import buildcraft.core.blueprints.BlueprintBase;
import buildcraft.core.blueprints.BptBuilderBase;
@ -36,11 +36,11 @@ import buildcraft.core.blueprints.BptBuilderBlueprint;
import buildcraft.core.blueprints.BptContext;
import buildcraft.core.builders.BuildingItem;
import buildcraft.core.builders.IBuildingItemsProvider;
import buildcraft.core.network.Packet;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
public class TileConstructionMarker extends TileBuildCraft implements IBuildingItemsProvider, IBoxProvider, ICommandReceiver {

View file

@ -33,12 +33,12 @@ import buildcraft.core.blueprints.BptContext;
import buildcraft.core.builders.TileAbstractBuilder;
import buildcraft.core.builders.patterns.FillerPattern;
import buildcraft.core.builders.patterns.PatternFill;
import buildcraft.core.inventory.SimpleInventory;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.inventory.SimpleInventory;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.core.lib.utils.Utils;
public class TileFiller extends TileAbstractBuilder implements IHasWork, IControllable, ICommandReceiver, IStatementContainer {

View file

@ -20,11 +20,11 @@ import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.ISerializable;
import buildcraft.api.core.Position;
import buildcraft.core.DefaultProps;
import buildcraft.core.EntityBlock;
import buildcraft.core.lib.EntityBlock;
import buildcraft.core.LaserKind;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class TileMarker extends TileBuildCraft implements IAreaProvider {
public static class TileWrapper implements ISerializable {

View file

@ -22,7 +22,7 @@ import buildcraft.builders.ItemBlueprintTemplate;
import buildcraft.builders.TileArchitect;
import buildcraft.builders.TileBuilder;
import buildcraft.builders.TileConstructionMarker;
import buildcraft.core.utils.BlockScanner;
import buildcraft.core.lib.utils.BlockScanner;
import buildcraft.core.blueprints.Blueprint;
import buildcraft.core.blueprints.BlueprintBase;
import buildcraft.core.blueprints.BptContext;

View file

@ -14,8 +14,8 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import buildcraft.builders.TileArchitect;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.slots.SlotOutput;
import buildcraft.core.lib.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.slots.SlotOutput;
public class ContainerArchitect extends BuildCraftContainer {

View file

@ -14,8 +14,8 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.slots.SlotOutput;
import buildcraft.core.lib.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.slots.SlotOutput;
public class ContainerBlueprintLibrary extends BuildCraftContainer {

View file

@ -14,7 +14,7 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import buildcraft.builders.TileBuilder;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.BuildCraftContainer;
public class ContainerBuilder extends BuildCraftContainer {

View file

@ -17,9 +17,9 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.builders.TileFiller;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.gui.widgets.Widget;
import buildcraft.core.lib.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.GuiBuildCraft;
import buildcraft.core.lib.gui.widgets.Widget;
public class ContainerFiller extends BuildCraftContainer {

View file

@ -23,15 +23,14 @@ import buildcraft.BuildCraftCore;
import buildcraft.builders.TileArchitect;
import buildcraft.core.DefaultProps;
import buildcraft.core.blueprints.BlueprintReadConfiguration;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.gui.buttons.GuiBetterButton;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.gui.tooltips.ToolTipLine;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.gui.GuiBuildCraft;
import buildcraft.core.lib.gui.buttons.GuiBetterButton;
import buildcraft.core.lib.gui.tooltips.ToolTip;
import buildcraft.core.lib.gui.tooltips.ToolTipLine;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.core.lib.utils.StringUtils;
public class GuiArchitect extends GuiBuildCraft {

View file

@ -19,8 +19,8 @@ import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.core.blueprints.BlueprintId;
import buildcraft.core.blueprints.BlueprintId.Kind;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.GuiBuildCraft;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.gui.GuiBuildCraft;
import buildcraft.core.lib.utils.StringUtils;
public class GuiBlueprintLibrary extends GuiBuildCraft {

View file

@ -23,13 +23,13 @@ import net.minecraft.util.ResourceLocation;
import buildcraft.BuildCraftCore;
import buildcraft.builders.TileBuilder;
import buildcraft.core.DefaultProps;
import buildcraft.core.fluids.Tank;
import buildcraft.core.gui.AdvancedSlot;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.gui.ItemSlot;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.fluids.Tank;
import buildcraft.core.lib.gui.AdvancedSlot;
import buildcraft.core.lib.gui.GuiAdvancedInterface;
import buildcraft.core.lib.gui.ItemSlot;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.StringUtils;
public class GuiBuilder extends GuiAdvancedInterface {
private static final ResourceLocation BLUEPRINT_TEXTURE = new ResourceLocation("buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/builder_blueprint.png");

View file

@ -19,14 +19,14 @@ import buildcraft.api.statements.StatementMouseClick;
import buildcraft.builders.TileFiller;
import buildcraft.core.DefaultProps;
import buildcraft.core.builders.patterns.FillerPattern;
import buildcraft.core.gui.AdvancedSlot;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.gui.GuiTools;
import buildcraft.core.gui.StatementParameterSlot;
import buildcraft.core.gui.StatementSlot;
import buildcraft.core.gui.buttons.GuiBetterButton;
import buildcraft.core.gui.buttons.StandardButtonTextureSets;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.gui.AdvancedSlot;
import buildcraft.core.lib.gui.GuiAdvancedInterface;
import buildcraft.core.lib.gui.GuiTools;
import buildcraft.core.lib.gui.StatementParameterSlot;
import buildcraft.core.lib.gui.StatementSlot;
import buildcraft.core.lib.gui.buttons.GuiBetterButton;
import buildcraft.core.lib.gui.buttons.StandardButtonTextureSets;
import buildcraft.core.lib.utils.StringUtils;
public class GuiFiller extends GuiAdvancedInterface {
class FillerParameterSlot extends StatementParameterSlot {

View file

@ -12,7 +12,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import buildcraft.builders.TileArchitect;
import buildcraft.core.gui.slots.SlotBase;
import buildcraft.core.lib.gui.slots.SlotBase;
public class SlotArchitect extends SlotBase {
private TileArchitect architect;

View file

@ -12,7 +12,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.core.gui.slots.SlotBase;
import buildcraft.core.lib.gui.slots.SlotBase;
public class SlotBlueprintLibrary extends SlotBase {
private TileBlueprintLibrary library;

View file

@ -20,7 +20,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.GuiIds;
public class BlockUrbanist extends BlockBuildCraft {

View file

@ -11,7 +11,7 @@ package buildcraft.builders.urbanism;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.BuildCraftContainer;
public class ContainerUrbanist extends BuildCraftContainer {

View file

@ -19,8 +19,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.AdvancedSlot;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.lib.gui.AdvancedSlot;
import buildcraft.core.lib.gui.GuiAdvancedInterface;
public class GuiUrbanist extends GuiAdvancedInterface {

View file

@ -27,12 +27,12 @@ import buildcraft.BuildCraftCore;
import buildcraft.core.Box;
import buildcraft.core.Box.Kind;
import buildcraft.core.IBoxesProvider;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.network.Packet;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
public class TileUrbanist extends TileBuildCraft implements IInventory, IBoxesProvider, ICommandReceiver {

View file

@ -13,7 +13,7 @@ import java.util.ArrayList;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import buildcraft.core.gui.AdvancedSlot;
import buildcraft.core.lib.gui.AdvancedSlot;
class UrbanistTool {
public IIcon getIcon() {

View file

@ -23,8 +23,8 @@ import buildcraft.api.filler.IFillerPattern;
import buildcraft.core.Box;
import buildcraft.core.DefaultProps;
import buildcraft.core.builders.patterns.FillerPattern;
import buildcraft.core.gui.AdvancedSlot;
import buildcraft.core.gui.GuiAdvancedInterface;
import buildcraft.core.lib.gui.AdvancedSlot;
import buildcraft.core.lib.gui.GuiAdvancedInterface;
class UrbanistToolFiller extends UrbanistToolArea {

View file

@ -0,0 +1,56 @@
package buildcraft.core;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import buildcraft.core.lib.engines.BlockEngineBase;
import buildcraft.core.lib.engines.TileEngineBase;
public class BlockEngine extends BlockEngineBase {
private final ArrayList<Class<? extends TileEngineBase>> engineTiles;
private final ArrayList<String> names;
public BlockEngine() {
super();
setBlockName("engineBlock");
engineTiles = new ArrayList<Class<? extends TileEngineBase>>(16);
names = new ArrayList<String>(16);
}
@Override
public String getUnlocalizedName(int metadata) {
return names.get(metadata % names.size());
}
public void registerTile(Class<? extends TileEngineBase> engineTile, String name) {
engineTiles.add(engineTile);
names.add(name);
}
@Override
public TileEntity createTileEntity(World world, int metadata) {
try {
return engineTiles.get(metadata % engineTiles.size()).newInstance();
} catch(Exception e) {
e.printStackTrace();
return null;
}
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void getSubBlocks(Item item, CreativeTabs par2CreativeTabs, List itemList) {
for (int i = 0; i < engineTiles.size(); i++) {
itemList.add(new ItemStack(this, 1, i));
}
}
public int getEngineCount() {
return engineTiles.size();
}
}

View file

@ -23,7 +23,7 @@ import buildcraft.api.core.IAreaProvider;
import buildcraft.api.core.IBox;
import buildcraft.api.core.ISerializable;
import buildcraft.api.core.Position;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.Utils;
public class Box implements IBox, ISerializable {
public enum Kind {

View file

@ -13,8 +13,8 @@ import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
import buildcraft.core.gui.ContainerList;
import buildcraft.core.gui.GuiList;
import buildcraft.core.lib.gui.ContainerList;
import buildcraft.core.lib.gui.GuiList;
public class CoreGuiHandler implements IGuiHandler {

View file

@ -8,6 +8,8 @@
*/
package buildcraft.core;
import buildcraft.core.lib.items.ItemBuildCraft;
public class ItemGear extends ItemBuildCraft {
public ItemGear() {

View file

@ -31,8 +31,9 @@ import net.minecraftforge.oredict.OreDictionary;
import buildcraft.BuildCraftCore;
import buildcraft.api.items.IList;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.lib.utils.NBTUtils;
public class ItemList extends ItemBuildCraft implements IList {

View file

@ -33,8 +33,9 @@ import buildcraft.api.core.IBox;
import buildcraft.api.core.IPathProvider;
import buildcraft.api.core.IZone;
import buildcraft.api.items.IMapLocation;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.lib.utils.NBTUtils;
import buildcraft.core.lib.utils.StringUtils;
public class ItemMapLocation extends ItemBuildCraft implements IMapLocation {

View file

@ -12,6 +12,7 @@ import java.util.Locale;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import buildcraft.core.lib.items.ItemBlockBuildCraft;
public class ItemSpring extends ItemBlockBuildCraft {

View file

@ -22,6 +22,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.tools.IToolWrench;
import buildcraft.core.lib.items.ItemBuildCraft;
public class ItemWrench extends ItemBuildCraft implements IToolWrench {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
package buildcraft.core;
import java.util.LinkedList;
@ -16,6 +16,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.blueprints.IBuilderContext;
import buildcraft.api.blueprints.SchematicTile;
import buildcraft.core.lib.engines.TileEngineBase;
public class SchematicEngine extends SchematicTile {
@ -32,7 +33,7 @@ public class SchematicEngine extends SchematicTile {
public void initializeFromObjectAt(IBuilderContext context, int x, int y, int z) {
super.initializeFromObjectAt(context, x, y, z);
TileEngine engine = (TileEngine) context.world().getTileEntity(x, y, z);
TileEngineBase engine = (TileEngineBase) context.world().getTileEntity(x, y, z);
tileNBT.setInteger("orientation", engine.orientation.ordinal());
tileNBT.removeTag("progress");
@ -46,7 +47,7 @@ public class SchematicEngine extends SchematicTile {
public void placeInWorld(IBuilderContext context, int x, int y, int z, LinkedList<ItemStack> stacks) {
super.placeInWorld(context, x, y, z, stacks);
TileEngine engine = (TileEngine) context.world().getTileEntity(x, y, z);
TileEngineBase engine = (TileEngineBase) context.world().getTileEntity(x, y, z);
engine.orientation = ForgeDirection.getOrientation(tileNBT.getInteger("orientation"));
engine.sendNetworkUpdate();
@ -54,7 +55,7 @@ public class SchematicEngine extends SchematicTile {
@Override
public void postProcessing (IBuilderContext context, int x, int y, int z) {
TileEngine engine = (TileEngine) context.world().getTileEntity(x, y, z);
TileEngineBase engine = (TileEngineBase) context.world().getTileEntity(x, y, z);
if (engine != null) {
engine.orientation = ForgeDirection.getOrientation(tileNBT.getInteger("orientation"));

View file

@ -14,8 +14,7 @@ import net.minecraft.item.ItemStack;
import buildcraft.api.core.ISerializable;
import buildcraft.api.core.Position;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.NetworkUtils;
public class StackAtPosition implements ISerializable {
public ItemStack stack;

View file

@ -0,0 +1,32 @@
package buildcraft.core;
import net.minecraft.util.ResourceLocation;
import buildcraft.core.lib.engines.TileEngineBase;
/**
* Created by asie on 3/6/15.
*/
public abstract class TileEngine extends TileEngineBase {
// Index corresponds to metadata
public static final ResourceLocation[] BASE_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_wood.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_stone.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_iron.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_creative.png")
};
public static final ResourceLocation[] CHAMBER_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_wood.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_stone.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_iron.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_creative.png")
};
// THESE ARE ONLY BLUE TRUNKS. OTHER HEAT STAGES ARE HANDLED PER TILE
public static final ResourceLocation[] TRUNK_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_blue.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_blue.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_blue.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_creative.png")
};
}

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
package buildcraft.core;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
@ -16,6 +16,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.power.IRedstoneEngine;
import buildcraft.api.power.IRedstoneEngineReceiver;
import buildcraft.api.transport.IPipeTile;
import buildcraft.core.lib.engines.TileEngineBase;
public class TileEngineWood extends TileEngine implements IRedstoneEngine {

View file

@ -17,9 +17,8 @@ import net.minecraft.nbt.NBTTagCompound;
import buildcraft.api.core.BlockIndex;
import buildcraft.api.core.ISerializable;
import buildcraft.core.utils.BitSetUtils;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.BitSetUtils;
import buildcraft.core.lib.utils.NetworkUtils;
public class ZoneChunk implements ISerializable {

View file

@ -28,7 +28,7 @@ import buildcraft.api.blueprints.SchematicEntity;
import buildcraft.api.blueprints.Translation;
import buildcraft.api.core.BCLog;
import buildcraft.core.blueprints.BlueprintId.Kind;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.utils.NBTUtils;
public class Blueprint extends BlueprintBase {
public LinkedList<SchematicEntity> entities = new LinkedList<SchematicEntity>();

View file

@ -20,8 +20,7 @@ import net.minecraft.nbt.NBTTagCompound;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.core.ISerializable;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.utils.NetworkUtils;
public final class BlueprintId implements Comparable<BlueprintId>, ISerializable {
public enum Kind {

View file

@ -46,7 +46,7 @@ import buildcraft.core.builders.BuildingSlotBlock;
import buildcraft.core.builders.IBuildingItemsProvider;
import buildcraft.core.builders.TileAbstractBuilder;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.BlockUtils;
import buildcraft.core.lib.utils.BlockUtils;
public abstract class BptBuilderBase implements IAreaProvider {

View file

@ -50,10 +50,10 @@ import buildcraft.core.builders.BuildingSlotEntity;
import buildcraft.core.builders.BuildingSlotIterator;
import buildcraft.core.builders.IBuildingItemsProvider;
import buildcraft.core.builders.TileAbstractBuilder;
import buildcraft.core.inventory.InventoryCopy;
import buildcraft.core.inventory.InventoryIterator;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.utils.BlockUtils;
import buildcraft.core.lib.inventory.InventoryCopy;
import buildcraft.core.lib.inventory.InventoryIterator;
import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.utils.BlockUtils;
public class BptBuilderBlueprint extends BptBuilderBase {

View file

@ -25,8 +25,8 @@ import buildcraft.core.builders.BuildingSlotBlock;
import buildcraft.core.builders.BuildingSlotBlock.Mode;
import buildcraft.core.builders.BuildingSlotIterator;
import buildcraft.core.builders.TileAbstractBuilder;
import buildcraft.core.inventory.InventoryIterator;
import buildcraft.core.utils.BlockUtils;
import buildcraft.core.lib.inventory.InventoryIterator;
import buildcraft.core.lib.utils.BlockUtils;
public class BptBuilderTemplate extends BptBuilderBase {

View file

@ -17,7 +17,7 @@ import buildcraft.api.blueprints.IBuilderContext;
import buildcraft.api.blueprints.SchematicMask;
import buildcraft.api.core.BuildCraftAPI;
import buildcraft.core.blueprints.BlueprintId.Kind;
import buildcraft.core.utils.NBTUtils;
import buildcraft.core.lib.utils.NBTUtils;
/**
* Use the template system to describe fillers

View file

@ -29,7 +29,7 @@ import buildcraft.api.blueprints.SchematicFactory;
import buildcraft.api.blueprints.SchematicMask;
import buildcraft.api.core.BCLog;
import buildcraft.api.core.Position;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.lib.inventory.StackHelper;
public class BuildingSlotBlock extends BuildingSlot {

View file

@ -24,12 +24,12 @@ import buildcraft.api.blueprints.BuilderAPI;
import buildcraft.api.blueprints.ITileBuilder;
import buildcraft.core.IBoxProvider;
import buildcraft.core.LaserData;
import buildcraft.core.RFBattery;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.network.Packet;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.lib.RFBattery;
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
public abstract class TileAbstractBuilder extends TileBuildCraft implements ITileBuilder, IInventory, IBoxProvider,
IBuildingItemsProvider, ICommandReceiver {

View file

@ -26,7 +26,7 @@ import buildcraft.core.blueprints.BlueprintBase;
import buildcraft.core.blueprints.BptBuilderTemplate;
import buildcraft.core.blueprints.SchematicRegistry;
import buildcraft.core.blueprints.Template;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.utils.StringUtils;
public abstract class FillerPattern implements IFillerPattern {

View file

@ -8,7 +8,7 @@ import buildcraft.api.statements.IStatement;
import buildcraft.api.statements.IStatementContainer;
import buildcraft.api.statements.IStatementParameter;
import buildcraft.api.statements.StatementMouseClick;
import buildcraft.core.utils.StringUtils;
import buildcraft.core.lib.utils.StringUtils;
public class PatternParameterYDir implements IStatementParameter {
private static IIcon iconUp, iconDown;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core;
package buildcraft.core.lib;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.NBTTagCompound;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core;
package buildcraft.core.lib;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;

View file

@ -1,4 +1,4 @@
package buildcraft.core;
package buildcraft.core.lib;
import net.minecraft.nbt.NBTTagCompound;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core;
package buildcraft.core.lib;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
@ -15,7 +15,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.core.utils.BlockUtils;
import buildcraft.core.lib.utils.BlockUtils;
public final class TileBuffer {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core;
package buildcraft.core.lib.block;
import java.util.Random;
@ -25,7 +25,8 @@ import cpw.mods.fml.common.FMLCommonHandler;
import buildcraft.api.events.BlockPlacedDownEvent;
import buildcraft.api.tiles.IHasWork;
import buildcraft.core.utils.Utils;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.lib.utils.Utils;
public abstract class BlockBuildCraft extends BlockContainer {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core;
package buildcraft.core.lib.block;
import java.util.HashSet;
@ -26,10 +26,12 @@ import cofh.api.energy.IEnergyHandler;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.ISerializable;
import buildcraft.api.tiles.IControllable;
import buildcraft.core.network.Packet;
import buildcraft.core.network.ISynchronizedTile;
import buildcraft.core.network.PacketTileUpdate;
import buildcraft.core.utils.Utils;
import buildcraft.core.DefaultProps;
import buildcraft.core.lib.RFBattery;
import buildcraft.core.lib.TileBuffer;
import buildcraft.core.lib.network.Packet;
import buildcraft.core.lib.network.PacketTileUpdate;
import buildcraft.core.lib.utils.Utils;
/**
* For future maintainers: This class intentionally does not implement
@ -37,7 +39,7 @@ import buildcraft.core.utils.Utils;
* we expect the tiles supporting it to implement it - but TileBuildCraft
* provides all the underlying functionality to stop code repetition.
*/
public abstract class TileBuildCraft extends TileEntity implements IEnergyHandler, ISynchronizedTile, ISerializable {
public abstract class TileBuildCraft extends TileEntity implements IEnergyHandler, ISerializable {
protected TileBuffer[] cache;
protected HashSet<EntityPlayer> guiWatchers = new HashSet<EntityPlayer>();
protected IControllable.Mode mode;

View file

@ -6,41 +6,33 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
package buildcraft.core.lib.engines;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.api.events.BlockInteractionEvent;
import buildcraft.core.BlockBuildCraft;
import buildcraft.core.ICustomHighlight;
import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.lib.render.ICustomHighlight;
import buildcraft.core.IItemPipe;
public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
public abstract class BlockEngineBase extends BlockBuildCraft implements ICustomHighlight {
private static final AxisAlignedBB[][] boxes = {
{AxisAlignedBB.getBoundingBox(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), AxisAlignedBB.getBoundingBox(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)}, // -Y
{AxisAlignedBB.getBoundingBox(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), AxisAlignedBB.getBoundingBox(0.25, 0.5, 0.25, 0.75, 1.0, 0.75)}, // +Y
@ -50,13 +42,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
{AxisAlignedBB.getBoundingBox(0.0, 0.0, 0.0, 0.5, 1.0, 1.0), AxisAlignedBB.getBoundingBox(0.5, 0.25, 0.25, 1.0, 0.75, 0.75)} // +X
};
private static IIcon woodTexture;
private static IIcon stoneTexture;
private static IIcon ironTexture;
public BlockEngine() {
public BlockEngineBase() {
super(Material.iron);
setBlockName("engineBlock");
}
@Override
@ -69,41 +56,17 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister par1IconRegister) {
woodTexture = par1IconRegister.registerIcon("buildcraft:engineWoodBottom");
stoneTexture = par1IconRegister.registerIcon("buildcraft:engineStoneBottom");
ironTexture = par1IconRegister.registerIcon("buildcraft:engineIronBottom");
}
@Override
public int getRenderType() {
return BuildCraftCore.blockByEntityModel;
}
@Override
public TileEntity createTileEntity(World world, int metadata) {
switch (metadata) {
case 0:
return new TileEngineWood();
case 1:
return new TileEngineStone();
case 2:
return new TileEngineIron();
case 3:
return new TileEngineCreative();
default:
return new TileEngineWood();
}
}
@Override
public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
return ((TileEngine) tile).orientation.getOpposite() == side;
if (tile instanceof TileEngineBase) {
return ((TileEngineBase) tile).orientation.getOpposite() == side;
} else {
return false;
}
@ -113,8 +76,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
public boolean rotateBlock(World world, int x, int y, int z, ForgeDirection axis) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
return ((TileEngine) tile).switchOrientation(false);
if (tile instanceof TileEngineBase) {
return ((TileEngineBase) tile).switchOrientation(false);
} else {
return false;
}
@ -122,15 +85,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
@Override
public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer player, int side, float par7, float par8, float par9) {
TileEntity tile = world.getTileEntity(i, j, k);
// REMOVED DUE TO CREATIVE ENGINE REQUIREMENTS - dmillerw
// Drop through if the player is sneaking
// if (player.isSneaking()) {
// return false;
// }
BlockInteractionEvent event = new BlockInteractionEvent(player, this, world.getBlockMetadata(i, j, k));
FMLCommonHandler.instance().bus().post(event);
if (event.isCanceled()) {
@ -144,8 +100,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
}
}
if (tile instanceof TileEngine) {
return ((TileEngine) tile).onBlockActivated(player, ForgeDirection.getOrientation(side));
if (tile instanceof TileEngineBase) {
return ((TileEngineBase) tile).onBlockActivated(player, ForgeDirection.getOrientation(side));
}
return false;
@ -155,8 +111,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
@SuppressWarnings("unchecked")
public void addCollisionBoxesToList(World wrd, int x, int y, int z, AxisAlignedBB mask, List list, Entity ent) {
TileEntity tile = wrd.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
AxisAlignedBB[] aabbs = boxes[((TileEngine) tile).orientation.ordinal()];
if (tile instanceof TileEngineBase) {
AxisAlignedBB[] aabbs = boxes[((TileEngineBase) tile).orientation.ordinal()];
for (AxisAlignedBB aabb : aabbs) {
AxisAlignedBB aabbTmp = aabb.getOffsetBoundingBox(x, y, z);
if (mask.intersectsWith(aabbTmp)) {
@ -171,8 +127,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
@Override
public AxisAlignedBB[] getBoxes(World wrd, int x, int y, int z, EntityPlayer player) {
TileEntity tile = wrd.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
return boxes[((TileEngine) tile).orientation.ordinal()];
if (tile instanceof TileEngineBase) {
return boxes[((TileEngineBase) tile).orientation.ordinal()];
} else {
return new AxisAlignedBB[]{AxisAlignedBB.getBoundingBox(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)};
}
@ -186,8 +142,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
@Override
public MovingObjectPosition collisionRayTrace(World wrd, int x, int y, int z, Vec3 origin, Vec3 direction) {
TileEntity tile = wrd.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
AxisAlignedBB[] aabbs = boxes[((TileEngine) tile).orientation.ordinal()];
if (tile instanceof TileEngineBase) {
AxisAlignedBB[] aabbs = boxes[((TileEngineBase) tile).orientation.ordinal()];
MovingObjectPosition closest = null;
for (AxisAlignedBB aabb : aabbs) {
MovingObjectPosition mop = aabb.getOffsetBoundingBox(x, y, z).calculateIntercept(origin, direction);
@ -213,8 +169,8 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
@Override
public void onPostBlockPlaced(World world, int x, int y, int z, int par5) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
TileEngine engine = (TileEngine) tile;
if (tile instanceof TileEngineBase) {
TileEngineBase engine = (TileEngineBase) tile;
engine.orientation = ForgeDirection.UP;
if (!engine.isOrientationValid()) {
engine.switchOrientation(true);
@ -232,11 +188,11 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
public void randomDisplayTick(World world, int i, int j, int k, Random random) {
TileEntity tile = world.getTileEntity(i, j, k);
if (!(tile instanceof TileEngine)) {
if (!(tile instanceof TileEngineBase)) {
return;
}
if (((TileEngine) tile).getEnergyStage() == TileEngine.EnergyStage.OVERHEAT) {
if (((TileEngineBase) tile).getEnergyStage() == TileEngineBase.EnergyStage.OVERHEAT) {
for (int f = 0; f < 16; f++) {
world.spawnParticle("smoke", i + 0.4F + (random.nextFloat() * 0.2F),
j + (random.nextFloat() * 0.5F),
@ -245,7 +201,7 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
random.nextFloat() * 0.05F + 0.02F,
random.nextFloat() * 0.04F - 0.02F);
}
} else if (((TileEngine) tile).isBurning()) {
} else if (((TileEngineBase) tile).isBurning()) {
float f = i + 0.5F;
float f1 = j + 0.0F + (random.nextFloat() * 6F) / 16F;
float f2 = k + 0.5F;
@ -259,36 +215,12 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
}
}
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void getSubBlocks(Item item, CreativeTabs par2CreativeTabs, List itemList) {
itemList.add(new ItemStack(this, 1, 0)); // WOOD
itemList.add(new ItemStack(this, 1, 1)); // STONE
itemList.add(new ItemStack(this, 1, 2)); // IRON
itemList.add(new ItemStack(this, 1, 3)); // CREATIVE
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile instanceof TileEngine) {
((TileEngine) tile).onNeighborUpdate();
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
switch (meta) {
case 0:
return woodTexture;
case 1:
return stoneTexture;
case 2:
return ironTexture;
default:
return null;
if (tile instanceof TileEngineBase) {
((TileEngineBase) tile).onNeighborUpdate();
}
}
@ -296,4 +228,7 @@ public class BlockEngine extends BlockBuildCraft implements ICustomHighlight {
public TileEntity createNewTileEntity(World world, int metadata) {
return null;
}
public abstract String getUnlocalizedName(int metadata);
public abstract TileEntity createTileEntity(World world, int metadata);
}

View file

@ -6,18 +6,20 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
package buildcraft.core.lib.engines;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import buildcraft.core.BCCreativeTab;
import buildcraft.core.ItemBlockBuildCraft;
import buildcraft.core.lib.items.ItemBlockBuildCraft;
public class ItemEngine extends ItemBlockBuildCraft {
private final BlockEngineBase engineBlock;
public ItemEngine(Block block) {
super(block);
engineBlock = (BlockEngineBase) block;
setCreativeTab(BCCreativeTab.get("main"));
setMaxDamage(0);
setHasSubtypes(true);
@ -30,17 +32,6 @@ public class ItemEngine extends ItemBlockBuildCraft {
@Override
public String getUnlocalizedName(ItemStack itemstack) {
switch (itemstack.getItemDamage()) {
case 0:
return "tile.engineWood";
case 1:
return "tile.engineStone";
case 2:
return "tile.engineIron";
case 3:
return "tile.engineCreative";
default:
return "tile.engineWood";
}
return engineBlock.getUnlocalizedName(itemstack.getItemDamage());
}
}

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy.render;
package buildcraft.core.lib.engines;
import org.lwjgl.opengl.GL11;
@ -21,8 +21,7 @@ import net.minecraftforge.common.util.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftCore.RenderMode;
import buildcraft.core.IInventoryRenderer;
import buildcraft.energy.TileEngine;
import buildcraft.core.lib.render.IInventoryRenderer;
public class RenderEngine extends TileEntitySpecialRenderer implements IInventoryRenderer {
@ -91,7 +90,7 @@ public class RenderEngine extends TileEntitySpecialRenderer implements IInventor
@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {
TileEngine engine = (TileEngine) tileentity;
TileEngineBase engine = (TileEngineBase) tileentity;
if (engine != null) {
render(engine.progress, engine.orientation, engine.getBaseTexture(), engine.getChamberTexture(), engine.getTrunkTexture(engine.getEnergyStage()), x, y, z);

View file

@ -6,11 +6,12 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.energy;
package buildcraft.core.lib.engines;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@ -29,35 +30,11 @@ import buildcraft.api.tools.IToolWrench;
import buildcraft.api.transport.IPipeConnection;
import buildcraft.api.transport.IPipeTile;
import buildcraft.core.DefaultProps;
import buildcraft.core.TileBuildCraft;
import buildcraft.core.utils.MathUtils;
import buildcraft.core.utils.Utils;
import buildcraft.energy.gui.ContainerEngine;
public abstract class TileEngine extends TileBuildCraft implements IPipeConnection, IEnergyHandler, IEngine, IHeatable {
// Index corresponds to metadata
public static final ResourceLocation[] BASE_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_wood.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_stone.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_iron.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/base_creative.png")
};
public static final ResourceLocation[] CHAMBER_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_wood.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_stone.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_iron.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber_creative.png")
};
// THESE ARE ONLY BLUE TRUNKS. OTHER HEAT STAGES ARE HANDLED PER TILE
public static final ResourceLocation[] TRUNK_TEXTURES = new ResourceLocation[]{
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_wood.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_stone.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_iron.png"),
new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_creative.png")
};
import buildcraft.core.lib.block.TileBuildCraft;
import buildcraft.core.lib.utils.MathUtils;
import buildcraft.core.lib.utils.Utils;
public abstract class TileEngineBase extends TileBuildCraft implements IPipeConnection, IEnergyHandler, IEngine, IHeatable {
// TEMP
public static final ResourceLocation TRUNK_BLUE_TEXTURE = new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_blue.png");
public static final ResourceLocation TRUNK_GREEN_TEXTURE = new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_green.png");
@ -65,7 +42,7 @@ public abstract class TileEngine extends TileBuildCraft implements IPipeConnecti
public static final ResourceLocation TRUNK_RED_TEXTURE = new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_red.png");
public static final ResourceLocation TRUNK_OVERHEAT_TEXTURE = new ResourceLocation(DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_overheat.png");
public enum EnergyStage {
public enum EnergyStage {
BLUE, GREEN, YELLOW, RED, OVERHEAT;
public static final EnergyStage[] VALUES = values();
}
@ -82,13 +59,12 @@ public abstract class TileEngine extends TileBuildCraft implements IPipeConnecti
public ForgeDirection orientation = ForgeDirection.UP;
protected int progressPart = 0;
protected boolean lastPower = false;
private boolean checkOrientation = false;
private boolean isPumping = false; // Used for SMP synch
public TileEngine() {
public TileEngineBase() {
}
@Override
@ -350,11 +326,6 @@ public abstract class TileEngine extends TileBuildCraft implements IPipeConnecti
}
}
// Uncomment out for constant power
// public float getActualOutput() {
// float heatLevel = getIdealHeatLevel();
// return getCurrentOutput() * heatLevel;
// }
protected void burn() {
}
@ -480,11 +451,11 @@ public abstract class TileEngine extends TileBuildCraft implements IPipeConnecti
}
}
public void sendGUINetworkData(ContainerEngine containerEngine, ICrafting iCrafting) {
iCrafting.sendProgressBarUpdate(containerEngine, 0, Math.round(energy) & 0xffff);
iCrafting.sendProgressBarUpdate(containerEngine, 1, (Math.round(energy) & 0xffff0000) >> 16);
iCrafting.sendProgressBarUpdate(containerEngine, 2, Math.round(currentOutput));
iCrafting.sendProgressBarUpdate(containerEngine, 3, Math.round(heat * 100));
public void sendGUINetworkData(Container container, ICrafting iCrafting) {
iCrafting.sendProgressBarUpdate(container, 0, Math.round(energy) & 0xffff);
iCrafting.sendProgressBarUpdate(container, 1, (Math.round(energy) & 0xffff0000) >> 16);
iCrafting.sendProgressBarUpdate(container, 2, Math.round(currentOutput));
iCrafting.sendProgressBarUpdate(container, 3, Math.round(heat * 100));
}
/* STATE INFORMATION */

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.fluids;
package buildcraft.core.lib.fluids;
import net.minecraft.tileentity.TileEntity;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.fluids;
package buildcraft.core.lib.fluids;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.fluids;
package buildcraft.core.lib.fluids;
import java.util.Locale;
@ -16,8 +16,8 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidTank;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.gui.tooltips.ToolTipLine;
import buildcraft.core.lib.gui.tooltips.ToolTip;
import buildcraft.core.lib.gui.tooltips.ToolTipLine;
public class Tank extends FluidTank {
public int colorRenderCache = 0xFFFFFF;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.fluids;
package buildcraft.core.lib.fluids;
import java.util.ArrayList;
import java.util.Arrays;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.fluids;
package buildcraft.core.lib.fluids;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
@ -22,8 +22,8 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidHandler;
import net.minecraftforge.fluids.IFluidTank;
import buildcraft.core.TileBuffer;
import buildcraft.core.inventory.InvUtils;
import buildcraft.core.lib.TileBuffer;
import buildcraft.core.lib.inventory.InvUtils;
public final class TankUtils {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import org.lwjgl.opengl.GL11;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import java.io.DataInputStream;
import java.io.IOException;
@ -25,11 +25,11 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import buildcraft.BuildCraftCore;
import buildcraft.core.gui.slots.IPhantomSlot;
import buildcraft.core.gui.slots.SlotBase;
import buildcraft.core.gui.widgets.Widget;
import buildcraft.core.inventory.StackHelper;
import buildcraft.core.network.PacketGuiWidget;
import buildcraft.core.lib.gui.slots.IPhantomSlot;
import buildcraft.core.lib.gui.slots.SlotBase;
import buildcraft.core.lib.gui.widgets.Widget;
import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.network.PacketGuiWidget;
public abstract class BuildCraftContainer extends Container {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import io.netty.buffer.ByteBuf;
@ -18,11 +18,10 @@ import cpw.mods.fml.relauncher.Side;
import buildcraft.BuildCraftCore;
import buildcraft.core.ItemList;
import buildcraft.core.network.CommandWriter;
import buildcraft.core.network.ICommandReceiver;
import buildcraft.core.network.PacketCommand;
import buildcraft.core.utils.NetworkUtils;
import buildcraft.core.utils.Utils;
import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver;
import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.utils.NetworkUtils;
public class ContainerList extends BuildCraftContainer implements ICommandReceiver {

View file

@ -6,15 +6,15 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;
import buildcraft.core.render.FluidRenderer;
import buildcraft.core.render.RenderUtils;
import buildcraft.core.lib.render.FluidRenderer;
import buildcraft.core.lib.render.RenderUtils;
/**
* For the refinery, a kind of phantom slot for fluid.

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import java.util.ArrayList;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import java.util.ArrayList;
import java.util.Collection;
@ -30,13 +30,13 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidStack;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.slots.IPhantomSlot;
import buildcraft.core.gui.tooltips.IToolTipProvider;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.gui.tooltips.ToolTipLine;
import buildcraft.core.gui.widgets.Widget;
import buildcraft.core.render.RenderUtils;
import buildcraft.core.utils.SessionVars;
import buildcraft.core.lib.gui.slots.IPhantomSlot;
import buildcraft.core.lib.gui.tooltips.IToolTipProvider;
import buildcraft.core.lib.gui.tooltips.ToolTip;
import buildcraft.core.lib.gui.tooltips.ToolTipLine;
import buildcraft.core.lib.gui.widgets.Widget;
import buildcraft.core.lib.render.RenderUtils;
import buildcraft.core.lib.utils.SessionVars;
public abstract class GuiBuildCraft extends GuiContainer {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.entity.player.EntityPlayer;

View file

@ -6,13 +6,13 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import java.util.List;
import net.minecraft.client.gui.FontRenderer;
import buildcraft.core.gui.buttons.GuiBetterButton;
import buildcraft.core.lib.gui.buttons.GuiBetterButton;
public final class GuiTools {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import net.minecraft.item.ItemStack;

View file

@ -1,4 +1,4 @@
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;

View file

@ -1,4 +1,4 @@
package buildcraft.core.gui;
package buildcraft.core.lib.gui;
import java.util.ArrayList;
import net.minecraft.util.IIcon;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
public class ButtonTextureSet implements IButtonTextureSet {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
import org.lwjgl.opengl.GL11;
@ -19,8 +19,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.tooltips.IToolTipProvider;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.lib.gui.tooltips.IToolTipProvider;
import buildcraft.core.lib.gui.tooltips.ToolTip;
@SideOnly(Side.CLIENT)
public class GuiBetterButton extends GuiButton implements IToolTipProvider {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -7,7 +7,7 @@
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
import java.util.ArrayList;

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
import org.lwjgl.opengl.GL11;
@ -16,7 +16,7 @@ import net.minecraft.client.gui.FontRenderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.gui.tooltips.ToolTip;
import buildcraft.core.lib.gui.tooltips.ToolTip;
@SideOnly(Side.CLIENT)
public class GuiMultiButton extends GuiBetterButton {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
public class GuiToggleButton extends GuiBetterButton {

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

View file

@ -7,7 +7,7 @@
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
public interface IButtonClickEventListener {
void handleButtonClick(IButtonClickEventTrigger button, int buttonId);

View file

@ -7,7 +7,7 @@
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
public interface IButtonClickEventTrigger {
void registerListener(IButtonClickEventListener listener);

View file

@ -6,7 +6,7 @@
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.core.gui.buttons;
package buildcraft.core.lib.gui.buttons;
public interface IButtonTextureSet {

Some files were not shown because too many files have changed in this diff Show more