This commit is contained in:
asiekierka 2015-04-01 08:13:06 +02:00
parent 835974e530
commit 59b7a660e2
12 changed files with 54 additions and 47 deletions

View file

@ -24,6 +24,9 @@ public class StatementSlot {
for (int i = 0; i < parameters.length; i++) { for (int i = 0; i < parameters.length; i++) {
IStatementParameter p1 = parameters[i]; IStatementParameter p1 = parameters[i];
IStatementParameter p2 = s.parameters[i]; IStatementParameter p2 = s.parameters[i];
if (p1 == null && p2 != null) {
return false;
}
if (!(p1.equals(p2))) { if (!(p1.equals(p2))) {
return false; return false;
} }

View file

@ -82,7 +82,6 @@ import buildcraft.builders.TilePathMarker;
import buildcraft.builders.blueprints.RealBlueprintDeployer; import buildcraft.builders.blueprints.RealBlueprintDeployer;
import buildcraft.builders.schematics.SchematicAir; import buildcraft.builders.schematics.SchematicAir;
import buildcraft.builders.schematics.SchematicBed; import buildcraft.builders.schematics.SchematicBed;
import buildcraft.core.builders.schematics.SchematicBlockCreative;
import buildcraft.builders.schematics.SchematicCactus; import buildcraft.builders.schematics.SchematicCactus;
import buildcraft.builders.schematics.SchematicCustomStack; import buildcraft.builders.schematics.SchematicCustomStack;
import buildcraft.builders.schematics.SchematicDirt; import buildcraft.builders.schematics.SchematicDirt;
@ -96,7 +95,6 @@ import buildcraft.builders.schematics.SchematicFire;
import buildcraft.builders.schematics.SchematicGlassPane; import buildcraft.builders.schematics.SchematicGlassPane;
import buildcraft.builders.schematics.SchematicGravel; import buildcraft.builders.schematics.SchematicGravel;
import buildcraft.builders.schematics.SchematicHanging; import buildcraft.builders.schematics.SchematicHanging;
import buildcraft.core.builders.schematics.SchematicIgnore;
import buildcraft.builders.schematics.SchematicLever; import buildcraft.builders.schematics.SchematicLever;
import buildcraft.builders.schematics.SchematicMinecart; import buildcraft.builders.schematics.SchematicMinecart;
import buildcraft.builders.schematics.SchematicPiston; import buildcraft.builders.schematics.SchematicPiston;
@ -106,16 +104,12 @@ import buildcraft.builders.schematics.SchematicRail;
import buildcraft.builders.schematics.SchematicRedstoneDiode; import buildcraft.builders.schematics.SchematicRedstoneDiode;
import buildcraft.builders.schematics.SchematicRedstoneLamp; import buildcraft.builders.schematics.SchematicRedstoneLamp;
import buildcraft.builders.schematics.SchematicRedstoneWire; import buildcraft.builders.schematics.SchematicRedstoneWire;
import buildcraft.core.builders.schematics.SchematicRotateMeta;
import buildcraft.builders.schematics.SchematicSeeds; import buildcraft.builders.schematics.SchematicSeeds;
import buildcraft.builders.schematics.SchematicSign; import buildcraft.builders.schematics.SchematicSign;
import buildcraft.builders.schematics.SchematicSkull; import buildcraft.builders.schematics.SchematicSkull;
import buildcraft.builders.schematics.SchematicStairs; import buildcraft.builders.schematics.SchematicStairs;
import buildcraft.core.builders.schematics.SchematicStandalone;
import buildcraft.builders.schematics.SchematicStone; import buildcraft.builders.schematics.SchematicStone;
import buildcraft.core.builders.schematics.SchematicTileCreative;
import buildcraft.builders.schematics.SchematicTripWireHook; import buildcraft.builders.schematics.SchematicTripWireHook;
import buildcraft.core.builders.schematics.SchematicWallSide;
import buildcraft.builders.statements.BuildersActionProvider; import buildcraft.builders.statements.BuildersActionProvider;
import buildcraft.builders.urbanism.BlockUrbanist; import buildcraft.builders.urbanism.BlockUrbanist;
import buildcraft.builders.urbanism.TileUrbanist; import buildcraft.builders.urbanism.TileUrbanist;
@ -137,6 +131,12 @@ import buildcraft.core.builders.patterns.PatternHorizon;
import buildcraft.core.builders.patterns.PatternParameterYDir; import buildcraft.core.builders.patterns.PatternParameterYDir;
import buildcraft.core.builders.patterns.PatternPyramid; import buildcraft.core.builders.patterns.PatternPyramid;
import buildcraft.core.builders.patterns.PatternStairs; import buildcraft.core.builders.patterns.PatternStairs;
import buildcraft.core.builders.schematics.SchematicBlockCreative;
import buildcraft.core.builders.schematics.SchematicIgnore;
import buildcraft.core.builders.schematics.SchematicRotateMeta;
import buildcraft.core.builders.schematics.SchematicStandalone;
import buildcraft.core.builders.schematics.SchematicTileCreative;
import buildcraft.core.builders.schematics.SchematicWallSide;
import buildcraft.core.proxy.CoreProxy; import buildcraft.core.proxy.CoreProxy;
@Mod(name = "BuildCraft Builders", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Builders", dependencies = DefaultProps.DEPENDENCY_CORE) @Mod(name = "BuildCraft Builders", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Builders", dependencies = DefaultProps.DEPENDENCY_CORE)

View file

@ -33,11 +33,11 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Property; import net.minecraftforge.common.config.Property;
import buildcraft.api.blueprints.BuilderAPI; import buildcraft.api.blueprints.BuilderAPI;
import buildcraft.api.blueprints.SchematicTile; import buildcraft.api.blueprints.SchematicTile;
import buildcraft.core.builders.schematics.SchematicIgnoreMeta;
import buildcraft.core.CompatHooks; import buildcraft.core.CompatHooks;
import buildcraft.core.DefaultProps; import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms; import buildcraft.core.InterModComms;
import buildcraft.core.Version; import buildcraft.core.Version;
import buildcraft.core.builders.schematics.SchematicIgnoreMeta;
import buildcraft.core.lib.network.ChannelHandler; import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.lib.network.PacketHandler; import buildcraft.core.lib.network.PacketHandler;
import buildcraft.core.lib.utils.ConfigUtils; import buildcraft.core.lib.utils.ConfigUtils;

View file

@ -39,7 +39,6 @@ import buildcraft.api.statements.IActionInternal;
import buildcraft.api.statements.ITriggerInternal; import buildcraft.api.statements.ITriggerInternal;
import buildcraft.api.statements.StatementManager; import buildcraft.api.statements.StatementManager;
import buildcraft.api.transport.PipeManager; import buildcraft.api.transport.PipeManager;
import buildcraft.builders.urbanism.UrbanistToolsIconProvider;
import buildcraft.core.BCCreativeTab; import buildcraft.core.BCCreativeTab;
import buildcraft.core.CompatHooks; import buildcraft.core.CompatHooks;
import buildcraft.core.DefaultProps; import buildcraft.core.DefaultProps;

View file

@ -25,11 +25,11 @@ import net.minecraftforge.oredict.OreDictionary;
import buildcraft.api.blueprints.BuilderAPI; import buildcraft.api.blueprints.BuilderAPI;
import buildcraft.api.recipes.BuildcraftRecipeRegistry; import buildcraft.api.recipes.BuildcraftRecipeRegistry;
import buildcraft.api.robots.RobotManager; import buildcraft.api.robots.RobotManager;
import buildcraft.core.builders.schematics.SchematicRotateMeta;
import buildcraft.core.CompatHooks; import buildcraft.core.CompatHooks;
import buildcraft.core.DefaultProps; import buildcraft.core.DefaultProps;
import buildcraft.core.InterModComms; import buildcraft.core.InterModComms;
import buildcraft.core.Version; import buildcraft.core.Version;
import buildcraft.core.builders.schematics.SchematicRotateMeta;
import buildcraft.core.lib.items.ItemBuildCraft; import buildcraft.core.lib.items.ItemBuildCraft;
import buildcraft.core.lib.network.ChannelHandler; import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.proxy.CoreProxy; import buildcraft.core.proxy.CoreProxy;

View file

@ -32,11 +32,15 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.event.FMLServerStoppingEvent; import cpw.mods.fml.common.event.FMLServerStoppingEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Property; import net.minecraftforge.common.config.Property;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.RecipeSorter;
@ -84,6 +88,7 @@ import buildcraft.transport.TileGenericPipe;
import buildcraft.transport.TransportGuiHandler; import buildcraft.transport.TransportGuiHandler;
import buildcraft.transport.TransportProxy; import buildcraft.transport.TransportProxy;
import buildcraft.transport.WireIconProvider; import buildcraft.transport.WireIconProvider;
import buildcraft.transport.gates.GateDefinition;
import buildcraft.transport.gates.GateDefinition.GateLogic; import buildcraft.transport.gates.GateDefinition.GateLogic;
import buildcraft.transport.gates.GateDefinition.GateMaterial; import buildcraft.transport.gates.GateDefinition.GateMaterial;
import buildcraft.transport.gates.GateExpansionLightSensor; import buildcraft.transport.gates.GateExpansionLightSensor;
@ -467,6 +472,7 @@ public class BuildCraftTransport extends BuildCraftMod {
@Mod.EventHandler @Mod.EventHandler
public void init(FMLInitializationEvent evt) { public void init(FMLInitializationEvent evt) {
transportChannelHandler = new ChannelHandler(); transportChannelHandler = new ChannelHandler();
MinecraftForge.EVENT_BUS.register(this);
transportChannelHandler.registerPacketType(PacketFluidUpdate.class); transportChannelHandler.registerPacketType(PacketFluidUpdate.class);
transportChannelHandler.registerPacketType(PacketPipeTransportItemStack.class); transportChannelHandler.registerPacketType(PacketPipeTransportItemStack.class);
@ -565,6 +571,33 @@ public class BuildCraftTransport extends BuildCraftMod {
} }
} }
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void textureHook(TextureStitchEvent.Pre event) {
if (event.map.getTextureType() == 0) {
for (Item i : BlockGenericPipe.pipes.keySet()) {
Pipe<?> dummyPipe = BlockGenericPipe.createPipe(i);
if (dummyPipe != null) {
dummyPipe.getIconProvider().registerIcons(event.map);
}
}
wireIconProvider.registerIcons(event.map);
for (GateDefinition.GateMaterial material : GateDefinition.GateMaterial.VALUES) {
material.registerBlockIcon(event.map);
}
for (GateDefinition.GateLogic logic : GateDefinition.GateLogic.VALUES) {
logic.registerBlockIcon(event.map);
}
for (IGateExpansion expansion : GateExpansions.getExpansions()) {
expansion.registerBlockOverlay(event.map);
}
}
}
@Mod.EventHandler @Mod.EventHandler
public void serverLoading(FMLServerStartingEvent event) { public void serverLoading(FMLServerStartingEvent event) {
pipeExtensionListener = new PipeExtensionListener(); pipeExtensionListener = new PipeExtensionListener();

View file

@ -8,9 +8,9 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidBlock; import net.minecraftforge.fluids.IFluidBlock;
import buildcraft.api.blueprints.SchematicBlock; import buildcraft.api.blueprints.SchematicBlock;
import buildcraft.api.blueprints.SchematicFluid; import buildcraft.api.blueprints.SchematicFluid;
import buildcraft.core.blueprints.SchematicRegistry;
import buildcraft.core.builders.schematics.SchematicBlockCreative; import buildcraft.core.builders.schematics.SchematicBlockCreative;
import buildcraft.core.builders.schematics.SchematicTileCreative; import buildcraft.core.builders.schematics.SchematicTileCreative;
import buildcraft.core.blueprints.SchematicRegistry;
public final class HeuristicBlockDetection { public final class HeuristicBlockDetection {

View file

@ -2,6 +2,7 @@ package buildcraft.robotics.map;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import buildcraft.api.core.INBTStoreable; import buildcraft.api.core.INBTStoreable;
import gnu.trove.map.hash.TIntObjectHashMap; import gnu.trove.map.hash.TIntObjectHashMap;
public class MapRegion implements INBTStoreable { public class MapRegion implements INBTStoreable {

View file

@ -15,6 +15,7 @@ import java.util.Set;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
import buildcraft.core.lib.utils.NBTUtils; import buildcraft.core.lib.utils.NBTUtils;
import gnu.trove.map.hash.TLongObjectHashMap; import gnu.trove.map.hash.TLongObjectHashMap;
public class MapWorld { public class MapWorld {

View file

@ -93,11 +93,13 @@ public class TileAssemblyTable extends TileLaserTableBase implements IInventory,
if (currentRecipe.canBeCrafted(this)) { if (currentRecipe.canBeCrafted(this)) {
ItemStack remaining = currentRecipe.craft(this, false).crafted.copy(); ItemStack remaining = currentRecipe.craft(this, false).crafted.copy();
EntityRobotBase robot = RobotManager.registryProvider.getRegistry(worldObj) if (RobotManager.registryProvider != null) {
.robotTaking(new ResourceIdAssemblyTable(this)); EntityRobotBase robot = RobotManager.registryProvider.getRegistry(worldObj)
.robotTaking(new ResourceIdAssemblyTable(this));
if (robot != null) { if (robot != null) {
remaining = robot.receiveItem(this, remaining); remaining = robot.receiveItem(this, remaining);
}
} }
if (remaining != null && remaining.stackSize > 0) { if (remaining != null && remaining.stackSize > 0) {

View file

@ -47,8 +47,6 @@ import buildcraft.api.blocks.IColorRemovable;
import buildcraft.api.core.BCLog; import buildcraft.api.core.BCLog;
import buildcraft.api.core.BlockIndex; import buildcraft.api.core.BlockIndex;
import buildcraft.api.events.PipePlacedEvent; import buildcraft.api.events.PipePlacedEvent;
import buildcraft.api.gates.GateExpansions;
import buildcraft.api.gates.IGateExpansion;
import buildcraft.api.items.IMapLocation; import buildcraft.api.items.IMapLocation;
import buildcraft.api.tools.IToolWrench; import buildcraft.api.tools.IToolWrench;
import buildcraft.api.transport.IPipe; import buildcraft.api.transport.IPipe;
@ -62,7 +60,6 @@ import buildcraft.core.lib.TileBuffer;
import buildcraft.core.lib.block.BlockBuildCraft; import buildcraft.core.lib.block.BlockBuildCraft;
import buildcraft.core.lib.utils.MatrixTranformations; import buildcraft.core.lib.utils.MatrixTranformations;
import buildcraft.core.lib.utils.Utils; import buildcraft.core.lib.utils.Utils;
import buildcraft.transport.gates.GateDefinition;
import buildcraft.transport.gates.GatePluggable; import buildcraft.transport.gates.GatePluggable;
import buildcraft.transport.render.PipeRendererWorld; import buildcraft.transport.render.PipeRendererWorld;
@ -99,8 +96,6 @@ public class BlockGenericPipe extends BlockBuildCraft implements IColorRemovable
} }
} }
private boolean skippedFirstIconRegister;
/* Defined subprograms ************************************************* */ /* Defined subprograms ************************************************* */
public BlockGenericPipe() { public BlockGenericPipe() {
super(Material.glass); super(Material.glass);
@ -907,31 +902,7 @@ public class BlockGenericPipe extends BlockBuildCraft implements IColorRemovable
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) { public void registerBlockIcons(IIconRegister iconRegister) {
if (!skippedFirstIconRegister) {
skippedFirstIconRegister = true;
return;
}
BuildCraftTransport.instance.wireIconProvider.registerIcons(iconRegister);
for (Item i : pipes.keySet()) {
Pipe<?> dummyPipe = createPipe(i);
if (dummyPipe != null) {
dummyPipe.getIconProvider().registerIcons(iconRegister);
}
}
for (GateDefinition.GateMaterial material : GateDefinition.GateMaterial.VALUES) {
material.registerBlockIcon(iconRegister);
}
for (GateDefinition.GateLogic logic : GateDefinition.GateLogic.VALUES) {
logic.registerBlockIcon(iconRegister);
}
for (IGateExpansion expansion : GateExpansions.getExpansions()) {
expansion.registerBlockOverlay(iconRegister);
}
} }
/** /**

View file

@ -171,9 +171,7 @@ public class FacadeItemRenderer implements IItemRenderer {
block = BuildCraftTransport.genericPipeBlock; block = BuildCraftTransport.genericPipeBlock;
IIcon textureID = BuildCraftTransport.instance.pipeIconProvider.getIcon(PipeIconProvider.TYPE.PipeStructureCobblestone.ordinal()); // Structure pipe IIcon textureID = BuildCraftTransport.instance.pipeIconProvider.getIcon(PipeIconProvider.TYPE.PipeStructureCobblestone.ordinal()); // Structure pipe
block.setBlockBounds(CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MAX_POS, CoreConstants.PIPE_MAX_POS, CoreConstants.PIPE_MAX_POS - 1F / 16F); render.setRenderBounds(CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MIN_POS, CoreConstants.PIPE_MAX_POS, CoreConstants.PIPE_MAX_POS, CoreConstants.PIPE_MAX_POS - 1F / 16F);
block.setBlockBoundsForItemRender();
render.setRenderBoundsFromBlock(block);
GL11.glTranslatef(translateX, translateY, translateZ + 0.25F); GL11.glTranslatef(translateX, translateY, translateZ + 0.25F);
tessellator.startDrawingQuads(); tessellator.startDrawingQuads();
@ -202,7 +200,6 @@ public class FacadeItemRenderer implements IItemRenderer {
tessellator.draw(); tessellator.draw();
} }
GL11.glTranslatef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(0.5F, 0.5F, 0.5F);
block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
@Override @Override