From 640284a5c5fff18e97725ea9e02faa26bc972313 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Thu, 29 Aug 2019 20:25:56 +0200 Subject: [PATCH] Fix more errors --- .../refinedstorage/block/BlockBase.java | 3 +- .../CapabilityNetworkNodeProxy.java | 8 +- .../command/CommandCreateDisk.java | 4 +- .../container/ContainerBase.java | 11 ++- .../inventory/fluid/FluidInventory.java | 6 +- .../inventory/fluid/FluidInventoryFilter.java | 10 +-- .../fluid/FluidInventoryFilterIcon.java | 4 +- .../inventory/item/ItemHandlerFilter.java | 6 +- .../item/ItemHandlerFilterItems.java | 10 +-- .../inventory/item/ItemHandlerProxy.java | 5 ++ .../inventory/item/ItemHandlerUpgrade.java | 11 +-- .../item/validator/ItemValidatorBasic.java | 8 +- .../refinedstorage/recipe/RecipeCover.java | 28 +++++-- .../recipe/RecipeHollowCover.java | 30 ++++++-- .../RecipeUpgradeWithEnchantedBook.java | 14 +++- .../refinedstorage/render/CubeBuilder.java | 76 +++++++++---------- .../collision/AdvancedRayTraceResult.java | 2 +- .../render/collision/AdvancedRayTracer.java | 5 +- .../collision/BlockHighlightListener.java | 27 +++---- .../render/color/ItemColorPattern.java | 6 +- .../render/constants/ConstantsCable.java | 18 ++--- .../model/baked/BakedModelCableCover.java | 8 +- ...leEntitySpecialRendererStorageMonitor.java | 63 +++++++-------- .../refinedstorage/tile/TileBase.java | 3 +- .../refinedstorage/util/AccessTypeUtils.java | 2 +- .../refinedstorage/util/RenderUtils.java | 76 ++++++++++--------- 26 files changed, 249 insertions(+), 195 deletions(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java index 7c4e04190..214b13cb3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java @@ -12,6 +12,7 @@ import com.raoulvdberge.refinedstorage.tile.TileBase; import com.raoulvdberge.refinedstorage.util.CollisionUtils; import com.raoulvdberge.refinedstorage.util.WorldUtils; import net.minecraft.block.Block; +import net.minecraft.block.BlockState; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; @@ -192,7 +193,7 @@ public abstract class BlockBase extends Block { return false; } - public List getCollisions(TileEntity tile, IBlockState state) { + public List getCollisions(TileEntity tile, BlockState state) { return DEFAULT_COLLISION_GROUPS; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java index 43a22c62e..58057f9f5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/capability/CapabilityNetworkNodeProxy.java @@ -3,8 +3,8 @@ package com.raoulvdberge.refinedstorage.capability; import com.google.common.base.Preconditions; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; -import net.minecraft.nbt.NBTBase; -import net.minecraft.util.EnumFacing; +import net.minecraft.nbt.INBT; +import net.minecraft.util.Direction; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.CapabilityManager; @@ -26,12 +26,12 @@ public class CapabilityNetworkNodeProxy { private static class Storage implements Capability.IStorage { @Nullable @Override - public NBTBase writeNBT(Capability capability, INetworkNodeProxy instance, EnumFacing side) { + public INBT writeNBT(Capability capability, INetworkNodeProxy instance, Direction side) { return null; } @Override - public void readNBT(Capability capability, INetworkNodeProxy instance, EnumFacing side, NBTBase nbt) { + public void readNBT(Capability capability, INetworkNodeProxy instance, Direction side, INBT nbt) { // NO OP } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/command/CommandCreateDisk.java b/src/main/java/com/raoulvdberge/refinedstorage/command/CommandCreateDisk.java index b9540e168..a17d87bc7 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/command/CommandCreateDisk.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/command/CommandCreateDisk.java @@ -1,5 +1,6 @@ package com.raoulvdberge.refinedstorage.command; +/* TODO import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskProvider; import com.raoulvdberge.refinedstorage.apiimpl.API; @@ -21,7 +22,7 @@ import java.util.List; import java.util.UUID; import java.util.stream.Collectors; -public class CommandCreateDisk extends CommandBase { +public class CommandCreateDisk extends Command { @Override public String getName() { return "createdisk"; @@ -88,3 +89,4 @@ public class CommandCreateDisk extends CommandBase { return Collections.emptyList(); } } +*/ diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java index 7655a5e1e..8e9fa221b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java @@ -11,12 +11,10 @@ import com.raoulvdberge.refinedstorage.container.transfer.TransferManager; import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidUpdate; import com.raoulvdberge.refinedstorage.tile.TileBase; import com.raoulvdberge.refinedstorage.tile.data.TileDataWatcher; -import invtweaks.api.container.InventoryContainer; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.inventory.ClickType; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; +import net.minecraft.inventory.container.Container; +import net.minecraft.inventory.container.ContainerType; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -24,7 +22,6 @@ import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; -@InventoryContainer(showOptions = false) public abstract class ContainerBase extends Container { @Nullable private TileBase tile; @@ -37,7 +34,9 @@ public abstract class ContainerBase extends Container { private List fluidSlots = new ArrayList<>(); private List fluids = new ArrayList<>(); - public ContainerBase(@Nullable TileBase tile, PlayerEntity player) { + public ContainerBase(@Nullable TileBase tile, PlayerEntity player, int windowId) { + super(ContainerType.CRAFTING, windowId); + this.tile = tile; if (tile != null && player instanceof ServerPlayerEntity) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventory.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventory.java index 7d3ba4453..812912311 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventory.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventory.java @@ -48,8 +48,8 @@ public class FluidInventory { } public void setFluid(int slot, @Nullable FluidStack stack) { - if (stack != null && stack.amount <= 0 && stack.amount > maxAmount) { - throw new IllegalArgumentException("Fluid size is invalid (given: " + stack.amount + ", max size: " + maxAmount + ")"); + if (stack != null && stack.getAmount() <= 0 && stack.getAmount() > maxAmount) { + throw new IllegalArgumentException("Fluid size is invalid (given: " + stack.getAmount() + ", max size: " + maxAmount + ")"); } fluids[slot] = stack; @@ -79,7 +79,7 @@ public class FluidInventory { for (int i = 0; i < getSlots(); ++i) { String key = String.format(NBT_SLOT, i); - if (tag.hasKey(key)) { + if (tag.contains(key)) { fluids[i] = FluidStack.loadFluidStackFromNBT(tag.getCompound(key)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilter.java index 18c73f3ef..4f010386f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilter.java @@ -11,15 +11,15 @@ public class FluidInventoryFilter extends FluidInventory { super(27, Integer.MAX_VALUE, null); this.listener = slot -> { - if (!stack.hasTagCompound()) { - stack.setTagCompound(new CompoundNBT()); + if (!stack.hasTag()) { + stack.setTag(new CompoundNBT()); } - stack.getTagCompound().put(ItemFilter.NBT_FLUID_FILTERS, writeToNbt()); + stack.getTag().put(ItemFilter.NBT_FLUID_FILTERS, writeToNbt()); }; - if (stack.hasTagCompound() && stack.getTagCompound().hasKey(ItemFilter.NBT_FLUID_FILTERS)) { - readFromNbt(stack.getTagCompound().getCompound(ItemFilter.NBT_FLUID_FILTERS)); + if (stack.hasTag() && stack.getTag().contains(ItemFilter.NBT_FLUID_FILTERS)) { + readFromNbt(stack.getTag().getCompound(ItemFilter.NBT_FLUID_FILTERS)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilterIcon.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilterIcon.java index 645ea9f66..aff33d60a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilterIcon.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/fluid/FluidInventoryFilterIcon.java @@ -10,8 +10,8 @@ public class FluidInventoryFilterIcon extends FluidInventory { super(1, Integer.MAX_VALUE, null); this.listener = slot -> { - if (!stack.hasTagCompound()) { - stack.setTagCompound(new CompoundNBT()); + if (!stack.hasTag()) { + stack.setTag(new CompoundNBT()); } ItemFilter.setFluidIcon(stack, getFluid(slot)); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java index 61157ea98..7d4847a97 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilter.java @@ -13,8 +13,8 @@ import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBas import com.raoulvdberge.refinedstorage.item.ItemFilter; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.LogicalSide; +import net.minecraftforge.fml.common.thread.EffectiveSide; import javax.annotation.Nullable; import java.util.ArrayList; @@ -47,7 +47,7 @@ public class ItemHandlerFilter extends ItemHandlerBase { } } - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { + if (EffectiveSide.get() == LogicalSide.CLIENT) { // TODO check GuiBase.executeLater(GuiGrid.class, grid -> grid.getView().sort()); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilterItems.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilterItems.java index bcf5c82c3..6cab01a7b 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilterItems.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerFilterItems.java @@ -14,8 +14,8 @@ public class ItemHandlerFilterItems extends ItemStackHandler { this.stack = stack; - if (stack.hasTagCompound()) { - StackUtils.readItems(this, 0, stack.getTagCompound()); + if (stack.hasTag()) { + StackUtils.readItems(this, 0, stack.getTag()); } } @@ -23,11 +23,11 @@ public class ItemHandlerFilterItems extends ItemStackHandler { protected void onContentsChanged(int slot) { super.onContentsChanged(slot); - if (!stack.hasTagCompound()) { - stack.setTagCompound(new CompoundNBT()); + if (!stack.hasTag()) { + stack.setTag(new CompoundNBT()); } - StackUtils.writeItems(this, 0, stack.getTagCompound()); + StackUtils.writeItems(this, 0, stack.getTag()); } public NonNullList getFilteredItems() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerProxy.java index dbaa01b22..0ccb80b54 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerProxy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerProxy.java @@ -41,4 +41,9 @@ public class ItemHandlerProxy implements IItemHandler { public int getSlotLimit(int slot) { return slot < insertHandler.getSlots() ? insertHandler.getSlotLimit(slot) : extractHandler.getSlotLimit(slot - insertHandler.getSlots()); } + + @Override + public boolean isItemValid(int slot, @Nonnull ItemStack stack) { + return slot < insertHandler.getSlots() ? insertHandler.isItemValid(slot, stack) : extractHandler.isItemValid(slot - extractHandler.getSlots(), stack); + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerUpgrade.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerUpgrade.java index b82a6bbf7..265b85e5f 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerUpgrade.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/ItemHandlerUpgrade.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.inventory.item; -import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic; import com.raoulvdberge.refinedstorage.item.ItemUpgrade; @@ -8,11 +7,11 @@ import javax.annotation.Nullable; import java.util.function.Consumer; public class ItemHandlerUpgrade extends ItemHandlerBase { - public ItemHandlerUpgrade(int size, @Nullable Consumer listener, int... supportedUpgrades) { + public ItemHandlerUpgrade(int size, @Nullable Consumer listener, ItemUpgrade... supportedUpgrades) { super(size, listener, new ItemValidatorBasic[supportedUpgrades.length]); for (int i = 0; i < supportedUpgrades.length; ++i) { - this.validators[i] = new ItemValidatorBasic(RSItems.UPGRADE, supportedUpgrades[i]); + this.validators[i] = new ItemValidatorBasic(supportedUpgrades[i]); } } @@ -22,7 +21,8 @@ public class ItemHandlerUpgrade extends ItemHandlerBase { public int getSpeed(int speed, int speedIncrease) { for (int i = 0; i < getSlots(); ++i) { - if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_SPEED) { + /*TODO if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_SPEED) {*/ + if (false) { speed -= speedIncrease; } } @@ -38,7 +38,8 @@ public class ItemHandlerUpgrade extends ItemHandlerBase { int upgrades = 0; for (int i = 0; i < getSlots(); ++i) { - if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == type) { + /*TODO if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == type) {*/ + if (false) { upgrades++; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/validator/ItemValidatorBasic.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/validator/ItemValidatorBasic.java index e5a0d31e9..666657458 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/validator/ItemValidatorBasic.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/item/validator/ItemValidatorBasic.java @@ -7,19 +7,13 @@ import java.util.function.Predicate; public class ItemValidatorBasic implements Predicate { private Item item; - private int damage = -1; public ItemValidatorBasic(Item item) { this.item = item; } - public ItemValidatorBasic(Item item, int damage) { - this.item = item; - this.damage = damage; - } - @Override public boolean test(ItemStack stack) { - return stack.getItem() == item && !(damage != -1 && stack.getItemDamage() != damage); + return stack.getItem() == item; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeCover.java b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeCover.java index a5772317a..31865f2c1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeCover.java @@ -1,18 +1,21 @@ package com.raoulvdberge.refinedstorage.recipe; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager; import com.raoulvdberge.refinedstorage.item.ItemCover; -import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.items.ItemHandlerHelper; -import net.minecraftforge.registries.IForgeRegistryEntry; -public class RecipeCover extends IForgeRegistryEntry.Impl implements IRecipe { +public class RecipeCover implements IRecipe { @Override - public boolean matches(InventoryCrafting inv, World world) { + public boolean matches(CraftingInventory inv, World world) { boolean hadCuttingTool = false; boolean hadItem = false; @@ -44,7 +47,7 @@ public class RecipeCover extends IForgeRegistryEntry.Impl implements IR } @Override - public ItemStack getCraftingResult(InventoryCrafting inv) { + public ItemStack getCraftingResult(CraftingInventory inv) { for (int i = 0; i < inv.getSizeInventory(); ++i) { ItemStack slot = inv.getStackInSlot(i); @@ -69,4 +72,19 @@ public class RecipeCover extends IForgeRegistryEntry.Impl implements IR public ItemStack getRecipeOutput() { return ItemStack.EMPTY; } + + @Override + public ResourceLocation getId() { + return new ResourceLocation(RS.ID, "cover"); + } + + @Override + public IRecipeSerializer getSerializer() { + return null; + } + + @Override + public IRecipeType getType() { + return IRecipeType.CRAFTING; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeHollowCover.java b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeHollowCover.java index f24fe6c3d..b28b8c385 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeHollowCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeHollowCover.java @@ -1,18 +1,21 @@ package com.raoulvdberge.refinedstorage.recipe; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager; import com.raoulvdberge.refinedstorage.item.ItemCover; import com.raoulvdberge.refinedstorage.item.ItemHollowCover; -import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.CraftingInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.IRecipeType; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import net.minecraftforge.registries.IForgeRegistryEntry; import javax.annotation.Nullable; -public class RecipeHollowCover extends IForgeRegistryEntry.Impl implements IRecipe { +public class RecipeHollowCover implements IRecipe { protected boolean isValid(ItemStack slot, @Nullable ItemStack previousValidSlot) { ItemStack currentCover = ItemCover.getItem(slot); @@ -23,14 +26,14 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl impleme ItemStack previousCover = ItemCover.getItem(previousValidSlot); - return previousCover.getItem() == currentCover.getItem() && previousCover.getItemDamage() == currentCover.getItemDamage(); + return previousCover.getItem() == currentCover.getItem(); } return false; } @Override - public boolean matches(InventoryCrafting inv, World worldIn) { + public boolean matches(CraftingInventory inv, World worldIn) { ItemStack previousValidSlot = null; for (int i = 0; i < 9; ++i) { @@ -53,7 +56,7 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl impleme } @Override - public ItemStack getCraftingResult(InventoryCrafting inv) { + public ItemStack getCraftingResult(CraftingInventory inv) { ItemStack stack = new ItemStack(RSItems.HOLLOW_COVER, 8); ItemHollowCover.setItem(stack, ItemCover.getItem(inv.getStackInSlot(0))); @@ -70,4 +73,19 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl impleme public ItemStack getRecipeOutput() { return ItemStack.EMPTY; } + + @Override + public ResourceLocation getId() { + return new ResourceLocation(RS.ID, "hollow_cover"); + } + + @Override + public IRecipeSerializer getSerializer() { + return null; + } + + @Override + public IRecipeType getType() { + return IRecipeType.CRAFTING; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeUpgradeWithEnchantedBook.java b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeUpgradeWithEnchantedBook.java index 970ad466a..1162f30ce 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeUpgradeWithEnchantedBook.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/recipe/RecipeUpgradeWithEnchantedBook.java @@ -1,29 +1,36 @@ package com.raoulvdberge.refinedstorage.recipe; +/* +TODO import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; +import net.minecraft.block.Blocks; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; import net.minecraft.init.Blocks; import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.EnchantedBookItem; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; +import net.minecraft.item.crafting.ShapedRecipe; import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.ListNBT; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.registry.Registry; import net.minecraft.world.World; // MC JSON recipes don't like comparing to NBT, that's why we need a custom recipe class. // We need to compare to NBT for the enchanted book. -public class RecipeUpgradeWithEnchantedBook extends ShapedRecipes { +public class RecipeUpgradeWithEnchantedBook extends ShapedRecipe { private EnchantmentData enchant; public RecipeUpgradeWithEnchantedBook(String enchantmentId, int enchantmentLevel, int upgradeId) { super(RS.ID, 3, 3, NonNullList.from(Ingredient.EMPTY, Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)), - Ingredient.fromStacks(ItemEnchantedBook.getEnchantedItemStack(new EnchantmentData(Enchantment.getEnchantmentByLocation(enchantmentId), enchantmentLevel))), + Ingredient.fromStacks(EnchantedBookItem.getEnchantedItemStack(new EnchantmentData(Registry.ENCHANTMENT.getOrDefault(new ResourceLocation("minecraft", enchantmentId)), enchantmentLevel))), Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)), Ingredient.fromStacks(new ItemStack(Blocks.BOOKSHELF)), Ingredient.fromStacks(new ItemStack(RSItems.UPGRADE)), @@ -31,7 +38,7 @@ public class RecipeUpgradeWithEnchantedBook extends ShapedRecipes { Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)), Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)), Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)) - ), new ItemStack(RSItems.UPGRADE, 1, upgradeId)); + ), new ItemStack(RSItems.UPGRADE, 1)); this.enchant = new EnchantmentData(Enchantment.getEnchantmentByLocation(enchantmentId), enchantmentLevel); } @@ -54,3 +61,4 @@ public class RecipeUpgradeWithEnchantedBook extends ShapedRecipes { return false; } } +*/ \ No newline at end of file diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/CubeBuilder.java b/src/main/java/com/raoulvdberge/refinedstorage/render/CubeBuilder.java index ea86e877c..28389526c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/CubeBuilder.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/CubeBuilder.java @@ -1,14 +1,14 @@ package com.raoulvdberge.refinedstorage.render; import com.raoulvdberge.refinedstorage.util.RenderUtils; -import net.minecraft.client.renderer.block.model.BakedQuad; +import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.renderer.vertex.VertexFormatElement; -import net.minecraft.util.EnumFacing; +import net.minecraft.util.Direction; import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad; -import org.lwjgl.util.vector.Vector3f; import java.util.ArrayList; import java.util.HashMap; @@ -32,23 +32,23 @@ public class CubeBuilder { } public static class Face { - private EnumFacing face; + private Direction face; private TextureAtlasSprite sprite; private int light; private UvRotation uvRotation = UvRotation.CLOCKWISE_0; - public Face(EnumFacing face, TextureAtlasSprite sprite) { + public Face(Direction face, TextureAtlasSprite sprite) { this.face = face; this.sprite = sprite; } - public Face(EnumFacing face, TextureAtlasSprite sprite, UvRotation uvRotation) { + public Face(Direction face, TextureAtlasSprite sprite, UvRotation uvRotation) { this(face, sprite); this.uvRotation = uvRotation; } - public Face(EnumFacing face, TextureAtlasSprite sprite, UvRotation uvRotation, int light) { + public Face(Direction face, TextureAtlasSprite sprite, UvRotation uvRotation, int light) { this(face, sprite, uvRotation); this.light = light; @@ -58,7 +58,7 @@ public class CubeBuilder { private Vector3f from; private Vector3f to; private VertexFormat format = DefaultVertexFormats.ITEM; - private Map faces = new HashMap<>(); + private Map faces = new HashMap<>(); private int color = 0xFFFFFFFF; public CubeBuilder from(float x, float y, float z) { @@ -85,8 +85,8 @@ public class CubeBuilder { return this; } - public CubeBuilder addFaces(Function faceSupplier) { - for (EnumFacing facing : EnumFacing.VALUES) { + public CubeBuilder addFaces(Function faceSupplier) { + for (Direction facing : Direction.values()) { addFace(faceSupplier.apply(facing)); } @@ -102,14 +102,14 @@ public class CubeBuilder { public List bake() { List quads = new ArrayList<>(); - for (Map.Entry entry : faces.entrySet()) { + for (Map.Entry entry : faces.entrySet()) { quads.add(bakeFace(entry.getKey(), entry.getValue())); } return quads; } - private BakedQuad bakeFace(EnumFacing facing, Face cubeFace) { + private BakedQuad bakeFace(Direction facing, Face cubeFace) { UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(format); builder.setTexture(cubeFace.sprite); @@ -117,51 +117,51 @@ public class CubeBuilder { builder.setQuadTint(-1); builder.setApplyDiffuseLighting(true); - Uv uv = getDefaultUv(facing, cubeFace.sprite, from.x, from.y, from.z, to.x, to.y, to.z); + Uv uv = getDefaultUv(facing, cubeFace.sprite, from.getX(), from.getY(), from.getZ(), to.getX(), to.getY(), to.getZ()); switch (facing) { case DOWN: - addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); - addVertexBottomRight(builder, cubeFace, to.x, from.y, to.z, uv); - addVertexBottomLeft(builder, cubeFace, from.x, from.y, to.z, uv); - addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); + addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv); + addVertexBottomRight(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv); + addVertexBottomLeft(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv); + addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv); break; case UP: - addVertexTopLeft(builder, cubeFace, from.x, to.y, from.z, uv); - addVertexBottomLeft(builder, cubeFace, from.x, to.y, to.z, uv); - addVertexBottomRight(builder, cubeFace, to.x, to.y, to.z, uv); - addVertexTopRight(builder, cubeFace, to.x, to.y, from.z, uv); + addVertexTopLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv); + addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv); + addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv); + addVertexTopRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv); break; case NORTH: - addVertexBottomRight(builder, cubeFace, to.x, to.y, from.z, uv); - addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); - addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); - addVertexBottomLeft(builder, cubeFace, from.x, to.y, from.z, uv); + addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv); + addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv); + addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv); + addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv); break; case SOUTH: - addVertexBottomLeft(builder, cubeFace, from.x, to.y, to.z, uv); - addVertexTopLeft(builder, cubeFace, from.x, from.y, to.z, uv); - addVertexTopRight(builder, cubeFace, to.x, from.y, to.z, uv); - addVertexBottomRight(builder, cubeFace, to.x, to.y, to.z, uv); + addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv); + addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv); + addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv); + addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv); break; case WEST: - addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); - addVertexTopRight(builder, cubeFace, from.x, from.y, to.z, uv); - addVertexBottomRight(builder, cubeFace, from.x, to.y, to.z, uv); - addVertexBottomLeft(builder, cubeFace, from.x, to.y, from.z, uv); + addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv); + addVertexTopRight(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv); + addVertexBottomRight(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv); + addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv); break; case EAST: - addVertexBottomRight(builder, cubeFace, to.x, to.y, from.z, uv); - addVertexBottomLeft(builder, cubeFace, to.x, to.y, to.z, uv); - addVertexTopLeft(builder, cubeFace, to.x, from.y, to.z, uv); - addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); + addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv); + addVertexBottomLeft(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv); + addVertexTopLeft(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv); + addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv); break; } return builder.build(); } - private Uv getDefaultUv(EnumFacing face, TextureAtlasSprite texture, float fromX, float fromY, float fromZ, float toX, float toY, float toZ) { + private Uv getDefaultUv(Direction face, TextureAtlasSprite texture, float fromX, float fromY, float fromZ, float toX, float toY, float toZ) { Uv uv = new Uv(); switch (face) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTraceResult.java b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTraceResult.java index 44f3ec9da..b6e01b957 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTraceResult.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTraceResult.java @@ -20,7 +20,7 @@ public class AdvancedRayTraceResult { } public double squareDistanceTo(Vec3d vec) { - return hit.hitVec.squareDistanceTo(vec); + return hit.getHitVec().squareDistanceTo(vec); } public CollisionGroup getGroup() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTracer.java b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTracer.java index b9aae4ce2..c2ac1327a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTracer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/AdvancedRayTracer.java @@ -16,7 +16,7 @@ public final class AdvancedRayTracer { } public static Vec3d getEnd(PlayerEntity player) { - double reachDistance = player instanceof ServerPlayerEntity ? player.getEntityAttribute(PlayerEntity.REACH_DISTANCE).getAttributeValue() : (player.capabilities.isCreativeMode ? 5.0D : 4.5D); + double reachDistance = player instanceof ServerPlayerEntity ? player.getAttribute(PlayerEntity.REACH_DISTANCE).getValue() : (player.isCreative() ? 5.0D : 4.5D); Vec3d lookVec = player.getLookVec(); Vec3d start = getStart(player); @@ -51,13 +51,12 @@ public final class AdvancedRayTracer { } public static AdvancedRayTraceResult rayTrace(BlockPos pos, Vec3d start, Vec3d end, AxisAlignedBB bounds, int subHit, CollisionGroup group) { - RayTraceResult result = bounds.offset(pos).calculateIntercept(start, end); + RayTraceResult result = AxisAlignedBB.rayTrace(group.getItems(), start, end, pos); // TODO: Correct? if (result == null) { return null; } - result = new RayTraceResult(RayTraceResult.Type.BLOCK, result.hitVec, result.sideHit, pos); result.subHit = subHit; return new AdvancedRayTraceResult<>(group, bounds, result); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/BlockHighlightListener.java b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/BlockHighlightListener.java index 1a71ed7cf..a989b77fb 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/collision/BlockHighlightListener.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/collision/BlockHighlightListener.java @@ -1,29 +1,29 @@ package com.raoulvdberge.refinedstorage.render.collision; +import com.mojang.blaze3d.platform.GlStateManager; import com.raoulvdberge.refinedstorage.block.BlockBase; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; +import net.minecraft.block.BlockState; import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraftforge.client.event.DrawBlockHighlightEvent; -import net.minecraftforge.fml.common.eventhandler.EventPriority; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.eventbus.api.EventPriority; +import net.minecraftforge.eventbus.api.SubscribeEvent; public class BlockHighlightListener { @SubscribeEvent(priority = EventPriority.LOWEST) public void onBlockDrawHighlight(DrawBlockHighlightEvent e) { - if (e.getTarget() == null || e.getTarget().getBlockPos() == null) { + if (e.getTarget() == null || e.getInfo().getBlockPos() == null) { // TODO: Still need to check this? return; } - PlayerEntity player = e.getPlayer(); + PlayerEntity player = (PlayerEntity) e.getInfo().getRenderViewEntity(); - BlockPos pos = e.getTarget().getBlockPos(); + BlockPos pos = e.getInfo().getBlockPos(); Block b = player.getEntityWorld().getBlockState(pos).getBlock(); @@ -33,7 +33,8 @@ public class BlockHighlightListener { BlockBase block = (BlockBase) b; - IBlockState state = block.getActualState(block.getDefaultState(), player.getEntityWorld(), pos); + // TODO BlockState state = block.getActualState(block.getDefaultState(), player.getEntityWorld(), pos); + BlockState state = e.getInfo().getBlockAtCamera(); AdvancedRayTraceResult result = AdvancedRayTracer.rayTrace( pos, @@ -49,10 +50,10 @@ public class BlockHighlightListener { } GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - GlStateManager.color(0.0F, 0.0F, 0.0F, 0.4F); - GlStateManager.glLineWidth(3.0F); - GlStateManager.disableTexture2D(); + GlStateManager.blendFuncSeparate(770, 771, 1, 0); + GlStateManager.color4f(0.0F, 0.0F, 0.0F, 0.4F); + GlStateManager.lineWidth(3.0F); + GlStateManager.disableTexture(); GlStateManager.depthMask(false); double d0 = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double) e.getPartialTicks(); @@ -64,7 +65,7 @@ public class BlockHighlightListener { } GlStateManager.depthMask(true); - GlStateManager.enableTexture2D(); + GlStateManager.enableTexture(); GlStateManager.disableBlend(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java index 8d2374127..8c22ade1e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/color/ItemColorPattern.java @@ -9,11 +9,11 @@ import net.minecraft.item.ItemStack; public class ItemColorPattern implements IItemColor { @Override - public int colorMultiplier(ItemStack stack, int tintIndex) { - CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getMinecraft().world, stack); + public int getColor(ItemStack stack, int tintIndex) { + CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getInstance().world, stack); if (BakedModelPattern.canDisplayOutput(stack, pattern)) { - int color = Minecraft.getMinecraft().getItemColors().colorMultiplier(pattern.getOutputs().get(0), tintIndex); + int color = Minecraft.getInstance().getItemColors().getColor(pattern.getOutputs().get(0), tintIndex); if (color != -1) { return color; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/constants/ConstantsCable.java b/src/main/java/com/raoulvdberge/refinedstorage/render/constants/ConstantsCable.java index b6ec4be08..0641cb72d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/constants/ConstantsCable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/constants/ConstantsCable.java @@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.render.constants; import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup; import com.raoulvdberge.refinedstorage.util.CollisionUtils; -import net.minecraft.util.EnumFacing; +import net.minecraft.util.Direction; import net.minecraft.util.math.AxisAlignedBB; import javax.annotation.Nonnull; @@ -16,15 +16,15 @@ public final class ConstantsCable { public static final CollisionGroup UP = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 10, 6, 10, 16, 10)); public static final CollisionGroup DOWN = new CollisionGroup().addItem(CollisionUtils.getBounds(6, 0, 6, 10, 6, 10)); - public static final CollisionGroup HOLDER_NORTH = new CollisionGroup().addItem(getHolderBounds(EnumFacing.NORTH)); - public static final CollisionGroup HOLDER_EAST = new CollisionGroup().addItem(getHolderBounds(EnumFacing.EAST)); - public static final CollisionGroup HOLDER_SOUTH = new CollisionGroup().addItem(getHolderBounds(EnumFacing.SOUTH)); - public static final CollisionGroup HOLDER_WEST = new CollisionGroup().addItem(getHolderBounds(EnumFacing.WEST)); - public static final CollisionGroup HOLDER_UP = new CollisionGroup().addItem(getHolderBounds(EnumFacing.UP)); - public static final CollisionGroup HOLDER_DOWN = new CollisionGroup().addItem(getHolderBounds(EnumFacing.DOWN)); + public static final CollisionGroup HOLDER_NORTH = new CollisionGroup().addItem(getHolderBounds(Direction.NORTH)); + public static final CollisionGroup HOLDER_EAST = new CollisionGroup().addItem(getHolderBounds(Direction.EAST)); + public static final CollisionGroup HOLDER_SOUTH = new CollisionGroup().addItem(getHolderBounds(Direction.SOUTH)); + public static final CollisionGroup HOLDER_WEST = new CollisionGroup().addItem(getHolderBounds(Direction.WEST)); + public static final CollisionGroup HOLDER_UP = new CollisionGroup().addItem(getHolderBounds(Direction.UP)); + public static final CollisionGroup HOLDER_DOWN = new CollisionGroup().addItem(getHolderBounds(Direction.DOWN)); @Nonnull - public static AxisAlignedBB getCoverBounds(EnumFacing side) { + public static AxisAlignedBB getCoverBounds(Direction side) { switch (side) { case DOWN: return CollisionUtils.getBounds(0, 0, 0, 16, 2, 16); @@ -44,7 +44,7 @@ public final class ConstantsCable { } @Nonnull - public static AxisAlignedBB getHolderBounds(EnumFacing side) { + public static AxisAlignedBB getHolderBounds(Direction side) { switch (side) { case DOWN: return CollisionUtils.getBounds(7, 2, 7, 9, 6, 9); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java index a12184fd1..8e16a4380 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/model/baked/BakedModelCableCover.java @@ -9,11 +9,13 @@ import com.raoulvdberge.refinedstorage.block.BlockCable; import com.raoulvdberge.refinedstorage.render.CubeBuilder; import com.raoulvdberge.refinedstorage.render.constants.ConstantsCable; import com.raoulvdberge.refinedstorage.util.RenderUtils; +import net.minecraft.block.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.IBakedModel; +import net.minecraft.client.renderer.model.BakedQuad; +import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.util.Direction; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraftforge.common.property.IExtendedBlockState; @@ -31,7 +33,7 @@ public class BakedModelCableCover extends BakedModelDelegate { } @Override - public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { + public List getQuads(@Nullable BlockState state, @Nullable Direction side, long rand) { List quads = new ArrayList<>(base.getQuads(state, side, rand)); if (state != null) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java index c868e8bec..86e530cd7 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/render/tesr/TileEntitySpecialRendererStorageMonitor.java @@ -1,20 +1,20 @@ package com.raoulvdberge.refinedstorage.render.tesr; +import com.mojang.blaze3d.platform.GlStateManager; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor; +import com.sun.prism.TextureMap; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.util.EnumFacing; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.model.ItemCameraTransforms; +import net.minecraft.client.renderer.tileentity.TileEntityRenderer; +import net.minecraft.util.Direction; import net.minecraftforge.client.ForgeHooksClient; import org.lwjgl.opengl.GL11; -public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRenderer { +public class TileEntitySpecialRendererStorageMonitor extends TileEntityRenderer { @Override - public void render(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { + public void render(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) { setLightmapDisabled(true); float disX = 0, disXText = 0; @@ -39,7 +39,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe } } - if (tile.getDirection() == EnumFacing.NORTH) { + if (tile.getDirection() == Direction.NORTH) { disX = 0.5F; disXText = disX + textWidth; @@ -47,7 +47,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe disZText = disZ - spacing; rotZ = 1F; - } else if (tile.getDirection() == EnumFacing.WEST) { + } else if (tile.getDirection() == Direction.WEST) { disX = -spacing; disXText = disX - spacing; @@ -56,7 +56,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe rotZ = 1F; rotX = 1F; - } else if (tile.getDirection() == EnumFacing.SOUTH) { + } else if (tile.getDirection() == Direction.SOUTH) { disX = 0.5F; disXText = disX - textWidth; @@ -64,7 +64,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe disZText = disZ + spacing; rotX = 1F; - } else if (tile.getDirection() == EnumFacing.EAST) { + } else if (tile.getDirection() == Direction.EAST) { disX = 1F + spacing; disXText = disX + spacing; @@ -76,49 +76,50 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe } GlStateManager.pushMatrix(); - GlStateManager.translate(x + disX, y + disY, z + disZ); - GlStateManager.rotate(180F, rotX, rotY, rotZ); - GlStateManager.color(1F, 1F, 1F, 1F); + GlStateManager.translated(x + disX, y + disY, z + disZ); + GlStateManager.rotated(180F, rotX, rotY, rotZ); + GlStateManager.color4f(1F, 1F, 1F, 1F); GlStateManager.depthMask(false); GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); + GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); + GlStateManager.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.depthMask(true); - GlStateManager.scale(0.4F, -0.4F, -0.015F); - Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); - Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); + GlStateManager.scalef(0.4F, -0.4F, -0.015F); + Minecraft.getInstance().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); + Minecraft.getInstance().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); GlStateManager.enableRescaleNormal(); - GlStateManager.enableAlpha(); + GlStateManager.enableAlphaTest(); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); GlStateManager.enableBlend(); GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - GlStateManager.color(1F, 1F, 1F, 1F); + GlStateManager.color4f(1F, 1F, 1F, 1F); if (tile.getItemStack() != null) { - IBakedModel bakedModel = Minecraft.getMinecraft().getRenderItem().getItemModelWithOverrides(tile.getItemStack(), null, Minecraft.getMinecraft().player); + IBakedModel bakedModel = Minecraft.getInstance().getItemRenderer().getItemModelWithOverrides(tile.getItemStack(), null, Minecraft.getInstance().player); bakedModel = ForgeHooksClient.handleCameraTransforms(bakedModel, ItemCameraTransforms.TransformType.GUI, false); - Minecraft.getMinecraft().getRenderItem().renderItem(tile.getItemStack(), bakedModel); + Minecraft.getInstance().getItemRenderer().renderItem(tile.getItemStack(), bakedModel); } - GlStateManager.disableAlpha(); + GlStateManager.disableAlphaTest(); GlStateManager.disableRescaleNormal(); GlStateManager.disableLighting(); - Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); - Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); + Minecraft.getInstance().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); + Minecraft.getInstance().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); GlStateManager.disableBlend(); - GlStateManager.color(1F, 1F, 1F, 1F); + GlStateManager.color4f(1F, 1F, 1F, 1F); GlStateManager.popMatrix(); GlStateManager.pushMatrix(); - GlStateManager.translate(x + disXText, y + disYText, z + disZText); - GlStateManager.rotate(180F, rotX, rotY, rotZ); + GlStateManager.translated(x + disXText, y + disYText, z + disZText); + GlStateManager.rotated(180F, rotX, rotY, rotZ); float size = 0.00450F; float factor = 2.0f; - GlStateManager.scale(size * factor, size * factor, size); + GlStateManager.scaled(size * factor, size * factor, size); if (tile.getItemStack() != null) { - Minecraft.getMinecraft().fontRenderer.drawString(amount, 0, 0, 0xFFFFFF); + Minecraft.getInstance().fontRenderer.drawString(amount, 0, 0, 0xFFFFFF); } GlStateManager.popMatrix(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileBase.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileBase.java index e3f3e9ffc..806e8b47e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileBase.java @@ -9,6 +9,7 @@ import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.NetworkManager; import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Direction; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -33,7 +34,7 @@ public abstract class TileBase extends TileEntity { markDirty(); } - public EnumFacing getDirection() { + public Direction getDirection() { return world.isRemote ? clientDirection : directionHandler.getDirection(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/AccessTypeUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/AccessTypeUtils.java index 6327ae78f..2583fe8ea 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/AccessTypeUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/AccessTypeUtils.java @@ -11,7 +11,7 @@ public final class AccessTypeUtils { } public static AccessType readAccessType(CompoundNBT tag) { - return tag.hasKey(NBT_ACCESS_TYPE) ? getAccessType(tag.getInteger(NBT_ACCESS_TYPE)) : AccessType.INSERT_EXTRACT; + return tag.contains(NBT_ACCESS_TYPE) ? getAccessType(tag.getInt(NBT_ACCESS_TYPE)) : AccessType.INSERT_EXTRACT; } public static AccessType getAccessType(int id) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java index 1dad83af5..1967e42d6 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java @@ -1,38 +1,36 @@ package com.raoulvdberge.refinedstorage.util; import com.google.common.collect.ImmutableMap; +import com.mojang.blaze3d.platform.GlStateManager; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; -import net.minecraft.block.state.IBlockState; +import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.client.renderer.model.BakedQuad; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.model.ItemCameraTransforms; +import net.minecraft.client.renderer.texture.MissingTextureSprite; import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemStack; import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; +import net.minecraft.util.Direction; import net.minecraft.util.NonNullList; -import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextFormatting; import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.event.RenderTooltipEvent; -import net.minecraftforge.common.ForgeModContainer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.model.TRSRTransformation; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.client.config.GuiUtils; import javax.annotation.Nonnull; @@ -40,10 +38,11 @@ import javax.vecmath.Matrix4f; import javax.vecmath.Vector3f; import java.util.HashSet; import java.util.List; +import java.util.Random; import java.util.Set; public final class RenderUtils { - public static final Matrix4f EMPTY_MATRIX_TRANSFORM = getTransform(0, 0, 0, 0, 0, 0, 1.0f).getMatrix(); + public static final Matrix4f EMPTY_MATRIX_TRANSFORM = getTransform(0, 0, 0, 0, 0, 0, 1.0f).getMatrix(Direction.DOWN); // TODO: dir? // @Volatile: From ForgeBlockStateV1 private static final TRSRTransformation FLIP_X = new TRSRTransformation(null, null, new Vector3f(-1, 1, 1), null); @@ -65,7 +64,7 @@ public final class RenderUtils { float green = (color >> 8 & 0xFF) / 255.0F; float blue = (color & 0xFF) / 255.0F; - GlStateManager.color(red, green, blue, 1.0F); + GlStateManager.color4f(red, green, blue, 1.0F); } private static void drawFluidTexture(double xCoord, double yCoord, TextureAtlasSprite textureSprite, int maskTop, int maskRight, double zLevel) { @@ -156,14 +155,14 @@ public final class RenderUtils { public void draw(Minecraft minecraft, int xPosition, int yPosition, FluidStack fluidStack) { GlStateManager.enableBlend(); - GlStateManager.enableAlpha(); + GlStateManager.enableAlphaTest(); GlStateManager.disableLighting(); drawFluid(minecraft, xPosition, yPosition, fluidStack); - GlStateManager.color(1, 1, 1, 1); + GlStateManager.color4f(1, 1, 1, 1); - GlStateManager.disableAlpha(); + GlStateManager.disableAlphaTest(); GlStateManager.disableBlend(); } @@ -178,6 +177,7 @@ public final class RenderUtils { return; } + /* TODO TextureMap textureMapBlocks = minecraft.getTextureMapBlocks(); ResourceLocation fluidStill = fluid.getStill(); TextureAtlasSprite fluidStillSprite = null; @@ -231,6 +231,7 @@ public final class RenderUtils { } } } + }*/ } } @@ -241,7 +242,7 @@ public final class RenderUtils { if (!stacks.get(i).isEmpty() && !combinedIndices.contains(i)) { ItemStack stack = stacks.get(i); - String data = stack.getDisplayName(); + String data = stack.getDisplayName().getString(); // TODO does this work int amount = stack.getCount(); @@ -267,13 +268,13 @@ public final class RenderUtils { if (!combinedIndices.contains(i)) { FluidStack stack = stacks.get(i); - String data = stack.getLocalizedName(); + String data = stack.getDisplayName().getString(); // TODO does this work - int amount = stack.amount; + int amount = stack.getAmount(); for (int j = i + 1; j < stacks.size(); ++j) { if (API.instance().getComparer().isEqual(stack, stacks.get(j), IComparer.COMPARE_NBT)) { - amount += stacks.get(j).amount; + amount += stacks.get(j).getAmount(); combinedIndices.add(j); } @@ -301,13 +302,14 @@ public final class RenderUtils { FontRenderer font = event.getFontRenderer(); // RS BEGIN - float textScale = font.getUnicodeFlag() ? 1F : 0.7F; + //float textScale = font.getUnicodeFlag() ? 1F : 0.7F; + float textScale = 1F; // RS END GlStateManager.disableRescaleNormal(); RenderHelper.disableStandardItemLighting(); GlStateManager.disableLighting(); - GlStateManager.disableDepth(); + GlStateManager.disableDepthTest(); int tooltipTextWidth = 0; for (String textLine : textLines) { @@ -388,7 +390,7 @@ public final class RenderUtils { // RS BEGIN if (showSmallText) { GlStateManager.pushMatrix(); - GlStateManager.scale(textScale, textScale, 1); + GlStateManager.scalef(textScale, textScale, 1); int y = tooltipTop + tooltipHeight - 6; @@ -396,7 +398,7 @@ public final class RenderUtils { font.drawStringWithShadow( TextFormatting.GRAY + smallTextLines.get(i), RenderUtils.getOffsetOnScale(tooltipX, textScale), - RenderUtils.getOffsetOnScale(y - (font.getUnicodeFlag() ? 2 : 0), textScale), + RenderUtils.getOffsetOnScale(y - (/* TODO font.getUnicodeFlag() ? 2 : */0), textScale), -1 ); @@ -408,21 +410,22 @@ public final class RenderUtils { // RS END GlStateManager.enableLighting(); - GlStateManager.enableDepth(); + GlStateManager.enableDepthTest(); RenderHelper.enableStandardItemLighting(); GlStateManager.enableRescaleNormal(); } } // @Volatile: From GuiScreen#getItemToolTip - public static List getItemTooltip(ItemStack stack) { - List lines = stack.getTooltip(Minecraft.getMinecraft().player, Minecraft.getMinecraft().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); + public static List getItemTooltip(ItemStack stack) { + // TODO + List lines = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); for (int i = 0; i < lines.size(); ++i) { if (i == 0) { - lines.set(i, stack.getItem().getForgeRarity(stack).getColor() + lines.get(i)); + //lines.set(i, stack.getItem().getRarity(stack).color + lines.get(i)); } else { - lines.set(i, TextFormatting.GRAY + lines.get(i)); + //lines.set(i, TextFormatting.GRAY + lines.get(i)); } } @@ -430,7 +433,8 @@ public final class RenderUtils { } public static boolean isLightMapDisabled() { - return FMLClientHandler.instance().hasOptifine() || !ForgeModContainer.forgeLightPipelineEnabled; + return false; + // TODO return FMLClientHandler.instance().hasOptifine() || !ForgeModContainer.forgeLightPipelineEnabled; } public static VertexFormat getFormatWithLightMap(VertexFormat format) { @@ -442,7 +446,7 @@ public final class RenderUtils { return DefaultVertexFormats.BLOCK; } else if (format == DefaultVertexFormats.ITEM) { return ITEM_FORMAT_WITH_LIGHTMAP; - } else if (!format.hasUvOffset(1)) { + } else if (!format.hasUv(1)) { VertexFormat result = new VertexFormat(format); result.addElement(DefaultVertexFormats.TEX_2S); @@ -453,7 +457,7 @@ public final class RenderUtils { return format; } - public static TextureAtlasSprite getSprite(IBakedModel coverModel, IBlockState coverState, EnumFacing facing, long rand) { + public static TextureAtlasSprite getSprite(IBakedModel coverModel, BlockState coverState, Direction facing, long rand) { TextureAtlasSprite sprite = null; BlockRenderLayer originalLayer = MinecraftForgeClient.getRenderLayer(); @@ -462,11 +466,11 @@ public final class RenderUtils { for (BlockRenderLayer layer : BlockRenderLayer.values()) { ForgeHooksClient.setRenderLayer(layer); - for (BakedQuad bakedQuad : coverModel.getQuads(coverState, facing, rand)) { + for (BakedQuad bakedQuad : coverModel.getQuads(coverState, facing, new Random())) { return bakedQuad.getSprite(); } - for (BakedQuad bakedQuad : coverModel.getQuads(coverState, null, rand)) { + for (BakedQuad bakedQuad : coverModel.getQuads(coverState, null, new Random())) { // TODO random inst if (sprite == null) { sprite = bakedQuad.getSprite(); } @@ -491,9 +495,9 @@ public final class RenderUtils { } if (sprite == null) { - sprite = Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite(); + sprite = MissingTextureSprite.func_217790_a(); // TODO Mapping } return sprite; } -} +} \ No newline at end of file