commit
ccd290bc72
@ -1018,20 +1018,23 @@ void cChunk::GrowMelonPumpkin(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_Bl
|
|||||||
|
|
||||||
// Check if there's soil under the neighbor. We already know the neighbors are valid. Place produce if ok
|
// Check if there's soil under the neighbor. We already know the neighbors are valid. Place produce if ok
|
||||||
BLOCKTYPE Soil;
|
BLOCKTYPE Soil;
|
||||||
UnboundedRelGetBlock(a_RelX + x, a_RelY - 1, a_RelZ + z, Soil, BlockMeta);
|
VERIFY(UnboundedRelGetBlock(a_RelX + x, a_RelY - 1, a_RelZ + z, Soil, BlockMeta));
|
||||||
switch (Soil)
|
switch (Soil)
|
||||||
{
|
{
|
||||||
case E_BLOCK_DIRT:
|
case E_BLOCK_DIRT:
|
||||||
case E_BLOCK_GRASS:
|
case E_BLOCK_GRASS:
|
||||||
case E_BLOCK_FARMLAND:
|
case E_BLOCK_FARMLAND:
|
||||||
{
|
{
|
||||||
// DEBUG: This is here to catch FS #349 - melons growing over other crops.
|
|
||||||
LOG("Growing melon / pumpkin overwriting %s, growing on %s",
|
|
||||||
ItemTypeToString(BlockType[CheckType]).c_str(),
|
|
||||||
ItemTypeToString(Soil).c_str()
|
|
||||||
);
|
|
||||||
// Place a randomly-facing produce:
|
// Place a randomly-facing produce:
|
||||||
UnboundedRelFastSetBlock(a_RelX + x, a_RelY, a_RelZ + z, ProduceType, (NIBBLETYPE)(a_TickRandom.randInt(4) % 4));
|
NIBBLETYPE Meta = (ProduceType == E_BLOCK_MELON) ? 0 : static_cast<NIBBLETYPE>(a_TickRandom.randInt(4) % 4);
|
||||||
|
LOGD("Growing melon / pumpkin at {%d, %d, %d} (<%d, %d> from stem), overwriting %s, growing on top of %s, meta %d",
|
||||||
|
a_RelX + x + m_PosX * cChunkDef::Width, a_RelY, a_RelZ + z + m_PosZ * cChunkDef::Width,
|
||||||
|
x, z,
|
||||||
|
ItemTypeToString(BlockType[CheckType]).c_str(),
|
||||||
|
ItemTypeToString(Soil).c_str(),
|
||||||
|
Meta
|
||||||
|
);
|
||||||
|
VERIFY(UnboundedRelFastSetBlock(a_RelX + x, a_RelY, a_RelZ + z, ProduceType, Meta));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ public:
|
|||||||
) override
|
) override
|
||||||
{
|
{
|
||||||
// Handle growing the plants:
|
// Handle growing the plants:
|
||||||
if (a_Item.m_ItemDamage == E_META_DYE_WHITE)
|
if ((a_Item.m_ItemDamage == E_META_DYE_WHITE) && (a_BlockFace != BLOCK_FACE_NONE))
|
||||||
{
|
{
|
||||||
if (a_World->GrowRipePlant(a_BlockX, a_BlockY, a_BlockZ, true))
|
if (a_World->GrowRipePlant(a_BlockX, a_BlockY, a_BlockZ, true))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user