mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-27 19:09:08 +00:00
feat(block): 实现压力板方块行为
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package net.momirealms.craftengine.core.util;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public enum PressurePlateSensitivity {
|
||||
EVERYTHING("everything", "all"),
|
||||
MOBS("mobs", "mob");
|
||||
|
||||
private final String[] names;
|
||||
|
||||
PressurePlateSensitivity(String... names) {
|
||||
this.names = names;
|
||||
}
|
||||
|
||||
public String[] names() {
|
||||
return names;
|
||||
}
|
||||
|
||||
private static final Map<String, PressurePlateSensitivity> BY_NAME = new HashMap<>();
|
||||
|
||||
static {
|
||||
for (PressurePlateSensitivity trigger : PressurePlateSensitivity.values()) {
|
||||
for (String name : trigger.names()) {
|
||||
BY_NAME.put(name, trigger);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static PressurePlateSensitivity byName(String name) {
|
||||
return Optional.ofNullable(BY_NAME.get(name)).orElseThrow(() -> new IllegalArgumentException("PressurePlateSensitivity not found: " + name));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user