blaze_heater

This commit is contained in:
LordGrimmauld 2020-07-11 23:48:02 +02:00
parent 02450bd2f7
commit ae785b5a66
24 changed files with 489 additions and 185 deletions

View file

@ -24,6 +24,7 @@ f9fa6aa530eb0891a74eadfbebc663172a57147a assets\create\blockstates\basin.json
40d10934934ea142d71fc6ce598b1455c3ad47b4 assets\create\blockstates\belt_observer.json
cf9045eb16e5299a1d917c4cb536289f49411276 assets\create\blockstates\birch_window.json
94a1a91403eb4b035fec48071e7fcae57a8a6abd assets\create\blockstates\birch_window_pane.json
0626725f70103a55dabcda6f87ca943279d45793 assets\create\blockstates\blaze_heater.json
fba967b1f6e44b34a9d9662e2fedfc13aad7f36c assets\create\blockstates\brass_belt_funnel.json
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets\create\blockstates\brass_block.json
b8dd6e505943e06706d0718ece620ab3cf943650 assets\create\blockstates\brass_casing.json
@ -123,7 +124,7 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets\create\blockstates\fancy_scoria_
fc9ac0a7e7191b93516719455a17177fa6524ecc assets\create\blockstates\fancy_weathered_limestone_bricks_slab.json
b2a7c321b1795f20e7433f81a55ce4683de081b8 assets\create\blockstates\fancy_weathered_limestone_bricks_stairs.json
6372fe02ba0065acb0758121c45a15a1a8fdc5de assets\create\blockstates\fancy_weathered_limestone_bricks_wall.json
4cbd66ed3da77d1caad6ef4e657a86b1b4017a39 assets\create\blockstates\fluid_pipe.json
3aa8213ea6cd12a6964e3a70900b12d76d794d20 assets\create\blockstates\fluid_pipe.json
9d0e78a4d6d0ccac37c06d0f5810a800a04844b2 assets\create\blockstates\fluid_tank.json
e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets\create\blockstates\flywheel.json
ac00d40e1ef50a37041c0481afa1a23a14dea78e assets\create\blockstates\framed_glass.json
@ -286,7 +287,7 @@ b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets\create\blockstates\portable_stor
e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggle_latch.json
3a739f9d4276828d83f2d2750bf3227c87bcd438 assets\create\blockstates\pulley_magnet.json
469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets\create\blockstates\pulse_repeater.json
6fa36883e76e9e403bb429c8f86b8c0d3bba0cff assets\create\blockstates\radial_chassis.json
8d7e653bfd9846e684a0d3725595714a19201017 assets\create\blockstates\radial_chassis.json
8929677f2cc5354aa19ef182af69f9f0b41eb242 assets\create\blockstates\redstone_contact.json
c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json
1eac804cba08aebb5f4646758ae1ef9b32e01365 assets\create\blockstates\reinforced_rail.json
@ -337,17 +338,17 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim
c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
541831ab0cf2f0222f0b7e42ec6c4b0ae636168d assets\create\lang\en_ud.json
fe44adfde38a1084754fe46b632811f90dcfcd7f assets\create\lang\en_us.json
143b76ed828949330ef0e338fb6709c28561ac2d assets\create\lang\unfinished\de_de.json
95bf7693b162141c2c76617ed4e04bec474e2def assets\create\lang\unfinished\fr_fr.json
b3bf60afc7d0dea72a9d7d01df36d34affd6a296 assets\create\lang\unfinished\it_it.json
ef336e01a8e3ed3f8c2713c66476bcc708e3e3b0 assets\create\lang\unfinished\ja_jp.json
66c84c388e552ee8259eca2ab1009493456fc4d3 assets\create\lang\unfinished\ko_kr.json
66b3140ef158b51208a191e6a90473fba5bb1749 assets\create\lang\unfinished\nl_nl.json
775702e0f3fbdab7ef8b1714e3cff69da56bd500 assets\create\lang\unfinished\pt_br.json
7c4c4e7a00456f893538a6baa35d726a8786bf93 assets\create\lang\unfinished\ru_ru.json
ce16074d9dc5d504f2a91b164258f0059163260b assets\create\lang\unfinished\zh_cn.json
00edba8c69557058bf9fbbc4d389dc455f24b0fc assets\create\lang\en_ud.json
9fd42e23b8b40831a23960c8a65284c0f5c77d9c assets\create\lang\en_us.json
49da0ae7f7ce3b7dcb3489ec4a5ae9859b01c6b2 assets\create\lang\unfinished\de_de.json
e4614a462e0274a0b44990d8110df40e2a739181 assets\create\lang\unfinished\fr_fr.json
6d2d32af208bc145bc9b84bec5fb49688313c409 assets\create\lang\unfinished\it_it.json
bf4ecea8db1411002fc3f6149c61e9ff764f60f9 assets\create\lang\unfinished\ja_jp.json
17cff516677a4bc7c82e5f4c037fd9472d8ed75d assets\create\lang\unfinished\ko_kr.json
b059db47666d44c83cfcb938603b6a324d3a8180 assets\create\lang\unfinished\nl_nl.json
ed177bca3522ec5265272268bcfb2eb5fa5011a2 assets\create\lang\unfinished\pt_br.json
79d0ebe3035b0471864d72b13f51e07ea27fef73 assets\create\lang\unfinished\ru_ru.json
ea9d56b17b0e9be13464966e6fdd90a500a578c3 assets\create\lang\unfinished\zh_cn.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
@ -997,6 +998,7 @@ bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets\create\models\item\basin.json
695a69d5854e2eb134b55d855bd2b7b18808a01d assets\create\models\item\belt_observer.json
9044243882cfd49a2827e1b910a4c9b0e46daa47 assets\create\models\item\birch_window.json
6ed49f59ea91068ef68720f43e67a9237594bdf0 assets\create\models\item\birch_window_pane.json
fa2761dc44857eb840a94df869de66a91988f0da assets\create\models\item\blaze_heater.json
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets\create\models\item\brass_block.json
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets\create\models\item\brass_casing.json
ab045c951352806c3f632dda7b71573f93f60ac4 assets\create\models\item\brass_funnel.json
@ -1786,6 +1788,7 @@ c7f81e30c31837a287d6d6040cdb02c7dec11441 data\create\loot_tables\blocks\belt.jso
1104e323abb2a8c25769c47dc5d1154965113cc9 data\create\loot_tables\blocks\belt_observer.json
67a8e2513c3cb09e6fe80279fda94f79d5018c37 data\create\loot_tables\blocks\birch_window.json
bf1d5843f93533f84bc4adec5b77da2114fa2025 data\create\loot_tables\blocks\birch_window_pane.json
798ef290b388dee758df3e779b4b1c9289955f7b data\create\loot_tables\blocks\blaze_heater.json
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data\create\loot_tables\blocks\brass_belt_funnel.json
70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data\create\loot_tables\blocks\brass_block.json
8a14258ad5d79d9e4dc5a318905644b446196420 data\create\loot_tables\blocks\brass_casing.json

