本帖最后由 endcity 于 2021-8-13 16:58 编辑
方块setSoundType时报错:'setSoundType(net.minecraft.block.SoundType)' has protected access in 'net.minecraft.block.Block'
全部代码:
复制代码
方块setSoundType时报错:'setSoundType(net.minecraft.block.SoundType)' has protected access in 'net.minecraft.block.Block'
全部代码:
- package block;
- import net.minecraft.block.Block;
- import net.minecraft.block.SoundType;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.renderer.block.model.ModelResourceLocation;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemBlock;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.EnumHand;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import net.minecraftforge.client.event.ModelRegistryEvent;
- import net.minecraftforge.client.model.ModelLoader;
- import net.minecraftforge.event.RegistryEvent;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.relauncher.Side;
- import static item.CreativeTab.THE_FORGOTTEN;
- @Mod.EventBusSubscriber(value = Side.CLIENT,modid = "the_forgotten")
- public class mysterious_stone {
- public static Block Mysterious_Stone;
- @SubscribeEvent
- public static void registerBlock(RegistryEvent.Register<Block> event) {
- event.getRegistry().register(
- Mysterious_Stone = new Block(Material.ROCK)
- .setCreativeTab(THE_FORGOTTEN)
- .setUnlocalizedName("the_forgotten.Mysterious_Stone")
- .setRegistryName("the_forgotten:mysterious_stone")
- .setHardness(1.5f)
- .setResistance(10.0f)
- .setSoundType(SoundType.STONE)
- .setHarvestLevel("pickaxe",0)
- );
- }
- @SubscribeEvent
- public static void registerItems(RegistryEvent.Register<Item> event) {
- event.getRegistry().register(
- new ItemBlock(Mysterious_Stone).setRegistryName("the_forgotten:mysterious_stone")
- );
- }
- @Mod.EventBusSubscriber(value = Side.CLIENT,modid = "the_forgotten")
- public static final class ModelMapper {
- @SubscribeEvent
- public static void onModelReg(ModelRegistryEvent event) {
- ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(Mysterious_Stone), 0, new ModelResourceLocation(Mysterious_Stone.getRegistryName(), "inventory"));
- }
- }
- public void onBlockHarvested(EntityPlayer player) {
- ItemStack stack = player.getHeldItem(EnumHand.MAIN_HAND);
- stack.damageItem(2, player);
- }
- }
你中间的代码点之前不需要加东西吗?这样写不是错的吗?setSoundType翻译过来是设置声音类型,不过这个不需要新建一个ItemStack吗?只有有了对象才能设置声音类型,这个声音类型是方块被破坏产生的声音?