Lower drawn wings to the shoulder blades

The drawn shapes had their shoulder joint at head height. They now sit
about 1.3 blocks above the feet at the default size.
This commit is contained in:
2026-10-26 10:50:57 +01:00
parent a5b8f00c58
commit 4e5945d2bc
@@ -101,11 +101,15 @@ public enum DrawnWings {
abstract List<List<Vector>> rightWing();
private static final Map<String, WingDesign> CACHE = new HashMap<>();
// The shapes are drawn with the shoulder joint at y = 7; moving it to 3.3 puts it at the shoulder blades
// (about 1.3 blocks above the feet at the default size) instead of at head height
private static final double SHOULDER_SHIFT = 7 - 3.3;
// Both wings with the given number of points per wing, spread evenly along the lines
public WingDesign withDetail(int pointsPerWing) {
return CACHE.computeIfAbsent(name() + "@" + pointsPerWing, key -> {
List<Vector> right = sample(rightWing(), pointsPerWing);
right.forEach(point -> point.setY(point.getY() - SHOULDER_SHIFT));
List<Vector> both = new ArrayList<>(right);
right.forEach(point -> both.add(new Vector(-point.getX(), point.getY(), 0)));
return new WingDesign.WingDesignImpl(both.toArray(new Vector[0]));