View file

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

View file

@ -181,10 +181,10 @@
},
{
"when": {
"north": "false",
"south": "true",
"west": "true",
"east": "false"
"east": "false",
"north": "false",
"south": "true"
},
"apply": {
"model": "create:block/fluid_pipe/lu_y"
@ -192,10 +192,10 @@
},
{
"when": {
"north": "false",
"south": "true",
"west": "false",
"east": "true"
"east": "true",
"north": "false",
"south": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ru_y"
@ -203,10 +203,10 @@
},
{
"when": {
"north": "true",
"south": "false",
"west": "true",
"east": "false"
"east": "false",
"north": "true",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/ld_y"
@ -214,10 +214,10 @@
},
{
"when": {
"north": "true",
"south": "false",
"west": "false",
"east": "true"
"east": "true",
"north": "true",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/rd_y"
@ -225,10 +225,10 @@
},
{
"when": {
"west": "false",
"east": "false",
"north": "true",
"south": "true",
"west": "false",
"east": "false"
"south": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ud_y"
@ -236,10 +236,10 @@
},
{
"when": {
"west": "false",
"east": "false",
"north": "false",
"south": "true",
"west": "false",
"east": "false"
"south": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ud_y"
@ -247,10 +247,10 @@
},
{
"when": {
"west": "false",
"east": "false",
"north": "true",
"south": "false",
"west": "false",
"east": "false"
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/ud_y"
@ -258,10 +258,10 @@
},
{
"when": {
"north": "false",
"south": "false",
"west": "true",
"east": "true"
"east": "true",
"north": "false",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_y"
@ -269,10 +269,10 @@
},
{
"when": {
"north": "false",
"south": "false",
"west": "true",
"east": "false"
"east": "false",
"north": "false",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_y"
@ -280,10 +280,10 @@
},
{
"when": {
"north": "false",
"south": "false",
"west": "false",
"east": "true"
"east": "true",
"north": "false",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_y"
@ -291,10 +291,10 @@
},
{
"when": {
"north": "false",
"south": "false",
"west": "false",
"east": "false"
"east": "false",
"north": "false",
"south": "false"
},
"apply": {
"model": "create:block/fluid_pipe/none_y"
@ -302,10 +302,10 @@
},
{
"when": {
"up": "true",
"west": "false",
"down": "false",
"east": "true"
"east": "true",
"up": "true",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lu_z"
@ -313,10 +313,10 @@
},
{
"when": {
"up": "true",
"west": "true",
"down": "false",
"east": "false"
"east": "false",
"up": "true",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/ru_z"
@ -324,10 +324,10 @@
},
{
"when": {
"up": "false",
"west": "false",
"down": "true",
"east": "true"
"east": "true",
"up": "false",
"down": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ld_z"
@ -335,10 +335,10 @@
},
{
"when": {
"up": "false",
"west": "true",
"down": "true",
"east": "false"
"east": "false",
"up": "false",
"down": "true"
},
"apply": {
"model": "create:block/fluid_pipe/rd_z"
@ -346,10 +346,10 @@
},
{
"when": {
"west": "false",
"east": "false",
"up": "true",
"west": "false",
"down": "true",
"east": "false"
"down": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ud_z"
@ -357,10 +357,10 @@
},
{
"when": {
"west": "false",
"east": "false",
"up": "true",
"west": "false",
"down": "false",
"east": "false"
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/ud_z"
@ -368,10 +368,10 @@
},
{
"when": {
"up": "false",
"west": "false",
"down": "true",
"east": "false"
"east": "false",
"up": "false",
"down": "true"
},
"apply": {
"model": "create:block/fluid_pipe/ud_z"
@ -379,10 +379,10 @@
},
{
"when": {
"up": "false",
"west": "true",
"down": "false",
"east": "true"
"east": "true",
"up": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_z"
@ -390,10 +390,10 @@
},
{
"when": {
"up": "false",
"west": "false",
"down": "false",
"east": "true"
"east": "true",
"up": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_z"
@ -401,10 +401,10 @@
},
{
"when": {
"up": "false",
"west": "true",
"down": "false",
"east": "false"
"east": "false",
"up": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/lr_z"
@ -412,10 +412,10 @@
},
{
"when": {
"up": "false",
"west": "false",
"down": "false",
"east": "false"
"east": "false",
"up": "false",
"down": "false"
},
"apply": {
"model": "create:block/fluid_pipe/none_z"

View file

@ -29,8 +29,8 @@
},
{
"when": {
"axis": "x",
"sticky_south": "true"
"sticky_south": "true",
"axis": "x"
},
"apply": {
"model": "create:block/radial_chassis_side_x_sticky",
@ -39,8 +39,8 @@
},
{
"when": {
"axis": "y",
"sticky_south": "true"
"sticky_south": "true",
"axis": "y"
},
"apply": {
"model": "create:block/radial_chassis_side_y_sticky"
@ -48,8 +48,8 @@
},
{
"when": {
"axis": "z",
"sticky_south": "true"
"sticky_south": "true",
"axis": "z"
},
"apply": {
"model": "create:block/radial_chassis_side_x_sticky",
@ -59,8 +59,8 @@
},
{
"when": {
"axis": "x",
"sticky_south": "false"
"sticky_south": "false",
"axis": "x"
},
"apply": {
"model": "create:block/radial_chassis_side_x",
@ -69,8 +69,8 @@
},
{
"when": {
"axis": "y",
"sticky_south": "false"
"sticky_south": "false",
"axis": "y"
},
"apply": {
"model": "create:block/radial_chassis_side_y"
@ -78,8 +78,8 @@
},
{
"when": {
"axis": "z",
"sticky_south": "false"
"sticky_south": "false",
"axis": "z"
},
"apply": {
"model": "create:block/radial_chassis_side_x",

View file

@ -25,6 +25,7 @@
"block.create.belt_observer": "\u0279\u01DD\u028C\u0279\u01DDsqO \u0287\u05DF\u01DD\u15FA",
"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.blaze_heater": "\u0279\u01DD\u0287\u0250\u01DDH \u01DDz\u0250\u05DF\u15FA",
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",

View file

@ -28,6 +28,7 @@
"block.create.belt_observer": "Belt Observer",
"block.create.birch_window": "Birch Window",
"block.create.birch_window_pane": "Birch Window Pane",
"block.create.blaze_heater": "Blaze Heater",
"block.create.brass_belt_funnel": "Brass Belt Funnel",
"block.create.brass_block": "Brass Block",
"block.create.brass_casing": "Brass Casing",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 777",
"_": "Missing Localizations: 778",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Fließband-Beobachter",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 380",
"_": "Missing Localizations: 381",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Observateur d'entité",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "Boîtier en laiton",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 364",
"_": "Missing Localizations: 365",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Osservatore a Cinghia",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "Blocco di Ottone",
"block.create.brass_casing": "Involucro di Ottone",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 359",
"_": "Missing Localizations: 360",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "ベルトオブザーバー",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "真鍮ブロック",
"block.create.brass_casing": "真鍮ケーシング",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 364",
"_": "Missing Localizations: 365",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "벨트 감지기",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "황동 블럭",
"block.create.brass_casing": "황동 케이스",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 714",
"_": "Missing Localizations: 715",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Transportband Observeerder",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 784",
"_": "Missing Localizations: 785",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Observador de Esteira",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 778",
"_": "Missing Localizations: 779",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "Ленточный сканер",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 40",
"_": "Missing Localizations: 41",
"_": "->------------------------] Game Elements [------------------------<-",
@ -29,6 +29,7 @@
"block.create.belt_observer": "传送带侦测器",
"block.create.birch_window": "白桦窗户",
"block.create.birch_window_pane": "白桦窗户板",
"block.create.blaze_heater": "UNLOCALIZED: Blaze Heater",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "黄铜块",
"block.create.brass_casing": "黄铜机壳",

View file

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

View file

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "create:blaze_heater"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -56,6 +56,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidTankBlock;
import com.simibubi.create.content.contraptions.fluids.FluidTankModel;
import com.simibubi.create.content.contraptions.fluids.PumpBlock;
import com.simibubi.create.content.contraptions.processing.BasinBlock;
import com.simibubi.create.content.contraptions.processing.HeaterBlock;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock;
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
@ -142,6 +143,7 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import net.minecraftforge.common.ToolType;
@SuppressWarnings("unused")
public class AllBlocks {
private static final CreateRegistrate REGISTRATE = Create.registrate()
@ -204,7 +206,7 @@ public class AllBlocks {
public static final BlockEntry<EncasedShaftBlock> ENCASED_SHAFT =
REGISTRATE.block("encased_shaft", EncasedShaftBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate(BlockStateGen.axisBlockProvider(true))
.item()
@ -213,7 +215,7 @@ public class AllBlocks {
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate(BlockStateGen.axisBlockProvider(true))
.item()
@ -222,7 +224,7 @@ public class AllBlocks {
public static final BlockEntry<ClutchBlock> CLUTCH = REGISTRATE.block("clutch", ClutchBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate((c, p) -> BlockStateGen.axisBlock(c, p, AssetLookup.forPowered(c, p)))
.item()
@ -231,7 +233,7 @@ public class AllBlocks {
public static final BlockEntry<GearshiftBlock> GEARSHIFT = REGISTRATE.block("gearshift", GearshiftBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate((c, p) -> BlockStateGen.axisBlock(c, p, AssetLookup.forPowered(c, p)))
.item()
@ -241,7 +243,7 @@ public class AllBlocks {
public static final BlockEntry<EncasedBeltBlock> ENCASED_BELT =
REGISTRATE.block("encased_belt", EncasedBeltBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> p.models()
.getExistingFile(p.modLoc("block/" + c.getName() + "/" + suffix))).generate(c, p))
@ -252,7 +254,7 @@ public class AllBlocks {
public static final BlockEntry<AdjustablePulleyBlock> ADJUSTABLE_PULLEY =
REGISTRATE.block("adjustable_pulley", AdjustablePulleyBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> {
String powered = state.get(AdjustablePulleyBlock.POWERED) ? "_powered" : "";
@ -287,7 +289,7 @@ public class AllBlocks {
public static final BlockEntry<WaterWheelBlock> WATER_WHEEL = REGISTRATE.block("water_wheel", WaterWheelBlock::new)
.initialProperties(SharedProperties::wooden)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.horizontalWheelProvider(false))
.addLayer(() -> RenderType::getCutoutMipped)
.transform(StressConfigDefaults.setCapacity(16.0))
@ -351,7 +353,7 @@ public class AllBlocks {
public static final BlockEntry<CrushingWheelBlock> CRUSHING_WHEEL =
REGISTRATE.block("crushing_wheel", CrushingWheelBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.axisBlockProvider(false))
.addLayer(() -> RenderType::getCutoutMipped)
.transform(StressConfigDefaults.setImpact(8.0))
@ -371,7 +373,7 @@ public class AllBlocks {
public static final BlockEntry<MechanicalPressBlock> MECHANICAL_PRESS =
REGISTRATE.block("mechanical_press", MechanicalPressBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.horizontalBlockProvider(true))
.transform(StressConfigDefaults.setImpact(8.0))
.item(BasinOperatorBlockItem::new)
@ -381,7 +383,7 @@ public class AllBlocks {
public static final BlockEntry<MechanicalMixerBlock> MECHANICAL_MIXER =
REGISTRATE.block("mechanical_mixer", MechanicalMixerBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
.addLayer(() -> RenderType::getCutoutMipped)
.transform(StressConfigDefaults.setImpact(4.0))
@ -395,6 +397,14 @@ public class AllBlocks {
.simpleItem()
.register();
public static final BlockEntry<HeaterBlock> HEATER = REGISTRATE.block("blaze_heater", HeaterBlock::new)
.initialProperties(SharedProperties::softMetal)
.properties(p -> p.lightValue(12))
.addLayer(() -> RenderType::getCutoutMipped)
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
.simpleItem()
.register();
public static final BlockEntry<DepotBlock> DEPOT = REGISTRATE.block("depot", DepotBlock::new)
.initialProperties(SharedProperties::stone)
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
@ -521,7 +531,7 @@ public class AllBlocks {
public static final BlockEntry<CartAssemblerBlock> CART_ASSEMBLER =
REGISTRATE.block("cart_assembler", CartAssemblerBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.cartAssembler())
.addLayer(() -> RenderType::getCutoutMipped)
.tag(BlockTags.RAILS)
@ -532,7 +542,7 @@ public class AllBlocks {
public static final BlockEntry<ReinforcedRailBlock> REINFORCED_RAIL =
REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.reinforcedRail())
.addLayer(() -> RenderType::getCutoutMipped)
.tag(BlockTags.RAILS)
@ -643,7 +653,7 @@ public class AllBlocks {
public static final BlockEntry<MechanicalCrafterBlock> MECHANICAL_CRAFTER =
REGISTRATE.block("mechanical_crafter", MechanicalCrafterBlock::new)
.initialProperties(SharedProperties::softMetal)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.horizontalBlockProvider(true))
.transform(StressConfigDefaults.setImpact(2.0))
.onRegister(CreateRegistrate.connectedTextures(new CrafterCTBehaviour()))
@ -655,7 +665,7 @@ public class AllBlocks {
public static final BlockEntry<SequencedGearshiftBlock> SEQUENCED_GEARSHIFT =
REGISTRATE.block("sequenced_gearshift", SequencedGearshiftBlock::new)
.initialProperties(SharedProperties::stone)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate(new SequencedGearshiftGenerator()::generate)
.item()
@ -664,7 +674,7 @@ public class AllBlocks {
public static final BlockEntry<FlywheelBlock> FLYWHEEL = REGISTRATE.block("flywheel", FlywheelBlock::new)
.initialProperties(SharedProperties::softMetal)
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact())
.blockstate(new FlywheelGenerator()::generate)
.item()
@ -810,7 +820,7 @@ public class AllBlocks {
public static final BlockEntry<PackagerBlock> PACKAGER = REGISTRATE.block("packager", PackagerBlock::new)
.initialProperties(SharedProperties::softMetal)
.transform(StressConfigDefaults.setImpact(4.0))
.properties(p -> p.nonOpaque())
.properties(Block.Properties::nonOpaque)
.blockstate((c, p) -> p.getVariantBuilder(c.get())
.forAllStates(s -> ConfiguredModel.builder()
.modelFile(AssetLookup.partialBaseModel(c, p))

View file

@ -1,6 +1,5 @@
package com.simibubi.create.content.contraptions.components.mixer;
import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInputInventory;
import com.simibubi.create.content.contraptions.processing.ProcessingIngredient;
@ -19,81 +18,80 @@ import java.util.*;
public class MixingRecipe extends ProcessingRecipe<BasinInputInventory> {
public MixingRecipe(ResourceLocation id, String group, List<ProcessingIngredient> ingredients,
List<ProcessingOutput> results, int processingDuration, List<FluidStack> fluidIngredients,
List<FluidStack> fluidResults, int requiredHeat) {
super(AllRecipeTypes.MIXING, id, group, ingredients, results, processingDuration, fluidIngredients,
fluidResults, requiredHeat);
}
public MixingRecipe(ResourceLocation id, String group, List<ProcessingIngredient> ingredients,
List<ProcessingOutput> results, int processingDuration, List<FluidStack> fluidIngredients,
List<FluidStack> fluidResults, int requiredHeat) {
super(AllRecipeTypes.MIXING, id, group, ingredients, results, processingDuration, fluidIngredients,
fluidResults, requiredHeat);
}
public static MixingRecipe of(IRecipe<?> recipe) {
return new MixingRecipe(recipe.getId(), recipe.getGroup(), ProcessingIngredient.list(recipe.getIngredients()),
Collections.singletonList(new ProcessingOutput(recipe.getRecipeOutput(), 1)), -1, null, null, 0);
}
public static MixingRecipe of(IRecipe<?> recipe) {
return new MixingRecipe(recipe.getId(), recipe.getGroup(), ProcessingIngredient.list(recipe.getIngredients()),
Collections.singletonList(new ProcessingOutput(recipe.getRecipeOutput(), 1)), -1, null, null, 0);
}
@Override
protected int getMaxInputCount() {
return 9;
}
@Override
protected int getMaxInputCount() {
return 9;
}
@Override
protected int getMaxOutputCount() {
return 1;
}
@Override
protected int getMaxOutputCount() {
return 1;
}
@Override
protected boolean canHaveCatalysts() {
return true;
}
@Override
protected boolean canHaveCatalysts() {
return true;
}
@Override
public boolean matches(BasinInputInventory inv, @Nonnull World worldIn) {
if (inv.isEmpty())
return false;
@Override
public boolean matches(BasinInputInventory inv, @Nonnull World worldIn) {
if (inv.isEmpty())
return false;
NonNullList<Ingredient> ingredients = this.getIngredients();
if (!ingredients.stream()
.allMatch(Ingredient::isSimple))
return false;
NonNullList<Ingredient> ingredients = this.getIngredients();
if (!ingredients.stream()
.allMatch(Ingredient::isSimple))
return false;
List<ItemStack> remaining = new ArrayList<>();
for (int slot = 0; slot < inv.getSizeInventory(); ++slot) {
ItemStack itemstack = inv.getStackInSlot(slot);
if (!itemstack.isEmpty()) {
remaining.add(itemstack.copy());
}
}
List<ItemStack> remaining = new ArrayList<>();
for (int slot = 0; slot < inv.getSizeInventory(); ++slot) {
ItemStack itemstack = inv.getStackInSlot(slot);
if (!itemstack.isEmpty()) {
remaining.add(itemstack.copy());
}
}
// sort by leniency
List<Ingredient> sortedIngredients = new LinkedList<>(ingredients);
sortedIngredients.sort(Comparator.comparingInt(i -> i.getMatchingStacks().length));
Ingredients:
for (Ingredient ingredient : sortedIngredients) {
for (ItemStack stack : remaining) {
if (stack.isEmpty())
continue;
if (ingredient.test(stack)) {
stack.shrink(1);
continue Ingredients;
}
}
return false;
}
return true;
}
// sort by leniency
List<Ingredient> sortedIngredients = new LinkedList<>(ingredients);
sortedIngredients.sort(Comparator.comparingInt(i -> i.getMatchingStacks().length));
Ingredients: for (Ingredient ingredient : sortedIngredients) {
for (ItemStack stack : remaining) {
if (stack.isEmpty())
continue;
if (ingredient.test(stack)) {
stack.shrink(1);
continue Ingredients;
}
}
return false;
}
return true;
}
@Override
protected boolean canHaveFluidIngredient() {
return true;
}
@Override
protected boolean canHaveFluidIngredient() {
return true;
}
@Override
protected boolean canHaveFluidOutput() {
return true;
}
@Override
protected boolean canHaveFluidOutput() {
return true;
}
@Override
protected boolean requiresHeating() {
return this.requiredHeat > 0;
}
@Override
protected boolean requiresHeating() {
return this.requiredHeat > 0;
}
}

View file

@ -0,0 +1,11 @@
package com.simibubi.create.content.contraptions.processing;
import net.minecraft.block.Block;
public class HeaterBlock extends Block {
public HeaterBlock(Properties properties) {
super(properties);
}
}

View file

@ -21,6 +21,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.mou
import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock;
import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock;
import com.simibubi.create.content.contraptions.fluids.FluidTankBlock;
import com.simibubi.create.content.contraptions.processing.HeaterBlock;
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock;
import com.simibubi.create.content.palettes.PavedBlock;
import com.simibubi.create.foundation.utility.Iterate;
@ -213,6 +214,10 @@ public class BlockStateGen {
});
}
public static NonNullBiConsumer<DataGenContext<Block, HeaterBlock>, RegistrateBlockstateProvider> blazeHeater(){
return (c, p) -> ConfiguredModel.builder().modelFile(p.models().getExistingFile(p.modLoc("block/" + c.getName() + "/block"))).build();
}
public static NonNullBiConsumer<DataGenContext<Block, ReinforcedRailBlock>, RegistrateBlockstateProvider> reinforcedRail() {
return (c, p) -> p.getVariantBuilder(c.get())
.forAllStates(state -> {

View file

@ -1,13 +1,15 @@
package com.simibubi.create.foundation.data;
import mcp.MethodsReturnNonnullByDefault;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.material.PushReaction;
@MethodsReturnNonnullByDefault
public class SharedProperties {
public static Material beltMaterial =
new Material(MaterialColor.GRAY, false, true, true, true, true, false, false, PushReaction.NORMAL);
@ -22,5 +24,4 @@ public class SharedProperties {
public static Block wooden() {
return Blocks.STRIPPED_SPRUCE_WOOD;
}
}

View file

@ -0,0 +1,236 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "create:block/blaze_heater_brazier",
"particle": "create:block/blaze_heater_brazier"
},
"elements": [
{
"name": "Brazier Sides 1",
"from": [2, 5, 2],
"to": [14, 14, 14],
"faces": {
"north": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"east": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"south": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"west": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "texture": "#0"}
}
},
{
"name": "Brazier Sides 2",
"from": [1, 5, 2],
"to": [2, 14, 14],
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "texture": "#0"}
}
},
{
"name": "Brazier Sides 3",
"from": [2, 5, 14],
"to": [14, 14, 15],
"faces": {
"north": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 270, "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "rotation": 90, "texture": "#0"}
}
},
{
"name": "Brazier Sides 4",
"from": [14, 5, 2],
"to": [15, 14, 14],
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "rotation": 180, "texture": "#0"}
}
},
{
"name": "Brazier Sides 5",
"from": [2, 5, 1],
"to": [14, 14, 2],
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [1.5, 2, 6.5, 5.5], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "rotation": 270, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 1",
"from": [2, 14, 2],
"to": [14, 17, 3],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"north": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [0, 0, 1, 3], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "texture": "#0"}
}
},
{
"name": "Brazier Spikes 1b",
"from": [2, 14, 1],
"to": [14, 17, 2],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]},
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [0, 0, 1, 3], "texture": "#0"},
"south": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 2",
"from": [2, 14, 2],
"to": [3, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [0, 0, 1, 3], "texture": "#0"},
"west": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 270, "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 2b",
"from": [1, 14, 2],
"to": [2, 17, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 3], "texture": "#0"},
"east": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "rotation": 270, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 3",
"from": [2, 14, 13],
"to": [14, 17, 14],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"north": {"uv": [8, 8, 16, 16], "texture": "#0"},
"east": {"uv": [0, 0, 1, 3], "texture": "#0"},
"south": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 3b",
"from": [2, 14, 14],
"to": [14, 17, 15],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]},
"faces": {
"north": {"uv": [1.5, 0.5, 6.5, 2], "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "texture": "#0"},
"west": {"uv": [0, 0, 1, 3], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "texture": "#0"}
}
},
{
"name": "Brazier Spikes 4",
"from": [14, 14, 2],
"to": [17, 15, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"north": {"uv": [0, 0, 1, 3], "rotation": 270, "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"},
"south": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "texture": "#0"},
"up": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"},
"down": {"uv": [1.5, 0.5, 6.5, 2], "rotation": 90, "texture": "#0"}
}
},
{
"name": "Brazier Spikes 4b",
"from": [14, 13, 2],
"to": [17, 14, 14],
"rotation": {"angle": 45, "axis": "z", "origin": [14, 14, 8]},
"faces": {
"north": {"uv": [8, 8, 16, 16], "rotation": 270, "texture": "#0"},
"east": {"uv": [8, 8, 16, 16], "texture": "#0"},
"south": {"uv": [0, 0, 1, 3], "rotation": 90, "texture": "#0"},
"west": {"uv": [8, 8, 16, 16], "rotation": 180, "texture": "#0"},
"up": {"uv": [1.5, 0.5, 6.5, 2], "rotation": 90, "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "rotation": 90, "texture": "#0"}
}
},
{
"name": "Base",
"from": [0, 0, 0],
"to": [16, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]},
"faces": {
"north": {"uv": [0, 6, 8, 8], "texture": "#0"},
"east": {"uv": [0, 6, 8, 8], "texture": "#0"},
"south": {"uv": [0, 6, 8, 8], "texture": "#0"},
"west": {"uv": [0, 6, 8, 8], "texture": "#0"},
"up": {"uv": [0, 8, 8, 16], "texture": "#0"},
"down": {"uv": [0, 8, 8, 16], "texture": "#0"}
}
},
{
"name": "Brazier bottom",
"from": [2, 4, 2],
"to": [14, 5, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]},
"faces": {
"north": {"uv": [1.5, 5.5, 6.5, 6], "texture": "#0"},
"east": {"uv": [1.5, 5.5, 6.5, 6], "texture": "#0"},
"south": {"uv": [1.5, 5.5, 6.5, 6], "texture": "#0"},
"west": {"uv": [1.5, 5.5, 6.5, 6], "texture": "#0"},
"up": {"uv": [9, 1, 15, 7], "texture": "#0"},
"down": {"uv": [8, 8, 16, 16], "texture": "#0"}
}
}
],
"groups": [
{
"name": "Brazier",
"origin": [0.5, 0.5, 0.5],
"children": [
{
"name": "Brazier Sides",
"origin": [0.5, 0.5, 0.5],
"children": [0, 1, 2, 3, 4]
},
{
"name": "Brazier Spikes",
"origin": [0.5, 0.5, 0.5],
"children": [5, 6, 7, 8, 9, 10, 11, 12]
}, 13, 14]
},
{
"name": "Blazes",
"origin": [8, 8, 8],
"children": [15, 16, 17, 18]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB