Skip to content

Commit

Permalink
Add an ability to change biome change counter via admin menu.
Browse files Browse the repository at this point in the history
  • Loading branch information
BONNe committed Jan 23, 2022
1 parent 103af94 commit 1349b70
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,19 @@ public void increaseBiomeChangeCounter(@NotNull BiomesObject biomesObject)
}


/**
* Adjust biome change counter with the new value.
*
* @param biomesObject the biomes object
* @param intValue the int value
*/
public void adjustBiomeChangeCounter(@NotNull BiomesObject biomesObject, int intValue)
{
this.biomeChangeCounter.computeIfAbsent(biomesObject.getUniqueId(),
id -> new AtomicInteger(0)).set(intValue);
}


/**
* Is unlocked biome.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;

import lv.id.bonne.panelutils.PanelUtils;
import world.bentobox.bentobox.api.panels.PanelItem;
Expand All @@ -19,6 +20,7 @@
import world.bentobox.biomes.database.objects.BiomesObject;
import world.bentobox.biomes.panels.CommonPagedPanel;
import world.bentobox.biomes.panels.CommonPanel;
import world.bentobox.biomes.panels.ConversationUtils;
import world.bentobox.biomes.panels.user.AdvancedPanel;
import world.bentobox.biomes.panels.util.BundleSelector;
import world.bentobox.biomes.utils.Constants;
Expand Down Expand Up @@ -55,10 +57,10 @@ private IslandEditPanel(CommonPanel panel,
{
// Deal with situations when island name is not set.

User user = User.getInstance(island.getOwner());

if (user != null)
if (island.getOwner() != null)
{
User user = User.getInstance(island.getOwner());

this.title = this.user.getTranslation(Constants.DESCRIPTIONS + "island-owner",
Constants.PARAMETER_PLAYER, user.getName());
}
Expand Down Expand Up @@ -137,7 +139,8 @@ protected PanelItem createElementButton(BiomesObject biomesObject)
boolean glow = false;

List<String> description = new ArrayList<>();
description.add(this.generateBiomesDescription(biomesObject, User.getInstance(this.island.getOwner())));
description.add(this.generateBiomesDescription(biomesObject,
this.island.getOwner() != null ? User.getInstance(this.island.getOwner()) : null));

description.add("");
description.add(this.user.getTranslation(Constants.TIPS + "left-click-to-apply"));
Expand All @@ -150,6 +153,10 @@ else if (!this.islandData.isPurchased(biomesObject))
{
description.add(this.user.getTranslation(Constants.TIPS + "right-click-to-buy"));
}
else
{
description.add(this.user.getTranslation(Constants.TIPS + "right-click-to-change"));
}

PanelItem.ClickHandler clickHandler = (panel, user, clickType, i) -> {

Expand All @@ -167,6 +174,25 @@ else if (!this.islandData.isPurchased(biomesObject))
this.manager.saveIslandData(this.islandData);
this.build();
}
else
{
Consumer<Number> numberConsumer = number -> {
if (number != null)
{
this.islandData.adjustBiomeChangeCounter(biomesObject, number.intValue());
this.manager.saveIslandData(this.islandData);
}

// reopen panel
this.build();
};

ConversationUtils.createNumericInput(numberConsumer,
this.user,
this.user.getTranslation(Constants.CONVERSATIONS + "input-number"),
0,
Integer.MAX_VALUE);
}
}
else
{
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/locales/en-US.yml
Original file line number Diff line number Diff line change
Expand Up @@ -585,6 +585,7 @@ biomes:
left-click-to-apply: "&e Left Click &7 to apply."
right-click-to-unlock: "&e Right Click &7 to unlock."
right-click-to-buy: "&e Right Click &7 to buy."
right-click-to-change: "&e Right Click &7 to change."
descriptions:
update-mode:
island: "Island Mode"
Expand Down

0 comments on commit 1349b70

Please sign in to comment.