further bugfixes

This commit is contained in:
asiekierka 2015-10-01 11:50:15 +02:00
parent 5ce9ab97f2
commit 9729576735
7 changed files with 27 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 344 B

View file

@ -6,12 +6,14 @@ Improvements:
Bugs fixed:
* [#3045] Electronic Library crash (asie)
* [#3033] Emerald Transport Pipes only changing setting after closing GUI (asie)
* [#2998] Quarries not respecting a certain form of player-specific protection (asie)
* Biome config crashing instead of finding a new ID on setting ID past 256 (asie)
* Crash in TileAssemblyTable upon removing a mod whose Assembly Table recipes were being used (asie)
* Creative Engines only outputting 1/5th the advertised RF/t (asie)
* Frame icon not rendering on Quarry frame building (asie)
* Incorrect composite tank capacity calculation (indemnity83, Thog)
* NullPointerException on invalid StackRequest saving (asie)
* Rare StackOverflowException on breaking Markers (asie)
* StackOverflowException when breaking large Quarry frames (asie)

View file

@ -188,11 +188,13 @@ public class TileBlueprintLibrary extends TileBuildCraft implements IInventory,
}
private LibraryTypeHandler findHandler(int slot, LibraryTypeHandler.HandlerType type) {
ItemStack stack = getStackInSlot(slot);
if (!worldObj.isRemote) {
ItemStack stack = getStackInSlot(slot);
for (LibraryTypeHandler h : LibraryAPI.getHandlerSet()) {
if (h.isHandler(stack, type)) {
return h;
for (LibraryTypeHandler h : LibraryAPI.getHandlerSet()) {
if (h.isHandler(stack, type)) {
return h;
}
}
}

View file

@ -21,7 +21,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.lib.utils.ResourceUtils;
public class BlockPathMarker extends BlockMarker {
private IIcon activeMarker;
public BlockPathMarker() {

View file

@ -96,12 +96,16 @@ public class RenderEngine extends TileEntitySpecialRenderer implements IInventor
TileEngineBase engine = (TileEngineBase) tileentity;
if (engine != null) {
/* float progress = engine.progress + (engine.progressPart != 0 ? f * engine.getPistonSpeed() : 0);
if (progress > 1) {
progress = 0;
} -- uncomment out for smooth engine rendering */
render(engine.progress, engine.orientation, engine.getBaseTexture(), engine.getChamberTexture(), engine.getTrunkTexture(engine.getEnergyStage()), x, y, z);
}
}
private void render(float progress, ForgeDirection orientation, ResourceLocation baseTexture, ResourceLocation chamberTexture, ResourceLocation trunkTexture, double x, double y, double z) {
if (BuildCraftCore.render == RenderMode.NoDynamic) {
return;
}

View file

@ -72,19 +72,20 @@ public class RenderLEDTile extends TileEntitySpecialRenderer {
IIcon[] icons = iconMap.get(block);
for (int i = 0; i < icons.length; i++) {
renderBox.texture = icons[i];
if (((BlockBuildCraft) block).isRotatable()) {
renderBox.setRenderSingleSide(((BlockBuildCraft) block).getFrontSide(tile.getBlockMetadata()));
} else {
renderBox.renderSide[0] = false;
renderBox.renderSide[1] = false;
renderBox.renderSide[2] = true;
renderBox.renderSide[3] = true;
renderBox.renderSide[4] = true;
renderBox.renderSide[5] = true;
}
renderBox.light = provider.getLEDLevel(i);
if (renderBox.light > 0) {
if (renderBox.light != 0) {
renderBox.texture = icons[i];
if (((BlockBuildCraft) block).isRotatable()) {
renderBox.setRenderSingleSide(((BlockBuildCraft) block).getFrontSide(tile.getBlockMetadata()));
} else {
renderBox.renderSide[0] = false;
renderBox.renderSide[1] = false;
renderBox.renderSide[2] = true;
renderBox.renderSide[3] = true;
renderBox.renderSide[4] = true;
renderBox.renderSide[5] = true;
}
RenderEntityBlock.INSTANCE.renderBlock(renderBox);
}
}

View file

@ -261,18 +261,16 @@ public class TileTank extends TileBuildCraft implements IFluidHandler {
TileTank tile = getBottomTank();
int capacity = tank.getCapacity();
if (tile != null && tile.tank.getFluid() != null) {
compositeTank.setFluid(tile.tank.getFluid().copy());
} else {
return new FluidTankInfo[]{compositeTank.getInfo()};
}
int capacity = tile.tank.getCapacity();
tile = getTankAbove(tile);
while (tile != null) {
FluidStack liquid = tile.tank.getFluid();
if (liquid == null || liquid.amount == 0) {
// NOOP