forked from mirrors/NBTExplorer
Updating info to MC 1.8 (except for new entities)
This commit is contained in:
parent
e64f93bd7a
commit
018a9ae337
5 changed files with 187 additions and 7 deletions
|
@ -106,6 +106,19 @@ namespace Substrate
|
||||||
public const int REDSTONE_REPEATER_OFF = 94;
|
public const int REDSTONE_REPEATER_OFF = 94;
|
||||||
public const int LOCKED_CHEST = 95;
|
public const int LOCKED_CHEST = 95;
|
||||||
public const int TRAPDOOR = 96;
|
public const int TRAPDOOR = 96;
|
||||||
|
public const int SILVERFISH_STONE = 97;
|
||||||
|
public const int STONE_BRICK = 98;
|
||||||
|
public const int HUGE_RED_MUSHROOM = 99;
|
||||||
|
public const int HUGE_BROWN_MUSHROOM = 100;
|
||||||
|
public const int IRON_BARS = 101;
|
||||||
|
public const int GLASS_PANE = 102;
|
||||||
|
public const int MELON = 103;
|
||||||
|
public const int PUMPKIN_STEM = 104;
|
||||||
|
public const int MELON_STEP = 105;
|
||||||
|
public const int VINES = 106;
|
||||||
|
public const int FENCE_GATE = 107;
|
||||||
|
public const int BRICK_STAIRS = 108;
|
||||||
|
public const int STONE_BRICK_STAIRS = 109;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -550,6 +563,19 @@ namespace Substrate
|
||||||
public static BlockInfo RedstoneRepeaterOn;
|
public static BlockInfo RedstoneRepeaterOn;
|
||||||
public static BlockInfoEx LockedChest;
|
public static BlockInfoEx LockedChest;
|
||||||
public static BlockInfo Trapdoor;
|
public static BlockInfo Trapdoor;
|
||||||
|
public static BlockInfo SilverfishStone;
|
||||||
|
public static BlockInfo StoneBrick;
|
||||||
|
public static BlockInfo HugeRedMushroom;
|
||||||
|
public static BlockInfo HugeBrownMushroom;
|
||||||
|
public static BlockInfo IronBars;
|
||||||
|
public static BlockInfo GlassPane;
|
||||||
|
public static BlockInfo Melon;
|
||||||
|
public static BlockInfo PumpkinStem;
|
||||||
|
public static BlockInfo MelonStem;
|
||||||
|
public static BlockInfo Vines;
|
||||||
|
public static BlockInfo FenceGate;
|
||||||
|
public static BlockInfo BrickStairs;
|
||||||
|
public static BlockInfo StoneBrickStairs;
|
||||||
|
|
||||||
static BlockInfo ()
|
static BlockInfo ()
|
||||||
{
|
{
|
||||||
|
@ -658,6 +684,19 @@ namespace Substrate
|
||||||
RedstoneRepeaterOn = new BlockInfo(94, "Redstone Repeater (On)").SetOpacity(0).SetLuminance(7);
|
RedstoneRepeaterOn = new BlockInfo(94, "Redstone Repeater (On)").SetOpacity(0).SetLuminance(7);
|
||||||
LockedChest = (BlockInfoEx)new BlockInfoEx(95, "Locked Chest").SetLuminance(MAX_LUMINANCE);
|
LockedChest = (BlockInfoEx)new BlockInfoEx(95, "Locked Chest").SetLuminance(MAX_LUMINANCE);
|
||||||
Trapdoor = new BlockInfo(96, "Trapdoor").SetOpacity(0);
|
Trapdoor = new BlockInfo(96, "Trapdoor").SetOpacity(0);
|
||||||
|
SilverfishStone = new BlockInfo(97, "Stone with Silverfish");
|
||||||
|
StoneBrick = new BlockInfo(98, "Stone Brick");
|
||||||
|
HugeRedMushroom = new BlockInfo(99, "Huge Red Mushroom");
|
||||||
|
HugeBrownMushroom = new BlockInfo(100, "Huge Brown Mushroom");
|
||||||
|
IronBars = new BlockInfo(101, "Iron Bars").SetOpacity(0);
|
||||||
|
GlassPane = new BlockInfo(102, "Glass Pane").SetOpacity(0);
|
||||||
|
Melon = new BlockInfo(103, "Melon");
|
||||||
|
PumpkinStem = new BlockInfo(104, "Pumpkin Stem").SetOpacity(0).SetState(BlockState.NONSOLID);
|
||||||
|
MelonStem = new BlockInfo(105, "Melon Stem").SetOpacity(0).SetState(BlockState.NONSOLID);
|
||||||
|
Vines = new BlockInfo(106, "Vines").SetOpacity(0).SetState(BlockState.NONSOLID);
|
||||||
|
FenceGate = new BlockInfo(107, "Fence Gate").SetOpacity(0);
|
||||||
|
BrickStairs = new BlockInfo(108, "Brick Stairs").SetOpacity(0);
|
||||||
|
StoneBrickStairs = new BlockInfo(109, "Stone Brick Stairs").SetOpacity(0);
|
||||||
|
|
||||||
for (int i = 0; i < MAX_BLOCKS; i++) {
|
for (int i = 0; i < MAX_BLOCKS; i++) {
|
||||||
if (_blockTable[i] == null) {
|
if (_blockTable[i] == null) {
|
||||||
|
@ -673,6 +712,8 @@ namespace Substrate
|
||||||
WoodStairs.SetLightTransmission(false);
|
WoodStairs.SetLightTransmission(false);
|
||||||
Farmland.SetLightTransmission(false);
|
Farmland.SetLightTransmission(false);
|
||||||
CobbleStairs.SetLightTransmission(false);
|
CobbleStairs.SetLightTransmission(false);
|
||||||
|
BrickStairs.SetLightTransmission(false);
|
||||||
|
StoneBrickStairs.SetLightTransmission(false);
|
||||||
|
|
||||||
// Override default fluid blocking rules
|
// Override default fluid blocking rules
|
||||||
|
|
||||||
|
@ -737,6 +778,11 @@ namespace Substrate
|
||||||
RedstoneRepeater.SetDataLimits(0, 0, 0xF);
|
RedstoneRepeater.SetDataLimits(0, 0, 0xF);
|
||||||
RedstoneRepeaterOn.SetDataLimits(0, 0, 0xF);
|
RedstoneRepeaterOn.SetDataLimits(0, 0, 0xF);
|
||||||
Trapdoor.SetDataLimits(0, 3, 0x4);
|
Trapdoor.SetDataLimits(0, 3, 0x4);
|
||||||
|
StoneBrick.SetDataLimits(0, 2, 0);
|
||||||
|
HugeRedMushroom.SetDataLimits(0, 10, 0);
|
||||||
|
HugeBrownMushroom.SetDataLimits(0, 10, 0);
|
||||||
|
Vines.SetDataLimits(0, 0, 0xF);
|
||||||
|
FenceGate.SetDataLimits(0, 3, 0x4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ namespace Substrate
|
||||||
/// <param name="y">Global Y-coordinate of a block.</param>
|
/// <param name="y">Global Y-coordinate of a block.</param>
|
||||||
/// <param name="z">Global Z-coordinate of a block.</param>
|
/// <param name="z">Global Z-coordinate of a block.</param>
|
||||||
/// <returns>A <see cref="ChunkRef"/> to a single chunk containing the given block.</returns>
|
/// <returns>A <see cref="ChunkRef"/> to a single chunk containing the given block.</returns>
|
||||||
protected ChunkRef GetChunk (int x, int y, int z)
|
public ChunkRef GetChunk (int x, int y, int z)
|
||||||
{
|
{
|
||||||
x >>= chunkXLog;
|
x >>= chunkXLog;
|
||||||
z >>= chunkZLog;
|
z >>= chunkZLog;
|
||||||
|
|
|
@ -309,6 +309,52 @@ namespace Substrate
|
||||||
STICKY = 0x08,
|
STICKY = 0x08,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum StoneBrickType
|
||||||
|
{
|
||||||
|
NORMAL = 0,
|
||||||
|
MOSSY = 1,
|
||||||
|
CRACKED = 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum HugeMushroomType
|
||||||
|
{
|
||||||
|
FLESHY = 0,
|
||||||
|
CAP_CORNER_NORTHEAST = 1,
|
||||||
|
CAP_SIDE_EAST = 2,
|
||||||
|
CAP_CORNER_SOUTHEAST = 3,
|
||||||
|
CAP_SIDE_NORTH = 4,
|
||||||
|
CAP_TOP = 5,
|
||||||
|
CAP_SIDE_SOUTH = 6,
|
||||||
|
CAP_CORNER_NORTHWEST = 7,
|
||||||
|
CAP_SIDE_WEST = 8,
|
||||||
|
CAP_CORNER_SOUTHWEST = 9,
|
||||||
|
STEM = 10,
|
||||||
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum VineCoverageState
|
||||||
|
{
|
||||||
|
TOP = 0x0,
|
||||||
|
WEST = 0x1,
|
||||||
|
NORTH = 0x2,
|
||||||
|
EAST = 0x4,
|
||||||
|
SOUTH = 0x8,
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum FenceGateOrientation
|
||||||
|
{
|
||||||
|
WEST = 0,
|
||||||
|
NORTH = 1,
|
||||||
|
EAST = 2,
|
||||||
|
SOUTH = 3,
|
||||||
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum FenceGateState
|
||||||
|
{
|
||||||
|
OPEN = 0x4,
|
||||||
|
}
|
||||||
|
|
||||||
// Item Data
|
// Item Data
|
||||||
|
|
||||||
public enum CoalType
|
public enum CoalType
|
||||||
|
|
|
@ -113,6 +113,15 @@ namespace Substrate
|
||||||
public const int COOKIE = 357;
|
public const int COOKIE = 357;
|
||||||
public const int MAP = 358;
|
public const int MAP = 358;
|
||||||
public const int SHEARS = 359;
|
public const int SHEARS = 359;
|
||||||
|
public const int MELON_SLICE = 360;
|
||||||
|
public const int PUMPKIN_SEEDS = 361;
|
||||||
|
public const int MELON_SEEDS = 262;
|
||||||
|
public const int RAW_BEEF = 363;
|
||||||
|
public const int STEAK = 364;
|
||||||
|
public const int RAW_CHICKEN = 365;
|
||||||
|
public const int COOKED_CHICKEN = 366;
|
||||||
|
public const int ROTTEN_FLESH = 367;
|
||||||
|
public const int ENDER_PEARL = 368;
|
||||||
public const int GOLD_MUSIC_DISC = 2256;
|
public const int GOLD_MUSIC_DISC = 2256;
|
||||||
public const int GREEN_MUSIC_DISC = 2257;
|
public const int GREEN_MUSIC_DISC = 2257;
|
||||||
}
|
}
|
||||||
|
@ -337,6 +346,15 @@ namespace Substrate
|
||||||
public static ItemInfo Cookie;
|
public static ItemInfo Cookie;
|
||||||
public static ItemInfo Map;
|
public static ItemInfo Map;
|
||||||
public static ItemInfo Shears;
|
public static ItemInfo Shears;
|
||||||
|
public static ItemInfo MelonSlice;
|
||||||
|
public static ItemInfo PumpkinSeeds;
|
||||||
|
public static ItemInfo MelonSeeds;
|
||||||
|
public static ItemInfo RawBeef;
|
||||||
|
public static ItemInfo Steak;
|
||||||
|
public static ItemInfo RawChicken;
|
||||||
|
public static ItemInfo CookedChicken;
|
||||||
|
public static ItemInfo RottenFlesh;
|
||||||
|
public static ItemInfo EnderPearl;
|
||||||
public static ItemInfo GoldMusicDisc;
|
public static ItemInfo GoldMusicDisc;
|
||||||
public static ItemInfo GreenMusicDisc;
|
public static ItemInfo GreenMusicDisc;
|
||||||
|
|
||||||
|
@ -386,7 +404,7 @@ namespace Substrate
|
||||||
GoldHoe = new ItemInfo(294, "Gold Hoe");
|
GoldHoe = new ItemInfo(294, "Gold Hoe");
|
||||||
Seeds = new ItemInfo(295, "Seeds").SetStackSize(64);
|
Seeds = new ItemInfo(295, "Seeds").SetStackSize(64);
|
||||||
Wheat = new ItemInfo(296, "Wheat").SetStackSize(64);
|
Wheat = new ItemInfo(296, "Wheat").SetStackSize(64);
|
||||||
Bread = new ItemInfo(297, "Bread");
|
Bread = new ItemInfo(297, "Bread").SetStackSize(64);
|
||||||
LeatherCap = new ItemInfo(298, "Leather Cap");
|
LeatherCap = new ItemInfo(298, "Leather Cap");
|
||||||
LeatherTunic = new ItemInfo(299, "Leather Tunic");
|
LeatherTunic = new ItemInfo(299, "Leather Tunic");
|
||||||
LeatherPants = new ItemInfo(300, "Leather Pants");
|
LeatherPants = new ItemInfo(300, "Leather Pants");
|
||||||
|
@ -408,10 +426,10 @@ namespace Substrate
|
||||||
GoldLeggings = new ItemInfo(316, "Gold Leggings");
|
GoldLeggings = new ItemInfo(316, "Gold Leggings");
|
||||||
GoldBoots = new ItemInfo(317, "Gold Boots");
|
GoldBoots = new ItemInfo(317, "Gold Boots");
|
||||||
Flint = new ItemInfo(318, "Flint").SetStackSize(64);
|
Flint = new ItemInfo(318, "Flint").SetStackSize(64);
|
||||||
RawPorkchop = new ItemInfo(319, "Raw Porkchop");
|
RawPorkchop = new ItemInfo(319, "Raw Porkchop").SetStackSize(64);
|
||||||
CookedPorkchop = new ItemInfo(320, "Cooked Porkchop");
|
CookedPorkchop = new ItemInfo(320, "Cooked Porkchop").SetStackSize(64);
|
||||||
Painting = new ItemInfo(321, "Painting").SetStackSize(64);
|
Painting = new ItemInfo(321, "Painting").SetStackSize(64);
|
||||||
GoldenApple = new ItemInfo(322, "Golden Apple");
|
GoldenApple = new ItemInfo(322, "Golden Apple").SetStackSize(64);
|
||||||
Sign = new ItemInfo(323, "Sign");
|
Sign = new ItemInfo(323, "Sign");
|
||||||
WoodenDoor = new ItemInfo(324, "Door");
|
WoodenDoor = new ItemInfo(324, "Door");
|
||||||
Bucket = new ItemInfo(325, "Bucket");
|
Bucket = new ItemInfo(325, "Bucket");
|
||||||
|
@ -438,8 +456,8 @@ namespace Substrate
|
||||||
FishingRod = new ItemInfo(346, "Fishing Rod");
|
FishingRod = new ItemInfo(346, "Fishing Rod");
|
||||||
Clock = new ItemInfo(347, "Clock");
|
Clock = new ItemInfo(347, "Clock");
|
||||||
GlowstoneDust = new ItemInfo(348, "Glowstone Dust").SetStackSize(64);
|
GlowstoneDust = new ItemInfo(348, "Glowstone Dust").SetStackSize(64);
|
||||||
RawFish = new ItemInfo(349, "Raw Fish");
|
RawFish = new ItemInfo(349, "Raw Fish").SetStackSize(64);
|
||||||
CookedFish = new ItemInfo(350, "Cooked Fish");
|
CookedFish = new ItemInfo(350, "Cooked Fish").SetStackSize(64);
|
||||||
Dye = new ItemInfo(351, "Dye").SetStackSize(64);
|
Dye = new ItemInfo(351, "Dye").SetStackSize(64);
|
||||||
Bone = new ItemInfo(352, "Bone").SetStackSize(64);
|
Bone = new ItemInfo(352, "Bone").SetStackSize(64);
|
||||||
Sugar = new ItemInfo(353, "Sugar").SetStackSize(64);
|
Sugar = new ItemInfo(353, "Sugar").SetStackSize(64);
|
||||||
|
@ -449,6 +467,15 @@ namespace Substrate
|
||||||
Cookie = new ItemInfo(357, "Cookie").SetStackSize(8);
|
Cookie = new ItemInfo(357, "Cookie").SetStackSize(8);
|
||||||
Map = new ItemInfo(358, "Map");
|
Map = new ItemInfo(358, "Map");
|
||||||
Shears = new ItemInfo(359, "Shears");
|
Shears = new ItemInfo(359, "Shears");
|
||||||
|
MelonSlice = new ItemInfo(360, "Melon Slice").SetStackSize(64);
|
||||||
|
PumpkinSeeds = new ItemInfo(361, "Pumpkin Seeds").SetStackSize(64);
|
||||||
|
MelonSeeds = new ItemInfo(362, "Melon Seeds").SetStackSize(64);
|
||||||
|
RawBeef = new ItemInfo(363, "Raw Beef").SetStackSize(64);
|
||||||
|
Steak = new ItemInfo(364, "Steak").SetStackSize(64);
|
||||||
|
RawChicken = new ItemInfo(365, "Raw Chicken").SetStackSize(64);
|
||||||
|
CookedChicken = new ItemInfo(366, "Cooked Chicken").SetStackSize(64);
|
||||||
|
RottenFlesh = new ItemInfo(367, "Rotten Flesh").SetStackSize(64);
|
||||||
|
EnderPearl = new ItemInfo(368, "Ender Pearl").SetStackSize(64);
|
||||||
GoldMusicDisc = new ItemInfo(2256, "Gold Music Disc");
|
GoldMusicDisc = new ItemInfo(2256, "Gold Music Disc");
|
||||||
GreenMusicDisc = new ItemInfo(2257, "Green Music Disc");
|
GreenMusicDisc = new ItemInfo(2257, "Green Music Disc");
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,22 @@ using Substrate.Nbt;
|
||||||
|
|
||||||
namespace Substrate
|
namespace Substrate
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Specifies the type of gameplay associated with a world.
|
||||||
|
/// </summary>
|
||||||
|
public enum GameType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The world will be played in Survival mode.
|
||||||
|
/// </summary>
|
||||||
|
SURVIVAL = 0,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The world will be played in Creative mode.
|
||||||
|
/// </summary>
|
||||||
|
CREATIVE = 1,
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents general data and metadata of a single world.
|
/// Represents general data and metadata of a single world.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -28,6 +44,8 @@ namespace Substrate
|
||||||
new SchemaNodeScaler("thundering", TagType.TAG_BYTE, SchemaOptions.OPTIONAL),
|
new SchemaNodeScaler("thundering", TagType.TAG_BYTE, SchemaOptions.OPTIONAL),
|
||||||
new SchemaNodeScaler("rainTime", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
new SchemaNodeScaler("rainTime", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
||||||
new SchemaNodeScaler("thunderTime", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
new SchemaNodeScaler("thunderTime", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
||||||
|
new SchemaNodeScaler("GameType", TagType.TAG_INT, SchemaOptions.OPTIONAL),
|
||||||
|
new SchemaNodeScaler("MapFeatures", TagType.TAG_BYTE, SchemaOptions.OPTIONAL),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -52,6 +70,9 @@ namespace Substrate
|
||||||
private int? _rainTime;
|
private int? _rainTime;
|
||||||
private int? _thunderTime;
|
private int? _thunderTime;
|
||||||
|
|
||||||
|
private int? _gameType;
|
||||||
|
private byte? _mapFeatures;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the creation time of the world as a long timestamp.
|
/// Gets or sets the creation time of the world as a long timestamp.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -176,6 +197,24 @@ namespace Substrate
|
||||||
set { _thunderTime = value; }
|
set { _thunderTime = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the game type associated with this world.
|
||||||
|
/// </summary>
|
||||||
|
public GameType GameType
|
||||||
|
{
|
||||||
|
get { return (GameType)(_gameType ?? 0); }
|
||||||
|
set { _gameType = (int)value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating that structures (dungeons, villages, ...) will be generated.
|
||||||
|
/// </summary>
|
||||||
|
public bool UseMapFeatures
|
||||||
|
{
|
||||||
|
get { return (_mapFeatures ?? 0) == 1; }
|
||||||
|
set { _mapFeatures = value ? (byte)1 : (byte)0; }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a <see cref="SchemaNode"/> representing the schema of a level.
|
/// Gets a <see cref="SchemaNode"/> representing the schema of a level.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -202,6 +241,9 @@ namespace Substrate
|
||||||
_randomSeed = new Random().Next();
|
_randomSeed = new Random().Next();
|
||||||
_version = 19132;
|
_version = 19132;
|
||||||
_name = "Untitled";
|
_name = "Untitled";
|
||||||
|
|
||||||
|
GameType = GameType.SURVIVAL;
|
||||||
|
UseMapFeatures = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -227,6 +269,9 @@ namespace Substrate
|
||||||
_rainTime = p._rainTime;
|
_rainTime = p._rainTime;
|
||||||
_thunderTime = p._thunderTime;
|
_thunderTime = p._thunderTime;
|
||||||
|
|
||||||
|
_gameType = p._gameType;
|
||||||
|
_mapFeatures = p._mapFeatures;
|
||||||
|
|
||||||
if (p._player != null) {
|
if (p._player != null) {
|
||||||
_player = p._player.Copy();
|
_player = p._player.Copy();
|
||||||
}
|
}
|
||||||
|
@ -297,6 +342,8 @@ namespace Substrate
|
||||||
_rainTime = null;
|
_rainTime = null;
|
||||||
_thundering = null;
|
_thundering = null;
|
||||||
_thunderTime = null;
|
_thunderTime = null;
|
||||||
|
_gameType = null;
|
||||||
|
_mapFeatures = null;
|
||||||
|
|
||||||
TagNodeCompound ctree = dtree["Data"].ToTagCompound();
|
TagNodeCompound ctree = dtree["Data"].ToTagCompound();
|
||||||
|
|
||||||
|
@ -334,6 +381,13 @@ namespace Substrate
|
||||||
_thunderTime = ctree["thunderTime"].ToTagInt();
|
_thunderTime = ctree["thunderTime"].ToTagInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ctree.ContainsKey("GameType")) {
|
||||||
|
_gameType = ctree["GameType"].ToTagInt();
|
||||||
|
}
|
||||||
|
if (ctree.ContainsKey("MapFeatures")) {
|
||||||
|
_mapFeatures = ctree["MapFeatures"].ToTagByte();
|
||||||
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -392,6 +446,13 @@ namespace Substrate
|
||||||
data["thunderTime"] = new TagNodeInt(_thunderTime ?? 0);
|
data["thunderTime"] = new TagNodeInt(_thunderTime ?? 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_gameType != null) {
|
||||||
|
data["GameType"] = new TagNodeInt(_gameType ?? 0);
|
||||||
|
}
|
||||||
|
if (_mapFeatures != null) {
|
||||||
|
data["MapFeatures"] = new TagNodeByte(_mapFeatures ?? 0);
|
||||||
|
}
|
||||||
|
|
||||||
TagNodeCompound tree = new TagNodeCompound();
|
TagNodeCompound tree = new TagNodeCompound();
|
||||||
tree.Add("Data", data);
|
tree.Add("Data", data);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue