Merge branch '6.5.x' of github.com:BuildCraft/BuildCraft into 7.1.x
This commit is contained in:
commit
c25af49829
10 changed files with 60 additions and 10 deletions
|
@ -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]
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue