forked from mirrors/NBTExplorer
Haven't updated nbtoolkit in a while. Updated for latest Substrate usage.
This commit is contained in:
parent
fd9551079c
commit
f19d86a27e
10 changed files with 156 additions and 22 deletions
|
@ -28,6 +28,9 @@ namespace NBToolkit
|
||||||
int ExcludedBlockCount { get; }
|
int ExcludedBlockCount { get; }
|
||||||
|
|
||||||
double? ProbMatch { get; }
|
double? ProbMatch { get; }
|
||||||
|
|
||||||
|
bool IncludedBlocksContains (int id);
|
||||||
|
bool ExcludedBlocksContains (int id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class BlockFilter : IOptions, IBlockFilter
|
public class BlockFilter : IOptions, IBlockFilter
|
||||||
|
@ -51,11 +54,13 @@ namespace NBToolkit
|
||||||
public int? XAboveEq
|
public int? XAboveEq
|
||||||
{
|
{
|
||||||
get { return _xAboveEq; }
|
get { return _xAboveEq; }
|
||||||
|
set { _xAboveEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? XBelowEq
|
public int? XBelowEq
|
||||||
{
|
{
|
||||||
get { return _xBelowEq; }
|
get { return _xBelowEq; }
|
||||||
|
set { _xBelowEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? YAboveEq
|
public int? YAboveEq
|
||||||
|
@ -130,8 +135,24 @@ namespace NBToolkit
|
||||||
v => _invertXYZ = true },
|
v => _invertXYZ = true },
|
||||||
{ "bi|BlockInclude=", "Match blocks of type {ID}. This option is repeatable.",
|
{ "bi|BlockInclude=", "Match blocks of type {ID}. This option is repeatable.",
|
||||||
v => _includedBlocks.Add(Convert.ToInt32(v) % 256) },
|
v => _includedBlocks.Add(Convert.ToInt32(v) % 256) },
|
||||||
|
{ "bir|BlockIncludeRange=", "Match blocks of type between {0:V1} and {1:V2}, inclusive. This option is repeatable.",
|
||||||
|
(v1, v2) => {
|
||||||
|
int i1 = Math.Max(0, Math.Min(255, Convert.ToInt32(v1)));
|
||||||
|
int i2 = Math.Max(0, Math.Min(255, Convert.ToInt32(v2)));
|
||||||
|
for (int i = i1; i <= i2; i++) {
|
||||||
|
_includedBlocks.Add(i);
|
||||||
|
}
|
||||||
|
} },
|
||||||
{ "bx|BlockExclude=", "Match all blocks except blocks of type {ID}. This option is repeatable.",
|
{ "bx|BlockExclude=", "Match all blocks except blocks of type {ID}. This option is repeatable.",
|
||||||
v => _excludedBlocks.Add(Convert.ToInt32(v) % 256) },
|
v => _excludedBlocks.Add(Convert.ToInt32(v) % 256) },
|
||||||
|
{ "ber|BlockExcludeRange=", "Match all blocks except blocks of type between {0:V1} and {1:V2}, inclusive. This option is repeatable.",
|
||||||
|
(v1, v2) => {
|
||||||
|
int i1 = Math.Max(0, Math.Min(255, Convert.ToInt32(v1)));
|
||||||
|
int i2 = Math.Max(0, Math.Min(255, Convert.ToInt32(v2)));
|
||||||
|
for (int i = i1; i <= i2; i++) {
|
||||||
|
_excludedBlocks.Add(i);
|
||||||
|
}
|
||||||
|
} },
|
||||||
{ "bp|BlockProbability=", "Selects a matching block with probability {VAL} (0.0-1.0)",
|
{ "bp|BlockProbability=", "Selects a matching block with probability {VAL} (0.0-1.0)",
|
||||||
v => _prob = Convert.ToDouble(v) },
|
v => _prob = Convert.ToDouble(v) },
|
||||||
};
|
};
|
||||||
|
@ -153,5 +174,15 @@ namespace NBToolkit
|
||||||
Console.WriteLine("Block Filtering Options:");
|
Console.WriteLine("Block Filtering Options:");
|
||||||
_options.WriteOptionDescriptions(Console.Out);
|
_options.WriteOptionDescriptions(Console.Out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IncludedBlocksContains (int id)
|
||||||
|
{
|
||||||
|
return _includedBlocks.Contains(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ExcludedBlocksContains (int id)
|
||||||
|
{
|
||||||
|
return _excludedBlocks.Contains(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,9 @@ namespace NBToolkit
|
||||||
bool ExcludeMatchAll { get; }
|
bool ExcludeMatchAll { get; }
|
||||||
|
|
||||||
double? ProbMatch { get; }
|
double? ProbMatch { get; }
|
||||||
|
|
||||||
|
bool IncludedBlocksContains (int id);
|
||||||
|
bool ExcludedBlocksContains (int id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ChunkFilter : IOptions, IChunkFilter
|
public class ChunkFilter : IOptions, IChunkFilter
|
||||||
|
@ -55,21 +58,25 @@ namespace NBToolkit
|
||||||
public int? XAboveEq
|
public int? XAboveEq
|
||||||
{
|
{
|
||||||
get { return _xAboveEq; }
|
get { return _xAboveEq; }
|
||||||
|
set { _xAboveEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? XBelowEq
|
public int? XBelowEq
|
||||||
{
|
{
|
||||||
get { return _xBelowEq; }
|
get { return _xBelowEq; }
|
||||||
|
set { _xBelowEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? ZAboveEq
|
public int? ZAboveEq
|
||||||
{
|
{
|
||||||
get { return _zAboveEq; }
|
get { return _zAboveEq; }
|
||||||
|
set { _zAboveEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int? ZBelowEq
|
public int? ZBelowEq
|
||||||
{
|
{
|
||||||
get { return _zBelowEq; }
|
get { return _zBelowEq; }
|
||||||
|
set { _zBelowEq = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool InvertXZ
|
public bool InvertXZ
|
||||||
|
@ -167,5 +174,15 @@ namespace NBToolkit
|
||||||
Console.WriteLine("Chunk Filtering Options:");
|
Console.WriteLine("Chunk Filtering Options:");
|
||||||
_options.WriteOptionDescriptions(Console.Out);
|
_options.WriteOptionDescriptions(Console.Out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IncludedBlocksContains (int id)
|
||||||
|
{
|
||||||
|
return _includedBlocks.Contains(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ExcludedBlocksContains (int id)
|
||||||
|
{
|
||||||
|
return _excludedBlocks.Contains(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,8 @@ using System.Text;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using NDesk.Options;
|
using NDesk.Options;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
using Substrate.NBT;
|
using Substrate.Nbt;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -96,7 +97,7 @@ namespace NBToolkit
|
||||||
|
|
||||||
public override void Run ()
|
public override void Run ()
|
||||||
{
|
{
|
||||||
INBTWorld world = GetWorld(opt);
|
NbtWorld world = GetWorld(opt);
|
||||||
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
||||||
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -230,5 +231,15 @@ namespace NBToolkit
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region IChunkContainer Members
|
||||||
|
|
||||||
|
|
||||||
|
public bool CanDelegateCoordinates
|
||||||
|
{
|
||||||
|
get { return false; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -100,8 +101,8 @@ namespace NBToolkit
|
||||||
for (int iz = zStart; iz <= zEnd; iz++) {
|
for (int iz = zStart; iz <= zEnd; iz++) {
|
||||||
double zThresh = (iz + 0.5D - zPos) / (fuzzXZ / 2.0D);
|
double zThresh = (iz + 0.5D - zPos) / (fuzzXZ / 2.0D);
|
||||||
if (xThresh * xThresh + yThresh * yThresh + zThresh * zThresh < 1.0D) {
|
if (xThresh * xThresh + yThresh * yThresh + zThresh * zThresh < 1.0D) {
|
||||||
BlockRef block = blockMan.GetBlockRef(ix, iy, iz);
|
AlphaBlockRef block = blockMan.GetBlockRef(ix, iy, iz);
|
||||||
if (block != null) {
|
if (block.IsValid) {
|
||||||
block.ID = _blockId;
|
block.ID = _blockId;
|
||||||
block.Data = _blockData;
|
block.Data = _blockData;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using NDesk.Options;
|
using NDesk.Options;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -181,7 +182,7 @@ namespace NBToolkit
|
||||||
|
|
||||||
public override void Run ()
|
public override void Run ()
|
||||||
{
|
{
|
||||||
INBTWorld world = GetWorld(opt);
|
NbtWorld world = GetWorld(opt);
|
||||||
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
||||||
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
||||||
|
|
||||||
|
@ -205,7 +206,7 @@ namespace NBToolkit
|
||||||
Console.WriteLine("Affected Chunks: " + affectedChunks);
|
Console.WriteLine("Affected Chunks: " + affectedChunks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ApplyChunk (INBTWorld world, ChunkRef chunk)
|
public void ApplyChunk (NbtWorld world, ChunkRef chunk)
|
||||||
{
|
{
|
||||||
if (opt.OPT_V) {
|
if (opt.OPT_V) {
|
||||||
Console.WriteLine("Generating {0} size {1} deposits of {2} between {3} and {4}",
|
Console.WriteLine("Generating {0} size {1} deposits of {2} between {3} and {4}",
|
||||||
|
@ -265,7 +266,7 @@ namespace NBToolkit
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int blockID = _cache.Blocks.GetID(x & _chunkXMask, y & _chunkYMask, z & _chunkZMask);
|
int blockID = cache.Blocks.GetID(x & chunkXMask, y & chunkYMask, z & chunkZMask);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
((opt.OPT_OA) && (blockID != opt.OPT_ID)) ||
|
((opt.OPT_OA) && (blockID != opt.OPT_ID)) ||
|
||||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using NDesk.Options;
|
using NDesk.Options;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -69,7 +70,7 @@ namespace NBToolkit
|
||||||
|
|
||||||
public override void Run ()
|
public override void Run ()
|
||||||
{
|
{
|
||||||
INBTWorld world = GetWorld(opt);
|
NbtWorld world = GetWorld(opt);
|
||||||
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
||||||
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using NDesk.Options;
|
using NDesk.Options;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -11,9 +12,9 @@ namespace NBToolkit
|
||||||
private OptionSet _filterOpt = null;
|
private OptionSet _filterOpt = null;
|
||||||
private ChunkFilter _chunkFilter = null;
|
private ChunkFilter _chunkFilter = null;
|
||||||
|
|
||||||
public bool BlockLight;
|
public bool BlockLight = false;
|
||||||
public bool SkyLight;
|
public bool SkyLight = false;
|
||||||
public bool HeightMap;
|
public bool HeightMap = false;
|
||||||
|
|
||||||
public RelightOptions ()
|
public RelightOptions ()
|
||||||
: base()
|
: base()
|
||||||
|
@ -82,7 +83,7 @@ namespace NBToolkit
|
||||||
|
|
||||||
public override void Run ()
|
public override void Run ()
|
||||||
{
|
{
|
||||||
INBTWorld world = GetWorld(opt);
|
NbtWorld world = GetWorld(opt);
|
||||||
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
||||||
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ using System.Text;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using NDesk.Options;
|
using NDesk.Options;
|
||||||
using Substrate;
|
using Substrate;
|
||||||
|
using Substrate.Core;
|
||||||
|
|
||||||
namespace NBToolkit
|
namespace NBToolkit
|
||||||
{
|
{
|
||||||
|
@ -134,6 +135,23 @@ namespace NBToolkit
|
||||||
|
|
||||||
throw new TKOptionException();
|
throw new TKOptionException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_blockFilter.XAboveEq != null) {
|
||||||
|
int cx = (int)_blockFilter.XAboveEq >> 5;
|
||||||
|
_chunkFilter.XAboveEq = Math.Max(_chunkFilter.XAboveEq ?? cx, cx);
|
||||||
|
}
|
||||||
|
if (_blockFilter.XBelowEq != null) {
|
||||||
|
int cx = (int)_blockFilter.XBelowEq >> 5;
|
||||||
|
_chunkFilter.XBelowEq = Math.Min(_chunkFilter.XBelowEq ?? cx, cx);
|
||||||
|
}
|
||||||
|
if (_blockFilter.ZAboveEq != null) {
|
||||||
|
int cx = (int)_blockFilter.ZAboveEq >> 5;
|
||||||
|
_chunkFilter.ZAboveEq = Math.Max(_chunkFilter.ZAboveEq ?? cx, cx);
|
||||||
|
}
|
||||||
|
if (_blockFilter.ZBelowEq != null) {
|
||||||
|
int cx = (int)_blockFilter.ZBelowEq >> 5;
|
||||||
|
_chunkFilter.ZBelowEq = Math.Min(_chunkFilter.ZBelowEq ?? cx, cx);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public IChunkFilter GetChunkFilter ()
|
public IChunkFilter GetChunkFilter ()
|
||||||
|
@ -153,30 +171,38 @@ namespace NBToolkit
|
||||||
|
|
||||||
private static Random rand = new Random();
|
private static Random rand = new Random();
|
||||||
|
|
||||||
|
private List<BlockKey>[] _sort = new List<BlockKey>[256];
|
||||||
|
|
||||||
public Replace (ReplaceOptions o)
|
public Replace (ReplaceOptions o)
|
||||||
{
|
{
|
||||||
opt = o;
|
opt = o;
|
||||||
|
|
||||||
|
for (int i = 0; i < 256; i++) {
|
||||||
|
_sort[i] = new List<BlockKey>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Run ()
|
public override void Run ()
|
||||||
{
|
{
|
||||||
INBTWorld world = GetWorld(opt);
|
NbtWorld world = GetWorld(opt);
|
||||||
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
IChunkManager cm = world.GetChunkManager(opt.OPT_DIM);
|
||||||
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
FilteredChunkManager fcm = new FilteredChunkManager(cm, opt.GetChunkFilter());
|
||||||
|
|
||||||
int affectedChunks = 0;
|
int affectedChunks = 0;
|
||||||
foreach (ChunkRef chunk in fcm) {
|
foreach (ChunkRef chunk in fcm) {
|
||||||
affectedChunks++;
|
if (opt.OPT_V) {
|
||||||
|
Console.WriteLine("Processing chunk {0},{1}...", chunk.X, chunk.Z);
|
||||||
|
}
|
||||||
|
|
||||||
ApplyChunk(world, chunk);
|
ApplyChunk(world, chunk);
|
||||||
|
|
||||||
fcm.Save();
|
affectedChunks += fcm.Save() > 0 ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine("Affected Chunks: " + affectedChunks);
|
Console.WriteLine("Affected Chunks: " + affectedChunks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ApplyChunk (INBTWorld world, ChunkRef chunk)
|
public void ApplyChunk (NbtWorld world, ChunkRef chunk)
|
||||||
{
|
{
|
||||||
IBlockFilter opt_b = opt.GetBlockFilter();
|
IBlockFilter opt_b = opt.GetBlockFilter();
|
||||||
|
|
||||||
|
@ -195,7 +221,7 @@ namespace NBToolkit
|
||||||
}
|
}
|
||||||
|
|
||||||
xmin = (xmin < 0) ? 0 : xmin;
|
xmin = (xmin < 0) ? 0 : xmin;
|
||||||
xmax = (xmin > 15) ? 15 : xmax;
|
xmax = (xmax > 15) ? 15 : xmax;
|
||||||
|
|
||||||
if (xmin > 15 || xmax < 0 || xmin > xmax) {
|
if (xmin > 15 || xmax < 0 || xmin > xmax) {
|
||||||
return;
|
return;
|
||||||
|
@ -228,7 +254,7 @@ namespace NBToolkit
|
||||||
}
|
}
|
||||||
|
|
||||||
zmin = (zmin < 0) ? 0 : zmin;
|
zmin = (zmin < 0) ? 0 : zmin;
|
||||||
zmax = (zmin > 15) ? 15 : zmax;
|
zmax = (zmax > 15) ? 15 : zmax;
|
||||||
|
|
||||||
if (zmin > 15 || zmax < 0 || zmin > zmax) {
|
if (zmin > 15 || zmax < 0 || zmin > zmax) {
|
||||||
return;
|
return;
|
||||||
|
@ -238,8 +264,52 @@ namespace NBToolkit
|
||||||
int ydim = chunk.Blocks.YDim;
|
int ydim = chunk.Blocks.YDim;
|
||||||
int zdim = chunk.Blocks.ZDim;
|
int zdim = chunk.Blocks.ZDim;
|
||||||
|
|
||||||
// Process Chunk
|
// Bin blocks
|
||||||
for (int y = ymin; y <= ymax; y++) {
|
for (int y = ymin; y <= ymax; y++) {
|
||||||
|
for (int x = xmin; x <= xmax; x++) {
|
||||||
|
for (int z = zmin; z <= zmax; z++) {
|
||||||
|
int id = chunk.Blocks.GetID(x, y, z);
|
||||||
|
_sort[id].Add(new BlockKey(x, y, z));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process bins
|
||||||
|
for (int i = 0; i < 256; i++) {
|
||||||
|
if (_sort[i].Count == 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opt_b.IncludedBlockCount > 0 & !opt_b.IncludedBlocksContains(i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opt_b.ExcludedBlockCount > 0 & opt_b.ExcludedBlocksContains(i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (BlockKey key in _sort[i]) {
|
||||||
|
chunk.Blocks.SetID(key.x, key.y, key.z, (int)opt.OPT_AFTER);
|
||||||
|
|
||||||
|
if (opt.OPT_VV) {
|
||||||
|
int gx = chunk.X * xdim + key.x;
|
||||||
|
int gz = chunk.Z * zdim + key.z;
|
||||||
|
Console.WriteLine("Replaced block {0} at {1},{2},{3}", i, gx, key.y, gz);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opt.OPT_DATA != null) {
|
||||||
|
chunk.Blocks.SetData(key.x, key.y, key.z, (int)opt.OPT_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset bins
|
||||||
|
for (int i = 0; i < 256; i++) {
|
||||||
|
_sort[i].Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process Chunk
|
||||||
|
/*for (int y = ymin; y <= ymax; y++) {
|
||||||
for (int x = xmin; x <= xmax; x++) {
|
for (int x = xmin; x <= xmax; x++) {
|
||||||
for (int z = zmin; z <= zmax; z++) {
|
for (int z = zmin; z <= zmax; z++) {
|
||||||
// Probability test
|
// Probability test
|
||||||
|
@ -301,7 +371,7 @@ namespace NBToolkit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,9 @@ namespace NBToolkit
|
||||||
|
|
||||||
public abstract void Run ();
|
public abstract void Run ();
|
||||||
|
|
||||||
public INBTWorld GetWorld (TKOptions opt)
|
public NbtWorld GetWorld (TKOptions opt)
|
||||||
{
|
{
|
||||||
INBTWorld world = null;
|
NbtWorld world = null;
|
||||||
try {
|
try {
|
||||||
if (opt.OPT_ALPHA) {
|
if (opt.OPT_ALPHA) {
|
||||||
world = AlphaWorld.Open(opt.OPT_WORLD);
|
world = AlphaWorld.Open(opt.OPT_WORLD);
|
||||||
|
|
Loading…
Reference in a new issue