Generating Glass and Window Panes

- Re-implemented framed, tiled glass panes and window panes in the palettes registrate
This commit is contained in:
simibubi 2020-05-14 19:06:40 +02:00
parent 702a79684b
commit a070792248
163 changed files with 1574 additions and 651 deletions

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/acacia_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/acacia_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/acacia_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/acacia_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/acacia_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/acacia_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/acacia_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/acacia_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/acacia_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/birch_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/birch_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/birch_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/birch_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/birch_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/birch_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/birch_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/birch_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/birch_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/dark_oak_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/dark_oak_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/dark_oak_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/dark_oak_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/dark_oak_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/dark_oak_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/dark_oak_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/dark_oak_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/dark_oak_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/framed_glass_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/framed_glass_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/framed_glass_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/framed_glass_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/framed_glass_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/framed_glass_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/framed_glass_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/framed_glass_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/framed_glass_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/horizontal_framed_glass_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/horizontal_framed_glass_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/jungle_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/jungle_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/jungle_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/jungle_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/jungle_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/jungle_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/jungle_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/jungle_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/jungle_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/oak_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/oak_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/oak_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/oak_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/oak_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/oak_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/oak_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/oak_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/oak_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/ornate_iron_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/ornate_iron_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/spruce_window_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/spruce_window_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/spruce_window_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/spruce_window_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/spruce_window_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/spruce_window_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/spruce_window_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/spruce_window_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/spruce_window_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "create:block/tiled_glass"
}
}
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/tiled_glass_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/tiled_glass_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/tiled_glass_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/tiled_glass_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/tiled_glass_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/tiled_glass_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/tiled_glass_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/tiled_glass_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/tiled_glass_pane_noside_alt"
}
}
]
}

View file

@ -0,0 +1,77 @@
{
"multipart": [
{
"apply": {
"model": "create:block/vertical_framed_glass_pane_post"
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_side"
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_noside"
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_side_alt"
}
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_noside_alt",
"y": 90
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_side_alt",
"y": 90
}
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_noside",
"y": 270
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_side",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/vertical_framed_glass_pane_noside_alt"
}
}
]
}

View file

