diff --git a/Minecraft.World/BiomeInitLayer.cpp b/Minecraft.World/BiomeInitLayer.cpp index 6cf0a853..648cf6ed 100644 --- a/Minecraft.World/BiomeInitLayer.cpp +++ b/Minecraft.World/BiomeInitLayer.cpp @@ -22,7 +22,7 @@ BiomeInitLayer::BiomeInitLayer(int64_t seed, shared_ptrparent, LevelType { // Only use biomes that are actually initialized in Biome::staticCtor() // to avoid null pointer crashes during world generation. - startBiomes = BiomeArray(15); + startBiomes = BiomeArray(14); startBiomes[0] = Biome::desert; startBiomes[1] = Biome::forest; startBiomes[2] = Biome::extremeHills; @@ -37,7 +37,7 @@ BiomeInitLayer::BiomeInitLayer(int64_t seed, shared_ptrparent, LevelType startBiomes[11] = Biome::sunflowersPlains; startBiomes[12] = Biome::coldTaiga; startBiomes[13] = Biome::megaTaiga; - startBiomes[14] = Biome::iceSpikes; + //startBiomes[14] = Biome::iceSpikes; } } diff --git a/Minecraft.World/FishFoodItem.cpp b/Minecraft.World/FishFoodItem.cpp index 583ad35f..bbcacc92 100644 --- a/Minecraft.World/FishFoodItem.cpp +++ b/Minecraft.World/FishFoodItem.cpp @@ -9,7 +9,7 @@ #include "FishFoodItem.h" const unsigned int FishFoodItem::NAMES[FISH_COUNT] = { IDS_ITEM_FISH_RAW, IDS_ITEM_SALMON_RAW, IDS_ITEM_CLOWNFISH, IDS_ITEM_PUFFERFISH }; -const unsigned int FishFoodItem::COOKED_NAMES[FISH_COUNT] = { IDS_DESC_FISH_COOKED, IDS_ITEM_SALMON_COOKED, NULL, NULL }; +const unsigned int FishFoodItem::COOKED_NAMES[FISH_COUNT] = { IDS_ITEM_FISH_COOKED, IDS_ITEM_SALMON_COOKED, NULL, NULL }; const unsigned int FishFoodItem::DESCRIPTIONS[FISH_COUNT] = { IDS_DESC_FISH_RAW, IDS_DESC_SALMON_RAW, IDS_DESC_CLOWNFISH, IDS_DESC_PUFFERFISH }; const unsigned int FishFoodItem::COOKED_DESCRIPTIONS[FISH_COUNT] = { IDS_DESC_FISH_COOKED, IDS_DESC_SALMON_COOKED, NULL, NULL }; diff --git a/Minecraft.World/MobEffect.cpp b/Minecraft.World/MobEffect.cpp index 4ded9c41..18a345aa 100644 --- a/Minecraft.World/MobEffect.cpp +++ b/Minecraft.World/MobEffect.cpp @@ -137,9 +137,12 @@ void MobEffect::applyEffectTick(shared_ptr mob, int amplification) } else if (id == poison->id) { - if (mob->getHealth() > 1) + float health = mob->getHealth(); + if (health > 1.0f) { - mob->hurt(DamageSource::magic, 1); + float safeDmg = health - 1.0f; + if (safeDmg > 0.0f) + mob->hurt(DamageSource::magic, safeDmg); } } else if (id == wither->id) diff --git a/Minecraft.World/PrimedTnt.cpp b/Minecraft.World/PrimedTnt.cpp index 39b3ea73..51ce81d7 100644 --- a/Minecraft.World/PrimedTnt.cpp +++ b/Minecraft.World/PrimedTnt.cpp @@ -66,12 +66,35 @@ void PrimedTnt::tick() xo = x; yo = y; zo = z; + this->updateInWaterState(); + bool inWater = this->isInWater() || this->isInLava(); + + + if (inWater) + { + yd -= 0.0392f; + } + else + { + yd -= 0.04f; + } + + move(xd, yd, zd); + + + if (inWater) + { + xd *= 0.8f; + yd *= 0.8f; + zd *= 0.8f; + } + else + { + xd *= 0.98f; + yd *= 0.98f; + zd *= 0.98f; + } - yd -= 0.04f; - move(xd, yd, zd); - xd *= 0.98f; - yd *= 0.98f; - zd *= 0.98f; if (onGround) {