diff --git a/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java b/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java new file mode 100644 index 000000000..df882beca --- /dev/null +++ b/src/main/java/com/refinedmods/refinedstorage/RSLootFunctions.java @@ -0,0 +1,16 @@ +package com.refinedmods.refinedstorage; + +import com.refinedmods.refinedstorage.loottable.ControllerLootFunction; +import com.refinedmods.refinedstorage.loottable.CrafterLootFunction; +import com.refinedmods.refinedstorage.loottable.PortableGridBlockLootFunction; +import com.refinedmods.refinedstorage.loottable.StorageBlockLootFunction; +import net.minecraft.loot.LootFunctionType; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.Registry; + +public final class RSLootFunctions { + public static final LootFunctionType STORAGE_BLOCK = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "storage_block"), new LootFunctionType(new StorageBlockLootFunction.Serializer())); + public static final LootFunctionType PORTABLE_GRID = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "portable_grid"), new LootFunctionType(new PortableGridBlockLootFunction.Serializer())); + public static final LootFunctionType CRAFTER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "crafter"), new LootFunctionType(new CrafterLootFunction.Serializer())); + public static final LootFunctionType CONTROLLER = Registry.register(Registry.field_239694_aZ_, new ResourceLocation(RS.ID, "controller"), new LootFunctionType(new ControllerLootFunction.Serializer())); +} diff --git a/src/main/java/com/refinedmods/refinedstorage/RSTiles.java b/src/main/java/com/refinedmods/refinedstorage/RSTiles.java index 06ee1ae4c..d8ca5cc95 100644 --- a/src/main/java/com/refinedmods/refinedstorage/RSTiles.java +++ b/src/main/java/com/refinedmods/refinedstorage/RSTiles.java @@ -7,7 +7,7 @@ import com.refinedmods.refinedstorage.tile.grid.portable.PortableGridTile; import net.minecraft.tileentity.TileEntityType; import net.minecraftforge.registries.ObjectHolder; -public class RSTiles { +public final class RSTiles { @ObjectHolder(RS.ID + ":controller") public static final TileEntityType CONTROLLER = null; @ObjectHolder(RS.ID + ":creative_controller") diff --git a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java index 9b7a3c147..e533b6582 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java @@ -1,32 +1,35 @@ package com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor; +import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.api.render.IElementDrawers; import com.refinedmods.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementList; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import javax.annotation.Nullable; +import java.util.Collections; +import java.util.List; /** * Represents a crafting monitor element. */ public interface ICraftingMonitorElement { /** - * @param x position on the x axis to render - * @param y position on the y axis to render - * @param drawers the drawers that this element can use + * @param matrixStack the matrix stack + * @param x position on the x axis to render + * @param y position on the y axis to render + * @param drawers the drawers that this element can use */ @OnlyIn(Dist.CLIENT) - void draw(int x, int y, IElementDrawers drawers); + void draw(MatrixStack matrixStack, int x, int y, IElementDrawers drawers); /** * Returns the id for the base of this element, used for sorting in the {@link CraftingMonitorElementList} * * @return the id */ - ResourceLocation getBaseId(); /** @@ -37,11 +40,10 @@ public interface ICraftingMonitorElement { ResourceLocation getId(); /** - * @return the tooltip of this element, or null for no tooltip + * @return the tooltip of this element */ - @Nullable - default String getTooltip() { - return null; + default List getTooltip() { + return Collections.emptyList(); } /** @@ -58,6 +60,7 @@ public interface ICraftingMonitorElement { * @return true if merge was successful, false otherwise */ boolean merge(ICraftingMonitorElement element); + /** * @return the hash code for the underlying base item/fluid element */ diff --git a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java index b81fb2351..e0f65e8bb 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.api.autocrafting.preview; +import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.api.render.IElementDrawers; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; @@ -16,12 +17,13 @@ public interface ICraftingPreviewElement { T getElement(); /** - * @param x position on the x axis to render - * @param y position on the y axis to render - * @param drawers the drawers this element can use + * @param matrixStack the matrix stack + * @param x position on the x axis to render + * @param y position on the y axis to render + * @param drawers the drawers this element can use */ @OnlyIn(Dist.CLIENT) - void draw(int x, int y, IElementDrawers drawers); + void draw(MatrixStack matrixStack, int x, int y, IElementDrawers drawers); /** * @return available amount of the {@link #getElement()} diff --git a/src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridType.java b/src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridType.java index 1ccb8f9fc..8d5ce69f5 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridType.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/network/grid/GridType.java @@ -36,7 +36,7 @@ public enum GridType implements IStringSerializable { @Nonnull @Override - public String getName() { + public String getString() { return name; } diff --git a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java index 1a3f56ff4..f42d9a025 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.api.render; +import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; import com.refinedmods.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; @@ -14,9 +15,10 @@ import com.refinedmods.refinedstorage.api.autocrafting.preview.ICraftingPreviewE @FunctionalInterface public interface IElementDrawer { /** - * @param x the x axis - * @param y the y axis - * @param element the element type + * @param matrixStack the matrix stack + * @param x the x axis + * @param y the y axis + * @param element the element type */ - void draw(int x, int y, T element); + void draw(MatrixStack matrixStack, int x, int y, T element); } diff --git a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java index d09706490..ad54c11d9 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.api.render; +import com.mojang.blaze3d.matrix.MatrixStack; import net.minecraft.client.gui.FontRenderer; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -52,7 +53,7 @@ public interface IElementDrawers { * @return a drawer that does nothing */ default IElementDrawer getNullDrawer() { - return (x, y, element) -> { + return (matrixStack, x, y, element) -> { // NO OP }; } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java index 2f9ce8aa8..9ffac10f1 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/CraftingMonitorElementList.java @@ -13,7 +13,6 @@ public class CraftingMonitorElementList implements ICraftingMonitorElementList { private final Map> currentProcessingLists = new LinkedHashMap<>(); private final Map> currentStorageLists = new LinkedHashMap<>(); - @Override public void directAdd(ICraftingMonitorElement element) { elements.add(element); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java index 4f1b10f74..4fe0e9015 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ErrorCraftingMonitorElement.java @@ -1,15 +1,21 @@ package com.refinedmods.refinedstorage.apiimpl.autocrafting.craftingmonitor; +import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; import com.refinedmods.refinedstorage.api.render.IElementDrawers; import com.refinedmods.refinedstorage.apiimpl.API; +import com.refinedmods.refinedstorage.render.Styles; import com.refinedmods.refinedstorage.util.PacketBufferUtils; import net.minecraft.client.resources.I18n; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.StringTextComponent; import net.minecraft.util.text.TextFormatting; +import net.minecraft.util.text.TranslationTextComponent; import javax.annotation.Nullable; +import java.util.List; public class ErrorCraftingMonitorElement implements ICraftingMonitorElement { public static final ResourceLocation ID = new ResourceLocation("error"); @@ -24,16 +30,18 @@ public class ErrorCraftingMonitorElement implements ICraftingMonitorElement { @Override @SuppressWarnings("unchecked") - public void draw(int x, int y, IElementDrawers drawers) { - base.draw(x, y, drawers); + public void draw(MatrixStack matrixStack, int x, int y, IElementDrawers drawers) { + base.draw(matrixStack, x, y, drawers); - drawers.getErrorDrawer().draw(x, y, null); + drawers.getErrorDrawer().draw(matrixStack, x, y, null); } @Nullable @Override - public String getTooltip() { - return base.getTooltip() + "\n" + TextFormatting.RED + I18n.format(message); + public List getTooltip() { + List items = base.getTooltip(); // TODO Make sure this doesn't crash + items.add(new TranslationTextComponent(message).func_230530_a_(Styles.RED)); + return items; } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/FluidCraftingMonitorElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/FluidCraftingMonitorElement.java index 1cb863dce..cb3ca8a20 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/FluidCraftingMonitorElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/FluidCraftingMonitorElement.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.apiimpl.autocrafting.craftingmonitor; +import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; @@ -10,11 +11,14 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fluids.FluidStack; import javax.annotation.Nullable; +import java.util.Collections; +import java.util.List; public class FluidCraftingMonitorElement implements ICraftingMonitorElement { private static final int COLOR_PROCESSING = 0xFFD9EDF7; @@ -42,18 +46,18 @@ public class FluidCraftingMonitorElement implements ICraftingMonitorElement { @Override @OnlyIn(Dist.CLIENT) - public void draw(int x, int y, IElementDrawers drawers) { + public void draw(MatrixStack matrixStack, int x, int y, IElementDrawers drawers) { if (missing > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_MISSING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_MISSING); } else if (processing > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_PROCESSING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_PROCESSING); } else if (scheduled > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_SCHEDULED); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_SCHEDULED); } else if (crafting > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_CRAFTING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_CRAFTING); } - drawers.getFluidDrawer().draw(x + 4, y + 6, stack); + drawers.getFluidDrawer().draw(matrixStack, x + 4, y + 6, stack); float scale = Minecraft.getInstance().getForceUnicodeFont() ? 1F : 0.5F; @@ -63,31 +67,31 @@ public class FluidCraftingMonitorElement implements ICraftingMonitorElement { int yy = y + 7; if (stored > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.stored", API.instance().getQuantityFormatter().formatInBucketForm(stored))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.stored", API.instance().getQuantityFormatter().formatInBucketForm(stored))); yy += 7; } if (missing > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.missing", API.instance().getQuantityFormatter().formatInBucketForm(missing))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.missing", API.instance().getQuantityFormatter().formatInBucketForm(missing))); yy += 7; } if (processing > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.processing", API.instance().getQuantityFormatter().formatInBucketForm(processing))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.processing", API.instance().getQuantityFormatter().formatInBucketForm(processing))); yy += 7; } if (scheduled > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.scheduled", API.instance().getQuantityFormatter().formatInBucketForm(scheduled))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.scheduled", API.instance().getQuantityFormatter().formatInBucketForm(scheduled))); yy += 7; } if (crafting > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.crafting", API.instance().getQuantityFormatter().formatInBucketForm(crafting))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.crafting", API.instance().getQuantityFormatter().formatInBucketForm(crafting))); } RenderSystem.popMatrix(); @@ -105,8 +109,8 @@ public class FluidCraftingMonitorElement implements ICraftingMonitorElement { @Nullable @Override - public String getTooltip() { - return I18n.format(stack.getTranslationKey()); + public List getTooltip() { + return Collections.singletonList(stack.getFluid().getAttributes().getDisplayName(stack)); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ItemCraftingMonitorElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ItemCraftingMonitorElement.java index 6e082e60d..906d03f67 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ItemCraftingMonitorElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/craftingmonitor/ItemCraftingMonitorElement.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.apiimpl.autocrafting.craftingmonitor; +import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; @@ -12,10 +13,12 @@ import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketBuffer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import javax.annotation.Nullable; +import java.util.List; public class ItemCraftingMonitorElement implements ICraftingMonitorElement { private static final int COLOR_PROCESSING = 0xFFD9EDF7; @@ -43,18 +46,18 @@ public class ItemCraftingMonitorElement implements ICraftingMonitorElement { @Override @OnlyIn(Dist.CLIENT) - public void draw(int x, int y, IElementDrawers drawers) { + public void draw(MatrixStack matrixStack, int x, int y, IElementDrawers drawers) { if (missing > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_MISSING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_MISSING); } else if (processing > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_PROCESSING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_PROCESSING); } else if (scheduled > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_SCHEDULED); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_SCHEDULED); } else if (crafting > 0) { - drawers.getOverlayDrawer().draw(x, y, COLOR_CRAFTING); + drawers.getOverlayDrawer().draw(matrixStack, x, y, COLOR_CRAFTING); } - drawers.getItemDrawer().draw(x + 4, y + 6, stack); + drawers.getItemDrawer().draw(matrixStack, x + 4, y + 6, stack); float scale = Minecraft.getInstance().getForceUnicodeFont() ? 1F : 0.5F; @@ -64,31 +67,31 @@ public class ItemCraftingMonitorElement implements ICraftingMonitorElement { int yy = y + 7; if (stored > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.stored", stored)); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.stored", stored)); yy += 7; } if (missing > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.missing", missing)); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.missing", missing)); yy += 7; } if (processing > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.processing", processing)); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.processing", processing)); yy += 7; } if (scheduled > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.scheduled", scheduled)); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.scheduled", scheduled)); yy += 7; } if (crafting > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.crafting", crafting)); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy, scale), I18n.format("gui.refinedstorage.crafting_monitor.crafting", crafting)); } RenderSystem.popMatrix(); @@ -106,8 +109,8 @@ public class ItemCraftingMonitorElement implements ICraftingMonitorElement { @Nullable @Override - public String getTooltip() { - return String.join("\n", RenderUtils.getTooltipFromItem(this.stack)); + public List getTooltip() { + return RenderUtils.getTooltipFromItem(this.stack); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ErrorCraftingPreviewElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ErrorCraftingPreviewElement.java index 2bd511aac..a4c57c81a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ErrorCraftingPreviewElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ErrorCraftingPreviewElement.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.apiimpl.autocrafting.preview; +import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; import com.refinedmods.refinedstorage.api.autocrafting.task.CraftingTaskErrorType; @@ -25,7 +26,7 @@ public class ErrorCraftingPreviewElement implements ICraftingPreviewElement { public static final ResourceLocation ID = new ResourceLocation(RS.ID, "fluid"); @@ -58,15 +61,15 @@ public class FluidCraftingPreviewElement implements ICraftingPreviewElement 0) { String format = hasMissing() ? "gui.refinedstorage.crafting_preview.missing" : "gui.refinedstorage.crafting_preview.to_craft"; - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format(format, API.instance().getQuantityFormatter().formatInBucketForm(getToCraft()))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format(format, API.instance().getQuantityFormatter().formatInBucketForm(getToCraft()))); y += 7; } if (getAvailable() > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format("gui.refinedstorage.crafting_preview.available", API.instance().getQuantityFormatter().formatInBucketForm(getAvailable()))); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format("gui.refinedstorage.crafting_preview.available", API.instance().getQuantityFormatter().formatInBucketForm(getAvailable()))); } RenderSystem.popMatrix(); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ItemCraftingPreviewElement.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ItemCraftingPreviewElement.java index 6a409b9bd..d4483dd09 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ItemCraftingPreviewElement.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/autocrafting/preview/ItemCraftingPreviewElement.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.apiimpl.autocrafting.preview; +import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; @@ -58,15 +59,15 @@ public class ItemCraftingPreviewElement implements ICraftingPreviewElement 0) { String format = hasMissing() ? "gui.refinedstorage.crafting_preview.missing" : "gui.refinedstorage.crafting_preview.to_craft"; - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format(format, getToCraft())); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format(format, getToCraft())); y += 7; } if (getAvailable() > 0) { - drawers.getStringDrawer().draw(RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format("gui.refinedstorage.crafting_preview.available", getAvailable())); + drawers.getStringDrawer().draw(matrixStack, RenderUtils.getOffsetOnScale(x + 23, scale), RenderUtils.getOffsetOnScale(y, scale), I18n.format("gui.refinedstorage.crafting_preview.available", getAvailable())); } RenderSystem.popMatrix(); diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridTab.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridTab.java index 5b59e11bb..c5e6748a3 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridTab.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/grid/GridTab.java @@ -49,9 +49,9 @@ public class GridTab implements IGridTab { if (!icon.isEmpty()) { RenderHelper.setupGui3DDiffuseLighting(); - itemDrawer.draw(x, y, icon); + itemDrawer.draw(matrixStack, x, y, icon); } else { - fluidDrawer.draw(x, y, fluidIcon); + fluidDrawer.draw(matrixStack, x, y, fluidIcon); RenderSystem.enableAlphaTest(); } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java index 0e95fe0b2..f8feb512b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java @@ -183,7 +183,7 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC StackUtils.readItems(upgrades, 1, tag); if (tag.contains(NBT_DISPLAY_NAME)) { - displayName = ITextComponent.Serializer.fromJson(tag.getString(NBT_DISPLAY_NAME)); + displayName = ITextComponent.Serializer.func_240643_a_(tag.getString(NBT_DISPLAY_NAME)); } if (tag.hasUniqueId(NBT_UUID)) { diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java index eee5c0d1b..69e0a8af0 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java @@ -12,19 +12,19 @@ public class CraftingMonitorElementDrawers extends ElementDrawers { private int itemWidth; private int itemHeight; - private final IElementDrawer overlayDrawer = (x, y, color) -> { + private final IElementDrawer overlayDrawer = (matrixStack, x, y, color) -> { RenderSystem.color4f(1, 1, 1, 1); RenderSystem.disableLighting(); - AbstractGui.fill(x, y, x + itemWidth, y + itemHeight, color); + AbstractGui.fill(matrixStack, x, y, x + itemWidth, y + itemHeight, color); }; - private final IElementDrawer errorDrawer = (x, y, nothing) -> { + private final IElementDrawer errorDrawer = (matrixStack, x, y, nothing) -> { RenderSystem.color4f(1, 1, 1, 1); RenderSystem.disableLighting(); screen.bindTexture(RS.ID, "gui/crafting_preview.png"); - screen.blit(x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12); + screen.blit(matrixStack, x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12); }; public CraftingMonitorElementDrawers(BaseScreen gui, FontRenderer fontRenderer, int itemWidth, int itemHeight) { diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java index ad64a903a..a8c57bb1f 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java @@ -7,11 +7,11 @@ import net.minecraft.client.gui.AbstractGui; import net.minecraft.client.gui.FontRenderer; public class CraftingPreviewElementDrawers extends ElementDrawers { - private final IElementDrawer overlayDrawer = (x, y, colour) -> { + private final IElementDrawer overlayDrawer = (matrixStack, x, y, color) -> { RenderSystem.color4f(1, 1, 1, 1); RenderSystem.disableLighting(); - AbstractGui.fill(x, y, x + 73, y + 29, colour); + AbstractGui.fill(matrixStack, x, y, x + 73, y + 29, color); }; public CraftingPreviewElementDrawers(CraftingPreviewScreen screen, FontRenderer fontRenderer) { diff --git a/src/main/java/com/refinedmods/refinedstorage/block/GridBlock.java b/src/main/java/com/refinedmods/refinedstorage/block/GridBlock.java index 6128967f7..d51b50808 100644 --- a/src/main/java/com/refinedmods/refinedstorage/block/GridBlock.java +++ b/src/main/java/com/refinedmods/refinedstorage/block/GridBlock.java @@ -28,7 +28,7 @@ public class GridBlock extends NetworkNodeBlock { this.type = type; - this.setRegistryName(RS.ID, type == GridType.NORMAL ? "grid" : type.getName() + "_grid"); + this.setRegistryName(RS.ID, type == GridType.NORMAL ? "grid" : type.getString() + "_grid"); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/command/PatternDumpCommand.java b/src/main/java/com/refinedmods/refinedstorage/command/PatternDumpCommand.java index 3fc15aeec..87d671990 100644 --- a/src/main/java/com/refinedmods/refinedstorage/command/PatternDumpCommand.java +++ b/src/main/java/com/refinedmods/refinedstorage/command/PatternDumpCommand.java @@ -34,22 +34,22 @@ public class PatternDumpCommand implements Command { CraftingPattern pattern = PatternItem.fromCache(context.getSource().getWorld(), stack); - context.getSource().sendFeedback(new StringTextComponent("Crafting task factory ID: ").setStyle(Styles.YELLOW).appendSibling(new StringTextComponent(pattern.getCraftingTaskFactoryId().toString()).setStyle(Styles.WHITE)), false); + context.getSource().sendFeedback(new StringTextComponent("Crafting task factory ID: ").func_230530_a_(Styles.YELLOW).func_230529_a_(new StringTextComponent(pattern.getCraftingTaskFactoryId().toString()).func_230530_a_(Styles.WHITE)), false); if (!pattern.isValid()) { - context.getSource().sendFeedback(new StringTextComponent("Pattern is invalid! Reason: ").appendSibling(pattern.getErrorMessage()).setStyle(Styles.RED), false); + context.getSource().sendFeedback(new StringTextComponent("Pattern is invalid! Reason: ").func_230529_a_(pattern.getErrorMessage()).func_230530_a_(Styles.RED), false); } else { - context.getSource().sendFeedback(new StringTextComponent("Processing: ").setStyle(Styles.YELLOW).appendSibling(new StringTextComponent(String.valueOf(processing)).setStyle(Styles.WHITE)), false); - context.getSource().sendFeedback(new StringTextComponent("Exact: ").setStyle(Styles.YELLOW).appendSibling(new StringTextComponent(String.valueOf(exact)).setStyle(Styles.WHITE)), false); - context.getSource().sendFeedback(new StringTextComponent("Has allowed tag list: ").setStyle(Styles.YELLOW).appendSibling(new StringTextComponent(String.valueOf(allowedTagList != null)).setStyle(Styles.WHITE)), false); + context.getSource().sendFeedback(new StringTextComponent("Processing: ").func_230530_a_(Styles.YELLOW).func_230529_a_(new StringTextComponent(String.valueOf(processing)).func_230530_a_(Styles.WHITE)), false); + context.getSource().sendFeedback(new StringTextComponent("Exact: ").func_230530_a_(Styles.YELLOW).func_230529_a_(new StringTextComponent(String.valueOf(exact)).func_230530_a_(Styles.WHITE)), false); + context.getSource().sendFeedback(new StringTextComponent("Has allowed tag list: ").func_230530_a_(Styles.YELLOW).func_230529_a_(new StringTextComponent(String.valueOf(allowedTagList != null)).func_230530_a_(Styles.WHITE)), false); if (pattern.isProcessing()) { for (int i = 0; i < pattern.getInputs().size(); ++i) { if (!pattern.getInputs().get(i).isEmpty()) { - context.getSource().sendFeedback(new StringTextComponent("Item inputs in slot " + i + ":").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Item inputs in slot " + i + ":").func_230530_a_(Styles.YELLOW), false); for (int j = 0; j < pattern.getInputs().get(i).size(); ++j) { - context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getInputs().get(i).get(j).getCount() + "x ").appendSibling(pattern.getInputs().get(i).get(j).getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getInputs().get(i).get(j).getCount() + "x ").func_230529_a_(pattern.getInputs().get(i).get(j).getDisplayName()), false); } } @@ -62,10 +62,10 @@ public class PatternDumpCommand implements Command { for (int i = 0; i < pattern.getFluidInputs().size(); ++i) { if (!pattern.getFluidInputs().get(i).isEmpty()) { - context.getSource().sendFeedback(new StringTextComponent("Fluid inputs in slot " + i + ":").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Fluid inputs in slot " + i + ":").func_230530_a_(Styles.YELLOW), false); for (int j = 0; j < pattern.getFluidInputs().get(i).size(); ++j) { - context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getFluidInputs().get(i).get(j).getAmount() + " mB ").appendSibling(pattern.getFluidInputs().get(i).get(j).getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getFluidInputs().get(i).get(j).getAmount() + " mB ").func_230529_a_(pattern.getFluidInputs().get(i).get(j).getDisplayName()), false); } } @@ -76,29 +76,29 @@ public class PatternDumpCommand implements Command { } } - context.getSource().sendFeedback(new StringTextComponent("Outputs").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Outputs").func_230530_a_(Styles.YELLOW), false); for (ItemStack output : pattern.getOutputs()) { - context.getSource().sendFeedback(new StringTextComponent("- " + output.getCount() + "x ").appendSibling(output.getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- " + output.getCount() + "x ").func_230529_a_(output.getDisplayName()), false); } - context.getSource().sendFeedback(new StringTextComponent("Fluid outputs").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Fluid outputs").func_230530_a_(Styles.YELLOW), false); for (FluidStack output : pattern.getFluidOutputs()) { - context.getSource().sendFeedback(new StringTextComponent("- " + output.getAmount() + " mB ").appendSibling(output.getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- " + output.getAmount() + " mB ").func_230529_a_(output.getDisplayName()), false); } } else { for (int i = 0; i < pattern.getInputs().size(); ++i) { if (!pattern.getInputs().get(i).isEmpty()) { - context.getSource().sendFeedback(new StringTextComponent("Inputs in slot " + i + ":").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Inputs in slot " + i + ":").func_230530_a_(Styles.YELLOW), false); for (int j = 0; j < pattern.getInputs().get(i).size(); ++j) { - context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getInputs().get(i).get(j).getCount() + "x ").appendSibling(pattern.getInputs().get(i).get(j).getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- Possibility #" + j + ": " + pattern.getInputs().get(i).get(j).getCount() + "x ").func_230529_a_(pattern.getInputs().get(i).get(j).getDisplayName()), false); } } } - context.getSource().sendFeedback(new StringTextComponent("Outputs").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Outputs").func_230530_a_(Styles.YELLOW), false); for (ItemStack output : pattern.getOutputs()) { - context.getSource().sendFeedback(new StringTextComponent("- " + output.getCount() + "x ").appendSibling(output.getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- " + output.getCount() + "x ").func_230529_a_(output.getDisplayName()), false); } boolean anyByproducts = false; @@ -106,18 +106,18 @@ public class PatternDumpCommand implements Command { for (ItemStack byproduct : pattern.getByproducts()) { if (!byproduct.isEmpty()) { if (!anyByproducts) { - context.getSource().sendFeedback(new StringTextComponent("Byproducts").setStyle(Styles.YELLOW), false); + context.getSource().sendFeedback(new StringTextComponent("Byproducts").func_230530_a_(Styles.YELLOW), false); anyByproducts = true; } - context.getSource().sendFeedback(new StringTextComponent("- " + byproduct.getCount() + "x ").appendSibling(byproduct.getDisplayName()), false); + context.getSource().sendFeedback(new StringTextComponent("- " + byproduct.getCount() + "x ").func_230529_a_(byproduct.getDisplayName()), false); } } } } } else { - context.getSource().sendFeedback(new StringTextComponent("You need to be holding a pattern in your hand.").setStyle(Styles.RED), false); + context.getSource().sendFeedback(new StringTextComponent("You need to be holding a pattern in your hand.").func_230530_a_(Styles.RED), false); } return 0; diff --git a/src/main/java/com/refinedmods/refinedstorage/container/factory/CrafterManagerContainerFactory.java b/src/main/java/com/refinedmods/refinedstorage/container/factory/CrafterManagerContainerFactory.java index 17a53aa41..6e57c5685 100644 --- a/src/main/java/com/refinedmods/refinedstorage/container/factory/CrafterManagerContainerFactory.java +++ b/src/main/java/com/refinedmods/refinedstorage/container/factory/CrafterManagerContainerFactory.java @@ -21,7 +21,7 @@ public class CrafterManagerContainerFactory implements IContainerFactory tooltip.add(new TranslationTextComponent("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()).setStyle(Styles.GRAY))); + stack.getCapability(CapabilityEnergy.ENERGY, null).ifPresent(energy -> tooltip.add(new TranslationTextComponent("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()).func_230530_a_(Styles.GRAY))); } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/FilterItem.java b/src/main/java/com/refinedmods/refinedstorage/item/FilterItem.java index 0f5c93a5a..171ea31b8 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/FilterItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/FilterItem.java @@ -78,10 +78,10 @@ public class FilterItem extends Item { public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { super.addInformation(stack, world, tooltip, flag); - tooltip.add(new TranslationTextComponent("sidebutton.refinedstorage.mode." + (getMode(stack) == IFilter.MODE_WHITELIST ? "whitelist" : "blacklist")).setStyle(Styles.YELLOW)); + tooltip.add(new TranslationTextComponent("sidebutton.refinedstorage.mode." + (getMode(stack) == IFilter.MODE_WHITELIST ? "whitelist" : "blacklist")).func_230530_a_(Styles.YELLOW)); if (isModFilter(stack)) { - tooltip.add(new TranslationTextComponent("gui.refinedstorage.filter.mod_filter").setStyle(Styles.BLUE)); + tooltip.add(new TranslationTextComponent("gui.refinedstorage.filter.mod_filter").func_230530_a_(Styles.BLUE)); } FilterItemsItemHandler items = new FilterItemsItemHandler(stack); diff --git a/src/main/java/com/refinedmods/refinedstorage/item/FluidStorageDiskItem.java b/src/main/java/com/refinedmods/refinedstorage/item/FluidStorageDiskItem.java index 514dab0c8..6f1d33f5e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/FluidStorageDiskItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/FluidStorageDiskItem.java @@ -68,14 +68,14 @@ public class FluidStorageDiskItem extends Item implements IStorageDiskProvider { StorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id); if (data != null) { if (data.getCapacity() == -1) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).func_230530_a_(Styles.GRAY)); } else { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).func_230530_a_(Styles.GRAY)); } } if (flag.isAdvanced()) { - tooltip.add(new StringTextComponent(id.toString()).setStyle(Styles.GRAY)); + tooltip.add(new StringTextComponent(id.toString()).func_230530_a_(Styles.GRAY)); } } } @@ -91,7 +91,7 @@ public class FluidStorageDiskItem extends Item implements IStorageDiskProvider { ItemStack storagePart = new ItemStack(FluidStoragePartItem.getByType(type), diskStack.getCount()); if (!player.inventory.addItemStackToInventory(storagePart.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), storagePart); } API.instance().getStorageDiskManager((ServerWorld) world).remove(getId(diskStack)); diff --git a/src/main/java/com/refinedmods/refinedstorage/item/NetworkItem.java b/src/main/java/com/refinedmods/refinedstorage/item/NetworkItem.java index 16a0e8440..cabf83a4d 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/NetworkItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/NetworkItem.java @@ -7,6 +7,7 @@ import com.refinedmods.refinedstorage.util.NetworkUtils; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; +import net.minecraft.item.ItemModelsProperties; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUseContext; import net.minecraft.nbt.CompoundNBT; @@ -36,7 +37,7 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv public NetworkItem(Item.Properties item, boolean creative, Supplier energyCapacity) { super(item, creative, energyCapacity); - addPropertyOverride(new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f); + ItemModelsProperties.func_239418_a_(this, new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f); } @Override @@ -44,7 +45,7 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv ItemStack stack = player.getHeldItem(hand); if (!world.isRemote) { - applyNetwork(world.getServer(), stack, n -> n.getNetworkItemManager().open(player, player.getHeldItem(hand), player.inventory.currentItem), player::sendMessage); + applyNetwork(world.getServer(), stack, n -> n.getNetworkItemManager().open(player, player.getHeldItem(hand), player.inventory.currentItem), err -> player.sendMessage(err, player.getUniqueID())); } return ActionResult.resultSuccess(stack); @@ -84,7 +85,7 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv super.addInformation(stack, world, tooltip, flag); if (isValid(stack)) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.network_item.tooltip", getX(stack), getY(stack), getZ(stack)).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.network_item.tooltip", getX(stack), getY(stack), getZ(stack)).func_230530_a_(Styles.GRAY)); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/PatternItem.java b/src/main/java/com/refinedmods/refinedstorage/item/PatternItem.java index 05895eca6..bd79b7d3c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/PatternItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/PatternItem.java @@ -74,12 +74,12 @@ public class PatternItem extends Item implements ICraftingPatternProvider { if (pattern.isValid()) { if (ContainerScreen.hasShiftDown() || isProcessing(stack)) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.inputs").setStyle(Styles.YELLOW)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.inputs").func_230530_a_(Styles.YELLOW)); RenderUtils.addCombinedItemsToTooltip(tooltip, true, pattern.getInputs().stream().map(i -> i.size() > 0 ? i.get(0) : ItemStack.EMPTY).collect(Collectors.toList())); RenderUtils.addCombinedFluidsToTooltip(tooltip, true, pattern.getFluidInputs().stream().map(i -> i.size() > 0 ? i.get(0) : FluidStack.EMPTY).collect(Collectors.toList())); - tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.outputs").setStyle(Styles.YELLOW)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.outputs").func_230530_a_(Styles.YELLOW)); } RenderUtils.addCombinedItemsToTooltip(tooltip, true, pattern.getOutputs()); @@ -94,7 +94,7 @@ public class PatternItem extends Item implements ICraftingPatternProvider { "misc.refinedstorage.pattern.allowed_item_tag", tag.toString(), pattern.getInputs().get(i).get(0).getDisplayName() - ).setStyle(Styles.AQUA)); + ).func_230530_a_(Styles.AQUA)); } } @@ -106,21 +106,21 @@ public class PatternItem extends Item implements ICraftingPatternProvider { "misc.refinedstorage.pattern.allowed_fluid_tag", tag.toString(), pattern.getFluidInputs().get(i).get(0).getDisplayName() - ).setStyle(Styles.AQUA)); + ).func_230530_a_(Styles.AQUA)); } } } if (isExact(stack)) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.exact").setStyle(Styles.BLUE)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.exact").func_230530_a_(Styles.BLUE)); } if (isProcessing(stack)) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.processing").setStyle(Styles.BLUE)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.processing").func_230530_a_(Styles.BLUE)); } } else { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.invalid").setStyle(Styles.RED)); - tooltip.add(pattern.getErrorMessage().setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.pattern.invalid").func_230530_a_(Styles.RED)); + tooltip.add(pattern.getErrorMessage().copyRaw().func_230530_a_(Styles.GRAY)); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/SecurityCardItem.java b/src/main/java/com/refinedmods/refinedstorage/item/SecurityCardItem.java index a979d1813..5161d832c 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/SecurityCardItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/SecurityCardItem.java @@ -4,8 +4,10 @@ import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.network.security.Permission; import com.refinedmods.refinedstorage.render.Styles; import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.data.ItemModelProvider; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; +import net.minecraft.item.ItemModelsProperties; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.util.ActionResult; @@ -30,7 +32,7 @@ public class SecurityCardItem extends Item { this.setRegistryName(RS.ID, "security_card"); - addPropertyOverride(new ResourceLocation("active"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f); + ItemModelsProperties.func_239418_a_(this, new ResourceLocation("active"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f); } @Override @@ -83,12 +85,12 @@ public class SecurityCardItem extends Item { super.addInformation(stack, world, tooltip, flag); if (stack.hasTag() && stack.getTag().contains(NBT_OWNER_NAME)) { - tooltip.add(new TranslationTextComponent("item.refinedstorage.security_card.owner", stack.getTag().getString(NBT_OWNER_NAME)).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("item.refinedstorage.security_card.owner", stack.getTag().getString(NBT_OWNER_NAME)).func_230530_a_(Styles.GRAY)); } for (Permission permission : Permission.values()) { if (hasPermission(stack, permission)) { - tooltip.add(new StringTextComponent("- ").appendSibling(new TranslationTextComponent("gui.refinedstorage.security_manager.permission." + permission.getId())).setStyle(Styles.GRAY)); + tooltip.add(new StringTextComponent("- ").func_230529_a_(new TranslationTextComponent("gui.refinedstorage.security_manager.permission." + permission.getId())).func_230530_a_(Styles.GRAY)); } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/StorageDiskItem.java b/src/main/java/com/refinedmods/refinedstorage/item/StorageDiskItem.java index 4fbbf00ab..b159df426 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/StorageDiskItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/StorageDiskItem.java @@ -68,14 +68,14 @@ public class StorageDiskItem extends Item implements IStorageDiskProvider { StorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id); if (data != null) { if (data.getCapacity() == -1) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).func_230530_a_(Styles.GRAY)); } else { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).func_230530_a_(Styles.GRAY)); } } if (flag.isAdvanced()) { - tooltip.add(new StringTextComponent(id.toString()).setStyle(Styles.GRAY)); + tooltip.add(new StringTextComponent(id.toString()).func_230530_a_(Styles.GRAY)); } } } @@ -91,7 +91,7 @@ public class StorageDiskItem extends Item implements IStorageDiskProvider { ItemStack storagePart = new ItemStack(StoragePartItem.getByType(type), diskStack.getCount()); if (!player.inventory.addItemStackToInventory(storagePart.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), storagePart); } API.instance().getStorageDiskManager((ServerWorld) world).remove(getId(diskStack)); diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/ControllerBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/ControllerBlockItem.java index 3c24f17e9..56a8de537 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/ControllerBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/ControllerBlockItem.java @@ -4,7 +4,9 @@ import com.refinedmods.refinedstorage.RS; import com.refinedmods.refinedstorage.api.network.NetworkType; import com.refinedmods.refinedstorage.apiimpl.network.Network; import com.refinedmods.refinedstorage.block.ControllerBlock; +import net.minecraft.data.ItemModelProvider; import net.minecraft.item.Item; +import net.minecraft.item.ItemModelsProperties; import net.minecraft.util.ResourceLocation; import net.minecraftforge.energy.CapabilityEnergy; import net.minecraftforge.energy.IEnergyStorage; @@ -14,7 +16,8 @@ public class ControllerBlockItem extends EnergyBlockItem { super(block, new Item.Properties().group(RS.MAIN_GROUP).maxStackSize(1), block.getType() == NetworkType.CREATIVE, () -> RS.SERVER_CONFIG.getController().getCapacity()); this.setRegistryName(block.getRegistryName()); - this.addPropertyOverride(new ResourceLocation("energy_type"), (stack, world, entity) -> { + + ItemModelsProperties.func_239418_a_(this, new ResourceLocation("energy_type"), (stack, world, entity) -> { IEnergyStorage storage = stack.getCapability(CapabilityEnergy.ENERGY).orElse(null); if (storage != null) { return Network.getEnergyType(storage.getEnergyStored(), storage.getMaxEnergyStored()).ordinal(); diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/EnergyBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/EnergyBlockItem.java index 37836019e..f44e99b52 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/EnergyBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/EnergyBlockItem.java @@ -65,7 +65,7 @@ public abstract class EnergyBlockItem extends BaseBlockItem { super.addInformation(stack, world, tooltip, flag); if (!creative) { - stack.getCapability(CapabilityEnergy.ENERGY, null).ifPresent(energy -> tooltip.add(new TranslationTextComponent("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()).setStyle(Styles.GRAY))); + stack.getCapability(CapabilityEnergy.ENERGY, null).ifPresent(energy -> tooltip.add(new TranslationTextComponent("misc.refinedstorage.energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()).func_230530_a_(Styles.GRAY))); } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/FluidStorageBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/FluidStorageBlockItem.java index c1ac22dab..98862502a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/FluidStorageBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/FluidStorageBlockItem.java @@ -53,14 +53,14 @@ public class FluidStorageBlockItem extends BaseBlockItem { StorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id); if (data != null) { if (data.getCapacity() == -1) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).func_230530_a_(Styles.GRAY)); } else { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).func_230530_a_(Styles.GRAY)); } } if (flag.isAdvanced()) { - tooltip.add(new StringTextComponent(id.toString()).setStyle(Styles.GRAY)); + tooltip.add(new StringTextComponent(id.toString()).func_230530_a_(Styles.GRAY)); } } } @@ -83,19 +83,19 @@ public class FluidStorageBlockItem extends BaseBlockItem { ItemStack fluidStoragePart = new ItemStack(FluidStoragePartItem.getByType(type)); if (!player.inventory.addItemStackToInventory(fluidStoragePart.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), fluidStoragePart); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), fluidStoragePart); } ItemStack processor = new ItemStack(RSItems.BASIC_PROCESSOR); if (!player.inventory.addItemStackToInventory(processor.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), processor); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), processor); } ItemStack bucket = new ItemStack(Items.BUCKET); if (!player.inventory.addItemStackToInventory(bucket.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), bucket); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), bucket); } if (disk != null) { diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/PortableGridBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/PortableGridBlockItem.java index c738a355d..3b15f0cf7 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/PortableGridBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/PortableGridBlockItem.java @@ -61,7 +61,7 @@ public class PortableGridBlockItem extends EnergyBlockItem { public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { super.addInformation(stack, world, tooltip, flag); - tooltip.add(new TranslationTextComponent("block.refinedstorage.portable_grid.tooltip").setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("block.refinedstorage.portable_grid.tooltip").func_230530_a_(Styles.GRAY)); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/StorageBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/StorageBlockItem.java index 8c0ddcebc..53927ca14 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/StorageBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/StorageBlockItem.java @@ -51,14 +51,14 @@ public class StorageBlockItem extends BaseBlockItem { StorageDiskSyncData data = API.instance().getStorageDiskSync().getData(id); if (data != null) { if (data.getCapacity() == -1) { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored", API.instance().getQuantityFormatter().format(data.getStored())).func_230530_a_(Styles.GRAY)); } else { - tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("misc.refinedstorage.storage.stored_capacity", API.instance().getQuantityFormatter().format(data.getStored()), API.instance().getQuantityFormatter().format(data.getCapacity())).func_230530_a_(Styles.GRAY)); } } if (flag.isAdvanced()) { - tooltip.add(new StringTextComponent(id.toString()).setStyle(Styles.GRAY)); + tooltip.add(new StringTextComponent(id.toString()).func_230530_a_(Styles.GRAY)); } } } @@ -81,7 +81,7 @@ public class StorageBlockItem extends BaseBlockItem { ItemStack storagePart = new ItemStack(StoragePartItem.getByType(type)); if (!player.inventory.addItemStackToInventory(storagePart.copy())) { - InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart); + InventoryHelper.spawnItemStack(world, player.getPosX(), player.getPosY(), player.getPosZ(), storagePart); } if (disk != null) { diff --git a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/WirelessTransmitterBlockItem.java b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/WirelessTransmitterBlockItem.java index fa08536e0..6e603d269 100644 --- a/src/main/java/com/refinedmods/refinedstorage/item/blockitem/WirelessTransmitterBlockItem.java +++ b/src/main/java/com/refinedmods/refinedstorage/item/blockitem/WirelessTransmitterBlockItem.java @@ -24,6 +24,6 @@ public class WirelessTransmitterBlockItem extends BaseBlockItem { public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag flag) { super.addInformation(stack, world, tooltip, flag); - tooltip.add(new TranslationTextComponent("block.refinedstorage.wireless_transmitter.tooltip", new TranslationTextComponent("block.refinedstorage.cable")).setStyle(Styles.GRAY)); + tooltip.add(new TranslationTextComponent("block.refinedstorage.wireless_transmitter.tooltip", new TranslationTextComponent("block.refinedstorage.cable")).func_230530_a_(Styles.GRAY)); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunction.java b/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunction.java index c66d9d5b1..40177cb97 100644 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunction.java +++ b/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunction.java @@ -1,17 +1,26 @@ package com.refinedmods.refinedstorage.loottable; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonObject; +import com.refinedmods.refinedstorage.RSLootFunctions; import com.refinedmods.refinedstorage.api.network.INetwork; import com.refinedmods.refinedstorage.tile.ControllerTile; import net.minecraft.item.ItemStack; +import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootFunction; +import net.minecraft.loot.LootFunctionType; +import net.minecraft.loot.LootParameters; +import net.minecraft.loot.conditions.ILootCondition; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.storage.loot.LootContext; -import net.minecraft.world.storage.loot.LootParameters; -import net.minecraft.world.storage.loot.functions.ILootFunction; import net.minecraftforge.energy.CapabilityEnergy; -public class ControllerLootFunction implements ILootFunction { +public class ControllerLootFunction extends LootFunction { + protected ControllerLootFunction(ILootCondition[] conditions) { + super(conditions); + } + @Override - public ItemStack apply(ItemStack itemStack, LootContext lootContext) { + protected ItemStack doApply(ItemStack itemStack, LootContext lootContext) { TileEntity tile = lootContext.get(LootParameters.BLOCK_ENTITY); if (tile instanceof ControllerTile) { @@ -22,4 +31,16 @@ public class ControllerLootFunction implements ILootFunction { return itemStack; } + + @Override + public LootFunctionType func_230425_b_() { + return RSLootFunctions.CONTROLLER; + } + + public static class Serializer extends LootFunction.Serializer { + @Override + public ControllerLootFunction deserialize(JsonObject object, JsonDeserializationContext deserializationContext, ILootCondition[] conditions) { + return new ControllerLootFunction(conditions); + } + } } diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunctionSerializer.java b/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunctionSerializer.java deleted file mode 100644 index 3d68d99d9..000000000 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/ControllerLootFunctionSerializer.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.refinedmods.refinedstorage.loottable; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import com.refinedmods.refinedstorage.RS; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.storage.loot.functions.ILootFunction; - -public class ControllerLootFunctionSerializer extends ILootFunction.Serializer { - public ControllerLootFunctionSerializer() { - super(new ResourceLocation(RS.ID, "controller"), ControllerLootFunction.class); - } - - @Override - public void serialize(JsonObject jsonObject, ControllerLootFunction controllerLootFunction, JsonSerializationContext jsonSerializationContext) { - - } - - @Override - public ControllerLootFunction deserialize(JsonObject jsonObject, JsonDeserializationContext jsonDeserializationContext) { - return new ControllerLootFunction(); - } -} diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunction.java b/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunction.java index ae6f43ce5..af0554a7e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunction.java +++ b/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunction.java @@ -1,16 +1,25 @@ package com.refinedmods.refinedstorage.loottable; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonObject; +import com.refinedmods.refinedstorage.RSLootFunctions; import com.refinedmods.refinedstorage.apiimpl.network.node.CrafterNetworkNode; import com.refinedmods.refinedstorage.tile.CrafterTile; import net.minecraft.item.ItemStack; +import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootFunction; +import net.minecraft.loot.LootFunctionType; +import net.minecraft.loot.LootParameters; +import net.minecraft.loot.conditions.ILootCondition; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.storage.loot.LootContext; -import net.minecraft.world.storage.loot.LootParameters; -import net.minecraft.world.storage.loot.functions.ILootFunction; -public class CrafterLootFunction implements ILootFunction { +public class CrafterLootFunction extends LootFunction { + protected CrafterLootFunction(ILootCondition[] conditions) { + super(conditions); + } + @Override - public ItemStack apply(ItemStack stack, LootContext lootContext) { + public ItemStack doApply(ItemStack stack, LootContext lootContext) { TileEntity tile = lootContext.get(LootParameters.BLOCK_ENTITY); CrafterNetworkNode removedNode = ((CrafterTile) tile).getRemovedNode(); @@ -24,4 +33,16 @@ public class CrafterLootFunction implements ILootFunction { return stack; } + + @Override + public LootFunctionType func_230425_b_() { + return RSLootFunctions.CRAFTER; + } + + public static class Serializer extends LootFunction.Serializer { + @Override + public CrafterLootFunction deserialize(JsonObject object, JsonDeserializationContext deserializationContext, ILootCondition[] conditions) { + return new CrafterLootFunction(conditions); + } + } } diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunctionSerializer.java b/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunctionSerializer.java deleted file mode 100644 index 25f4c78a5..000000000 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/CrafterLootFunctionSerializer.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.refinedmods.refinedstorage.loottable; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import com.refinedmods.refinedstorage.RS; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.storage.loot.functions.ILootFunction; - -public class CrafterLootFunctionSerializer extends ILootFunction.Serializer { - public CrafterLootFunctionSerializer() { - super(new ResourceLocation(RS.ID, "crafter"), CrafterLootFunction.class); - } - - @Override - public void serialize(JsonObject jsonObject, CrafterLootFunction crafterLootFunction, JsonSerializationContext jsonSerializationContext) { - - } - - @Override - public CrafterLootFunction deserialize(JsonObject jsonObject, JsonDeserializationContext jsonDeserializationContext) { - return new CrafterLootFunction(); - } -} diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunction.java b/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunction.java index 999bc6ae2..5124363eb 100644 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunction.java +++ b/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunction.java @@ -1,15 +1,24 @@ package com.refinedmods.refinedstorage.loottable; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonObject; +import com.refinedmods.refinedstorage.RSLootFunctions; import com.refinedmods.refinedstorage.tile.grid.portable.PortableGridTile; import net.minecraft.item.ItemStack; +import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootFunction; +import net.minecraft.loot.LootFunctionType; +import net.minecraft.loot.LootParameters; +import net.minecraft.loot.conditions.ILootCondition; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.storage.loot.LootContext; -import net.minecraft.world.storage.loot.LootParameters; -import net.minecraft.world.storage.loot.functions.ILootFunction; -public class PortableGridBlockLootFunction implements ILootFunction { +public class PortableGridBlockLootFunction extends LootFunction { + protected PortableGridBlockLootFunction(ILootCondition[] conditions) { + super(conditions); + } + @Override - public ItemStack apply(ItemStack stack, LootContext lootContext) { + public ItemStack doApply(ItemStack stack, LootContext lootContext) { TileEntity tile = lootContext.get(LootParameters.BLOCK_ENTITY); if (tile instanceof PortableGridTile) { @@ -18,4 +27,16 @@ public class PortableGridBlockLootFunction implements ILootFunction { return stack; } + + @Override + public LootFunctionType func_230425_b_() { + return RSLootFunctions.PORTABLE_GRID; + } + + public static class Serializer extends LootFunction.Serializer { + @Override + public PortableGridBlockLootFunction deserialize(JsonObject object, JsonDeserializationContext deserializationContext, ILootCondition[] conditions) { + return new PortableGridBlockLootFunction(conditions); + } + } } diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunctionSerializer.java b/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunctionSerializer.java deleted file mode 100644 index 488f3b7bf..000000000 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/PortableGridBlockLootFunctionSerializer.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.refinedmods.refinedstorage.loottable; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import com.refinedmods.refinedstorage.RS; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.storage.loot.functions.ILootFunction; - -public class PortableGridBlockLootFunctionSerializer extends ILootFunction.Serializer { - public PortableGridBlockLootFunctionSerializer() { - super(new ResourceLocation(RS.ID, "portable_grid"), PortableGridBlockLootFunction.class); - } - - @Override - public void serialize(JsonObject jsonObject, PortableGridBlockLootFunction function, JsonSerializationContext jsonSerializationContext) { - - } - - @Override - public PortableGridBlockLootFunction deserialize(JsonObject jsonObject, JsonDeserializationContext jsonDeserializationContext) { - return new PortableGridBlockLootFunction(); - } -} diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunction.java b/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunction.java index 5738e2a15..11532485a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunction.java +++ b/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunction.java @@ -1,19 +1,28 @@ package com.refinedmods.refinedstorage.loottable; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonObject; +import com.refinedmods.refinedstorage.RSLootFunctions; import com.refinedmods.refinedstorage.apiimpl.network.node.storage.FluidStorageNetworkNode; import com.refinedmods.refinedstorage.apiimpl.network.node.storage.StorageNetworkNode; import com.refinedmods.refinedstorage.tile.FluidStorageTile; import com.refinedmods.refinedstorage.tile.StorageTile; import net.minecraft.item.ItemStack; +import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootFunction; +import net.minecraft.loot.LootFunctionType; +import net.minecraft.loot.LootParameters; +import net.minecraft.loot.conditions.ILootCondition; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.storage.loot.LootContext; -import net.minecraft.world.storage.loot.LootParameters; -import net.minecraft.world.storage.loot.functions.ILootFunction; -public class StorageBlockLootFunction implements ILootFunction { +public class StorageBlockLootFunction extends LootFunction { + protected StorageBlockLootFunction(ILootCondition[] conditions) { + super(conditions); + } + @Override - public ItemStack apply(ItemStack stack, LootContext lootContext) { + public ItemStack doApply(ItemStack stack, LootContext lootContext) { TileEntity tile = lootContext.get(LootParameters.BLOCK_ENTITY); // This code needs to work without the node being removed as well. @@ -39,4 +48,16 @@ public class StorageBlockLootFunction implements ILootFunction { return stack; } + + @Override + public LootFunctionType func_230425_b_() { + return RSLootFunctions.STORAGE_BLOCK; + } + + public static class Serializer extends LootFunction.Serializer { + @Override + public StorageBlockLootFunction deserialize(JsonObject object, JsonDeserializationContext deserializationContext, ILootCondition[] conditions) { + return new StorageBlockLootFunction(conditions); + } + } } diff --git a/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunctionSerializer.java b/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunctionSerializer.java deleted file mode 100644 index ac435e844..000000000 --- a/src/main/java/com/refinedmods/refinedstorage/loottable/StorageBlockLootFunctionSerializer.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.refinedmods.refinedstorage.loottable; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSerializationContext; -import com.refinedmods.refinedstorage.RS; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.storage.loot.functions.ILootFunction; - -public class StorageBlockLootFunctionSerializer extends ILootFunction.Serializer { - public StorageBlockLootFunctionSerializer() { - super(new ResourceLocation(RS.ID, "storage_block"), StorageBlockLootFunction.class); - } - - @Override - public void serialize(JsonObject jsonObject, StorageBlockLootFunction storageBlockLootFunction, JsonSerializationContext jsonSerializationContext) { - - } - - @Override - public StorageBlockLootFunction deserialize(JsonObject jsonObject, JsonDeserializationContext jsonDeserializationContext) { - return new StorageBlockLootFunction(); - } -} diff --git a/src/main/java/com/refinedmods/refinedstorage/network/OpenNetworkItemMessage.java b/src/main/java/com/refinedmods/refinedstorage/network/OpenNetworkItemMessage.java index 5df55bb14..370e9e4fb 100644 --- a/src/main/java/com/refinedmods/refinedstorage/network/OpenNetworkItemMessage.java +++ b/src/main/java/com/refinedmods/refinedstorage/network/OpenNetworkItemMessage.java @@ -34,7 +34,7 @@ public class OpenNetworkItemMessage { ItemStack stack = player.inventory.getStackInSlot(message.slotId); if (stack.getItem() instanceof NetworkItem) { - ((NetworkItem) stack.getItem()).applyNetwork(player.getServer(), stack, n -> n.getNetworkItemManager().open(player, stack, message.slotId), player::sendMessage); + ((NetworkItem) stack.getItem()).applyNetwork(player.getServer(), stack, n -> n.getNetworkItemManager().open(player, stack, message.slotId), err -> player.sendMessage(err, player.getUniqueID())); } else if (stack.getItem() instanceof PortableGridBlockItem) { API.instance().getGridManager().openGrid(PortableGridGridFactory.ID, player, stack, message.slotId); } diff --git a/src/main/java/com/refinedmods/refinedstorage/render/FluidRenderer.java b/src/main/java/com/refinedmods/refinedstorage/render/FluidRenderer.java index 5f6fcdd2b..2bb1a8bd7 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/FluidRenderer.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/FluidRenderer.java @@ -1,5 +1,6 @@ package com.refinedmods.refinedstorage.render; +import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BufferBuilder; @@ -9,10 +10,12 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.fluid.Fluid; import net.minecraft.inventory.container.PlayerContainer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.vector.Matrix4f; import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidStack; import javax.annotation.Nonnull; +import javax.annotation.Nullable; /** * @link https://github.com/mezz/JustEnoughItems/blob/1.15/src/main/java/mezz/jei/plugins/vanilla/ingredients/fluid/FluidStackRenderer.java @@ -35,11 +38,11 @@ public class FluidRenderer { this.minHeight = minHeight; } - public void render(final int xPosition, final int yPosition, @Nonnull FluidStack fluidStack) { + public void render(MatrixStack matrixStack, final int xPosition, final int yPosition, @Nullable FluidStack fluidStack) { RenderSystem.enableBlend(); RenderSystem.enableAlphaTest(); - drawFluid(xPosition, yPosition, fluidStack); + drawFluid(matrixStack, xPosition, yPosition, fluidStack); RenderSystem.color4f(1, 1, 1, 1); @@ -47,12 +50,14 @@ public class FluidRenderer { RenderSystem.disableBlend(); } - private void drawFluid(final int xPosition, final int yPosition, @Nonnull FluidStack fluidStack) { - if (fluidStack.isEmpty()) { + private void drawFluid(MatrixStack matrixStack, final int xPosition, final int yPosition, @Nullable FluidStack fluidStack) { + if (fluidStack == null) { return; } - Fluid fluid = fluidStack.getFluid(); + if (fluid == null) { + return; + } TextureAtlasSprite fluidStillSprite = getStillFluidSprite(fluidStack); @@ -68,12 +73,13 @@ public class FluidRenderer { scaledAmount = height; } - drawTiledSprite(xPosition, yPosition, width, height, fluidColor, scaledAmount, fluidStillSprite); + drawTiledSprite(matrixStack, xPosition, yPosition, width, height, fluidColor, scaledAmount, fluidStillSprite); } - private void drawTiledSprite(final int xPosition, final int yPosition, final int tiledWidth, final int tiledHeight, int color, int scaledAmount, TextureAtlasSprite sprite) { + private void drawTiledSprite(MatrixStack matrixStack, final int xPosition, final int yPosition, final int tiledWidth, final int tiledHeight, int color, int scaledAmount, TextureAtlasSprite sprite) { Minecraft minecraft = Minecraft.getInstance(); minecraft.getTextureManager().bindTexture(PlayerContainer.LOCATION_BLOCKS_TEXTURE); + Matrix4f matrix = matrixStack.getLast().getMatrix(); setGLColorFromInt(color); final int xTileCount = tiledWidth / TEX_WIDTH; @@ -93,17 +99,18 @@ public class FluidRenderer { int maskTop = TEX_HEIGHT - height; int maskRight = TEX_WIDTH - width; - drawTextureWithMasking(x, y, sprite, maskTop, maskRight, 100); + drawTextureWithMasking(matrix, x, y, sprite, maskTop, maskRight, 100); } } } } private static TextureAtlasSprite getStillFluidSprite(FluidStack fluidStack) { + Minecraft minecraft = Minecraft.getInstance(); Fluid fluid = fluidStack.getFluid(); FluidAttributes attributes = fluid.getAttributes(); ResourceLocation fluidStill = attributes.getStillTexture(fluidStack); - return Minecraft.getInstance().getAtlasSpriteGetter(PlayerContainer.LOCATION_BLOCKS_TEXTURE).apply(fluidStill); + return minecraft.getAtlasSpriteGetter(PlayerContainer.LOCATION_BLOCKS_TEXTURE).apply(fluidStill); } private static void setGLColorFromInt(int color) { @@ -115,21 +122,21 @@ public class FluidRenderer { RenderSystem.color4f(red, green, blue, alpha); } - private static void drawTextureWithMasking(double xCoord, double yCoord, TextureAtlasSprite textureSprite, int maskTop, int maskRight, double zLevel) { - double uMin = textureSprite.getMinU(); - double uMax = textureSprite.getMaxU(); - double vMin = textureSprite.getMinV(); - double vMax = textureSprite.getMaxV(); - uMax = uMax - (maskRight / 16.0 * (uMax - uMin)); - vMax = vMax - (maskTop / 16.0 * (vMax - vMin)); + private static void drawTextureWithMasking(Matrix4f matrix, float xCoord, float yCoord, TextureAtlasSprite textureSprite, int maskTop, int maskRight, float zLevel) { + float uMin = textureSprite.getMinU(); + float uMax = textureSprite.getMaxU(); + float vMin = textureSprite.getMinV(); + float vMax = textureSprite.getMaxV(); + uMax = uMax - (maskRight / 16F * (uMax - uMin)); + vMax = vMax - (maskTop / 16F * (vMax - vMin)); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferBuilder = tessellator.getBuffer(); bufferBuilder.begin(7, DefaultVertexFormats.POSITION_TEX); - bufferBuilder.pos(xCoord, yCoord + 16, zLevel).tex((float) uMin, (float) vMax).endVertex(); - bufferBuilder.pos(xCoord + 16 - maskRight, yCoord + 16, zLevel).tex((float) uMax, (float) vMax).endVertex(); - bufferBuilder.pos(xCoord + 16 - maskRight, yCoord + maskTop, zLevel).tex((float) uMax, (float) vMin).endVertex(); - bufferBuilder.pos(xCoord, yCoord + maskTop, zLevel).tex((float) uMin, (float) vMin).endVertex(); + bufferBuilder.pos(matrix, xCoord, yCoord + 16, zLevel).tex((float) uMin, (float) vMax).endVertex(); + bufferBuilder.pos(matrix, xCoord + 16 - maskRight, yCoord + 16, zLevel).tex((float) uMax, (float) vMax).endVertex(); + bufferBuilder.pos(matrix, xCoord + 16 - maskRight, yCoord + maskTop, zLevel).tex((float) uMax, (float) vMin).endVertex(); + bufferBuilder.pos(matrix, xCoord, yCoord + maskTop, zLevel).tex((float) uMin, (float) vMin).endVertex(); tessellator.draw(); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/render/Styles.java b/src/main/java/com/refinedmods/refinedstorage/render/Styles.java index 781699613..95b5b3c15 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/Styles.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/Styles.java @@ -1,13 +1,14 @@ package com.refinedmods.refinedstorage.render; +import net.minecraft.util.text.Color; import net.minecraft.util.text.Style; import net.minecraft.util.text.TextFormatting; -public class Styles { - public static final Style WHITE = new Style().setColor(TextFormatting.WHITE); - public static final Style GRAY = new Style().setColor(TextFormatting.GRAY); - public static final Style YELLOW = new Style().setColor(TextFormatting.YELLOW); - public static final Style RED = new Style().setColor(TextFormatting.RED); - public static final Style BLUE = new Style().setColor(TextFormatting.BLUE); - public static final Style AQUA = new Style().setColor(TextFormatting.AQUA); +public final class Styles { + public static final Style WHITE = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.WHITE)); + public static final Style GRAY = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.GRAY)); + public static final Style YELLOW = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.YELLOW)); + public static final Style RED = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.RED)); + public static final Style BLUE = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.BLUE)); + public static final Style AQUA = Style.EMPTY.setColor(Color.func_240744_a_(TextFormatting.AQUA)); } diff --git a/src/main/java/com/refinedmods/refinedstorage/render/model/FullbrightBakedModel.java b/src/main/java/com/refinedmods/refinedstorage/render/model/FullbrightBakedModel.java index 08a92c693..2fb719ff0 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/model/FullbrightBakedModel.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/model/FullbrightBakedModel.java @@ -75,7 +75,7 @@ public class FullbrightBakedModel extends DelegateBakedModel { quad.getTintIndex(), quad.getFace(), quad.func_187508_a(), - quad.shouldApplyDiffuseLighting() + quad.func_239287_f_() // shouldApplyDiffuseLighting ); } diff --git a/src/main/java/com/refinedmods/refinedstorage/render/model/PatternBakedModel.java b/src/main/java/com/refinedmods/refinedstorage/render/model/PatternBakedModel.java index a3d5b8c07..5ee43acda 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/model/PatternBakedModel.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/model/PatternBakedModel.java @@ -9,6 +9,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.ItemOverride; import net.minecraft.client.renderer.model.ItemOverrideList; +import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -25,7 +26,7 @@ public class PatternBakedModel extends DelegateBakedModel { return new ItemOverrideList() { @Nullable @Override - public IBakedModel getModelWithOverrides(IBakedModel model, ItemStack stack, @Nullable World world, @Nullable LivingEntity entity) { + public IBakedModel func_239290_a_(IBakedModel model, ItemStack stack, @Nullable ClientWorld world, @Nullable LivingEntity entity) { if (entity != null) { CraftingPattern pattern = PatternItem.fromCache(entity.world, stack); @@ -36,7 +37,7 @@ public class PatternBakedModel extends DelegateBakedModel { } } - return super.getModelWithOverrides(model, stack, world, entity); + return super.func_239290_a_(model, stack, world, entity); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/render/model/PortableGridBakedModel.java b/src/main/java/com/refinedmods/refinedstorage/render/model/PortableGridBakedModel.java index 3d988450d..aca4f0edd 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/model/PortableGridBakedModel.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/model/PortableGridBakedModel.java @@ -11,6 +11,7 @@ import net.minecraft.block.BlockState; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.ItemOverrideList; +import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.Direction; @@ -110,7 +111,7 @@ public class PortableGridBakedModel extends DelegateBakedModel { private class CustomItemOverrideList extends ItemOverrideList { @Nullable @Override - public IBakedModel getModelWithOverrides(IBakedModel model, ItemStack stack, @Nullable World worldIn, @Nullable LivingEntity entityIn) { + public IBakedModel func_239290_a_(IBakedModel model, ItemStack stack, @Nullable ClientWorld world, @Nullable LivingEntity entity) { PortableGrid portableGrid = new PortableGrid(null, stack, -1); if (portableGrid.isGridActive()) { diff --git a/src/main/java/com/refinedmods/refinedstorage/render/tesr/PatternItemStackTileRenderer.java b/src/main/java/com/refinedmods/refinedstorage/render/tesr/PatternItemStackTileRenderer.java index cfbb23c0a..6500df047 100644 --- a/src/main/java/com/refinedmods/refinedstorage/render/tesr/PatternItemStackTileRenderer.java +++ b/src/main/java/com/refinedmods/refinedstorage/render/tesr/PatternItemStackTileRenderer.java @@ -4,16 +4,17 @@ import com.mojang.blaze3d.matrix.MatrixStack; import com.refinedmods.refinedstorage.apiimpl.autocrafting.CraftingPattern; import com.refinedmods.refinedstorage.item.PatternItem; import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.model.ItemCameraTransforms; import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer; import net.minecraft.item.ItemStack; public class PatternItemStackTileRenderer extends ItemStackTileEntityRenderer { @Override - public void render(ItemStack stack, MatrixStack matrixStack, IRenderTypeBuffer renderTypeBuffer, int p_228364_4_, int p_228364_5_) { + public void func_239207_a_(ItemStack stack, ItemCameraTransforms.TransformType transformType, MatrixStack matrixStack, IRenderTypeBuffer renderTypeBuffer, int p_239207_5_, int p_239207_6_) { CraftingPattern pattern = PatternItem.fromCache(null, stack); ItemStack outputStack = pattern.getOutputs().get(0); - outputStack.getItem().getItemStackTileEntityRenderer().render(outputStack, matrixStack, renderTypeBuffer, p_228364_4_, p_228364_5_); + outputStack.getItem().getItemStackTileEntityRenderer().func_239207_a_(outputStack, transformType, matrixStack, renderTypeBuffer, p_239207_5_, p_239207_6_); } } \ No newline at end of file diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/BaseScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/BaseScreen.java index 89cc134a9..e572dbcab 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/BaseScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/BaseScreen.java @@ -137,7 +137,7 @@ public abstract class BaseScreen extends ContainerScreen FluidStack stack = ((FluidFilterSlot) slot).getFluidInventory().getFluid(slot.getSlotIndex()); if (!stack.isEmpty()) { - FluidRenderer.INSTANCE.render(guiLeft + slot.xPos, guiTop + slot.yPos, stack); + FluidRenderer.INSTANCE.render(matrixStack, guiLeft + slot.xPos, guiTop + slot.yPos, stack); if (((FluidFilterSlot) slot).isSizeAllowed()) { renderQuantity(matrixStack, guiLeft + slot.xPos, guiTop + slot.yPos, API.instance().getQuantityFormatter().formatInBucketForm(stack.getAmount()), RenderSettings.INSTANCE.getSecondaryColor()); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java index c22bbd496..ce2cd621d 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java @@ -80,9 +80,9 @@ public class CraftingMonitorScreen extends BaseScreen if (requested.getItem() != null) { RenderHelper.setupGui3DDiffuseLighting(); - itemDrawer.draw(x, y, requested.getItem()); + itemDrawer.draw(matrixStack, x, y, requested.getItem()); } else { - fluidDrawer.draw(x, y, requested.getFluid()); + fluidDrawer.draw(matrixStack, x, y, requested.getFluid()); RenderSystem.enableAlphaTest(); } @@ -261,16 +261,16 @@ public class CraftingMonitorScreen extends BaseScreen int x = 7; int y = 20; - String itemSelectedTooltip = null; + List tooltip = null; for (int i = 0; i < 3 * 5; ++i) { if (item < getElements().size()) { ICraftingMonitorElement element = getElements().get(item); - element.draw(x, y, drawers); + element.draw(matrixStack, x, y, drawers); if (RenderUtils.inBounds(x, y, ITEM_WIDTH, ITEM_HEIGHT, mouseX, mouseY)) { - itemSelectedTooltip = element.getTooltip(); + tooltip = element.getTooltip(); } if ((i + 1) % 3 == 0) { @@ -284,8 +284,8 @@ public class CraftingMonitorScreen extends BaseScreen item++; } - if (itemSelectedTooltip != null && !itemSelectedTooltip.isEmpty()) { - renderTooltip(matrixStack, mouseX, mouseY, I18n.format(itemSelectedTooltip)); + if (tooltip != null && !tooltip.isEmpty()) { + renderTooltip(matrixStack, ItemStack.EMPTY, mouseX, mouseY, tooltip); } tabs.drawTooltip(matrixStack, font, mouseX, mouseY); diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/FluidInterfaceScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/FluidInterfaceScreen.java index 7abfa244e..7eda2beb0 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/FluidInterfaceScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/FluidInterfaceScreen.java @@ -37,11 +37,11 @@ public class FluidInterfaceScreen extends BaseScreen { blit(matrixStack, x, y, 0, 0, xSize, ySize); if (!FluidInterfaceTile.TANK_IN.getValue().isEmpty()) { - TANK_RENDERER.render(x + 46, y + 56, FluidInterfaceTile.TANK_IN.getValue()); + TANK_RENDERER.render(matrixStack, x + 46, y + 56, FluidInterfaceTile.TANK_IN.getValue()); } if (!FluidInterfaceTile.TANK_OUT.getValue().isEmpty()) { - TANK_RENDERER.render(x + 118, y + 56, FluidInterfaceTile.TANK_OUT.getValue()); + TANK_RENDERER.render(matrixStack, x + 118, y + 56, FluidInterfaceTile.TANK_OUT.getValue()); } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java index fabfd2c66..e3a90ae8b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/AlternativesScreen.java @@ -299,7 +299,7 @@ public class AlternativesScreen extends BaseScreen { @Override public void render(MatrixStack matrixStack, int x, int y) { - FluidRenderer.INSTANCE.render(x + 3, y + 2, fluid); + FluidRenderer.INSTANCE.render(matrixStack, x + 3, y + 2, fluid); renderString(matrixStack, x + 4 + 19, y + 7, fluid.getDisplayName().getString()); } } @@ -363,7 +363,7 @@ public class AlternativesScreen extends BaseScreen { @Override public void render(MatrixStack matrixStack, int x, int y) { for (FluidStack fluid : fluids) { - FluidRenderer.INSTANCE.render(x + 3, y, fluid); + FluidRenderer.INSTANCE.render(matrixStack, x + 3, y, fluid); x += 17; } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java index 19979868b..6766520b5 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java @@ -178,9 +178,9 @@ public class CraftingPreviewScreen extends BaseScreen { for (int i = 0; i < 3 * 5; ++i) { if (slot < stacks.size()) { - ICraftingPreviewElement stack = stacks.get(slot); + ICraftingPreviewElement stack = stacks.get(slot); - stack.draw(x, y + 5, drawers); + stack.draw(matrixStack, x, y + 5, drawers); if (RenderUtils.inBounds(x + 5, y + 7, 16, 16, mouseX, mouseY)) { this.hoveringStack = stack.getId().equals(ItemCraftingPreviewElement.ID) ? (ItemStack) stack.getElement() : null; diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java index 445a06f96..4a6e4791b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/filtering/TooltipGridFilter.java @@ -1,6 +1,7 @@ package com.refinedmods.refinedstorage.screen.grid.filtering; import com.refinedmods.refinedstorage.screen.grid.stack.IGridStack; +import net.minecraft.util.text.ITextComponent; import java.util.function.Predicate; @@ -13,6 +14,15 @@ public class TooltipGridFilter implements Predicate { @Override public boolean test(IGridStack stack) { + for (ITextComponent item : stack.getTooltip()) { + if (item.getString().contains(tooltip)) { + return true; + } + } + + return false; + + /* TODO Check if we still need to rem first line? String otherTooltip = stack.getTooltip().trim().toLowerCase(); if (!otherTooltip.contains("\n")) { @@ -21,6 +31,6 @@ public class TooltipGridFilter implements Predicate { otherTooltip = otherTooltip.substring(otherTooltip.indexOf('\n') + 1); // Remove the first line as that states the item name - return otherTooltip.contains(tooltip); + return otherTooltip.contains(tooltip); */ } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java index 41cfb9b75..0ae76f65e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/stack/FluidGridStack.java @@ -161,7 +161,7 @@ public class FluidGridStack implements IGridStack { @Override public void draw(MatrixStack matrixStack, BaseScreen screen, int x, int y) { - FluidRenderer.INSTANCE.render(x, y, stack); + FluidRenderer.INSTANCE.render(matrixStack, x, y, stack); String text; int color = RenderSettings.INSTANCE.getSecondaryColor(); diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java index 55d1f861f..628d0c77e 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java @@ -36,10 +36,6 @@ import com.refinedmods.refinedstorage.integration.craftingtweaks.CraftingTweaksI import com.refinedmods.refinedstorage.integration.inventorysorter.InventorySorterIntegration; import com.refinedmods.refinedstorage.item.*; import com.refinedmods.refinedstorage.item.blockitem.*; -import com.refinedmods.refinedstorage.loottable.ControllerLootFunctionSerializer; -import com.refinedmods.refinedstorage.loottable.CrafterLootFunctionSerializer; -import com.refinedmods.refinedstorage.loottable.PortableGridBlockLootFunctionSerializer; -import com.refinedmods.refinedstorage.loottable.StorageBlockLootFunctionSerializer; import com.refinedmods.refinedstorage.recipe.UpgradeWithEnchantedBookRecipeSerializer; import com.refinedmods.refinedstorage.tile.*; import com.refinedmods.refinedstorage.tile.craftingmonitor.CraftingMonitorTile; @@ -54,7 +50,6 @@ import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; -import net.minecraft.world.storage.loot.functions.LootFunctionManager; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.extensions.IForgeContainerType; import net.minecraftforge.event.RegistryEvent; @@ -132,11 +127,6 @@ public class CommonSetup { API.instance().getCraftingTaskRegistry().add(CraftingTaskFactory.ID, new CraftingTaskFactory()); - LootFunctionManager.registerFunction(new StorageBlockLootFunctionSerializer()); - LootFunctionManager.registerFunction(new PortableGridBlockLootFunctionSerializer()); - LootFunctionManager.registerFunction(new CrafterLootFunctionSerializer()); - LootFunctionManager.registerFunction(new ControllerLootFunctionSerializer()); - if (CraftingTweaksIntegration.isLoaded()) { CraftingTweaksIntegration.register(); } diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/BaseTile.java b/src/main/java/com/refinedmods/refinedstorage/tile/BaseTile.java index 86e8b8b12..d9e796449 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/BaseTile.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/BaseTile.java @@ -1,6 +1,7 @@ package com.refinedmods.refinedstorage.tile; import com.refinedmods.refinedstorage.tile.data.TileDataManager; +import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.NetworkManager; import net.minecraft.network.play.server.SUpdateTileEntityPacket; @@ -32,7 +33,6 @@ public abstract class BaseTile extends TileEntity { return writeUpdate(super.getUpdateTag()); } - @Nullable @Override public final SUpdateTileEntityPacket getUpdatePacket() { return new SUpdateTileEntityPacket(pos, 1, getUpdateTag()); @@ -44,8 +44,8 @@ public abstract class BaseTile extends TileEntity { } @Override - public final void handleUpdateTag(CompoundNBT tag) { - super.read(tag); + public void handleUpdateTag(BlockState state, CompoundNBT tag) { + super.read(state, tag); readUpdate(tag); } diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridDiskState.java b/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridDiskState.java index 15a58418e..6b055e0a9 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridDiskState.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridDiskState.java @@ -22,7 +22,7 @@ public enum PortableGridDiskState implements IStringSerializable { } @Override - public String getName() { + public String getString() { return type; } @@ -30,15 +30,5 @@ public enum PortableGridDiskState implements IStringSerializable { public String toString() { return type; } - - public static PortableGridDiskState getById(int id) { - for (PortableGridDiskState diskState : values()) { - if (diskState.getId() == id) { - return diskState; - } - } - - return NONE; - } } diff --git a/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridTile.java b/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridTile.java index 604c21bc5..242852924 100644 --- a/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridTile.java +++ b/src/main/java/com/refinedmods/refinedstorage/tile/grid/portable/PortableGridTile.java @@ -655,8 +655,8 @@ public class PortableGridTile extends BaseTile implements IGrid, IPortableGrid, } @Override - public void read(CompoundNBT tag) { - super.read(tag); + public void read(BlockState blockState, CompoundNBT tag) { + super.read(blockState, tag); if (tag.contains(GridNetworkNode.NBT_SORTING_DIRECTION)) { sortingDirection = tag.getInt(GridNetworkNode.NBT_SORTING_DIRECTION);