@@ -409,6 +409,38 @@ function shulkerBoxRenderer(color: string) {
409
409
}
410
410
}
411
411
412
+ function bellRenderer ( atlas : TextureAtlasProvider ) {
413
+ const id = Identifier . create ( 'bell' )
414
+ return dummy ( id , atlas , { } , new BlockModel ( id , undefined , {
415
+ 0 : 'entity/bell/bell_body' ,
416
+ } , [
417
+ {
418
+ from : [ 5 , 3 , 5 ] ,
419
+ to : [ 11 , 10 , 11 ] ,
420
+ faces : {
421
+ north : { uv : [ 3 , 3 , 6 , 6.5 ] , texture : '#0' } ,
422
+ east : { uv : [ 0 , 3 , 3 , 6.5 ] , texture : '#0' } ,
423
+ south : { uv : [ 9 , 3 , 12 , 6.5 ] , texture : '#0' } ,
424
+ west : { uv : [ 6 , 3 , 9 , 6.5 ] , texture : '#0' } ,
425
+ up : { uv : [ 6 , 3 , 3 , 0 ] , texture : '#0' } ,
426
+ down : { uv : [ 9 , 0 , 6 , 3 ] , texture : '#0' } ,
427
+ } ,
428
+ } ,
429
+ {
430
+ from : [ 4 , 10 , 4 ] ,
431
+ to : [ 12 , 12 , 12 ] ,
432
+ faces : {
433
+ north : { uv : [ 4 , 10.5 , 8 , 11.5 ] , texture : '#0' } ,
434
+ east : { uv : [ 0 , 10.5 , 4 , 11.5 ] , texture : '#0' } ,
435
+ south : { uv : [ 12 , 10.5 , 16 , 11.5 ] , texture : '#0' } ,
436
+ west : { uv : [ 8 , 10.5 , 12 , 11.5 ] , texture : '#0' } ,
437
+ up : { uv : [ 8 , 10.5 , 4 , 6.5 ] , texture : '#0' } ,
438
+ down : { uv : [ 12 , 6.5 , 8 , 10.5 ] , texture : '#0' } ,
439
+ } ,
440
+ } ,
441
+ ] ) . withUvEpsilon ( 1 / 64 ) )
442
+ }
443
+
412
444
function getStr ( block : BlockState , key : string , fallback = '' ) {
413
445
return block . getProperty ( key ) ?? fallback
414
446
}
@@ -547,6 +579,13 @@ export namespace SpecialRenderers {
547
579
mat4 . translate ( t , t , [ - 0.5 , - 0.5 , - 0.5 ] )
548
580
mesh . merge ( shulkerBoxRenderer ( atlas ) . transform ( t ) )
549
581
}
582
+ if ( block . is ( 'bell' ) ) {
583
+ const t = mat4 . create ( )
584
+ mat4 . translate ( t , t , [ 0.5 , 0.5 , 0.5 ] )
585
+ mat4 . scale ( t , t , [ 1 , - 1 , - 1 ] )
586
+ mat4 . translate ( t , t , [ - 0.5 , - 0.5 , - 0.5 ] )
587
+ mesh . merge ( bellRenderer ( atlas ) . transform ( t ) )
588
+ }
550
589
551
590
if ( block . getProperties ( ) [ 'waterlogged' ] === 'true' ) {
552
591
mesh . merge ( liquidRenderer ( 'water' , 0 , atlas , cull , 0 ) )
0 commit comments