@ -1,9 +1,11 @@
{
"block.create.acacia_window": "\u028Dopu\u0131M \u0250\u0131\u0254\u0250\u0254\u2C6F",
"block.create.acacia_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u0250\u0131\u0254\u0250\u0254\u2C6F",
"block.create.andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.birch_window": "\u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA",
"block.create.birch_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA",
"block.create.chiseled_dark_scoria": "\u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.chiseled_dolomite": "\u01DD\u0287\u0131\u026Fo\u05DFo\u15E1 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.chiseled_gabbro": "o\u0279qq\u0250\u2141 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
@ -11,6 +13,7 @@
"block.create.chiseled_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
"block.create.dark_oak_window": "\u028Dopu\u0131M \u029E\u0250O \u029E\u0279\u0250\u15E1",
"block.create.dark_oak_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u029E\u0250O \u029E\u0279\u0250\u15E1",
"block.create.dark_scoria": "\u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1",
"block.create.dark_scoria_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1",
"block.create.dark_scoria_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1",
@ -32,6 +35,7 @@
"block.create.fancy_scoria_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u0250\u0131\u0279o\u0254S \u028E\u0254u\u0250\u2132",
"block.create.fancy_weathered_limestone_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132",
"block.create.framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132",
"block.create.framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132",
"block.create.gabbro": "o\u0279qq\u0250\u2141",
"block.create.gabbro_bricks": "s\u029E\u0254\u0131\u0279\u15FA o\u0279qq\u0250\u2141",
"block.create.gabbro_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141",
@ -40,7 +44,9 @@
"block.create.granite_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131u\u0250\u0279\u2141",
"block.create.granite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131u\u0250\u0279\u2141",
"block.create.horizontal_framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH",
"block.create.horizontal_framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH",
"block.create.jungle_window": "\u028Dopu\u0131M \u01DD\u05DFbun\u017F",
"block.create.jungle_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u01DD\u05DFbun\u017F",
"block.create.layered_andesite": "\u01DD\u0287\u0131s\u01DDpu\u2C6F p\u01DD\u0279\u01DD\u028E\u0250\uA780",
"block.create.layered_dark_scoria": "\u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1 p\u01DD\u0279\u01DD\u028E\u0250\uA780",
"block.create.layered_diorite": "\u01DD\u0287\u0131\u0279o\u0131\u15E1 p\u01DD\u0279\u01DD\u028E\u0250\uA780",
@ -66,7 +72,9 @@
"block.create.mossy_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028EssoW",
"block.create.natural_scoria": "\u0250\u0131\u0279o\u0254S \u05DF\u0250\u0279n\u0287\u0250N",
"block.create.oak_window": "\u028Dopu\u0131M \u029E\u0250O",
"block.create.oak_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u029E\u0250O",
"block.create.ornate_iron_window": "\u028Dopu\u0131M uo\u0279I \u01DD\u0287\u0250u\u0279O",
"block.create.ornate_iron_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M uo\u0279I \u01DD\u0287\u0250u\u0279O",
"block.create.overgrown_andesite": "\u01DD\u0287\u0131s\u01DDpu\u2C6F u\u028Do\u0279b\u0279\u01DD\u028CO",
"block.create.overgrown_dark_scoria": "\u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1 u\u028Do\u0279b\u0279\u01DD\u028CO",
"block.create.overgrown_diorite": "\u01DD\u0287\u0131\u0279o\u0131\u15E1 u\u028Do\u0279b\u0279\u01DD\u028CO",
@ -96,7 +104,11 @@
"block.create.scoria_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u0250\u0131\u0279o\u0254S",
"block.create.scoria_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u0250\u0131\u0279o\u0254S",
"block.create.spruce_window": "\u028Dopu\u0131M \u01DD\u0254n\u0279dS",
"block.create.spruce_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u01DD\u0254n\u0279dS",
"block.create.tiled_glass": "ss\u0250\u05DF\u2141 p\u01DD\u05DF\u0131\u27D8",
"block.create.tiled_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u05DF\u0131\u27D8",
"block.create.vertical_framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0254\u0131\u0287\u0279\u01DD\u039B",
"block.create.vertical_framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0254\u0131\u0287\u0279\u01DD\u039B",
"block.create.weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
"block.create.weathered_limestone_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
"block.create.weathered_limestone_cobblestone": "\u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",

View file

@ -1,9 +1,11 @@
{
"block.create.acacia_window": "Acacia Window",
"block.create.acacia_window_pane": "Acacia Window Pane",
"block.create.andesite_bricks": "Andesite Bricks",
"block.create.andesite_cobblestone": "Andesite Cobblestone",
"block.create.andesite_pillar": "Andesite Pillar",
"block.create.birch_window": "Birch Window",
"block.create.birch_window_pane": "Birch Window Pane",
"block.create.chiseled_dark_scoria": "Chiseled Dark Scoria",
"block.create.chiseled_dolomite": "Chiseled Dolomite",
"block.create.chiseled_gabbro": "Chiseled Gabbro",
@ -11,6 +13,7 @@
"block.create.chiseled_scoria": "Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone",
"block.create.dark_oak_window": "Dark Oak Window",
"block.create.dark_oak_window_pane": "Dark Oak Window Pane",
"block.create.dark_scoria": "Dark Scoria",
"block.create.dark_scoria_bricks": "Dark Scoria Bricks",
"block.create.dark_scoria_cobblestone": "Dark Scoria Cobblestone",
@ -32,6 +35,7 @@
"block.create.fancy_scoria_bricks": "Fancy Scoria Bricks",
"block.create.fancy_weathered_limestone_bricks": "Fancy Weathered Limestone Bricks",
"block.create.framed_glass": "Framed Glass",
"block.create.framed_glass_pane": "Framed Glass Pane",
"block.create.gabbro": "Gabbro",
"block.create.gabbro_bricks": "Gabbro Bricks",
"block.create.gabbro_cobblestone": "Gabbro Cobblestone",
@ -40,7 +44,9 @@
"block.create.granite_cobblestone": "Granite Cobblestone",
"block.create.granite_pillar": "Granite Pillar",
"block.create.horizontal_framed_glass": "Horizontal Framed Glass",
"block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane",
"block.create.jungle_window": "Jungle Window",
"block.create.jungle_window_pane": "Jungle Window Pane",
"block.create.layered_andesite": "Layered Andesite",
"block.create.layered_dark_scoria": "Layered Dark Scoria",
"block.create.layered_diorite": "Layered Diorite",
@ -66,7 +72,9 @@
"block.create.mossy_weathered_limestone": "Mossy Weathered Limestone",
"block.create.natural_scoria": "Natural Scoria",
"block.create.oak_window": "Oak Window",
"block.create.oak_window_pane": "Oak Window Pane",
"block.create.ornate_iron_window": "Ornate Iron Window",
"block.create.ornate_iron_window_pane": "Ornate Iron Window Pane",
"block.create.overgrown_andesite": "Overgrown Andesite",
"block.create.overgrown_dark_scoria": "Overgrown Dark Scoria",
"block.create.overgrown_diorite": "Overgrown Diorite",
@ -96,7 +104,11 @@
"block.create.scoria_cobblestone": "Scoria Cobblestone",
"block.create.scoria_pillar": "Scoria Pillar",
"block.create.spruce_window": "Spruce Window",
"block.create.spruce_window_pane": "Spruce Window Pane",
"block.create.tiled_glass": "Tiled Glass",
"block.create.tiled_glass_pane": "Tiled Glass Pane",
"block.create.vertical_framed_glass": "Vertical Framed Glass",
"block.create.vertical_framed_glass_pane": "Vertical Framed Glass Pane",
"block.create.weathered_limestone": "Weathered Limestone",
"block.create.weathered_limestone_bricks": "Weathered Limestone Bricks",
"block.create.weathered_limestone_cobblestone": "Weathered Limestone Cobblestone",

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "create:block/palettes/tiled_glass"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/template_glass_pane_noside",
"textures": {
"pane": "create:block/palettes/tiled_glass"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/palettes/tiled_glass"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/template_glass_pane_post",
"textures": {
"pane": "create:block/palettes/tiled_glass",
"edge": "block/glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/template_glass_pane_side",
"textures": {
"pane": "create:block/palettes/tiled_glass",
"edge": "block/glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "block/template_glass_pane_side_alt",
"textures": {
"pane": "create:block/palettes/tiled_glass",
"edge": "block/glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/noside_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/post",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:block/connected_glass_pane/side_alt",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/acacia_window",
"edge": "block/acacia_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/birch_window",
"edge": "block/birch_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/dark_oak_window",
"edge": "block/dark_oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/horizontal_framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/jungle_window",
"edge": "block/jungle_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/oak_window",
"edge": "block/oak_planks"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/ornate_iron_window",
"edge": "create:block/palettes/ornate_iron_window_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/spruce_window",
"edge": "block/spruce_planks"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/tiled_glass"
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/tiled_glass",
"edge": "block/glass_pane_top"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "create:item/pane",
"textures": {
"pane": "create:block/palettes/vertical_framed_glass",
"edge": "create:block/palettes/framed_glass_pane_top"
}
}

View file

@ -0,0 +1,170 @@
package com.simibubi.create.foundation.utility.data;
import java.util.function.Function;
import java.util.function.Supplier;
import com.simibubi.create.AllCTs;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.GlassPaneCTBehaviour;
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
import com.simibubi.create.modules.palettes.ConnectedGlassBlock;
import com.simibubi.create.modules.palettes.ConnectedGlassPaneBlock;
import com.simibubi.create.modules.palettes.GlassPaneBlock;
import com.simibubi.create.modules.palettes.PalettesRegistrate;
import com.simibubi.create.modules.palettes.WindowBlock;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import com.tterrag.registrate.util.entry.BlockEntry;
import com.tterrag.registrate.util.nullness.NonNullBiConsumer;
import com.tterrag.registrate.util.nullness.NonNullFunction;
import com.tterrag.registrate.util.nullness.NonNullUnaryOperator;
import net.minecraft.block.Block;
import net.minecraft.block.Block.Properties;
import net.minecraft.block.Blocks;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.generators.ModelFile;
public class WindowGen {
private static final PalettesRegistrate REGISTRATE = Create.palettesRegistrate();
public static BlockEntry<WindowBlock> woodenWindowBlock(String woodType, AllCTs ct) {
return woodenWindowBlock(woodType, ct, () -> RenderType::getCutoutMipped);
}
public static BlockEntry<WindowBlock> customWindowBlock(String name, AllCTs ct,
Supplier<Supplier<RenderType>> renderType) {
NonNullFunction<String, ResourceLocation> end_texture = n -> Create.asResource(palettesDir() + name + "_end");
NonNullFunction<String, ResourceLocation> side_texture = n -> Create.asResource(palettesDir() + n);
return windowBlock(name, ct, renderType, end_texture, side_texture);
}
public static BlockEntry<WindowBlock> woodenWindowBlock(String woodType, AllCTs ct,
Supplier<Supplier<RenderType>> renderType) {
String name = woodType + "_window";
NonNullFunction<String, ResourceLocation> end_texture =
$ -> new ResourceLocation("block/" + woodType + "_planks");
NonNullFunction<String, ResourceLocation> side_texture = n -> Create.asResource(palettesDir() + n);
return windowBlock(name, ct, renderType, end_texture, side_texture);
}
public static BlockEntry<WindowBlock> windowBlock(String name, AllCTs ct, Supplier<Supplier<RenderType>> renderType,
NonNullFunction<String, ResourceLocation> endTexture, NonNullFunction<String, ResourceLocation> sideTexture) {
return REGISTRATE.block(name, WindowBlock::new)
.transform(REGISTRATE.connectedTextures(new HorizontalCTBehaviour(ct.get())))
.addLayer(renderType)
.initialProperties(() -> Blocks.GLASS)
.blockstate((c, p) -> p.simpleBlock(c.get(), p.models()
.cubeColumn(c.getName(), sideTexture.apply(c.getName()), endTexture.apply(c.getName()))))
.simpleItem()
.register();
}
public static BlockEntry<ConnectedGlassBlock> framedGlass(String name, ConnectedTextureBehaviour behaviour) {
return REGISTRATE.block(name, ConnectedGlassBlock::new)
.transform(REGISTRATE.connectedTextures(behaviour))
.addLayer(() -> RenderType::getTranslucent)
.initialProperties(() -> Blocks.GLASS)
.blockstate((c, p) -> BlockStateGen.cubeAll(c, p, "palettes/", "framed_glass"))
.item()
.model((c, p) -> p.cubeColumn(c.getName(), p.modLoc(palettesDir() + c.getName()),
p.modLoc("block/palettes/framed_glass")))
.build()
.register();
}
public static BlockEntry<ConnectedGlassPaneBlock> framedGlassPane(String name, AllCTs ctshift) {
ResourceLocation sideTexture = Create.asResource(palettesDir() + "framed_glass");
ResourceLocation itemSideTexture = Create.asResource(palettesDir() + name);
ResourceLocation topTexture = Create.asResource(palettesDir() + "framed_glass_pane_top");
Supplier<Supplier<RenderType>> renderType = () -> RenderType::getTranslucent;
return connectedGlassPane(name, ctshift, sideTexture, itemSideTexture, topTexture, renderType);
}
public static BlockEntry<ConnectedGlassPaneBlock> customWindowPane(String name, AllCTs ctshift,
Supplier<Supplier<RenderType>> renderType) {
ResourceLocation topTexture = Create.asResource(palettesDir() + name + "_pane_top");
ResourceLocation sideTexture = Create.asResource(palettesDir() + name);
return connectedGlassPane(name, ctshift, sideTexture, sideTexture, topTexture, renderType);
}
public static BlockEntry<ConnectedGlassPaneBlock> woodenWindowPane(String woodType, AllCTs ctshift) {
return woodenWindowPane(woodType, ctshift, () -> RenderType::getCutoutMipped);
}
public static BlockEntry<ConnectedGlassPaneBlock> woodenWindowPane(String woodType, AllCTs ctshift,
Supplier<Supplier<RenderType>> renderType) {
String name = woodType + "_window";
ResourceLocation topTexture = new ResourceLocation("block/" + woodType + "_planks");
ResourceLocation sideTexture = Create.asResource(palettesDir() + name);
return connectedGlassPane(name, ctshift, sideTexture, sideTexture, topTexture, renderType);
}
public static BlockEntry<GlassPaneBlock> standardGlassPane(String name, ResourceLocation sideTexture,
ResourceLocation topTexture, Supplier<Supplier<RenderType>> renderType) {
NonNullBiConsumer<DataGenContext<Block, GlassPaneBlock>, RegistrateBlockstateProvider> stateProvider =
(c, p) -> p.paneBlock(c.get(), sideTexture, topTexture);
NonNullUnaryOperator<BlockBuilder<GlassPaneBlock, PalettesRegistrate>> connectedTextures = b -> b;
return glassPane(name, sideTexture, topTexture, GlassPaneBlock::new, renderType, connectedTextures,
stateProvider);
}
private static BlockEntry<ConnectedGlassPaneBlock> connectedGlassPane(String name, AllCTs ctshift,
ResourceLocation sideTexture, ResourceLocation itemSideTexture, ResourceLocation topTexture,
Supplier<Supplier<RenderType>> renderType) {
NonNullUnaryOperator<BlockBuilder<ConnectedGlassPaneBlock, PalettesRegistrate>> connectedTextures =
REGISTRATE.connectedTextures(new GlassPaneCTBehaviour(ctshift.get()));
String CGPparents = "block/connected_glass_pane/";
String prefix = name + "_pane_";
Function<RegistrateBlockstateProvider, ModelFile> post =
getPaneModelProvider(CGPparents, prefix, "post", sideTexture, topTexture),
side = getPaneModelProvider(CGPparents, prefix, "side", sideTexture, topTexture),
sideAlt = getPaneModelProvider(CGPparents, prefix, "side_alt", sideTexture, topTexture),
noSide = getPaneModelProvider(CGPparents, prefix, "noside", sideTexture, topTexture),
noSideAlt = getPaneModelProvider(CGPparents, prefix, "noside_alt", sideTexture, topTexture);
NonNullBiConsumer<DataGenContext<Block, ConnectedGlassPaneBlock>, RegistrateBlockstateProvider> stateProvider =
(c, p) -> p.paneBlock(c.get(), post.apply(p), side.apply(p), sideAlt.apply(p), noSide.apply(p),
noSideAlt.apply(p));
return glassPane(name, itemSideTexture, topTexture, ConnectedGlassPaneBlock::new, renderType, connectedTextures,
stateProvider);
}
private static Function<RegistrateBlockstateProvider, ModelFile> getPaneModelProvider(String CGPparents,
String prefix, String partial, ResourceLocation sideTexture, ResourceLocation topTexture) {
return p -> p.models()
.withExistingParent(prefix + partial, Create.asResource(CGPparents + partial))
.texture("pane", sideTexture)
.texture("edge", topTexture);
}
private static <G extends GlassPaneBlock> BlockEntry<G> glassPane(String name, ResourceLocation sideTexture,
ResourceLocation topTexture, NonNullFunction<Properties, G> factory, Supplier<Supplier<RenderType>> renderType,
NonNullUnaryOperator<BlockBuilder<G, PalettesRegistrate>> connectedTextures,
NonNullBiConsumer<DataGenContext<Block, G>, RegistrateBlockstateProvider> stateProvider) {
name += "_pane";
return REGISTRATE.block(name, factory)
.transform(connectedTextures)
.addLayer(renderType)
.initialProperties(() -> Blocks.GLASS_PANE)
.blockstate(stateProvider)
.item()
.model((c, p) -> p.withExistingParent(c.getName(), new ResourceLocation(Create.ID, "item/pane"))
.texture("pane", sideTexture)
.texture("edge", topTexture))
.build()
.register();
}
private static String palettesDir() {
return "block/palettes/";
}
}

View file

@ -1,10 +1,18 @@
package com.simibubi.create.modules.palettes;
import static com.simibubi.create.foundation.utility.data.WindowGen.customWindowBlock;
import static com.simibubi.create.foundation.utility.data.WindowGen.customWindowPane;
import static com.simibubi.create.foundation.utility.data.WindowGen.framedGlass;
import static com.simibubi.create.foundation.utility.data.WindowGen.framedGlassPane;
import static com.simibubi.create.foundation.utility.data.WindowGen.woodenWindowBlock;
import static com.simibubi.create.foundation.utility.data.WindowGen.woodenWindowPane;
import com.simibubi.create.AllCTs;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
import com.simibubi.create.foundation.utility.data.BlockStateGen;
import com.simibubi.create.foundation.utility.data.WindowGen;
import com.tterrag.registrate.providers.DataGenContext;
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
import com.tterrag.registrate.util.entry.BlockEntry;
@ -12,8 +20,10 @@ import com.tterrag.registrate.util.nullness.NonNullBiConsumer;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.GlassBlock;
import net.minecraft.block.SandBlock;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.util.ResourceLocation;
public class AllPaletteBlocks {
@ -21,25 +31,44 @@ public class AllPaletteBlocks {
// Windows and Glass
public static final BlockEntry<GlassBlock> TILED_GLASS = REGISTRATE.block("tiled_glass", GlassBlock::new)
.initialProperties(() -> Blocks.GLASS)
.blockstate(palettesCubeAll())
.simpleItem()
.register();
public static final BlockEntry<ConnectedGlassBlock> FRAMED_GLASS =
REGISTRATE.framedGlass("framed_glass", new StandardCTBehaviour(AllCTs.FRAMED_GLASS.get()));
framedGlass("framed_glass", new StandardCTBehaviour(AllCTs.FRAMED_GLASS.get())),
HORIZONTAL_FRAMED_GLASS = framedGlass("horizontal_framed_glass",
new HorizontalCTBehaviour(AllCTs.HORIZONTAL_FRAMED_GLASS.get(), AllCTs.FRAMED_GLASS.get())),
VERTICAL_FRAMED_GLASS =
framedGlass("vertical_framed_glass", new HorizontalCTBehaviour(AllCTs.VERTICAL_FRAMED_GLASS.get()));
public static final BlockEntry<ConnectedGlassBlock> HORIZONTAL_FRAMED_GLASS =
REGISTRATE.framedGlass("horizontal_framed_glass",
new HorizontalCTBehaviour(AllCTs.HORIZONTAL_FRAMED_GLASS.get(), AllCTs.FRAMED_GLASS.get()));
public static final BlockEntry<GlassPaneBlock> TILED_GLASS_PANE =
WindowGen.standardGlassPane("tiled_glass", Create.asResource("block/palettes/tiled_glass"),
new ResourceLocation("block/glass_pane_top"), () -> RenderType::getCutoutMipped);
public static final BlockEntry<ConnectedGlassBlock> VERTICAL_FRAMED_GLASS =
REGISTRATE.framedGlass("vertical_framed_glass", new HorizontalCTBehaviour(AllCTs.VERTICAL_FRAMED_GLASS.get()));
public static final BlockEntry<ConnectedGlassPaneBlock> FRAMED_GLASS_PANE =
framedGlassPane("framed_glass", AllCTs.FRAMED_GLASS),
HORIZONTAL_FRAMED_GLASS_PANE = framedGlassPane("horizontal_framed_glass", AllCTs.HORIZONTAL_FRAMED_GLASS),
VERTICAL_FRAMED_GLASS_PANE = framedGlassPane("vertical_framed_glass", AllCTs.VERTICAL_FRAMED_GLASS);
public static final BlockEntry<WindowBlock> OAK_WINDOW = REGISTRATE.woodenWindowBlock("oak", AllCTs.OAK_WINDOW),
SPRUCE_WINDOW = REGISTRATE.woodenWindowBlock("spruce", AllCTs.SPRUCE_WINDOW),
BIRCH_WINDOW = REGISTRATE.woodenWindowBlock("birch", AllCTs.BIRCH_WINDOW, () -> RenderType::getTranslucent),
JUNGLE_WINDOW = REGISTRATE.woodenWindowBlock("jungle", AllCTs.JUNGLE_WINDOW),
ACACIA_WINDOW = REGISTRATE.woodenWindowBlock("acacia", AllCTs.ACACIA_WINDOW),
DARK_OAK_WINDOW = REGISTRATE.woodenWindowBlock("dark_oak", AllCTs.DARK_OAK_WINDOW);
public static final BlockEntry<WindowBlock> OAK_WINDOW = woodenWindowBlock("oak", AllCTs.OAK_WINDOW),
SPRUCE_WINDOW = woodenWindowBlock("spruce", AllCTs.SPRUCE_WINDOW),
BIRCH_WINDOW = woodenWindowBlock("birch", AllCTs.BIRCH_WINDOW, () -> RenderType::getTranslucent),
JUNGLE_WINDOW = woodenWindowBlock("jungle", AllCTs.JUNGLE_WINDOW),
ACACIA_WINDOW = woodenWindowBlock("acacia", AllCTs.ACACIA_WINDOW),
DARK_OAK_WINDOW = woodenWindowBlock("dark_oak", AllCTs.DARK_OAK_WINDOW), ORNATE_IRON_WINDOW =
customWindowBlock("ornate_iron_window", AllCTs.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped);
public static final BlockEntry<WindowBlock> ORNATE_IRON_WINDOW =
REGISTRATE.customWindowBlock("ornate_iron_window", AllCTs.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped);
public static final BlockEntry<ConnectedGlassPaneBlock> OAK_WINDOW_PANE =
woodenWindowPane("oak", AllCTs.OAK_WINDOW),
SPRUCE_WINDOW_PANE = woodenWindowPane("spruce", AllCTs.SPRUCE_WINDOW),
BIRCH_WINDOW_PANE = woodenWindowPane("birch", AllCTs.BIRCH_WINDOW, () -> RenderType::getTranslucent),
JUNGLE_WINDOW_PANE = woodenWindowPane("jungle", AllCTs.JUNGLE_WINDOW),
ACACIA_WINDOW_PANE = woodenWindowPane("acacia", AllCTs.ACACIA_WINDOW),
DARK_OAK_WINDOW_PANE = woodenWindowPane("dark_oak", AllCTs.DARK_OAK_WINDOW), ORNATE_IRON_WINDOW_PANE =
customWindowPane("ornate_iron_window", AllCTs.ORNATE_IRON_WINDOW, () -> RenderType::getCutoutMipped);
// Vanilla stone variant patterns
@ -60,11 +89,10 @@ public class AllPaletteBlocks {
// Create stone variants
public static final BlockEntry<SandBlock> LIMESAND =
REGISTRATE.block("limesand", p -> new SandBlock(0xD7D7C7, p))
.initialProperties(() -> Blocks.SAND)
.blockstate(palettesCubeAll())
.register();
public static final BlockEntry<SandBlock> LIMESAND = REGISTRATE.block("limesand", p -> new SandBlock(0xD7D7C7, p))
.initialProperties(() -> Blocks.SAND)
.blockstate(palettesCubeAll())
.register();
public static final BlockEntry<Block> LIMESTONE =
REGISTRATE.baseBlock("limestone", Block::new, () -> Blocks.SANDSTONE)
@ -102,12 +130,11 @@ public class AllPaletteBlocks {
.simpleItem()
.register());
public static final BlockEntry<ScoriaBlock> NATURAL_SCORIA =
REGISTRATE.block("natural_scoria", ScoriaBlock::new)
.initialProperties(() -> Blocks.ANDESITE)
.blockstate(palettesCubeAll())
.simpleItem()
.register();
public static final BlockEntry<ScoriaBlock> NATURAL_SCORIA = REGISTRATE.block("natural_scoria", ScoriaBlock::new)
.initialProperties(() -> Blocks.ANDESITE)
.blockstate(palettesCubeAll())
.simpleItem()
.register();
public static final BlockEntry<Block> SCORIA = REGISTRATE.baseBlock("scoria", Block::new, () -> Blocks.ANDESITE)
.register();

View file

@ -1,28 +1,19 @@
package com.simibubi.create.modules.palettes;
import java.util.function.Supplier;
import com.simibubi.create.AllCTs;
import com.simibubi.create.Create;
import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.block.connected.CTModel;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
import com.simibubi.create.foundation.registrate.CreateRegistrateBase;
import com.simibubi.create.foundation.utility.data.BlockStateGen;
import com.simibubi.create.modules.Sections;
import com.tterrag.registrate.builders.BlockBuilder;
import com.tterrag.registrate.util.NonNullLazyValue;
import com.tterrag.registrate.util.entry.BlockEntry;
import com.tterrag.registrate.util.nullness.NonNullFunction;
import com.tterrag.registrate.util.nullness.NonNullSupplier;
import com.tterrag.registrate.util.nullness.NonNullUnaryOperator;
import net.minecraft.block.Block;
import net.minecraft.block.Block.Properties;
import net.minecraft.block.Blocks;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.fml.DistExecutor;
@ -53,61 +44,14 @@ public class PalettesRegistrate extends CreateRegistrateBase<PalettesRegistrate>
return Sections.PALETTES;
}
// Specific patterns
public BlockEntry<WindowBlock> woodenWindowBlock(String woodType, AllCTs ct) {
return woodenWindowBlock(woodType, ct, () -> RenderType::getCutoutMipped);
}
public BlockEntry<WindowBlock> customWindowBlock(String name, AllCTs ct,
Supplier<Supplier<RenderType>> renderType) {
NonNullFunction<String, ResourceLocation> end_texture =
n -> Create.asResource("block/palettes/" + name + "_end");
NonNullFunction<String, ResourceLocation> side_texture = n -> Create.asResource("block/palettes/" + n);
return windowBlock(name, ct, renderType, end_texture, side_texture);
}
public BlockEntry<WindowBlock> woodenWindowBlock(String woodType, AllCTs ct,
Supplier<Supplier<RenderType>> renderType) {
String name = woodType + "_window";
NonNullFunction<String, ResourceLocation> end_texture =
$ -> new ResourceLocation("block/" + woodType + "_planks");
NonNullFunction<String, ResourceLocation> side_texture = n -> Create.asResource("block/palettes/" + n);
return windowBlock(name, ct, renderType, end_texture, side_texture);
}
public BlockEntry<WindowBlock> windowBlock(String name, AllCTs ct, Supplier<Supplier<RenderType>> renderType,
NonNullFunction<String, ResourceLocation> endTexture, NonNullFunction<String, ResourceLocation> sideTexture) {
return block(name, WindowBlock::new)
.transform(connectedTextures(new HorizontalCTBehaviour(ct.get())))
.addLayer(renderType)
.initialProperties(() -> Blocks.GLASS)
.blockstate((c, p) -> p.simpleBlock(c.get(), p.models()
.cubeColumn(c.getName(), sideTexture.apply(c.getName()), endTexture.apply(c.getName()))))
.simpleItem()
.register();
}
public BlockEntry<ConnectedGlassBlock> framedGlass(String name, ConnectedTextureBehaviour behaviour) {
return block(name, ConnectedGlassBlock::new)
.transform(connectedTextures(behaviour))
.addLayer(() -> RenderType::getTranslucent)
.initialProperties(() -> Blocks.GLASS)
.blockstate((c, p) -> BlockStateGen.cubeAll(c, p, "palettes/", "framed_glass"))
.item()
.model((c, p) -> p.cubeColumn(c.getName(), p.modLoc("block/palettes/" + c.getName()),
p.modLoc("block/palettes/framed_glass")))
.build()
.register();
}
private <T extends Block> NonNullUnaryOperator<BlockBuilder<T, PalettesRegistrate>> connectedTextures(
ConnectedTextureBehaviour behavior) {
public <T extends Block> NonNullUnaryOperator<BlockBuilder<T, PalettesRegistrate>> connectedTextures(
ConnectedTextureBehaviour behavior) {
return b -> b.onRegister(entry -> DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> registerModel(entry, behavior)));
}
@OnlyIn(Dist.CLIENT)
private void registerModel(Block entry, ConnectedTextureBehaviour behavior) {
CreateClient.getCustomBlockModels().register(entry.delegate, model -> new CTModel(model, behavior));
CreateClient.getCustomBlockModels()
.register(entry.delegate, model -> new CTModel(model, behavior));
}
}

View file

@ -1,31 +0,0 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/glass/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/glass/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/glass/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/glass/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/glass/noside", "y": 270 }
}
]
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"": { "model": "create:block/palettes/tiled_glass" }
}
}

View file

@ -1,31 +0,0 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/tiled/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/tiled/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/tiled/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/tiled/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/tiled/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/tiled/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/tiled/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/tiled/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/tiled/noside", "y": 270 }
}
]
}

