Skip to content

Commit 766c13c

Browse files
committed
Reduce code duplication
1 parent b841828 commit 766c13c

File tree

7 files changed

+25
-93
lines changed

7 files changed

+25
-93
lines changed

src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import org.bukkit.entity.Player;
2626
import org.bukkit.event.block.BlockBreakEvent;
2727
import org.bukkit.event.block.BlockPlaceEvent;
28-
import org.bukkit.event.inventory.InventoryClickEvent;
2928
import org.bukkit.inventory.Inventory;
3029
import org.bukkit.inventory.ItemStack;
3130
import org.bukkit.inventory.meta.ItemMeta;
@@ -55,8 +54,6 @@
5554

5655
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
5756
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu;
58-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
59-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
6057
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineFuel;
6158
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.InventoryBlock;
6259
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
@@ -847,18 +844,7 @@ private void constructMenu(@Nonnull BlockMenuPreset preset) {
847844
preset.drawBackground(ChestMenuUtils.getOutputSlotTexture(), OUTPUT_BORDER);
848845

849846
for (int i : getOutputSlots()) {
850-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
851-
852-
@Override
853-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
854-
return false;
855-
}
856-
857-
@Override
858-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
859-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
860-
}
861-
});
847+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
862848
}
863849

864850
preset.addItem(34, getFuelSource().getItem(), ChestMenuUtils.getEmptyClickHandler());

src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/ElectricSmeltery.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.bukkit.Material;
1212
import org.bukkit.block.Block;
1313
import org.bukkit.entity.Player;
14-
import org.bukkit.event.inventory.InventoryClickEvent;
1514
import org.bukkit.inventory.ItemStack;
1615

1716
import io.github.bakedlibs.dough.items.CustomItemStack;
@@ -25,8 +24,6 @@
2524
import io.github.thebusybiscuit.slimefun4.utils.ChestMenuUtils;
2625
import io.github.thebusybiscuit.slimefun4.utils.SlimefunUtils;
2726

28-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
29-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
3027
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.AContainer;
3128
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
3229
import me.mrCookieSlime.Slimefun.api.inventory.DirtyChestMenu;
@@ -126,18 +123,7 @@ protected void constructMenu(BlockMenuPreset preset) {
126123
preset.addItem(22, new CustomItemStack(Material.BLACK_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler());
127124

128125
for (int i : getOutputSlots()) {
129-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
130-
131-
@Override
132-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
133-
return false;
134-
}
135-
136-
@Override
137-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
138-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
139-
}
140-
});
126+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
141127
}
142128
}
143129

src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/FluidPump.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import org.bukkit.block.BlockFace;
1414
import org.bukkit.block.data.BlockData;
1515
import org.bukkit.block.data.Levelled;
16-
import org.bukkit.entity.Player;
17-
import org.bukkit.event.inventory.InventoryClickEvent;
1816
import org.bukkit.inventory.ItemStack;
1917

2018
import io.github.bakedlibs.dough.blocks.Vein;
@@ -32,8 +30,6 @@
3230
import io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper;
3331

3432
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
35-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
36-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
3733
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.InventoryBlock;
3834
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
3935
import me.mrCookieSlime.Slimefun.api.BlockStorage;
@@ -100,18 +96,7 @@ private void constructMenu(@Nonnull BlockMenuPreset preset) {
10096
}
10197

10298
for (int i : getOutputSlots()) {
103-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
104-
105-
@Override
106-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
107-
return false;
108-
}
109-
110-
@Override
111-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
112-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
113-
}
114-
});
99+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
115100
}
116101
}
117102

src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/geo/GEOMiner.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111
import org.bukkit.ChatColor;
1212
import org.bukkit.Material;
1313
import org.bukkit.block.Block;
14-
import org.bukkit.entity.Player;
1514
import org.bukkit.event.block.BlockPlaceEvent;
16-
import org.bukkit.event.inventory.InventoryClickEvent;
1715
import org.bukkit.inventory.ItemStack;
1816

1917
import io.github.bakedlibs.dough.items.CustomItemStack;
@@ -38,8 +36,6 @@
3836
import io.github.thebusybiscuit.slimefun4.utils.ChestMenuUtils;
3937

4038
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
41-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
42-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
4339
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.InventoryBlock;
4440
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
4541
import me.mrCookieSlime.Slimefun.api.BlockStorage;
@@ -265,18 +261,7 @@ protected void constructMenu(@Nonnull BlockMenuPreset preset) {
265261
preset.addItem(4, new CustomItemStack(Material.BLACK_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler());
266262

267263
for (int i : OUTPUT_SLOTS) {
268-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
269-
270-
@Override
271-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
272-
return false;
273-
}
274-
275-
@Override
276-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
277-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
278-
}
279-
});
264+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
280265
}
281266
}
282267

