Skip to content

Commit 9da6287

Browse files
committed
remove BetterGUI#getInstance
1 parent 866f1fa commit 9da6287

27 files changed

Lines changed: 129 additions & 97 deletions

src/main/java/me/hsgamer/bettergui/BetterGUI.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import me.hsgamer.hscore.config.proxy.ConfigGenerator;
2323
import org.bstats.bukkit.Metrics;
2424
import org.bstats.charts.AdvancedPie;
25-
import org.bukkit.plugin.java.JavaPlugin;
2625

2726
import java.util.Arrays;
2827
import java.util.HashMap;
@@ -33,15 +32,6 @@
3332
* The main class of the plugin
3433
*/
3534
public final class BetterGUI extends BasePlugin implements PostEnable {
36-
/**
37-
* Get the instance of the plugin
38-
*
39-
* @return the instance
40-
*/
41-
public static BetterGUI getInstance() {
42-
return JavaPlugin.getPlugin(BetterGUI.class);
43-
}
44-
4535
@Override
4636
protected List<Object> getComponents() {
4737
return Arrays.asList(
@@ -55,11 +45,11 @@ protected List<Object> getComponents() {
5545

5646
new ActionBuilder(this),
5747
new ArgumentProcessorBuilder(),
58-
new ButtonBuilder(),
48+
new ButtonBuilder(this),
5949
new ConfigBuilder(),
6050
new InventoryBuilder(),
6151
new ItemModifierBuilder(),
62-
new MenuBuilder(),
52+
new MenuBuilder(this),
6353
new RequirementBuilder(),
6454

6555
new Permissions(this),

src/main/java/me/hsgamer/bettergui/action/ActionApplier.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import me.hsgamer.hscore.common.StringReplacer;
1010
import me.hsgamer.hscore.task.element.TaskPool;
1111
import me.hsgamer.hscore.task.element.TaskProcess;
12+
import org.bukkit.plugin.java.JavaPlugin;
1213

1314
import java.util.Collections;
1415
import java.util.List;
@@ -43,7 +44,7 @@ public ActionApplier(List<Action> actions, StringReplacer replacer) {
4344
* @param value the value
4445
*/
4546
public ActionApplier(MenuElement menuElement, Object value) {
46-
this(BetterGUI.getInstance().get(ActionBuilder.class).build(menuElement, value), StringReplacer.of((original, uuid) -> StringReplacerApplier.replace(original, uuid, menuElement)));
47+
this(JavaPlugin.getPlugin(BetterGUI.class).get(ActionBuilder.class).build(menuElement, value), StringReplacer.of((original, uuid) -> StringReplacerApplier.replace(original, uuid, menuElement)));
4748
}
4849

4950
/**

src/main/java/me/hsgamer/bettergui/action/type/BackAction.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
import java.util.UUID;
1515

1616
public class BackAction implements Action {
17+
private final BetterGUI plugin;
1718
private final Menu menu;
1819
private final String value;
1920
private final boolean bypass;
2021

21-
public BackAction(ActionBuilder.Input input) {
22+
public BackAction(BetterGUI plugin, ActionBuilder.Input input) {
23+
this.plugin = plugin;
2224
this.menu = input.getMenuElement().getMenu();
2325
this.value = input.getValue();
2426
this.bypass = input.getOption().equalsIgnoreCase("bypassChecks");
@@ -36,7 +38,7 @@ public void apply(UUID uuid, TaskProcess process, StringReplacer stringReplacer)
3638
? stringReplacer.replaceOrOriginal(value, uuid).split(" ")
3739
: new String[0];
3840

39-
Runnable runnable = BetterGUI.getInstance().get(MenuManager.class).getParentMenu(uuid, menu)
41+
Runnable runnable = plugin.get(MenuManager.class).getParentMenu(uuid, menu)
4042
.<Runnable>map(parentMenu -> () -> parentMenu.create(player, args, bypass))
4143
.orElse(player::closeInventory);
4244
SchedulerUtil.entity(player)

src/main/java/me/hsgamer/bettergui/action/type/OpenMenuAction.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
import java.util.Arrays;
1717
import java.util.UUID;
1818

19-
import static me.hsgamer.bettergui.BetterGUI.getInstance;
20-
2119
public class OpenMenuAction implements Action {
20+
private final BetterGUI plugin;
2221
private final Menu menu;
2322
private final String value;
2423
private final boolean bypass;
2524

26-
public OpenMenuAction(ActionBuilder.Input input) {
25+
public OpenMenuAction(BetterGUI plugin, ActionBuilder.Input input) {
26+
this.plugin = plugin;
2727
this.menu = input.getMenuElement().getMenu();
2828
this.value = input.getValue();
2929
this.bypass = input.getOption().equalsIgnoreCase("bypassChecks");
@@ -46,20 +46,19 @@ public void apply(UUID uuid, TaskProcess process, StringReplacer stringReplacer)
4646
}
4747

4848
// Open menu
49-
if (getInstance().get(MenuManager.class).contains(menu)) {
49+
if (plugin.get(MenuManager.class).contains(menu)) {
5050
String[] finalArgs = args;
5151
Menu parentMenu = this.menu;
5252
SchedulerUtil.entity(player)
5353
.run(() -> {
5454
try {
55-
getInstance().get(MenuManager.class).openMenu(menu, player, finalArgs, parentMenu, bypass);
55+
plugin.get(MenuManager.class).openMenu(menu, player, finalArgs, parentMenu, bypass);
5656
} finally {
5757
process.next();
5858
}
5959
}, process::next);
6060
} else {
61-
BetterGUI betterGUI = getInstance();
62-
MessageUtils.sendMessage(player, betterGUI.get(MessageConfig.class).getMenuNotFound());
61+
MessageUtils.sendMessage(player, plugin.get(MessageConfig.class).getMenuNotFound());
6362
process.next();
6463
}
6564
}

src/main/java/me/hsgamer/bettergui/api/menu/Menu.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import me.hsgamer.hscore.common.StringReplacer;
77
import me.hsgamer.hscore.config.Config;
88
import org.bukkit.entity.Player;
9+
import org.bukkit.plugin.java.JavaPlugin;
910
import org.jetbrains.annotations.NotNull;
1011
import org.jetbrains.annotations.Nullable;
1112

@@ -66,7 +67,7 @@ public StringReplacer getStringReplacer() {
6667
@Override
6768
public @Nullable String replace(@NotNull String original, @NotNull UUID uuid) {
6869
if (original.equalsIgnoreCase("parent-menu")) {
69-
return BetterGUI.getInstance().get(MenuManager.class).getParentMenu(uuid, Menu.this).map(Menu::getName).orElse(null);
70+
return JavaPlugin.getPlugin(BetterGUI.class).get(MenuManager.class).getParentMenu(uuid, Menu.this).map(Menu::getName).orElse(null);
7071
}
7172
return replace(original);
7273
}

src/main/java/me/hsgamer/bettergui/argument/ArgumentHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import me.hsgamer.hscore.common.MapUtils;
99
import me.hsgamer.hscore.common.Pair;
1010
import me.hsgamer.hscore.common.StringReplacer;
11+
import org.bukkit.plugin.java.JavaPlugin;
1112

1213
import java.util.*;
1314

@@ -30,7 +31,7 @@ public ArgumentHandler(MenuElement menuElement, Map<String, Object> section) {
3031
if (value instanceof Map) {
3132
//noinspection unchecked
3233
Map<String, Object> map = (Map<String, Object>) value;
33-
BetterGUI.getInstance().get(ArgumentProcessorBuilder.class)
34+
JavaPlugin.getPlugin(BetterGUI.class).get(ArgumentProcessorBuilder.class)
3435
.build(new ArgumentProcessorBuilder.Input(menuElement, key, map))
3536
.ifPresent(processors::add);
3637
}

src/main/java/me/hsgamer/bettergui/builder/ActionBuilder.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
import io.github.projectunified.minelib.plugin.base.Loadable;
44
import me.hsgamer.bettergui.BetterGUI;
5-
import me.hsgamer.bettergui.action.type.*;
5+
import me.hsgamer.bettergui.action.type.BackAction;
6+
import me.hsgamer.bettergui.action.type.CloseMenuAction;
7+
import me.hsgamer.bettergui.action.type.OpenMenuAction;
8+
import me.hsgamer.bettergui.action.type.UpdateMenuAction;
69
import me.hsgamer.bettergui.api.element.MenuElement;
710
import me.hsgamer.hscore.action.builder.ActionInput;
811
import me.hsgamer.hscore.action.common.Action;
912
import me.hsgamer.hscore.bukkit.action.PlayerAction;
1013
import me.hsgamer.hscore.bukkit.action.builder.BukkitActionBuilder;
1114
import me.hsgamer.hscore.bukkit.utils.ColorUtils;
1215
import me.hsgamer.hscore.common.CollectionUtils;
16+
import org.bukkit.plugin.java.JavaPlugin;
1317

1418
import java.util.List;
1519
import java.util.stream.Collectors;
@@ -27,8 +31,8 @@ public ActionBuilder(BetterGUI plugin) {
2731
@Override
2832
public void load() {
2933
BukkitActionBuilder.register(this, plugin, ColorUtils::colorize);
30-
register(OpenMenuAction::new, "open-menu", "open", "menu", "open-menu");
31-
register(BackAction::new, "back-menu", "backmenu");
34+
register(input -> new OpenMenuAction(plugin, input), "open-menu", "open", "menu", "open-menu");
35+
register(input -> new BackAction(plugin, input), "back-menu", "backmenu");
3236
register(input -> new CloseMenuAction(input.getMenuElement().getMenu()), "close-menu", "closemenu");
3337
register(input -> new UpdateMenuAction(input.getMenuElement().getMenu()), "update-menu", "updatemenu");
3438
}
@@ -51,7 +55,7 @@ public List<Action> build(MenuElement menuElement, Object object) {
5155
.stream()
5256
.map(input -> Input.create(menuElement, input))
5357
.collect(Collectors.toList());
54-
return build(inputs, input -> new PlayerAction(BetterGUI.getInstance(), input.getOriginalValue()));
58+
return build(inputs, input -> new PlayerAction(JavaPlugin.getPlugin(BetterGUI.class), input.getOriginalValue()));
5559
}
5660

5761
public interface Input extends ActionInput {

src/main/java/me/hsgamer/bettergui/builder/ButtonBuilder.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.hsgamer.bettergui.builder;
22

33
import io.github.projectunified.minelib.plugin.base.Loadable;
4+
import me.hsgamer.bettergui.BetterGUI;
45
import me.hsgamer.bettergui.api.button.MenuButton;
56
import me.hsgamer.bettergui.api.element.MenuElement;
67
import me.hsgamer.bettergui.button.*;
@@ -17,20 +18,23 @@
1718
* The button builder
1819
*/
1920
public final class ButtonBuilder extends FunctionalMassBuilder<ButtonBuilder.Input, MenuButton> implements Loadable {
20-
public ButtonBuilder() {
21+
private final BetterGUI plugin;
22+
23+
public ButtonBuilder(BetterGUI plugin) {
24+
this.plugin = plugin;
2125
}
2226

2327
@Override
2428
public void load() {
25-
register(TemplateButton::new, "template");
26-
register(WrappedDummyButton::new, "dummy", "raw");
29+
register(input -> new TemplateButton(plugin, input), "template");
30+
register(input -> new WrappedDummyButton(plugin, input), "dummy", "raw");
2731
register(EmptyButton::new, "empty");
2832
register(WrappedAirButton::new, "air");
29-
register(WrappedPredicateButton::new, "predicate", "requirement");
30-
register(WrappedListButton::new, "list");
31-
register(WrappedAnimatedButton::new, "animated", "animate", "anim");
33+
register(input -> new WrappedPredicateButton(plugin, input), "predicate", "requirement");
34+
register(input -> new WrappedListButton(plugin, input), "list");
35+
register(input -> new WrappedAnimatedButton(plugin, input), "animated", "animate", "anim");
3236
register(WrappedNullButton::new, "null", "none");
33-
register(WrappedSimpleButton::new, "simple");
37+
register(input -> new WrappedSimpleButton(plugin, input), "simple");
3438
}
3539

3640
@Override

src/main/java/me/hsgamer/bettergui/builder/MenuBuilder.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.hsgamer.bettergui.builder;
22

33
import io.github.projectunified.minelib.plugin.base.Loadable;
4+
import me.hsgamer.bettergui.BetterGUI;
45
import me.hsgamer.bettergui.api.menu.Menu;
56
import me.hsgamer.bettergui.menu.AddonMenu;
67
import me.hsgamer.bettergui.menu.PredicateMenu;
@@ -15,14 +16,17 @@
1516
* The menu builder
1617
*/
1718
public final class MenuBuilder extends FunctionalMassBuilder<Config, Menu> implements Loadable {
18-
public MenuBuilder() {
19+
private final BetterGUI plugin;
20+
21+
public MenuBuilder(BetterGUI plugin) {
22+
this.plugin = plugin;
1923
}
2024

2125
@Override
2226
public void load() {
23-
register(SimpleMenu::new, "simple");
24-
register(AddonMenu::new, "addon");
25-
register(PredicateMenu::new, "predicate");
27+
register(input -> new SimpleMenu(plugin, input), "simple");
28+
register(input -> new AddonMenu(plugin, input), "addon");
29+
register(input -> new PredicateMenu(plugin, input), "predicate");
2630
}
2731

2832
@Override

src/main/java/me/hsgamer/bettergui/button/ActionButton.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import me.hsgamer.hscore.common.MapUtils;
1313
import me.hsgamer.hscore.task.BatchRunnable;
1414
import org.bukkit.event.inventory.InventoryClickEvent;
15+
import org.bukkit.plugin.java.JavaPlugin;
1516

1617
import java.util.Collections;
1718
import java.util.Map;
@@ -35,7 +36,7 @@ protected Button createButton(Map<String, Object> section) {
3536
Optional.ofNullable(keys.get("close-on-click")).map(String::valueOf).map(Boolean::parseBoolean).orElse(false)
3637
);
3738
return getButtonFunction(section).apply(clickEvent -> {
38-
BukkitClickType clickType = ClickTypeUtils.getClickTypeFromEvent(clickEvent, BetterGUI.getInstance().get(MainConfig.class).isModernClickType());
39+
BukkitClickType clickType = ClickTypeUtils.getClickTypeFromEvent(clickEvent, JavaPlugin.getPlugin(BetterGUI.class).get(MainConfig.class).isModernClickType());
3940
BatchRunnable batchRunnable = new BatchRunnable();
4041
clickActionHandler.apply(clickEvent.getWhoClicked().getUniqueId(), clickType, batchRunnable);
4142
SchedulerUtil.async().run(batchRunnable);

0 commit comments

Comments
 (0)