From efc72769d67e1f9c5c9ba24a9a8465c8f10e78ff Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Thu, 19 Jun 2014 20:47:45 +0200 Subject: [PATCH] Fix offsets, implement some of @tterrag1098's changes --- .../mekanism/client/nei/PRCRecipeHandler.java | 18 +++++++++--------- .../common/miner/ThreadMinerSearch.java | 2 +- .../common/tile/TileEntityBasicBlock.java | 5 +++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/mekanism/client/nei/PRCRecipeHandler.java b/src/main/java/mekanism/client/nei/PRCRecipeHandler.java index 2bb57b551..ecbdd4e9d 100644 --- a/src/main/java/mekanism/client/nei/PRCRecipeHandler.java +++ b/src/main/java/mekanism/client/nei/PRCRecipeHandler.java @@ -263,15 +263,15 @@ public class PRCRecipeHandler extends BaseRecipeHandler int xAxis = point.x-(Integer)MekanismUtils.getPrivateValue(gui, GuiContainer.class, ObfuscatedNames.GuiContainer_guiLeft)-offset.x; int yAxis = point.y-(Integer)MekanismUtils.getPrivateValue(gui, GuiContainer.class, ObfuscatedNames.GuiContainer_guiTop)-offset.y; - if(xAxis >= 6 && xAxis <= 22 && yAxis >= 11-10 && yAxis <= 69-10) + if(xAxis >= 6-5 && xAxis <= 22-5 && yAxis >= 11-10 && yAxis <= 69-10) { currenttip.add(((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getFluid().getFluid().getLocalizedName()); } - else if(xAxis >= 29 && xAxis <= 45 && yAxis >= 11-10 && yAxis <= 69-10) + else if(xAxis >= 29-5 && xAxis <= 45-5 && yAxis >= 11-10 && yAxis <= 69-10) { currenttip.add(((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getGas().getGas().getLocalizedName()); } - else if(xAxis >= 141 && xAxis <= 157 && yAxis >= 41-10 && yAxis <= 69-10) + else if(xAxis >= 141-5 && xAxis <= 157-5 && yAxis >= 41-10 && yAxis <= 69-10) { currenttip.add(((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.products.getGasOutput().getGas().getLocalizedName()); } @@ -291,15 +291,15 @@ public class PRCRecipeHandler extends BaseRecipeHandler GasStack gas = null; FluidStack fluid = null; - if(xAxis >= 6 && xAxis <= 22 && yAxis >= 11-10 && yAxis <= 69-10) + if(xAxis >= 6-5 && xAxis <= 22-5 && yAxis >= 11-10 && yAxis <= 69-10) { fluid = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getFluid(); } - else if(xAxis >= 29 && xAxis <= 45 && yAxis >= 11-10 && yAxis <= 69-10) + else if(xAxis >= 29-5 && xAxis <= 45-5 && yAxis >= 11-10 && yAxis <= 69-10) { gas = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getGas(); } - else if(xAxis >= 141 && xAxis <= 157 && yAxis >= 41-10 && yAxis <= 69-10) + else if(xAxis >= 141-5 && xAxis <= 157-5 && yAxis >= 41-10 && yAxis <= 69-10) { gas = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.products.getGasOutput(); } @@ -354,15 +354,15 @@ public class PRCRecipeHandler extends BaseRecipeHandler GasStack gas = null; FluidStack fluid = null; - if(xAxis >= 6 && xAxis <= 22 && yAxis >= 11-10 && yAxis <= 69-10) + if(xAxis >= 6-5 && xAxis <= 22-5 && yAxis >= 11-10 && yAxis <= 69-10) { fluid = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getFluid(); } - else if(xAxis >= 29 && xAxis <= 45 && yAxis >= 11-10 && yAxis <= 69-10) + else if(xAxis >= 29-5 && xAxis <= 45-5 && yAxis >= 11-10 && yAxis <= 69-10) { gas = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.reactants.getGas(); } - else if(xAxis >= 141 && xAxis <= 157 && yAxis >= 41-10 && yAxis <= 69-10) + else if(xAxis >= 141-5 && xAxis <= 157-5 && yAxis >= 41-10 && yAxis <= 69-10) { gas = ((CachedIORecipe)arecipes.get(recipe)).pressurizedRecipe.products.getGasOutput(); } diff --git a/src/main/java/mekanism/common/miner/ThreadMinerSearch.java b/src/main/java/mekanism/common/miner/ThreadMinerSearch.java index 687a55fcb..969cb9b79 100644 --- a/src/main/java/mekanism/common/miner/ThreadMinerSearch.java +++ b/src/main/java/mekanism/common/miner/ThreadMinerSearch.java @@ -77,7 +77,7 @@ public class ThreadMinerSearch extends Thread info.block = tileEntity.getWorldObj().getBlock(x, y, z); info.meta = tileEntity.getWorldObj().getBlockMetadata(x, y, z); - if(info.block != null && !tileEntity.getWorldObj().isAirBlock(x, y, z) && info.block != Blocks.bedrock) + if(info.block != null && !tileEntity.getWorldObj().isAirBlock(x, y, z) && info.block.getBlockHardness(tileEntity.getWorldObj(), x, y, z) >= 0) { boolean canFilter = false; diff --git a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java index 51de377d0..7369929a7 100644 --- a/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityBasicBlock.java @@ -4,6 +4,7 @@ import ic2.api.tile.IWrenchable; import io.netty.buffer.ByteBuf; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -29,10 +30,10 @@ public abstract class TileEntityBasicBlock extends TileEntity implements IWrench public int clientFacing; - public Set openedThisTick = new HashSet(); + public Set openedThisTick = Collections.synchronizedSet(new HashSet()); /** The players currently using this block. */ - public Set playersUsing = new HashSet(); + public Set playersUsing = Collections.synchronizedSet(new HashSet()); /** A timer used to send packets to clients. */ public int ticker;