BuildCraft 7.1.0

This commit is contained in:
Adrian 2015-08-03 18:33:57 +02:00
parent 9a68480932
commit b094426ba5
23 changed files with 35 additions and 39 deletions

View file

@ -22,7 +22,7 @@ apply plugin: 'forge' // adds the forge dependency
apply plugin: 'maven' // for uploading to a maven repo apply plugin: 'maven' // for uploading to a maven repo
apply plugin: 'checkstyle' apply plugin: 'checkstyle'
version = "7.0.18" version = "7.1.0"
group= "com.mod-buildcraft" group= "com.mod-buildcraft"
archivesBaseName = "buildcraft" // the name that all artifacts will use as a base. artifacts names follow this pattern: [baseName]-[appendix]-[version]-[classifier].[extension] archivesBaseName = "buildcraft" // the name that all artifacts will use as a base. artifacts names follow this pattern: [baseName]-[appendix]-[version]-[classifier].[extension]

View file

@ -31,7 +31,6 @@ Improvements:
* Zone Planners now have a dynamic texture (asie) * Zone Planners now have a dynamic texture (asie)
* Requesters now support the Comparator (asie) * Requesters now support the Comparator (asie)
* Add events for robot interaction and removal (asie) * Add events for robot interaction and removal (asie)
* Add the Breaker robot that mines stone materials (hea3ven)
* Fix robots not using the correct sides when accessing inventories/tanks (hea3ven) * Fix robots not using the correct sides when accessing inventories/tanks (hea3ven)
* Fix loading break ai from nbt (hea3ven) * Fix loading break ai from nbt (hea3ven)
* Transport: * Transport:

View file

@ -126,12 +126,12 @@ import buildcraft.core.lib.engines.TileEngineBase;
import buildcraft.core.lib.network.ChannelHandler; import buildcraft.core.lib.network.ChannelHandler;
import buildcraft.core.lib.utils.ColorUtils; import buildcraft.core.lib.utils.ColorUtils;
import buildcraft.core.lib.utils.NBTUtils; import buildcraft.core.lib.utils.NBTUtils;
import buildcraft.core.list.ListOreDictionaryCache;
import buildcraft.core.lib.utils.Utils; import buildcraft.core.lib.utils.Utils;
import buildcraft.core.lib.utils.XorShift128Random; import buildcraft.core.lib.utils.XorShift128Random;
import buildcraft.core.list.ListMatchHandlerClass; import buildcraft.core.list.ListMatchHandlerClass;
import buildcraft.core.list.ListMatchHandlerFluid; import buildcraft.core.list.ListMatchHandlerFluid;
import buildcraft.core.list.ListMatchHandlerOreDictionary; import buildcraft.core.list.ListMatchHandlerOreDictionary;
import buildcraft.core.list.ListOreDictionaryCache;
import buildcraft.core.list.ListRegistry; import buildcraft.core.list.ListRegistry;
import buildcraft.core.list.ListTooltipHandler; import buildcraft.core.list.ListTooltipHandler;
import buildcraft.core.network.PacketHandlerCore; import buildcraft.core.network.PacketHandlerCore;

View file

@ -16,9 +16,7 @@ import java.util.List;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.client.event.ConfigChangedEvent;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Loader;
@ -34,7 +32,6 @@ import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.client.event.TextureStitchEvent; 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.MinecraftForge;
@ -152,7 +149,6 @@ import buildcraft.robotics.statements.TriggerRobotInStation;
import buildcraft.robotics.statements.TriggerRobotLinked; import buildcraft.robotics.statements.TriggerRobotLinked;
import buildcraft.robotics.statements.TriggerRobotSleep; import buildcraft.robotics.statements.TriggerRobotSleep;
import buildcraft.silicon.ItemRedstoneChipset; import buildcraft.silicon.ItemRedstoneChipset;
import buildcraft.transport.ItemPipe;
@Mod(name = "BuildCraft Robotics", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Robotics", dependencies = DefaultProps.DEPENDENCY_CORE) @Mod(name = "BuildCraft Robotics", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Robotics", dependencies = DefaultProps.DEPENDENCY_CORE)
public class BuildCraftRobotics extends BuildCraftMod { public class BuildCraftRobotics extends BuildCraftMod {
@ -238,7 +234,9 @@ public class BuildCraftRobotics extends BuildCraftMod {
RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotButcher", "butcher", BoardRobotButcher.class, "blue"), 32000); RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotButcher", "butcher", BoardRobotButcher.class, "blue"), 32000);
RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:shovelman", "shovelman", BoardRobotShovelman.class, "blue"), 32000); RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:shovelman", "shovelman", BoardRobotShovelman.class, "blue"), 32000);
RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotPump", "pump", BoardRobotPump.class, "blue"), 32000); RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotPump", "pump", BoardRobotPump.class, "blue"), 32000);
RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotBreaker", "breaker", BoardRobotBreaker.class, "blue"), 32000);
// TODO: Discuss this one!
//RedstoneBoardRegistry.instance.registerBoardType(new BCBoardNBT("buildcraft:boardRobotBreaker", "breaker", BoardRobotBreaker.class, "blue"), 32000);
// Even more expensive // Even more expensive
// These handle complex multi-step operations. // These handle complex multi-step operations.

