Refactoring

This commit is contained in:
NichtStudioCode 2021-08-08 19:58:42 +02:00
parent f0ea48506f
commit 25c20d302f
16 changed files with 45 additions and 45 deletions

@ -170,9 +170,9 @@ public interface GUI extends GUIParent {
* Sets the {@link ItemProvider} that will be used if nothing else * Sets the {@link ItemProvider} that will be used if nothing else
* is placed on a slot. * is placed on a slot.
* *
* @param itemBuilder The {@link ItemProvider} * @param itemProvider The {@link ItemProvider}
*/ */
void setBackground(@Nullable ItemProvider itemBuilder); void setBackground(@Nullable ItemProvider itemProvider);
/** /**
* Gets the {@link ItemProvider} that will used if nothing else * Gets the {@link ItemProvider} that will used if nothing else

@ -30,7 +30,7 @@ public interface SlotElement {
@Override @Override
public ItemStack getItemStack(UUID viewerUUID) { public ItemStack getItemStack(UUID viewerUUID) {
return item.getItemBuilder().getFor(viewerUUID); return item.getItemProvider().getFor(viewerUUID);
} }
@Override @Override

@ -48,8 +48,8 @@ public class GUIBuilder {
return this; return this;
} }
public GUIBuilder addIngredient(char key, @NotNull ItemProvider itemBuilder) { public GUIBuilder addIngredient(char key, @NotNull ItemProvider itemProvider) {
structure.addIngredient(key, itemBuilder); structure.addIngredient(key, itemProvider);
return this; return this;
} }

@ -547,8 +547,8 @@ public abstract class BaseGUI implements GUI, Controllable {
} }
@Override @Override
public void setBackground(ItemProvider itemBuilder) { public void setBackground(ItemProvider itemProvider) {
this.background = itemBuilder; this.background = itemProvider;
} }
@Override @Override

@ -30,8 +30,8 @@ public class Structure {
.replace("\n", ""); .replace("\n", "");
} }
public static void addGlobalIngredient(char key, @NotNull ItemProvider itemBuilder) { public static void addGlobalIngredient(char key, @NotNull ItemProvider itemProvider) {
addGlobalIngredient(key, new SimpleItem(itemBuilder)); addGlobalIngredient(key, new SimpleItem(itemProvider));
} }
public static void addGlobalIngredient(char key, @NotNull Item item) { public static void addGlobalIngredient(char key, @NotNull Item item) {
@ -54,8 +54,8 @@ public class Structure {
globalIngredientMap.put(key, new Ingredient(elementSupplier)); globalIngredientMap.put(key, new Ingredient(elementSupplier));
} }
public Structure addIngredient(char key, @NotNull ItemProvider itemBuilder) { public Structure addIngredient(char key, @NotNull ItemProvider itemProvider) {
return addIngredient(key, new SimpleItem(itemBuilder)); return addIngredient(key, new SimpleItem(itemProvider));
} }
public Structure addIngredient(char key, @NotNull Item item) { public Structure addIngredient(char key, @NotNull Item item) {

@ -17,7 +17,7 @@ public interface Item {
* *
* @return The {@link ItemProvider} * @return The {@link ItemProvider}
*/ */
ItemProvider getItemBuilder(); ItemProvider getItemProvider();
/** /**
* Adds a {@link Window} to the window set, telling the {@link Item} that it is * Adds a {@link Window} to the window set, telling the {@link Item} that it is
@ -45,7 +45,7 @@ public interface Item {
Set<Window> getWindows(); Set<Window> getWindows();
/** /**
* Calls the {@link Window#handleItemBuilderUpdate(Item)} method on every {@link Window} * Calls the {@link Window#handleItemProviderUpdate(Item)} method on every {@link Window}
* in the set, notifying them that the {@link ItemProvider} has been updated * in the set, notifying them that the {@link ItemProvider} has been updated
* and the {@link ItemStack} inside the {@link Window}'s {@link Inventory} should * and the {@link ItemStack} inside the {@link Window}'s {@link Inventory} should
* be replaced. * be replaced.

@ -1,9 +1,9 @@
package de.studiocode.invui.item.impl; package de.studiocode.invui.item.impl;
import de.studiocode.invui.InvUI; import de.studiocode.invui.InvUI;
import de.studiocode.invui.item.ItemProvider;
import de.studiocode.invui.item.Item; import de.studiocode.invui.item.Item;
import de.studiocode.invui.item.ItemBuilder; import de.studiocode.invui.item.ItemBuilder;
import de.studiocode.invui.item.ItemProvider;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -20,24 +20,24 @@ import java.util.function.Supplier;
*/ */
public class AsyncItem extends BaseItem { public class AsyncItem extends BaseItem {
private volatile ItemProvider itemBuilder; private volatile ItemProvider itemProvider;
public AsyncItem(@Nullable ItemProvider itemBuilder, @NotNull Supplier<? extends ItemProvider> builderSupplier) { public AsyncItem(@Nullable ItemProvider itemProvider, @NotNull Supplier<? extends ItemProvider> providerSupplier) {
this.itemBuilder = itemBuilder == null ? new ItemBuilder(Material.AIR) : itemBuilder; this.itemProvider = itemProvider == null ? new ItemBuilder(Material.AIR) : itemProvider;
Bukkit.getScheduler().runTaskAsynchronously(InvUI.getInstance().getPlugin(), () -> { Bukkit.getScheduler().runTaskAsynchronously(InvUI.getInstance().getPlugin(), () -> {
this.itemBuilder = builderSupplier.get(); this.itemProvider = providerSupplier.get();
Bukkit.getScheduler().runTask(InvUI.getInstance().getPlugin(), this::notifyWindows); Bukkit.getScheduler().runTask(InvUI.getInstance().getPlugin(), this::notifyWindows);
}); });
} }
public AsyncItem(@NotNull Supplier<? extends ItemProvider> builderSupplier) { public AsyncItem(@NotNull Supplier<? extends ItemProvider> providerSupplier) {
this(null, builderSupplier); this(null, providerSupplier);
} }
@Override @Override
public ItemProvider getItemBuilder() { public ItemProvider getItemProvider() {
return itemBuilder; return itemProvider;
} }
@Override @Override

@ -16,14 +16,14 @@ import org.bukkit.scheduler.BukkitTask;
*/ */
public class AutoCycleItem extends BaseItem { public class AutoCycleItem extends BaseItem {
private final ItemProvider[] itemBuilders; private final ItemProvider[] itemProviders;
private final int period; private final int period;
private BukkitTask task; private BukkitTask task;
private int state; private int state;
public AutoCycleItem(int period, ItemProvider... itemBuilders) { public AutoCycleItem(int period, ItemProvider... itemProviders) {
this.itemBuilders = itemBuilders; this.itemProviders = itemProviders;
this.period = period; this.period = period;
} }
@ -39,13 +39,13 @@ public class AutoCycleItem extends BaseItem {
private void cycle() { private void cycle() {
state++; state++;
if (state == itemBuilders.length) state = 0; if (state == itemProviders.length) state = 0;
notifyWindows(); notifyWindows();
} }
@Override @Override
public ItemProvider getItemBuilder() { public ItemProvider getItemProvider() {
return itemBuilders[state]; return itemProviders[state];
} }
@Override @Override

@ -31,7 +31,7 @@ public abstract class BaseItem implements Item {
@Override @Override
public void notifyWindows() { public void notifyWindows() {
windows.forEach(w -> w.handleItemBuilderUpdate(this)); windows.forEach(w -> w.handleItemProviderUpdate(this));
} }
} }

@ -14,8 +14,8 @@ public class CommandItem extends SimpleItem {
private final String command; private final String command;
public CommandItem(@NotNull ItemProvider itemBuilder, @NotNull String command) { public CommandItem(@NotNull ItemProvider itemProvider, @NotNull String command) {
super(itemBuilder); super(itemProvider);
this.command = command; this.command = command;
} }

@ -26,7 +26,7 @@ public class CycleItem extends BaseItem {
} }
@Override @Override
public ItemProvider getItemBuilder() { public ItemProvider getItemProvider() {
return states[state]; return states[state];
} }

@ -16,21 +16,21 @@ import java.util.function.Consumer;
*/ */
public class SimpleItem extends BaseItem { public class SimpleItem extends BaseItem {
private final ItemProvider itemBuilder; private final ItemProvider itemProvider;
private final Consumer<Click> clickHandler; private final Consumer<Click> clickHandler;
public SimpleItem(@NotNull ItemProvider itemBuilder) { public SimpleItem(@NotNull ItemProvider itemProvider) {
this.itemBuilder = itemBuilder; this.itemProvider = itemProvider;
this.clickHandler = null; this.clickHandler = null;
} }
public SimpleItem(@NotNull ItemProvider itemBuilder, @Nullable Consumer<Click> clickHandler) { public SimpleItem(@NotNull ItemProvider itemProvider, @Nullable Consumer<Click> clickHandler) {
this.itemBuilder = itemBuilder; this.itemProvider = itemProvider;
this.clickHandler = clickHandler; this.clickHandler = clickHandler;
} }
public ItemProvider getItemBuilder() { public ItemProvider getItemProvider() {
return itemBuilder; return itemProvider;
} }
@Override @Override

@ -22,7 +22,7 @@ public class SuppliedItem extends BaseItem {
} }
@Override @Override
public ItemProvider getItemBuilder() { public ItemProvider getItemProvider() {
return builderSupplier.get(); return builderSupplier.get();
} }

@ -14,11 +14,11 @@ public abstract class ControlItem<G extends GUI> extends BaseItem {
private G gui; private G gui;
public abstract ItemProvider getItemBuilder(G gui); public abstract ItemProvider getItemProvider(G gui);
@Override @Override
public final ItemProvider getItemBuilder() { public final ItemProvider getItemProvider() {
return getItemBuilder(gui); return getItemProvider(gui);
} }
public G getGui() { public G getGui() {

@ -112,7 +112,7 @@ public interface Window extends GUIParent {
* *
* @param item The {@link Item} whose {@link ItemProvider} has been updated. * @param item The {@link Item} whose {@link ItemProvider} has been updated.
*/ */
void handleItemBuilderUpdate(Item item); void handleItemProviderUpdate(Item item);
/** /**
* A method called by the {@link VirtualInventory} to notify the * A method called by the {@link VirtualInventory} to notify the

@ -149,7 +149,7 @@ public abstract class BaseWindow implements Window {
} }
@Override @Override
public void handleItemBuilderUpdate(Item item) { public void handleItemProviderUpdate(Item item) {
getItemSlotElements(item).forEach((index, slotElement) -> getItemSlotElements(item).forEach((index, slotElement) ->
redrawItem(index, slotElement, false)); redrawItem(index, slotElement, false));
} }