Merge branch '6.5.x' of github.com:BuildCraft/BuildCraft into 7.1.x

This commit is contained in:
Adrian 2015-07-23 19:03:47 +02:00
commit c25af49829
10 changed files with 60 additions and 10 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: 'checkstyle'
version = "7.0.16"
version = "7.0.17"
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]

View file

@ -1,8 +1,16 @@
Improvements:
* Packages can now be thrown via Dispensers and Stripes Pipes (asie)
Bugs fixed:
* [#2904] Crash on corrupt facade (asie)
* [#2892] Disconnect on large-resolution Zone Planner fullscreen (asie)
* [#2891] Boxes ignoring the south and east boundaries when rounding (hea3ven)
* Accidentally setting an area in the Zone Planner GUI upon pressing fullscreen (asie)
* Compact Lens->Filter "diodes" not acting correctly (asie)
* Gate Copiers not clearing correctly (asie)
* Paintbrush not being re-dyeable if not fully used (asie)
* Robots going to unreachable stations passing through walls (hea3ven)
* Stripes Pipe "breaking" fluid blocks (asie)
* Wrench failing to rotate double chests and beds (asie)

View file

@ -1,3 +1,3 @@
1.6.4:BuildCraft:4.2.2
1.7.2:BuildCraft:6.0.16
1.7.10:BuildCraft:7.0.16
1.7.10:BuildCraft:7.0.17

View file

@ -9,6 +9,7 @@
package buildcraft;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
@ -55,6 +56,7 @@ import buildcraft.silicon.TilePackager;
import buildcraft.silicon.TileProgrammingTable;
import buildcraft.silicon.TileStampingTable;
import buildcraft.silicon.network.PacketHandlerSilicon;
import buildcraft.transport.stripes.StripesHandlerDispenser;
@Mod(name = "BuildCraft Silicon", version = Version.VERSION, useMetadata = false, modid = "BuildCraft|Silicon", dependencies = DefaultProps.DEPENDENCY_CORE)
public class BuildCraftSilicon extends BuildCraftMod {
@ -143,6 +145,9 @@ public class BuildCraftSilicon extends BuildCraftMod {
loadRecipes();
}
BlockDispenser.dispenseBehaviorRegistry.putObject(packageItem, new ItemPackage.DispenseBehaviour());
StripesHandlerDispenser.items.add(packageItem);
SiliconProxy.proxy.registerRenderers();
}

View file

@ -65,10 +65,14 @@ public class AIRobotGotoStation extends AIRobot {
if (station == null) {
terminate();
} else if (ai instanceof AIRobotGotoBlock) {
startDelegateAI(new AIRobotStraightMoveTo(robot,
stationIndex.x + 0.5F + stationSide.offsetX * 0.5F,
stationIndex.y + 0.5F + stationSide.offsetY * 0.5F,
stationIndex.z + 0.5F + stationSide.offsetZ * 0.5F));
if (ai.success()) {
startDelegateAI(new AIRobotStraightMoveTo(robot,
stationIndex.x + 0.5F + stationSide.offsetX * 0.5F,
stationIndex.y + 0.5F + stationSide.offsetY * 0.5F,
stationIndex.z + 0.5F + stationSide.offsetZ * 0.5F));
} else {
terminate();
}
} else {
setSuccess(true);
if (stationSide.offsetY == 0) {

View file

@ -129,8 +129,8 @@ public class ContainerZonePlan extends BuildCraftContainer implements ICommandRe
MapWorld w = BuildCraftRobotics.manager.getWorld(map.getWorldObj());
int startX = cx - width * blocksPerPixel / 2;
int startZ = cz - height * blocksPerPixel / 2;
int mapStartX = (map.chunkStartX << 4);
int mapStartZ = (map.chunkStartZ << 4);
int mapStartX = map.chunkStartX << 4;
int mapStartZ = map.chunkStartZ << 4;
for (int i = 0; i < width; ++i) {
for (int j = 0; j < height; ++j) {

View file

@ -25,6 +25,11 @@ public class EntityPackage extends EntityThrowable {
this.pkg = stack;
}
public EntityPackage(World world, double x, double y, double z, ItemStack stack) {
super(world, x, y, z);
this.pkg = stack;
}
@Override
public void writeToNBT(NBTTagCompound compound) {
super.writeToNBT(compound);

View file

@ -2,12 +2,16 @@ package buildcraft.silicon;
import java.util.List;
import net.minecraft.block.BlockDispenser;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -17,6 +21,25 @@ import buildcraft.core.lib.utils.NBTUtils;
import buildcraft.silicon.render.PackageFontRenderer;
public class ItemPackage extends ItemBuildCraft {
public static final class DispenseBehaviour extends BehaviorDefaultDispenseItem {
@Override
public ItemStack dispenseStack(IBlockSource source, ItemStack stack) {
if (stack != null && stack.getItem() instanceof ItemPackage) {
World world = source.getWorld();
EnumFacing enumfacing = BlockDispenser.func_149937_b(source.getBlockMetadata());
EntityPackage entityPackage = new EntityPackage(source.getWorld(),
source.getX() + enumfacing.getFrontOffsetX(),
source.getY() + enumfacing.getFrontOffsetY(),
source.getZ() + enumfacing.getFrontOffsetZ(), stack.copy());
entityPackage.setThrowableHeading(enumfacing.getFrontOffsetX(), enumfacing.getFrontOffsetY() + 0.1F, enumfacing.getFrontOffsetZ(), 1.1F, 6.0F);
world.spawnEntityInWorld(entityPackage);
stack.splitStack(1);
}
return stack;
}
}
public ItemPackage() {
super();
setMaxStackSize(1);

View file

@ -156,7 +156,9 @@ public class ItemFacade extends ItemBuildCraft implements IFacadeItem, IPipePlug
public String getItemStackDisplayName(ItemStack itemstack) {
switch (getFacadeType(itemstack)) {
case Basic:
return super.getItemStackDisplayName(itemstack) + ": " + getFacadeStateDisplayName(getFacadeStates(itemstack)[0]);
FacadeState[] states = getFacadeStates(itemstack);
String displayName = states.length > 0 ? getFacadeStateDisplayName(states[0]) : "CORRUPT";
return super.getItemStackDisplayName(itemstack) + ": " + displayName;
case Phased:
return StringUtils.localize("item.FacadePhased.name");
default:

View file

@ -75,7 +75,10 @@ public class ItemGateCopier extends ItemBuildCraft {
player.addChatMessage(new ChatComponentTranslation("chat.gateCopier.clear"));
return true;
}
data = new NBTTagCompound();
stack.setTagCompound(data);
gate.writeStatementsToNBT(data);
data.setByte("material", (byte) gate.material.ordinal());
data.setByte("logic", (byte) gate.logic.ordinal());