endersoul233
RT,当右键半砖后会在原来的半砖上放一个新的半砖,而不是堆叠成一个完整的方块(如右边的木板)

皖月清风
本帖最后由 皖月清风 于 2021-6-14 22:36 编辑

是否跟站位有关?还有,你错版了
2021 6 14晚22:35
感谢评分人提醒,我错版了(我以为自己在茶馆)

3TUSK
把你的台阶方块的代码贴出来。

endersoul233
本帖最后由 endersoul233 于 2021-6-15 06:05 编辑
3TUSK 发表于 2021-6-15 03:21
把你的台阶方块的代码贴出来。

public class BlockDarknessSlab extends BlockSlab {

    public static final PropertyEnum<CommonV> VARIANT = PropertyEnum.create("variant", CommonV.class);

    private final boolean isDouble;

    public BlockDarknessSlab(boolean isDouble) {
        super(Material.PACKED_ICE);
        this.isDouble = isDouble;
        this.setRegistryName(this.isDouble()?"darkness_slab_double":"darkness_slab");
        this.setUnlocalizedName(this.isDouble()?"darkness_slab_double":"darkness_slab");
        this.setCreativeTab(FinalDevil.finaldevilDarkWorld);
        this.setHardness(2.0F);
        this.setResistance(10.0F);
        this.setLightOpacity(isDouble ? 255 : 0);
        this.setHarvestLevel("axe",1);
        this.useNeighborBrightness = !isDouble;

        IBlockState state = this.blockState.getBaseState().withProperty(VARIANT, CommonV.COMMON);

        if (!this.isDouble()) {
            state = state.withProperty(HALF, EnumBlockHalf.BOTTOM);
            this.setDefaultState(state);
        }else
            this.setDefaultState(state);
    }

    @Override
    protected BlockStateContainer createBlockState() {
        return this.isDouble() ? new BlockStateContainer(this, VARIANT) : new BlockStateContainer(this, VARIANT, HALF);
    }

    @Override
    public String getUnlocalizedName(int meta) {
        return super.getUnlocalizedName();
    }

    @Override
    public boolean isDouble() {
        return isDouble;
    }

    @Override
    public IProperty<?> getVariantProperty() {
        return VARIANT;
    }

    @Override
    public Comparable<?> getTypeForItem(ItemStack stack) {
        return CommonV.COMMON;
    }

    @Override
    public Item getItemDropped(IBlockState state, Random rand, int fortune) {
        return Item.getItemFromBlock(BlockRegistry.darkslab2);
    }

    @Override
    public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) {
        return new ItemStack(Item.getItemFromBlock(BlockRegistry.darkslab2));
    }

    @Override
    protected ItemStack getSilkTouchDrop(IBlockState state) {
        return new ItemStack(Item.getItemFromBlock(BlockRegistry.darkslab2), isDouble() ? 2 : 1, 0);
    }

    @Override
    @Deprecated
    public IBlockState getStateFromMeta(int meta) {
        return this.isDouble() ? this.getDefaultState() : this.getDefaultState().withProperty(HALF, EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]);
    }

    @Override
    public int getMetaFromState(IBlockState state) {
        return state.getValue(HALF).ordinal();
    }

    private enum CommonV implements IStringSerializable {
        COMMON;

        @Override
        public String getName() {
            return name().toLowerCase(Locale.ROOT);
        }
    }
}

3TUSK
endersoul233 发表于 2021-6-15 05:58
public class BlockDarknessSlab extends BlockSlab {

    public static final PropertyEnum VARIANT =  ...

看上去没问题。
但是你的台阶物品是什么?原版有一个名为 ItemSlab 的类专门处理台阶放置的逻辑。看上去你没有用?

a997830666
这个问题难道我了.我去给你查查

第一页 上一页 下一页 最后一页