mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
补全盔甲架数据
This commit is contained in:
@@ -1,8 +1,16 @@
|
||||
package net.momirealms.craftengine.bukkit.entity.data;
|
||||
|
||||
import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.CoreReflections;
|
||||
|
||||
public class ArmorStandData<T> extends LivingEntityData<T> {
|
||||
public static final ArmorStandData<Byte> ArmorStandFlags = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$BYTE, (byte) 0);
|
||||
// rotations
|
||||
public static final ArmorStandData<Object> HeadPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_HEAD_POSE);
|
||||
public static final ArmorStandData<Object> BodyPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_BODY_POSE);
|
||||
public static final ArmorStandData<Object> LeftArmPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_LEFT_ARM_POSE);
|
||||
public static final ArmorStandData<Object> RightArmPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_RIGHT_ARM_POSE);
|
||||
public static final ArmorStandData<Object> LeftLegPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_LEFT_LEG_POSE);
|
||||
public static final ArmorStandData<Object> RightLegPose = new ArmorStandData<>(ArmorStandData.class, EntityDataValue.Serializers$ROTATIONS, CoreReflections.instance$ArmorStand$DEFAULT_RIGHT_LEG_POSE);
|
||||
|
||||
public ArmorStandData(Class<?> clazz, Object serializer, T defaultValue) {
|
||||
super(clazz, serializer, defaultValue);
|
||||
|
||||
@@ -4644,4 +4644,35 @@ public final class CoreReflections {
|
||||
"world.scores.PlayerTeam"
|
||||
)
|
||||
);
|
||||
|
||||
public static final Class<?> clazz$Rotations = requireNonNull(
|
||||
BukkitReflectionUtils.findReobfOrMojmapClass(
|
||||
"core.Vector3f",
|
||||
"core.Rotations"
|
||||
)
|
||||
);
|
||||
|
||||
public static final Constructor<?> constructor$Rotations = requireNonNull(
|
||||
ReflectionUtils.getConstructor(clazz$Rotations, float.class, float.class, float.class)
|
||||
);
|
||||
|
||||
public static final Object instance$ArmorStand$DEFAULT_HEAD_POSE;
|
||||
public static final Object instance$ArmorStand$DEFAULT_BODY_POSE;
|
||||
public static final Object instance$ArmorStand$DEFAULT_LEFT_ARM_POSE;
|
||||
public static final Object instance$ArmorStand$DEFAULT_RIGHT_ARM_POSE;
|
||||
public static final Object instance$ArmorStand$DEFAULT_LEFT_LEG_POSE;
|
||||
public static final Object instance$ArmorStand$DEFAULT_RIGHT_LEG_POSE;
|
||||
|
||||
static {
|
||||
try {
|
||||
instance$ArmorStand$DEFAULT_HEAD_POSE = constructor$Rotations.newInstance(0.0F, 0.0F, 0.0F);
|
||||
instance$ArmorStand$DEFAULT_BODY_POSE = constructor$Rotations.newInstance(0.0F, 0.0F, 0.0F);
|
||||
instance$ArmorStand$DEFAULT_LEFT_ARM_POSE = constructor$Rotations.newInstance(-10.0F, 0.0F, -10.0F);
|
||||
instance$ArmorStand$DEFAULT_RIGHT_ARM_POSE = constructor$Rotations.newInstance(-15.0F, 0.0F, 10.0F);
|
||||
instance$ArmorStand$DEFAULT_LEFT_LEG_POSE = constructor$Rotations.newInstance(-1.0F, 0.0F, -1.0F);
|
||||
instance$ArmorStand$DEFAULT_RIGHT_LEG_POSE = constructor$Rotations.newInstance(1.0F, 0.0F, 1.0F);
|
||||
} catch (ReflectiveOperationException e) {
|
||||
throw new ReflectionInitException("Failed to init ArmorStand", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user