From 08d80d588a36598114087a79917e36e9d2cc97c3 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 24 Dec 2019 11:31:40 +0800 Subject: Finishing workstation usage and close #220 --- src/main/java/me/shedaniel/rei/api/EntryStack.java | 83 +++++++++++----------- 1 file changed, 42 insertions(+), 41 deletions(-) (limited to 'src/main/java/me/shedaniel/rei/api/EntryStack.java') diff --git a/src/main/java/me/shedaniel/rei/api/EntryStack.java b/src/main/java/me/shedaniel/rei/api/EntryStack.java index a7e03bc1e..926ad28a8 100644 --- a/src/main/java/me/shedaniel/rei/api/EntryStack.java +++ b/src/main/java/me/shedaniel/rei/api/EntryStack.java @@ -32,27 +32,27 @@ import java.util.function.Supplier; @SuppressWarnings("deprecation") public interface EntryStack { - + static EntryStack empty() { return EmptyEntryStack.EMPTY; } - + static EntryStack create(Fluid fluid) { return new FluidEntryStack(fluid); } - + static EntryStack create(Fluid fluid, int amount) { return new FluidEntryStack(fluid, amount); } - + static EntryStack create(ItemStack stack) { return new ItemEntryStack(stack); } - + static EntryStack create(ItemConvertible item) { return new ItemEntryStack(new ItemStack(item)); } - + @Internal @Deprecated static EntryStack readFromJson(JsonElement jsonElement) { @@ -73,7 +73,7 @@ public interface EntryStack { return EntryStack.empty(); } } - + @Internal @Deprecated @Nullable @@ -102,77 +102,77 @@ public interface EntryStack { return null; } } - + Optional getIdentifier(); - + EntryStack.Type getType(); - + int getAmount(); - + void setAmount(int amount); - + boolean isEmpty(); - + EntryStack copy(); - + Object getObject(); - + boolean equals(EntryStack stack, boolean ignoreTags, boolean ignoreAmount); - + boolean equalsIgnoreTagsAndAmount(EntryStack stack); - + boolean equalsIgnoreTags(EntryStack stack); - + boolean equalsIgnoreAmount(EntryStack stack); - + boolean equalsAll(EntryStack stack); - + int getZ(); - + void setZ(int z); - + default ItemStack getItemStack() { if (getType() == Type.ITEM) return (ItemStack) getObject(); return null; } - + default Item getItem() { if (getType() == Type.ITEM) return ((ItemStack) getObject()).getItem(); return null; } - + default Fluid getFluid() { if (getType() == Type.FLUID) return (Fluid) getObject(); return null; } - + EntryStack setting(Settings settings, T value); - + EntryStack removeSetting(Settings settings); - + EntryStack clearSettings(); - + default EntryStack addSetting(Settings settings, T value) { return setting(settings, value); } - + ObjectHolder getSetting(Settings settings); - + @Nullable QueuedTooltip getTooltip(int mouseX, int mouseY); - + void render(Rectangle bounds, int mouseX, int mouseY, float delta); - + public static enum Type { ITEM, FLUID, EMPTY, RENDER } - + public static class Settings { public static final Supplier TRUE = () -> true; public static final Supplier FALSE = () -> false; @@ -183,29 +183,30 @@ public interface EntryStack { public static final Settings> RENDER_COUNTS = new Settings(TRUE); public static final Settings>> TOOLTIP_APPEND_EXTRA = new Settings>>(stack -> Collections.emptyList()); public static final Settings> COUNTS = new Settings>(stack -> null); - + private T defaultValue; - + public Settings(T defaultValue) { this.defaultValue = defaultValue; } - + public T getDefaultValue() { return defaultValue; } - + public static class Item { public static final Settings> RENDER_ENCHANTMENT_GLINT = new Settings(TRUE); - @Deprecated public static final Settings> RENDER_OVERLAY = RENDER_ENCHANTMENT_GLINT; - + @Deprecated + public static final Settings> RENDER_OVERLAY = RENDER_ENCHANTMENT_GLINT; + private Item() { } } - + public static class Fluid { // Return null to disable public static final Settings> AMOUNT_TOOLTIP = new Settings>(stack -> I18n.translate("tooltip.rei.fluid_amount", stack.getAmount())); - + private Fluid() { } } -- cgit