mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-27 23:47:38 +01:00
Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev
This commit is contained in:
commit
213711ce77
20 changed files with 152 additions and 175 deletions
|
@ -337,7 +337,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
|
|||
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
|
||||
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
|
||||
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json
|
||||
6fa36883e76e9e403bb429c8f86b8c0d3bba0cff assets/create/blockstates/radial_chassis.json
|
||||
4439fc83a8c7370ab44b211a3fd48abde20a4728 assets/create/blockstates/radial_chassis.json
|
||||
45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
|
||||
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
|
||||
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
|
||||
|
@ -403,19 +403,19 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
|||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
ce0e5405da381a86625b908c569c5dbe347abdba assets/create/lang/en_ud.json
|
||||
75e0c8fea601eecd505e00084e3001d54b315484 assets/create/lang/en_us.json
|
||||
3f1b5016f59fc581352c4acca569dd68e82d96de assets/create/lang/unfinished/de_de.json
|
||||
77c60af805305234d28421be451a6091c9222d44 assets/create/lang/unfinished/es_es.json
|
||||
00cdb52c58844b3d9b00551929866ff7eb23aff8 assets/create/lang/unfinished/es_mx.json
|
||||
41b68809a2c0267be7e6966274e00a69f370b743 assets/create/lang/unfinished/fr_fr.json
|
||||
4606b3e7bcbb0b54802e52a800838343e84087ee assets/create/lang/unfinished/it_it.json
|
||||
38e23ba73a515cb238d3899cc7517ff30223a3bc assets/create/lang/unfinished/ja_jp.json
|
||||
0e34e4848b8e0ea0b73778477cc4790d6a637143 assets/create/lang/unfinished/ko_kr.json
|
||||
f8c6e3946025b6af0172319b0a4fc12b6f12a10f assets/create/lang/unfinished/nl_nl.json
|
||||
5a0d6736f89c5d9e78d893d8c6ceb4ee07b9428b assets/create/lang/unfinished/pt_br.json
|
||||
ae45aacb4418411dec1e6248637094efec94bd24 assets/create/lang/unfinished/ru_ru.json
|
||||
ba653601c0452116fd5f8b820a136b4833dcb426 assets/create/lang/unfinished/zh_cn.json
|
||||
1087875125ce70b1543df07e3957b14b5ef60e9f assets/create/lang/unfinished/zh_tw.json
|
||||
442123de75c67a2b562194981d62c6a6de053593 assets/create/lang/en_us.json
|
||||
1a5739ce1ab4a923dcf5a7ed12f16af394aed719 assets/create/lang/unfinished/de_de.json
|
||||
4f21f855b45e8b44aedcae94e5a41c797d05af45 assets/create/lang/unfinished/es_es.json
|
||||
e971082462cd5a92a08c3a1481e8e7c6e1afcea1 assets/create/lang/unfinished/es_mx.json
|
||||
64a39634a36da998fd11553340cd1fc652129ce9 assets/create/lang/unfinished/fr_fr.json
|
||||
afb72ad7e2713819b3cda0110a41dcdbbcc0bb0b assets/create/lang/unfinished/it_it.json
|
||||
583b4bddc044614efb1b08f9bfb36a49e0a67e4f assets/create/lang/unfinished/ja_jp.json
|
||||
9baa3052e1a9440e1cb6d46950d2227f2be3435e assets/create/lang/unfinished/ko_kr.json
|
||||
7701f3b29b3e92a9943c15000beb9df02143fe90 assets/create/lang/unfinished/nl_nl.json
|
||||
9f935fe569d793f6ee581ebc24bff5740c91fbab assets/create/lang/unfinished/pt_br.json
|
||||
9ede4dc1051fea0bcabc30da1d133c0048d29641 assets/create/lang/unfinished/ru_ru.json
|
||||
2442b5fe4ed2d92ab3081e7422bfecdf1ac06610 assets/create/lang/unfinished/zh_cn.json
|
||||
56268c452b57cf072f35839ebfa130213a966730 assets/create/lang/unfinished/zh_tw.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
|
||||
|
|
|
@ -89,8 +89,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -99,8 +99,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
|
@ -109,8 +109,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z_sticky",
|
||||
|
@ -119,8 +119,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -129,8 +129,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
|
@ -139,8 +139,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z",
|
||||
|
@ -149,8 +149,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky"
|
||||
|
@ -158,8 +158,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
|
@ -168,8 +168,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -178,8 +178,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x"
|
||||
|
@ -187,8 +187,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
|
@ -197,8 +197,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -207,8 +207,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -217,8 +217,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
|
@ -227,8 +227,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z_sticky"
|
||||
|
@ -236,8 +236,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -246,8 +246,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
|
@ -256,8 +256,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_east": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z"
|
||||
|
|
|
@ -1122,10 +1122,6 @@
|
|||
"create.hint.hose_pulley": "The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "Funnels facing upward",
|
||||
"create.hint.upward_funnel": "can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "Update Bearing",
|
||||
"create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "Deployer Item Overflow",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1510",
|
||||
"_": "Missing Localizations: 1506",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "UNLOCALIZED: It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "UNLOCALIZED: Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "UNLOCALIZED: cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "UNLOCALIZED: Funnels facing upward",
|
||||
"create.hint.upward_funnel": "UNLOCALIZED: can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "UNLOCALIZED: Update Bearing",
|
||||
"create.hint.empty_bearing": "UNLOCALIZED: _Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "La masa de fluido objetivo se considera infinita",
|
||||
"create.hint.mechanical_arm_no_targets.title": "No hay objetivos",
|
||||
"create.hint.mechanical_arm_no_targets": "Parece que a este _brazo mecánico_ no se le ha asignado ningún _objetivo._ Selecciona correas, depósitos, embudos y otros bloques haciendo _clic derecho_ sobre ellos mientras _sostienes_ el _brazo mecánico_ en tu _mano_.",
|
||||
"create.hint.horizontal_funnel.title": "Embudos horizontales",
|
||||
"create.hint.horizontal_funnel": "No puede transferir entre inventarios _directamente_. Intenta pasar una _correa_ o un _depósito_ por debajo de tu embudo para extraer artículos de los inventarios",
|
||||
"create.hint.upward_funnel.title": "Embudos hacia arriba",
|
||||
"create.hint.upward_funnel": "sólo pueden transferir objetos insertados por _brazos_, y _ductos_ impulsados por ventilador, o elementos _lanzados_ hacia ellos. Intenta construir algunos _ductos_ si quieres mover tus objetos _verticalmente_",
|
||||
"create.hint.empty_bearing.title": "Rodamiento de reloj",
|
||||
"create.hint.empty_bearing": "_Haz clic con el botón derecho del ratón_ en el rodamiento con la _mano vacía_ para _adherir_ la estructura que acabas de construir delante de él",
|
||||
"create.hint.full_deployer.title": "Desbordamiento de elementos del desplegador",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1440",
|
||||
"_": "Missing Localizations: 1436",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "UNLOCALIZED: It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "UNLOCALIZED: Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "UNLOCALIZED: cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "UNLOCALIZED: Funnels facing upward",
|
||||
"create.hint.upward_funnel": "UNLOCALIZED: can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "UNLOCALIZED: Update Bearing",
|
||||
"create.hint.empty_bearing": "UNLOCALIZED: _Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1222",
|
||||
"_": "Missing Localizations: 1218",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "UNLOCALIZED: It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "UNLOCALIZED: Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "UNLOCALIZED: cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "UNLOCALIZED: Funnels facing upward",
|
||||
"create.hint.upward_funnel": "UNLOCALIZED: can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "UNLOCALIZED: Update Bearing",
|
||||
"create.hint.empty_bearing": "UNLOCALIZED: _Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "Il corpo fluido selezionato è considerato infinito.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "Nessun bersaglio",
|
||||
"create.hint.mechanical_arm_no_targets": "Sembra che questo _braccio_ _meccanico_ non sia stato assegnato a nessun _bersaglio_. Seleziona nastri, depositi, imbuti e altri blocchi _cliccandoli_ _col_ _destro_ e _tenendo_ _in_ _mano_ il _braccio_ _meccanico_.",
|
||||
"create.hint.horizontal_funnel.title": "Imbuto orizzontale",
|
||||
"create.hint.horizontal_funnel": "Non puoi trasferire tra inventari _direttamente_. Prova a mettere un _nastro_ _meccanico_ o un _deposito_ sotto il tuo imbuto per estrarre gli oggetti dagli inventari.",
|
||||
"create.hint.upward_funnel.title": "Imbuti rivolti verso l'alto",
|
||||
"create.hint.upward_funnel": "Puoi solo inserire oggetti inseriti da _braccia_, _scivoli_ alimentati da ventilatori, od oggetti _gettati_ in essi. Prova a costruire degli _scivoli_ se stai cercando di muovere gli oggetti _verticalmente_.",
|
||||
"create.hint.empty_bearing.title": "Aggiorna il supporto",
|
||||
"create.hint.empty_bearing": "_Clicca_ _col_ _destro_ il supporto con una _mano_ _vuota_ per _attaccarci_ la struttura che ci hai appena costruito davanti.",
|
||||
"create.hint.full_deployer.title": "Overflow di oggetti dell'installatore",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "対象となる液体は無限とみなされています。",
|
||||
"create.hint.mechanical_arm_no_targets.title": "ターゲットが見つかりません",
|
||||
"create.hint.mechanical_arm_no_targets": "どうやらこの_メカニカルアーム_には_ターゲット_が割り当てられていないようです。_メカニカルアーム_を_手_に持って_右クリック_して、ベルト、デポ、ファンネルなどのブロックを選択します。",
|
||||
"create.hint.horizontal_funnel.title": "水平ファンネル",
|
||||
"create.hint.horizontal_funnel": "この状態ではインベントリ間でアイテムを_直接_転送することはできません。インベントリからアイテムを取り出すために、ファンネルの下 _メカニカルベルト_ や _デポ_ を置いてみて下さい。",
|
||||
"create.hint.upward_funnel.title": "上向きファンネル",
|
||||
"create.hint.upward_funnel": "この状態では_メカニカルアーム_や風を送り込んだ_シュート_、_落ちている_アイテムしか移動できません。アイテムを_縦_に移動させたい場合は、いくつか_シュート_を作ってみてください。",
|
||||
"create.hint.empty_bearing.title": "ベアリングの更新",
|
||||
"create.hint.empty_bearing": "_素手_でベアリングを_右クリック_して、その前に先ほど作った構造物を_接続_します。",
|
||||
"create.hint.full_deployer.title": "デプロイヤーのアイテムが溢れています",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "목표 없음",
|
||||
"create.hint.mechanical_arm_no_targets": "이 _기계 팔_은 _목표_가 설정되지 않은 것 같습니다. _기계 팔을 손에 들고_ 벨트, 아이템 거치대, 깔때기를 _우클릭_하여 목표로 지정하세요.",
|
||||
"create.hint.horizontal_funnel.title": "깔때기가 수평임",
|
||||
"create.hint.horizontal_funnel": "깔때기는 더이상 아이템을 _직접_ 이동시킬 수 없습니다. _벨트나 아이템 거치대_위에 깔때기를 설치하여 아이템을 이동시키세요.",
|
||||
"create.hint.upward_funnel.title": "깔때기가 위를 바라보고 있음",
|
||||
"create.hint.upward_funnel": "_기계 팔_, 선풍기가 부착된 _슈트_를 이용하거나, 혹은 아이템이 _던져져야만_ 이동시킬 수 있습니다. 아이템을 _수직으로_ 옮기고 싶다면 _슈트_를 사용해보세요.",
|
||||
"create.hint.empty_bearing.title": "베어링 업데이트_",
|
||||
"create.hint.empty_bearing": "_맨 손_으로 베어링을 _우클릭_하여 구조물을 _부착_하세요.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1709",
|
||||
"_": "Missing Localizations: 1705",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "UNLOCALIZED: It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "UNLOCALIZED: Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "UNLOCALIZED: cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "UNLOCALIZED: Funnels facing upward",
|
||||
"create.hint.upward_funnel": "UNLOCALIZED: can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "UNLOCALIZED: Update Bearing",
|
||||
"create.hint.empty_bearing": "UNLOCALIZED: _Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1775",
|
||||
"_": "Missing Localizations: 1771",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "UNLOCALIZED: No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "UNLOCALIZED: It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "UNLOCALIZED: Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "UNLOCALIZED: cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "UNLOCALIZED: Funnels facing upward",
|
||||
"create.hint.upward_funnel": "UNLOCALIZED: can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "UNLOCALIZED: Update Bearing",
|
||||
"create.hint.empty_bearing": "UNLOCALIZED: _Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "UNLOCALIZED: Deployer Item Overflow",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "Целевой водный резервуар считается бесконечным.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "Нет целей",
|
||||
"create.hint.mechanical_arm_no_targets": "Кажется, эта _Механическая рука_ не имеет никаких целей. Выберите _ремни_, _депо_, _воронки_, или другие блоки, с помощью _правого клика_, удерживая _Механическую руку_.",
|
||||
"create.hint.horizontal_funnel.title": "Горизонтальные воронки",
|
||||
"create.hint.horizontal_funnel": "Невозможно передавать предметы _напрямую_. Попробуйте запустить _механический ремень_ или _депо_ под вашей воронкой, чтобы извлекать предметы из присоеденённого инвентаря.",
|
||||
"create.hint.upward_funnel.title": "Воронка направленна вверх",
|
||||
"create.hint.upward_funnel": "Может перемещать только предметы, вставленные _рукой_, _желобами_ с вентиляторами, или брошенные на неё. Попробуйте использовать _желоба_, если вам нужно перемещать предметы по вертикали.",
|
||||
"create.hint.empty_bearing.title": "Обновить подшипник",
|
||||
"create.hint.empty_bearing": "_Правый клик_ по подшипнику _пустой рукой_, чтобы _присоединить_ к нему структуру, которую вы только что построили перед ним.",
|
||||
"create.hint.full_deployer.title": "Переполнение автономного активатора",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "目标液体对象被视为无限量的。",
|
||||
"create.hint.mechanical_arm_no_targets.title": "没有目标",
|
||||
"create.hint.mechanical_arm_no_targets": "看起来这个_动力臂_没有被分配给任何_目标_。在手持机械臂的同时,右键选取传送带、置物台、漏斗或其他设备来设置目标。",
|
||||
"create.hint.horizontal_funnel.title": "水平漏斗",
|
||||
"create.hint.horizontal_funnel": "无法_直接_在两个物品栏间移动物品。请使用传送带或者置物台来从物品栏中提取物品。",
|
||||
"create.hint.upward_funnel.title": "漏斗向上",
|
||||
"create.hint.upward_funnel": "只可以传送由_动力臂_,鼓风机驱动的_溜槽_或者被投掷的物品。请试着做一些溜槽来垂直运输物品。",
|
||||
"create.hint.empty_bearing.title": "更新轴承",
|
||||
"create.hint.empty_bearing": "_空手右键_轴承来_激活_你新建造的结构。",
|
||||
"create.hint.full_deployer.title": "机械手物品溢出",
|
||||
|
|
|
@ -1123,10 +1123,6 @@
|
|||
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "沒有目標",
|
||||
"create.hint.mechanical_arm_no_targets": "看起來這個_機械手臂_沒有被分配任何_目標_。在手持機械手臂的同時,右鍵選取輸送帶、置物臺、漏斗或其他設備來設定目標。",
|
||||
"create.hint.horizontal_funnel.title": "水平漏斗",
|
||||
"create.hint.horizontal_funnel": "無法_直接_在兩個庫存間移動物品。試著使用輸送帶或者置物臺來從庫存中提取物品。",
|
||||
"create.hint.upward_funnel.title": "漏斗向上",
|
||||
"create.hint.upward_funnel": "只可以傳送由_機械手臂_,鼓風機驅動的_滑道_或者被投擲的物品。試著做一些滑道來垂直輸送物品。",
|
||||
"create.hint.empty_bearing.title": "更新軸承",
|
||||
"create.hint.empty_bearing": "_空手右鍵_軸承來_添加_你新建造的結構。",
|
||||
"create.hint.full_deployer.title": "機械手物品溢出",
|
||||
|
|
|
@ -33,7 +33,7 @@ public class EjectorRenderer extends KineticTileEntityRenderer {
|
|||
public boolean isGlobalRenderer(KineticTileEntity p_188185_1_) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void renderSafe(KineticTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer,
|
||||
int light, int overlay) {
|
||||
|
@ -48,17 +48,22 @@ public class EjectorRenderer extends KineticTileEntityRenderer {
|
|||
SuperByteBuffer model = AllBlockPartials.EJECTOR_TOP.renderOn(te.getBlockState());
|
||||
applyLidAngle(te, angle, model.matrixStacker());
|
||||
model.light(light)
|
||||
.renderInto(ms, vertexBuilder);
|
||||
.renderInto(ms, vertexBuilder);
|
||||
}
|
||||
|
||||
MatrixStacker msr = MatrixStacker.of(ms);
|
||||
|
||||
float maxTime =
|
||||
(float) (ejector.earlyTarget != null ? ejector.earlyTargetTime : ejector.launcher.getTotalFlyingTicks());
|
||||
for (IntAttached<ItemStack> intAttached : ejector.launchedItems) {
|
||||
ms.push();
|
||||
float time = intAttached.getFirst() + partialTicks;
|
||||
if (time > maxTime)
|
||||
continue;
|
||||
|
||||
ms.push();
|
||||
Vec3d launchedItemLocation = ejector.getLaunchedItemLocation(time);
|
||||
msr.translate(launchedItemLocation.subtract(new Vec3d(te.getPos())));
|
||||
Vec3d itemRotOffset = VecHelper.voxelSpace(0,3,0);
|
||||
Vec3d itemRotOffset = VecHelper.voxelSpace(0, 3, 0);
|
||||
msr.translate(itemRotOffset);
|
||||
msr.rotateY(AngleHelper.horizontalAngle(ejector.getFacing()));
|
||||
msr.rotateX(time * 40);
|
||||
|
|
|
@ -4,6 +4,8 @@ import java.util.ArrayList;
|
|||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
|
@ -20,6 +22,7 @@ import com.simibubi.create.foundation.utility.IntAttached;
|
|||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.foundation.utility.Pair;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat.Chaser;
|
||||
|
@ -33,6 +36,7 @@ import net.minecraft.inventory.EquipmentSlotType;
|
|||
import net.minecraft.item.ElytraItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.NBTUtil;
|
||||
import net.minecraft.network.datasync.EntityDataManager;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.Direction;
|
||||
|
@ -41,7 +45,12 @@ import net.minecraft.util.SoundCategory;
|
|||
import net.minecraft.util.SoundEvents;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.RayTraceContext;
|
||||
import net.minecraft.util.math.RayTraceContext.BlockMode;
|
||||
import net.minecraft.util.math.RayTraceContext.FluidMode;
|
||||
import net.minecraft.util.math.RayTraceResult.Type;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
|
@ -62,6 +71,14 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
boolean launch;
|
||||
State state;
|
||||
|
||||
// item collision
|
||||
@Nullable
|
||||
Pair<Vec3d, BlockPos> earlyTarget;
|
||||
float earlyTargetTime;
|
||||
// runtime stuff
|
||||
int scanCooldown;
|
||||
ItemStack trackedItem;
|
||||
|
||||
public enum State {
|
||||
CHARGED, LAUNCHING, RETRACTING;
|
||||
}
|
||||
|
@ -207,22 +224,30 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
world.markAndNotifyBlock(pos, world.getChunkAt(pos), getBlockState(), getBlockState(), 0);
|
||||
|
||||
if (depotBehaviour.heldItem != null) {
|
||||
launchedItems.add(IntAttached.withZero(heldItemStack));
|
||||
addToLaunchedItems(heldItemStack);
|
||||
depotBehaviour.removeHeldItem();
|
||||
}
|
||||
|
||||
for (TransportedItemStack transportedItemStack : depotBehaviour.incoming)
|
||||
launchedItems.add(IntAttached.withZero(transportedItemStack.stack));
|
||||
addToLaunchedItems(transportedItemStack.stack);
|
||||
depotBehaviour.incoming.clear();
|
||||
|
||||
ItemStackHandler outputs = depotBehaviour.processingOutputBuffer;
|
||||
for (int i = 0; i < outputs.getSlots(); i++) {
|
||||
ItemStack extractItem = outputs.extractItem(i, 64, false);
|
||||
if (!extractItem.isEmpty())
|
||||
launchedItems.add(IntAttached.withZero(extractItem));
|
||||
addToLaunchedItems(extractItem);
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean addToLaunchedItems(ItemStack stack) {
|
||||
if ((!world.isRemote || isVirtual()) && trackedItem == null && scanCooldown == 0) {
|
||||
scanCooldown = AllConfigs.SERVER.kinetics.ejectorScanInterval.get();
|
||||
trackedItem = stack;
|
||||
}
|
||||
return launchedItems.add(IntAttached.withZero(stack));
|
||||
}
|
||||
|
||||
protected Direction getFacing() {
|
||||
BlockState blockState = getBlockState();
|
||||
if (!AllBlocks.WEIGHTED_EJECTOR.has(blockState))
|
||||
|
@ -237,7 +262,10 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
|
||||
boolean doLogic = !world.isRemote || isVirtual();
|
||||
State prevState = state;
|
||||
float maxTime = Math.max(3, (float) launcher.getTotalFlyingTicks());
|
||||
float totalTime = Math.max(3, (float) launcher.getTotalFlyingTicks());
|
||||
|
||||
if (scanCooldown > 0)
|
||||
scanCooldown--;
|
||||
|
||||
if (launch) {
|
||||
launch = false;
|
||||
|
@ -246,7 +274,11 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
|
||||
for (Iterator<IntAttached<ItemStack>> iterator = launchedItems.iterator(); iterator.hasNext();) {
|
||||
IntAttached<ItemStack> intAttached = iterator.next();
|
||||
if (intAttached.exceeds((int) maxTime)) {
|
||||
boolean hit = false;
|
||||
if (intAttached.getSecond() == trackedItem)
|
||||
hit = scanTrajectoryForObstacles(intAttached.getFirst());
|
||||
float maxTime = earlyTarget != null ? Math.min(earlyTargetTime, totalTime) : totalTime;
|
||||
if (hit || intAttached.exceeds((int) maxTime)) {
|
||||
placeItemAtTarget(doLogic, maxTime, intAttached);
|
||||
iterator.remove();
|
||||
}
|
||||
|
@ -276,7 +308,7 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
lidProgress.setValue(0);
|
||||
sendData();
|
||||
}
|
||||
|
||||
|
||||
float value = MathHelper.clamp(lidProgress.getValue() - getWindUpSpeed(), 0, 1);
|
||||
lidProgress.setValue(value);
|
||||
|
||||
|
@ -292,6 +324,31 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
notifyUpdate();
|
||||
}
|
||||
|
||||
private boolean scanTrajectoryForObstacles(int time) {
|
||||
if (time == 0)
|
||||
return false;
|
||||
|
||||
Vec3d source = getLaunchedItemLocation(time);
|
||||
Vec3d target = getLaunchedItemLocation(time + 1);
|
||||
|
||||
BlockRayTraceResult rayTraceBlocks =
|
||||
world.rayTraceBlocks(new RayTraceContext(source, target, BlockMode.COLLIDER, FluidMode.NONE, null));
|
||||
if (rayTraceBlocks.getType() == Type.MISS) {
|
||||
if (earlyTarget != null && earlyTargetTime < time + 1) {
|
||||
earlyTarget = null;
|
||||
earlyTargetTime = 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Vec3d vec = rayTraceBlocks.getHitVec();
|
||||
earlyTarget = Pair.of(vec.add(new Vec3d(rayTraceBlocks.getFace()
|
||||
.getDirectionVec()).scale(.25f)), rayTraceBlocks.getPos());
|
||||
earlyTargetTime = (float) (time + (source.distanceTo(vec) / source.distanceTo(target)));
|
||||
sendData();
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void nudgeEntities() {
|
||||
for (Entity entity : world.getEntitiesWithinAABB(Entity.class,
|
||||
new AxisAlignedBB(pos).grow(-1 / 16f, 0, -1 / 16f)))
|
||||
|
@ -334,6 +391,8 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
protected void placeItemAtTarget(boolean doLogic, float maxTime, IntAttached<ItemStack> intAttached) {
|
||||
if (!doLogic)
|
||||
return;
|
||||
if (intAttached.getSecond() == trackedItem)
|
||||
trackedItem = null;
|
||||
|
||||
DirectBeltInputBehaviour targetOpenInv = getTargetOpenInv();
|
||||
if (targetOpenInv != null) {
|
||||
|
@ -345,7 +404,7 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
.isEmpty())
|
||||
return;
|
||||
|
||||
Vec3d ejectVec = getLaunchedItemLocation(maxTime);
|
||||
Vec3d ejectVec = earlyTarget != null ? earlyTarget.getFirst() : getLaunchedItemLocation(maxTime);
|
||||
Vec3d ejectMotionVec = getLaunchedItemMotion(maxTime);
|
||||
ItemEntity item = new ItemEntity(world, ejectVec.x, ejectVec.y, ejectVec.z, intAttached.getValue());
|
||||
item.setMotion(ejectMotionVec);
|
||||
|
@ -354,8 +413,10 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
}
|
||||
|
||||
public DirectBeltInputBehaviour getTargetOpenInv() {
|
||||
return TileEntityBehaviour.get(world, pos.up(launcher.getVerticalDistance())
|
||||
.offset(getFacing(), Math.max(1, launcher.getHorizontalDistance())), DirectBeltInputBehaviour.TYPE);
|
||||
BlockPos targetPos = earlyTarget != null ? earlyTarget.getSecond()
|
||||
: pos.up(launcher.getVerticalDistance())
|
||||
.offset(getFacing(), Math.max(1, launcher.getHorizontalDistance()));
|
||||
return TileEntityBehaviour.get(world, targetPos, DirectBeltInputBehaviour.TYPE);
|
||||
}
|
||||
|
||||
public Vec3d getLaunchedItemLocation(float time) {
|
||||
|
@ -363,7 +424,8 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
}
|
||||
|
||||
public Vec3d getLaunchedItemMotion(float time) {
|
||||
return launcher.getGlobalVelocity(time, getFacing().getOpposite(), pos);
|
||||
return launcher.getGlobalVelocity(time, getFacing().getOpposite(), pos)
|
||||
.scale(.5f);
|
||||
}
|
||||
|
||||
public void dropFlyingItems() {
|
||||
|
@ -402,6 +464,12 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
compound.put("Lid", lidProgress.writeNBT());
|
||||
compound.put("LaunchedItems",
|
||||
NBTHelper.writeCompoundList(launchedItems, ia -> ia.serializeNBT(ItemStack::serializeNBT)));
|
||||
|
||||
if (earlyTarget != null) {
|
||||
compound.put("EarlyTarget", VecHelper.writeNBT(earlyTarget.getFirst()));
|
||||
compound.put("EarlyTargetPos", NBTUtil.writeBlockPos(earlyTarget.getSecond()));
|
||||
compound.putFloat("EarlyTargetTime", earlyTargetTime);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -421,6 +489,14 @@ public class EjectorTileEntity extends KineticTileEntity {
|
|||
lidProgress.readNBT(compound.getCompound("Lid"), clientPacket);
|
||||
launchedItems = NBTHelper.readCompoundList(compound.getList("LaunchedItems", NBT.TAG_COMPOUND),
|
||||
nbt -> IntAttached.read(nbt, ItemStack::read));
|
||||
|
||||
earlyTarget = null;
|
||||
earlyTargetTime = 0;
|
||||
if (compound.contains("EarlyTarget")) {
|
||||
earlyTarget = Pair.of(VecHelper.readNBT(compound.getList("EarlyTarget", NBT.TAG_DOUBLE)),
|
||||
NBTUtil.readBlockPos(compound.getCompound("EarlyTargetPos")));
|
||||
earlyTargetTime = compound.getFloat("EarlyTargetTime");
|
||||
}
|
||||
}
|
||||
|
||||
public void updateSignal() {
|
||||
|
|
|
@ -4,17 +4,14 @@ import java.lang.ref.WeakReference;
|
|||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.components.saw.SawTileEntity;
|
||||
import com.simibubi.create.content.contraptions.goggles.IHaveHoveringInformation;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltHelper;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
|
||||
import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock.Shape;
|
||||
import com.simibubi.create.content.logistics.packet.FunnelFlapPacket;
|
||||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue;
|
||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||
import com.simibubi.create.foundation.networking.AllPackets;
|
||||
import com.simibubi.create.foundation.render.backend.FastRenderDispatcher;
|
||||
import com.simibubi.create.foundation.render.backend.instancing.IInstanceRendered;
|
||||
|
@ -31,17 +28,12 @@ import net.minecraft.entity.item.ItemEntity;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.state.properties.BlockStateProperties;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.common.util.LazyOptional;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringInformation, IInstanceRendered {
|
||||
|
||||
|
@ -344,48 +336,6 @@ public class FunnelTileEntity extends SmartTileEntity implements IHaveHoveringIn
|
|||
.onFunnelTransfer(world, pos, stack);
|
||||
}
|
||||
|
||||
@Override
|
||||
// Hint players not to use funnels like 0.2 transposers
|
||||
public boolean addToTooltip(List<String> tooltip, boolean isPlayerSneaking) {
|
||||
if (isPlayerSneaking)
|
||||
return false;
|
||||
BlockState state = getBlockState();
|
||||
if (!(state.getBlock() instanceof FunnelBlock))
|
||||
return false;
|
||||
Direction funnelFacing = FunnelBlock.getFunnelFacing(state);
|
||||
|
||||
if (world.getBlockState(pos.offset(funnelFacing.getOpposite()))
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
return false;
|
||||
|
||||
BlockPos inputPos = pos.offset(funnelFacing);
|
||||
TileEntity tileEntity = world.getTileEntity(inputPos);
|
||||
if (tileEntity == null)
|
||||
return false;
|
||||
if (tileEntity instanceof BeltTileEntity)
|
||||
return false;
|
||||
if (tileEntity instanceof SawTileEntity)
|
||||
return false;
|
||||
if (tileEntity instanceof ChuteTileEntity)
|
||||
return false;
|
||||
|
||||
LazyOptional<IItemHandler> capability = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY);
|
||||
if (!capability.isPresent())
|
||||
return false;
|
||||
|
||||
if (funnelFacing == Direction.DOWN) {
|
||||
TooltipHelper.addHint(tooltip, "hint.upward_funnel");
|
||||
return true;
|
||||
}
|
||||
if (!funnelFacing.getAxis()
|
||||
.isHorizontal())
|
||||
return false;
|
||||
|
||||
TooltipHelper.addHint(tooltip, "hint.horizontal_funnel");
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRenderAsTE() {
|
||||
return true;
|
||||
|
|
|
@ -16,6 +16,7 @@ public class CKinetics extends ConfigBase {
|
|||
public ConfigFloat crankHungerMultiplier = f(.01f, 0, 1, "crankHungerMultiplier", Comments.crankHungerMultiplier);
|
||||
public ConfigInt minimumWindmillSails = i(8, 0, "minimumWindmillSails", Comments.minimumWindmillSails);
|
||||
public ConfigInt maxEjectorDistance = i(32, 0, "maxEjectorDistance", Comments.maxEjectorDistance);
|
||||
public ConfigInt ejectorScanInterval = i(120, 10, "ejectorScanInterval", Comments.ejectorScanInterval);
|
||||
|
||||
public ConfigGroup fan = group(1, "encasedFan", "Encased Fan");
|
||||
public ConfigInt fanPushDistance = i(20, 5, "fanPushDistance", Comments.fanPushDistance);
|
||||
|
@ -83,6 +84,7 @@ public class CKinetics extends ConfigBase {
|
|||
static String kineticValidationFrequency = "Game ticks between Kinetic Blocks checking whether their source is still valid.";
|
||||
static String minimumWindmillSails = "Amount of sail-type blocks required for a windmill to assemble successfully.";
|
||||
static String maxEjectorDistance = "Max Distance in blocks a Weighted Ejector can throw";
|
||||
static String ejectorScanInterval = "Time in ticks until the next item launched by an ejector scans blocks for potential collisions";
|
||||
}
|
||||
|
||||
public static enum DeployerAggroSetting {
|
||||
|
|
|
@ -482,10 +482,6 @@
|
|||
"create.hint.hose_pulley": "The targeted body of fluid is considered infinite.",
|
||||
"create.hint.mechanical_arm_no_targets.title": "No Targets",
|
||||
"create.hint.mechanical_arm_no_targets": "It appears this _Mechanical_ _Arm_ has not been assigned any _targets._ Select belts, depots, funnels and other blocks by _right-clicking_ them while _holding_ the _Mechanical_ _Arm_ in your _hand_.",
|
||||
"create.hint.horizontal_funnel.title": "Horizontal Funnels",
|
||||
"create.hint.horizontal_funnel": "cannot transfer between inventories _directly_. Try running a _Mechanical_ _Belt_ or _Depot_ below your funnel to extract items from Inventories.",
|
||||
"create.hint.upward_funnel.title": "Funnels facing upward",
|
||||
"create.hint.upward_funnel": "can only transfer items inserted by _Arms_, fan-powered _Chutes_, or items _thrown_ at them. Try building some _Chutes_ if you are looking to move your items _vertically_.",
|
||||
"create.hint.empty_bearing.title": "Update Bearing",
|
||||
"create.hint.empty_bearing": "_Right-click_ the bearing with an _empty_ _hand_ to _attach_ the structure you just built in front of it.",
|
||||
"create.hint.full_deployer.title": "Deployer Item Overflow",
|
||||
|
|
Loading…
Reference in a new issue