Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@
<!-- More visible way how to change dependency versions -->
<spigot.version>1.21.3-R0.1-SNAPSHOT</spigot.version>
<spigot-annotations.version>1.2.3-SNAPSHOT</spigot-annotations.version>
<bentobox.version>3.2.4-SNAPSHOT</bentobox.version>
<bentobox.version>3.4.0</bentobox.version>
<level.version>2.6.3</level.version>
<vault.version>1.7</vault.version>
<panelutils.version>1.2.0</panelutils.version>
<!-- Revision variable removes warning about dynamic version -->
<revision>${build.version}-SNAPSHOT</revision>
<!-- This allows to change between versions and snapshots. -->
<build.version>1.5.1</build.version>
<build.version>1.5.2</build.version>
<build.number>-LOCAL</build.number>
<!-- Sonar Cloud -->
<sonar.projectKey>BentoBoxWorld_Challenges</sonar.projectKey>
Expand Down
87 changes: 87 additions & 0 deletions src/main/java/world/bentobox/challenges/config/Settings.java
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ public class Settings implements ConfigObject
@ConfigEntry(path = "gui-settings.add-completed-glow")
private boolean addCompletedGlow = true;


@ConfigComment("")
@ConfigComment("Add enchanted glow to completed levels")
@ConfigEntry(path = "gui-settings.add-completed-level-glow")
private boolean addCompletedLevelGlow = true;

@ConfigComment("")
@ConfigComment("This variable allows to choose which Challenges users can see in Challenges GUI.")
@ConfigComment("Valid values are:")
Expand All @@ -117,6 +123,20 @@ public class Settings implements ConfigObject
@ConfigEntry(path = "gui-settings.locked-level-icon")
private ItemStack lockedLevelIcon = new ItemStack(Material.BOOK);


@ConfigComment("")
@ConfigComment("This allows to change default completed level icon. If this option is set")
@ConfigComment("to null, the level icon will not be overwritten.")
@ConfigEntry(path = "gui-settings.completed-level-icon")
private ItemStack completedLevelIcon = null;


@ConfigComment("")
@ConfigComment("This allows to change default selected level icon. If this option is set")
@ConfigComment("to null, the level icon will not be overwritten.")
@ConfigEntry(path = "gui-settings.selected-level-icon")
private ItemStack selectedLevelIcon = null;

@ConfigComment("")
@ConfigComment("This indicate if challenges data will be stored per island (true) or per player (false).")
@ConfigEntry(path = "store-island-data")
Expand Down Expand Up @@ -224,6 +244,15 @@ public boolean isAddCompletedGlow()
}


/**
* @return addCompletedLevelGlow value.
*/
public boolean isAddCompletedLevelGlow()
{
return this.addCompletedLevelGlow;
}


/**
* @return disabledGameModes value.
*/
Expand Down Expand Up @@ -346,6 +375,34 @@ public ItemStack getLockedLevelIcon()
}


/**
* This method returns the selectedLevelIcon value.
* @return the value of selectedLevelIcon.
*/
public ItemStack getSelectedLevelIcon()
{
if (selectedLevelIcon != null)
{
return selectedLevelIcon.clone();
}
return null;
}


/**
* This method returns the completedLevelIcon value.
* @return the value of completedLevelIcon.
*/
public ItemStack getCompletedLevelIcon()
{
if (completedLevelIcon != null)
{
return completedLevelIcon.clone();
}
return null;
}


/**
* This method returns the showCompletionTitle object.
* @return the showCompletionTitle object.
Expand Down Expand Up @@ -435,6 +492,28 @@ public void setLockedLevelIcon(ItemStack lockedLevelIcon)
}


/**
* This method sets the selectedLevelIcon value.
* @param selectedLevelIcon the selectedLevelIcon new value.
*
*/
public void setSelectedLevelIcon(ItemStack selectedLevelIcon)
{
this.selectedLevelIcon = selectedLevelIcon;
}


/**
* This method sets the completedLevelIcon value.
* @param completedLevelIcon the completedLevelIcon new value.
*
*/
public void setCompletedLevelIcon(ItemStack completedLevelIcon)
{
this.completedLevelIcon = completedLevelIcon;
}


/**
* This method sets the userGuiMode value.
* @param userGuiMode the userGuiMode new value.
Expand Down Expand Up @@ -490,6 +569,14 @@ public void setAddCompletedGlow(boolean addCompletedGlow)
this.addCompletedGlow = addCompletedGlow;
}

/**
* @param addCompletedLevelGlow new addCompletedLevelGlow value.
*/
public void setAddCompletedLevelGlow(boolean addCompletedLevelGlow)
{
this.addCompletedLevelGlow = addCompletedLevelGlow;
}


