Много гуглил, пытался сделать сам, декомпилировал, тырил код, но находил только такой код:
Который поворачивает блок задницей к игроку, но мне нужно лицом, при чём я совершенно не могу понять КАКОГО ХРЕНА ИМЕННО ТАКОЙ ПРИМЕР?
Находил ещё много разнообразного кода для моделей, версии 1.7.2 или просто нерабочего кода, вопрос как же всё таки повернуть блок ЛИЦОМ к игроку? ВАРНИНГ! Автор нуб-нуб-нуб-нуб-нуб в моддинге, так что плз не обсирать то что я не могу в каком-то одном месте изменить 4 на 3 и всё будет норм. :lol:
Код блока:
Код:
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack is)
{
int i1 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
world.setBlock(x, y, z, this.blockID, i1, 3);
}
Код:
(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3
Код блока:
Код:
package assets.СИКРЕТ.blocks.reactor.units;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import assets.СИКРЕТ.src.СИКРЕТ;
import assets.СИКРЕТ.src.ModInfo;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class СИКРЕТ extends Block
{
private Icon front, side, top, bottom;
public СИКРЕТ(int par1)
{
super(par1, Material.iron);
this.setCreativeTab(СИКРЕТ.СИКРЕТ);
this.setHardness(3.5F);
this.setResistance(90.0F);
}
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack is)
{
int i1 = MathHelper.floor_double((double)(entity.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
world.setBlock(x, y, z, this.blockID, i1, 3);
}
public boolean isOpaqueCube()
{
return false;
}
public boolean renderAsNormalBlock()
{
return false;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister register)
{
front = register.registerIcon(ModInfo.MODID + ":СИКРЕТ");
bottom = register.registerIcon(ModInfo.MODID + ":ReactorWallFrame");
side = register.registerIcon(ModInfo.MODID + ":ReactorWallFrame");
top = register.registerIcon(ModInfo.MODID + ":ReactorWallFrame");
}
public int getRenderBlockPass()
{
return 1;
}
@Override
public Icon getIcon(int side, int meta)
{
return side == 1 ? this.top : (side == 0 ? this.bottom : (meta == 2 && side == 2 ? this.front : (meta == 3 && side == 5 ? this.front : (meta == 0 && side == 3 ? this.front : (meta == 1 && side == 4 ? this.front : this.side)))));
}
}