Ограничение уровня сбора блоков Minecraft

#java #minecraft

#java #Minecraft

Вопрос:

Я кодирую мод для minecraft, и я пытаюсь заставить мой блок сбрасывать добычу только при добыче с уровнем сбора 2 или более (железо или выше). Я установил свой уровень сбора урожая на 2, но все еще могу добывать его своим кулаком. Почему это? Вот мой код для блока.

 import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.ToolType;

public class RubyBlock extends Block {
public RubyBlock(){
 super(Properties.create(Material.IRON)
    .hardnessAndResistance(5.0f,6.0f)
     .sound(SoundType.METAL)
     .harvestLevel(2)


            .harvestTool(ToolType.PICKAXE)






    );

}

}
  

Комментарии:

1. Привет! К сожалению, подобные вопросы не очень подходят для SO. У нас есть много отличных программистов, которые могут ответить на вопросы java, но вопрос, подобный этому, касается Minecraft API, а не java. Вы получили бы гораздо лучшие и быстрые ответы на форуме по моддингу Minecraft.

2. Как упоминал Chalie, об этом лучше всего спрашивать на форуме модов Minecraft. Но на всякий случай, если кто-то может помочь, какой API вы используете? Я не вижу какой-либо очевидной проблемы с этим кодом, но как RubyBlocks добавляются в мир?

3. Они добавляются через обработчик реестра.

Ответ №1:

У меня была та же проблема, что и у вас, и после краткого поиска в Google я нашел этот пост в forge forms https://forums.minecraftforge.net/topic/87845-solved-bug-fixed-harvest-level-just-straight-up-not-working/

По-видимому, вам нужно добавить .func_235861_h_() после установки уровня сбора и инструмента для перезагрузки с новой информацией.

 import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.ToolType;

public class RubyBlock extends Block {
  public RubyBlock(){
    super(Properties.create(Material.IRON)
      .hardnessAndResistance(5.0f,6.0f)
      .sound(SoundType.METAL)
      .harvestLevel(2)
      .harvestTool(ToolType.PICKAXE)
      .func_235861_h_()


    );

  }

}