Fix pattern TESR rendering + pattern item color
This commit is contained in:
@@ -5,9 +5,10 @@ import com.raoulvdberge.refinedstorage.container.CrafterContainer;
|
||||
import com.raoulvdberge.refinedstorage.container.CrafterManagerContainer;
|
||||
import com.raoulvdberge.refinedstorage.container.slot.CrafterManagerSlot;
|
||||
import com.raoulvdberge.refinedstorage.render.BakedModelOverrideRegistry;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.DiskDriveBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.FullbrightBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.render.model.baked.PatternBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.render.color.PatternItemColor;
|
||||
import com.raoulvdberge.refinedstorage.render.model.DiskDriveBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.render.model.FullbrightBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.render.model.PatternBakedModel;
|
||||
import com.raoulvdberge.refinedstorage.screen.*;
|
||||
import com.raoulvdberge.refinedstorage.screen.factory.GridScreenFactory;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -122,6 +123,8 @@ public class ClientSetup {
|
||||
|
||||
ClientRegistry.registerKeyBinding(RSKeyBindings.FOCUS_SEARCH_BAR);
|
||||
ClientRegistry.registerKeyBinding(RSKeyBindings.CLEAR_GRID_CRAFTING_MATRIX);
|
||||
|
||||
e.getMinecraftSupplier().get().getItemColors().register(new PatternItemColor(), RSItems.PATTERN);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
@@ -6,6 +6,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.render.tesr.PatternItemStackTileEntityRenderer;
|
||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
|
||||
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
@@ -44,22 +45,11 @@ public class PatternItem extends Item implements ICraftingPatternProvider {
|
||||
private static final int VERSION = 1;
|
||||
|
||||
public PatternItem() {
|
||||
super(new Item.Properties().group(RS.MAIN_GROUP));
|
||||
super(new Item.Properties().group(RS.MAIN_GROUP).setTEISR(() -> () -> new PatternItemStackTileEntityRenderer()));
|
||||
|
||||
this.setRegistryName(RS.ID, "pattern");
|
||||
}
|
||||
|
||||
/* TODO - Pattern rendering
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(IModelRegistration modelRegistration) {
|
||||
modelRegistration.setModel(this, 0, new ModelResourceLocation(info.getId(), "inventory"));
|
||||
|
||||
modelRegistration.addBakedModelOverride(info.getId(), BakedModelPattern::new);
|
||||
|
||||
modelRegistration.addItemColor(this, new ItemColorPattern());
|
||||
}*/
|
||||
|
||||
public static CraftingPattern fromCache(World world, ItemStack stack) {
|
||||
if (!CACHE.containsKey(stack)) {
|
||||
CACHE.put(stack, new CraftingPattern(world, null, stack));
|
||||
|
@@ -50,25 +50,13 @@ public class ProxyClient extends ProxyCommon implements IModelRegistration {
|
||||
|
||||
}
|
||||
|
||||
/*private List<Pair<Item, IItemColor>> itemColors = new LinkedList<>();
|
||||
|
||||
/*
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent e) {
|
||||
super.preInit(e);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new BlockHighlightListener());
|
||||
MinecraftForge.EVENT_BUS.register(new KeyInputListener());
|
||||
|
||||
RSItems.PATTERN.setTileEntityItemStackRenderer(new TileEntityItemStackRendererPattern());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent e) {
|
||||
super.init(e);
|
||||
|
||||
RSKeyBindings.init();
|
||||
|
||||
itemColors.forEach(p -> Minecraft.getMinecraft().getItemColors().registerItemColorHandler(p.getRight(), p.getKey()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,22 +0,0 @@
|
||||
package com.raoulvdberge.refinedstorage.render.color;
|
||||
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemColorPattern implements IItemColor {
|
||||
@Override
|
||||
public int getColor(ItemStack stack, int tintIndex) {
|
||||
// TODO CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getInstance().world, stack);
|
||||
|
||||
/*
|
||||
if (BakedModelPattern.canDisplayOutput(stack, pattern)) {
|
||||
int color = Minecraft.getInstance().getItemColors().getColor(pattern.getOutputs().get(0), tintIndex);
|
||||
|
||||
if (color != -1) {
|
||||
return color;
|
||||
}
|
||||
}*/
|
||||
|
||||
return 0xFFFFFF;
|
||||
}
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
package com.raoulvdberge.refinedstorage.render.color;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.item.PatternItem;
|
||||
import com.raoulvdberge.refinedstorage.render.model.PatternBakedModel;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class PatternItemColor implements IItemColor {
|
||||
@Override
|
||||
public int getColor(ItemStack stack, int tintIndex) {
|
||||
CraftingPattern pattern = PatternItem.fromCache(Minecraft.getInstance().world, stack);
|
||||
|
||||
if (PatternBakedModel.canDisplayOutput(stack, pattern)) {
|
||||
int color = Minecraft.getInstance().getItemColors().getColor(pattern.getOutputs().get(0), tintIndex);
|
||||
|
||||
if (color != -1) {
|
||||
return color;
|
||||
}
|
||||
}
|
||||
|
||||
return 0xFFFFFF;
|
||||
}
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
/*
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.renderer.model.BakedQuad;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternRenderHandler;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.render.model.baked;
|
||||
package com.raoulvdberge.refinedstorage.render.model;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.minecraft.block.BlockState;
|
@@ -1,14 +0,0 @@
|
||||
package com.raoulvdberge.refinedstorage.render.teisr;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class TileEntityItemStackRendererPattern extends ItemStackTileEntityRenderer {
|
||||
@Override
|
||||
public void renderByItem(ItemStack stack) {
|
||||
/* TODO CraftingPattern pattern = ItemPattern.getPatternFromCache(null, stack);*/
|
||||
//ItemStack outputStack = pattern.getOutputs().get(0);
|
||||
|
||||
//outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack);
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.raoulvdberge.refinedstorage.render.tesr;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.item.PatternItem;
|
||||
import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class PatternItemStackTileEntityRenderer extends ItemStackTileEntityRenderer {
|
||||
@Override
|
||||
public void renderByItem(ItemStack stack) {
|
||||
CraftingPattern pattern = PatternItem.fromCache(null, stack);
|
||||
|
||||
ItemStack outputStack = pattern.getOutputs().get(0);
|
||||
|
||||
outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack);
|
||||
}
|
||||
}
|
@@ -10,7 +10,7 @@ import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
|
||||
import net.minecraftforge.client.ForgeHooksClient;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public class TileEntitySpecialRendererStorageMonitor extends TileEntityRenderer<TileStorageMonitor> {
|
||||
public class StorageMonitorTileEntityRenderer extends TileEntityRenderer<TileStorageMonitor> {
|
||||
@Override
|
||||
public void render(TileStorageMonitor tile, double x, double y, double z, float partialTicks, int destroyStage) {
|
||||
setLightmapDisabled(true);
|
Reference in New Issue
Block a user