From d1bf3952cda245b113a0243fb5175dec6514ebbc Mon Sep 17 00:00:00 2001 From: Tranqlmao <110073921+Tranqlmao@users.noreply.github.com> Date: Tue, 7 Jul 2026 15:07:01 -0400 Subject: [PATCH] TU43 Release 3 + Gameplay changes Stained clay renamed to "Hardened Clay" (e.g. White Hardened Clay) Gold ore now generates in mesa biomes between Y=32 and Y=79 Shears can no longer be enchanted with Silk Touch Pigs can be led/bred with potatoes and beetroots (in addition to carrots) Elder Guardians now drop dry sponges instead of wet sponges Endermen now spawn in the Nether --- .../Windows64Media/loc/stringsGeneric.xml | 34 +++++++++---------- Minecraft.Server/cmake/sources/Common.cmake | 2 ++ Minecraft.World/BiomeDecorator.h | 1 + Minecraft.World/Guardian.cpp | 5 ++- Minecraft.World/HellBiome.cpp | 1 + Minecraft.World/MesaBiome.cpp | 7 ++++ Minecraft.World/Pig.cpp | 7 +++- Minecraft.World/UntouchingEnchantment.cpp | 1 - 8 files changed, 38 insertions(+), 20 deletions(-) diff --git a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml index 13867127..7121162b 100644 --- a/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml +++ b/Minecraft.Client/Windows64Media/loc/stringsGeneric.xml @@ -3712,7 +3712,7 @@ Can also be used for low-level lighting. - Stained Clay + Hardened Clay @@ -3728,67 +3728,67 @@ Can also be used for low-level lighting. - Black Stained Clay + Black Hardened Clay - Red Stained Clay + Red Hardened Clay - Green Stained Clay + Green Hardened Clay - Brown Stained Clay + Brown Hardened Clay - Blue Stained Clay + Blue Hardened Clay - Purple Stained Clay + Purple Hardened Clay - Cyan Stained Clay + Cyan Hardened Clay - Light Gray Stained Clay + Light Gray Hardened Clay - Gray Stained Clay + Gray Hardened Clay - Pink Stained Clay + Pink Hardened Clay - Lime Stained Clay + Lime Hardened Clay - Yellow Stained Clay + Yellow Hardened Clay - Light Blue Stained Clay + Light Blue Hardened Clay - Magenta Stained Clay + Magenta Hardened Clay - Orange Stained Clay + Orange Hardened Clay - White Stained Clay + White Hardened Clay diff --git a/Minecraft.Server/cmake/sources/Common.cmake b/Minecraft.Server/cmake/sources/Common.cmake index 1dd26941..b6497ca4 100644 --- a/Minecraft.Server/cmake/sources/Common.cmake +++ b/Minecraft.Server/cmake/sources/Common.cmake @@ -413,6 +413,8 @@ set(_MINECRAFT_SERVER_COMMON_ROOT "${_MS_SRC}/../Minecraft.Client/QuadrupedModel.cpp" "${_MS_SRC}/../Minecraft.Client/RabbitModel.cpp" "${_MS_SRC}/../Minecraft.Client/RabbitRenderer.cpp" + "${_MS_SRC}/../Minecraft.Client/PolarBearModel.cpp" + "${_MS_SRC}/../Minecraft.Client/PolarBearRenderer.cpp" "${_MS_SRC}/../Minecraft.Client/Rect2i.cpp" "${_MS_SRC}/../Minecraft.Client/RedDustParticle.cpp" "${_MS_SRC}/../Minecraft.Client/RemotePlayer.cpp" diff --git a/Minecraft.World/BiomeDecorator.h b/Minecraft.World/BiomeDecorator.h index 2c7e9404..4502fa93 100644 --- a/Minecraft.World/BiomeDecorator.h +++ b/Minecraft.World/BiomeDecorator.h @@ -17,6 +17,7 @@ class BiomeDecorator friend class SavannaBiome; friend class JungleBiome; friend class FlowerForestBiome; + friend class MesaBiome; protected: Level *level; Random *random; diff --git a/Minecraft.World/Guardian.cpp b/Minecraft.World/Guardian.cpp index 59cd023a..b7ed612b 100644 --- a/Minecraft.World/Guardian.cpp +++ b/Minecraft.World/Guardian.cpp @@ -206,7 +206,10 @@ float Guardian::getSpikesAnimation(float partialTicks) void Guardian::dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel) { - //loot (prismarine, sponge) + if (isElder()) + { + spawnAtLocation(make_shared(Tile::sponge_Id, 1, 0), 0.0f); + } } float Guardian::getEyeHeight() diff --git a/Minecraft.World/HellBiome.cpp b/Minecraft.World/HellBiome.cpp index 865b21d7..ca49d79f 100644 --- a/Minecraft.World/HellBiome.cpp +++ b/Minecraft.World/HellBiome.cpp @@ -15,4 +15,5 @@ HellBiome::HellBiome(int id) : Biome(id) enemies.push_back(new MobSpawnerData(eTYPE_PIGZOMBIE, 100, 4, 4)); enemies.push_back(new MobSpawnerData(eTYPE_LAVASLIME, 1, 4, 4)); enemies.push_back(new MobSpawnerData(eTYPE_SKELETON, 1, 4, 4)); + enemies.push_back(new MobSpawnerData(eTYPE_ENDERMAN, 1, 1, 4)); } \ No newline at end of file diff --git a/Minecraft.World/MesaBiome.cpp b/Minecraft.World/MesaBiome.cpp index 9e8eda19..dc4fa951 100644 --- a/Minecraft.World/MesaBiome.cpp +++ b/Minecraft.World/MesaBiome.cpp @@ -182,6 +182,13 @@ BandEntry MesaBiome::getBand(int x, int y, int z) void MesaBiome::decorate(Level* level, Random* random, int xo, int zo) { Biome::decorate(level, random, xo, zo); + decorator->level = level; + decorator->random = random; + decorator->xo = xo; + decorator->zo = zo; + decorator->decorateDepthSpan(20, decorator->goldOreFeature, 32, 80); + decorator->level = nullptr; + decorator->random = nullptr; } Feature* MesaBiome::getTreeFeature(Random* random) diff --git a/Minecraft.World/Pig.cpp b/Minecraft.World/Pig.cpp index 38af8cab..03c9a5da 100644 --- a/Minecraft.World/Pig.cpp +++ b/Minecraft.World/Pig.cpp @@ -36,6 +36,8 @@ Pig::Pig(Level *level) : Animal( level ) goalSelector.addGoal(3, new BreedGoal(this, 1.0)); goalSelector.addGoal(4, new TemptGoal(this, 1.2, Item::carrot_on_a_stick_Id, false)); goalSelector.addGoal(4, new TemptGoal(this, 1.2, Item::carrot_Id, false)); + goalSelector.addGoal(4, new TemptGoal(this, 1.2, Item::potato_Id, false)); + goalSelector.addGoal(4, new TemptGoal(this, 1.2, Item::beetroot_Id, false)); goalSelector.addGoal(5, new FollowParentGoal(this, 1.1)); goalSelector.addGoal(6, new RandomStrollGoal(this, 1.0)); goalSelector.addGoal(7, new LookAtPlayerGoal(this, typeid(Player), 6)); @@ -199,7 +201,10 @@ shared_ptr Pig::getBreedOffspring(shared_ptr target) bool Pig::isFood(shared_ptr itemInstance) { - return itemInstance != nullptr && itemInstance->id == Item::carrot_Id; + if (itemInstance == nullptr) return false; + return itemInstance->id == Item::carrot_Id + || itemInstance->id == Item::potato_Id + || itemInstance->id == Item::beetroot_Id; } ControlledByPlayerGoal *Pig::getControlGoal() diff --git a/Minecraft.World/UntouchingEnchantment.cpp b/Minecraft.World/UntouchingEnchantment.cpp index 1e5a41b7..30f92c3d 100644 --- a/Minecraft.World/UntouchingEnchantment.cpp +++ b/Minecraft.World/UntouchingEnchantment.cpp @@ -29,6 +29,5 @@ bool UntouchingEnchantment::isCompatibleWith(Enchantment *other) const bool UntouchingEnchantment::canEnchant(shared_ptr item) { - if (item->getItem()->id == Item::shears_Id) return true; return Enchantment::canEnchant(item); } \ No newline at end of file