diff options
| author | shedaniel <daniel@shedaniel.me> | 2019-12-24 11:31:40 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2019-12-24 11:31:40 +0800 |
| commit | 08d80d588a36598114087a79917e36e9d2cc97c3 (patch) | |
| tree | 95cde698bbf1eca2f83143d39fd206cf2dc803f2 /src/main/java/me/shedaniel/rei/api/EntryStack.java | |
| parent | 7d438f554c4173880a407a6bb8fc80b8a4723845 (diff) | |
| download | RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.gz RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.tar.bz2 RoughlyEnoughItems-08d80d588a36598114087a79917e36e9d2cc97c3.zip | |
Finishing workstation usage and close #220
Diffstat (limited to 'src/main/java/me/shedaniel/rei/api/EntryStack.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/api/EntryStack.java | 83 |
1 files changed, 42 insertions, 41 deletions
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<Identifier> 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; } - + <T> EntryStack setting(Settings<T> settings, T value); - + <T> EntryStack removeSetting(Settings<T> settings); - + EntryStack clearSettings(); - + default <T> EntryStack addSetting(Settings<T> settings, T value) { return setting(settings, value); } - + <T> ObjectHolder<T> getSetting(Settings<T> 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<T> { public static final Supplier<Boolean> TRUE = () -> true; public static final Supplier<Boolean> FALSE = () -> false; @@ -183,29 +183,30 @@ public interface EntryStack { public static final Settings<Supplier<Boolean>> RENDER_COUNTS = new Settings(TRUE); public static final Settings<Function<EntryStack, List<String>>> TOOLTIP_APPEND_EXTRA = new Settings<Function<EntryStack, List<String>>>(stack -> Collections.emptyList()); public static final Settings<Function<EntryStack, String>> COUNTS = new Settings<Function<EntryStack, String>>(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<Supplier<Boolean>> RENDER_ENCHANTMENT_GLINT = new Settings(TRUE); - @Deprecated public static final Settings<Supplier<Boolean>> RENDER_OVERLAY = RENDER_ENCHANTMENT_GLINT; - + @Deprecated + public static final Settings<Supplier<Boolean>> RENDER_OVERLAY = RENDER_ENCHANTMENT_GLINT; + private Item() { } } - + public static class Fluid { // Return null to disable public static final Settings<Function<EntryStack, String>> AMOUNT_TOOLTIP = new Settings<Function<EntryStack, String>>(stack -> I18n.translate("tooltip.rei.fluid_amount", stack.getAmount())); - + private Fluid() { } } |
