Turn reward touches into an unlockable Touch setting

Every entry gets a Touch setting next to its design, offering the 16 touches
the rewards carried, each unlocked by its reward. The reward designs that the
builder can now make are removed; only the underwater rain cloud and the
medium, hard and advanced egg hunt designs stay. Reward requirements move to
Unlocks, shared by touches, wing images and cosy smoke. The trail duration
moves to the particle row to make room in the design row.
This commit is contained in:
2026-10-26 14:48:29 +01:00
parent baa278a1f5
commit 8e4730bd12
14 changed files with 263 additions and 175 deletions
@@ -32,8 +32,6 @@ public class FixedDesign extends ParticleDesign {
private final int points;
private final Consumer<ParameterValues> defaults;
private final Supplier<ParticleElement> shape;
private Supplier<ParticleElement> touch;
private int touchPoints;
public FixedDesign(String id, Material icon, String nameKey, ParticleRequirement requirement, int points, Consumer<ParameterValues> defaults, Supplier<ParticleElement> shape) {
super(id, icon, nameKey, DesignVisibility.REWARD, requirement);
@@ -47,21 +45,9 @@ public class FixedDesign extends ParticleDesign {
return shape.get();
}
// Adds the reward's unique touch; its points count towards the slot budget
public FixedDesign withTouch(int touchPoints, Supplier<ParticleElement> touch) {
this.touchPoints = touchPoints;
this.touch = touch;
return this;
}
@Override
public ParticleElement touch() {
return touch == null ? null : touch.get();
}
@Override
public int points(ParameterValues values) {
return points + touchPoints;
return points;
}
@Override