- 344
- 1
- 47
Делаю блок с OBJ моделью.
Есть вопрос, каким образом можно сделать его поворот, когда он располагается в мире? Полазал, был один вариант, но не сработал. х) желательно с полным кодом.
Есть вопрос, каким образом можно сделать его поворот, когда он располагается в мире? Полазал, был один вариант, но не сработал. х) желательно с полным кодом.
сам блок:
package erumind.init.blocks;
import java.util.Random;
import com.google.common.collect.Lists;
import erumind.engine_settings;
import erumind.init.ModItems;
import java.util.List;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.property.*;
import net.minecraftforge.fml.relauncher.*;
import net.minecraft.block.*;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.*;
import net.minecraft.util.*;
import net.minecraft.world.IBlockAccess; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ModelBlock extends BlockBase {
protected static final AxisAlignedBB BLOCK_TOP = new AxisAlignedBB(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F);
public ModelBlock(String name, Material material) {
super(name, Material.BARRIER);
setUnlocalizedName(engine_settings.MOD_ID + ".model1");
setHardness(5.0F);
setLightLevel(1.0F);
}
/*@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase user, ItemStack stack)
{
super.onBlockPlacedBy(world, pos, state, user,stack);
int dir = user.getHorizontalFacing().getHorizontalIndex();
world.setBlockState(pos, getStateFromMeta(dir), 2);
}*/
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side) {return false;}
@Override
public boolean isBlockNormalCube(IBlockState blockState) {return false;}
@Override
public boolean isOpaqueCube(IBlockState blockState) {return false;}
@Override
public boolean isFullCube(IBlockState state) {return false;}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { return BLOCK_TOP; }
@Override
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox,
List<AxisAlignedBB> collidingBoxes, Entity entityIn, boolean p_185477_7_) { addCollisionBoxToList(pos, entityBox, collidingBoxes, BLOCK_TOP);}
}
config:
{
"forge_marker": 1,
"defaults": {
"custom": { "flip-v": true },
"model": "tm:model1.obj"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}
