|
10 | 10 | import org.eclipse.jdt.annotation.Nullable; |
11 | 11 |
|
12 | 12 | import net.kyori.adventure.text.Component; |
13 | | -import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; |
14 | 13 | import net.kyori.adventure.title.Title; |
15 | 14 |
|
16 | 15 | import world.bentobox.aoneblock.AOneBlock; |
@@ -48,20 +47,6 @@ public CheckPhase(AOneBlock addon, BlockListener blockListener) { |
48 | 47 |
|
49 | 48 | } |
50 | 49 |
|
51 | | - /** |
52 | | - * Converts a BentoBox translation key into an Adventure {@link Component}. |
53 | | - * BentoBox's {@code getTranslation()} returns strings with § color codes already |
54 | | - * applied, so {@link LegacyComponentSerializer#legacySection()} is used here. |
55 | | - * |
56 | | - * @param user - the user whose locale is used |
57 | | - * @param key - BentoBox translation key |
58 | | - * @param vars - alternating placeholder key/value pairs |
59 | | - * @return the translated, colored Component |
60 | | - */ |
61 | | - private Component translate(User user, String key, String... vars) { |
62 | | - return LegacyComponentSerializer.legacySection().deserialize(user.getTranslation(key, vars)); |
63 | | - } |
64 | | - |
65 | 50 | /** |
66 | 51 | * Runs end phase commands, sets new phase and runs new phase commands |
67 | 52 | * |
@@ -100,9 +85,7 @@ void setNewPhase(@Nullable Player player, @NonNull Island i, @NonNull OneBlockIs |
100 | 85 | // Set the phase name |
101 | 86 | is.setPhaseName(newPhaseName); |
102 | 87 | if (user.isPlayer() && user.isOnline() && addon.inWorld(user.getWorld())) { |
103 | | - // Phase names are raw YAML strings — use legacyAmpersand to parse & color codes. |
104 | | - Component titleComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(newPhaseName); |
105 | | - user.getPlayer().showTitle(Title.title(titleComponent, Component.empty())); |
| 88 | + user.getPlayer().showTitle(Title.title(Component.text(newPhaseName), Component.empty())); |
106 | 89 | } |
107 | 90 | // Run phase start commands |
108 | 91 | Util.runCommands(user, |
@@ -147,52 +130,55 @@ private boolean checkRequirement(Requirement r, User user, Island i, OneBlockIsl |
147 | 130 | } |
148 | 131 |
|
149 | 132 | private boolean checkLevelRequirement(Requirement r, User user, Island i, World world) { |
| 133 | + // Level checking logic |
150 | 134 | return addon.getAddonByName("Level").map(l -> { |
151 | 135 | if (((Level) l).getIslandLevel(world, i.getOwner()) < r.getLevel()) { |
152 | | - user.getPlayer().sendMessage(translate(user, "aoneblock.phase.insufficient-level", |
153 | | - TextVariables.NUMBER, String.valueOf(r.getLevel()))); |
| 136 | + user.sendMessage("aoneblock.phase.insufficient-level", TextVariables.NUMBER, |
| 137 | + String.valueOf(r.getLevel())); |
154 | 138 | return true; |
155 | 139 | } |
156 | 140 | return false; |
157 | 141 | }).orElse(false); |
158 | 142 | } |
159 | 143 |
|
160 | 144 | private boolean checkBankRequirement(Requirement r, User user, Island i) { |
| 145 | + // Bank checking logic |
161 | 146 | return addon.getAddonByName("Bank").map(l -> { |
162 | 147 | if (((Bank) l).getBankManager().getBalance(i).getValue() < r.getBank()) { |
163 | | - user.getPlayer().sendMessage(translate(user, "aoneblock.phase.insufficient-bank-balance", |
164 | | - TextVariables.NUMBER, String.valueOf(r.getBank()))); |
| 148 | + user.sendMessage("aoneblock.phase.insufficient-bank-balance", TextVariables.NUMBER, |
| 149 | + String.valueOf(r.getBank())); |
165 | 150 | return true; |
166 | 151 | } |
167 | 152 | return false; |
168 | 153 | }).orElse(false); |
169 | 154 | } |
170 | 155 |
|
171 | 156 | private boolean checkEcoRequirement(Requirement r, User user, World world) { |
| 157 | + // Eco checking logic |
172 | 158 | return addon.getPlugin().getVault().map(vaultHook -> { |
173 | 159 | if (vaultHook.getBalance(user, world) < r.getEco()) { |
174 | | - user.getPlayer().sendMessage(translate(user, "aoneblock.phase.insufficient-funds", |
175 | | - TextVariables.NUMBER, vaultHook.format(r.getEco()))); |
| 160 | + user.sendMessage("aoneblock.phase.insufficient-funds", TextVariables.NUMBER, |
| 161 | + vaultHook.format(r.getEco())); |
176 | 162 | return true; |
177 | 163 | } |
178 | 164 | return false; |
179 | 165 | }).orElse(false); |
180 | 166 | } |
181 | 167 |
|
182 | 168 | private boolean checkPermissionRequirement(Requirement r, User user) { |
| 169 | + // Permission checking logic |
183 | 170 | if (user != null && !user.hasPermission(r.getPermission())) { |
184 | | - user.getPlayer().sendMessage(translate(user, "aoneblock.phase.insufficient-permission", |
185 | | - TextVariables.NAME, r.getPermission())); |
| 171 | + user.sendMessage("aoneblock.phase.insufficient-permission", TextVariables.NAME, r.getPermission()); |
186 | 172 | return true; |
187 | 173 | } |
188 | 174 | return false; |
189 | 175 | } |
190 | 176 |
|
191 | 177 | private boolean checkCooldownRequirement(Requirement r, User player, OneBlockIslands is) { |
| 178 | + // Cooldown checking logic |
192 | 179 | long remainingTime = r.getCooldown() - (System.currentTimeMillis() - is.getLastPhaseChangeTime()) / 1000; |
193 | 180 | if (remainingTime > 0) { |
194 | | - player.getPlayer().sendMessage(translate(player, "aoneblock.phase.cooldown", |
195 | | - TextVariables.NUMBER, String.valueOf(remainingTime))); |
| 181 | + player.sendMessage("aoneblock.phase.cooldown", TextVariables.NUMBER, String.valueOf(remainingTime)); |
196 | 182 | return true; |
197 | 183 | } |
198 | 184 | return false; |
|
0 commit comments