Get it to run.

This commit is contained in:
raoulvdberge
2019-12-20 00:03:26 +01:00
parent 4a6260942e
commit 62643ffb9f
14 changed files with 75 additions and 58 deletions

View File

@@ -46,7 +46,7 @@ public class GridTab implements IGridTab {
@Override
public void drawIcon(int x, int y, IElementDrawer<ItemStack> itemDrawer, IElementDrawer<FluidStack> fluidDrawer) {
if (!icon.isEmpty()) {
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
itemDrawer.draw(x, y, icon);
} else {

View File

@@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.render;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.Tessellator;
@@ -11,6 +12,7 @@ import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.fluid.Fluid;
import net.minecraft.inventory.container.PlayerContainer;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
@@ -102,12 +104,10 @@ public class FluidRenderer {
}
private static TextureAtlasSprite getStillFluidSprite(FluidStack fluidStack) {
Minecraft minecraft = Minecraft.getInstance();
AtlasTexture textureMapBlocks = minecraft.getTextureMap();
Fluid fluid = fluidStack.getFluid();
FluidAttributes attributes = fluid.getAttributes();
ResourceLocation fluidStill = attributes.getStillTexture(fluidStack);
return textureMapBlocks.getSprite(fluidStill);
return Minecraft.getInstance().func_228015_a_(PlayerContainer.field_226615_c_).apply(fluidStill);
}
private static void setGLColorFromInt(int color) {
@@ -130,10 +130,10 @@ public class FluidRenderer {
Tessellator tessellator = Tessellator.getInstance();
BufferBuilder bufferBuilder = tessellator.getBuffer();
bufferBuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
bufferBuilder.func_225582_a_(xCoord, yCoord + 16, zLevel).tex(uMin, vMax).endVertex();
/* TODO bufferBuilder.func_225582_a_(xCoord, yCoord + 16, zLevel).tex(uMin, vMax).endVertex();
bufferBuilder.func_225582_a_(xCoord + 16 - maskRight, yCoord + 16, zLevel).tex(uMax, vMax).endVertex();
bufferBuilder.func_225582_a_(xCoord + 16 - maskRight, yCoord + maskTop, zLevel).tex(uMax, vMin).endVertex();
bufferBuilder.func_225582_a_(xCoord, yCoord + maskTop, zLevel).tex(uMin, vMin).endVertex();
bufferBuilder.func_225582_a_(xCoord, yCoord + maskTop, zLevel).tex(uMin, vMin).endVertex();*/
tessellator.draw();
}
}

View File

@@ -7,14 +7,14 @@ import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.DiskState;
import com.raoulvdberge.refinedstorage.tile.DiskDriveTile;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.util.Direction;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.common.model.TRSRTransformation;
import javax.annotation.Nullable;
import javax.vecmath.Vector3f;
import java.util.*;
public class DiskDriveBakedModel extends DelegateBakedModel {
@@ -117,14 +117,14 @@ public class DiskDriveBakedModel extends DelegateBakedModel {
Vector3f trans = model.transformation.getTranslation();
if (facing == Direction.NORTH || facing == Direction.SOUTH) {
trans.x += ((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1);
trans.add(((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X
} else if (facing == Direction.EAST || facing == Direction.WEST) {
trans.z += ((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1);
trans.add(0, 0, ((2F / 16F) + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Y
}
trans.y -= (2F / 16F) + ((float) y * 3F) / 16F;
trans.add(0, -((2F / 16F) + ((float) y * 3F) / 16F), 0); // Remove from Y
model.transformation = new TRSRTransformation(trans, model.transformation.getLeftRot(), model.transformation.getScale(), model.transformation.getRightRot());
model.transformation = new TransformationMatrix(trans, model.transformation.func_227989_d_(), model.transformation.getScale(), model.transformation.getRightRot());
disksByFacing.get(facing).get(type).add(model);
}

View File

@@ -8,14 +8,14 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.DiskState;
import com.raoulvdberge.refinedstorage.block.DiskManipulatorBlock;
import com.raoulvdberge.refinedstorage.tile.DiskManipulatorTile;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.TransformationMatrix;
import net.minecraft.client.renderer.Vector3f;
import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.util.Direction;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.common.model.TRSRTransformation;
import javax.annotation.Nullable;
import javax.vecmath.Vector3f;
import java.util.*;
public class DiskManipulatorBakedModel extends DelegateBakedModel {
@@ -124,14 +124,14 @@ public class DiskManipulatorBakedModel extends DelegateBakedModel {
Vector3f trans = model.transformation.getTranslation();
if (facing == Direction.NORTH || facing == Direction.SOUTH) {
trans.x += (2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1);
trans.add((2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.NORTH ? -1 : 1), 0, 0); // Add to X
} else if (facing == Direction.EAST || facing == Direction.WEST) {
trans.z += (2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1);
trans.add(0, 0, (2F / 16F + ((float) x * 7F) / 16F) * (facing == Direction.EAST ? -1 : 1)); // Add to Z
}
trans.y -= (6F / 16F) + (3F * y) / 16F;
model.transformation = new TRSRTransformation(trans, model.transformation.getLeftRot(), model.transformation.getScale(), model.transformation.getRightRot());
trans.add(0, -((6F / 16F) + (3F * y) / 16F), 0); // Remove from Y
model.transformation = new TransformationMatrix(trans, model.transformation.func_227989_d_(), model.transformation.getScale(), model.transformation.getRightRot());
disks.get(facing).get(type).add(model);
}

View File

@@ -94,7 +94,7 @@ public class FullbrightBakedModel extends DelegateBakedModel {
trans.setParent(builder);
quad.pipe(trans);
// TODO quad.pipe(trans);
builder.setQuadTint(quad.getTintIndex());
builder.setQuadOrientation(quad.getFace());

View File

@@ -3,6 +3,7 @@ package com.raoulvdberge.refinedstorage.render.model;
import com.google.common.collect.ImmutableList;
import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.*;
import net.minecraft.client.renderer.model.BakedQuad;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.model.ItemCameraTransforms;
@@ -13,13 +14,9 @@ import net.minecraft.client.renderer.vertex.VertexFormatElement;
import net.minecraft.util.Direction;
import net.minecraftforge.client.model.pipeline.UnpackedBakedQuad;
import net.minecraftforge.client.model.pipeline.VertexTransformer;
import net.minecraftforge.common.model.TRSRTransformation;
import net.minecraftforge.common.model.TransformationHelper;
import javax.annotation.Nonnull;
import javax.vecmath.Matrix3f;
import javax.vecmath.Matrix4f;
import javax.vecmath.Vector3f;
import javax.vecmath.Vector4f;
import java.util.List;
import java.util.Random;
@@ -29,7 +26,7 @@ import java.util.Random;
// for those wondering TRSR stands for Translation Rotation Scale Rotation
public class TRSRBakedModel implements IBakedModel {
protected final IBakedModel original;
protected MatrixStack transformation;
protected TransformationMatrix transformation;
private final int faceOffset;
public TRSRBakedModel(IBakedModel original, float x, float y, float z, float scale) {
@@ -41,15 +38,15 @@ public class TRSRBakedModel implements IBakedModel {
}
public TRSRBakedModel(IBakedModel original, float x, float y, float z, float rotX, float rotY, float rotZ, float scaleX, float scaleY, float scaleZ) {
this(original, new MatrixStack(new Vector3f(x, y, z),
this(original, new TransformationMatrix(new Vector3f(x, y, z),
null,
new Vector3f(scaleX, scaleY, scaleZ),
TRSRTransformation.quatFromXYZ(rotX, rotY, rotZ)));
TransformationHelper.quatFromXYZ(new Vector3f(rotX, rotY, rotZ), false)));
}
public TRSRBakedModel(IBakedModel original, TRSRTransformation transform) {
public TRSRBakedModel(IBakedModel original, TransformationMatrix transform) {
this.original = original;
this.transformation = TRSRTransformation.blockCenterToCorner(transform);
this.transformation = TransformationHelper.blockCenterToCorner(transform);
this.faceOffset = 0;
}
@@ -62,8 +59,8 @@ public class TRSRBakedModel implements IBakedModel {
this.faceOffset = 4 + Direction.NORTH.getHorizontalIndex() - facing.getHorizontalIndex();
double r = Math.PI * (360 - facing.getOpposite().getHorizontalIndex() * 90) / 180d;
TRSRTransformation t = new TRSRTransformation(null, null, null, TRSRTransformation.quatFromXYZ(0, (float) r, 0));
this.transformation = TRSRTransformation.blockCenterToCorner(t);
TransformationMatrix t = new TransformationMatrix(null, null, null, TransformationHelper.quatFromXYZ(new Vector3f(0, (float) r, 0), false));
this.transformation = TransformationHelper.blockCenterToCorner(t);
}
@Nonnull
@@ -82,7 +79,7 @@ public class TRSRBakedModel implements IBakedModel {
}
for (BakedQuad quad : original.getQuads(state, side, rand)) {
Transformer transformer = new Transformer(transformation, quad.getFormat());
quad.pipe(transformer);
// TODO quad.pipe(transformer);
builder.add(transformer.build());
}
} catch (Exception e) {
@@ -132,19 +129,21 @@ public class TRSRBakedModel implements IBakedModel {
protected Matrix4f transformation;
protected Matrix3f normalTransformation;
public Transformer(TRSRTransformation transformation, VertexFormat format) {
public Transformer(TransformationMatrix transformation, VertexFormat format) {
super(new UnpackedBakedQuad.Builder(format));
/* TODO
// position transform
this.transformation = transformation.getMatrixVec();
this.transformation = transformation.func_227988_c_();
// normal transform
this.normalTransformation = new Matrix3f();
this.transformation.getRotationScale(this.normalTransformation);
this.normalTransformation.invert();
this.normalTransformation.transpose();
this.normalTransformation.transpose();*/
}
@Override
public void put(int element, float... data) {
/* TODO
VertexFormatElement.Usage usage = parent.getVertexFormat().getElement(element).getUsage();
// transform normals and position
@@ -159,7 +158,7 @@ public class TRSRBakedModel implements IBakedModel {
vec.normalize();
data = new float[4];
vec.get(data);
}
}*/
super.put(element, data);
}

View File

@@ -6,12 +6,12 @@ import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer;
import net.minecraft.item.ItemStack;
public class PatternItemStackTileRenderer extends ItemStackTileEntityRenderer {
@Override
/* TODO @Override
public void renderByItem(ItemStack stack) {
CraftingPattern pattern = PatternItem.fromCache(null, stack);
ItemStack outputStack = pattern.getOutputs().get(0);
outputStack.getItem().getTileEntityItemStackRenderer().renderByItem(outputStack);
}
}*/
}

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.render.tesr;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import com.raoulvdberge.refinedstorage.RSBlocks;
@@ -8,19 +9,24 @@ import com.raoulvdberge.refinedstorage.block.StorageMonitorBlock;
import com.raoulvdberge.refinedstorage.tile.StorageMonitorTile;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.client.renderer.model.ItemCameraTransforms;
import net.minecraft.client.renderer.texture.AtlasTexture;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.util.Direction;
import net.minecraftforge.client.ForgeHooksClient;
import org.lwjgl.opengl.GL11;
public class StorageMonitorTileRenderer extends TileEntityRenderer<StorageMonitorTile> {
@Override
public StorageMonitorTileRenderer(TileEntityRendererDispatcher p_i226006_1_) {
super(p_i226006_1_);
}
/* TODO @Override
@SuppressWarnings("deprecation")
public void render(StorageMonitorTile tile, double x, double y, double z, float partialTicks, int destroyStage) {
setLightmapDisabled(true);
setLightmapDisabled(true);
float disX = 0, disXText = 0;
float disY = 0.5F, disYText = 0.23F;
@@ -137,5 +143,10 @@ public class StorageMonitorTileRenderer extends TileEntityRenderer<StorageMonito
RenderSystem.popMatrix();
this.setLightmapDisabled(false);
}*/
@Override
public void func_225616_a_(StorageMonitorTile storageMonitorTile, float v, MatrixStack matrixStack, IRenderTypeBuffer iRenderTypeBuffer, int i, int i1) {
}
}

View File

@@ -89,7 +89,7 @@ public class ControllerScreen extends BaseScreen<ControllerContainer> {
int slot = scrollbar.getOffset() * 2;
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
List<ClientNode> nodes = ControllerTile.NODES.getValue();

View File

@@ -77,7 +77,7 @@ public class CraftingMonitorScreen extends BaseScreen<CraftingMonitorContainer>
@Override
public void drawIcon(int x, int y, IElementDrawer<ItemStack> itemDrawer, IElementDrawer<FluidStack> fluidDrawer) {
if (requested.getItem() != null) {
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
itemDrawer.draw(x, y, requested.getItem());
} else {
@@ -255,7 +255,7 @@ public class CraftingMonitorScreen extends BaseScreen<CraftingMonitorContainer>
int item = scrollbar != null ? scrollbar.getOffset() * 3 : 0;
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
int x = 7;
int y = 20;

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.screen.grid;
import com.mojang.blaze3d.systems.RenderSystem;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.AlternativesContainer;
import com.raoulvdberge.refinedstorage.render.FluidRenderer;
@@ -167,7 +168,7 @@ public class AlternativesScreen extends BaseScreen {
int x = 8;
int y = 20;
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
for (int i = 0; i < lines.size(); ++i) {
boolean visible = i >= scrollbar.getOffset() && i < scrollbar.getOffset() + getVisibleRows();

View File

@@ -142,7 +142,7 @@ public class CraftingPreviewScreen extends BaseScreen {
renderString(RenderUtils.getOffsetOnScale(x + 25, scale), RenderUtils.getOffsetOnScale(yy + 6, scale), output.getDisplayName().getFormattedText());
RenderSystem.popMatrix();
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
RenderSystem.enableDepthTest();
renderItem(x + 5, yy, output);
RenderHelper.disableStandardItemLighting();
@@ -165,7 +165,7 @@ public class CraftingPreviewScreen extends BaseScreen {
} else {
int slot = scrollbar != null ? (scrollbar.getOffset() * 3) : 0;
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
RenderSystem.enableDepthTest();
this.hoveringStack = null;

View File

@@ -351,7 +351,7 @@ public class GridScreen extends BaseScreen<GridContainer> implements IScreenInfo
int slot = scrollbar != null ? (scrollbar.getOffset() * 9) : 0;
RenderHelper.enableGUIStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
for (int i = 0; i < 9 * getVisibleRows(); ++i) {
if (RenderUtils.inBounds(x, y, 16, 16, mouseX, mouseY) || !grid.isActive()) {

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.util;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.systems.RenderSystem;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
@@ -10,6 +11,7 @@ import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.renderer.vertex.VertexFormatElement;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.ITextComponent;
@@ -22,12 +24,13 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.client.config.GuiUtils;
import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public final class RenderUtils {
private static final VertexFormat ITEM_FORMAT_WITH_LIGHTMAP = new VertexFormat(DefaultVertexFormats.ITEM).addElement(DefaultVertexFormats.TEX_2S);
private static final VertexFormat ITEM_FORMAT_WITH_LIGHTMAP = addTex2sToVertexFormat(DefaultVertexFormats.field_227849_i_); // TODO Is this item?
public static String shorten(String text, int length) {
if (text.length() > length) {
@@ -223,7 +226,7 @@ public final class RenderUtils {
RenderSystem.enableLighting();
RenderSystem.enableDepthTest();
RenderHelper.enableStandardItemLighting();
RenderSystem.setupGuiFlatDiffuseLighting();
RenderSystem.enableRescaleNormal();
}
}
@@ -241,7 +244,8 @@ public final class RenderUtils {
}
public static boolean isLightMapDisabled() {
return !ForgeConfig.CLIENT.forgeLightPipelineEnabled.get();
// TODO return !ForgeConfig.CLIENT.forgeLightPipelineEnabled.get();
return true;
}
public static VertexFormat getFormatWithLightMap(VertexFormat format) {
@@ -251,19 +255,21 @@ public final class RenderUtils {
if (format == DefaultVertexFormats.BLOCK) {
return DefaultVertexFormats.BLOCK;
} else if (format == DefaultVertexFormats.ITEM) {
} else if (format == DefaultVertexFormats.field_227849_i_) { // TODO Is this item?
return ITEM_FORMAT_WITH_LIGHTMAP;
} else if (!format.hasUv(1)) {
VertexFormat result = new VertexFormat(format);
result.addElement(DefaultVertexFormats.TEX_2S);
return result;
} else if (!format.hasUV(1)) {
return addTex2sToVertexFormat(format);
}
return format;
}
private static VertexFormat addTex2sToVertexFormat(VertexFormat format) {
List<VertexFormatElement> elems = new ArrayList<>(format.func_227894_c_());
elems.add(DefaultVertexFormats.TEX_2S);
return new VertexFormat(ImmutableList.copyOf(elems));
}
public static boolean inBounds(int x, int y, int w, int h, double ox, double oy) {
return ox >= x && ox <= x + w && oy >= y && oy <= y + h;
}