Changed some int parameters to vector parameters (#3937)
This commit is contained in:
parent
ef1f371dab
commit
104f9e127b
@ -2917,33 +2917,56 @@ function OnAllChunksAvailable()</pre> All return values from the callbacks are i
|
||||
},
|
||||
SpawnBoat =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Name = "X",
|
||||
Type = "number",
|
||||
{
|
||||
Name = "Position",
|
||||
Type = "Vector3d",
|
||||
},
|
||||
{
|
||||
Name = "Material",
|
||||
Type = "cBoat#eMaterial",
|
||||
},
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
Name = "Y",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Z",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Material",
|
||||
Type = "cBoat#eMaterial",
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Notes = "Spawns a {{cBoat|boat}} at the specific coordinates. Returns the EntityID of the new boat, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no boat was created.",
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
{
|
||||
Name = "X",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Y",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Z",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Material",
|
||||
Type = "cBoat#eMaterial",
|
||||
},
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Notes = "Spawns a {{cBoat|boat}} at the specific coordinates. Returns the EntityID of the new boat, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no boat was created. (DEPRECATED, use vector-parametered version)",
|
||||
},
|
||||
Notes = "Spawns a {{cBoat|boat}} at the specific coordinates. Returns the EntityID of the new boat, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no boat was created.",
|
||||
},
|
||||
SpawnExperienceOrb =
|
||||
{
|
||||
@ -3220,37 +3243,64 @@ function OnAllChunksAvailable()</pre> All return values from the callbacks are i
|
||||
},
|
||||
SpawnPrimedTNT =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Name = "X",
|
||||
Type = "number",
|
||||
{
|
||||
Name = "Position",
|
||||
Type = "Vector3d",
|
||||
},
|
||||
{
|
||||
Name = "FuseTicks",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "InitialVelocityCoeff",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
Name = "Y",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Z",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "FuseTicks",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "InitialVelocityCoeff",
|
||||
Type = "number",
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Notes = "Spawns a {{cTNTEntity|primed TNT entity}} at the specified coords, with the given fuse ticks. The entity gets a random speed multiplied by the InitialVelocityCoeff, 1 being the default value. Returns the EntityID of the new spawned primed tnt, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no primed tnt was created.",
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
Params =
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
{
|
||||
Name = "X",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Y",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "Z",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "FuseTicks",
|
||||
Type = "number",
|
||||
},
|
||||
{
|
||||
Name = "InitialVelocityCoeff",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Returns =
|
||||
{
|
||||
{
|
||||
Name = "EntityID",
|
||||
Type = "number",
|
||||
},
|
||||
},
|
||||
Notes = "Spawns a {{cTNTEntity|primed TNT entity}} at the specified coords, with the given fuse ticks. The entity gets a random speed multiplied by the InitialVelocityCoeff, 1 being the default value. Returns the EntityID of the new spawned primed tnt, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no primed tnt was created. (DEPRECATED, use vector-parametered version)",
|
||||
},
|
||||
Notes = "Spawns a {{cTNTEntity|primed TNT entity}} at the specified coords, with the given fuse ticks. The entity gets a random speed multiplied by the InitialVelocityCoeff, 1 being the default value. Returns the EntityID of the new spawned primed tnt, or {{cEntity#INVALID_ID|cEntity#INVALID_ID}} if no primed tnt was created.",
|
||||
},
|
||||
TryGetHeight =
|
||||
{
|
||||
|
@ -131,7 +131,7 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum)
|
||||
{
|
||||
double TNTX = 0.5 + (DispX + DispChunk->GetPosX() * cChunkDef::Width);
|
||||
double TNTZ = 0.5 + (DispZ + DispChunk->GetPosZ() * cChunkDef::Width);
|
||||
m_World->SpawnPrimedTNT(TNTX, DispY + 0.5, TNTZ, 80, 0); // 80 ticks fuse, no initial velocity
|
||||
m_World->SpawnPrimedTNT({TNTX, DispY + 0.5, TNTZ}, 80, 0); // 80 ticks fuse, no initial velocity
|
||||
m_Contents.ChangeSlotCount(a_SlotNum, -1);
|
||||
}
|
||||
break;
|
||||
@ -250,7 +250,7 @@ void cDispenserEntity::DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum)
|
||||
SpawnPos += GetShootVector(Meta) * 0.8; // A boat is bigger than one block. Add the shoot vector to put it outside the dispenser.
|
||||
SpawnPos += Vector3d(0.5, 0.5, 0.5);
|
||||
|
||||
if (m_World->SpawnBoat(SpawnPos.x, SpawnPos.y, SpawnPos.z, cBoat::ItemToMaterial(SlotItem)))
|
||||
if (m_World->SpawnBoat(SpawnPos, cBoat::ItemToMaterial(SlotItem)))
|
||||
{
|
||||
m_Contents.ChangeSlotCount(a_SlotNum, -1);
|
||||
}
|
||||
|
@ -1721,7 +1721,7 @@ void cChunkMap::DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_
|
||||
{
|
||||
// Activate the TNT, with a random fuse between 10 to 30 game ticks
|
||||
int FuseTime = GetRandomProvider().RandInt(10, 30);
|
||||
m_World->SpawnPrimedTNT(a_BlockX + x + 0.5, a_BlockY + y + 0.5, a_BlockZ + z + 0.5, FuseTime);
|
||||
m_World->SpawnPrimedTNT({a_BlockX + x + 0.5, a_BlockY + y + 0.5, a_BlockZ + z + 0.5}, FuseTime);
|
||||
area.SetBlockTypeMeta(bx + x, by + y, bz + z, E_BLOCK_AIR, 0);
|
||||
a_BlocksAffected.push_back(Vector3i(bx + x, by + y, bz + z));
|
||||
break;
|
||||
|
@ -76,7 +76,7 @@ bool cArrowEntity::CanPickup(const cPlayer & a_Player) const
|
||||
|
||||
|
||||
|
||||
void cArrowEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cArrowEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
Vector3d Hit = a_HitPos;
|
||||
Hit += GetSpeed().NormalizeCopy() / 100000; // Make arrow sink into block a bit so it lodges (TODO: investigate how to stop them going so far so that they become black clientside)
|
||||
@ -93,7 +93,7 @@ void cArrowEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFa
|
||||
if ((m_World->GetBlock(Hit) == E_BLOCK_TNT) && IsOnFire())
|
||||
{
|
||||
m_World->SetBlock(X, Y, Z, E_BLOCK_AIR, 0);
|
||||
m_World->SpawnPrimedTNT(X, Y, Z);
|
||||
m_World->SpawnPrimedTNT(Vector3d(BlockHit));
|
||||
}
|
||||
|
||||
}
|
||||
@ -102,7 +102,7 @@ void cArrowEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFa
|
||||
|
||||
|
||||
|
||||
void cArrowEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cArrowEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
super::OnHitEntity(a_EntityHit, a_HitPos);
|
||||
|
||||
|
@ -100,8 +100,8 @@ protected:
|
||||
Vector3i m_HitBlockPos;
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
virtual void CollectedBy(cPlayer & a_Player) override;
|
||||
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
||||
|
||||
|
@ -13,8 +13,8 @@
|
||||
|
||||
|
||||
|
||||
cBoat::cBoat(double a_X, double a_Y, double a_Z, eMaterial a_Material) :
|
||||
super(etBoat, a_X, a_Y, a_Z, 0.98, 0.7),
|
||||
cBoat::cBoat(Vector3d a_Pos, eMaterial a_Material) :
|
||||
super(etBoat, a_Pos.x, a_Pos.y, a_Pos.z, 0.98, 0.7),
|
||||
m_LastDamage(0), m_ForwardDirection(0),
|
||||
m_DamageTaken(0.0f), m_Material(a_Material),
|
||||
m_RightPaddleUsed(false), m_LeftPaddleUsed(false)
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
||||
virtual void HandleSpeedFromAttachee(float a_Forward, float a_Sideways) override;
|
||||
|
||||
cBoat(double a_X, double a_Y, double a_Z, eMaterial a_Material);
|
||||
cBoat(Vector3d a_Pos, eMaterial a_Material);
|
||||
|
||||
int GetLastDamage(void) const { return m_LastDamage; }
|
||||
int GetForwardDirection(void) const { return m_ForwardDirection; }
|
||||
|
@ -232,7 +232,7 @@ public:
|
||||
void SetSpeed(double a_SpeedX, double a_SpeedY, double a_SpeedZ);
|
||||
|
||||
/** Sets the speed of the entity, measured in m / sec */
|
||||
void SetSpeed(const Vector3d & a_Speed) { SetSpeed(a_Speed.x, a_Speed.y, a_Speed.z); }
|
||||
void SetSpeed(Vector3d a_Speed) { SetSpeed(a_Speed.x, a_Speed.y, a_Speed.z); }
|
||||
|
||||
/** Sets the speed in the X axis, leaving the other speed components intact. Measured in m / sec. */
|
||||
void SetSpeedX(double a_SpeedX);
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
|
||||
|
||||
cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed) :
|
||||
cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, Vector3d a_Speed) :
|
||||
super(pkExpBottle, a_Creator, a_X, a_Y, a_Z, 0.25, 0.25)
|
||||
{
|
||||
SetSpeed(a_Speed);
|
||||
@ -18,7 +18,17 @@ cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y,
|
||||
|
||||
|
||||
|
||||
void cExpBottleEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
cExpBottleEntity::cExpBottleEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed) :
|
||||
super(pkExpBottle, a_Creator, a_Pos.x, a_Pos.y, a_Pos.z, 0.25, 0.25)
|
||||
{
|
||||
SetSpeed(a_Speed);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cExpBottleEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
Break(a_HitPos);
|
||||
}
|
||||
@ -27,7 +37,7 @@ void cExpBottleEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_H
|
||||
|
||||
|
||||
|
||||
void cExpBottleEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cExpBottleEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
Break(a_HitPos);
|
||||
}
|
||||
@ -36,7 +46,7 @@ void cExpBottleEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_Hit
|
||||
|
||||
|
||||
|
||||
void cExpBottleEntity::Break(const Vector3d &a_HitPos)
|
||||
void cExpBottleEntity::Break(Vector3d a_HitPos)
|
||||
{
|
||||
// Spawn an experience orb with a reward between 3 and 11.
|
||||
m_World->BroadcastSoundParticleEffect(EffectID::PARTICLE_SPLASH_POTION, POSX_TOINT, POSY_TOINT, POSZ_TOINT, 0);
|
||||
|
@ -28,17 +28,19 @@ public:
|
||||
|
||||
CLASS_PROTODEF(cExpBottleEntity)
|
||||
|
||||
cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, const Vector3d & a_Speed);
|
||||
cExpBottleEntity(cEntity * a_Creator, double a_X, double a_Y, double a_Z, Vector3d a_Speed);
|
||||
|
||||
cExpBottleEntity(cEntity * a_Creator, Vector3d a_Pos, Vector3d a_Speed);
|
||||
|
||||
protected:
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity (cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity (cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
|
||||
/** Breaks the bottle, fires its particle effects and sounds
|
||||
@param a_HitPos The position where the bottle will break */
|
||||
void Break(const Vector3d & a_HitPos);
|
||||
void Break(Vector3d a_HitPos);
|
||||
|
||||
}; // tolua_export
|
||||
|
||||
|
@ -31,7 +31,7 @@ void cFireChargeEntity::Explode(Vector3i a_Block)
|
||||
|
||||
|
||||
|
||||
void cFireChargeEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cFireChargeEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
Destroy();
|
||||
Explode(a_HitPos.Floor());
|
||||
@ -41,7 +41,7 @@ void cFireChargeEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_
|
||||
|
||||
|
||||
|
||||
void cFireChargeEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cFireChargeEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
super::OnHitEntity(a_EntityHit, a_HitPos);
|
||||
|
||||
|
@ -35,8 +35,8 @@ protected:
|
||||
void Explode(Vector3i a_Block);
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
|
||||
} ; // tolua_export
|
||||
|
||||
|
@ -28,7 +28,7 @@ void cGhastFireballEntity::Explode(Vector3i a_Block)
|
||||
|
||||
|
||||
|
||||
void cGhastFireballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cGhastFireballEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
Destroy();
|
||||
Explode(a_HitPos.Floor());
|
||||
@ -38,7 +38,7 @@ void cGhastFireballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace
|
||||
|
||||
|
||||
|
||||
void cGhastFireballEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cGhastFireballEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
Destroy();
|
||||
Explode(a_HitPos.Floor());
|
||||
|
@ -35,8 +35,8 @@ protected:
|
||||
void Explode(Vector3i a_Block);
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
|
||||
// TODO: Deflecting the fireballs by arrow- or sword- hits
|
||||
|
||||
|
@ -300,7 +300,7 @@ std::unique_ptr<cProjectileEntity> cProjectileEntity::Create(eKind a_Kind, cEnti
|
||||
|
||||
|
||||
|
||||
void cProjectileEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cProjectileEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
// Set the position based on what face was hit:
|
||||
SetPosition(a_HitPos);
|
||||
@ -320,7 +320,7 @@ void cProjectileEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_
|
||||
|
||||
|
||||
|
||||
void cProjectileEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cProjectileEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
UNUSED(a_HitPos);
|
||||
|
||||
|
@ -49,10 +49,10 @@ public:
|
||||
static std::unique_ptr<cProjectileEntity> Create(eKind a_Kind, cEntity * a_Creator, double a_X, double a_Y, double a_Z, const cItem * a_Item, const Vector3d * a_Speed = nullptr);
|
||||
|
||||
/** Called by the physics blocktracer when the entity hits a solid block, the hit position and the face hit (BLOCK_FACE_) is given */
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace);
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace);
|
||||
|
||||
/** Called by the physics blocktracer when the entity hits another entity */
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos);
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos);
|
||||
|
||||
/** Called by Chunk when the projectile is eligible for player collection */
|
||||
virtual void CollectedBy(cPlayer & a_Dest);
|
||||
|
@ -28,7 +28,7 @@ public:
|
||||
@param a_HitPos The position where the splash potion has splashed
|
||||
@param a_EntityEffectType The effect type of the potion
|
||||
@param a_EntityEffect The effect description */
|
||||
cSplashPotionCallback(const Vector3d & a_HitPos, cEntityEffect::eType a_EntityEffectType, const cEntityEffect & a_EntityEffect) :
|
||||
cSplashPotionCallback(Vector3d a_HitPos, cEntityEffect::eType a_EntityEffectType, const cEntityEffect & a_EntityEffect) :
|
||||
m_HitPos(a_HitPos),
|
||||
m_EntityEffectType(a_EntityEffectType),
|
||||
m_EntityEffect(a_EntityEffect)
|
||||
@ -61,7 +61,7 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
const Vector3d & m_HitPos;
|
||||
Vector3d m_HitPos;
|
||||
cEntityEffect::eType m_EntityEffectType;
|
||||
const cEntityEffect & m_EntityEffect;
|
||||
};
|
||||
@ -96,7 +96,7 @@ cSplashPotionEntity::cSplashPotionEntity(
|
||||
|
||||
|
||||
|
||||
void cSplashPotionEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cSplashPotionEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
Splash(a_HitPos);
|
||||
m_DestroyTimer = 2;
|
||||
@ -106,7 +106,7 @@ void cSplashPotionEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace
|
||||
|
||||
|
||||
|
||||
void cSplashPotionEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cSplashPotionEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
a_EntityHit.TakeDamage(dtRangedAttack, this, 0, 1);
|
||||
Splash(a_HitPos);
|
||||
@ -117,7 +117,7 @@ void cSplashPotionEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_
|
||||
|
||||
|
||||
|
||||
void cSplashPotionEntity::Splash(const Vector3d & a_HitPos)
|
||||
void cSplashPotionEntity::Splash(Vector3d a_HitPos)
|
||||
{
|
||||
cSplashPotionCallback Callback(a_HitPos, m_EntityEffectType, m_EntityEffect);
|
||||
m_World->ForEachEntity(Callback);
|
||||
|
@ -60,8 +60,8 @@ protected:
|
||||
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity (cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity (cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override
|
||||
{
|
||||
if (m_DestroyTimer > 0)
|
||||
@ -81,7 +81,7 @@ protected:
|
||||
|
||||
/** Splashes the potion, fires its particle effects and sounds
|
||||
@param a_HitPos The position where the potion will splash */
|
||||
void Splash(const Vector3d & a_HitPos);
|
||||
void Splash(Vector3d a_HitPos);
|
||||
|
||||
virtual void SpawnOn(cClientHandle & a_Client) override;
|
||||
|
||||
|
@ -8,19 +8,7 @@
|
||||
|
||||
|
||||
|
||||
cTNTEntity::cTNTEntity(double a_X, double a_Y, double a_Z, int a_FuseTicks) :
|
||||
super(etTNT, a_X, a_Y, a_Z, 0.98, 0.98),
|
||||
m_FuseTicks(a_FuseTicks)
|
||||
{
|
||||
SetGravity(-16.0f);
|
||||
SetAirDrag(0.02f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
cTNTEntity::cTNTEntity(const Vector3d & a_Pos, int a_FuseTicks) :
|
||||
cTNTEntity::cTNTEntity(Vector3d a_Pos, int a_FuseTicks) :
|
||||
super(etTNT, a_Pos.x, a_Pos.y, a_Pos.z, 0.98, 0.98),
|
||||
m_FuseTicks(a_FuseTicks)
|
||||
{
|
||||
|
@ -16,8 +16,7 @@ public:
|
||||
// tolua_end
|
||||
CLASS_PROTODEF(cTNTEntity)
|
||||
|
||||
cTNTEntity(double a_X, double a_Y, double a_Z, int a_FuseTicks = 80);
|
||||
cTNTEntity(const Vector3d & a_Pos, int a_FuseTicks = 80);
|
||||
cTNTEntity(Vector3d a_Pos, int a_FuseTicks = 80);
|
||||
|
||||
// cEntity overrides:
|
||||
virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
|
||||
|
@ -18,7 +18,7 @@ cThrownEggEntity::cThrownEggEntity(cEntity * a_Creator, double a_X, double a_Y,
|
||||
|
||||
|
||||
|
||||
void cThrownEggEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cThrownEggEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
TrySpawnChicken(a_HitPos);
|
||||
|
||||
@ -29,7 +29,7 @@ void cThrownEggEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_H
|
||||
|
||||
|
||||
|
||||
void cThrownEggEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cThrownEggEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
int TotalDamage = 0;
|
||||
// If entity is an Ender Dragon or Ender Crystal, it is damaged.
|
||||
@ -72,7 +72,7 @@ void cThrownEggEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk)
|
||||
|
||||
|
||||
|
||||
void cThrownEggEntity::TrySpawnChicken(const Vector3d & a_HitPos)
|
||||
void cThrownEggEntity::TrySpawnChicken(Vector3d a_HitPos)
|
||||
{
|
||||
auto & Random = GetRandomProvider();
|
||||
if (Random.RandBool(0.125))
|
||||
|
@ -33,12 +33,12 @@ public:
|
||||
protected:
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
||||
|
||||
// Randomly decides whether to spawn a chicken where the egg lands.
|
||||
void TrySpawnChicken(const Vector3d & a_HitPos);
|
||||
void TrySpawnChicken(Vector3d a_HitPos);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -19,7 +19,7 @@ cThrownEnderPearlEntity::cThrownEnderPearlEntity(cEntity * a_Creator, double a_X
|
||||
|
||||
|
||||
|
||||
void cThrownEnderPearlEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cThrownEnderPearlEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
// TODO: Tweak a_HitPos based on block face.
|
||||
TeleportCreator(a_HitPos);
|
||||
@ -31,7 +31,7 @@ void cThrownEnderPearlEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockF
|
||||
|
||||
|
||||
|
||||
void cThrownEnderPearlEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cThrownEnderPearlEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
int TotalDamage = 0;
|
||||
// TODO: If entity is Ender Crystal, destroy it
|
||||
@ -67,7 +67,7 @@ void cThrownEnderPearlEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Ch
|
||||
|
||||
|
||||
|
||||
void cThrownEnderPearlEntity::TeleportCreator(const Vector3d & a_HitPos)
|
||||
void cThrownEnderPearlEntity::TeleportCreator(Vector3d a_HitPos)
|
||||
{
|
||||
if (m_CreatorData.m_Name.empty())
|
||||
{
|
||||
|
@ -33,12 +33,12 @@ public:
|
||||
protected:
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
||||
|
||||
/** Teleports the creator where the ender pearl lands */
|
||||
void TeleportCreator(const Vector3d & a_HitPos);
|
||||
void TeleportCreator(Vector3d a_HitPos);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -18,7 +18,7 @@ cThrownSnowballEntity::cThrownSnowballEntity(cEntity * a_Creator, double a_X, do
|
||||
|
||||
|
||||
|
||||
void cThrownSnowballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cThrownSnowballEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
m_DestroyTimer = 2;
|
||||
}
|
||||
@ -27,7 +27,7 @@ void cThrownSnowballEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFac
|
||||
|
||||
|
||||
|
||||
void cThrownSnowballEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cThrownSnowballEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
super::OnHitEntity(a_EntityHit, a_HitPos);
|
||||
|
||||
|
@ -33,8 +33,8 @@ public:
|
||||
protected:
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override;
|
||||
|
||||
private:
|
||||
|
@ -24,7 +24,7 @@ cWitherSkullEntity::cWitherSkullEntity(cEntity * a_Creator, double a_X, double a
|
||||
|
||||
|
||||
|
||||
void cWitherSkullEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace)
|
||||
void cWitherSkullEntity::OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace)
|
||||
{
|
||||
// TODO: Explode
|
||||
// TODO: Apply wither effect to entities nearby
|
||||
@ -35,7 +35,7 @@ void cWitherSkullEntity::OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a
|
||||
|
||||
|
||||
|
||||
void cWitherSkullEntity::OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos)
|
||||
void cWitherSkullEntity::OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos)
|
||||
{
|
||||
// TODO: If entity is Ender Crystal, destroy it
|
||||
a_EntityHit.TakeDamage(dtRangedAttack, this, 0, 1);
|
||||
|
@ -33,8 +33,8 @@ public:
|
||||
protected:
|
||||
|
||||
// cProjectileEntity overrides:
|
||||
virtual void OnHitSolidBlock(const Vector3d & a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, const Vector3d & a_HitPos) override;
|
||||
virtual void OnHitSolidBlock(Vector3d a_HitPos, eBlockFace a_HitFace) override;
|
||||
virtual void OnHitEntity(cEntity & a_EntityHit, Vector3d a_HitPos) override;
|
||||
|
||||
} ; // tolua_export
|
||||
|
||||
|
@ -95,7 +95,7 @@ public:
|
||||
}
|
||||
|
||||
// Spawn block at water level
|
||||
if (a_World->SpawnBoat(x + 0.5, y + 0.5, z + 0.5, cBoat::ItemToMaterial(a_Player->GetEquippedItem())) == cEntity::INVALID_ID)
|
||||
if (a_World->SpawnBoat(Callbacks.m_Pos + Vector3d(0.5, 0.5, 0.5), cBoat::ItemToMaterial(a_Player->GetEquippedItem())) == cEntity::INVALID_ID)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ public:
|
||||
// Activate the TNT:
|
||||
a_World->BroadcastSoundEffect("entity.tnt.primed", static_cast<double>(a_BlockX), static_cast<double>(a_BlockY), static_cast<double>(a_BlockZ), 1.0f, 1.0f);
|
||||
a_World->SetBlock(a_BlockX, a_BlockY, a_BlockZ, E_BLOCK_AIR, 0);
|
||||
a_World->SpawnPrimedTNT(a_BlockX + 0.5, a_BlockY + 0.5, a_BlockZ + 0.5); // 80 ticks to boom
|
||||
a_World->SpawnPrimedTNT({a_BlockX + 0.5, a_BlockY + 0.5, a_BlockZ + 0.5}); // 80 ticks to boom
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -352,18 +352,18 @@ void cFireSimulator::TrySpreadFire(cChunk * a_Chunk, int a_RelX, int a_RelY, int
|
||||
|
||||
void cFireSimulator::RemoveFuelNeighbors(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ)
|
||||
{
|
||||
for (size_t i = 0; i < ARRAYCOUNT(gNeighborCoords); i++)
|
||||
for (auto & Coord : gNeighborCoords)
|
||||
{
|
||||
BLOCKTYPE BlockType;
|
||||
int X = a_RelX + gNeighborCoords[i].x;
|
||||
int Z = a_RelZ + gNeighborCoords[i].z;
|
||||
int X = a_RelX + Coord.x;
|
||||
int Z = a_RelZ + Coord.z;
|
||||
|
||||
cChunkPtr Neighbour = a_Chunk->GetRelNeighborChunkAdjustCoords(X, Z);
|
||||
if (Neighbour == nullptr)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
BlockType = Neighbour->GetBlock(X, a_RelY + gNeighborCoords[i].y, Z);
|
||||
BlockType = Neighbour->GetBlock(X, a_RelY + Coord.y, Z);
|
||||
|
||||
if (!IsFuel(BlockType))
|
||||
{
|
||||
@ -371,12 +371,12 @@ void cFireSimulator::RemoveFuelNeighbors(cChunk * a_Chunk, int a_RelX, int a_Rel
|
||||
}
|
||||
|
||||
int AbsX = (Neighbour->GetPosX() * cChunkDef::Width) + X;
|
||||
int Y = a_RelY + gNeighborCoords[i].y;
|
||||
int Y = a_RelY + Coord.y;
|
||||
int AbsZ = (Neighbour->GetPosZ() * cChunkDef::Width) + Z;
|
||||
|
||||
if (BlockType == E_BLOCK_TNT)
|
||||
{
|
||||
m_World.SpawnPrimedTNT(AbsX, Y, AbsZ, 0);
|
||||
m_World.SpawnPrimedTNT({static_cast<double>(AbsX), static_cast<double>(Y), static_cast<double>(AbsZ)}, 0);
|
||||
Neighbour->SetBlock(X, Y, Z, E_BLOCK_AIR, 0);
|
||||
return;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ class cCommandBlockHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -24,7 +24,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -33,7 +33,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating commander the cmdblck (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -58,11 +58,11 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());;
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());
|
||||
}
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ class cDoorHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -24,7 +24,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -33,7 +33,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating dori the door (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -47,11 +47,11 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());;
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());
|
||||
}
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -40,7 +40,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -49,7 +49,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating spencer the dropspenser (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
bool IsPoweredNow = (a_PoweringData.PowerLevel > 0);
|
||||
@ -79,7 +79,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -13,7 +13,7 @@ class cNoteBlockHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_World);
|
||||
@ -25,7 +25,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -34,7 +34,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating sparky the magical note block (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, a_PoweringData.PowerLevel);
|
||||
|
||||
@ -60,11 +60,11 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());;
|
||||
return GetAdjustedRelatives(a_Position, GetRelativeAdjacents());
|
||||
}
|
||||
};
|
||||
|
@ -13,7 +13,7 @@ class cPistonHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -24,7 +24,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -33,7 +33,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating pisty the piston (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
auto Data = static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData();
|
||||
@ -72,7 +72,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -30,7 +30,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_QueryBlockType);
|
||||
|
||||
@ -43,14 +43,14 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
return static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData()->GetCachedPowerData(a_Position).PowerLevel;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating tracky the rail (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -13,7 +13,7 @@ class cPressurePlateHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
@ -23,7 +23,7 @@ public:
|
||||
return static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData()->GetCachedPowerData(a_Position).PowerLevel;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_Meta);
|
||||
|
||||
@ -79,7 +79,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
UNUSED(a_PoweringData.PowerLevel);
|
||||
// LOGD("Evaluating clicky the pressure plate (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
@ -96,7 +96,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
|
@ -12,7 +12,7 @@ class cRedstoneBlockHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -22,7 +22,7 @@ public:
|
||||
return cIncrementalRedstoneSimulator::IsMechanism(a_QueryBlockType) ? 15 : 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -31,13 +31,13 @@ public:
|
||||
return 15;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating crimson the redstone block (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
|
@ -13,7 +13,7 @@ class cRedstoneComparatorHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
unsigned char GetFrontPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, unsigned char a_HighestSidePowerLevel, unsigned char a_HighestRearPowerLevel) const
|
||||
unsigned char GetFrontPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, unsigned char a_HighestSidePowerLevel, unsigned char a_HighestRearPowerLevel) const
|
||||
{
|
||||
if (cBlockComparatorHandler::IsInSubtractionMode(a_Meta))
|
||||
{
|
||||
@ -27,7 +27,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_QueryPosition);
|
||||
UNUSED(a_QueryBlockType);
|
||||
@ -39,7 +39,7 @@ public:
|
||||
);
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_Position);
|
||||
UNUSED(a_BlockType);
|
||||
@ -90,7 +90,7 @@ public:
|
||||
return RearPower;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// Note that a_PoweringData here contains the maximum * side * power level, as specified by GetValidSourcePositions
|
||||
// LOGD("Evaluating ALU the comparator (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
@ -134,7 +134,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -54,10 +54,10 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const = 0;
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const = 0;
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const = 0;
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const = 0;
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const = 0;
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const = 0;
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const = 0;
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const = 0;
|
||||
|
||||
// Force a virtual destructor
|
||||
virtual ~cRedstoneHandler() {}
|
||||
|
@ -15,17 +15,17 @@ public:
|
||||
return (a_BlockType == E_BLOCK_REDSTONE_LAMP_ON);
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating lamp (%i %i %i)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -47,7 +47,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Meta);
|
||||
|
@ -18,7 +18,7 @@ public:
|
||||
return (a_Block == E_BLOCK_REDSTONE_REPEATER_ON);
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
return (
|
||||
(a_QueryPosition == (a_Position + cBlockRedstoneRepeaterHandler::GetFrontCoordinateOffset(a_Meta))) ?
|
||||
@ -26,7 +26,7 @@ public:
|
||||
);
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -34,7 +34,7 @@ public:
|
||||
return IsOn(a_BlockType) ? 15 : 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating loopy the repeater (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
auto Data = static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData();
|
||||
@ -65,7 +65,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
return { cBlockRedstoneRepeaterHandler::GetRearCoordinateOffset(a_Meta) + a_Position };
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_QueryBlockType);
|
||||
if ((GetPositionAttachedTo(a_Position, a_BlockType, a_Meta) == a_QueryPosition) || cIncrementalRedstoneSimulator::IsMechanism(a_QueryBlockType))
|
||||
@ -73,7 +73,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -91,13 +91,13 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating templatio<> the lever/button (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
|
@ -16,7 +16,7 @@ public:
|
||||
return (a_Block == E_BLOCK_REDSTONE_TORCH_ON);
|
||||
}
|
||||
|
||||
inline static Vector3i GetOffsetAttachedTo(const Vector3i & a_Position, NIBBLETYPE a_Meta)
|
||||
inline static Vector3i GetOffsetAttachedTo(Vector3i a_Position, NIBBLETYPE a_Meta)
|
||||
{
|
||||
switch (a_Meta)
|
||||
{
|
||||
@ -33,7 +33,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
if (
|
||||
IsOn(a_BlockType) &&
|
||||
@ -46,12 +46,12 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
return IsOn(a_BlockType) ? 15 : 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating torchy the redstone torch (%i %i %i)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -27,7 +27,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
cVector3iArray GetTerracingConnectionOffsets(cWorld & a_World, const Vector3i & a_Position) const
|
||||
cVector3iArray GetTerracingConnectionOffsets(cWorld & a_World, Vector3i a_Position) const
|
||||
{
|
||||
cVector3iArray RelativePositions;
|
||||
auto YPTerraceBlock = a_World.GetBlock(a_Position + OffsetYP());
|
||||
@ -56,7 +56,7 @@ public:
|
||||
return RelativePositions;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
if (a_QueryPosition == (a_Position + OffsetYP()))
|
||||
{
|
||||
@ -100,7 +100,7 @@ public:
|
||||
return (a_Meta != 0) ? --a_Meta : a_Meta;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -108,7 +108,7 @@ public:
|
||||
return a_Meta;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
// LOGD("Evaluating dusty the wire (%d %d %d) %i", a_Position.x, a_Position.y, a_Position.z, a_PoweringData.PowerLevel);
|
||||
@ -122,7 +122,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -12,7 +12,7 @@ class cSmallGateHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -23,7 +23,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -32,7 +32,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating gateydory the fence gate/trapdoor (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
auto Data = static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData();
|
||||
@ -44,7 +44,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -12,7 +12,7 @@ class cSolidBlockHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
// TODO: wire isn't linked powered only if the source was a wire, not just because it is a wire
|
||||
return (
|
||||
@ -24,12 +24,12 @@ public:
|
||||
) ? 0 : GetPowerLevel(a_World, a_Position, a_BlockType, a_Meta);
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
return static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData()->GetCachedPowerData(a_Position).PowerLevel;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
@ -44,7 +44,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -12,7 +12,7 @@ class cTNTHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -23,7 +23,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
@ -32,19 +32,19 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating explodinator the trinitrotoluene (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
if (a_PoweringData.PowerLevel != 0)
|
||||
{
|
||||
a_World.BroadcastSoundEffect("entity.tnt.primed", static_cast<double>(a_Position.x), static_cast<double>(a_Position.y), static_cast<double>(a_Position.z), 0.5f, 0.6f);
|
||||
a_World.SetBlock(a_Position.x, a_Position.y, a_Position.z, E_BLOCK_AIR, 0);
|
||||
a_World.SpawnPrimedTNT(a_Position.x + 0.5, a_Position.y + 0.5, a_Position.z + 0.5); // 80 ticks to boom
|
||||
a_World.SpawnPrimedTNT(a_Position + Vector3d(0.5, 0.5, 0.5)); // 80 ticks to boom
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -13,7 +13,7 @@ class cTrappedChestHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
@ -23,7 +23,7 @@ public:
|
||||
return static_cast<cIncrementalRedstoneSimulator *>(a_World.GetRedstoneSimulator())->GetChunkData()->GetCachedPowerData(a_Position).PowerLevel;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
UNUSED(a_Meta);
|
||||
@ -62,7 +62,7 @@ public:
|
||||
return GTCP.GetPowerLevel();
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating tricky the trapped chest (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -77,7 +77,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_Position);
|
||||
|
@ -13,7 +13,7 @@ class cTripwireHookHandler : public cRedstoneHandler
|
||||
typedef cRedstoneHandler super;
|
||||
public:
|
||||
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, const Vector3i & a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
virtual unsigned char GetPowerDeliveredToPosition(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, Vector3i a_QueryPosition, BLOCKTYPE a_QueryBlockType) const override
|
||||
{
|
||||
UNUSED(a_QueryBlockType);
|
||||
UNUSED(a_QueryPosition);
|
||||
@ -21,7 +21,7 @@ public:
|
||||
return (GetPowerLevel(a_World, a_Position, a_BlockType, a_Meta) == 15) ? 15 : 0;
|
||||
}
|
||||
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual unsigned char GetPowerLevel(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_BlockType);
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual cVector3iArray Update(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
virtual cVector3iArray Update(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta, PoweringData a_PoweringData) const override
|
||||
{
|
||||
// LOGD("Evaluating hooky the tripwire hook (%d %d %d)", a_Position.x, a_Position.y, a_Position.z);
|
||||
|
||||
@ -121,7 +121,7 @@ public:
|
||||
return {};
|
||||
}
|
||||
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, const Vector3i & a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
virtual cVector3iArray GetValidSourcePositions(cWorld & a_World, Vector3i a_Position, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) const override
|
||||
{
|
||||
UNUSED(a_World);
|
||||
UNUSED(a_BlockType);
|
||||
|
@ -2306,9 +2306,9 @@ UInt32 cWorld::SpawnMinecart(double a_X, double a_Y, double a_Z, int a_MinecartT
|
||||
|
||||
|
||||
|
||||
UInt32 cWorld::SpawnBoat(double a_X, double a_Y, double a_Z, cBoat::eMaterial a_Material)
|
||||
UInt32 cWorld::SpawnBoat(Vector3d a_Pos, cBoat::eMaterial a_Material)
|
||||
{
|
||||
auto Boat = cpp14::make_unique<cBoat>(a_X, a_Y, a_Z, a_Material);
|
||||
auto Boat = cpp14::make_unique<cBoat>(a_Pos, a_Material);
|
||||
auto BoatPtr = Boat.get();
|
||||
if (!BoatPtr->Initialize(std::move(Boat), *this))
|
||||
{
|
||||
@ -2320,9 +2320,9 @@ UInt32 cWorld::SpawnBoat(double a_X, double a_Y, double a_Z, cBoat::eMaterial a_
|
||||
|
||||
|
||||
|
||||
UInt32 cWorld::SpawnPrimedTNT(double a_X, double a_Y, double a_Z, int a_FuseTicks, double a_InitialVelocityCoeff)
|
||||
UInt32 cWorld::SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTicks, double a_InitialVelocityCoeff)
|
||||
{
|
||||
auto TNT = cpp14::make_unique<cTNTEntity>(a_X, a_Y, a_Z, a_FuseTicks);
|
||||
auto TNT = cpp14::make_unique<cTNTEntity>(a_Pos, a_FuseTicks);
|
||||
auto TNTPtr = TNT.get();
|
||||
if (!TNTPtr->Initialize(std::move(TNT), *this))
|
||||
{
|
||||
|
18
src/World.h
18
src/World.h
@ -457,18 +457,32 @@ public:
|
||||
Returns the UniqueID of the spawned minecart, or cEntity::INVALID_ID on failure. */
|
||||
UInt32 SpawnMinecart(double a_X, double a_Y, double a_Z, int a_MinecartType, const cItem & a_Content = cItem(), int a_BlockHeight = 1);
|
||||
|
||||
// DEPRECATED, use the vector-parametered version instead.
|
||||
UInt32 SpawnBoat(double a_X, double a_Y, double a_Z, cBoat::eMaterial a_Material)
|
||||
{
|
||||
LOGWARNING("cWorld::SpawnBoat(double, double, double) is deprecated, use cWorld::SpawnBoat(Vector3d) instead.");
|
||||
return SpawnBoat({a_X, a_Y, a_Z}, a_Material);
|
||||
}
|
||||
|
||||
/** Spawns a boat at the given coordinates.
|
||||
Returns the UniqueID of the spawned boat, or cEntity::INVALID_ID on failure. */
|
||||
UInt32 SpawnBoat(double a_X, double a_Y, double a_Z, cBoat::eMaterial a_Material);
|
||||
UInt32 SpawnBoat(Vector3d a_Pos, cBoat::eMaterial a_Material);
|
||||
|
||||
/** Spawns an experience orb at the given location with the given reward.
|
||||
Returns the UniqueID of the spawned experience orb, or cEntity::INVALID_ID on failure. */
|
||||
virtual UInt32 SpawnExperienceOrb(double a_X, double a_Y, double a_Z, int a_Reward) override;
|
||||
|
||||
// DEPRECATED, use the vector-parametered version instead.
|
||||
UInt32 SpawnPrimedTNT(double a_X, double a_Y, double a_Z, int a_FuseTimeInSec = 80, double a_InitialVelocityCoeff = 1)
|
||||
{
|
||||
LOGWARNING("cWorld::SpawnPrimedTNT(double, double, double) is deprecated, use cWorld::SpawnPrimedTNT(Vector3d) instead.");
|
||||
return SpawnPrimedTNT({a_X, a_Y, a_Z}, a_FuseTimeInSec, a_InitialVelocityCoeff);
|
||||
}
|
||||
|
||||
/** Spawns a new primed TNT entity at the specified block coords and specified fuse duration.
|
||||
Initial velocity is given based on the relative coefficient provided.
|
||||
Returns the UniqueID of the created entity, or cEntity::INVALID_ID on failure. */
|
||||
UInt32 SpawnPrimedTNT(double a_X, double a_Y, double a_Z, int a_FuseTimeInSec = 80, double a_InitialVelocityCoeff = 1);
|
||||
UInt32 SpawnPrimedTNT(Vector3d a_Pos, int a_FuseTimeInSec = 80, double a_InitialVelocityCoeff = 1);
|
||||
|
||||
// tolua_end
|
||||
|
||||
|
@ -1661,7 +1661,7 @@ void cWSSAnvil::LoadOldMinecartFromNBT(cEntityList & a_Entities, const cParsedNB
|
||||
|
||||
void cWSSAnvil::LoadBoatFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx)
|
||||
{
|
||||
std::unique_ptr<cBoat> Boat = cpp14::make_unique<cBoat>(0, 0, 0, cBoat::bmOak);
|
||||
std::unique_ptr<cBoat> Boat = cpp14::make_unique<cBoat>(Vector3d(), cBoat::bmOak);
|
||||
if (!LoadEntityBaseFromNBT(*Boat.get(), a_NBT, a_TagIdx))
|
||||
{
|
||||
return;
|
||||
@ -1851,7 +1851,7 @@ void cWSSAnvil::LoadPickupFromNBT(cEntityList & a_Entities, const cParsedNBT & a
|
||||
|
||||
void cWSSAnvil::LoadTNTFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_TagIdx)
|
||||
{
|
||||
std::unique_ptr<cTNTEntity> TNT = cpp14::make_unique<cTNTEntity>(0.0, 0.0, 0.0, 0);
|
||||
std::unique_ptr<cTNTEntity> TNT = cpp14::make_unique<cTNTEntity>(Vector3d(), 0);
|
||||
if (!LoadEntityBaseFromNBT(*TNT.get(), a_NBT, a_TagIdx))
|
||||
{
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user