9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-28 19:39:11 +00:00

完善门音效

This commit is contained in:
XiaoMoMi
2025-06-20 22:36:17 +08:00
parent 134e14351b
commit fc0e11cafb
13 changed files with 187 additions and 36 deletions

View File

@@ -99,6 +99,10 @@ public abstract class BlockBehavior {
}
public InteractionResult useOnBlock(UseOnContext context, ImmutableBlockState state) {
return InteractionResult.TRY_EMPTY_HAND;
}
public InteractionResult useWithoutItem(UseOnContext context, ImmutableBlockState state) {
return InteractionResult.PASS;
}

View File

@@ -118,6 +118,7 @@ public class BlockKeys {
public static final Key BAMBOO_TRAPDOOR = Key.of("minecraft:bamboo_trapdoor");
public static final Key CRIMSON_TRAPDOOR = Key.of("minecraft:crimson_trapdoor");
public static final Key WARPED_TRAPDOOR = Key.of("minecraft:warped_trapdoor");
public static final Key IRON_TRAPDOOR = Key.of("minecraft:iron_trapdoor");
public static final Key OAK_DOOR = Key.of("minecraft:oak_door");
public static final Key SPRUCE_DOOR = Key.of("minecraft:spruce_door");
@@ -131,6 +132,7 @@ public class BlockKeys {
public static final Key BAMBOO_DOOR = Key.of("minecraft:bamboo_door");
public static final Key CRIMSON_DOOR = Key.of("minecraft:crimson_door");
public static final Key WARPED_DOOR = Key.of("minecraft:warped_door");
public static final Key IRON_DOOR = Key.of("minecraft:iron_door");
public static final Key COPPER_DOOR = Key.of("minecraft:copper_door");
public static final Key EXPOSED_COPPER_DOOR = Key.of("minecraft:exposed_copper_door");

View File

@@ -4,6 +4,7 @@ public enum InteractionResult {
FAIL(false),
SUCCESS(true),
PASS(false),
TRY_EMPTY_HAND(false),
SUCCESS_AND_CANCEL(true);
private final boolean success;

View File

@@ -3,7 +3,6 @@ package net.momirealms.craftengine.core.sound;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.craftengine.core.util.MiscUtils;
import net.momirealms.craftengine.core.util.RandomUtils;
import net.momirealms.craftengine.core.util.ResourceConfigUtils;
import java.util.HashMap;
import java.util.Map;
@@ -26,6 +25,10 @@ public record SoundData(Key id, SoundValue volume, SoundValue pitch) {
}
}
public static SoundData of(Key id, SoundValue volume, SoundValue pitch) {
return new SoundData(id, volume, pitch);
}
public interface SoundValue extends Supplier<Float> {
Map<Float, SoundValue> FIXED = new HashMap<>();
SoundValue FIXED_1 = new Fixed(1f);

View File

@@ -0,0 +1,61 @@
package net.momirealms.craftengine.core.sound;
import net.momirealms.craftengine.core.block.BlockKeys;
import net.momirealms.craftengine.core.util.Key;
import java.util.List;
public final class Sounds {
private Sounds() {}
public static final List<Key> WOODEN_TRAPDOORS = List.of(BlockKeys.OAK_TRAPDOOR, BlockKeys.SPRUCE_TRAPDOOR, BlockKeys.BIRCH_TRAPDOOR,
BlockKeys.ACACIA_TRAPDOOR, BlockKeys.PALE_OAK_TRAPDOOR, BlockKeys.DARK_OAK_TRAPDOOR, BlockKeys.MANGROVE_TRAPDOOR, BlockKeys.JUNGLE_TRAPDOOR);
public static final List<Key> CHERRY_TRAPDOORS = List.of(BlockKeys.CHERRY_TRAPDOOR);
public static final List<Key> BAMBOO_TRAPDOORS = List.of(BlockKeys.BAMBOO_TRAPDOOR);
public static final List<Key> NETHER_TRAPDOORS = List.of(BlockKeys.WARPED_TRAPDOOR, BlockKeys.CRIMSON_TRAPDOOR);
public static final List<Key> COPPER_TRAPDOORS = List.of(BlockKeys.COPPER_TRAPDOOR, BlockKeys.EXPOSED_COPPER_TRAPDOOR, BlockKeys.WEATHERED_COPPER_TRAPDOOR, BlockKeys.OXIDIZED_COPPER_DOOR,
BlockKeys.WAXED_COPPER_TRAPDOOR, BlockKeys.WAXED_EXPOSED_COPPER_TRAPDOOR, BlockKeys.WAXED_WEATHERED_COPPER_TRAPDOOR, BlockKeys.WAXED_OXIDIZED_COPPER_TRAPDOOR);
public static final List<Key> WOODEN_DOORS = List.of(BlockKeys.OAK_DOOR, BlockKeys.SPRUCE_DOOR, BlockKeys.BIRCH_DOOR,
BlockKeys.ACACIA_DOOR, BlockKeys.PALE_OAK_DOOR, BlockKeys.DARK_OAK_DOOR, BlockKeys.MANGROVE_DOOR, BlockKeys.JUNGLE_DOOR);
public static final List<Key> CHERRY_DOORS = List.of(BlockKeys.CHERRY_DOOR);
public static final List<Key> BAMBOO_DOORS = List.of(BlockKeys.BAMBOO_DOOR);
public static final List<Key> NETHER_DOORS = List.of(BlockKeys.WARPED_DOOR, BlockKeys.CRIMSON_DOOR);
public static final List<Key> COPPER_DOORS = List.of(BlockKeys.COPPER_DOOR, BlockKeys.EXPOSED_COPPER_DOOR, BlockKeys.WEATHERED_COPPER_DOOR, BlockKeys.OXIDIZED_COPPER_DOOR,
BlockKeys.WAXED_COPPER_DOOR, BlockKeys.WAXED_EXPOSED_COPPER_DOOR, BlockKeys.WAXED_WEATHERED_COPPER_DOOR, BlockKeys.WAXED_OXIDIZED_COPPER_DOOR);
public static final List<Key> WOODEN_FENCE_GATES = List.of(BlockKeys.OAK_FENCE_GATE, BlockKeys.SPRUCE_FENCE_GATE, BlockKeys.BIRCH_FENCE_GATE,
BlockKeys.ACACIA_FENCE_GATE, BlockKeys.PALE_OAK_FENCE_GATE, BlockKeys.DARK_OAK_FENCE_GATE, BlockKeys.MANGROVE_FENCE_GATE, BlockKeys.JUNGLE_FENCE_GATE);
public static final List<Key> CHERRY_FENCE_GATES = List.of(BlockKeys.CHERRY_FENCE_GATE);
public static final List<Key> BAMBOO_FENCE_GATES = List.of(BlockKeys.BAMBOO_FENCE_GATE);
public static final List<Key> NETHER_FENCE_GATES = List.of(BlockKeys.WARPED_FENCE_GATE, BlockKeys.CRIMSON_FENCE_GATE);
public static final Key WOODEN_TRAPDOOR_OPEN = Key.of("block.wooden_trapdoor.open");
public static final Key WOODEN_TRAPDOOR_CLOSE = Key.of("block.wooden_trapdoor.close");
public static final Key WOODEN_DOOR_OPEN = Key.of("block.wooden_door.open");
public static final Key WOODEN_DOOR_CLOSE = Key.of("block.wooden_door.close");
public static final Key WOODEN_FENCE_GATE_OPEN = Key.of("block.fence_gate.open");
public static final Key WOODEN_FENCE_GATE_CLOSE = Key.of("block.fence_gate.close");
public static final Key NETHER_WOOD_TRAPDOOR_OPEN = Key.of("block.nether_wood_trapdoor.open");
public static final Key NETHER_WOOD_TRAPDOOR_CLOSE = Key.of("block.nether_wood_trapdoor.close");
public static final Key NETHER_WOOD_DOOR_OPEN = Key.of("block.nether_wood_door.open");
public static final Key NETHER_WOOD_DOOR_CLOSE = Key.of("block.nether_wood_door.close");
public static final Key NETHER_WOOD_FENCE_GATE_OPEN = Key.of("block.nether_wood_fence_gate.open");
public static final Key NETHER_WOOD_FENCE_GATE_CLOSE = Key.of("block.nether_wood_fence_gate.close");
public static final Key BAMBOO_WOOD_TRAPDOOR_OPEN = Key.of("block.bamboo_wood_trapdoor.open");
public static final Key BAMBOO_WOOD_TRAPDOOR_CLOSE = Key.of("block.bamboo_wood_trapdoor.close");
public static final Key BAMBOO_WOOD_DOOR_OPEN = Key.of("block.bamboo_wood_door.open");
public static final Key BAMBOO_WOOD_DOOR_CLOSE = Key.of("block.bamboo_wood_door.close");
public static final Key BAMBOO_WOOD_FENCE_GATE_OPEN = Key.of("block.bamboo_wood_fence_gate.open");
public static final Key BAMBOO_WOOD_FENCE_GATE_CLOSE = Key.of("block.bamboo_wood_fence_gate.close");
public static final Key CHERRY_WOOD_TRAPDOOR_OPEN = Key.of("block.cherry_wood_trapdoor.open");
public static final Key CHERRY_WOOD_TRAPDOOR_CLOSE = Key.of("block.cherry_wood_trapdoor.close");
public static final Key CHERRY_WOOD_DOOR_OPEN = Key.of("block.cherry_wood_door.open");
public static final Key CHERRY_WOOD_DOOR_CLOSE = Key.of("block.cherry_wood_door.close");
public static final Key CHERRY_WOOD_FENCE_GATE_OPEN = Key.of("block.cherry_wood_fence_gate.open");
public static final Key CHERRY_WOOD_FENCE_GATE_CLOSE = Key.of("block.cherry_wood_fence_gate.close");
public static final Key COPPER_TRAPDOOR_OPEN = Key.of("block.copper_trapdoor.open");
public static final Key COPPER_TRAPDOOR_CLOSE = Key.of("block.copper_trapdoor.close");
public static final Key COPPER_DOOR_OPEN = Key.of("block.copper_door.open");
public static final Key COPPER_DOOR_CLOSE = Key.of("block.copper_door.close");
}