fix #3089, revert pipe speed tweaks for now
This commit is contained in:
parent
9abd7e2a8a
commit
728da1fc38
10 changed files with 48 additions and 44 deletions
|
@ -3,7 +3,6 @@ Improvements:
|
|||
* [#3088] Miner Robots now support enchantments correctly. (asie)
|
||||
* Robots ignore broken tools and unload them when they break - think Tinkers' Construct here. (asie)
|
||||
* Stained Glass Pipe recipes now support ore dictionary colored glass. (asie)
|
||||
* Tweaked item movement speed in pipes. (asie)
|
||||
|
||||
Removals:
|
||||
|
||||
|
@ -14,6 +13,7 @@ Bugs fixed:
|
|||
* [#3092, #3087, #3085] Robot unstucking code being a terrible hack - removed it for now (asie)
|
||||
* [#3091, #3083] Various recipe disabling crashes (asie)
|
||||
* [#3090] Robots delete repairable tools after they break (asie)
|
||||
* [#3089] Integration Table dupe (asie)
|
||||
* [#3082] Void not killing robots (asie)
|
||||
* [#3081] Emzuli Pipe behaviour bug (asie)
|
||||
|
||||
|
|
|
@ -57,11 +57,6 @@ public class CoreProxy implements ICoreProxy {
|
|||
entity.worldObj.removeEntity(entity);
|
||||
}
|
||||
|
||||
/* WRAPPER */
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void feedSubBlocks(Block block, CreativeTabs tab, List itemList) {
|
||||
}
|
||||
|
||||
public String getItemDisplayName(ItemStack newStack) {
|
||||
return "";
|
||||
}
|
||||
|
|
|
@ -66,16 +66,6 @@ public class CoreProxyClient extends CoreProxy {
|
|||
}
|
||||
|
||||
/* WRAPPER */
|
||||
@SuppressWarnings("rawtypes")
|
||||
@Override
|
||||
public void feedSubBlocks(Block block, CreativeTabs tab, List itemList) {
|
||||
if (block == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
block.getSubBlocks(Item.getItemFromBlock(block), tab, itemList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getItemDisplayName(ItemStack stack) {
|
||||
if (stack.getItem() == null) {
|
||||
|
@ -154,7 +144,7 @@ public class CoreProxyClient extends CoreProxy {
|
|||
public TileEntity getServerTile(TileEntity source) {
|
||||
if (BuildCraftCore.useServerDataOnClient && Minecraft.getMinecraft().isSingleplayer() && source.getWorldObj().isRemote) {
|
||||
WorldServer w = DimensionManager.getWorld(source.getWorldObj().provider.dimensionId);
|
||||
if (w != null) {
|
||||
if (w != null && w.getChunkProvider() != null) {
|
||||
Chunk c = w.getChunkFromBlockCoords(source.xCoord, source.zCoord);
|
||||
if (c != null) {
|
||||
TileEntity t = c.getTileEntityUnsafe(source.xCoord & 15, source.yCoord, source.zCoord & 15);
|
||||
|
|
|
@ -25,7 +25,6 @@ import net.minecraftforge.client.event.DrawBlockHighlightEvent;
|
|||
import buildcraft.core.lib.render.ICustomHighlight;
|
||||
|
||||
public class BlockHighlightHandler {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void handleBlockHighlight(DrawBlockHighlightEvent e) {
|
||||
|
@ -37,18 +36,21 @@ public class BlockHighlightHandler {
|
|||
if (block instanceof ICustomHighlight) {
|
||||
AxisAlignedBB[] aabbs = ((ICustomHighlight) block).getBoxes(e.player.worldObj, x, y, z, e.player);
|
||||
Vec3 pos = e.player.getPosition(e.partialTicks);
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
|
||||
GL11.glLineWidth(2.0F);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDepthMask(false);
|
||||
|
||||
double exp = ((ICustomHighlight) block).getExpansion();
|
||||
for (AxisAlignedBB aabb : aabbs) {
|
||||
RenderGlobal.drawOutlinedBoundingBox(aabb.copy().expand(exp, exp, exp)
|
||||
.offset(x, y, z)
|
||||
.offset(-pos.xCoord, -pos.yCoord, -pos.zCoord), -1);
|
||||
}
|
||||
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
|
|
|
@ -13,17 +13,22 @@ import java.util.List;
|
|||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import buildcraft.api.recipes.BuildcraftRecipeRegistry;
|
||||
import buildcraft.api.recipes.IIntegrationRecipe;
|
||||
import buildcraft.core.lib.inventory.SimpleInventory;
|
||||
import buildcraft.core.lib.inventory.StackHelper;
|
||||
import buildcraft.core.lib.utils.NetworkUtils;
|
||||
import buildcraft.core.lib.utils.StringUtils;
|
||||
import buildcraft.core.lib.utils.Utils;
|
||||
|
||||
public class TileIntegrationTable extends TileLaserTableBase implements ISidedInventory {
|
||||
public static final int SLOT_OUTPUT = 9;
|
||||
public final IInventory clientOutputInv = new SimpleInventory(1, "Preview", 64);
|
||||
|
||||
private static final int CYCLE_LENGTH = 16;
|
||||
private static final int[] SLOTS = Utils.createSlotArray(0, 10);
|
||||
private int tick = 0;
|
||||
|
@ -58,7 +63,7 @@ public class TileIntegrationTable extends TileLaserTableBase implements ISidedIn
|
|||
|
||||
updateRecipeOutput();
|
||||
|
||||
ItemStack output = getStackInSlot(10);
|
||||
ItemStack output = clientOutputInv.getStackInSlot(0);
|
||||
if (!isRoomForOutput(output)) {
|
||||
setEnergy(0);
|
||||
return;
|
||||
|
@ -100,22 +105,24 @@ public class TileIntegrationTable extends TileLaserTableBase implements ISidedIn
|
|||
}
|
||||
|
||||
private void updateRecipeOutput() {
|
||||
if (activeRecipe == null) {
|
||||
inv.setInventorySlotContents(10, null);
|
||||
return;
|
||||
}
|
||||
ItemStack oldClientOutput = clientOutputInv.getStackInSlot(0);
|
||||
|
||||
activeRecipeValid = false;
|
||||
clientOutputInv.setInventorySlotContents(0, null);
|
||||
|
||||
if (activeRecipe != null) {
|
||||
List<ItemStack> expansions = getExpansions();
|
||||
|
||||
if (expansions.size() == 0) {
|
||||
activeRecipeValid = false;
|
||||
inv.setInventorySlotContents(10, null);
|
||||
return;
|
||||
if (expansions.size() > 0) {
|
||||
clientOutputInv.setInventorySlotContents(0, activeRecipe.craft(getStackInSlot(0), expansions, true));
|
||||
}
|
||||
}
|
||||
|
||||
ItemStack output = activeRecipe.craft(getStackInSlot(0), expansions, true);
|
||||
activeRecipeValid = output != null;
|
||||
inv.setInventorySlotContents(10, output);
|
||||
activeRecipeValid = clientOutputInv.getStackInSlot(0) != null;
|
||||
|
||||
if (!StackHelper.isEqualItem(clientOutputInv.getStackInSlot(0), oldClientOutput)) {
|
||||
sendNetworkUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
private void setNewActiveRecipe() {
|
||||
|
@ -153,11 +160,13 @@ public class TileIntegrationTable extends TileLaserTableBase implements ISidedIn
|
|||
@Override
|
||||
public void writeData(ByteBuf buf) {
|
||||
buf.writeByte((byte) getMaxExpansionCount());
|
||||
NetworkUtils.writeStack(buf, clientOutputInv.getStackInSlot(0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readData(ByteBuf buf) {
|
||||
maxExpCountClient = buf.readByte();
|
||||
clientOutputInv.setInventorySlotContents(0, NetworkUtils.readStack(buf));
|
||||
}
|
||||
|
||||
public int getMaxExpansionCount() {
|
||||
|
@ -193,7 +202,7 @@ public class TileIntegrationTable extends TileLaserTableBase implements ISidedIn
|
|||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return 11;
|
||||
return 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -38,7 +38,7 @@ public class ContainerIntegrationTable extends BuildCraftContainer {
|
|||
}
|
||||
|
||||
addSlot(new SlotOutput(table, 9, 138, 49));
|
||||
addSlot(new SlotUntouchable(table, 10, 101, 36));
|
||||
addSlot(new SlotUntouchable(table.clientOutputInv, 0, 101, 36));
|
||||
|
||||
for (int y = 0; y < 3; y++) {
|
||||
for (int x = 0; x < 9; x++) {
|
||||
|
|
|
@ -673,13 +673,13 @@ public class PipeTransportFluids extends PipeTransport implements IFluidHandler,
|
|||
fluidCapacities.put(PipeFluidsWood.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsCobblestone.class, 1 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
|
||||
fluidCapacities.put(PipeFluidsSandstone.class, 2 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsStone.class, 2 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
|
||||
fluidCapacities.put(PipeFluidsClay.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsEmerald.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsIron.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsQuartz.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsSandstone.class, 4 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
|
||||
fluidCapacities.put(PipeFluidsDiamond.class, 8 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
fluidCapacities.put(PipeFluidsGold.class, 8 * BuildCraftTransport.pipeFluidsBaseFlowRate);
|
||||
|
|
|
@ -475,15 +475,15 @@ public class PipeTransportPower extends PipeTransport implements IDebuggable {
|
|||
}
|
||||
|
||||
static {
|
||||
powerCapacities.put(PipePowerCobblestone.class, 80);
|
||||
powerCapacities.put(PipePowerStone.class, 160);
|
||||
powerCapacities.put(PipePowerWood.class, 320);
|
||||
powerCapacities.put(PipePowerSandstone.class, 320);
|
||||
powerCapacities.put(PipePowerQuartz.class, 640);
|
||||
powerCapacities.put(PipePowerIron.class, 1280);
|
||||
powerCapacities.put(PipePowerGold.class, 2560);
|
||||
powerCapacities.put(PipePowerEmerald.class, 2560);
|
||||
powerCapacities.put(PipePowerDiamond.class, 10240);
|
||||
powerCapacities.put(PipePowerCobblestone.class, TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerStone.class, 2 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerWood.class, 4 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerSandstone.class, 4 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerQuartz.class, 8 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerIron.class, 16 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerGold.class, 32 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerEmerald.class, 32 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
powerCapacities.put(PipePowerDiamond.class, 128 * TransportConstants.PIPE_POWER_BASE_CAP);
|
||||
|
||||
powerResistances.put(PipePowerCobblestone.class, 0.05F);
|
||||
powerResistances.put(PipePowerStone.class, 0.025F);
|
||||
|
|
|
@ -12,11 +12,19 @@ public final class TransportConstants {
|
|||
|
||||
public static final float FACADE_THICKNESS = 2F / 16F;
|
||||
|
||||
/*
|
||||
public static final float PIPE_MIN_SPEED = (1.0F / 80.0F);
|
||||
public static final float PIPE_MAX_SPEED = (1.0F / 7.0F);
|
||||
public static final float PIPE_SLOWDOWN_SPEED = 0.008F;
|
||||
public static final float PIPE_DEFAULT_SPEED = (1.0F / 25.0F);
|
||||
*/
|
||||
|
||||
public static final int PIPE_POWER_BASE_CAP = 80;
|
||||
public static final float PIPE_SPEEDUP_MULTIPLIER = 4F;
|
||||
public static final float PIPE_MIN_SPEED = 0.01F;
|
||||
public static final float PIPE_MAX_SPEED = 0.15F;
|
||||
public static final float PIPE_SLOWDOWN_SPEED = 0.01F;
|
||||
public static final float PIPE_DEFAULT_SPEED = PIPE_MIN_SPEED;
|
||||
/**
|
||||
* Deactivate constructor
|
||||
*/
|
||||
|
|
|
@ -44,6 +44,6 @@ public class PipeItemsGold extends Pipe<PipeTransportItems> {
|
|||
public void eventHandler(PipeEventItem.AdjustSpeed event) {
|
||||
event.handled = true;
|
||||
TravelingItem item = event.item;
|
||||
item.setSpeed(MathUtils.clamp(item.getSpeed() * 4F, TransportConstants.PIPE_MIN_SPEED * 4F, TransportConstants.PIPE_MAX_SPEED));
|
||||
item.setSpeed(MathUtils.clamp(item.getSpeed() * TransportConstants.PIPE_SPEEDUP_MULTIPLIER, TransportConstants.PIPE_MIN_SPEED * TransportConstants.PIPE_SPEEDUP_MULTIPLIER, TransportConstants.PIPE_MAX_SPEED));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue