Add new leaves to all classes.
This commit is contained in:
parent
4227066f6d
commit
b9fce71bf6
@ -93,6 +93,7 @@ void cBlockInfo::Initialize(void)
|
|||||||
ms_Info[E_BLOCK_IRON_BARS ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_IRON_BARS ].m_SpreadLightFalloff = 1;
|
||||||
ms_Info[E_BLOCK_IRON_DOOR ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_IRON_DOOR ].m_SpreadLightFalloff = 1;
|
||||||
ms_Info[E_BLOCK_LEAVES ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_LEAVES ].m_SpreadLightFalloff = 1;
|
||||||
|
ms_Info[E_BLOCK_NEW_LEAVES ].m_SpreadLightFalloff = 1;
|
||||||
ms_Info[E_BLOCK_SIGN_POST ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_SIGN_POST ].m_SpreadLightFalloff = 1;
|
||||||
ms_Info[E_BLOCK_TORCH ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_TORCH ].m_SpreadLightFalloff = 1;
|
||||||
ms_Info[E_BLOCK_VINES ].m_SpreadLightFalloff = 1;
|
ms_Info[E_BLOCK_VINES ].m_SpreadLightFalloff = 1;
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
{ \
|
{ \
|
||||||
case E_BLOCK_LEAVES: a_Area.SetBlockType(x, y, z, (BLOCKTYPE)(E_BLOCK_SPONGE + i + 1)); break; \
|
case E_BLOCK_LEAVES: a_Area.SetBlockType(x, y, z, (BLOCKTYPE)(E_BLOCK_SPONGE + i + 1)); break; \
|
||||||
case E_BLOCK_LOG: return true; \
|
case E_BLOCK_LOG: return true; \
|
||||||
|
case E_BLOCK_NEW_LOG: return true; \
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HasNearLog(cBlockArea &a_Area, int a_BlockX, int a_BlockY, int a_BlockZ);
|
bool HasNearLog(cBlockArea &a_Area, int a_BlockX, int a_BlockY, int a_BlockZ);
|
||||||
@ -86,7 +87,7 @@ public:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Meta & 0x8) != 0)
|
if ((Meta & 0x8) == 0)
|
||||||
{
|
{
|
||||||
// These leaves have been checked for decay lately and nothing around them changed
|
// These leaves have been checked for decay lately and nothing around them changed
|
||||||
return;
|
return;
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
case E_BLOCK_CACTUS:
|
case E_BLOCK_CACTUS:
|
||||||
case E_BLOCK_ICE:
|
case E_BLOCK_ICE:
|
||||||
case E_BLOCK_LEAVES:
|
case E_BLOCK_LEAVES:
|
||||||
|
case E_BLOCK_NEW_LEAVES:
|
||||||
case E_BLOCK_AIR:
|
case E_BLOCK_AIR:
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -73,7 +73,7 @@ public:
|
|||||||
/// Returns true if the specified block type is good for vines to attach to
|
/// Returns true if the specified block type is good for vines to attach to
|
||||||
static bool IsBlockAttachable(BLOCKTYPE a_BlockType)
|
static bool IsBlockAttachable(BLOCKTYPE a_BlockType)
|
||||||
{
|
{
|
||||||
return (a_BlockType == E_BLOCK_LEAVES) || cBlockInfo::IsSolid(a_BlockType);
|
return (a_BlockType == E_BLOCK_LEAVES) || (a_BlockType == E_BLOCK_NEW_LEAVES) || cBlockInfo::IsSolid(a_BlockType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1383,6 +1383,13 @@ void cChunkMap::ReplaceTreeBlocks(const sSetBlockVector & a_Blocks)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case E_BLOCK_NEW_LEAVES:
|
||||||
|
{
|
||||||
|
if (itr->BlockType == E_BLOCK_NEW_LOG)
|
||||||
|
{
|
||||||
|
Chunk->SetBlock(itr->x, itr->y, itr->z, itr->BlockType, itr->BlockMeta);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} // for itr - a_Blocks[]
|
} // for itr - a_Blocks[]
|
||||||
}
|
}
|
||||||
|
@ -95,6 +95,7 @@ cItemHandler *cItemHandler::CreateItemHandler(int a_ItemType)
|
|||||||
|
|
||||||
// Single item per handler, alphabetically sorted:
|
// Single item per handler, alphabetically sorted:
|
||||||
case E_BLOCK_LEAVES: return new cItemLeavesHandler(a_ItemType);
|
case E_BLOCK_LEAVES: return new cItemLeavesHandler(a_ItemType);
|
||||||
|
case E_BLOCK_NEW_LEAVES: return new cItemLeavesHandler(a_ItemType);
|
||||||
case E_BLOCK_SAPLING: return new cItemSaplingHandler(a_ItemType);
|
case E_BLOCK_SAPLING: return new cItemSaplingHandler(a_ItemType);
|
||||||
case E_BLOCK_WOOL: return new cItemClothHandler(a_ItemType);
|
case E_BLOCK_WOOL: return new cItemClothHandler(a_ItemType);
|
||||||
case E_ITEM_BED: return new cItemBedHandler(a_ItemType);
|
case E_ITEM_BED: return new cItemBedHandler(a_ItemType);
|
||||||
|
@ -28,10 +28,10 @@ public:
|
|||||||
virtual bool OnDiggingBlock(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_Dir) override
|
virtual bool OnDiggingBlock(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_Dir) override
|
||||||
{
|
{
|
||||||
BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ);
|
BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ);
|
||||||
if (Block == E_BLOCK_LEAVES)
|
if ((Block == E_BLOCK_LEAVES) || (Block == E_BLOCK_NEW_LEAVES))
|
||||||
{
|
{
|
||||||
cItems Drops;
|
cItems Drops;
|
||||||
Drops.push_back(cItem(E_BLOCK_LEAVES, 1, a_World->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ) & 0x03));
|
Drops.push_back(cItem(Block, 1, a_World->GetBlockMeta(a_BlockX, a_BlockY, a_BlockZ) & 0x03));
|
||||||
a_World->SpawnItemPickups(Drops, a_BlockX, a_BlockY, a_BlockZ);
|
a_World->SpawnItemPickups(Drops, a_BlockX, a_BlockY, a_BlockZ);
|
||||||
|
|
||||||
a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);
|
a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);
|
||||||
@ -49,6 +49,7 @@ public:
|
|||||||
case E_BLOCK_COBWEB:
|
case E_BLOCK_COBWEB:
|
||||||
case E_BLOCK_VINES:
|
case E_BLOCK_VINES:
|
||||||
case E_BLOCK_LEAVES:
|
case E_BLOCK_LEAVES:
|
||||||
|
case E_BLOCK_NEW_LEAVES:
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -169,7 +169,7 @@ bool cMobSpawner::CanSpawnHere(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_R
|
|||||||
(TargetBlock == E_BLOCK_AIR) &&
|
(TargetBlock == E_BLOCK_AIR) &&
|
||||||
(BlockAbove == E_BLOCK_AIR) &&
|
(BlockAbove == E_BLOCK_AIR) &&
|
||||||
(
|
(
|
||||||
(BlockBelow == E_BLOCK_GRASS) || (BlockBelow == E_BLOCK_LEAVES)
|
(BlockBelow == E_BLOCK_GRASS) || (BlockBelow == E_BLOCK_LEAVES) || (BlockBelow == E_BLOCK_NEW_LEAVES)
|
||||||
) &&
|
) &&
|
||||||
(a_RelY >= 62) &&
|
(a_RelY >= 62) &&
|
||||||
(m_Random.NextInt(3, a_Biome) != 0)
|
(m_Random.NextInt(3, a_Biome) != 0)
|
||||||
|
@ -366,6 +366,7 @@ bool cWSSAnvil::LoadChunkFromNBT(const cChunkCoords & a_Chunk, const cParsedNBT
|
|||||||
{
|
{
|
||||||
case E_BLOCK_AIR:
|
case E_BLOCK_AIR:
|
||||||
case E_BLOCK_LEAVES:
|
case E_BLOCK_LEAVES:
|
||||||
|
case E_BLOCK_NEW_LEAVES:
|
||||||
{
|
{
|
||||||
// nothing needed
|
// nothing needed
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user