-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCameraMode.java
More file actions
99 lines (86 loc) · 2.05 KB
/
CameraMode.java
File metadata and controls
99 lines (86 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package cn.nukkitmot.exampleplugin.camera;
/**
* 镜头模式枚举
* <p>
* 定义了不同类型的镜头控制模式,用于控制玩家视角的行为方式。
*
* @author QingTong
* @version 1.0.0
* @since 1.0.0
*/
public enum CameraMode {
/**
* 第一人称视角(默认)
* <p>
* 玩家正常游戏视角,无特殊镜头控制
*/
FIRST_PERSON("minecraft:first_person"),
/**
* 第三人称背面视角
* <p>
* 从玩家背后观察的视角
*/
THIRD_PERSON("minecraft:third_person"),
/**
* 第三人称正面视角
* <p>
* 从玩家正面观察的视角
*/
THIRD_PERSON_FRONT("minecraft:third_person_front"),
/**
* 自由视角
* <p>
* 镜头可以自由移动,不受玩家位置限制
*/
FREE("minecraft:free"),
/**
* 固定视角
* <p>
* 镜头固定在指定位置,不跟随玩家移动
*/
FIXED("minecraft:fixed"),
/**
* 跟随视角
* <p>
* 镜头跟随玩家移动,保持相对位置
*/
FOLLOW("minecraft:follow"),
/**
* 轨道视角
* <p>
* 镜头围绕目标点旋转
*/
ORBIT("minecraft:orbit"),
/**
* 侧面视角(2D风格)
* <p>
* 从玩家侧面观察的固定视角
*/
SIDE("minecraft:side");
private final String identifier;
CameraMode(String identifier) {
this.identifier = identifier;
}
/**
* 获取镜头模式的标识符
*
* @return Minecraft 标识符字符串
*/
public String getIdentifier() {
return identifier;
}
/**
* 根据标识符获取镜头模式
*
* @param identifier 标识符字符串
* @return 对应的 CameraMode,如果未找到则返回 FIRST_PERSON
*/
public static CameraMode fromIdentifier(String identifier) {
for (CameraMode mode : values()) {
if (mode.identifier.equals(identifier)) {
return mode;
}
}
return FIRST_PERSON;
}
}