Skip to content

Commit 1a5397d

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/environment-api
# Conflicts: # build.gradle.kts # main/src/main/java/me/outspending/biomesapi/biome/CustomBiomeImpl.java # main/src/main/java/me/outspending/biomesapi/registry/handlers/SpecialEffectsHandler.java
2 parents 99fa586 + a17890e commit 1a5397d

4 files changed

Lines changed: 38 additions & 16 deletions

File tree

main/src/main/java/me/outspending/biomesapi/biome/CustomBiome.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,19 @@ private String formatHex(@NotNull String color) {
354354
return color;
355355
}
356356

357+
/**
358+
* Parses a hexadecimal color string into an integer.
359+
*
360+
* @param color the color string to parse
361+
* @return the integer representation of the color
362+
* @since 0.0.1
363+
*/
364+
@AsOf("1.0.2")
365+
private int parseHex(@NotNull String color) {
366+
if (color.isEmpty()) return 0;
367+
return Integer.parseInt(formatHex(color), 16);
368+
}
369+
357370
/**
358371
* This method creates a new Builder object.
359372
*
@@ -420,7 +433,7 @@ public Builder(@NotNull CustomBiome biome) {
420433
*/
421434
@AsOf("0.0.1")
422435
public @NotNull Builder fogColor(@NotNull String fogColor) {
423-
this.fogColor = Integer.parseInt(formatHex(fogColor), 16);
436+
this.fogColor = parseHex(fogColor);
424437
return this;
425438
}
426439

@@ -446,7 +459,7 @@ public Builder(@NotNull CustomBiome biome) {
446459
*/
447460
@AsOf("0.0.1")
448461
public @NotNull Builder waterColor(@NotNull String waterColor) {
449-
this.waterColor = Integer.parseInt(formatHex(waterColor), 16);
462+
this.waterColor = parseHex(waterColor);
450463
return this;
451464
}
452465

@@ -472,7 +485,7 @@ public Builder(@NotNull CustomBiome biome) {
472485
*/
473486
@AsOf("0.0.1")
474487
public @NotNull Builder waterFogColor(@NotNull String waterFogColor) {
475-
this.waterFogColor = Integer.parseInt(formatHex(waterFogColor), 16);
488+
this.waterFogColor = parseHex(waterFogColor);
476489
return this;
477490
}
478491

@@ -498,7 +511,7 @@ public Builder(@NotNull CustomBiome biome) {
498511
*/
499512
@AsOf("0.0.1")
500513
public @NotNull Builder skyColor(@NotNull String skyColor) {
501-
this.skyColor = Integer.parseInt(formatHex(skyColor), 16);
514+
this.skyColor = parseHex(skyColor);
502515
return this;
503516
}
504517

@@ -524,7 +537,7 @@ public Builder(@NotNull CustomBiome biome) {
524537
*/
525538
@AsOf("0.0.1")
526539
public @NotNull Builder foliageColor(@NotNull String foliageColor) {
527-
this.foliageColor = Integer.parseInt(formatHex(foliageColor), 16);
540+
this.foliageColor = parseHex(foliageColor);
528541
return this;
529542
}
530543

@@ -550,7 +563,7 @@ public Builder(@NotNull CustomBiome biome) {
550563
*/
551564
@AsOf("0.0.1")
552565
public @NotNull Builder grassColor(@NotNull String grassColor) {
553-
this.grassColor = Integer.parseInt(formatHex(grassColor), 16);
566+
this.grassColor = parseHex(grassColor);
554567
return this;
555568
}
556569

main/src/main/java/me/outspending/biomesapi/biome/CustomBiomeImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,6 @@ public boolean isSimilar(@NotNull CustomBiome otherBiome) {
281281
return false;
282282
}
283283
}
284-
if (!this.environmentAttributeMap.equals(otherBiome.getEnvironmentAttributeMap())) return false;
285-
return true;
284+
return this.environmentAttributeMap.equals(otherBiome.getEnvironmentAttributeMap());
286285
}
287286
}

main/src/main/java/me/outspending/biomesapi/registry/handlers/SpecialEffectsHandler.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,24 @@ public void handle(BiomeSpecialEffects value, @NotNull Biome.BiomeBuilder builde
1919

2020
@Override
2121
public BiomeSpecialEffects build(@NotNull CustomBiome biome) {
22-
BiomeSpecialEffects.Builder builder = new BiomeSpecialEffects.Builder()
23-
.foliageColorOverride(biome.getFoliageColor())
24-
.waterColor(biome.getWaterColor())
25-
.grassColorOverride(biome.getGrassColor())
26-
.grassColorModifier(biome.getGrassColorModifier().getDelegateModifier())
27-
.dryFoliageColorOverride(biome.getDryFoliageColor());
22+
BiomeSpecialEffects.Builder builder = new BiomeSpecialEffects.Builder();
23+
if (biome.getFoliageColor() != 0) {
24+
builder.foliageColorOverride(biome.getFoliageColor());
25+
}
26+
27+
if (biome.getWaterColor() != 0) {
28+
builder.waterColor(biome.getWaterColor());
29+
}
30+
31+
if (biome.getGrassColor() != 0) {
32+
builder.grassColorOverride(biome.getGrassColor());
33+
}
34+
35+
if (biome.getDryFoliageColor() != 0) {
36+
builder.dryFoliageColorOverride(biome.getDryFoliageColor());
37+
}
38+
39+
builder.grassColorModifier(biome.getGrassColorModifier().getDelegateModifier());
2840

2941
return builder.build();
3042
}

main/src/main/java/me/outspending/biomesapi/renderer/ParticleRenderer.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111

1212
/**
1313
* Represents a particle renderer with a specific ambient particle and probability.
14-
* This is a record class introduced in Java 14 as a preview feature and made final in Java 16.
15-
* Records provide a compact syntax for declaring classes which are transparent holders for shallowly immutable data.
1614
*
1715
* @version 0.0.8
1816
* @since 0.0.1

0 commit comments

Comments
 (0)