Skip to content

Commit

Permalink
"/xpboosts list" command now properly pulls all boosts from config
Browse files Browse the repository at this point in the history
  • Loading branch information
QarthO committed Dec 19, 2023
1 parent 2a61498 commit 1e0309e
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 26 deletions.
36 changes: 18 additions & 18 deletions src/main/java/gg/quartzdev/qxpboosts/boost/BoostManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ public class BoostManager {
qConfig config;
qLogger logger;

HashMap<String, Boost> boosts;
HashMap<String, Boost> boostsMap;
HashMap<Player, Boost> playerTracker;
HashMap<Boost, Boolean> boostTracker;
Set<Boost> activeBoosts;
Boost defaultBoost;


Expand All @@ -29,10 +29,12 @@ public BoostManager(){
this.config = this.plugin.config;
this.logger = this.plugin.logger;

this.boosts = new HashMap<>();
this.boostsMap = new HashMap<>();
this.playerTracker = new HashMap<>();
this.boostTracker = new HashMap<>();
this.activeBoosts = new HashSet<>();
this.defaultBoost = new Boost("default", 1.25);

this.loadBoosts();
}

public @NotNull Boost getBoost(Player player){
Expand All @@ -46,46 +48,44 @@ public BoostManager(){
}

public boolean isActive(Boost boost){
return boostTracker.get(boost);
return activeBoosts.contains(boost);
}

public void enable(Boost boost){
boostTracker.put(boost, true);
activeBoosts.add(boost);
}

public void disable(Boost boost){
boostTracker.put(boost, false);
activeBoosts.remove(boost);
}

public void loadBoosts(){

Set<Boost> boosts = this.config.getBoosts();
for(Boost boost : boosts){
this.boostsMap.put(boost.getName(), boost);
}
}

public Set<String> listBoosts(){
Set<String> boostList = new HashSet<>();

boostList.add(this.getBoostInfo(this.defaultBoost));

for(Boost boost : boosts.values())
for(Boost boost : boostsMap.values())
boostList.add(this.getBoostInfo(boost));

return boostList;
}

public String getBoostInfo(Boost boost){

String boostStatus = Language.BOOST_STATUS_ERROR.toString();

if(boostTracker.get(boost) != null)
boostStatus = (boostTracker.get(boost)) ? Language.BOOST_STATUS_ACTIVE.toString() : Language.BOOST_STATUS_DISABLED.toString();
String boostStatus = (this.isActive(boost)) ? Language.BOOST_STATUS_ACTIVE.toString() : Language.BOOST_STATUS_DISABLED.toString();

String bootInfo = Language.BOOST_INFO.toString()
return Language.BOOST_INFO.toString()
.replaceAll("<boost-name>", WordUtils.capitalizeFully(boost.getName()))
.replaceAll("<boost-multiplier>", String.valueOf(defaultBoost.getMultiplier()))
.replaceAll("<boost-status>", boostStatus)
.replaceAll("<prefix>", Language.CHAT_PREFIX.name());
.replaceAll("<boost-multiplier>", String.valueOf(boost.getMultiplier()))
.replaceAll("<boost-status>", boostStatus);

return bootInfo;
}

}
10 changes: 4 additions & 6 deletions src/main/java/gg/quartzdev/qxpboosts/commands/CMDlist.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import gg.quartzdev.qxpboosts.util.qUtil;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;

import java.util.Set;
Expand All @@ -19,13 +20,10 @@ public CMDlist(String name, String label) {

@Override
public boolean logic(CommandSender sender, String[] args) {

// Boost list
Set<String> boostList = qXpBoosts.getInstance().boostManager.listBoosts();

String message = String.join("<new-line>", boostList);
MiniMessage mm = MiniMessage.miniMessage();
Component component = mm.deserialize(message);
sender.sendMessage(component);
String message = String.join("<reset><newline>", boostList);
qUtil.sendMessage(sender, message);

return false;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gg/quartzdev/qxpboosts/qConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public Set<Boost> getBoosts(){
Set<Boost> boosts = new HashSet<>();
ConfigurationSection boostsSection = this.file.getConfigurationSection("boosts");
for(String boostName : boostsSection.getKeys(false)){
boosts.add(new Boost(boostName, (double) boostsSection.get(boostName)));
boosts.add(new Boost(boostName, boostsSection.getDouble(boostName)));
}
return boosts;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gg/quartzdev/qxpboosts/util/Language.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public enum Language {
XP_CHAT_GAIN("<prefix> <green>Gained <blue><boost-multiplier>x <green>XP"),

// Boost
BOOST_INFO("<purple> <boost-name> - <boost-multiplier> - <boost-status>"),
BOOST_INFO("<dark_purple> <boost-name> <gray>-</gray> <green><boost-multiplier></green> <gray>-</gray> <boost-status>"),
BOOST_STATUS_ERROR("<red>Error"),
BOOST_STATUS_ACTIVE("<green>Active"),
BOOST_STATUS_DISABLED("<red>Disabled");
Expand Down

0 comments on commit 1e0309e

Please sign in to comment.