Atmosphäre-Tools, EZ-Tree-Fixes, i18n, AnimSet, Baum-Export
- blight-lang: TextResolver + EN/DE Sprachpakete (TextReference i18n) - AnimSet: Clips + ActionMap in .animset.json zusammengeführt - EZ-Tree: Branch-Parameter-Fixes (length/radius/children/force nicht senden, twist Grad→Radiant, leaves.size ×5); Ordner-ComboBox mit Auto-Refresh - Logging beim Baum-Export in allen drei Generatoren (EZ-Tree, Blight, Palme) - Atmosphäre-Tools: Emitter, Licht, Wasser, Sound-/Musikbereiche, Spiel-Starten - AnimPreviewState, RetargetingSystem, AnimationLibrary (Animations-Editor) - Terrain-Transparenz-Fix, Schatten-Fix, ThirdPersonCamera-Fix - DayNightState, WeatherState, CloudsNode, JmeConsole - MapIO v6, neue blight-common Modell-Klassen (GameCharacter, NPC, Quests…) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,27 +3,33 @@ package de.blight.eztree;
|
||||
public final class LeavesOptions {
|
||||
|
||||
/** Optional asset path for a leaf alpha texture. */
|
||||
public String textureFile = null;
|
||||
public Billboard billboard = Billboard.CROSS;
|
||||
public int count = 10;
|
||||
public String textureFile = null;
|
||||
public Billboard billboard = Billboard.CROSS;
|
||||
public int count = 10;
|
||||
/** Fraction along the last-level branch at which leaf placement begins. */
|
||||
public float start = 0.4f;
|
||||
public float size = 0.5f;
|
||||
public float sizeVariance = 0.25f;
|
||||
public float alphaTest = 0.5f;
|
||||
public float start = 0.4f;
|
||||
public float size = 0.5f;
|
||||
public float sizeVariance = 0.25f;
|
||||
public float alphaTest = 0.5f;
|
||||
/** Pitch angle of leaves relative to the branch axis (degrees). Matches JSON "angle". */
|
||||
public float angle = 10f;
|
||||
/** Per-vertex normals point outward from tree centre, giving a rounded canopy look. */
|
||||
public boolean roundedNormals = true;
|
||||
|
||||
/** Base leaf color. */
|
||||
public float r = 0.13f, g = 0.53f, b = 0.17f;
|
||||
|
||||
public LeavesOptions copy() {
|
||||
LeavesOptions c = new LeavesOptions();
|
||||
c.textureFile = textureFile;
|
||||
c.billboard = billboard;
|
||||
c.count = count;
|
||||
c.start = start;
|
||||
c.size = size;
|
||||
c.sizeVariance = sizeVariance;
|
||||
c.alphaTest = alphaTest;
|
||||
c.textureFile = textureFile;
|
||||
c.billboard = billboard;
|
||||
c.count = count;
|
||||
c.start = start;
|
||||
c.size = size;
|
||||
c.sizeVariance = sizeVariance;
|
||||
c.alphaTest = alphaTest;
|
||||
c.angle = angle;
|
||||
c.roundedNormals = roundedNormals;
|
||||
c.r = r; c.g = g; c.b = b;
|
||||
return c;
|
||||
}
|
||||
|
||||
@@ -115,10 +115,11 @@ public class Tree extends Node {
|
||||
for (int i = 0; i < sections; i++) {
|
||||
float t = (i + 1f) / sections;
|
||||
|
||||
// Gnarliness: random XZ perturbation of direction
|
||||
if (gnarliness > 0f) {
|
||||
dir.x += rng.range(-gnarliness, gnarliness);
|
||||
dir.z += rng.range(-gnarliness, gnarliness);
|
||||
// Gnarliness: random XZ perturbation (abs used so negative JSON values work too)
|
||||
float absG = Math.abs(gnarliness);
|
||||
if (absG > 0f) {
|
||||
dir.x += rng.range(-absG, absG);
|
||||
dir.z += rng.range(-absG, absG);
|
||||
dir.normalizeLocal();
|
||||
}
|
||||
|
||||
@@ -287,7 +288,8 @@ public class Tree extends Node {
|
||||
|
||||
float size = lo.size * (1f + rng.range(-lo.sizeVariance, lo.sizeVariance));
|
||||
float yaw = rng.range(0f, FastMath.TWO_PI);
|
||||
float pitch = rng.range(-FastMath.QUARTER_PI * 0.4f, FastMath.QUARTER_PI * 0.4f);
|
||||
// Use preset angle as base pitch; add slight random variance
|
||||
float pitch = lo.angle * FastMath.DEG_TO_RAD + rng.range(-0.25f, 0.25f);
|
||||
float wind = sp.t();
|
||||
|
||||
switch (lo.billboard) {
|
||||
@@ -328,7 +330,16 @@ public class Tree extends Node {
|
||||
int base = leafPos.size() / 3;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
leafPos.add(cornerX[i]); leafPos.add(cornerY[i]); leafPos.add(cornerZ[i]);
|
||||
leafNorm.add(norm.x); leafNorm.add(norm.y); leafNorm.add(norm.z);
|
||||
if (opts.leaves.roundedNormals) {
|
||||
float len = FastMath.sqrt(cornerX[i]*cornerX[i] + cornerY[i]*cornerY[i] + cornerZ[i]*cornerZ[i]);
|
||||
if (len > 1e-6f) {
|
||||
leafNorm.add(cornerX[i]/len); leafNorm.add(cornerY[i]/len); leafNorm.add(cornerZ[i]/len);
|
||||
} else {
|
||||
leafNorm.add(0f); leafNorm.add(1f); leafNorm.add(0f);
|
||||
}
|
||||
} else {
|
||||
leafNorm.add(norm.x); leafNorm.add(norm.y); leafNorm.add(norm.z);
|
||||
}
|
||||
leafWind.add(wind);
|
||||
}
|
||||
leafUV.add(0f); leafUV.add(0f);
|
||||
|
||||
@@ -42,7 +42,7 @@ public final class TreePresets {
|
||||
b.angle.put(1, 54f); b.angle.put(2, 58f); b.angle.put(3, 32f);
|
||||
b.children.put(0, 4); b.children.put(1, 2); b.children.put(2, 3);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.01f;
|
||||
b.gnarliness.put(0, 0.07f); b.gnarliness.put(1, 0.08f);
|
||||
b.gnarliness.put(0, 0.07f); b.gnarliness.put(1, -0.08f);
|
||||
b.gnarliness.put(2, 0.11f); b.gnarliness.put(3, 0.09f);
|
||||
b.length.put(0, 7.02f); b.length.put(1, 0.162f); b.length.put(2, 2.149f); b.length.put(3, 0.732f);
|
||||
b.radius.put(0, 0.25f); b.radius.put(1, 0.60f); b.radius.put(2, 0.55f); b.radius.put(3, 0.50f);
|
||||
@@ -52,7 +52,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.73f); b.taper.put(1, 0.42f); b.taper.put(2, 0.69f); b.taper.put(3, 0.75f);
|
||||
b.twist.put(0, -13.18f); b.twist.put(1, 24.06f);
|
||||
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 14, 0.16f, 0.28f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 14, 0.16f, 0.28f, 0.70f, 0.5f, 42f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -69,8 +69,8 @@ public final class TreePresets {
|
||||
b.angle.put(1, 54f); b.angle.put(2, 58f); b.angle.put(3, 32f);
|
||||
b.children.put(0, 6); b.children.put(1, 4); b.children.put(2, 3);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.02f;
|
||||
b.gnarliness.put(0, 0.00f); b.gnarliness.put(1, 0.10f);
|
||||
b.gnarliness.put(2, 0.15f); b.gnarliness.put(3, 0.09f);
|
||||
b.gnarliness.put(0, 0.00f); b.gnarliness.put(1, -0.10f);
|
||||
b.gnarliness.put(2, -0.15f); b.gnarliness.put(3, 0.09f);
|
||||
b.length.put(0, 9.31f); b.length.put(1, 0.298f); b.length.put(2, 1.118f); b.length.put(3, 0.578f);
|
||||
b.radius.put(0, 0.35f); b.radius.put(1, 0.60f); b.radius.put(2, 0.55f); b.radius.put(3, 0.50f);
|
||||
b.sections.put(0, 8); b.sections.put(1, 6); b.sections.put(2, 4);
|
||||
@@ -79,7 +79,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.73f); b.taper.put(1, 0.42f); b.taper.put(2, 0.69f); b.taper.put(3, 0.75f);
|
||||
b.twist.put(0, -13.18f); b.twist.put(1, 24.06f);
|
||||
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 18, 0.16f, 0.50f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 18, 0.16f, 0.50f, 0.70f, 0.5f, 42f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -96,8 +96,8 @@ public final class TreePresets {
|
||||
b.angle.put(1, 54f); b.angle.put(2, 43f); b.angle.put(3, 32f);
|
||||
b.children.put(0, 9); b.children.put(1, 5); b.children.put(2, 3);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.02f;
|
||||
b.gnarliness.put(0, 0.04f); b.gnarliness.put(1, 0.16f);
|
||||
b.gnarliness.put(2, 0.06f); b.gnarliness.put(3, 0.09f);
|
||||
b.gnarliness.put(0, -0.04f); b.gnarliness.put(1, 0.16f);
|
||||
b.gnarliness.put(2, -0.06f); b.gnarliness.put(3, 0.09f);
|
||||
b.length.put(0, 11.93f); b.length.put(1, 0.616f); b.length.put(2, 0.600f); b.length.put(3, 0.406f);
|
||||
b.radius.put(0, 0.75f); b.radius.put(1, 0.58f); b.radius.put(2, 0.55f); b.radius.put(3, 0.50f);
|
||||
b.sections.put(0, 16); b.sections.put(1, 9); b.sections.put(2, 8); b.sections.put(3, 3);
|
||||
@@ -106,7 +106,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.73f); b.taper.put(1, 0.42f); b.taper.put(2, 0.69f); b.taper.put(3, 0.75f);
|
||||
b.twist.put(0, -13.18f); b.twist.put(1, 24.06f);
|
||||
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 10, 0.16f, 0.90f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_OAK, 0.835f, 0.835f, 0.804f, Billboard.CROSS, 10, 0.16f, 0.90f, 0.70f, 0.5f, 36f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
b.twist.put(0, 17.19f); b.twist.put(1, -4.01f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 30, 0.00f, 0.41f, 0.717f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 30, 0.00f, 0.41f, 0.717f, 0.5f, 55f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
b.twist.put(0, 5.16f); b.twist.put(1, -4.01f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 16, 0.00f, 0.53f, 0.720f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 16, 0.00f, 0.53f, 0.720f, 0.5f, 55f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ public final class TreePresets {
|
||||
b.angle.put(1, 39f); b.angle.put(2, 39f); b.angle.put(3, 51f);
|
||||
b.children.put(0, 10); b.children.put(1, 4); b.children.put(2, 3);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.01f;
|
||||
b.gnarliness.put(0, 0.05f); b.gnarliness.put(1, 0.20f);
|
||||
b.gnarliness.put(0, -0.05f); b.gnarliness.put(1, 0.20f);
|
||||
b.gnarliness.put(2, 0.16f); b.gnarliness.put(3, 0.05f);
|
||||
b.length.put(0, 11.25f); b.length.put(1, 0.654f); b.length.put(2, 0.520f); b.length.put(3, 0.301f);
|
||||
b.radius.put(0, 0.76f); b.radius.put(1, 0.58f); b.radius.put(2, 0.55f); b.radius.put(3, 0.50f);
|
||||
@@ -191,7 +191,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.62f); b.taper.put(2, 0.76f); b.taper.put(3, 0.00f);
|
||||
b.twist.put(0, 5.16f); b.twist.put(1, -4.01f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 10, 0.01f, 0.92f, 0.720f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASH, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 10, 0.01f, 0.92f, 0.720f, 0.5f, 30f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public final class TreePresets {
|
||||
b.angle.put(1, 70f); b.angle.put(2, 35f); b.angle.put(3, 7f);
|
||||
b.children.put(0, 4); b.children.put(1, 3); b.children.put(2, 3);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.011f;
|
||||
b.gnarliness.put(0, 0.04f); b.gnarliness.put(1, 0.01f);
|
||||
b.gnarliness.put(0, 0.04f); b.gnarliness.put(1, -0.01f);
|
||||
b.gnarliness.put(2, 0.12f); b.gnarliness.put(3, 0.02f);
|
||||
b.length.put(0, 6.00f); b.length.put(1, 0.140f); b.length.put(2, 2.292f); b.length.put(3, 0.130f);
|
||||
b.radius.put(0, 0.093f); b.radius.put(1, 0.55f); b.radius.put(2, 0.50f);
|
||||
@@ -221,7 +221,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.45f); b.start.put(2, 0.33f);
|
||||
b.taper.put(0, 0.37f); b.taper.put(1, 0.13f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASPEN, 1.000f, 0.980f, 0.384f, Billboard.CROSS, 13, 0.20f, 0.50f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASPEN, 1.000f, 0.980f, 0.384f, Billboard.CROSS, 13, 0.20f, 0.50f, 0.70f, 0.5f, 30f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.59f); b.start.put(2, 0.35f);
|
||||
b.taper.put(0, 0.37f); b.taper.put(1, 0.13f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASPEN, 1.000f, 0.980f, 0.384f, Billboard.CROSS, 11, 0.124f, 0.50f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASPEN, 1.000f, 0.980f, 0.384f, Billboard.CROSS, 11, 0.124f, 0.50f, 0.70f, 0.5f, 30f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -264,7 +264,7 @@ public final class TreePresets {
|
||||
b.angle.put(1, 47f); b.angle.put(2, 63f); b.angle.put(3, 7f);
|
||||
b.children.put(0, 10); b.children.put(1, 6); b.children.put(2, 0);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.022f;
|
||||
b.gnarliness.put(0, 0.05f); b.gnarliness.put(1, 0.03f);
|
||||
b.gnarliness.put(0, 0.05f); b.gnarliness.put(1, -0.03f);
|
||||
b.gnarliness.put(2, 0.12f); b.gnarliness.put(3, 0.02f);
|
||||
b.length.put(0, 17.40f); b.length.put(1, 0.267f); b.length.put(2, 0.603f); b.length.put(3, 0.089f);
|
||||
b.radius.put(0, 0.28f); b.radius.put(1, 0.55f); b.radius.put(2, 0.50f);
|
||||
@@ -273,7 +273,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.62f); b.start.put(2, 0.05f);
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.13f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASPEN, 0.988f, 1.000f, 0.149f, Billboard.CROSS, 20, 0.152f, 0.70f, 0.70f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASPEN, 0.988f, 1.000f, 0.149f, Billboard.CROSS, 20, 0.152f, 0.70f, 0.70f, 0.5f, 36f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.16f); b.start.put(2, 0.30f);
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 21, 0.00f, 0.19f, 0.70f, 0.3f);
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 21, 0.00f, 0.19f, 0.70f, 0.3f, 10f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -327,7 +327,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.27f); b.start.put(2, 0.14f);
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 30, 0.09f, 0.29f, 0.201f, 0.3f);
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 30, 0.09f, 0.29f, 0.201f, 0.3f, 39f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -352,7 +352,7 @@ public final class TreePresets {
|
||||
b.start.put(1, 0.294f); b.start.put(2, 0.14f);
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f);
|
||||
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 18, 0.076f, 0.52f, 0.201f, 0.3f);
|
||||
o.leaves = leaves(LEAF_PINE, 1.0f, 1.0f, 1.0f, Billboard.CROSS, 18, 0.076f, 0.52f, 0.201f, 0.3f, 17f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
b.twist.put(0, 17.19f); b.twist.put(1, -4.01f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASH, 0.878f, 1.000f, 0.835f, Billboard.CROSS, 12, 0.00f, 0.49f, 0.717f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASH, 0.878f, 1.000f, 0.835f, Billboard.CROSS, 12, 0.00f, 0.49f, 0.717f, 0.5f, 55f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -412,7 +412,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
b.twist.put(0, 20.55f); b.twist.put(1, -2.49f);
|
||||
|
||||
o.leaves = leaves(LEAF_ASPEN, 0.878f, 1.000f, 0.835f, Billboard.CROSS, 7, 0.00f, 0.49f, 0.717f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASPEN, 0.878f, 1.000f, 0.835f, Billboard.CROSS, 7, 0.00f, 0.49f, 0.717f, 0.5f, 55f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -439,7 +439,7 @@ public final class TreePresets {
|
||||
b.taper.put(0, 0.70f); b.taper.put(1, 0.70f); b.taper.put(2, 0.70f); b.taper.put(3, 0.70f);
|
||||
b.twist.put(0, 17.19f); b.twist.put(1, -1.87f);
|
||||
|
||||
o.leaves = leaves(LEAF_PINE, 0.616f, 0.765f, 1.000f, Billboard.CROSS, 3, 0.152f, 0.61f, 0.457f, 0.5f);
|
||||
o.leaves = leaves(LEAF_PINE, 0.616f, 0.765f, 1.000f, Billboard.CROSS, 3, 0.152f, 0.61f, 0.457f, 0.5f, 54f);
|
||||
return o;
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@ public final class TreePresets {
|
||||
b.children.put(0, 7); b.children.put(1, 5); b.children.put(2, 1);
|
||||
b.force.direction.set(0f, 1f, 0f); b.force.strength = 0.026f;
|
||||
b.gnarliness.put(0, 0.00f); b.gnarliness.put(1, 0.02f);
|
||||
b.gnarliness.put(2, 0.41f); b.gnarliness.put(3, 0.09f);
|
||||
b.gnarliness.put(2, -0.41f); b.gnarliness.put(3, 0.09f);
|
||||
b.length.put(0, 1.20f); b.length.put(1, 3.521f); b.length.put(2, 0.669f); b.length.put(3, 0.982f);
|
||||
b.radius.put(0, 0.068f); b.radius.put(1, 0.60f); b.radius.put(2, 0.55f); b.radius.put(3, 0.50f);
|
||||
b.sections.put(0, 6); b.sections.put(1, 12); b.sections.put(2, 10); b.sections.put(3, 4);
|
||||
@@ -471,7 +471,7 @@ public final class TreePresets {
|
||||
b.twist.put(0, -1.15f); b.twist.put(1, -0.57f); b.twist.put(2, 5.16f);
|
||||
|
||||
// tint 15204310 = 0xE7D8C6: (231,216,198)/255
|
||||
o.leaves = leaves(LEAF_ASH, 0.906f, 0.847f, 0.776f, Billboard.NONE, 13, 0.00f, 0.34f, 0.50f, 0.5f);
|
||||
o.leaves = leaves(LEAF_ASH, 0.906f, 0.847f, 0.776f, Billboard.NONE, 13, 0.00f, 0.34f, 0.50f, 0.5f, 30f);
|
||||
|
||||
o.trellis.enabled = true;
|
||||
o.trellis.sections = 8;
|
||||
@@ -522,7 +522,8 @@ public final class TreePresets {
|
||||
|
||||
private static LeavesOptions leaves(String tex, float r, float g, float b,
|
||||
Billboard bb, int count,
|
||||
float start, float size, float sizeVar, float alpha) {
|
||||
float start, float size, float sizeVar, float alpha,
|
||||
float angle) {
|
||||
LeavesOptions l = new LeavesOptions();
|
||||
l.textureFile = tex;
|
||||
l.r = r; l.g = g; l.b = b;
|
||||
@@ -532,6 +533,7 @@ public final class TreePresets {
|
||||
l.size = size;
|
||||
l.sizeVariance = sizeVar;
|
||||
l.alphaTest = alpha;
|
||||
l.angle = angle;
|
||||
return l;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user