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
This commit is contained in:
Tranqlmao
2026-07-07 15:07:01 -04:00
parent 9bbd4b3e90
commit d1bf3952cd
8 changed files with 38 additions and 20 deletions
+1
View File
@@ -17,6 +17,7 @@ class BiomeDecorator
friend class SavannaBiome;
friend class JungleBiome;
friend class FlowerForestBiome;
friend class MesaBiome;
protected:
Level *level;
Random *random;
+4 -1
View File
@@ -206,7 +206,10 @@ float Guardian::getSpikesAnimation(float partialTicks)
void Guardian::dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel)
{
//loot (prismarine, sponge)
if (isElder())
{
spawnAtLocation(make_shared<ItemInstance>(Tile::sponge_Id, 1, 0), 0.0f);
}
}
float Guardian::getEyeHeight()
+1
View File
@@ -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));
}
+7
View File
@@ -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)
+6 -1
View File
@@ -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<AgableMob> Pig::getBreedOffspring(shared_ptr<AgableMob> target)
bool Pig::isFood(shared_ptr<ItemInstance> 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()
@@ -29,6 +29,5 @@ bool UntouchingEnchantment::isCompatibleWith(Enchantment *other) const
bool UntouchingEnchantment::canEnchant(shared_ptr<ItemInstance> item)
{
if (item->getItem()->id == Item::shears_Id) return true;
return Enchantment::canEnchant(item);
}