Skip to content

Commit

Permalink
fix: wrong rendering of scaffold
Browse files Browse the repository at this point in the history
  • Loading branch information
Kai-Z-JP committed Dec 15, 2023
1 parent 2dac4e5 commit 3413233
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
23 changes: 19 additions & 4 deletions src/main/java/jp/ngt/rtm/block/BlockScaffold.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAligne
if (tile instanceof TileEntityScaffold) {
b0 = ((TileEntityScaffold) tile).getDir() == 0;
}
byte flag0 = BlockScaffold.getConnectionType(world, x + 1, y, z, (byte) 0);
byte flag1 = BlockScaffold.getConnectionType(world, x - 1, y, z, (byte) 0);
byte flag2 = BlockScaffold.getConnectionType(world, x, y, z + 1, (byte) 1);
byte flag3 = BlockScaffold.getConnectionType(world, x, y, z - 1, (byte) 1);
byte flag0 = BlockScaffold.getConnectionType(world, x + 1, y, z, tile);
byte flag1 = BlockScaffold.getConnectionType(world, x - 1, y, z, tile);
byte flag2 = BlockScaffold.getConnectionType(world, x, y, z + 1, tile);
byte flag3 = BlockScaffold.getConnectionType(world, x, y, z - 1, tile);

if ((b0 && flag0 == 0) || (!b0 && flag0 == 0 && (flag2 == 1 || flag3 == 1 || flag2 == 3 || flag3 == 3)))//XPos
{
Expand Down Expand Up @@ -115,6 +115,21 @@ public int colorMultiplier(IBlockAccess world, int x, int y, int z) {
return this.getRenderColor(meta);
}


/**
* @return なし:0, 足場Z:1, 足場X:2, 階段:3, 立方体:4
*/
public static byte getConnectionType(IBlockAccess world, int x, int y, int z, TileEntity tile) {
boolean isStairs = tile instanceof TileEntityScaffoldStairs;
if (isStairs) {
byte stairsDir = ((TileEntityScaffoldStairs) tile).getDir();
return getConnectionType(world, x, y, z, stairsDir);
} else {
return getConnectionType(world, x, y, z);
}
}


/**
* @return なし:0, 足場Z:1, 足場X:2, 階段:3, 立方体:4
*/
Expand Down
8 changes: 4 additions & 4 deletions src/main/resources/assets/minecraft/scripts/RenderScaffold.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ function render(entity, pass, par3) {
}

//なし:0, 足場Z:1, 足場X:2, 階段:3, 立方体:4
var flag0 = BlockScaffold.getConnectionType(world, x + 1, y, z, 0);
var flag1 = BlockScaffold.getConnectionType(world, x - 1, y, z, 0);
var flag2 = BlockScaffold.getConnectionType(world, x, y, z + 1, 1);
var flag3 = BlockScaffold.getConnectionType(world, x, y, z - 1, 1);
var flag0 = BlockScaffold.getConnectionType(world, x + 1, y, z, entity);
var flag1 = BlockScaffold.getConnectionType(world, x - 1, y, z, entity);
var flag2 = BlockScaffold.getConnectionType(world, x, y, z + 1, entity);
var flag3 = BlockScaffold.getConnectionType(world, x, y, z - 1, entity);
var flagXP = (b0 && flag0 == 0) || (!b0 && flag0 == 0 && (flag2 == 1 || flag3 == 1 || flag2 == 3 || flag3 == 3));
var flagXN = (b0 && flag1 == 0) || (!b0 && flag1 == 0 && (flag2 == 1 || flag3 == 1 || flag2 == 3 || flag3 == 3));
var flagZP = (!b0 && flag2 == 0) || (b0 && flag2 == 0 && (flag0 == 2 || flag1 == 2 || flag0 == 3 || flag1 == 3));
Expand Down

0 comments on commit 3413233

Please sign in to comment.