Skip to content

Commit

Permalink
Implement storing of biome usage time.
Browse files Browse the repository at this point in the history
  • Loading branch information
BONNe committed Jan 23, 2022
1 parent 29691b9 commit 81061be
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 13 deletions.
29 changes: 26 additions & 3 deletions src/main/java/world/bentobox/biomes/panels/CommonPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ private String generateBiomesUnlockDescription(BiomesObject biome, @Nullable Use
*/
private String generateUnlockPrice(BiomesObject biome, @Nullable User target)
{
final String reference = Constants.DESCRIPTIONS + "biomes.unlock.";
final String reference = Constants.DESCRIPTIONS + "biome.unlock.";

return !this.addon.isEconomyProvided() || biome.getUnlockCost() <= 0 ? "" :
this.user.getTranslationOrNothing(reference + "money",
Expand Down Expand Up @@ -372,6 +372,7 @@ private String generateBiomesChangeDescription(BiomesObject biome, @Nullable Use
String mode = this.user.getTranslationOrNothing(reference + "mode." + biome.getCostMode().name().toLowerCase());
String items = this.generateChangeItemPrice(biome, islandData);
String price = this.generateChangePrice(biome, islandData);
String usage = this.generateUsageText(biome, islandData);

if (items.isEmpty() && price.isEmpty())
{
Expand All @@ -382,7 +383,29 @@ private String generateBiomesChangeDescription(BiomesObject biome, @Nullable Use
return this.user.getTranslationOrNothing(reference + "lore",
"[mode]", mode,
"[items]", items,
"[money]", price);
"[money]", price,
"[usage]", usage);
}


/**
* Generate usage text string.
*
* @param biome the biome
* @param islandData the island data
* @return the string
*/
private String generateUsageText(BiomesObject biome, @Nullable BiomesIslandDataObject islandData)
{
final String reference = Constants.DESCRIPTIONS + "biome.change.";

if (islandData == null)
{
return "";
}

return this.user.getTranslation(reference + "number-of-usage",
"[number]", String.valueOf(islandData.getBiomeChangeCounter(biome)));
}


Expand All @@ -394,7 +417,7 @@ private String generateBiomesChangeDescription(BiomesObject biome, @Nullable Use
*/
private String generateChangePrice(BiomesObject biome, @Nullable BiomesIslandDataObject target)
{
final String reference = Constants.DESCRIPTIONS + "biomes.change.";
final String reference = Constants.DESCRIPTIONS + "biome.change.";

double cost = biome.getCost();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;

import org.bukkit.Bukkit;
Expand Down Expand Up @@ -466,6 +461,10 @@ else if (World.Environment.THE_END.equals(this.biome.getEnvironment()))
{
task.updateChunkQueue();

// Increase counter.
this.islandData.increaseBiomeChangeCounter(this.biome);
this.addon.getAddonManager().saveIslandData(this.islandData);

this.addon.getUpdateQueue().addUpdateTask(task).thenAccept((result) ->
{
switch (result)
Expand Down
15 changes: 10 additions & 5 deletions src/main/resources/locales/en-US.yml
Original file line number Diff line number Diff line change
Expand Up @@ -639,16 +639,17 @@ biomes:
[items]
[money]
[mode]
[usage]
# Text that will replace [mode]
mode:
per_block: |-
&e Biome costs per each
&e changed block.
&b&o Biome costs per each
&b&o changed block.
per_usage: |-
&e Changing biome increases
&e per usage.
&b&o Changing biome increases
&b&o its price.
static: |-
&7 Standart change price.
&b&o Standart change price.
# Text that will replace [money]
money: |-
&7 Cost: &e $[number]
Expand All @@ -659,6 +660,10 @@ biomes:
&7 Items:
item-list: |-
&7 - [color] [number] x [item]
# Text that shows how many times player has used this biome.
number-of-usage: |-
|&7 This biome has been
&7 applied &e [number] &r&7 times.
# Text that replaces [color].
missing: "&c"
has: "&e"
Expand Down

0 comments on commit 81061be

Please sign in to comment.