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

This commit is contained in:
Adrian 2015-06-21 18:07:34 +02:00
commit 6aa3b6e04f
5 changed files with 33 additions and 11 deletions

View file

@ -1,13 +1,20 @@
Additions:
* Leather/dyed armour support on robots (asie)
* Leather/dyed helmet support on robots (asie)
* Make mining robots work with GregTech ores (zmaster587, asie)
* Robots can now be filtered in Force/Forbid by wearable, not just by type (asie)
Improvements:
* Rendering helmet overlays on robots is now supported (hea3ven)
* The builder robot will not pick up materials in creative worlds (hea3ven)
Bugs fixed:
* [#2828] Filler crash without Transport (asie)
* [#2822] Stamper eats items that should not used up (asie)
* [#2820] CME in map generation (asie)
* Fix planter robots not freeing reserved blocks (hea3ven)
* NPE in Builder robot (hea3ven)
* Zone planner maps not generating (asie)

View file

@ -34,12 +34,15 @@ public class BuildingSlotMapIterator {
this.slots = slots;
this.impIterator = slots.keySet().iterator();
this.buildStageOccurences = buildStageOccurences;
this.isCreative = builder.getWorldObj().getWorldInfo().getGameType() == WorldSettings.GameType.CREATIVE;
this.isCreative = builder == null
|| builder.getWorldObj().getWorldInfo().getGameType() == WorldSettings.GameType.CREATIVE;
// Generate available pairs
availablePairs.add(new BuilderItemMetaPair(null));
for (int i = 0; i < builder.getSizeInventory(); i++) {
availablePairs.add(new BuilderItemMetaPair(builder.getStackInSlot(i)));
if (builder != null) {
availablePairs.add(new BuilderItemMetaPair(null));
for (int i = 0; i < builder.getSizeInventory(); i++) {
availablePairs.add(new BuilderItemMetaPair(builder.getStackInSlot(i)));
}
}
findNewCurrent();

View file

@ -119,7 +119,7 @@ public class PathFindingSearch implements IIterableAlgorithm {
if (pathFinding.isDone()) {
LinkedList<BlockIndex> path = pathFinding.getResult();
if (path != null && path.size() > 0) {
if (reserve(path.getLast())) {
if (reserve(pathFinding.end())) {
return;
}
}

View file

@ -12,6 +12,7 @@ import java.util.LinkedList;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.WorldSettings;
import buildcraft.api.boards.RedstoneBoardRobot;
import buildcraft.api.boards.RedstoneBoardRobotNBT;
@ -88,8 +89,12 @@ public class BoardRobotBuilder extends RedstoneBoardRobot {
startDelegateAI(new AIRobotDisposeItems(robot));
}
requirementsToLookFor = currentBuildingSlot.getRequirements(markerToBuild
.getContext());
if (robot.worldObj.getWorldInfo().getGameType() != WorldSettings.GameType.CREATIVE) {
requirementsToLookFor = currentBuildingSlot.getRequirements(markerToBuild
.getContext());
} else {
requirementsToLookFor = new LinkedList<ItemStack>();
}
if (requirementsToLookFor == null) {
launchingDelay = 40;

View file

@ -260,14 +260,21 @@ public class RenderRobot extends Render implements IItemRenderer {
ModelBiped armorModel = ForgeHooksClient.getArmorModel(entity, wearable, 0, null);
if (armorModel != null) {
armorModel.render(entity, 0, 0, 0, -90f, 0, 1 / 16F);
if (color != 16777215) {
GL11.glPopAttrib();
}
} else {
GL11.glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);
helmetBox.render(1 / 16F);
if (color != 16777215) {
GL11.glPopAttrib();
}
this.bindTexture(RenderBiped.getArmorResource(entity, wearable, 0, "overlay"));
helmetBox.render(1/16f);
}
if (color != 16777215) {
GL11.glPopAttrib();
}
GL11.glPopMatrix();
} else if (wearable.getItem() instanceof ItemSkull) {
doRenderSkull(wearable);