From f50f4c052ac15272c4e37b3969bd71558aab543d Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 29 Nov 2024 19:28:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=80=E7=AE=B1=E9=9F=B3?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2e07f3c482445536d45c00e6abf223465c01c841 | 3 +-- .../data/superbwarfare/tags/items/tools.json | 6 ------ .../superbwarfare/block/ContainerBlock.java | 11 +++++++++-- .../datagen/ModItemTagProvider.java | 2 -- .../superbwarfare/entity/Mk42Entity.java | 2 +- .../superbwarfare/entity/Mle1934Entity.java | 2 +- .../atsuishio/superbwarfare/init/ModSounds.java | 2 ++ .../atsuishio/superbwarfare/init/ModTags.java | 1 - .../resources/assets/superbwarfare/sounds.json | 8 ++++++++ .../assets/superbwarfare/sounds/open.ogg | Bin 0 -> 19457 bytes 10 files changed, 22 insertions(+), 15 deletions(-) delete mode 100644 src/generated/resources/data/superbwarfare/tags/items/tools.json create mode 100644 src/main/resources/assets/superbwarfare/sounds/open.ogg diff --git a/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 b/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 index 0619c649d..9c1247a70 100644 --- a/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 +++ b/src/generated/resources/.cache/2e07f3c482445536d45c00e6abf223465c01c841 @@ -1,4 +1,4 @@ -// 1.20.1 2024-11-29T11:09:46.7580865 Tags for minecraft:item mod id superbwarfare +// 1.20.1 2024-11-29T19:04:10.4852137 Tags for minecraft:item mod id superbwarfare cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json 0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json 295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json @@ -48,7 +48,6 @@ aaa533157491a82b8e23b2914deef67c4078cbed data/superbwarfare/tags/items/rifle.jso acd4d19dfadb71a1cec43e9c0f4a38fe8d3cf8cb data/superbwarfare/tags/items/shotgun.json 4aca0fa3f8b9f2a4920041e35e46dae7e93d5482 data/superbwarfare/tags/items/smg.json 13a23684e04832bea5dfbd2c0a9d9ed52dcb3422 data/superbwarfare/tags/items/sniper_rifle.json -ce4893378c0c18730fabad876dba059e91e9a0b1 data/superbwarfare/tags/items/tools.json 202756a5a9085f5883ca34424a79c1b7831101a9 data/superbwarfare/tags/items/use_handgun_ammo.json 2899774c6325135847a85b09121ce25587aa275e data/superbwarfare/tags/items/use_rifle_ammo.json acd4d19dfadb71a1cec43e9c0f4a38fe8d3cf8cb data/superbwarfare/tags/items/use_shotgun_ammo.json diff --git a/src/generated/resources/data/superbwarfare/tags/items/tools.json b/src/generated/resources/data/superbwarfare/tags/items/tools.json deleted file mode 100644 index 6c07e8f58..000000000 --- a/src/generated/resources/data/superbwarfare/tags/items/tools.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "values": [ - "superbwarfare:crowbar", - "create:wrench" - ] -} \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/block/ContainerBlock.java b/src/main/java/com/atsuishio/superbwarfare/block/ContainerBlock.java index 850343e8b..bf5d63116 100644 --- a/src/main/java/com/atsuishio/superbwarfare/block/ContainerBlock.java +++ b/src/main/java/com/atsuishio/superbwarfare/block/ContainerBlock.java @@ -4,12 +4,14 @@ import com.atsuishio.superbwarfare.block.entity.ContainerBlockEntity; import com.atsuishio.superbwarfare.entity.ICannonEntity; import com.atsuishio.superbwarfare.init.ModBlockEntities; import com.atsuishio.superbwarfare.init.ModEntities; -import com.atsuishio.superbwarfare.init.ModTags; +import com.atsuishio.superbwarfare.init.ModItems; +import com.atsuishio.superbwarfare.init.ModSounds; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; @@ -52,7 +54,7 @@ public class ContainerBlock extends BaseEntityBlock { public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) { if (!pLevel.isClientSide) { ItemStack stack = pPlayer.getItemInHand(pHand); - if (stack.is(ModTags.Items.TOOLS)) { + if (stack.is(ModItems.CROWBAR.get())) { BlockEntity blockEntity = pLevel.getBlockEntity(pPos); if (!(blockEntity instanceof ContainerBlockEntity containerBlockEntity)) return InteractionResult.PASS; @@ -63,6 +65,11 @@ public class ContainerBlock extends BaseEntityBlock { if (canOpen(pLevel, pPos, containerBlockEntity.entityType, containerBlockEntity.entity)) { pLevel.setBlockAndUpdate(pPos, pState.setValue(OPENED, true)); + if (!pLevel.isClientSide()) { + pLevel.playSound(null, BlockPos.containing(pPos.getX(), pPos.getY(), pPos.getZ()), ModSounds.OPEN.get(), SoundSource.BLOCKS, 1, 1); + } else { + pLevel.playLocalSound(pPos.getX(), pPos.getY(), pPos.getZ(), ModSounds.OPEN.get(), SoundSource.BLOCKS, 1, 1, false); + } return InteractionResult.SUCCESS; } else { pPlayer.displayClientMessage(Component.translatable("des.superbwarfare.container.fail.open"), true); diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java index 46f419db4..74348bbd3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemTagProvider.java @@ -65,8 +65,6 @@ public class ModItemTagProvider extends ItemTagsProvider { ModItems.GUNS.getEntries().forEach(registryObject -> this.tag(ModTags.Items.GUN).add(registryObject.get())); - this.tag(ModTags.Items.TOOLS).add(ModItems.CROWBAR.get()); - this.tag(ModTags.Items.SMG).add(ModItems.VECTOR.get()); this.tag(ModTags.Items.HANDGUN).add(ModItems.TRACHELIUM.get(), ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get()); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/Mk42Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/Mk42Entity.java index 796250146..837f95862 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/Mk42Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/Mk42Entity.java @@ -155,7 +155,7 @@ public class Mk42Entity extends Entity implements GeoEntity, ICannonEntity { @Override public InteractionResult interact(Player player, InteractionHand hand) { if (player.isShiftKeyDown()) { - if (player.getMainHandItem().is(ModTags.Items.TOOLS) && this.getFirstPassenger() == null) { + if (player.getMainHandItem().is(ModItems.CROWBAR.get()) && this.getFirstPassenger() == null) { ItemStack stack = ContainerBlockItem.createInstance(this); if (!player.addItem(stack)){ player.drop(stack, false); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/Mle1934Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/Mle1934Entity.java index 5032eb4ee..266fb4464 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/Mle1934Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/Mle1934Entity.java @@ -163,7 +163,7 @@ public class Mle1934Entity extends Entity implements GeoEntity, ICannonEntity { @Override public InteractionResult interact(Player player, InteractionHand hand) { if (player.isShiftKeyDown()) { - if (player.getMainHandItem().is(ModTags.Items.TOOLS) && this.getFirstPassenger() == null) { + if (player.getMainHandItem().is(ModItems.CROWBAR.get()) && this.getFirstPassenger() == null) { ItemStack stack = ContainerBlockItem.createInstance(this); if (!player.addItem(stack)) { player.drop(stack, false); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java index 864951936..3571abd4b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java @@ -329,4 +329,6 @@ public class ModSounds { public static final RegistryObject SHELL_CASING_NORMAL = REGISTRY.register("shell_casing_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "shell_casing_normal"))); public static final RegistryObject SHELL_CASING_SHOTGUN = REGISTRY.register("shell_casing_shotgun", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "shell_casing_shotgun"))); public static final RegistryObject SHELL_CASING_50CAL = REGISTRY.register("shell_casing_50cal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "shell_casing_50cal"))); + + public static final RegistryObject OPEN = REGISTRY.register("open", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "open"))); } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java index 26d64168a..81375a551 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java @@ -44,7 +44,6 @@ public class ModTags { public static final TagKey MILITARY_ARMOR = tag("military_armor"); public static final TagKey MILITARY_ARMOR_HEAVY = tag("military_armor_heavy"); - public static final TagKey TOOLS = tag("tools"); private static TagKey tag(String name) { return ItemTags.create(new ResourceLocation(ModUtils.MODID, name)); diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index 9f412d5d8..5ed697997 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -2349,5 +2349,13 @@ "stream": false } ] + }, + "open": { + "sounds": [ + { + "name": "superbwarfare:open", + "stream": false + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds/open.ogg b/src/main/resources/assets/superbwarfare/sounds/open.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5fed2527c3fd631a547a1bf9e5323428c883ead7 GIT binary patch literal 19457 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 qBIaJF*Kc4JVCljR%f{@vv9Z