提供: Minecraft Modding Wiki
(ページの作成:「public class ExampleMod { public static final Identifier SAMPLE_SOUND_ID = new Identifier(MOD_ID":sample_sound") public static SoundEvent SAMPLE_SOUND_EVENT = new…」) |
(→ソースコード) |
||
(同じ利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
− | public class | + | {{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} |
− | public static final Identifier SAMPLE_SOUND_ID = new Identifier( | + | {{チュートリアル難易度|difficulty=0|clear=none}} |
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <p>再生できるサウンドの追加方法</p> | ||
+ | ==サウンドの追加== | ||
+ | ===外部サイト=== | ||
+ | [https://minecraft-ja.gamepedia.com/Sounds.json Sounds.jsonの書き方(Minecraft公式Wiki)] | ||
+ | ===ソースコード=== | ||
+ | |||
+ | *SampleMod.java | ||
+ | <source lang = "java"> | ||
+ | package com.example.sound; | ||
+ | |||
+ | import net.fabricmc.api.ModInitializer; | ||
+ | import net.minecraft.sound.SoundEvent; | ||
+ | import net.minecraft.util.Identifier; | ||
+ | import net.minecraft.util.registry.Registry; | ||
+ | |||
+ | public class SampleMod implements ModInitializer { | ||
+ | public static final Identifier SAMPLE_SOUND_ID = new Identifier("samplemod:sample_sound") | ||
public static SoundEvent SAMPLE_SOUND_EVENT = new SoundEvent(SAMPLE_SOUND_ID); | public static SoundEvent SAMPLE_SOUND_EVENT = new SoundEvent(SAMPLE_SOUND_ID); | ||
@Override | @Override | ||
public void onInitialize(){ | public void onInitialize(){ | ||
− | + | Registry.register(Registry.SOUND_EVENT, SampleMod.SAMPLE_SOUND_ID, SAMPLE_SOUND_EVENT); | |
− | Registry.register(Registry.SOUND_EVENT, SampleMod. | ||
} | } | ||
} | } | ||
+ | </source> | ||
+ | |||
+ | ==サウンドの再生== | ||
+ | ===ソースコード=== | ||
+ | *SampleBlock.java | ||
+ | <source lang = "java"> | ||
+ | //省略 | ||
+ | @Override | ||
+ | public boolean activate(BlockState blockState, World world, BlockPos blockPos, PlayerEntity placedBy, Hand hand, BlockHitResult blockHitResult) { | ||
+ | if (!world.isClient) { | ||
+ | world.playSound( | ||
+ | null, // Player (purpose unknown, edit if you know) | ||
+ | blockPos, // The position of where the sound will come from | ||
+ | SampleMod.SAMPLE_SOUND_EVENT, // The sound that will play | ||
+ | SoundCategory.BLOCKS, // This determines which of the volume sliders affect this sound | ||
+ | 1f, //Volume multiplier, 1 is normal, 0.5 is half volume, etc | ||
+ | 1f // Pitch multiplier, 1 is normal, 0.5 is half pitch, etc | ||
+ | ); | ||
+ | } | ||
+ | return false; | ||
+ | } | ||
+ | //省略 | ||
+ | </source> | ||
+ | *SampleItem.java | ||
+ | <source lang = "java"> | ||
+ | package com.example.sound; | ||
+ | |||
+ | import net.minecraft.entity.player.PlayerEntity; | ||
+ | import net.minecraft.item.Item; | ||
+ | import net.minecraft.item.ItemStack; | ||
+ | import net.minecraft.util.ActionResult; | ||
+ | import net.minecraft.util.Hand; | ||
+ | import net.minecraft.util.TypedActionResult; | ||
+ | import net.minecraft.world.World; | ||
+ | |||
+ | public class SampleItem extends Item | ||
+ | { | ||
+ | public SampleItem(Settings settings) { | ||
+ | super(settings); | ||
+ | } | ||
+ | @Override | ||
+ | public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand) | ||
+ | { | ||
+ | playerEntity.playSound(SampleMod.SAMPLE_SOUND_EVENT, 1.0F, 1.0F); | ||
+ | return new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand)); | ||
+ | //19w37aではreturn new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand).true);となる。 | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | ==解説== | ||
+ | <source lang = "java"> | ||
+ | .playSound(SampleMod.SAMPLE_SOUND_EVENT, 1.0F, 1.0F) | ||
+ | </source> | ||
+ | 再生することができる。 |
2019年9月15日 (日) 22:03時点における最新版
この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。 |
再生できるサウンドの追加方法
サウンドの追加[編集]
外部サイト[編集]
Sounds.jsonの書き方(Minecraft公式Wiki)
ソースコード[編集]
- SampleMod.java
package com.example.sound; import net.fabricmc.api.ModInitializer; import net.minecraft.sound.SoundEvent; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class SampleMod implements ModInitializer { public static final Identifier SAMPLE_SOUND_ID = new Identifier("samplemod:sample_sound") public static SoundEvent SAMPLE_SOUND_EVENT = new SoundEvent(SAMPLE_SOUND_ID); @Override public void onInitialize(){ Registry.register(Registry.SOUND_EVENT, SampleMod.SAMPLE_SOUND_ID, SAMPLE_SOUND_EVENT); } }
サウンドの再生[編集]
ソースコード[編集]
- SampleBlock.java
//省略 @Override public boolean activate(BlockState blockState, World world, BlockPos blockPos, PlayerEntity placedBy, Hand hand, BlockHitResult blockHitResult) { if (!world.isClient) { world.playSound( null, // Player (purpose unknown, edit if you know) blockPos, // The position of where the sound will come from SampleMod.SAMPLE_SOUND_EVENT, // The sound that will play SoundCategory.BLOCKS, // This determines which of the volume sliders affect this sound 1f, //Volume multiplier, 1 is normal, 0.5 is half volume, etc 1f // Pitch multiplier, 1 is normal, 0.5 is half pitch, etc ); } return false; } //省略
- SampleItem.java
package com.example.sound; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; import net.minecraft.world.World; public class SampleItem extends Item { public SampleItem(Settings settings) { super(settings); } @Override public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand) { playerEntity.playSound(SampleMod.SAMPLE_SOUND_EVENT, 1.0F, 1.0F); return new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand)); //19w37aではreturn new TypedActionResult<>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand).true);となる。 } }
解説[編集]
.playSound(SampleMod.SAMPLE_SOUND_EVENT, 1.0F, 1.0F)
再生することができる。