A few fixes
This commit is contained in:
parent
33ff01b436
commit
a32d6f4953
2 changed files with 60 additions and 58 deletions
|
@ -58,11 +58,11 @@ public class LaserManager
|
||||||
if(!e.isImmuneToFire())
|
if(!e.isImmuneToFire())
|
||||||
{
|
{
|
||||||
e.setFire((int)(energy / 1000));
|
e.setFire((int)(energy / 1000));
|
||||||
|
}
|
||||||
|
|
||||||
if(energy > 256)
|
if(energy > 256)
|
||||||
{
|
{
|
||||||
e.attackEntityFrom(DamageSource.onFire, (float)energy/1000F);
|
e.attackEntityFrom(DamageSource.generic, (float)energy/1000F);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,65 +59,67 @@ public class ThreadMinerSearch extends Thread
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tileEntity.xCoord == x && tileEntity.yCoord == y && tileEntity.zCoord == z)
|
try {
|
||||||
{
|
if(tileEntity.xCoord == x && tileEntity.yCoord == y && tileEntity.zCoord == z)
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!tileEntity.getWorldObj().getChunkProvider().chunkExists(x >> 4, z >> 4))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
TileEntity tile = tileEntity.getWorldObj().getTileEntity(x, y, z);
|
|
||||||
|
|
||||||
if(tile instanceof TileEntityBoundingBlock)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
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.getBlockHardness(tileEntity.getWorldObj(), x, y, z) >= 0)
|
|
||||||
{
|
|
||||||
MinerFilter filterFound = null;
|
|
||||||
boolean canFilter = false;
|
|
||||||
|
|
||||||
if(acceptedItems.containsKey(info))
|
|
||||||
{
|
{
|
||||||
filterFound = acceptedItems.get(info);
|
continue;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
ItemStack stack = new ItemStack(info.block, 1, info.meta);
|
|
||||||
|
|
||||||
if(tileEntity.isReplaceStack(stack))
|
if(!tileEntity.getWorldObj().getChunkProvider().chunkExists(x >> 4, z >> 4))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
TileEntity tile = tileEntity.getWorldObj().getTileEntity(x, y, z);
|
||||||
|
|
||||||
|
if(tile instanceof TileEntityBoundingBlock)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
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.getBlockHardness(tileEntity.getWorldObj(), x, y, z) >= 0)
|
||||||
|
{
|
||||||
|
MinerFilter filterFound = null;
|
||||||
|
boolean canFilter = false;
|
||||||
|
|
||||||
|
if(acceptedItems.containsKey(info))
|
||||||
{
|
{
|
||||||
continue;
|
filterFound = acceptedItems.get(info);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
ItemStack stack = new ItemStack(info.block, 1, info.meta);
|
||||||
|
|
||||||
for(MinerFilter filter : tileEntity.filters)
|
if(tileEntity.isReplaceStack(stack))
|
||||||
{
|
|
||||||
if(filter.canFilter(stack))
|
|
||||||
{
|
{
|
||||||
filterFound = filter;
|
continue;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(MinerFilter filter : tileEntity.filters)
|
||||||
|
{
|
||||||
|
if(filter.canFilter(stack))
|
||||||
|
{
|
||||||
|
filterFound = filter;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
acceptedItems.put(info, filterFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
acceptedItems.put(info, filterFound);
|
canFilter = tileEntity.inverse ? filterFound == null : filterFound != null;
|
||||||
|
|
||||||
|
if(canFilter)
|
||||||
|
{
|
||||||
|
set(i, new Coord4D(x, y, z, tileEntity.getWorldObj().provider.dimensionId));
|
||||||
|
replaceMap.put(i, filterFound);
|
||||||
|
|
||||||
|
found++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch(Exception e) {}
|
||||||
canFilter = tileEntity.inverse ? filterFound == null : filterFound != null;
|
|
||||||
|
|
||||||
if(canFilter)
|
|
||||||
{
|
|
||||||
set(i, new Coord4D(x, y, z, tileEntity.getWorldObj().provider.dimensionId));
|
|
||||||
replaceMap.put(i, filterFound);
|
|
||||||
|
|
||||||
found++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
state = State.FINISHED;
|
state = State.FINISHED;
|
||||||
|
|
Loading…
Reference in a new issue