Версия Minecraft
1.12.2
API
Forge
40
4
4
Сделал генерацию деревьев и не работает часть кода с условием, которое отвечает за выпадание саженца данного дерева при уничтожении листьев, хоть вроде как должно работать. Вместо нужного саженца выпадает дефолтное ванильное, условие по логике истинно, но срабатывает только ложное (в инициализации блок называется "dead_leaves" и при выводе в консоль значения переменной выдаёт "dead").

BlockLeafBase:
public static String type;
    
    public BlockLeafBase(String name)
    {
        type = name.replaceAll("_leaves", "").trim();
        System.out.println(type);
        
        setUnlocalizedName(name);
        setRegistryName(name);
        setSoundType(SoundType.PLANT);
        setCreativeTab(PostWorld.postworldtab);
        setDefaultState(this.blockState.getBaseState().withProperty(CHECK_DECAY, Boolean.valueOf(true)).withProperty(DECAYABLE, Boolean.valueOf(true)));
                
        BlockInit.BLOCKS.add(this);
        ItemInit.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
    }
    
    @Override
    public Item getItemDropped(IBlockState state, Random rand, int fortune)
    {
        System.out.println(type);
        if(type == "dead") return Item.getItemFromBlock(BlockInit.DEADTREE_SAPLINGS);
        else return Item.getItemFromBlock(Blocks.SAPLING);
    }
 
Сверху