Не работает кастомный Boundbox

Liahim

Золотая лига
Сообщения
2,867
Лучшие ответы
31
Симпатии
146
#21
ты возвращаешь с 0 а 1 бокс не будет ведь нормально работать надо возвращать и 1 тоже:unsure:
Я для примера написал, чтобы он хоть увидел, как оно должно работать...
По хорошему, для визуального бокса нужно свой ААББ делать... Третий. Который будет единой коробкой вокруг модели.
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#22
Ну ты ему сунул готовое решение как брать первый элемент массива. Он ничего не понимает, ему просто нада штоб работало. Он ведь так и оставит...)
 

tiref

Каменная лига
Сообщения
491
Лучшие ответы
3
Симпатии
11
#23

LeyxorCheysen

Каменная лига
Сообщения
948
Лучшие ответы
18
Симпатии
71
#24
Да нифига, если область столкновений таки работает, то поправить надо куб выделения, и готово-го мне вроде никто не давал, как я тестил с огурцом, ААВВ работает, так как огурец не проходит далье границы модели. Так-что по сути я с тутора ещё правильно сделал и расчитал (но это не точно), позырить только как работает куб выделения на лестнице и делов то.
PS: а чего вы такой шухер тут развели то? Что за разборки учителей?
 

LeyxorCheysen

Каменная лига
Сообщения
948
Лучшие ответы
18
Симпатии
71
#26
Ну почти)
2018-11-09_18.01.12.png
 

tiref

Каменная лига
Сообщения
491
Лучшие ответы
3
Симпатии
11
#27
@LeyxorCheysen ты этот код взял? Если да то возвращай не только с 0 но и с еденицей
Java:
public AxisAlignedBB getBoundingBox(IBlockState blockState, IBlockAccess source, BlockPos position) {
      return SACRED_PLATE_AABB[0];
}
 

LeyxorCheysen

Каменная лига
Сообщения
948
Лучшие ответы
18
Симпатии
71
#28

LeyxorCheysen

Каменная лига
Сообщения
948
Лучшие ответы
18
Симпатии
71
#29
Всё, довёл до ума, всё работает как задумывалось.
SacredPlate.java:
public class BlockSacredPlate extends Block {
    
    public static final float HARDNESS = 5.0F;
    public static final String TOOL_CLASS = "pickaxe";
    public static final int TOOL_LEVEL = 3;
    public static final float LIGHT_LEVEL = 7.0F;
    public static final String REGISTRY_NAME = "sacred_plate";
    public static final float RESISTANCE = 50.0F;
    public static final String LOCALIZATION_KEY = ExcaliburCraft.MOD_ID + "." + BlockSacredPlate.REGISTRY_NAME;
    
    protected static final double AABB0 = 0.0D;
    protected static final double AABB2 = 0.125D;
    protected static final double AABB7= 0.4375D;
    protected static final double AABB9 = 0.5625D;
    protected static final double AABB12 = 0.75D;
    protected static final double AABB14 = 0.875D;

    public BlockSacredPlate() {
        
        super(Material.IRON);
        
        this.setCreativeTab(ExcaliburCraft.EXCALIBUR_CRAFT);
        this.setHardness(HARDNESS);
        this.setHarvestLevel(TOOL_CLASS, TOOL_LEVEL);
        this.setLightLevel(LIGHT_LEVEL);
        this.setRegistryName(REGISTRY_NAME);
        this.setResistance(RESISTANCE);
        this.setSoundType(SoundType.METAL);
        this.setUnlocalizedName(LOCALIZATION_KEY);
        
    }
    
    @Override
    public boolean isOpaqueCube(IBlockState state) {
        
        return false;
        
    }
    
    @Override 
    public boolean isFullCube(IBlockState state) {   
        
        return false; 
        
    }
    
    protected static final AxisAlignedBB[] SACRED_PLATE_AABB = new AxisAlignedBB[] {
            
            new AxisAlignedBB(AABB2, AABB0, AABB7, AABB14, AABB14, AABB9)
            
        };
    
    @Override
    public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean isActualState) {
        
        addCollisionBoxToList(pos, entityBox, collidingBoxes, SACRED_PLATE_AABB[0]);
        
    }

    public AxisAlignedBB getBoundingBox(IBlockState blockState, IBlockAccess source, BlockPos position) {

        return SACRED_PLATE_AABB[0];
        
    }

}
2018-11-19_18.26.42.png
 
Сверху