Fix more errors

This commit is contained in:
raoulvdberge
2019-08-29 20:25:56 +02:00
parent f5d9019517
commit 640284a5c5
26 changed files with 249 additions and 195 deletions

View File

@@ -12,6 +12,7 @@ import com.raoulvdberge.refinedstorage.tile.TileBase;
import com.raoulvdberge.refinedstorage.util.CollisionUtils; import com.raoulvdberge.refinedstorage.util.CollisionUtils;
import com.raoulvdberge.refinedstorage.util.WorldUtils; import com.raoulvdberge.refinedstorage.util.WorldUtils;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
@@ -192,7 +193,7 @@ public abstract class BlockBase extends Block {
return false; return false;
} }
public List<CollisionGroup> getCollisions(TileEntity tile, IBlockState state) { public List<CollisionGroup> getCollisions(TileEntity tile, BlockState state) {
return DEFAULT_COLLISION_GROUPS; return DEFAULT_COLLISION_GROUPS;
} }

View File

@@ -3,8 +3,8 @@ package com.raoulvdberge.refinedstorage.capability;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.INBT;
import net.minecraft.util.EnumFacing; import net.minecraft.util.Direction;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject; import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.common.capabilities.CapabilityManager;
@@ -26,12 +26,12 @@ public class CapabilityNetworkNodeProxy {
private static class Storage implements Capability.IStorage<INetworkNodeProxy> { private static class Storage implements Capability.IStorage<INetworkNodeProxy> {
@Nullable @Nullable
@Override @Override
public NBTBase writeNBT(Capability<INetworkNodeProxy> capability, INetworkNodeProxy instance, EnumFacing side) { public INBT writeNBT(Capability<INetworkNodeProxy> capability, INetworkNodeProxy instance, Direction side) {
return null; return null;
} }
@Override @Override
public void readNBT(Capability<INetworkNodeProxy> capability, INetworkNodeProxy instance, EnumFacing side, NBTBase nbt) { public void readNBT(Capability<INetworkNodeProxy> capability, INetworkNodeProxy instance, Direction side, INBT nbt) {
// NO OP // NO OP
} }
} }

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.command; package com.raoulvdberge.refinedstorage.command;
/* TODO
import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk;
import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskProvider; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskProvider;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
@@ -21,7 +22,7 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class CommandCreateDisk extends CommandBase { public class CommandCreateDisk extends Command {
@Override @Override
public String getName() { public String getName() {
return "createdisk"; return "createdisk";
@@ -88,3 +89,4 @@ public class CommandCreateDisk extends CommandBase {
return Collections.emptyList(); return Collections.emptyList();
} }
} }
*/

View File

@@ -11,12 +11,10 @@ import com.raoulvdberge.refinedstorage.container.transfer.TransferManager;
import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidUpdate; import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidUpdate;
import com.raoulvdberge.refinedstorage.tile.TileBase; import com.raoulvdberge.refinedstorage.tile.TileBase;
import com.raoulvdberge.refinedstorage.tile.data.TileDataWatcher; import com.raoulvdberge.refinedstorage.tile.data.TileDataWatcher;
import invtweaks.api.container.InventoryContainer;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.ClickType; import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.Container; import net.minecraft.inventory.container.ContainerType;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
@@ -24,7 +22,6 @@ import javax.annotation.Nullable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@InventoryContainer(showOptions = false)
public abstract class ContainerBase extends Container { public abstract class ContainerBase extends Container {
@Nullable @Nullable
private TileBase tile; private TileBase tile;
@@ -37,7 +34,9 @@ public abstract class ContainerBase extends Container {
private List<SlotFilterFluid> fluidSlots = new ArrayList<>(); private List<SlotFilterFluid> fluidSlots = new ArrayList<>();
private List<FluidStack> fluids = new ArrayList<>(); private List<FluidStack> 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; this.tile = tile;
if (tile != null && player instanceof ServerPlayerEntity) { if (tile != null && player instanceof ServerPlayerEntity) {

View File

@@ -48,8 +48,8 @@ public class FluidInventory {
} }
public void setFluid(int slot, @Nullable FluidStack stack) { public void setFluid(int slot, @Nullable FluidStack stack) {
if (stack != null && stack.amount <= 0 && stack.amount > maxAmount) { if (stack != null && stack.getAmount() <= 0 && stack.getAmount() > maxAmount) {
throw new IllegalArgumentException("Fluid size is invalid (given: " + stack.amount + ", max size: " + maxAmount + ")"); throw new IllegalArgumentException("Fluid size is invalid (given: " + stack.getAmount() + ", max size: " + maxAmount + ")");
} }
fluids[slot] = stack; fluids[slot] = stack;
@@ -79,7 +79,7 @@ public class FluidInventory {
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
String key = String.format(NBT_SLOT, i); String key = String.format(NBT_SLOT, i);
if (tag.hasKey(key)) { if (tag.contains(key)) {
fluids[i] = FluidStack.loadFluidStackFromNBT(tag.getCompound(key)); fluids[i] = FluidStack.loadFluidStackFromNBT(tag.getCompound(key));
} }
} }

View File

@@ -11,15 +11,15 @@ public class FluidInventoryFilter extends FluidInventory {
super(27, Integer.MAX_VALUE, null); super(27, Integer.MAX_VALUE, null);
this.listener = slot -> { this.listener = slot -> {
if (!stack.hasTagCompound()) { if (!stack.hasTag()) {
stack.setTagCompound(new CompoundNBT()); 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)) { if (stack.hasTag() && stack.getTag().contains(ItemFilter.NBT_FLUID_FILTERS)) {
readFromNbt(stack.getTagCompound().getCompound(ItemFilter.NBT_FLUID_FILTERS)); readFromNbt(stack.getTag().getCompound(ItemFilter.NBT_FLUID_FILTERS));
} }
} }

View File

@@ -10,8 +10,8 @@ public class FluidInventoryFilterIcon extends FluidInventory {
super(1, Integer.MAX_VALUE, null); super(1, Integer.MAX_VALUE, null);
this.listener = slot -> { this.listener = slot -> {
if (!stack.hasTagCompound()) { if (!stack.hasTag()) {
stack.setTagCompound(new CompoundNBT()); stack.setTag(new CompoundNBT());
} }
ItemFilter.setFluidIcon(stack, getFluid(slot)); ItemFilter.setFluidIcon(stack, getFluid(slot));

View File

@@ -13,8 +13,8 @@ import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBas
import com.raoulvdberge.refinedstorage.item.ItemFilter; import com.raoulvdberge.refinedstorage.item.ItemFilter;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.LogicalSide;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.common.thread.EffectiveSide;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.ArrayList; 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()); GuiBase.executeLater(GuiGrid.class, grid -> grid.getView().sort());
} }
} }

View File

@@ -14,8 +14,8 @@ public class ItemHandlerFilterItems extends ItemStackHandler {
this.stack = stack; this.stack = stack;
if (stack.hasTagCompound()) { if (stack.hasTag()) {
StackUtils.readItems(this, 0, stack.getTagCompound()); StackUtils.readItems(this, 0, stack.getTag());
} }
} }
@@ -23,11 +23,11 @@ public class ItemHandlerFilterItems extends ItemStackHandler {
protected void onContentsChanged(int slot) { protected void onContentsChanged(int slot) {
super.onContentsChanged(slot); super.onContentsChanged(slot);
if (!stack.hasTagCompound()) { if (!stack.hasTag()) {
stack.setTagCompound(new CompoundNBT()); stack.setTag(new CompoundNBT());
} }
StackUtils.writeItems(this, 0, stack.getTagCompound()); StackUtils.writeItems(this, 0, stack.getTag());
} }
public NonNullList<ItemStack> getFilteredItems() { public NonNullList<ItemStack> getFilteredItems() {

View File

@@ -41,4 +41,9 @@ public class ItemHandlerProxy implements IItemHandler {
public int getSlotLimit(int slot) { public int getSlotLimit(int slot) {
return slot < insertHandler.getSlots() ? insertHandler.getSlotLimit(slot) : extractHandler.getSlotLimit(slot - insertHandler.getSlots()); 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);
}
} }

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.inventory.item; package com.raoulvdberge.refinedstorage.inventory.item;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic; import com.raoulvdberge.refinedstorage.inventory.item.validator.ItemValidatorBasic;
import com.raoulvdberge.refinedstorage.item.ItemUpgrade; import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
@@ -8,11 +7,11 @@ import javax.annotation.Nullable;
import java.util.function.Consumer; import java.util.function.Consumer;
public class ItemHandlerUpgrade extends ItemHandlerBase { public class ItemHandlerUpgrade extends ItemHandlerBase {
public ItemHandlerUpgrade(int size, @Nullable Consumer<Integer> listener, int... supportedUpgrades) { public ItemHandlerUpgrade(int size, @Nullable Consumer<Integer> listener, ItemUpgrade... supportedUpgrades) {
super(size, listener, new ItemValidatorBasic[supportedUpgrades.length]); super(size, listener, new ItemValidatorBasic[supportedUpgrades.length]);
for (int i = 0; i < supportedUpgrades.length; ++i) { 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) { public int getSpeed(int speed, int speedIncrease) {
for (int i = 0; i < getSlots(); ++i) { 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; speed -= speedIncrease;
} }
} }
@@ -38,7 +38,8 @@ public class ItemHandlerUpgrade extends ItemHandlerBase {
int upgrades = 0; int upgrades = 0;
for (int i = 0; i < getSlots(); ++i) { 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++; upgrades++;
} }
} }

View File

@@ -7,19 +7,13 @@ import java.util.function.Predicate;
public class ItemValidatorBasic implements Predicate<ItemStack> { public class ItemValidatorBasic implements Predicate<ItemStack> {
private Item item; private Item item;
private int damage = -1;
public ItemValidatorBasic(Item item) { public ItemValidatorBasic(Item item) {
this.item = item; this.item = item;
} }
public ItemValidatorBasic(Item item, int damage) {
this.item = item;
this.damage = damage;
}
@Override @Override
public boolean test(ItemStack stack) { public boolean test(ItemStack stack) {
return stack.getItem() == item && !(damage != -1 && stack.getItemDamage() != damage); return stack.getItem() == item;
} }
} }

View File

@@ -1,18 +1,21 @@
package com.raoulvdberge.refinedstorage.recipe; package com.raoulvdberge.refinedstorage.recipe;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager; import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.item.ItemCover; 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.ItemStack;
import net.minecraft.item.crafting.IRecipe; 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.minecraft.world.World;
import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.registries.IForgeRegistryEntry;
public class RecipeCover extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe { public class RecipeCover implements IRecipe<CraftingInventory> {
@Override @Override
public boolean matches(InventoryCrafting inv, World world) { public boolean matches(CraftingInventory inv, World world) {
boolean hadCuttingTool = false; boolean hadCuttingTool = false;
boolean hadItem = false; boolean hadItem = false;
@@ -44,7 +47,7 @@ public class RecipeCover extends IForgeRegistryEntry.Impl<IRecipe> implements IR
} }
@Override @Override
public ItemStack getCraftingResult(InventoryCrafting inv) { public ItemStack getCraftingResult(CraftingInventory inv) {
for (int i = 0; i < inv.getSizeInventory(); ++i) { for (int i = 0; i < inv.getSizeInventory(); ++i) {
ItemStack slot = inv.getStackInSlot(i); ItemStack slot = inv.getStackInSlot(i);
@@ -69,4 +72,19 @@ public class RecipeCover extends IForgeRegistryEntry.Impl<IRecipe> implements IR
public ItemStack getRecipeOutput() { public ItemStack getRecipeOutput() {
return ItemStack.EMPTY; 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;
}
} }

View File

@@ -1,18 +1,21 @@
package com.raoulvdberge.refinedstorage.recipe; package com.raoulvdberge.refinedstorage.recipe;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager; import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.item.ItemCover; import com.raoulvdberge.refinedstorage.item.ItemCover;
import com.raoulvdberge.refinedstorage.item.ItemHollowCover; 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.ItemStack;
import net.minecraft.item.crafting.IRecipe; 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.minecraft.world.World;
import net.minecraftforge.registries.IForgeRegistryEntry;
import javax.annotation.Nullable; import javax.annotation.Nullable;
public class RecipeHollowCover extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe { public class RecipeHollowCover implements IRecipe<CraftingInventory> {
protected boolean isValid(ItemStack slot, @Nullable ItemStack previousValidSlot) { protected boolean isValid(ItemStack slot, @Nullable ItemStack previousValidSlot) {
ItemStack currentCover = ItemCover.getItem(slot); ItemStack currentCover = ItemCover.getItem(slot);
@@ -23,14 +26,14 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl<IRecipe> impleme
ItemStack previousCover = ItemCover.getItem(previousValidSlot); ItemStack previousCover = ItemCover.getItem(previousValidSlot);
return previousCover.getItem() == currentCover.getItem() && previousCover.getItemDamage() == currentCover.getItemDamage(); return previousCover.getItem() == currentCover.getItem();
} }
return false; return false;
} }
@Override @Override
public boolean matches(InventoryCrafting inv, World worldIn) { public boolean matches(CraftingInventory inv, World worldIn) {
ItemStack previousValidSlot = null; ItemStack previousValidSlot = null;
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
@@ -53,7 +56,7 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl<IRecipe> impleme
} }
@Override @Override
public ItemStack getCraftingResult(InventoryCrafting inv) { public ItemStack getCraftingResult(CraftingInventory inv) {
ItemStack stack = new ItemStack(RSItems.HOLLOW_COVER, 8); ItemStack stack = new ItemStack(RSItems.HOLLOW_COVER, 8);
ItemHollowCover.setItem(stack, ItemCover.getItem(inv.getStackInSlot(0))); ItemHollowCover.setItem(stack, ItemCover.getItem(inv.getStackInSlot(0)));
@@ -70,4 +73,19 @@ public class RecipeHollowCover extends IForgeRegistryEntry.Impl<IRecipe> impleme
public ItemStack getRecipeOutput() { public ItemStack getRecipeOutput() {
return ItemStack.EMPTY; 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;
}
} }

View File

@@ -1,29 +1,36 @@
package com.raoulvdberge.refinedstorage.recipe; package com.raoulvdberge.refinedstorage.recipe;
/*
TODO
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import net.minecraft.block.Blocks;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentData; import net.minecraft.enchantment.EnchantmentData;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.EnchantedBookItem;
import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemEnchantedBook;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient; import net.minecraft.item.crafting.Ingredient;
import net.minecraft.item.crafting.ShapedRecipe;
import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.World; import net.minecraft.world.World;
// MC JSON recipes don't like comparing to NBT, that's why we need a custom recipe class. // 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. // We need to compare to NBT for the enchanted book.
public class RecipeUpgradeWithEnchantedBook extends ShapedRecipes { public class RecipeUpgradeWithEnchantedBook extends ShapedRecipe {
private EnchantmentData enchant; private EnchantmentData enchant;
public RecipeUpgradeWithEnchantedBook(String enchantmentId, int enchantmentLevel, int upgradeId) { public RecipeUpgradeWithEnchantedBook(String enchantmentId, int enchantmentLevel, int upgradeId) {
super(RS.ID, 3, 3, NonNullList.from(Ingredient.EMPTY, super(RS.ID, 3, 3, NonNullList.from(Ingredient.EMPTY,
Ingredient.fromStacks(new ItemStack(RSItems.QUARTZ_ENRICHED_IRON)), 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(RSItems.QUARTZ_ENRICHED_IRON)),
Ingredient.fromStacks(new ItemStack(Blocks.BOOKSHELF)), Ingredient.fromStacks(new ItemStack(Blocks.BOOKSHELF)),
Ingredient.fromStacks(new ItemStack(RSItems.UPGRADE)), 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)), 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); this.enchant = new EnchantmentData(Enchantment.getEnchantmentByLocation(enchantmentId), enchantmentLevel);
} }
@@ -54,3 +61,4 @@ public class RecipeUpgradeWithEnchantedBook extends ShapedRecipes {
return false; return false;
} }
} }
*/

View File

@@ -1,14 +1,14 @@
package com.raoulvdberge.refinedstorage.render; package com.raoulvdberge.refinedstorage.render;
import com.raoulvdberge.refinedstorage.util.RenderUtils; 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.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.renderer.vertex.VertexFormatElement; 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 net.minecraftforge.client.model.pipeline.UnpackedBakedQuad;
import org.lwjgl.util.vector.Vector3f;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -32,23 +32,23 @@ public class CubeBuilder {
} }
public static class Face { public static class Face {
private EnumFacing face; private Direction face;
private TextureAtlasSprite sprite; private TextureAtlasSprite sprite;
private int light; private int light;
private UvRotation uvRotation = UvRotation.CLOCKWISE_0; private UvRotation uvRotation = UvRotation.CLOCKWISE_0;
public Face(EnumFacing face, TextureAtlasSprite sprite) { public Face(Direction face, TextureAtlasSprite sprite) {
this.face = face; this.face = face;
this.sprite = sprite; this.sprite = sprite;
} }
public Face(EnumFacing face, TextureAtlasSprite sprite, UvRotation uvRotation) { public Face(Direction face, TextureAtlasSprite sprite, UvRotation uvRotation) {
this(face, sprite); this(face, sprite);
this.uvRotation = uvRotation; 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(face, sprite, uvRotation);
this.light = light; this.light = light;
@@ -58,7 +58,7 @@ public class CubeBuilder {
private Vector3f from; private Vector3f from;
private Vector3f to; private Vector3f to;
private VertexFormat format = DefaultVertexFormats.ITEM; private VertexFormat format = DefaultVertexFormats.ITEM;
private Map<EnumFacing, Face> faces = new HashMap<>(); private Map<Direction, Face> faces = new HashMap<>();
private int color = 0xFFFFFFFF; private int color = 0xFFFFFFFF;
public CubeBuilder from(float x, float y, float z) { public CubeBuilder from(float x, float y, float z) {
@@ -85,8 +85,8 @@ public class CubeBuilder {
return this; return this;
} }
public CubeBuilder addFaces(Function<EnumFacing, Face> faceSupplier) { public CubeBuilder addFaces(Function<Direction, Face> faceSupplier) {
for (EnumFacing facing : EnumFacing.VALUES) { for (Direction facing : Direction.values()) {
addFace(faceSupplier.apply(facing)); addFace(faceSupplier.apply(facing));
} }
@@ -102,14 +102,14 @@ public class CubeBuilder {
public List<BakedQuad> bake() { public List<BakedQuad> bake() {
List<BakedQuad> quads = new ArrayList<>(); List<BakedQuad> quads = new ArrayList<>();
for (Map.Entry<EnumFacing, Face> entry : faces.entrySet()) { for (Map.Entry<Direction, Face> entry : faces.entrySet()) {
quads.add(bakeFace(entry.getKey(), entry.getValue())); quads.add(bakeFace(entry.getKey(), entry.getValue()));
} }
return quads; return quads;
} }
private BakedQuad bakeFace(EnumFacing facing, Face cubeFace) { private BakedQuad bakeFace(Direction facing, Face cubeFace) {
UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(format); UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(format);
builder.setTexture(cubeFace.sprite); builder.setTexture(cubeFace.sprite);
@@ -117,51 +117,51 @@ public class CubeBuilder {
builder.setQuadTint(-1); builder.setQuadTint(-1);
builder.setApplyDiffuseLighting(true); 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) { switch (facing) {
case DOWN: case DOWN:
addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv);
addVertexBottomRight(builder, cubeFace, to.x, from.y, to.z, uv); addVertexBottomRight(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv);
addVertexBottomLeft(builder, cubeFace, from.x, from.y, to.z, uv); addVertexBottomLeft(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv);
addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv);
break; break;
case UP: case UP:
addVertexTopLeft(builder, cubeFace, from.x, to.y, from.z, uv); addVertexTopLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv);
addVertexBottomLeft(builder, cubeFace, from.x, to.y, to.z, uv); addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv);
addVertexBottomRight(builder, cubeFace, to.x, to.y, to.z, uv); addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv);
addVertexTopRight(builder, cubeFace, to.x, to.y, from.z, uv); addVertexTopRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv);
break; break;
case NORTH: case NORTH:
addVertexBottomRight(builder, cubeFace, to.x, to.y, from.z, uv); addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv);
addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv);
addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv);
addVertexBottomLeft(builder, cubeFace, from.x, to.y, from.z, uv); addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv);
break; break;
case SOUTH: case SOUTH:
addVertexBottomLeft(builder, cubeFace, from.x, to.y, to.z, uv); addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv);
addVertexTopLeft(builder, cubeFace, from.x, from.y, to.z, uv); addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv);
addVertexTopRight(builder, cubeFace, to.x, from.y, to.z, uv); addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv);
addVertexBottomRight(builder, cubeFace, to.x, to.y, to.z, uv); addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv);
break; break;
case WEST: case WEST:
addVertexTopLeft(builder, cubeFace, from.x, from.y, from.z, uv); addVertexTopLeft(builder, cubeFace, from.getX(), from.getY(), from.getZ(), uv);
addVertexTopRight(builder, cubeFace, from.x, from.y, to.z, uv); addVertexTopRight(builder, cubeFace, from.getX(), from.getY(), to.getZ(), uv);
addVertexBottomRight(builder, cubeFace, from.x, to.y, to.z, uv); addVertexBottomRight(builder, cubeFace, from.getX(), to.getY(), to.getZ(), uv);
addVertexBottomLeft(builder, cubeFace, from.x, to.y, from.z, uv); addVertexBottomLeft(builder, cubeFace, from.getX(), to.getY(), from.getZ(), uv);
break; break;
case EAST: case EAST:
addVertexBottomRight(builder, cubeFace, to.x, to.y, from.z, uv); addVertexBottomRight(builder, cubeFace, to.getX(), to.getY(), from.getZ(), uv);
addVertexBottomLeft(builder, cubeFace, to.x, to.y, to.z, uv); addVertexBottomLeft(builder, cubeFace, to.getX(), to.getY(), to.getZ(), uv);
addVertexTopLeft(builder, cubeFace, to.x, from.y, to.z, uv); addVertexTopLeft(builder, cubeFace, to.getX(), from.getY(), to.getZ(), uv);
addVertexTopRight(builder, cubeFace, to.x, from.y, from.z, uv); addVertexTopRight(builder, cubeFace, to.getX(), from.getY(), from.getZ(), uv);
break; break;
} }
return builder.build(); 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(); Uv uv = new Uv();
switch (face) { switch (face) {

View File

@@ -20,7 +20,7 @@ public class AdvancedRayTraceResult<T extends RayTraceResult> {
} }
public double squareDistanceTo(Vec3d vec) { public double squareDistanceTo(Vec3d vec) {
return hit.hitVec.squareDistanceTo(vec); return hit.getHitVec().squareDistanceTo(vec);
} }
public CollisionGroup getGroup() { public CollisionGroup getGroup() {

View File

@@ -16,7 +16,7 @@ public final class AdvancedRayTracer {
} }
public static Vec3d getEnd(PlayerEntity player) { 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 lookVec = player.getLookVec();
Vec3d start = getStart(player); Vec3d start = getStart(player);
@@ -51,13 +51,12 @@ public final class AdvancedRayTracer {
} }
public static AdvancedRayTraceResult<RayTraceResult> rayTrace(BlockPos pos, Vec3d start, Vec3d end, AxisAlignedBB bounds, int subHit, CollisionGroup group) { public static AdvancedRayTraceResult<RayTraceResult> 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) { if (result == null) {
return null; return null;
} }
result = new RayTraceResult(RayTraceResult.Type.BLOCK, result.hitVec, result.sideHit, pos);
result.subHit = subHit; result.subHit = subHit;
return new AdvancedRayTraceResult<>(group, bounds, result); return new AdvancedRayTraceResult<>(group, bounds, result);

View File

@@ -1,29 +1,29 @@
package com.raoulvdberge.refinedstorage.render.collision; package com.raoulvdberge.refinedstorage.render.collision;
import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.block.BlockBase; import com.raoulvdberge.refinedstorage.block.BlockBase;
import net.minecraft.block.Block; 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.BufferBuilder;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.DrawBlockHighlightEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
public class BlockHighlightListener { public class BlockHighlightListener {
@SubscribeEvent(priority = EventPriority.LOWEST) @SubscribeEvent(priority = EventPriority.LOWEST)
public void onBlockDrawHighlight(DrawBlockHighlightEvent e) { 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; 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(); Block b = player.getEntityWorld().getBlockState(pos).getBlock();
@@ -33,7 +33,8 @@ public class BlockHighlightListener {
BlockBase block = (BlockBase) b; 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( AdvancedRayTraceResult result = AdvancedRayTracer.rayTrace(
pos, pos,
@@ -49,10 +50,10 @@ public class BlockHighlightListener {
} }
GlStateManager.enableBlend(); GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); GlStateManager.blendFuncSeparate(770, 771, 1, 0);
GlStateManager.color(0.0F, 0.0F, 0.0F, 0.4F); GlStateManager.color4f(0.0F, 0.0F, 0.0F, 0.4F);
GlStateManager.glLineWidth(3.0F); GlStateManager.lineWidth(3.0F);
GlStateManager.disableTexture2D(); GlStateManager.disableTexture();
GlStateManager.depthMask(false); GlStateManager.depthMask(false);
double d0 = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double) e.getPartialTicks(); double d0 = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double) e.getPartialTicks();
@@ -64,7 +65,7 @@ public class BlockHighlightListener {
} }
GlStateManager.depthMask(true); GlStateManager.depthMask(true);
GlStateManager.enableTexture2D(); GlStateManager.enableTexture();
GlStateManager.disableBlend(); GlStateManager.disableBlend();
} }

View File

@@ -9,11 +9,11 @@ import net.minecraft.item.ItemStack;
public class ItemColorPattern implements IItemColor { public class ItemColorPattern implements IItemColor {
@Override @Override
public int colorMultiplier(ItemStack stack, int tintIndex) { public int getColor(ItemStack stack, int tintIndex) {
CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getMinecraft().world, stack); CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getInstance().world, stack);
if (BakedModelPattern.canDisplayOutput(stack, pattern)) { 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) { if (color != -1) {
return color; return color;

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.render.constants;
import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup; import com.raoulvdberge.refinedstorage.render.collision.CollisionGroup;
import com.raoulvdberge.refinedstorage.util.CollisionUtils; import com.raoulvdberge.refinedstorage.util.CollisionUtils;
import net.minecraft.util.EnumFacing; import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import javax.annotation.Nonnull; 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 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 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_NORTH = new CollisionGroup().addItem(getHolderBounds(Direction.NORTH));
public static final CollisionGroup HOLDER_EAST = new CollisionGroup().addItem(getHolderBounds(EnumFacing.EAST)); public static final CollisionGroup HOLDER_EAST = new CollisionGroup().addItem(getHolderBounds(Direction.EAST));
public static final CollisionGroup HOLDER_SOUTH = new CollisionGroup().addItem(getHolderBounds(EnumFacing.SOUTH)); public static final CollisionGroup HOLDER_SOUTH = new CollisionGroup().addItem(getHolderBounds(Direction.SOUTH));
public static final CollisionGroup HOLDER_WEST = new CollisionGroup().addItem(getHolderBounds(EnumFacing.WEST)); public static final CollisionGroup HOLDER_WEST = new CollisionGroup().addItem(getHolderBounds(Direction.WEST));
public static final CollisionGroup HOLDER_UP = new CollisionGroup().addItem(getHolderBounds(EnumFacing.UP)); public static final CollisionGroup HOLDER_UP = new CollisionGroup().addItem(getHolderBounds(Direction.UP));
public static final CollisionGroup HOLDER_DOWN = new CollisionGroup().addItem(getHolderBounds(EnumFacing.DOWN)); public static final CollisionGroup HOLDER_DOWN = new CollisionGroup().addItem(getHolderBounds(Direction.DOWN));
@Nonnull @Nonnull
public static AxisAlignedBB getCoverBounds(EnumFacing side) { public static AxisAlignedBB getCoverBounds(Direction side) {
switch (side) { switch (side) {
case DOWN: case DOWN:
return CollisionUtils.getBounds(0, 0, 0, 16, 2, 16); return CollisionUtils.getBounds(0, 0, 0, 16, 2, 16);
@@ -44,7 +44,7 @@ public final class ConstantsCable {
} }
@Nonnull @Nonnull
public static AxisAlignedBB getHolderBounds(EnumFacing side) { public static AxisAlignedBB getHolderBounds(Direction side) {
switch (side) { switch (side) {
case DOWN: case DOWN:
return CollisionUtils.getBounds(7, 2, 7, 9, 6, 9); return CollisionUtils.getBounds(7, 2, 7, 9, 6, 9);

View File

@@ -9,11 +9,13 @@ import com.raoulvdberge.refinedstorage.block.BlockCable;
import com.raoulvdberge.refinedstorage.render.CubeBuilder; import com.raoulvdberge.refinedstorage.render.CubeBuilder;
import com.raoulvdberge.refinedstorage.render.constants.ConstantsCable; import com.raoulvdberge.refinedstorage.render.constants.ConstantsCable;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.block.BlockState;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.Direction;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.common.property.IExtendedBlockState; import net.minecraftforge.common.property.IExtendedBlockState;
@@ -31,7 +33,7 @@ public class BakedModelCableCover extends BakedModelDelegate {
} }
@Override @Override
public List<BakedQuad> getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { public List<BakedQuad> getQuads(@Nullable BlockState state, @Nullable Direction side, long rand) {
List<BakedQuad> quads = new ArrayList<>(base.getQuads(state, side, rand)); List<BakedQuad> quads = new ArrayList<>(base.getQuads(state, side, rand));
if (state != null) { if (state != null) {

View File

@@ -1,20 +1,20 @@
package com.raoulvdberge.refinedstorage.render.tesr; package com.raoulvdberge.refinedstorage.render.tesr;
import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor; import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
import com.sun.prism.TextureMap;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.model.ItemCameraTransforms;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.Direction;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.util.EnumFacing;
import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.ForgeHooksClient;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRenderer<TileStorageMonitor> { public class TileEntitySpecialRendererStorageMonitor extends TileEntityRenderer<TileStorageMonitor> {
@Override @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); setLightmapDisabled(true);
float disX = 0, disXText = 0; 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; disX = 0.5F;
disXText = disX + textWidth; disXText = disX + textWidth;
@@ -47,7 +47,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
disZText = disZ - spacing; disZText = disZ - spacing;
rotZ = 1F; rotZ = 1F;
} else if (tile.getDirection() == EnumFacing.WEST) { } else if (tile.getDirection() == Direction.WEST) {
disX = -spacing; disX = -spacing;
disXText = disX - spacing; disXText = disX - spacing;
@@ -56,7 +56,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
rotZ = 1F; rotZ = 1F;
rotX = 1F; rotX = 1F;
} else if (tile.getDirection() == EnumFacing.SOUTH) { } else if (tile.getDirection() == Direction.SOUTH) {
disX = 0.5F; disX = 0.5F;
disXText = disX - textWidth; disXText = disX - textWidth;
@@ -64,7 +64,7 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
disZText = disZ + spacing; disZText = disZ + spacing;
rotX = 1F; rotX = 1F;
} else if (tile.getDirection() == EnumFacing.EAST) { } else if (tile.getDirection() == Direction.EAST) {
disX = 1F + spacing; disX = 1F + spacing;
disXText = disX + spacing; disXText = disX + spacing;
@@ -76,49 +76,50 @@ public class TileEntitySpecialRendererStorageMonitor extends TileEntitySpecialRe
} }
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.translate(x + disX, y + disY, z + disZ); GlStateManager.translated(x + disX, y + disY, z + disZ);
GlStateManager.rotate(180F, rotX, rotY, rotZ); GlStateManager.rotated(180F, rotX, rotY, rotZ);
GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.color4f(1F, 1F, 1F, 1F);
GlStateManager.depthMask(false); GlStateManager.depthMask(false);
GlStateManager.enableBlend(); 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.depthMask(true);
GlStateManager.scale(0.4F, -0.4F, -0.015F); GlStateManager.scalef(0.4F, -0.4F, -0.015F);
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getInstance().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false); Minecraft.getInstance().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).setBlurMipmap(false, false);
GlStateManager.enableRescaleNormal(); GlStateManager.enableRescaleNormal();
GlStateManager.enableAlpha(); GlStateManager.enableAlphaTest();
GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F); GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F);
GlStateManager.enableBlend(); GlStateManager.enableBlend();
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); 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) { 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); 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.disableRescaleNormal();
GlStateManager.disableLighting(); GlStateManager.disableLighting();
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); Minecraft.getInstance().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
Minecraft.getMinecraft().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap(); Minecraft.getInstance().getTextureManager().getTexture(TextureMap.LOCATION_BLOCKS_TEXTURE).restoreLastBlurMipmap();
GlStateManager.disableBlend(); GlStateManager.disableBlend();
GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.color4f(1F, 1F, 1F, 1F);
GlStateManager.popMatrix(); GlStateManager.popMatrix();
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.translate(x + disXText, y + disYText, z + disZText); GlStateManager.translated(x + disXText, y + disYText, z + disZText);
GlStateManager.rotate(180F, rotX, rotY, rotZ); GlStateManager.rotated(180F, rotX, rotY, rotZ);
float size = 0.00450F; float size = 0.00450F;
float factor = 2.0f; float factor = 2.0f;
GlStateManager.scale(size * factor, size * factor, size); GlStateManager.scaled(size * factor, size * factor, size);
if (tile.getItemStack() != null) { if (tile.getItemStack() != null) {
Minecraft.getMinecraft().fontRenderer.drawString(amount, 0, 0, 0xFFFFFF); Minecraft.getInstance().fontRenderer.drawString(amount, 0, 0, 0xFFFFFF);
} }
GlStateManager.popMatrix(); GlStateManager.popMatrix();

View File

@@ -9,6 +9,7 @@ import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.NetworkManager; import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
@@ -33,7 +34,7 @@ public abstract class TileBase extends TileEntity {
markDirty(); markDirty();
} }
public EnumFacing getDirection() { public Direction getDirection() {
return world.isRemote ? clientDirection : directionHandler.getDirection(); return world.isRemote ? clientDirection : directionHandler.getDirection();
} }

View File

@@ -11,7 +11,7 @@ public final class AccessTypeUtils {
} }
public static AccessType readAccessType(CompoundNBT tag) { 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) { public static AccessType getAccessType(int id) {

View File

@@ -1,38 +1,36 @@
package com.raoulvdberge.refinedstorage.util; package com.raoulvdberge.refinedstorage.util;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API; 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.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms; 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.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.util.ITooltipFlag; import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing; import net.minecraft.util.Direction;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.client.ForgeHooksClient; import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.event.RenderTooltipEvent; import net.minecraftforge.client.event.RenderTooltipEvent;
import net.minecraftforge.common.ForgeModContainer;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.model.TRSRTransformation; import net.minecraftforge.common.model.TRSRTransformation;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.client.config.GuiUtils;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
@@ -40,10 +38,11 @@ import javax.vecmath.Matrix4f;
import javax.vecmath.Vector3f; import javax.vecmath.Vector3f;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Random;
import java.util.Set; import java.util.Set;
public final class RenderUtils { 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 // @Volatile: From ForgeBlockStateV1
private static final TRSRTransformation FLIP_X = new TRSRTransformation(null, null, new Vector3f(-1, 1, 1), null); 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 green = (color >> 8 & 0xFF) / 255.0F;
float blue = (color & 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) { 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) { public void draw(Minecraft minecraft, int xPosition, int yPosition, FluidStack fluidStack) {
GlStateManager.enableBlend(); GlStateManager.enableBlend();
GlStateManager.enableAlpha(); GlStateManager.enableAlphaTest();
GlStateManager.disableLighting(); GlStateManager.disableLighting();
drawFluid(minecraft, xPosition, yPosition, fluidStack); drawFluid(minecraft, xPosition, yPosition, fluidStack);
GlStateManager.color(1, 1, 1, 1); GlStateManager.color4f(1, 1, 1, 1);
GlStateManager.disableAlpha(); GlStateManager.disableAlphaTest();
GlStateManager.disableBlend(); GlStateManager.disableBlend();
} }
@@ -178,6 +177,7 @@ public final class RenderUtils {
return; return;
} }
/* TODO
TextureMap textureMapBlocks = minecraft.getTextureMapBlocks(); TextureMap textureMapBlocks = minecraft.getTextureMapBlocks();
ResourceLocation fluidStill = fluid.getStill(); ResourceLocation fluidStill = fluid.getStill();
TextureAtlasSprite fluidStillSprite = null; 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)) { if (!stacks.get(i).isEmpty() && !combinedIndices.contains(i)) {
ItemStack stack = stacks.get(i); ItemStack stack = stacks.get(i);
String data = stack.getDisplayName(); String data = stack.getDisplayName().getString(); // TODO does this work
int amount = stack.getCount(); int amount = stack.getCount();
@@ -267,13 +268,13 @@ public final class RenderUtils {
if (!combinedIndices.contains(i)) { if (!combinedIndices.contains(i)) {
FluidStack stack = stacks.get(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) { for (int j = i + 1; j < stacks.size(); ++j) {
if (API.instance().getComparer().isEqual(stack, stacks.get(j), IComparer.COMPARE_NBT)) { 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); combinedIndices.add(j);
} }
@@ -301,13 +302,14 @@ public final class RenderUtils {
FontRenderer font = event.getFontRenderer(); FontRenderer font = event.getFontRenderer();
// RS BEGIN // RS BEGIN
float textScale = font.getUnicodeFlag() ? 1F : 0.7F; //float textScale = font.getUnicodeFlag() ? 1F : 0.7F;
float textScale = 1F;
// RS END // RS END
GlStateManager.disableRescaleNormal(); GlStateManager.disableRescaleNormal();
RenderHelper.disableStandardItemLighting(); RenderHelper.disableStandardItemLighting();
GlStateManager.disableLighting(); GlStateManager.disableLighting();
GlStateManager.disableDepth(); GlStateManager.disableDepthTest();
int tooltipTextWidth = 0; int tooltipTextWidth = 0;
for (String textLine : textLines) { for (String textLine : textLines) {
@@ -388,7 +390,7 @@ public final class RenderUtils {
// RS BEGIN // RS BEGIN
if (showSmallText) { if (showSmallText) {
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.scale(textScale, textScale, 1); GlStateManager.scalef(textScale, textScale, 1);
int y = tooltipTop + tooltipHeight - 6; int y = tooltipTop + tooltipHeight - 6;
@@ -396,7 +398,7 @@ public final class RenderUtils {
font.drawStringWithShadow( font.drawStringWithShadow(
TextFormatting.GRAY + smallTextLines.get(i), TextFormatting.GRAY + smallTextLines.get(i),
RenderUtils.getOffsetOnScale(tooltipX, textScale), RenderUtils.getOffsetOnScale(tooltipX, textScale),
RenderUtils.getOffsetOnScale(y - (font.getUnicodeFlag() ? 2 : 0), textScale), RenderUtils.getOffsetOnScale(y - (/* TODO font.getUnicodeFlag() ? 2 : */0), textScale),
-1 -1
); );
@@ -408,21 +410,22 @@ public final class RenderUtils {
// RS END // RS END
GlStateManager.enableLighting(); GlStateManager.enableLighting();
GlStateManager.enableDepth(); GlStateManager.enableDepthTest();
RenderHelper.enableStandardItemLighting(); RenderHelper.enableStandardItemLighting();
GlStateManager.enableRescaleNormal(); GlStateManager.enableRescaleNormal();
} }
} }
// @Volatile: From GuiScreen#getItemToolTip // @Volatile: From GuiScreen#getItemToolTip
public static List<String> getItemTooltip(ItemStack stack) { public static List<ITextComponent> getItemTooltip(ItemStack stack) {
List<String> lines = stack.getTooltip(Minecraft.getMinecraft().player, Minecraft.getMinecraft().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL); // TODO
List<ITextComponent> lines = stack.getTooltip(Minecraft.getInstance().player, Minecraft.getInstance().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL);
for (int i = 0; i < lines.size(); ++i) { for (int i = 0; i < lines.size(); ++i) {
if (i == 0) { 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 { } 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() { 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) { public static VertexFormat getFormatWithLightMap(VertexFormat format) {
@@ -442,7 +446,7 @@ public final class RenderUtils {
return DefaultVertexFormats.BLOCK; return DefaultVertexFormats.BLOCK;
} else if (format == DefaultVertexFormats.ITEM) { } else if (format == DefaultVertexFormats.ITEM) {
return ITEM_FORMAT_WITH_LIGHTMAP; return ITEM_FORMAT_WITH_LIGHTMAP;
} else if (!format.hasUvOffset(1)) { } else if (!format.hasUv(1)) {
VertexFormat result = new VertexFormat(format); VertexFormat result = new VertexFormat(format);
result.addElement(DefaultVertexFormats.TEX_2S); result.addElement(DefaultVertexFormats.TEX_2S);
@@ -453,7 +457,7 @@ public final class RenderUtils {
return format; 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; TextureAtlasSprite sprite = null;
BlockRenderLayer originalLayer = MinecraftForgeClient.getRenderLayer(); BlockRenderLayer originalLayer = MinecraftForgeClient.getRenderLayer();
@@ -462,11 +466,11 @@ public final class RenderUtils {
for (BlockRenderLayer layer : BlockRenderLayer.values()) { for (BlockRenderLayer layer : BlockRenderLayer.values()) {
ForgeHooksClient.setRenderLayer(layer); ForgeHooksClient.setRenderLayer(layer);
for (BakedQuad bakedQuad : coverModel.getQuads(coverState, facing, rand)) { for (BakedQuad bakedQuad : coverModel.getQuads(coverState, facing, new Random())) {
return bakedQuad.getSprite(); 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) { if (sprite == null) {
sprite = bakedQuad.getSprite(); sprite = bakedQuad.getSprite();
} }
@@ -491,9 +495,9 @@ public final class RenderUtils {
} }
if (sprite == null) { if (sprite == null) {
sprite = Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite(); sprite = MissingTextureSprite.func_217790_a(); // TODO Mapping
} }
return sprite; return sprite;
} }
} }