/**
* @param disabledGameModes new disabledGameModes value.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ protected void build()
panelBuilder.item(28, this.getSettingsButton(Button.BROADCAST));

panelBuilder.item(11, this.getSettingsButton(Button.GLOW_COMPLETED));
panelBuilder.item(12, this.getSettingsButton(Button.GLOW_COMPLETED_LEVELS));
panelBuilder.item(20, this.getSettingsButton(Button.REMOVE_COMPLETED));
panelBuilder.item(29, this.getSettingsButton(Button.VISIBILITY_MODE));
panelBuilder.item(30, this.getSettingsButton(Button.INCLUDE_UNDEPLOYED));
Expand Down Expand Up @@ -331,6 +332,22 @@ private PanelItem getSettingsButton(Button button)
description.add("");
description.add(this.user.getTranslation(Constants.TIPS + "click-to-toggle"));
}
case GLOW_COMPLETED_LEVELS -> {
description.add(this.user.getTranslation(reference +
(this.settings.isAddCompletedLevelGlow() ? "enabled" : "disabled")));

icon = new ItemStack(Material.GLOWSTONE);
clickHandler = (panel, user1, clickType, i) -> {
this.settings.setAddCompletedLevelGlow(!this.settings.isAddCompletedLevelGlow());
panel.getInventory().setItem(i, this.getSettingsButton(button).getItem());
this.addon.saveSettings();
return true;
};
glow = this.settings.isAddCompletedLevelGlow();

description.add("");
description.add(this.user.getTranslation(Constants.TIPS + "click-to-toggle"));
}
case LOCKED_LEVEL_ICON -> {
icon = this.settings.getLockedLevelIcon();

Expand Down Expand Up @@ -568,6 +585,7 @@ private enum Button
PURGE_HISTORY,
DATA_PER_ISLAND,
GLOW_COMPLETED,
GLOW_COMPLETED_LEVELS,
LOCKED_LEVEL_ICON,
SHOW_TITLE,
TITLE_SHOWTIME,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,23 @@ else if (level.getLevel().getLockedIcon() != null)
// Glow the icon.
builder.glow(level == this.lastSelectedLevel ||
level.isUnlocked() &&
this.addon.getChallengesSettings().isAddCompletedGlow() &&
this.addon.getChallengesSettings().isAddCompletedLevelGlow() &&
this.manager.isLevelCompleted(this.user, this.world, level.getLevel()));

// Change icon for completed level
if( level.isUnlocked() &&
this.manager.isLevelCompleted(this.user, this.world, level.getLevel()) &&
this.addon.getChallengesSettings().getCompletedLevelIcon() != null
) {
builder.icon(this.addon.getChallengesSettings().getCompletedLevelIcon().clone());
}

// Change icon for selected level
if(level == this.lastSelectedLevel &&
this.addon.getChallengesSettings().getSelectedLevelIcon() != null){
builder.icon(this.addon.getChallengesSettings().getSelectedLevelIcon().clone());
}

// Click Handlers are managed by custom addon buttons.
return builder.build();
}
Expand Down
5 changes: 1 addition & 4 deletions src/main/java/world/bentobox/challenges/utils/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import java.util.Set;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Statistic;
import org.bukkit.Tag;
Expand Down Expand Up @@ -183,7 +182,7 @@ public static <T> T getPreviousValue(T[] values, T currentValue)
*/
public static String sanitizeInput(String input)
{
return ChatColor.stripColor(
return Util.stripColor(
Util.translateColorCodes(input.toLowerCase(Locale.ENGLISH).
replace(" ", "_").
replace("-", "_")));
Expand Down Expand Up @@ -776,7 +775,6 @@ public static String prettifyObject(ItemStack item, @Nullable PotionMeta potionM
String meta = user.getTranslationOrNothing(metaReference + "potion-meta",
"[type]", type,
"[upgraded]", "", "[extended]", "");
BentoBox.getInstance().logDebug("Generic ref: " + Constants.ITEM_STACKS + "generic");
specific = user.getTranslationOrNothing(Constants.ITEM_STACKS + "generic",
"[type]", prettifyObject(itemType, user),
"[meta]", meta);
Expand All @@ -785,7 +783,6 @@ public static String prettifyObject(ItemStack item, @Nullable PotionMeta potionM
// Last ditch
specific = prettifyObject(itemType, user) + ": " + type;
}
BentoBox.getInstance().logDebug(specific);
return specific;
}

Expand Down
9 changes: 8 additions & 1 deletion src/main/resources/locales/en-US.yml
Original file line number Diff line number Diff line change
Expand Up @@ -635,12 +635,19 @@ challenges:
enabled: "&2 Enabled"
disabled: "&c Disabled"
glow_completed:
name: "&f&l Glow Completed"
name: "&f&l Glow Completed Challenges"
description: |-
&7 Applies an enchantment glow
&7 to completed challenges.
enabled: "&2 Enabled"
disabled: "&c Disabled"
glow_completed_levels:
name: "&f&l Glow Completed Levels"
description: |-
&7 Applies an enchantment glow
&7 to completed levels.
enabled: "&2 Enabled"
disabled: "&c Disabled"
store_history:
name: "&f&l Store History"
description: |-
Expand Down
18 changes: 9 additions & 9 deletions src/main/resources/locales/pl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ challenges:
&7 lub wyjście z GUI
previous:
name: "&f&l Poprzednia strona"
description: "&7 Przełącz na &e [numer] &7 stronę"
description: "&7 Przełącz na &e [number] &7 stronę"
next:
name: "&f&l Następna strona"
description: "&7 Przełącz na &e [number] &7 stronę"
Expand Down Expand Up @@ -367,7 +367,7 @@ challenges:
description: |-
&7 Pozwala na zmianę
&7 statystyk bloku docelowego.
value: "&7 Bieżący blok: &e [blok]"
value: "&7 Bieżący blok: &e [block]"
statistic_items:
name: "&f&l Element docelowy"
description: |-
Expand Down Expand Up @@ -709,7 +709,7 @@ challenges:
name: "&f&l [statistic]"
description: "[description]\t\n"
environment_element:
name: "&f&l [enviroment]"
name: "&f&l [environment]"
description: "[description]"
search:
name: "&f&l Szukaj"
Expand Down Expand Up @@ -777,7 +777,7 @@ challenges:
status:
completed: "&2&l Zakończono"
completed-times: "&2 Ukończono &7&l [number] &r&2 raz(-y)"
completed-times-of: "&2 Zakończono &7&l [number] &r&2 z &7&l [maks.] &r&2
completed-times-of: "&2 Zakończono &7&l [number] &r&2 z &7&l [max] &r&2
razy"
completed-times-reached: "&2&l Ukończono wszystkie &7 [max] &2 razy"
cooldown:
Expand All @@ -798,9 +798,9 @@ challenges:
environment-single: "&7 Ograniczone do [environment]"
environment-title: "&7 Ograniczone do:"
environment-list: "&7 - &e [environment]\t\n"
permission-single: "&c Wymaga uprawnień [permissions]"
permission-single: "&c Wymaga uprawnień [permission]"
permissions-title: "&c Wymaga uprawnień:"
permissions-list: " &c - [permissions]"
permissions-list: " &c - [permission]"
island:
lore: |-
[blocks]
Expand All @@ -823,7 +823,7 @@ challenges:
[warning]
item-title: "&7&l Wymagane pozycje:"
item-value: " &7 - &e [item]"
items-value: " &7 - &e [numer] x [item]"
items-value: " &7 - &e [number] x [item]"
warning: "&e Przedmiot(y) zostaną &c usunięte"
other:
lore: |-
Expand All @@ -836,7 +836,7 @@ challenges:
experience-warning: "&e Doświadczenie zostanie &c usunięte"
money: "&7&l Wymagane pieniądze: &r&e [number]"
money-warning: "&e Pieniądze zostaną &c usunięte"
level: "&7&l Wymagany poziom wyspy: &r&e [liczba]"
level: "&7&l Wymagany poziom wyspy: &r&e [number]"
statistic:
lore: |-
[statistic]
Expand Down Expand Up @@ -996,7 +996,7 @@ challenges:
unknown-challenge: "&cNieznane wyzwanie"
not-valid-integer: |-
&c Podana liczba całkowita "[value]" jest nieprawidłowa!
Wartość powinna mieścić się w zakresie od [min] do [maks].
Wartość powinna mieścić się w zakresie od [min] do [max].
not-deployed: "&c Challenge nie został wdrożony!"
not-on-island: "&cMusisz być na swojej wyspie by to zrobic!"
challenge-level-not-available: "&c Nie odblokowałeś wymaganego poziomu, aby ukończyć
Expand Down