View file

@ -1,31 +0,0 @@
{
"multipart": [
{
"apply": { "model": "create:block/palettes/pane/glass/post" }
},
{ "when": { "north": true },
"apply": { "model": "create:block/palettes/pane/glass/side" }
},
{ "when": { "east": true },
"apply": { "model": "create:block/palettes/pane/glass/side", "y": 90 }
},
{ "when": { "south": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt" }
},
{ "when": { "west": true },
"apply": { "model": "create:block/palettes/pane/glass/side_alt", "y": 90 }
},
{ "when": { "north": false },
"apply": { "model": "create:block/palettes/pane/glass/noside" }
},
{ "when": { "east": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt" }
},
{ "when": { "south": false },
"apply": { "model": "create:block/palettes/pane/glass/noside_alt", "y": 90 }
},
{ "when": { "west": false },
"apply": { "model": "create:block/palettes/pane/glass/noside", "y": 270 }
}
]
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"": { "model": "block/air" }
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "create:block/template_glass_pane_noside",
"textures": {
"pane": "create:block/acacia_window"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "create:block/template_glass_pane_noside_alt",
"textures": {
"pane": "create:block/acacia_window"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "create:block/template_glass_pane_post",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "create:block/template_glass_pane_side",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "create:block/template_glass_pane_side_alt",
"textures": {
"edge": "block/acacia_planks",
"pane": "create:block/acacia_window"
}
}

Some files were not shown because too many files have changed in this diff Show more