Empty Blaze Heater
- added empty blaze heater - catching blazes (rclick blazes or a blaze spawner) - only blaze heaters with blaze can heat basins or power fans - updated item tooltip to fit the discussed fueling system
This commit is contained in:
parent
f9691da8c8
commit
509edd9181
21 changed files with 2830 additions and 2628 deletions
File diff suppressed because it is too large
Load diff
|
@ -29,8 +29,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky",
|
"model": "create:block/radial_chassis_side_x_sticky",
|
||||||
|
@ -39,8 +39,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y_sticky"
|
"model": "create:block/radial_chassis_side_y_sticky"
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky",
|
"model": "create:block/radial_chassis_side_x_sticky",
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x",
|
"model": "create:block/radial_chassis_side_x",
|
||||||
|
@ -69,8 +69,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y"
|
"model": "create:block/radial_chassis_side_y"
|
||||||
|
@ -78,8 +78,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x",
|
"model": "create:block/radial_chassis_side_x",
|
||||||
|
@ -89,8 +89,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_west": "true",
|
||||||
"sticky_west": "true"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky",
|
"model": "create:block/radial_chassis_side_x_sticky",
|
||||||
|
@ -99,8 +99,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_west": "true",
|
||||||
"sticky_west": "true"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y_sticky",
|
"model": "create:block/radial_chassis_side_y_sticky",
|
||||||
|
@ -109,8 +109,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_west": "true",
|
||||||
"sticky_west": "true"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_z_sticky",
|
"model": "create:block/radial_chassis_side_z_sticky",
|
||||||
|
@ -119,8 +119,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_west": "false",
|
||||||
"sticky_west": "false"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x",
|
"model": "create:block/radial_chassis_side_x",
|
||||||
|
@ -129,8 +129,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_west": "false",
|
||||||
"sticky_west": "false"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y",
|
"model": "create:block/radial_chassis_side_y",
|
||||||
|
@ -139,8 +139,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_west": "false",
|
||||||
"sticky_west": "false"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_z",
|
"model": "create:block/radial_chassis_side_z",
|
||||||
|
@ -149,8 +149,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_north": "true",
|
||||||
"sticky_north": "true"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky"
|
"model": "create:block/radial_chassis_side_x_sticky"
|
||||||
|
@ -158,8 +158,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_north": "true",
|
||||||
"sticky_north": "true"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y_sticky",
|
"model": "create:block/radial_chassis_side_y_sticky",
|
||||||
|
@ -168,8 +168,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_north": "true",
|
||||||
"sticky_north": "true"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky",
|
"model": "create:block/radial_chassis_side_x_sticky",
|
||||||
|
@ -178,8 +178,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_north": "false",
|
||||||
"sticky_north": "false"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x"
|
"model": "create:block/radial_chassis_side_x"
|
||||||
|
@ -187,8 +187,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_north": "false",
|
||||||
"sticky_north": "false"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y",
|
"model": "create:block/radial_chassis_side_y",
|
||||||
|
@ -197,8 +197,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_north": "false",
|
||||||
"sticky_north": "false"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x",
|
"model": "create:block/radial_chassis_side_x",
|
||||||
|
@ -207,8 +207,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_east": "true",
|
||||||
"sticky_east": "true"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x_sticky",
|
"model": "create:block/radial_chassis_side_x_sticky",
|
||||||
|
@ -217,8 +217,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_east": "true",
|
||||||
"sticky_east": "true"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y_sticky",
|
"model": "create:block/radial_chassis_side_y_sticky",
|
||||||
|
@ -227,8 +227,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_east": "true",
|
||||||
"sticky_east": "true"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_z_sticky"
|
"model": "create:block/radial_chassis_side_z_sticky"
|
||||||
|
@ -236,8 +236,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_east": "false",
|
||||||
"sticky_east": "false"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_x",
|
"model": "create:block/radial_chassis_side_x",
|
||||||
|
@ -246,8 +246,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_east": "false",
|
||||||
"sticky_east": "false"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_y",
|
"model": "create:block/radial_chassis_side_y",
|
||||||
|
@ -256,8 +256,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_east": "false",
|
||||||
"sticky_east": "false"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/radial_chassis_side_z"
|
"model": "create:block/radial_chassis_side_z"
|
||||||
|
|
|
@ -1064,6 +1064,15 @@
|
||||||
"block.create.basin.tooltip": "BASIN",
|
"block.create.basin.tooltip": "BASIN",
|
||||||
"block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "_Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 782",
|
"_": "Missing Localizations: 790",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
||||||
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 385",
|
"_": "Missing Localizations: 393",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "BASSIN",
|
"block.create.basin.tooltip": "BASSIN",
|
||||||
"block.create.basin.tooltip.summary": "Un _objet_ _conteneur_ pratique utilisé dans le traitement avec le _mixeur_ _mécanique_ et la _presse_ _mecanique_. Prend en charge les _comparateur_ _de_ _redstone_.",
|
"block.create.basin.tooltip.summary": "Un _objet_ _conteneur_ pratique utilisé dans le traitement avec le _mixeur_ _mécanique_ et la _presse_ _mecanique_. Prend en charge les _comparateur_ _de_ _redstone_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 369",
|
"_": "Missing Localizations: 377",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "BACINELLA",
|
"block.create.basin.tooltip": "BACINELLA",
|
||||||
"block.create.basin.tooltip.summary": "Un pratico _contenitore_ _di_ _oggetti_ utilizzato nella lavorazione con il _Miscelatore_ _Meccanico_ e la _Pressa_ _Meccanica_. Supporta i _Comparatori_ _Redstone_.",
|
"block.create.basin.tooltip.summary": "Un pratico _contenitore_ _di_ _oggetti_ utilizzato nella lavorazione con il _Miscelatore_ _Meccanico_ e la _Pressa_ _Meccanica_. Supporta i _Comparatori_ _Redstone_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 364",
|
"_": "Missing Localizations: 372",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "鉢",
|
"block.create.basin.tooltip": "鉢",
|
||||||
"block.create.basin.tooltip.summary": "_メカニカルミキサー_と_メカニカルプレス_での処理に使用される便利な_アイテムの入れ物_。_レッドストーンコンパレータ_をサポートします。",
|
"block.create.basin.tooltip.summary": "_メカニカルミキサー_と_メカニカルプレス_での処理に使用される便利な_アイテムの入れ物_。_レッドストーンコンパレータ_をサポートします。",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 369",
|
"_": "Missing Localizations: 377",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "BASIN",
|
"block.create.basin.tooltip": "BASIN",
|
||||||
"block.create.basin.tooltip.summary": "믹서나 압착기와 같이 쓰이는 간편한 _아이템_ _저장소_입니다. 레드스톤 비교기와 호환됩니다.",
|
"block.create.basin.tooltip.summary": "믹서나 압착기와 같이 쓰이는 간편한 _아이템_ _저장소_입니다. 레드스톤 비교기와 호환됩니다.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 719",
|
"_": "Missing Localizations: 727",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
||||||
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 789",
|
"_": "Missing Localizations: 797",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
||||||
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 783",
|
"_": "Missing Localizations: 791",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
"block.create.basin.tooltip": "UNLOCALIZED: BASIN",
|
||||||
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 45",
|
"_": "Missing Localizations: 53",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -1065,6 +1065,15 @@
|
||||||
"block.create.basin.tooltip": "BASIN",
|
"block.create.basin.tooltip": "BASIN",
|
||||||
"block.create.basin.tooltip.summary": "一种方便的_物品容器_,常常用于_辊压机_和_搅拌机_,可以被_红石比较器_检测",
|
"block.create.basin.tooltip.summary": "一种方便的_物品容器_,常常用于_辊压机_和_搅拌机_,可以被_红石比较器_检测",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"create:blaze_heater"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -57,6 +57,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidTankModel;
|
||||||
import com.simibubi.create.content.contraptions.fluids.PumpBlock;
|
import com.simibubi.create.content.contraptions.fluids.PumpBlock;
|
||||||
import com.simibubi.create.content.contraptions.processing.BasinBlock;
|
import com.simibubi.create.content.contraptions.processing.BasinBlock;
|
||||||
import com.simibubi.create.content.contraptions.processing.HeaterBlock;
|
import com.simibubi.create.content.contraptions.processing.HeaterBlock;
|
||||||
|
import com.simibubi.create.content.contraptions.processing.HeaterBlockItem;
|
||||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
|
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.SequencedGearshiftBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
|
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
|
||||||
|
@ -402,10 +403,11 @@ public class AllBlocks {
|
||||||
public static final BlockEntry<HeaterBlock> HEATER = REGISTRATE.block("blaze_heater", HeaterBlock::new)
|
public static final BlockEntry<HeaterBlock> HEATER = REGISTRATE.block("blaze_heater", HeaterBlock::new)
|
||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(p -> p.lightValue(12))
|
.properties(p -> p.lightValue(12))
|
||||||
.tag(AllBlockTags.FAN_HEATERS.tag)
|
|
||||||
.addLayer(() -> RenderType::getCutoutMipped)
|
.addLayer(() -> RenderType::getCutoutMipped)
|
||||||
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
|
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
|
||||||
.simpleItem()
|
.item(HeaterBlockItem::new)
|
||||||
|
.build()
|
||||||
|
// .transform(heaterItemModel())
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<DepotBlock> DEPOT = REGISTRATE.block("depot", DepotBlock::new)
|
public static final BlockEntry<DepotBlock> DEPOT = REGISTRATE.block("depot", DepotBlock::new)
|
||||||
|
|
|
@ -2,10 +2,12 @@ package com.simibubi.create.content.contraptions.components.fan;
|
||||||
|
|
||||||
import com.simibubi.create.AllTags.AllBlockTags;
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
|
||||||
|
import com.simibubi.create.content.contraptions.processing.HeaterBlock;
|
||||||
import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity;
|
import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.config.CKinetics;
|
import com.simibubi.create.foundation.config.CKinetics;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
import net.minecraft.state.properties.BlockStateProperties;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
@ -72,9 +74,10 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean blockBelowIsHot() {
|
public boolean blockBelowIsHot() {
|
||||||
return world.getBlockState(pos.down())
|
BlockState checkState = world.getBlockState(pos.down());
|
||||||
.getBlock()
|
return checkState.getBlock()
|
||||||
.isIn(AllBlockTags.FAN_HEATERS.tag);
|
.isIn(AllBlockTags.FAN_HEATERS.tag)
|
||||||
|
|| (checkState.has(HeaterBlock.HAS_BLAZE) && checkState.get(HeaterBlock.HAS_BLAZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getMaxDistance() {
|
public float getMaxDistance() {
|
||||||
|
|
|
@ -1,11 +1,20 @@
|
||||||
package com.simibubi.create.content.contraptions.processing;
|
package com.simibubi.create.content.contraptions.processing;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
import com.simibubi.create.AllTileEntities;
|
import com.simibubi.create.AllTileEntities;
|
||||||
import com.simibubi.create.foundation.block.ITE;
|
import com.simibubi.create.foundation.block.ITE;
|
||||||
|
|
||||||
import mcp.MethodsReturnNonnullByDefault;
|
import mcp.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.BlockItemUseContext;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.state.BooleanProperty;
|
||||||
|
import net.minecraft.state.IProperty;
|
||||||
|
import net.minecraft.state.StateContainer.Builder;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.ActionResultType;
|
import net.minecraft.util.ActionResultType;
|
||||||
import net.minecraft.util.Hand;
|
import net.minecraft.util.Hand;
|
||||||
|
@ -14,20 +23,26 @@ import net.minecraft.util.math.BlockRayTraceResult;
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockReader;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
|
||||||
|
|
||||||
@MethodsReturnNonnullByDefault
|
@MethodsReturnNonnullByDefault
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public class HeaterBlock extends Block implements ITE<HeaterTileEntity> {
|
public class HeaterBlock extends Block implements ITE<HeaterTileEntity> {
|
||||||
|
|
||||||
|
public static IProperty<Boolean> HAS_BLAZE = BooleanProperty.create("has_blaze");
|
||||||
|
|
||||||
public HeaterBlock(Properties properties) {
|
public HeaterBlock(Properties properties) {
|
||||||
super(properties);
|
super(properties);
|
||||||
|
setDefaultState(super.getDefaultState().with(HAS_BLAZE, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void fillStateContainer(Builder<Block, BlockState> builder) {
|
||||||
|
super.fillStateContainer(builder);
|
||||||
|
builder.add(HAS_BLAZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasTileEntity(BlockState state) {
|
public boolean hasTileEntity(BlockState state) {
|
||||||
return true;
|
return state.get(HAS_BLAZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -44,6 +59,8 @@ public class HeaterBlock extends Block implements ITE<HeaterTileEntity> {
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
||||||
BlockRayTraceResult blockRayTraceResult) {
|
BlockRayTraceResult blockRayTraceResult) {
|
||||||
|
if (!hasTileEntity(state))
|
||||||
|
return ActionResultType.PASS;
|
||||||
TileEntity te = world.getTileEntity(pos);
|
TileEntity te = world.getTileEntity(pos);
|
||||||
if (te instanceof HeaterTileEntity && ((HeaterTileEntity) te).tryUpdateFuel(player.getHeldItem(hand))) {
|
if (te instanceof HeaterTileEntity && ((HeaterTileEntity) te).tryUpdateFuel(player.getHeldItem(hand))) {
|
||||||
if (!player.isCreative())
|
if (!player.isCreative())
|
||||||
|
@ -53,4 +70,13 @@ public class HeaterBlock extends Block implements ITE<HeaterTileEntity> {
|
||||||
}
|
}
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockState getStateForPlacement(BlockItemUseContext context) {
|
||||||
|
ItemStack item = context.getItem();
|
||||||
|
return super.getStateForPlacement(context).with(HAS_BLAZE, item.hasTag() && item.getTag()
|
||||||
|
.contains("has_blaze")
|
||||||
|
&& item.getTag()
|
||||||
|
.getBoolean("has_blaze"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
package com.simibubi.create.content.contraptions.processing;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
import mcp.MethodsReturnNonnullByDefault;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.monster.BlazeEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.item.BlockItem;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.ItemUseContext;
|
||||||
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
|
import net.minecraft.tileentity.MobSpawnerTileEntity;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.ActionResultType;
|
||||||
|
import net.minecraft.util.Hand;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
|
|
||||||
|
@MethodsReturnNonnullByDefault
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
|
public class HeaterBlockItem extends BlockItem {
|
||||||
|
public HeaterBlockItem(Block block, Properties properties) {
|
||||||
|
super(block, properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActionResultType onItemUse(ItemUseContext context) {
|
||||||
|
TileEntity te = context.getWorld()
|
||||||
|
.getTileEntity(context.getPos());
|
||||||
|
if (te instanceof MobSpawnerTileEntity && ((MobSpawnerTileEntity) te).getSpawnerBaseLogic()
|
||||||
|
.getCachedEntity() instanceof BlazeEntity) {
|
||||||
|
ItemStack itemWithBlaze = withBlaze(context.getItem());
|
||||||
|
context.getItem()
|
||||||
|
.shrink(1);
|
||||||
|
dropOrPlaceBack(context.getWorld(), context.getPlayer(), itemWithBlaze);
|
||||||
|
return ActionResultType.SUCCESS;
|
||||||
|
}
|
||||||
|
return super.onItemUse(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean itemInteractionForEntity(ItemStack heldItem, PlayerEntity player, LivingEntity entity, Hand hand) {
|
||||||
|
if (entity instanceof BlazeEntity) {
|
||||||
|
ItemStack itemWithBlaze = withBlaze(heldItem);
|
||||||
|
heldItem.shrink(1);
|
||||||
|
dropOrPlaceBack(player.getEntityWorld(), player, itemWithBlaze);
|
||||||
|
entity.remove();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.itemInteractionForEntity(heldItem, player, entity, hand);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemStack withBlaze(ItemStack base) {
|
||||||
|
ItemStack newItem = new ItemStack(base.getItem(), 1);
|
||||||
|
CompoundNBT tag = new CompoundNBT();
|
||||||
|
tag.putBoolean("has_blaze", true);
|
||||||
|
newItem.setTag(tag);
|
||||||
|
return newItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void dropOrPlaceBack(@Nullable World world, @Nullable PlayerEntity player, ItemStack item) {
|
||||||
|
if (player == null)
|
||||||
|
return;
|
||||||
|
if (player instanceof FakePlayer || world == null) {
|
||||||
|
player.dropItem(item, false, false);
|
||||||
|
} else {
|
||||||
|
player.inventory.placeItemBackInInventory(world, item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,30 +12,29 @@ import net.minecraft.client.renderer.Vector3f;
|
||||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||||
import net.minecraft.util.Direction;
|
import net.minecraft.util.Direction;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class HeaterRenderer extends SafeTileEntityRenderer<HeaterTileEntity> {
|
public class HeaterRenderer extends SafeTileEntityRenderer<HeaterTileEntity> {
|
||||||
private static final Minecraft INSTANCE = Minecraft.getInstance();
|
private static final Minecraft INSTANCE = Minecraft.getInstance();
|
||||||
|
private static final HashMap<Integer, AllBlockPartials> blazeModelMap = new HashMap<>();
|
||||||
|
|
||||||
public HeaterRenderer(TileEntityRendererDispatcher dispatcher) {
|
public HeaterRenderer(TileEntityRendererDispatcher dispatcher) {
|
||||||
super(dispatcher);
|
super(dispatcher);
|
||||||
|
blazeModelMap.put(2, AllBlockPartials.BLAZE_HEATER_BLAZE_TWO);
|
||||||
|
blazeModelMap.put(3, AllBlockPartials.BLAZE_HEATER_BLAZE_THREE);
|
||||||
|
blazeModelMap.put(4, AllBlockPartials.BLAZE_HEATER_BLAZE_FOUR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void renderSafe(HeaterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer,
|
protected void renderSafe(HeaterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer,
|
||||||
int light, int overlay) {
|
int light, int overlay) {
|
||||||
AllBlockPartials blazeModel;
|
AllBlockPartials blazeModel =
|
||||||
switch (te.getHeatLevel()) {
|
blazeModelMap.getOrDefault(te.getHeatLevel(), AllBlockPartials.BLAZE_HEATER_BLAZE_ONE);
|
||||||
case 2:
|
|
||||||
blazeModel = AllBlockPartials.BLAZE_HEATER_BLAZE_TWO;
|
float angle;
|
||||||
break;
|
if (INSTANCE.player == null) {
|
||||||
case 3:
|
angle = 0;
|
||||||
blazeModel = AllBlockPartials.BLAZE_HEATER_BLAZE_THREE;
|
} else {
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
blazeModel = AllBlockPartials.BLAZE_HEATER_BLAZE_FOUR;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
blazeModel = AllBlockPartials.BLAZE_HEATER_BLAZE_ONE;
|
|
||||||
}
|
|
||||||
Vector3f difference = new Vector3f(INSTANCE.player.getPositionVector()
|
Vector3f difference = new Vector3f(INSTANCE.player.getPositionVector()
|
||||||
.subtract(te.getPos()
|
.subtract(te.getPos()
|
||||||
.getX() + 0.5, 0,
|
.getX() + 0.5, 0,
|
||||||
|
@ -43,11 +42,11 @@ public class HeaterRenderer extends SafeTileEntityRenderer<HeaterTileEntity> {
|
||||||
.getZ() + 0.5)
|
.getZ() + 0.5)
|
||||||
.mul(1, 0, 1));
|
.mul(1, 0, 1));
|
||||||
difference.normalize();
|
difference.normalize();
|
||||||
|
angle = (float) ((difference.getX() < 0 ? 1 : -1) * Math.acos(Direction.NORTH.getUnitVector()
|
||||||
|
.dot(difference)));
|
||||||
|
}
|
||||||
SuperByteBuffer blazeBuffer = blazeModel.renderOn(te.getBlockState());
|
SuperByteBuffer blazeBuffer = blazeModel.renderOn(te.getBlockState());
|
||||||
blazeBuffer.rotateCentered(Direction.UP,
|
blazeBuffer.rotateCentered(Direction.UP, angle);
|
||||||
(float) ((difference.getX() < 0 ? 1 : -1) * Math.acos(Direction.NORTH.getUnitVector()
|
|
||||||
.dot(difference))));
|
|
||||||
blazeBuffer.renderInto(ms, buffer.getBuffer(RenderType.getSolid()));
|
blazeBuffer.renderInto(ms, buffer.getBuffer(RenderType.getSolid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,10 @@ package com.simibubi.create.content.contraptions.processing;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
|
||||||
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
import net.minecraft.tileentity.TileEntityType;
|
import net.minecraft.tileentity.TileEntityType;
|
||||||
|
@ -58,20 +58,21 @@ public class HeaterTileEntity extends SmartTileEntity {
|
||||||
fuelLevel = compound.getInt("fuelLevel");
|
fuelLevel = compound.getInt("fuelLevel");
|
||||||
burnTimeRemaining = compound.getInt("burnTimeRemaining");
|
burnTimeRemaining = compound.getInt("burnTimeRemaining");
|
||||||
super.read(compound);
|
super.read(compound);
|
||||||
if (fuelLevel == 0) {
|
if (fuelLevel == 0)
|
||||||
burnTimeRemaining = 0;
|
burnTimeRemaining = 0;
|
||||||
markDirty();
|
updateHeatLevel();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean tryUpdateFuel(ItemStack itemStack) {
|
boolean tryUpdateFuel(ItemStack itemStack) {
|
||||||
int burnTime = itemStack.getItem()
|
int burnTime = itemStack.getItem()
|
||||||
.getBurnTime(itemStack);
|
.getBurnTime(itemStack);
|
||||||
int newFuelLevel = 1; // todo: int newFuelLevel = itemStack.getItem() == AllItems.SUPER_SPECIAL_FUEL.get() ? 2 : 1;
|
|
||||||
if (burnTime == -1)
|
if (burnTime == -1)
|
||||||
burnTime = ForgeHooks.getBurnTime(itemStack);
|
burnTime = ForgeHooks.getBurnTime(itemStack);
|
||||||
if (burnTime < burnTimeRemaining && newFuelLevel <= fuelLevel)
|
int newFuelLevel = (burnTime > burnTimeRemaining ? 1 : 0); // todo: + (itemStack.getItem() == AllItems.SUPER_SPECIAL_FUEL.get() ? 1 : 0);
|
||||||
|
if (newFuelLevel <= fuelLevel) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
burnTimeRemaining = burnTime;
|
burnTimeRemaining = burnTime;
|
||||||
fuelLevel = newFuelLevel;
|
fuelLevel = newFuelLevel;
|
||||||
updateHeatLevel();
|
updateHeatLevel();
|
||||||
|
@ -83,9 +84,14 @@ public class HeaterTileEntity extends SmartTileEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateHeatLevel() {
|
private void updateHeatLevel() {
|
||||||
bufferedHeatLevel = 1 + fuelLevel;
|
int newHeatLevel = 1 + fuelLevel;
|
||||||
// todo: check for fan
|
if (newHeatLevel != bufferedHeatLevel) {
|
||||||
|
bufferedHeatLevel = newHeatLevel;
|
||||||
|
// Block block = getBlockState().getBlock();
|
||||||
|
// if (block instanceof HeaterBlock)
|
||||||
|
// ((HeaterBlock) block).setLightLevel();
|
||||||
markDirty();
|
markDirty();
|
||||||
sendData();
|
sendData();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,6 +212,15 @@
|
||||||
"block.create.basin.tooltip": "BASIN",
|
"block.create.basin.tooltip": "BASIN",
|
||||||
"block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
"block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.",
|
||||||
|
|
||||||
|
"block.create.blaze_heater.tooltip": "BLAZE HEATER",
|
||||||
|
"block.create.blaze_heater.tooltip.summary": "A block to heat a basin when housing a tamed blaze.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition1": "When using on a blaze or blaze spawner",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour1": "_Captures_ a blaze in the item",
|
||||||
|
"block.create.blaze_heater.tooltip.condition2": "When placed below a basin",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour2": "Provides _heat_ to basin recipes.",
|
||||||
|
"block.create.blaze_heater.tooltip.condition3": "When fuel is used on the blaze heater",
|
||||||
|
"block.create.blaze_heater.tooltip.behaviour3": "Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.",
|
||||||
|
|
||||||
"block.create.reinforced_rail.tooltip": "REINFORCED RAIL",
|
"block.create.reinforced_rail.tooltip": "REINFORCED RAIL",
|
||||||
"block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
"block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.",
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"0": "create:block/blaze_heater_brazier",
|
"0": "create:block/blaze_heater_brazier",
|
||||||
"particle": "create:block/blaze_heater_brazier"
|
"particle": "create:block/blaze_heater_brazier"
|
||||||
|
|
Loading…
Reference in a new issue