Bug fixes

This commit is contained in:
piebot
2026-03-26 18:04:55 +03:00
parent d73ae8fd5c
commit 1df2fd42dd
4 changed files with 28 additions and 4 deletions
+22
View File
@@ -7,6 +7,7 @@
#include "net.minecraft.world.entity.player.h"
#include "net.minecraft.world.h"
#include "..\Minecraft.Client\ServerPlayer.h"
#include "net.minecraft.world.phys.h"
const wstring CauldronTile::TEXTURE_INSIDE = L"cauldron_inner";
const wstring CauldronTile::TEXTURE_BOTTOM = L"cauldron_bottom";
@@ -31,6 +32,27 @@ Icon *CauldronTile::getTexture(int face, int data)
return icon;
}
void CauldronTile::entityInside(Level* level, int x, int y, int z, shared_ptr<Entity> entity)
{
if (level->isClientSide) return;
int data = level->getData(x, y, z);
int fillLevel = getFillLevel(data);
double waterSurfaceY = ((3 * fillLevel + 6) * 0.0625) + y;
if (level->isClientSide) return;
if (!entity->isOnFire()) return;
if (fillLevel <= 0) return;
if (entity->bb->y0 <= waterSurfaceY)
{
entity->clearFire();
level->setData(x, y, z, fillLevel - 1, Tile::UPDATE_CLIENTS);
}
}
void CauldronTile::registerIcons(IconRegister *iconRegister)
{
iconInner = iconRegister->registerIcon(L"cauldron_inner");