Skip to content

Commit

Permalink
nearly done?
Browse files Browse the repository at this point in the history
  • Loading branch information
Cadiboo committed Dec 3, 2018
1 parent d069c06 commit d239cbd
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 10 deletions.
47 changes: 40 additions & 7 deletions src/main/java/io/github/cadiboo/nocubes/renderer/OldNoCubes.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package io.github.cadiboo.nocubes.renderer;

import io.github.cadiboo.nocubes.config.ModConfig;
import io.github.cadiboo.nocubes.util.ModUtil;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ChunkCache;
Expand All @@ -16,6 +18,12 @@ public class OldNoCubes {

public static boolean renderBlock(IBlockState state, final BlockPos pos, final ChunkCache cache, final BufferBuilder bufferBuilder, final BlockRendererDispatcher blockRendererDispatcher) {

if (!ModUtil.shouldSmooth(state)) {
return false;
}

if (state == Blocks.DIRT.getDefaultState()) state = Blocks.GRASS.getDefaultState();

final int x = pos.getX();
final int y = pos.getY();
final int z = pos.getZ();
Expand All @@ -27,6 +35,17 @@ public static boolean renderBlock(IBlockState state, final BlockPos pos, final C
float colorGreen = (float) (color >> 8 & 255) / 255.0F;
float colorBlue = (float) (color & 255) / 255.0F;

final int skyLight;
final int blockLight;
if (ModConfig.shouldAproximateLighting) {
final int packedLightmapCoords = state.getPackedLightmapCoords(cache, pos.up());
skyLight = ModUtil.getLightmapSkyLightCoordsFromPackedLightmapCoords(packedLightmapCoords);
blockLight = ModUtil.getLightmapBlockLightCoordsFromPackedLightmapCoords(packedLightmapCoords);
} else {
skyLight = 240;
blockLight = 240;
}

// The shadow values.
float shadowBottom = 0.6F;
float shadowTop = 1.0F;
Expand Down Expand Up @@ -94,21 +113,30 @@ else if (point >= 4 && doesPointTopIntersectWithAir(cache, points[point]))

// Loop through all the sides of the block:
for (int side = 0; side < 6; side++) {

// The coordinates the side is facing to.
int facingX = x;
int facingY = y;
int facingZ = z;
if (side == 0)
if (side == 0) //down -y
facingY--;
else if (side == 1)
else if (side == 1) //up +y
facingY++;
else if (side == 2)
facingZ--;
else if (side == 3)
// else if (side == 2)
// facingZ--;
// else if (side == 3)
// facingX++;
// else if (side == 4)
// facingZ++;
// else if (side == 5)
// facingX--;
else if (side == 2) //north?
facingX--;
else if (side == 3) //south? east?
facingX++;
else if (side == 4)
else if (side == 4) //west?
facingZ++;
else if (side == 5)
else if (side == 5) //east?
facingX--;

// Check if the side should be rendered:
Expand Down Expand Up @@ -190,6 +218,11 @@ else if (side == 5)
// tessellator.addVertexWithUV(vertex2.xCoord, vertex2.yCoord, vertex2.zCoord, maxU, minV);
// tessellator.addVertexWithUV(vertex3.xCoord, vertex3.yCoord, vertex3.zCoord, minU, minV);

bufferBuilder.pos(vertex0.xCoord, vertex0.yCoord, vertex0.zCoord).color(colorRed, colorGreen, colorBlue, 0xFF).tex(minU, maxV).lightmap(skyLight, blockLight).endVertex();
bufferBuilder.pos(vertex1.xCoord, vertex1.yCoord, vertex1.zCoord).color(colorRed, colorGreen, colorBlue, 0xFF).tex(maxU, maxV).lightmap(skyLight, blockLight).endVertex();
bufferBuilder.pos(vertex2.xCoord, vertex2.yCoord, vertex2.zCoord).color(colorRed, colorGreen, colorBlue, 0xFF).tex(maxU, minV).lightmap(skyLight, blockLight).endVertex();
bufferBuilder.pos(vertex3.xCoord, vertex3.yCoord, vertex3.zCoord).color(colorRed, colorGreen, colorBlue, 0xFF).tex(minU, minV).lightmap(skyLight, blockLight).endVertex();

}
}

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/io/github/cadiboo/nocubes/util/ModUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ public static void renderBlockOldNoCubes(final RebuildChunkBlockEvent event) {

public static TextureAtlasSprite getSprite(final IBlockState state, final BlockPos pos, final BlockRendererDispatcher blockRendererDispatcher) {

if (true) {
return Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite();
}
// if (true) {
// return Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite("minecraft:blocks/sand");
// }

try {
final long posRand = MathHelper.getPositionRandom(pos);
Expand Down

0 comments on commit d239cbd

Please sign in to comment.