Fixed 1.8 dirt types
This commit is contained in:
parent
83973520c8
commit
425df6b694
@ -477,6 +477,7 @@ enum
|
|||||||
// E_BLOCK_DIRT metas:
|
// E_BLOCK_DIRT metas:
|
||||||
E_META_DIRT_NORMAL = 0,
|
E_META_DIRT_NORMAL = 0,
|
||||||
E_META_DIRT_GRASSLESS = 1,
|
E_META_DIRT_GRASSLESS = 1,
|
||||||
|
E_META_DIRT_COARSE = 1,
|
||||||
E_META_DIRT_PODZOL = 2,
|
E_META_DIRT_PODZOL = 2,
|
||||||
|
|
||||||
// E_BLOCK_DISPENSER / E_BLOCK_DROPPER metas:
|
// E_BLOCK_DISPENSER / E_BLOCK_DROPPER metas:
|
||||||
|
@ -21,7 +21,15 @@ public:
|
|||||||
|
|
||||||
virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
|
virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
|
||||||
{
|
{
|
||||||
a_Pickups.push_back(cItem(E_BLOCK_DIRT, 1, 0));
|
if (a_BlockMeta == E_META_DIRT_COARSE)
|
||||||
|
{
|
||||||
|
// Drop the coarse block (dirt, meta 1)
|
||||||
|
a_Pickups.Add(E_BLOCK_DIRT, 1, 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
a_Pickups.Add(E_BLOCK_DIRT, 1, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,12 +24,35 @@ public:
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
BLOCKTYPE Block = a_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ);
|
|
||||||
BLOCKTYPE UpperBlock = a_World->GetBlock(a_BlockX, a_BlockY + 1, a_BlockZ);
|
BLOCKTYPE UpperBlock = a_World->GetBlock(a_BlockX, a_BlockY + 1, a_BlockZ);
|
||||||
|
|
||||||
|
BLOCKTYPE Block;
|
||||||
|
NIBBLETYPE BlockMeta;
|
||||||
|
a_World->GetBlockTypeMeta(a_BlockX, a_BlockY, a_BlockZ, Block, BlockMeta);
|
||||||
|
|
||||||
if (((Block == E_BLOCK_DIRT) || (Block == E_BLOCK_GRASS)) && (UpperBlock == E_BLOCK_AIR))
|
if (((Block == E_BLOCK_DIRT) || (Block == E_BLOCK_GRASS)) && (UpperBlock == E_BLOCK_AIR))
|
||||||
{
|
{
|
||||||
a_World->FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_FARMLAND, 0);
|
BLOCKTYPE NewBlock = E_BLOCK_FARMLAND;
|
||||||
|
if (Block == E_BLOCK_DIRT)
|
||||||
|
{
|
||||||
|
switch (BlockMeta)
|
||||||
|
{
|
||||||
|
case E_META_DIRT_COARSE:
|
||||||
|
{
|
||||||
|
// Transform to normal dirt
|
||||||
|
NewBlock = E_BLOCK_DIRT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case E_META_DIRT_PODZOL:
|
||||||
|
{
|
||||||
|
// You can't transform this block with a hoe in vanilla
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a_World->FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, NewBlock, 0);
|
||||||
a_World->BroadcastSoundEffect("dig.gravel", a_BlockX + 0.5, a_BlockY + 0.5, a_BlockZ + 0.5, 1.0f, 0.8f);
|
a_World->BroadcastSoundEffect("dig.gravel", a_BlockX + 0.5, a_BlockY + 0.5, a_BlockZ + 0.5, 1.0f, 0.8f);
|
||||||
a_Player->UseEquippedItem();
|
a_Player->UseEquippedItem();
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user