mirror of
https://github.com/webbukkit/dynmap.git
synced 2025-02-25 16:21:57 +01:00
Fix 1.13 door rendering
This commit is contained in:
parent
5d2b9d17b7
commit
c1e7be2632
@ -18,7 +18,7 @@ public class DoorRenderer extends CustomRenderer {
|
||||
public static final int TXT_BOTTOM = 1;
|
||||
|
||||
// Indexed by combined meta
|
||||
private RenderPatch[][] models = new RenderPatch[32][];
|
||||
protected RenderPatch[][] models = new RenderPatch[32][];
|
||||
|
||||
@Override
|
||||
public boolean initializeRenderer(RenderPatchFactory rpf, String blkname, BitSet blockdatamask, Map<String,String> custparm) {
|
||||
|
@ -0,0 +1,34 @@
|
||||
package org.dynmap.hdmap.renderer;
|
||||
|
||||
import org.dynmap.renderer.MapDataContext;
|
||||
import org.dynmap.renderer.RenderPatch;
|
||||
|
||||
/**
|
||||
* Standard door renderer : two textures (top, bottom)
|
||||
*/
|
||||
public class DoorStateRenderer extends DoorRenderer {
|
||||
@Override
|
||||
public RenderPatch[] getRenderPatchList(MapDataContext ctx) {
|
||||
int idx = ctx.getBlockType().stateIndex; // Get our state index
|
||||
// Index: (idx%2)=powered/unpowered, (idx/2)%2=open/closed, (idx/4)%2=left/right, (idx/8)%2=upper/lower, (idx/16)%4=n/s/w/e
|
||||
int midx = 0;
|
||||
midx |= ((idx & 0x8) == 0) ? 8 : 0; // If upper half
|
||||
midx |= ((idx & 0x2) == 0) ? 4 : 0; // If open
|
||||
midx |= ((idx & 0x4) == 0) ? 0 : 16; // If left hinge
|
||||
switch ((idx >> 4) & 0x3) {
|
||||
case 0: // N
|
||||
midx += 3;
|
||||
break;
|
||||
case 1: // S
|
||||
midx += 1;
|
||||
break;
|
||||
case 2: // W
|
||||
midx += 2;
|
||||
break;
|
||||
case 3: // E
|
||||
midx += 0;
|
||||
break;
|
||||
}
|
||||
return models[midx];
|
||||
}
|
||||
}
|
@ -505,7 +505,7 @@ rotate:id=white_bed,data=0,rot=270
|
||||
|
||||
# Oak door
|
||||
# Iron Door
|
||||
customblock:id=oak_door,id=iron_door,class=org.dynmap.hdmap.renderer.DoorRenderer
|
||||
customblock:id=oak_door,id=iron_door,class=org.dynmap.hdmap.renderer.DoorStateRenderer
|
||||
|
||||
# Wall lever, facing south
|
||||
patchblock:id=lever,data=1,patch0=WLeverBase1@270,patch1=WLeverBase2@270,patch2=WLeverBase3@270,patch3=WLeverBase4@270,patch4=WLeverBase5@270,patch5=WLeverSide1@270,patch6=WLeverSide2@270,patch7=WLeverSide3@270,patch8=WLeverSide4@270
|
||||
@ -1259,7 +1259,7 @@ customblock:id=acacia_fence,class=org.dynmap.hdmap.renderer.FenceWallBlockStateR
|
||||
# Wooden Door Block (Jungle)
|
||||
# Wooden Door Block (Acacia)
|
||||
# Wooden Door Block (Dark Oak)
|
||||
customblock:id=spruce_door,id=birch_door,id=jungle_door,id=acacia_door,id=dark_oak_door,class=org.dynmap.hdmap.renderer.DoorRenderer
|
||||
customblock:id=spruce_door,id=birch_door,id=jungle_door,id=acacia_door,id=dark_oak_door,class=org.dynmap.hdmap.renderer.DoorStateRenderer
|
||||
|
||||
# End rod
|
||||
#block:id=end_rod,patch0=0:end_rod,transparency=TRANSPARENT
|
||||
|
Loading…
Reference in New Issue
Block a user