src/main/java/io/github/thebusybiscuit/slimefun4/utils/ChestMenuUtils.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55

66
import javax.annotation.Nonnull;
77

8+
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
89
import org.bukkit.ChatColor;
910
import org.bukkit.Material;
1011
import org.bukkit.entity.Player;
12+
import org.bukkit.event.inventory.InventoryClickEvent;
1113
import org.bukkit.inventory.Inventory;
1214
import org.bukkit.inventory.ItemFlag;
1315
import org.bukkit.inventory.ItemStack;
@@ -43,6 +45,19 @@ private ChestMenuUtils() {}
4345
private static final ItemStack PREV_BUTTON_INACTIVE = new SlimefunItemStack("_UI_PREVIOUS_INACTIVE", Material.BLACK_STAINED_GLASS_PANE, "&8\u21E6 Previous Page");
4446
private static final ItemStack NEXT_BUTTON_INACTIVE = new SlimefunItemStack("_UI_NEXT_INACTIVE", Material.BLACK_STAINED_GLASS_PANE, "&8Next Page \u21E8");
4547

48+
private static final ChestMenu.AdvancedMenuClickHandler OUTPUT_HANDLER = new ChestMenu.AdvancedMenuClickHandler() {
49+
50+
@Override
51+
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
52+
return false;
53+
}
54+
55+
@Override
56+
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
57+
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
58+
}
59+
};
60+
4661
private static final MenuClickHandler CLICK_HANDLER = (p, s, i, a) -> false;
4762

4863
public static @Nonnull ItemStack getBackground() {
@@ -69,6 +84,10 @@ private ChestMenuUtils() {}
6984
return CLICK_HANDLER;
7085
}
7186

87+
public static @Nonnull ChestMenu.AdvancedMenuClickHandler getDefaultOutputHandler() {
88+
return OUTPUT_HANDLER;
89+
}
90+
7291
public static @Nonnull ItemStack getBackButton(@Nonnull Player p, String... lore) {
7392
return new CustomItemStack(BACK_BUTTON, "&7\u21E6 " + Slimefun.getLocalization().getMessage(p, "guide.back.title"), lore);
7493
}

src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AContainer.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import org.bukkit.Location;
1313
import org.bukkit.Material;
1414
import org.bukkit.block.Block;
15-
import org.bukkit.entity.Player;
16-
import org.bukkit.event.inventory.InventoryClickEvent;
1715
import org.bukkit.inventory.Inventory;
1816
import org.bukkit.inventory.ItemStack;
1917

@@ -37,8 +35,6 @@
3735
import io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper;
3836

3937
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
40-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
41-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
4238
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.interfaces.InventoryBlock;
4339
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
4440
import me.mrCookieSlime.Slimefun.api.BlockStorage;
@@ -115,18 +111,7 @@ protected void constructMenu(BlockMenuPreset preset) {
115111
preset.addItem(22, new CustomItemStack(Material.BLACK_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler());
116112

117113
for (int i : getOutputSlots()) {
118-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
119-
120-
@Override
121-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
122-
return false;
123-
}
124-
125-
@Override
126-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
127-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
128-
}
129-
});
114+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
130115
}
131116
}
132117

src/main/java/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/abstractItems/AGenerator.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.bukkit.Material;
1313
import org.bukkit.block.Block;
1414
import org.bukkit.entity.Player;
15-
import org.bukkit.event.inventory.InventoryClickEvent;
1615
import org.bukkit.inventory.ItemStack;
1716

1817
import io.github.bakedlibs.dough.items.CustomItemStack;
@@ -35,8 +34,6 @@
3534
import io.github.thebusybiscuit.slimefun4.utils.itemstack.ItemStackWrapper;
3635

3736
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
38-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu.AdvancedMenuClickHandler;
39-
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
4037
import me.mrCookieSlime.Slimefun.api.BlockStorage;
4138
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
4239
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
@@ -122,18 +119,7 @@ private void constructMenu(BlockMenuPreset preset) {
122119
}
123120

124121
for (int i : getOutputSlots()) {
125-
preset.addMenuClickHandler(i, new AdvancedMenuClickHandler() {
126-
127-
@Override
128-
public boolean onClick(Player p, int slot, ItemStack cursor, ClickAction action) {
129-
return false;
130-
}
131-
132-
@Override
133-
public boolean onClick(InventoryClickEvent e, Player p, int slot, ItemStack cursor, ClickAction action) {
134-
return cursor == null || cursor.getType() == null || cursor.getType() == Material.AIR;
135-
}
136-
});
122+
preset.addMenuClickHandler(i, ChestMenuUtils.getDefaultOutputHandler());
137123
}
138124

139125
preset.addItem(22, new CustomItemStack(Material.BLACK_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler());

0 commit comments

Comments
 (0)