/******************************************************************** Minecraft: Pocket Edition - Decompilation Project Copyright (C) 2023 iProgramInCpp The following code is licensed under the BSD 1 clause license. SPDX-License-Identifier: BSD-1-Clause ********************************************************************/ #include "MetalTile.hpp" #include "world/level/Level.hpp" #include "client/renderer/PatchManager.hpp" MetalTile::MetalTile(int ID, int texture, Material* pMtl) : Tile(ID, pMtl) { m_TextureFrame = texture; } // @NOTE: I think the MCPE devs were left dumbfounded by this. "Why did notch // overload this function?" Well, fun fact, there used to be top, side and bottom // textures for these tiles. :) int MetalTile::getTexture(int dir) { int yoff = GetPatchManager()->GetMetalSideYOffset(); if (yoff < 0 || m_ID == Tile::lapisBlock->m_ID) return m_TextureFrame; if (dir == DIR_YPOS) return m_TextureFrame; if (dir == DIR_YNEG) return m_TextureFrame + 16 * (yoff + 1); return m_TextureFrame + 16 * (yoff + 0); }