Skip to content

Commit 9fca414

Browse files
committed
Fix block breaking not rendering. Ready for alpha release.
1 parent 335eed9 commit 9fca414

4 files changed

Lines changed: 27 additions & 3 deletions

File tree

project.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ext {
55
projectName = 'architecturecraft'
66

77
useElytraVersionFormat = true
8-
version = '1'
8+
version = '2'
99

1010
concreteVersion = '0.3.2-SNAPSHOT'
1111
concreteModules = ['all']

src/main/java/com/elytradev/architecture/client/render/model/VertexBakedModel.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.elytradev.architecture.client.render.target.RenderTargetBaked;
3131
import com.elytradev.architecture.common.block.BlockArchitecture;
3232
import com.elytradev.architecture.common.helpers.Trans3;
33+
import com.elytradev.architecture.common.helpers.Utils;
3334
import com.google.common.collect.Lists;
3435
import net.minecraft.block.Block;
3536
import net.minecraft.block.state.IBlockState;
@@ -38,6 +39,7 @@
3839
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
3940
import net.minecraft.client.renderer.block.model.ItemOverrideList;
4041
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
42+
import net.minecraft.init.Blocks;
4143
import net.minecraft.util.EnumFacing;
4244
import net.minecraft.util.math.BlockPos;
4345
import net.minecraft.world.IBlockAccess;
@@ -137,7 +139,7 @@ public boolean isBuiltInRenderer() {
137139
public TextureAtlasSprite getParticleTexture() {
138140
// no blockstate param
139141
// TODO: Override default stuff in BlockArchitecture.
140-
return null;
142+
return Utils.getSpriteForBlockState(Blocks.PLANKS.getDefaultState());
141143
}
142144

143145
@Override

src/main/java/com/elytradev/architecture/client/render/shape/ShapeRenderDispatch.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ public void renderShape(IBlockAccess world, BlockPos pos, RenderTargetBase targe
6565
}
6666

6767
protected boolean canRenderInLayer(IBlockState state, BlockRenderLayer layer) {
68+
if (layer == null)
69+
return true;
6870
return state != null && state.getBlock().canRenderInLayer(state, layer);
6971
}
7072

@@ -116,6 +118,8 @@ public void renderBlock(IBlockAccess world, BlockPos pos, IBlockState state, Ren
116118
if (TileShape.get(world, pos) != null) {
117119
TileShape te = TileShape.get(world, pos);
118120
Trans3 t2 = t.t(te.localToGlobalRotation());
121+
renderPrimary = canRenderInLayer(te.baseBlockState, layer);
122+
renderSecondary = canRenderInLayer(te.secondaryBlockState, layer);
119123
renderShapeTE(TileShape.get(world, pos), target, t2, renderPrimary, renderSecondary);
120124
}
121125
}

src/main/java/com/elytradev/architecture/client/render/target/RenderTargetBaked.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424

2525
package com.elytradev.architecture.client.render.target;
2626

27+
import com.elytradev.architecture.client.render.texture.TextureBase;
2728
import com.elytradev.architecture.common.ArchitectureMod;
2829
import com.elytradev.architecture.common.helpers.Vector3;
30+
import net.minecraft.client.Minecraft;
2931
import net.minecraft.client.renderer.block.model.*;
3032
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
3133
import net.minecraft.client.renderer.vertex.VertexFormat;
@@ -154,7 +156,23 @@ public void endFace() {
154156
++n;
155157
}
156158
prescrambleVertexColors(data);
157-
quads.add(new BakedQuad(data, 0, EnumFacing.UP, null)); //FIXME I don't think there should be a null here }
159+
quads.add(new BakedQuad(data, 0, EnumFacing.UP, getActiveTexture())); //FIXME I don't think there should be a null here }
160+
}
161+
162+
private TextureAtlasSprite getActiveTexture() {
163+
// Use missingno as a fallback
164+
TextureAtlasSprite activeTexture = Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite();
165+
if (texture instanceof TextureBase.Sprite) {
166+
TextureBase.Sprite sprite = (TextureBase.Sprite) texture;
167+
activeTexture = sprite.icon;
168+
} else if (texture instanceof TextureBase.Proxy) {
169+
TextureBase.Proxy proxySprite = (TextureBase.Proxy) texture;
170+
if (proxySprite.base instanceof TextureBase.Sprite) {
171+
activeTexture = ((TextureBase.Sprite) proxySprite.base).icon;
172+
}
173+
}
174+
175+
return activeTexture;
158176
}
159177

160178
protected void dumpVertexData(int[] data, int n) {

0 commit comments

Comments
 (0)