View file

@ -107,7 +107,6 @@ public class LibraryDatabase {
byte[] data = NBTUtils.save(compound); byte[] data = NBTUtils.save(compound);
base.generateUniqueId(data); base.generateUniqueId(data);
File blueprintFile = getBlueprintOutputFile(base); File blueprintFile = getBlueprintOutputFile(base);
System.out.println(blueprintFile.getName() + " - " + data.length);
if (!blueprintFile.exists()) { if (!blueprintFile.exists()) {
try { try {

View file

@ -9,7 +9,6 @@
package buildcraft.builders; package buildcraft.builders;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;

View file

@ -27,7 +27,6 @@ import buildcraft.api.tiles.IControllable;
import buildcraft.api.tiles.IHasWork; import buildcraft.api.tiles.IHasWork;
import buildcraft.core.Box; import buildcraft.core.Box;
import buildcraft.core.Box.Kind; import buildcraft.core.Box.Kind;
import buildcraft.core.TileMarker;
import buildcraft.core.blueprints.BptBuilderTemplate; import buildcraft.core.blueprints.BptBuilderTemplate;
import buildcraft.core.blueprints.BptContext; import buildcraft.core.blueprints.BptContext;
import buildcraft.core.builders.TileAbstractBuilder; import buildcraft.core.builders.TileAbstractBuilder;

View file

@ -14,7 +14,6 @@ import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import buildcraft.BuildCraftBuilders;
import buildcraft.api.library.LibraryAPI; import buildcraft.api.library.LibraryAPI;
import buildcraft.builders.TileBlueprintLibrary; import buildcraft.builders.TileBlueprintLibrary;
import buildcraft.core.DefaultProps; import buildcraft.core.DefaultProps;

View file

@ -17,7 +17,6 @@ import cpw.mods.fml.relauncher.Side;
import buildcraft.BuildCraftCore; import buildcraft.BuildCraftCore;
import buildcraft.core.ItemList; import buildcraft.core.ItemList;
import buildcraft.core.list.ListHandlerOld;
import buildcraft.core.lib.gui.BuildCraftContainer; import buildcraft.core.lib.gui.BuildCraftContainer;
import buildcraft.core.lib.network.command.CommandWriter; import buildcraft.core.lib.network.command.CommandWriter;
import buildcraft.core.lib.network.command.ICommandReceiver; import buildcraft.core.lib.network.command.ICommandReceiver;

View file

@ -79,6 +79,15 @@ public class GuiListNew extends GuiAdvancedInterface implements IButtonClickEven
} }
} }
public GuiListNew(EntityPlayer iPlayer) {
super(new ContainerListNew(iPlayer), iPlayer.inventory, TEXTURE_BASE);
xSize = 176;
ySize = 192;
player = iPlayer;
}
private void clearExamplesCache(int lineId) { private void clearExamplesCache(int lineId) {
Map<ListMatchHandler.Type, List<ItemStack>> exampleList = exampleCache.get(lineId); Map<ListMatchHandler.Type, List<ItemStack>> exampleList = exampleCache.get(lineId);
if (exampleList != null) { if (exampleList != null) {
@ -112,15 +121,6 @@ public class GuiListNew extends GuiAdvancedInterface implements IButtonClickEven
return exampleList.get(type); return exampleList.get(type);
} }
public GuiListNew(EntityPlayer iPlayer) {
super(new ContainerListNew(iPlayer), iPlayer.inventory, TEXTURE_BASE);
xSize = 176;
ySize = 192;
player = iPlayer;
}
@Override @Override
public void initGui() { public void initGui() {
super.initGui(); super.initGui();
@ -143,7 +143,7 @@ public class GuiListNew extends GuiAdvancedInterface implements IButtonClickEven
} }
for (Object o : buttonList) { for (Object o : buttonList) {
GuiImageButton b = ((GuiImageButton) o); GuiImageButton b = (GuiImageButton) o;
int lineId = b.id / BUTTON_COUNT; int lineId = b.id / BUTTON_COUNT;
int buttonId = b.id % BUTTON_COUNT; int buttonId = b.id % BUTTON_COUNT;
if (((ContainerListNew) getContainer()).lines[lineId].getOption(buttonId)) { if (((ContainerListNew) getContainer()).lines[lineId].getOption(buttonId)) {

View file

@ -11,7 +11,7 @@ import net.minecraft.nbt.NBTTagList;
import buildcraft.core.lib.inventory.StackHelper; import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.utils.NBTUtils; import buildcraft.core.lib.utils.NBTUtils;
public class ListHandlerNew { public final class ListHandlerNew {
public static final int WIDTH = 9; public static final int WIDTH = 9;
public static final int HEIGHT = 2; public static final int HEIGHT = 2;
@ -28,7 +28,7 @@ public class ListHandlerNew {
} }
public boolean getOption(int id) { public boolean getOption(int id) {
return (id == 0 ? precise : (id == 1 ? byType : byMaterial)); return id == 0 ? precise : (id == 1 ? byType : byMaterial);
} }
public void toggleOption(int id) { public void toggleOption(int id) {
@ -143,6 +143,10 @@ public class ListHandlerNew {
} }
} }
private ListHandlerNew() {
}
public static Line[] getLines(ItemStack item) { public static Line[] getLines(ItemStack item) {
NBTTagCompound data = NBTUtils.getItemData(item); NBTTagCompound data = NBTUtils.getItemData(item);
if (data.hasKey("written") && data.hasKey("lines")) { if (data.hasKey("written") && data.hasKey("lines")) {

View file

@ -18,7 +18,7 @@ import net.minecraftforge.oredict.OreDictionary;
import buildcraft.core.lib.inventory.StackHelper; import buildcraft.core.lib.inventory.StackHelper;
import buildcraft.core.lib.utils.NBTUtils; import buildcraft.core.lib.utils.NBTUtils;
public class ListHandlerOld { public final class ListHandlerOld {
private static final WeakHashMap<ItemStack, StackLine[]> LINE_CACHE = new WeakHashMap<ItemStack, StackLine[]>(); private static final WeakHashMap<ItemStack, StackLine[]> LINE_CACHE = new WeakHashMap<ItemStack, StackLine[]>();
public static class StackLine { public static class StackLine {
@ -195,6 +195,10 @@ public class ListHandlerOld {
} }
} }
private ListHandlerOld() {
}
public static void saveLine(ItemStack stack, StackLine line, int index) { public static void saveLine(ItemStack stack, StackLine line, int index) {
NBTTagCompound nbt = NBTUtils.getItemData(stack); NBTTagCompound nbt = NBTUtils.getItemData(stack);

View file

@ -1,11 +1,8 @@
package buildcraft.core.list; package buildcraft.core.list;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.ListIterator;
import java.util.Set; import java.util.Set;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;

View file

@ -5,7 +5,6 @@ import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
public final class ListOreDictionaryCache { public final class ListOreDictionaryCache {

View file

@ -4,9 +4,13 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class ListRegistry { public final class ListRegistry {
private static final List<ListMatchHandler> handlers = new ArrayList<ListMatchHandler>(); private static final List<ListMatchHandler> handlers = new ArrayList<ListMatchHandler>();
private ListRegistry() {
}
public static void registerHandler(ListMatchHandler h) { public static void registerHandler(ListMatchHandler h) {
if (h != null) { if (h != null) {
handlers.add(h); handlers.add(h);

View file

@ -107,7 +107,6 @@ public class GuiTablet extends GuiScreen {
} else if (buttonState == 2) { } else if (buttonState == 2) {
if (isButton(x, y)) { if (isButton(x, y)) {
buttonState = ENABLE_HIGHLIGHT ? 0 : 1; buttonState = ENABLE_HIGHLIGHT ? 0 : 1;
System.out.println("PRESS");
} else { } else {
buttonState = 1; buttonState = 1;
} }

View file

@ -59,7 +59,6 @@ public abstract class TabletBase implements ITablet {
return true; return true;
} else { } else {
if (compound.hasKey("programToLaunch")) { if (compound.hasKey("programToLaunch")) {
System.out.println("received");
launchProgramInternal(compound.getString("programToLaunch")); launchProgramInternal(compound.getString("programToLaunch"));
return true; return true;
} }

View file

@ -55,7 +55,6 @@ public class BlockFloodGate extends BlockBuildCraft {
// Restart the flood gate if it's a wrench // Restart the flood gate if it's a wrench
Item equipped = entityplayer.getCurrentEquippedItem() != null ? entityplayer.getCurrentEquippedItem().getItem() : null; Item equipped = entityplayer.getCurrentEquippedItem() != null ? entityplayer.getCurrentEquippedItem().getItem() : null;
if (equipped instanceof IToolWrench && ((IToolWrench) equipped).canWrench(entityplayer, i, j, k)) { if (equipped instanceof IToolWrench && ((IToolWrench) equipped).canWrench(entityplayer, i, j, k)) {
System.out.println("pre=" + side);
if (side == 1) { if (side == 1) {
floodGate.rebuildQueue(); floodGate.rebuildQueue();
} else { } else {

View file

@ -34,6 +34,7 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
@ -42,7 +43,6 @@ import net.minecraft.util.StringUtils;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.WorldServer; import net.minecraft.world.WorldServer;
import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData; import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;

View file

@ -14,8 +14,8 @@ import cpw.mods.fml.common.Loader;
import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.MinecraftForgeClient;
import buildcraft.BuildCraftRobotics; import buildcraft.BuildCraftRobotics;
import buildcraft.robotics.render.RenderZonePlan;
import buildcraft.robotics.render.RenderRobot; import buildcraft.robotics.render.RenderRobot;
import buildcraft.robotics.render.RenderZonePlan;
import buildcraft.robotics.render.RobotStationItemRenderer; import buildcraft.robotics.render.RobotStationItemRenderer;
public class RoboticsProxyClient extends RoboticsProxy { public class RoboticsProxyClient extends RoboticsProxy {

View file

@ -18,7 +18,6 @@ import cpw.mods.fml.relauncher.Side;
import buildcraft.BuildCraftCore; import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftRobotics; import buildcraft.BuildCraftRobotics;
import buildcraft.robotics.ZonePlan;
import buildcraft.core.lib.gui.BuildCraftContainer; import buildcraft.core.lib.gui.BuildCraftContainer;
import buildcraft.core.lib.gui.slots.SlotOutput; import buildcraft.core.lib.gui.slots.SlotOutput;
import buildcraft.core.lib.network.command.CommandWriter; import buildcraft.core.lib.network.command.CommandWriter;
@ -27,6 +26,7 @@ import buildcraft.core.lib.network.command.PacketCommand;
import buildcraft.core.lib.render.DynamicTextureBC; import buildcraft.core.lib.render.DynamicTextureBC;
import buildcraft.core.lib.utils.NetworkUtils; import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.robotics.TileZonePlan; import buildcraft.robotics.TileZonePlan;
import buildcraft.robotics.ZonePlan;
import buildcraft.robotics.map.MapWorld; import buildcraft.robotics.map.MapWorld;
public class ContainerZonePlan extends BuildCraftContainer implements ICommandReceiver { public class ContainerZonePlan extends BuildCraftContainer implements ICommandReceiver {

View file

@ -25,7 +25,6 @@ import net.minecraft.util.ResourceLocation;
import buildcraft.BuildCraftCore; import buildcraft.BuildCraftCore;
import buildcraft.api.core.EnumColor; import buildcraft.api.core.EnumColor;
import buildcraft.core.DefaultProps; import buildcraft.core.DefaultProps;
import buildcraft.robotics.ZonePlan;
import buildcraft.core.lib.gui.AdvancedSlot; import buildcraft.core.lib.gui.AdvancedSlot;
import buildcraft.core.lib.gui.GuiAdvancedInterface; import buildcraft.core.lib.gui.GuiAdvancedInterface;
import buildcraft.core.lib.gui.buttons.GuiBetterButton; import buildcraft.core.lib.gui.buttons.GuiBetterButton;
@ -38,6 +37,7 @@ import buildcraft.core.lib.render.DynamicTextureBC;
import buildcraft.core.lib.utils.NetworkUtils; import buildcraft.core.lib.utils.NetworkUtils;
import buildcraft.core.lib.utils.StringUtils; import buildcraft.core.lib.utils.StringUtils;
import buildcraft.robotics.TileZonePlan; import buildcraft.robotics.TileZonePlan;
import buildcraft.robotics.ZonePlan;
public class GuiZonePlan extends GuiAdvancedInterface { public class GuiZonePlan extends GuiAdvancedInterface {

View file

@ -11,7 +11,6 @@ package buildcraft.robotics.statements;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import buildcraft.api.statements.IStatementParameter; import buildcraft.api.statements.IStatementParameter;
import buildcraft.api.statements.StatementParameterItemStack;
import buildcraft.core.lib.utils.StringUtils; import buildcraft.core.lib.utils.StringUtils;
import buildcraft.core.statements.StatementParameterItemStackExact; import buildcraft.core.statements.StatementParameterItemStackExact;