mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-11-14 06:24:12 +01:00
Birbs and Click input
This commit is contained in:
parent
fd99acc00a
commit
203ca6f849
@ -401,18 +401,18 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
e3f618c5b622d21880de858678d1802cbf65e615 assets/create/lang/en_ud.json
|
||||
694cfe3d8fe9793b7ac0fbc7bbd3cf6bf455bf92 assets/create/lang/en_us.json
|
||||
499d461cf16f5a94049fbbe9eb758e0eaa19fa83 assets/create/lang/unfinished/de_de.json
|
||||
8e486714ce38b6702fc614f4ba7cd34e003800aa assets/create/lang/unfinished/es_mx.json
|
||||
53f2918966bd9c045314a02ff0f5439720969087 assets/create/lang/unfinished/fr_fr.json
|
||||
073ead0ceacdcf666fece6a78071a36fa9c3d356 assets/create/lang/unfinished/it_it.json
|
||||
0967bfc8888598329563ff6ee419038aef03df0a assets/create/lang/unfinished/ja_jp.json
|
||||
50e210e32d4a55561ffed5a62ac10802107b719e assets/create/lang/unfinished/ko_kr.json
|
||||
40784b923f0defdecbd35f73c7d7ead9c3fe9d8a assets/create/lang/unfinished/nl_nl.json
|
||||
ad719b1559c58c9e7c1b22023c5e686d4fa1ca19 assets/create/lang/unfinished/pt_br.json
|
||||
1190f9152de89c7e0b7561c3cdddae6fe2f1aa19 assets/create/lang/unfinished/ru_ru.json
|
||||
bbcd8d37a18c779dfcca9aeaeb2b2d101a4b4fe2 assets/create/lang/unfinished/zh_cn.json
|
||||
be270f1d2bc61ebd4a9f1be5b00daa56947de2d7 assets/create/lang/unfinished/zh_tw.json
|
||||
1c2c42b885b5d2b23f452d1550fb6c3a3a7ab952 assets/create/lang/en_us.json
|
||||
90fb5c8d2b384d93c3bbc2693103be18a0ff3dc7 assets/create/lang/unfinished/de_de.json
|
||||
3789e356240833be498849723cde53f12553c889 assets/create/lang/unfinished/es_mx.json
|
||||
89aa38cb8250cd56dff4ae00d1491aea7e8aea36 assets/create/lang/unfinished/fr_fr.json
|
||||
61e46061b0e9487f381c32a6c1004aacdb0be2b1 assets/create/lang/unfinished/it_it.json
|
||||
70d3beec87b4e461b02b38feec572fcf92ffad35 assets/create/lang/unfinished/ja_jp.json
|
||||
d77cefebb91bce27fc098d4e5a81a39c5b3f10de assets/create/lang/unfinished/ko_kr.json
|
||||
6f7f629f4e8597c39f1cb259359e451255b31864 assets/create/lang/unfinished/nl_nl.json
|
||||
0fd66b2ff7124cff646f32cebcd679d5e16ed805 assets/create/lang/unfinished/pt_br.json
|
||||
5cf5aae29b48a7066c98dfbb130f58dcca7be5f6 assets/create/lang/unfinished/ru_ru.json
|
||||
d1afca478f7ceaa739220873cfdff4f2caa3b3fd assets/create/lang/unfinished/zh_cn.json
|
||||
ee8599a8bf1c4fac02dc9501de5d08f58b19f395 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
|
||||
|
@ -1797,14 +1797,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "Pondering about...",
|
||||
"create.ponder.shared.more_shared": "This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "Das Y axis",
|
||||
@ -1814,11 +1811,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1119",
|
||||
"_": "Missing Localizations: 1124",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -1798,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1815,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 910",
|
||||
"_": "Missing Localizations: 915",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 690",
|
||||
"_": "Missing Localizations: 695",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "Statistiques cinétiques:",
|
||||
"create.gui.goggles.at_current_speed": "À la vitesse actuelle",
|
||||
"create.gui.goggles.pole_length": "Longueur de la barre",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "Informations sur la jauge:",
|
||||
"create.gui.speedometer.title": "Vitesse de rotation",
|
||||
"create.gui.stressometer.title": "Stress du réseau",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 27",
|
||||
"_": "Missing Localizations: 32",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "Statistiche cinetiche:",
|
||||
"create.gui.goggles.at_current_speed": "Alla velocità attuale",
|
||||
"create.gui.goggles.pole_length": "Lunghezza palo:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "Informazioni sul calibro:",
|
||||
"create.gui.speedometer.title": "Velocità di rotazione",
|
||||
"create.gui.stressometer.title": "Stress della rete",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 36",
|
||||
"_": "Missing Localizations: 41",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "動力の統計:",
|
||||
"create.gui.goggles.at_current_speed": "現在の速度",
|
||||
"create.gui.goggles.pole_length": "ポールの長さ:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "計器の情報:",
|
||||
"create.gui.speedometer.title": "回転速度",
|
||||
"create.gui.stressometer.title": "ネットワークの応力",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 79",
|
||||
"_": "Missing Localizations: 84",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "가동 상태:",
|
||||
"create.gui.goggles.at_current_speed": "현재 에너지량",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "게이지 정보:",
|
||||
"create.gui.speedometer.title": "회전 속도",
|
||||
"create.gui.stressometer.title": "네트워크 부하",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1179",
|
||||
"_": "Missing Localizations: 1184",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1245",
|
||||
"_": "Missing Localizations: 1250",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 29",
|
||||
"_": "Missing Localizations: 34",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "Кинетическая статистика:",
|
||||
"create.gui.goggles.at_current_speed": "На текущей скорости",
|
||||
"create.gui.goggles.pole_length": "Длина поршня",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "Калибровочная информация:",
|
||||
"create.gui.speedometer.title": "Скорость вращения",
|
||||
"create.gui.stressometer.title": "Сетевой момент",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 27",
|
||||
"_": "Missing Localizations: 32",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "动力学状态:",
|
||||
"create.gui.goggles.at_current_speed": "当前速度应力值",
|
||||
"create.gui.goggles.pole_length": "活塞杆长度:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "仪表信息:",
|
||||
"create.gui.speedometer.title": "旋转速度",
|
||||
"create.gui.stressometer.title": "网络应力",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 32",
|
||||
"_": "Missing Localizations: 37",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -823,6 +823,12 @@
|
||||
"create.gui.goggles.kinetic_stats": "機械學狀態:",
|
||||
"create.gui.goggles.at_current_speed": "現在速度動能值",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
|
||||
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
|
||||
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
|
||||
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
|
||||
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
|
||||
"create.gui.gauge.info_header": "儀表訊息:",
|
||||
"create.gui.speedometer.title": "旋轉速度",
|
||||
"create.gui.stressometer.title": "網路動能",
|
||||
@ -1792,14 +1798,11 @@
|
||||
|
||||
"create.ponder.hold_to_ponder": "UNLOCALIZED: Hold [%1$s] to Ponder",
|
||||
"create.ponder.pondering": "UNLOCALIZED: Pondering about...",
|
||||
"create.ponder.shared.more_shared": "UNLOCALIZED: This is Shared stuff",
|
||||
"create.ponder.shared.when_wrenched": "UNLOCALIZED: When Wrenched",
|
||||
"create.ponder.cogwheel.scene_0.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_1.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.cogwheel.scene_2.title": "UNLOCALIZED: My First Ponder Story, Parrots",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts seem to relay rotation in a straight line.",
|
||||
"create.ponder.shared.sneak_and": "UNLOCALIZED: Sneak +",
|
||||
"create.ponder.shared.ctrl_and": "UNLOCALIZED: Ctrl +",
|
||||
"create.ponder.shaft.scene_0.shaft_relay": "UNLOCALIZED: Shafts will relay rotation in a straight line.",
|
||||
"create.ponder.shaft.scene_0.title": "UNLOCALIZED: Relaying rotational force using Shafts",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: I could use Brass or Andesite Casing to hide them.",
|
||||
"create.ponder.shaft.scene_1.shaft_can_be_encased": "UNLOCALIZED: Andesite or Brass Casing can be used to encase them.",
|
||||
"create.ponder.shaft.scene_1.title": "UNLOCALIZED: Encasing Shafts",
|
||||
"create.ponder.brass_hand.scene_0.x": "UNLOCALIZED: Das X axis",
|
||||
"create.ponder.brass_hand.scene_0.y": "UNLOCALIZED: Das Y axis",
|
||||
@ -1809,11 +1812,13 @@
|
||||
"create.ponder.brass_hand.scene_1.title": "UNLOCALIZED: Debug Scene 2: Changing Blocks",
|
||||
"create.ponder.brass_hand.scene_2.title": "UNLOCALIZED: Debug Scene 3: Showing Fluids",
|
||||
"create.ponder.brass_hand.scene_2.fluids": "UNLOCALIZED: Fluid rendering test.",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds2": "UNLOCALIZED: Blocks outside of the base plate \n\nIgnored by scaling, thanks to configureBasePlate()",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate",
|
||||
"create.ponder.brass_hand.scene_3.outofbounds": "UNLOCALIZED: Blocks outside of the base plate do not affect scaling",
|
||||
"create.ponder.brass_hand.scene_3.thanks_to_configureBasePlate": "UNLOCALIZED: configureBasePlate() makes sure of that.",
|
||||
"create.ponder.brass_hand.scene_3.title": "UNLOCALIZED: Debug Scene 4: Out of bounds / configureBasePlate",
|
||||
"create.ponder.brass_hand.scene_4.incoming": "UNLOCALIZED: Incoming...",
|
||||
"create.ponder.brass_hand.scene_4.title": "UNLOCALIZED: Debug Scene 5: Emitting particles",
|
||||
"create.ponder.brass_hand.scene_5.title": "UNLOCALIZED: Debug Scene 6: Basic player interaction",
|
||||
"create.ponder.brass_hand.scene_6.title": "UNLOCALIZED: Debug Scene 7: Birbs",
|
||||
|
||||
"_": "Thank you for translating Create!"
|
||||
|
||||
|
@ -23,26 +23,34 @@ public class SpeedGaugeTileEntity extends GaugeTileEntity{
|
||||
public void onSpeedChanged(float prevSpeed) {
|
||||
super.onSpeedChanged(prevSpeed);
|
||||
float speed = Math.abs(getSpeed());
|
||||
float medium = AllConfigs.SERVER.kinetics.mediumSpeed.get().floatValue();
|
||||
float fast = AllConfigs.SERVER.kinetics.fastSpeed.get().floatValue();
|
||||
float max = AllConfigs.SERVER.kinetics.maxRotationSpeed.get().floatValue();
|
||||
color = ColorHelper.mixColors(SpeedLevel.of(speed).getColor(), 0xffffff, .25f);
|
||||
|
||||
color = speed == 0 ? 0x333333
|
||||
: ColorHelper.mixColors(SpeedLevel.of(speed)
|
||||
.getColor(), 0xffffff, .25f);
|
||||
if (speed == 69)
|
||||
AllTriggers.triggerForNearbyPlayers(AllTriggers.SPEED_READ, world, pos, 6,
|
||||
GogglesItem::canSeeParticles);
|
||||
if (speed == 0) {
|
||||
dialTarget = 0;
|
||||
color = 0x333333;
|
||||
} else if (speed < medium) {
|
||||
dialTarget = MathHelper.lerp(speed / medium, 0, .45f);
|
||||
} else if (speed < fast) {
|
||||
dialTarget = MathHelper.lerp((speed - medium) / (fast - medium), .45f, .75f);
|
||||
} else {
|
||||
dialTarget = MathHelper.lerp((speed - fast) / (max - fast), .75f, 1.125f);
|
||||
AllTriggers.triggerForNearbyPlayers(AllTriggers.SPEED_READ, world, pos, 6, GogglesItem::canSeeParticles);
|
||||
|
||||
dialTarget = getDialTarget(speed);
|
||||
markDirty();
|
||||
}
|
||||
|
||||
markDirty();
|
||||
public static float getDialTarget(float speed) {
|
||||
float medium = AllConfigs.SERVER.kinetics.mediumSpeed.get()
|
||||
.floatValue();
|
||||
float fast = AllConfigs.SERVER.kinetics.fastSpeed.get()
|
||||
.floatValue();
|
||||
float max = AllConfigs.SERVER.kinetics.maxRotationSpeed.get()
|
||||
.floatValue();
|
||||
float target = 0;
|
||||
if (speed == 0)
|
||||
target = 0;
|
||||
else if (speed < medium)
|
||||
target = MathHelper.lerp(speed / medium, 0, .45f);
|
||||
else if (speed < fast)
|
||||
target = MathHelper.lerp((speed - medium) / (fast - medium), .45f, .75f);
|
||||
else
|
||||
target = MathHelper.lerp((speed - fast) / (max - fast), .75f, 1.125f);
|
||||
return target;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -79,6 +79,9 @@ public enum AllGuiTextures {
|
||||
INDICATOR_YELLOW("widgets.png", 54, 18, 18, 6),
|
||||
INDICATOR_RED("widgets.png", 72, 18, 18, 6),
|
||||
|
||||
SPEECH_TOOLTIP("widgets.png", 0, 24, 8, 8),
|
||||
SPEECH_TOOLTIP_HIGHLIGHT("widgets.png", 8, 24, 8, 8),
|
||||
|
||||
;
|
||||
|
||||
public static final int FONT_COLOR = 0x575F7A;
|
||||
|
@ -70,7 +70,10 @@ public class AllIcons {
|
||||
I_REPLACE = next(),
|
||||
I_CLEAR = next(),
|
||||
I_OVERLAY = next(),
|
||||
I_FLATTEN = next();
|
||||
I_FLATTEN = next(),
|
||||
I_LMB = next(),
|
||||
I_SCROLL = next(),
|
||||
I_RMB = next();
|
||||
|
||||
public static final AllIcons
|
||||
I_TOOL_DEPLOY = newRow(),
|
||||
|
@ -23,7 +23,6 @@ import net.minecraft.nbt.CompressedStreamTools;
|
||||
import net.minecraft.nbt.NBTSizeTracker;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3i;
|
||||
import net.minecraft.world.gen.feature.template.PlacementSettings;
|
||||
import net.minecraft.world.gen.feature.template.Template;
|
||||
|
||||
|
@ -14,6 +14,7 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
||||
import com.simibubi.create.foundation.ponder.content.PonderPalette;
|
||||
import com.simibubi.create.foundation.ponder.elements.InputWindowElement;
|
||||
import com.simibubi.create.foundation.ponder.elements.ParrotElement;
|
||||
import com.simibubi.create.foundation.ponder.elements.PonderOverlayElement;
|
||||
import com.simibubi.create.foundation.ponder.elements.PonderSceneElement;
|
||||
@ -21,12 +22,15 @@ import com.simibubi.create.foundation.ponder.elements.WorldSectionElement;
|
||||
import com.simibubi.create.foundation.ponder.instructions.CreateParrotInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.DelayInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.DisplayWorldSectionInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction.Emitter;
|
||||
import com.simibubi.create.foundation.ponder.instructions.HideAllInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.MarkAsFinishedInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.MovePoiInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.ReplaceBlocksInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.RotateSceneInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.ShowCompleteSchematicInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.ShowInputInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.TextInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.TileEntityDataInstruction;
|
||||
import com.simibubi.create.foundation.renderState.SuperRenderTypeBuffer;
|
||||
@ -41,6 +45,7 @@ import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||
import net.minecraft.client.renderer.Matrix4f;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.Vector4f;
|
||||
import net.minecraft.particles.RedstoneParticleData;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@ -360,7 +365,7 @@ public class PonderScene {
|
||||
}
|
||||
|
||||
public SceneBuilder replaceBlocks(Select selection, BlockState state) {
|
||||
return addInstruction(new ReplaceBlocksInstruction(selection, state, false));
|
||||
return addInstruction(new ReplaceBlocksInstruction(selection, state, true));
|
||||
}
|
||||
|
||||
public SceneBuilder setKineticSpeed(Select selection, float speed) {
|
||||
@ -373,17 +378,11 @@ public class PonderScene {
|
||||
|
||||
public SceneBuilder modifyKineticSpeed(Select selection, UnaryOperator<Float> speedFunc) {
|
||||
addInstruction(new TileEntityDataInstruction(selection, SpeedGaugeTileEntity.class, nbt -> {
|
||||
if (!nbt.contains("Speed"))
|
||||
return nbt;
|
||||
float newSpeed = speedFunc.apply(nbt.getFloat("Speed"));
|
||||
// TODO speed gauge consistency
|
||||
nbt.putFloat("Value", Math.abs(newSpeed) / 256f);
|
||||
nbt.putFloat("Value", SpeedGaugeTileEntity.getDialTarget(newSpeed));
|
||||
return nbt;
|
||||
}, false));
|
||||
|
||||
return addInstruction(new TileEntityDataInstruction(selection, KineticTileEntity.class, nbt -> {
|
||||
if (!nbt.contains("Speed"))
|
||||
return nbt;
|
||||
nbt.putFloat("Speed", speedFunc.apply(nbt.getFloat("Speed")));
|
||||
return nbt;
|
||||
}, false));
|
||||
@ -396,19 +395,42 @@ public class PonderScene {
|
||||
}, false));
|
||||
}
|
||||
|
||||
public SceneBuilder createParrotSpinningOn(BlockPos pos, Direction fadeInDirection) {
|
||||
return addInstruction(new CreateParrotInstruction(15, fadeInDirection,
|
||||
ParrotElement.spinOnComponent(new Vec3d(pos).add(.5, 0, .5), pos.down())));
|
||||
}
|
||||
|
||||
public SceneBuilder createParrotLookingAtPOI(Vec3d location, Direction fadeInDirection) {
|
||||
return addInstruction(new CreateParrotInstruction(15, fadeInDirection, ParrotElement.lookAtPOI(location)));
|
||||
}
|
||||
|
||||
public SceneBuilder movePOI(Vec3d location) {
|
||||
return addInstruction(new MovePoiInstruction(location));
|
||||
}
|
||||
|
||||
public SceneBuilder showControls(InputWindowElement element, int duration) {
|
||||
return addInstruction(new ShowInputInstruction(element, duration));
|
||||
}
|
||||
|
||||
public SceneBuilder emitParticles(Vec3d location, Emitter emitter, float amountPerCycle, int cycles) {
|
||||
return addInstruction(new EmitParticlesInstruction(location, emitter, amountPerCycle, cycles));
|
||||
}
|
||||
|
||||
public SceneBuilder indicateSuccess(BlockPos pos) {
|
||||
return addInstruction(new EmitParticlesInstruction(VecHelper.getCenterOf(pos),
|
||||
Emitter.withinBlockSpace(new RedstoneParticleData(.5f, 1, .7f, 1), new Vec3d(0, 0, 0)), 20, 2));
|
||||
}
|
||||
|
||||
public SceneBuilder birbOnTurntable(BlockPos pos) {
|
||||
return addInstruction(new CreateParrotInstruction(10, Direction.DOWN,
|
||||
ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos), pos)));
|
||||
}
|
||||
|
||||
public SceneBuilder birbOnSpinnyShaft(BlockPos pos) {
|
||||
return addInstruction(
|
||||
new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.spinOnComponent(VecHelper.getCenterOf(pos)
|
||||
.add(0, 0.5, 0), pos)));
|
||||
}
|
||||
|
||||
public SceneBuilder birbLookingAtPOI(Vec3d location) {
|
||||
return addInstruction(new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.lookAtPOI(location)));
|
||||
}
|
||||
|
||||
public SceneBuilder birbPartying(Vec3d location) {
|
||||
return addInstruction(new CreateParrotInstruction(10, Direction.DOWN, ParrotElement.dance(location)));
|
||||
}
|
||||
|
||||
public SceneBuilder addInstruction(PonderInstruction instruction) {
|
||||
schedule.add(instruction);
|
||||
return this;
|
||||
@ -420,6 +442,10 @@ public class PonderScene {
|
||||
return VecHelper.getCenterOf(new BlockPos(x, y, z));
|
||||
}
|
||||
|
||||
public Vec3d topOf(int x, int y, int z) {
|
||||
return new Vec3d(x + .5, y + 1, z + .5);
|
||||
}
|
||||
|
||||
public Vec3d vector(double x, double y, double z) {
|
||||
return new Vec3d(x, y, z);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.simibubi.create.foundation.gui.AbstractSimiScreen;
|
||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||
import com.simibubi.create.foundation.gui.AllIcons;
|
||||
import com.simibubi.create.foundation.ponder.content.PonderIndex;
|
||||
import com.simibubi.create.foundation.ponder.ui.PonderButton;
|
||||
@ -15,6 +16,7 @@ import com.simibubi.create.foundation.utility.ColorHelper;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.LerpedFloat;
|
||||
import com.simibubi.create.foundation.utility.LerpedFloat.Chaser;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
|
||||
import net.minecraft.client.GameSettings;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@ -153,7 +155,8 @@ public class PonderUI extends AbstractSimiScreen {
|
||||
MutableBoundingBox bounds = story.getBounds();
|
||||
|
||||
RenderSystem.pushMatrix();
|
||||
RenderSystem.multMatrix(ms.peek().getModel());
|
||||
RenderSystem.multMatrix(ms.peek()
|
||||
.getModel());
|
||||
RenderSystem.scaled(-1 / 16d, -1 / 16d, 1 / 16d);
|
||||
RenderSystem.translated(1, -8, -1 / 64f);
|
||||
|
||||
@ -229,6 +232,7 @@ public class PonderUI extends AbstractSimiScreen {
|
||||
right.flash();
|
||||
else
|
||||
right.dim();
|
||||
|
||||
}
|
||||
|
||||
protected void lowerButtonGroup(int index, int mouseX, int mouseY, float fade, AllIcons icon, KeyBinding key) {
|
||||
@ -320,7 +324,72 @@ public class PonderUI extends AbstractSimiScreen {
|
||||
}
|
||||
|
||||
public static void renderBox(int x, int y, int w, int h, boolean highlighted) {
|
||||
renderBox(x, y, w, h, 0xdd000000, highlighted ? 0x70ffffff : 0x30eebb00, highlighted ? 0x30ffffff : 0x10eebb00);
|
||||
renderBox(x, y, w, h, 0xff000000, highlighted ? 0xf0ffeedd : 0x40ffeedd, highlighted ? 0x60ffeedd : 0x20ffeedd);
|
||||
}
|
||||
|
||||
public static void renderSpeechBox(int x, int y, int w, int h, boolean highlighted, Pointing pointing,
|
||||
boolean returnWithLocalTransform) {
|
||||
if (!returnWithLocalTransform)
|
||||
RenderSystem.pushMatrix();
|
||||
|
||||
int boxX = x;
|
||||
int boxY = y;
|
||||
int divotX = x;
|
||||
int divotY = y;
|
||||
int divotRotation = 0;
|
||||
int divotSize = 8;
|
||||
int distance = 1;
|
||||
int divotRadius = divotSize / 2;
|
||||
|
||||
switch (pointing) {
|
||||
default:
|
||||
case DOWN:
|
||||
divotRotation = 0;
|
||||
boxX -= w / 2;
|
||||
boxY -= h + divotSize + 1 + distance;
|
||||
divotX -= divotRadius;
|
||||
divotY -= divotSize + distance;
|
||||
break;
|
||||
case LEFT:
|
||||
divotRotation = 90;
|
||||
boxX += divotSize + 1 + distance;
|
||||
boxY -= h / 2;
|
||||
divotX += distance;
|
||||
divotY -= divotRadius;
|
||||
break;
|
||||
case RIGHT:
|
||||
divotRotation = 270;
|
||||
boxX -= w + divotSize + 1 + distance;
|
||||
boxY -= h / 2;
|
||||
divotX -= divotSize + distance;
|
||||
divotY -= divotRadius;
|
||||
break;
|
||||
case UP:
|
||||
divotRotation = 180;
|
||||
boxX -= w / 2;
|
||||
boxY += divotSize + 1 + distance;
|
||||
divotX -= divotRadius;
|
||||
divotY += distance;
|
||||
break;
|
||||
}
|
||||
|
||||
renderBox(boxX, boxY, w, h, highlighted);
|
||||
|
||||
RenderSystem.pushMatrix();
|
||||
AllGuiTextures toRender = highlighted ? AllGuiTextures.SPEECH_TOOLTIP_HIGHLIGHT : AllGuiTextures.SPEECH_TOOLTIP;
|
||||
RenderSystem.translated(divotX + divotRadius, divotY + divotRadius, 10);
|
||||
RenderSystem.rotatef(divotRotation, 0, 0, 1);
|
||||
RenderSystem.translated(-divotRadius, -divotRadius, 0);
|
||||
toRender.draw(0, 0);
|
||||
RenderSystem.popMatrix();
|
||||
|
||||
if (returnWithLocalTransform) {
|
||||
RenderSystem.translated(boxX, boxY, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
RenderSystem.popMatrix();
|
||||
|
||||
}
|
||||
|
||||
public static void renderBox(int x, int y, int w, int h, int backgroundColor, int borderColorStart,
|
||||
|
@ -131,6 +131,9 @@ public class PonderWorld extends SchematicWorld {
|
||||
|
||||
public void addBlockDestroyEffects(BlockPos pos, BlockState state) {
|
||||
VoxelShape voxelshape = state.getShape(this, pos);
|
||||
if (voxelshape.isEmpty())
|
||||
return;
|
||||
|
||||
AxisAlignedBB bb = voxelshape.getBoundingBox();
|
||||
double d1 = Math.min(1.0D, bb.maxX - bb.minX);
|
||||
double d2 = Math.min(1.0D, bb.maxY - bb.minY);
|
||||
|
@ -1,42 +0,0 @@
|
||||
package com.simibubi.create.foundation.ponder.content;
|
||||
|
||||
import com.simibubi.create.foundation.ponder.PonderStoryBoard;
|
||||
import com.simibubi.create.foundation.ponder.Select;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder.SceneBuildingUtil;
|
||||
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class CogwheelStory extends PonderStoryBoard {
|
||||
|
||||
public CogwheelStory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSchematicName() {
|
||||
return "cogwheel/first";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStoryTitle() {
|
||||
return "My First Ponder Story, Parrots";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void program(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
|
||||
scene.movePOI(new Vec3d(3.5, 4, 4.5));
|
||||
scene.showBasePlate();
|
||||
scene.idle(10);
|
||||
|
||||
scene.createParrotSpinningOn(new BlockPos(1, 4, 2), Direction.DOWN);
|
||||
scene.showSection(util.layersFrom(1), Direction.DOWN);
|
||||
|
||||
scene.idle(10);
|
||||
scene.rotateCameraY(180);
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -11,14 +11,18 @@ import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder.SceneBuildingUtil;
|
||||
import com.simibubi.create.foundation.ponder.PonderStoryBoard;
|
||||
import com.simibubi.create.foundation.ponder.Select;
|
||||
import com.simibubi.create.foundation.ponder.elements.InputWindowElement;
|
||||
import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction;
|
||||
import com.simibubi.create.foundation.ponder.instructions.EmitParticlesInstruction.Emitter;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
import com.tterrag.registrate.util.entry.ItemEntry;
|
||||
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.particles.ParticleTypes;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public abstract class DebugScenes extends PonderStoryBoard {
|
||||
@ -33,6 +37,8 @@ public abstract class DebugScenes extends PonderStoryBoard {
|
||||
PonderRegistry.addStoryBoard(item, new FluidsScene(++i));
|
||||
PonderRegistry.addStoryBoard(item, new OffScreenScene(++i));
|
||||
PonderRegistry.addStoryBoard(item, new ParticlesScene(++i));
|
||||
PonderRegistry.addStoryBoard(item, new ControlsScene(++i));
|
||||
PonderRegistry.addStoryBoard(item, new BirbScene(++i));
|
||||
}
|
||||
|
||||
public DebugScenes(int index) {
|
||||
@ -64,7 +70,6 @@ public abstract class DebugScenes extends PonderStoryBoard {
|
||||
scene.showBasePlate();
|
||||
scene.idle(10);
|
||||
scene.showSection(util.layersFrom(1), Direction.DOWN);
|
||||
// scene.showTargetedText(WHITE, new Vec3d(1.5, 1.5, 1.5), "coordinate", "Schematic orientation: ", 40);
|
||||
|
||||
scene.idle(10);
|
||||
scene.showSelectionWithText(PonderPalette.RED, Select.fromTo(2, 1, 1, 4, 1, 1), "x", "Das X axis", 20);
|
||||
@ -96,9 +101,10 @@ public abstract class DebugScenes extends PonderStoryBoard {
|
||||
scene.idle(10);
|
||||
scene.showText(WHITE, 10, "change_blocks", "Blocks can be modified", 1000);
|
||||
scene.idle(20);
|
||||
scene.replaceBlocks(Select.fromTo(1, 1, 2, 2, 2, 4), AllBlocks.REFINED_RADIANCE_CASING.getDefaultState());
|
||||
scene.replaceBlocks(Select.fromTo(1, 1, 3, 2, 2, 4), AllBlocks.REFINED_RADIANCE_CASING.getDefaultState());
|
||||
scene.idle(10);
|
||||
scene.replaceBlocks(Select.pos(3, 1, 1), Blocks.GOLD_BLOCK.getDefaultState());
|
||||
scene.rotateCameraY(180);
|
||||
scene.markAsFinished();
|
||||
}
|
||||
|
||||
@ -131,6 +137,36 @@ public abstract class DebugScenes extends PonderStoryBoard {
|
||||
|
||||
}
|
||||
|
||||
static class OffScreenScene extends DebugScenes {
|
||||
|
||||
public OffScreenScene(int index) {
|
||||
super(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void program(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.configureBasePlate(1, 0, 6);
|
||||
scene.showBasePlate();
|
||||
Select out1 = Select.fromTo(7, 0, 0, 8, 0, 5);
|
||||
Select out2 = Select.fromTo(0, 0, 0, 0, 0, 5);
|
||||
scene.idle(10);
|
||||
scene.showSection(Select.compound(util.layersFrom(1), out1, out2), Direction.DOWN);
|
||||
scene.idle(10);
|
||||
|
||||
scene.showSelectionWithText(PonderPalette.BLACK, out1, "outofbounds",
|
||||
"Blocks outside of the base plate do not affect scaling", 100);
|
||||
scene.showSelectionWithText(PonderPalette.BLACK, out2, "thanks_to_configureBasePlate",
|
||||
"configureBasePlate() makes sure of that.", 100);
|
||||
scene.markAsFinished();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTitle() {
|
||||
return "Out of bounds / configureBasePlate";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class ParticlesScene extends DebugScenes {
|
||||
|
||||
public ParticlesScene(int index) {
|
||||
@ -165,34 +201,94 @@ public abstract class DebugScenes extends PonderStoryBoard {
|
||||
|
||||
}
|
||||
|
||||
static class OffScreenScene extends DebugScenes {
|
||||
static class ControlsScene extends DebugScenes {
|
||||
|
||||
public OffScreenScene(int index) {
|
||||
public ControlsScene(int index) {
|
||||
super(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void program(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.configureBasePlate(1, 0, 6);
|
||||
scene.showBasePlate();
|
||||
Select out1 = Select.fromTo(7, 0, 0, 8, 0, 5);
|
||||
Select out2 = Select.fromTo(0, 0, 0, 0, 0, 5);
|
||||
scene.idle(10);
|
||||
scene.showSection(Select.compound(util.layersFrom(1), out1, out2), Direction.DOWN);
|
||||
scene.showSection(util.layer(1), Direction.DOWN);
|
||||
scene.idle(4);
|
||||
scene.showSection(util.layer(2), Direction.DOWN);
|
||||
scene.idle(4);
|
||||
scene.showSection(util.layer(3), Direction.DOWN);
|
||||
scene.idle(10);
|
||||
|
||||
scene.showSelectionWithText(PonderPalette.BLACK, out1, "outofbounds",
|
||||
"Blocks outside of the base plate do not affect scaling", 100);
|
||||
scene.showSelectionWithText(PonderPalette.BLACK, out2, "thanks_to_configureBasePlate",
|
||||
"configureBasePlate() makes sure of that.", 100);
|
||||
scene.markAsFinished();
|
||||
scene.showControls(new InputWindowElement(util.topOf(3, 1, 1), Pointing.DOWN).rightClick()
|
||||
.whileSneaking()
|
||||
.withWrench(), 40);
|
||||
scene.idle(8);
|
||||
scene.replaceBlocks(Select.pos(3, 1, 1), AllBlocks.SHAFT.getDefaultState());
|
||||
scene.idle(20);
|
||||
|
||||
scene.showControls(new InputWindowElement(new Vec3d(1, 4.5, 3.5), Pointing.LEFT).rightClick()
|
||||
.withItem(new ItemStack(Blocks.POLISHED_ANDESITE)), 20);
|
||||
scene.idle(4);
|
||||
scene.showSection(util.layer(4), Direction.DOWN);
|
||||
scene.idle(8);
|
||||
|
||||
scene.showControls(new InputWindowElement(new Vec3d(2.5, 1.5, 3), Pointing.UP).whileCTRL()
|
||||
.scroll()
|
||||
.withWrench(), 40);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTitle() {
|
||||
return "Out of bounds / configureBasePlate";
|
||||
return "Basic player interaction";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static class BirbScene extends DebugScenes {
|
||||
|
||||
public BirbScene(int index) {
|
||||
super(index);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void program(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.showBasePlate();
|
||||
scene.idle(10);
|
||||
scene.showSection(util.layersFrom(1), Direction.DOWN);
|
||||
scene.idle(10);
|
||||
BlockPos pos = new BlockPos(1, 2, 3);
|
||||
scene.birbOnSpinnyShaft(pos);
|
||||
scene.showTargetedText(PonderPalette.GREEN, util.topOf(1, 2, 3), "birbs_interesting",
|
||||
"More birbs = More interesting", 100);
|
||||
scene.idle(10);
|
||||
scene.birbPartying(util.topOf(0, 1, 2));
|
||||
scene.idle(10);
|
||||
|
||||
scene.movePOI(Vec3d.ZERO);
|
||||
scene.birbLookingAtPOI(util.centerOf(3, 1, 3)
|
||||
.add(0, 0.25f, 0));
|
||||
scene.idle(20);
|
||||
|
||||
scene.replaceBlocks(Select.pos(4, 1, 0), Blocks.GOLD_BLOCK.getDefaultState());
|
||||
scene.movePOI(util.centerOf(4, 1, 0));
|
||||
scene.idle(20);
|
||||
|
||||
scene.replaceBlocks(Select.pos(0, 1, 4), Blocks.GOLD_BLOCK.getDefaultState());
|
||||
scene.movePOI(util.centerOf(0, 1, 4));
|
||||
scene.showTargetedText(PonderPalette.FAST, util.centerOf(0, 1, 4), "poi", "Point of Interest", 20);
|
||||
scene.idle(20);
|
||||
|
||||
scene.replaceBlocks(Select.pos(4, 1, 0), Blocks.AIR.getDefaultState());
|
||||
scene.movePOI(util.centerOf(4, 1, 0));
|
||||
scene.idle(20);
|
||||
|
||||
scene.replaceBlocks(Select.pos(0, 1, 4), Blocks.AIR.getDefaultState());
|
||||
scene.movePOI(util.centerOf(0, 1, 4));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTitle() {
|
||||
return "Birbs";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -14,10 +14,6 @@ public class PonderIndex {
|
||||
public static void register() {
|
||||
// Register storyboards here (Requires re-launch)
|
||||
|
||||
PonderRegistry.addStoryBoard(AllBlocks.COGWHEEL, new CogwheelStory());
|
||||
PonderRegistry.addStoryBoard(AllBlocks.COGWHEEL, new CogwheelStory());
|
||||
PonderRegistry.addStoryBoard(AllBlocks.COGWHEEL, new CogwheelStory());
|
||||
|
||||
PonderRegistry.addStoryBoard(AllBlocks.SHAFT, new ShaftAsRelay());
|
||||
PonderRegistry.addStoryBoard(AllBlocks.SHAFT, new ShaftsCanBeEncased());
|
||||
|
||||
|
@ -10,7 +10,6 @@ import com.simibubi.create.foundation.ponder.Select;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.math.Vec3i;
|
||||
|
||||
class ShaftAsRelay extends PonderStoryBoard {
|
||||
|
||||
@ -26,25 +25,29 @@ class ShaftAsRelay extends PonderStoryBoard {
|
||||
|
||||
@Override
|
||||
public void program(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.showBasePlate();
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showSection(util.layer(0), Direction.UP);
|
||||
|
||||
Select encased = util.column(4, 2);
|
||||
Select gauge = util.column(0, 2);
|
||||
Select shafts = Select.cuboid(new BlockPos(1, 1, 2), new Vec3i(2, 0, 0));
|
||||
|
||||
scene.idle(10);
|
||||
scene.showSection(encased, Direction.DOWN);
|
||||
scene.idle(10);
|
||||
scene.showSection(gauge, Direction.DOWN);
|
||||
Select gauge = Select.pos(0, 1, 2);
|
||||
scene.showSection(gauge, Direction.UP);
|
||||
scene.setKineticSpeed(gauge, 0);
|
||||
|
||||
scene.idle(20);
|
||||
scene.showSection(shafts, Direction.DOWN);
|
||||
scene.setKineticSpeed(gauge, -112);
|
||||
scene.idle(5);
|
||||
scene.showSection(Select.pos(5, 1, 2), Direction.DOWN);
|
||||
scene.idle(10);
|
||||
|
||||
for (int i = 4; i >= 1; i--) {
|
||||
if (i == 2)
|
||||
scene.rotateCameraY(70);
|
||||
scene.idle(5);
|
||||
scene.showSection(Select.pos(i, 1, 2), Direction.DOWN);
|
||||
}
|
||||
|
||||
scene.setKineticSpeed(gauge, 64);
|
||||
scene.indicateSuccess(new BlockPos(0, 1, 2));
|
||||
scene.idle(10);
|
||||
scene.showTargetedText(WHITE, new Vec3d(3, 1.5, 2.5), "shaft_relay",
|
||||
"Shafts seem to relay rotation in a straight line.", 1000);
|
||||
"Shafts will relay rotation in a straight line.", 1000);
|
||||
|
||||
scene.idle(20);
|
||||
scene.markAsFinished();
|
||||
|
@ -8,6 +8,9 @@ import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene.SceneBuilder.SceneBuildingUtil;
|
||||
import com.simibubi.create.foundation.ponder.PonderStoryBoard;
|
||||
import com.simibubi.create.foundation.ponder.Select;
|
||||
import com.simibubi.create.foundation.ponder.elements.InputWindowElement;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Direction.Axis;
|
||||
@ -38,18 +41,26 @@ class ShaftsCanBeEncased extends PonderStoryBoard {
|
||||
scene.showSection(shaft, Direction.DOWN);
|
||||
scene.idle(20);
|
||||
|
||||
scene.setBlocks(andesite, AllBlocks.ANDESITE_ENCASED_SHAFT.getDefaultState()
|
||||
BlockEntry<EncasedShaftBlock> andesiteEncased = AllBlocks.ANDESITE_ENCASED_SHAFT;
|
||||
scene.showControls(new InputWindowElement(util.topOf(3, 1, 2), Pointing.DOWN).rightClick()
|
||||
.withItem(AllBlocks.ANDESITE_CASING.asStack()), 60);
|
||||
scene.idle(7);
|
||||
scene.setBlocks(andesite, andesiteEncased.getDefaultState()
|
||||
.with(EncasedShaftBlock.AXIS, Axis.X));
|
||||
scene.setKineticSpeed(shaft, -112);
|
||||
scene.idle(10);
|
||||
|
||||
scene.setBlocks(brass, AllBlocks.BRASS_ENCASED_SHAFT.getDefaultState()
|
||||
BlockEntry<EncasedShaftBlock> brassEncased = AllBlocks.BRASS_ENCASED_SHAFT;
|
||||
scene.showControls(new InputWindowElement(util.topOf(1, 0, 2), Pointing.UP).rightClick()
|
||||
.withItem(AllBlocks.BRASS_CASING.asStack()), 60);
|
||||
scene.idle(7);
|
||||
scene.setBlocks(brass, brassEncased.getDefaultState()
|
||||
.with(EncasedShaftBlock.AXIS, Axis.X));
|
||||
scene.setKineticSpeed(shaft, -112);
|
||||
|
||||
scene.idle(10);
|
||||
scene.showTargetedText(WHITE, new Vec3d(1.5, 2, 2.5), "shaft_can_be_encased",
|
||||
"I could use Brass or Andesite Casing to hide them.", 1000);
|
||||
"Andesite or Brass Casing can be used to encase them.", 1000);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -7,8 +7,8 @@ public class SharedText {
|
||||
public static void gatherText() {
|
||||
// Add entries used across several ponder scenes (Safe for hotswap)
|
||||
|
||||
add("when_wrenched", "When Wrenched");
|
||||
add("more_shared", "This is Shared stuff");
|
||||
add("sneak_and", "Sneak +");
|
||||
add("ctrl_and", "Ctrl +");
|
||||
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,135 @@
|
||||
package com.simibubi.create.foundation.ponder.elements;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.foundation.gui.AllIcons;
|
||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
||||
import com.simibubi.create.foundation.ponder.PonderLocalization;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene;
|
||||
import com.simibubi.create.foundation.ponder.PonderUI;
|
||||
import com.simibubi.create.foundation.ponder.content.PonderPalette;
|
||||
import com.simibubi.create.foundation.utility.ColorHelper;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.Vec2f;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class InputWindowElement extends AnimatedOverlayElement {
|
||||
|
||||
private Pointing direction;
|
||||
|
||||
String key;
|
||||
AllIcons icon;
|
||||
ItemStack item = ItemStack.EMPTY;
|
||||
|
||||
private Vec3d sceneSpace;
|
||||
|
||||
public InputWindowElement(Vec3d sceneSpace, Pointing direction) {
|
||||
this.sceneSpace = sceneSpace;
|
||||
this.direction = direction;
|
||||
}
|
||||
|
||||
public InputWindowElement withItem(ItemStack stack) {
|
||||
item = stack;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement withWrench() {
|
||||
item = AllItems.WRENCH.asStack();
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement scroll() {
|
||||
icon = AllIcons.I_SCROLL;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement rightClick() {
|
||||
icon = AllIcons.I_RMB;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement leftClick() {
|
||||
icon = AllIcons.I_LMB;
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement whileSneaking() {
|
||||
key = "sneak_and";
|
||||
return this;
|
||||
}
|
||||
|
||||
public InputWindowElement whileCTRL() {
|
||||
key = "ctrl_and";
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void render(PonderScene scene, PonderUI screen, MatrixStack ms, float partialTicks, float fade) {
|
||||
FontRenderer font = screen.getFontRenderer();
|
||||
int width = 0;
|
||||
int height = 0;
|
||||
|
||||
int xFade = direction == Pointing.RIGHT ? -1 : direction == Pointing.LEFT ? 1 : 0;
|
||||
int yFade = direction == Pointing.DOWN ? -1 : direction == Pointing.UP ? 1 : 0;
|
||||
xFade *= 10 * (1 - fade);
|
||||
yFade *= 10 * (1 - fade);
|
||||
|
||||
boolean hasItem = !item.isEmpty();
|
||||
boolean hasText = key != null;
|
||||
boolean hasIcon = icon != null;
|
||||
int keyWidth = 0;
|
||||
String text = hasText ? PonderLocalization.getShared(key) : "";
|
||||
|
||||
if (fade < 1 / 16f)
|
||||
return;
|
||||
Vec2f sceneToScreen = scene.getTransform()
|
||||
.sceneToScreen(sceneSpace);
|
||||
|
||||
if (hasIcon) {
|
||||
width += 24;
|
||||
height = 24;
|
||||
}
|
||||
|
||||
if (hasText) {
|
||||
keyWidth = font.getStringWidth(text);
|
||||
width += keyWidth;
|
||||
}
|
||||
|
||||
if (hasItem) {
|
||||
width += 24;
|
||||
height = 24;
|
||||
}
|
||||
|
||||
RenderSystem.pushMatrix();
|
||||
RenderSystem.translated(sceneToScreen.x + xFade, sceneToScreen.y + yFade, 400);
|
||||
|
||||
PonderUI.renderSpeechBox(0, 0, width, height, false, direction, true);
|
||||
|
||||
if (hasText)
|
||||
font.drawString(text, 2, (height - font.FONT_HEIGHT) / 2 + 2,
|
||||
ColorHelper.applyAlpha(PonderPalette.WHITE.getColor(), fade));
|
||||
|
||||
if (hasIcon) {
|
||||
RenderSystem.pushMatrix();
|
||||
RenderSystem.translated(keyWidth, 0, 0);
|
||||
RenderSystem.scaled(1.5, 1.5, 1.5);
|
||||
icon.draw(0, 0);
|
||||
RenderSystem.popMatrix();
|
||||
}
|
||||
|
||||
if (hasItem) {
|
||||
GuiGameElement.of(item)
|
||||
.at(keyWidth + 24, 0)
|
||||
.scale(1.5)
|
||||
.render();
|
||||
RenderSystem.disableDepthTest();
|
||||
}
|
||||
|
||||
RenderSystem.popMatrix();
|
||||
}
|
||||
|
||||
}
|
@ -5,12 +5,12 @@ import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.foundation.ponder.PonderScene;
|
||||
import com.simibubi.create.foundation.ponder.PonderWorld;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererManager;
|
||||
import net.minecraft.command.arguments.EntityAnchorArgument;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.passive.ParrotEntity;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -36,6 +36,12 @@ public class ParrotElement extends AnimatedSceneElement {
|
||||
return parrotElement;
|
||||
}
|
||||
|
||||
public static ParrotElement dance(Vec3d location) {
|
||||
ParrotElement parrotElement = new ParrotElement(location);
|
||||
parrotElement.pose = parrotElement.new DancePose();
|
||||
return parrotElement;
|
||||
}
|
||||
|
||||
protected ParrotElement(Vec3d location) {
|
||||
this.location = location;
|
||||
}
|
||||
@ -69,7 +75,7 @@ public class ParrotElement extends AnimatedSceneElement {
|
||||
ms.translate(location.x, location.y, location.z);
|
||||
|
||||
MatrixStacker.of(ms)
|
||||
.rotateY(MathHelper.lerp(pt, entity.prevRotationYaw, entity.rotationYaw));
|
||||
.rotateY(AngleHelper.angleLerp(pt, entity.prevRotationYaw, entity.rotationYaw));
|
||||
|
||||
entityrenderermanager.render(entity, 0, 0, 0, 0, pt, ms, buffer, lightCoordsFromFade(fade));
|
||||
ms.pop();
|
||||
@ -81,7 +87,24 @@ public class ParrotElement extends AnimatedSceneElement {
|
||||
|
||||
void create(PonderWorld world) {
|
||||
entity = new ParrotEntity(EntityType.PARROT, world);
|
||||
entity.setVariant(Create.random.nextInt(5));
|
||||
int nextInt = Create.random.nextInt(5);
|
||||
entity.setVariant(nextInt == 1 ? 0 : nextInt); // blue parrots are kinda hard to see
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DancePose extends ParrotPose {
|
||||
|
||||
@Override
|
||||
void create(PonderWorld world) {
|
||||
super.create(world);
|
||||
entity.setPartying(BlockPos.ZERO, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
void tick(PonderScene scene) {
|
||||
entity.prevRotationYaw = entity.rotationYaw;
|
||||
entity.rotationYaw -= 2;
|
||||
}
|
||||
|
||||
}
|
||||
@ -111,7 +134,18 @@ public class ParrotElement extends AnimatedSceneElement {
|
||||
|
||||
@Override
|
||||
void tick(PonderScene scene) {
|
||||
entity.lookAt(EntityAnchorArgument.Type.EYES, scene.getPointOfInterest());
|
||||
Vec3d p_200602_2_ = scene.getPointOfInterest();
|
||||
Vec3d vec3d = location.add(entity.getEyePosition(0));
|
||||
double d0 = p_200602_2_.x - vec3d.x;
|
||||
double d1 = p_200602_2_.y - vec3d.y;
|
||||
double d2 = p_200602_2_.z - vec3d.z;
|
||||
double d3 = (double) MathHelper.sqrt(d0 * d0 + d2 * d2);
|
||||
entity.prevRotationYaw = entity.rotationYaw;
|
||||
entity.prevRotationPitch = entity.rotationPitch;
|
||||
entity.rotationPitch =
|
||||
MathHelper.wrapDegrees((float) -(MathHelper.atan2(d1, d3) * (double) (180F / (float) Math.PI)));
|
||||
entity.rotationYaw =
|
||||
MathHelper.wrapDegrees((float) -(MathHelper.atan2(d2, d0) * (double) (180F / (float) Math.PI)) + 90);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -22,6 +22,12 @@ public class EmitParticlesInstruction extends TickingInstruction {
|
||||
return (w, x, y, z) -> w.addParticle(data, x, y, z, motion.x, motion.y, motion.z);
|
||||
}
|
||||
|
||||
public static <T extends IParticleData> Emitter withinBlockSpace(T data, Vec3d motion) {
|
||||
return (w, x, y, z) -> w.addParticle(data, Math.floor(x) + Create.random.nextFloat(),
|
||||
Math.floor(y) + Create.random.nextFloat(), Math.floor(z) + Create.random.nextFloat(), motion.x,
|
||||
motion.y, motion.z);
|
||||
}
|
||||
|
||||
static ParticleManager paticleManager() {
|
||||
return Minecraft.getInstance().particles;
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
package com.simibubi.create.foundation.ponder.instructions;
|
||||
|
||||
import com.simibubi.create.foundation.ponder.PonderScene;
|
||||
|
||||
public abstract class FadeInOutInstruction extends TickingInstruction {
|
||||
|
||||
protected static final int fadeTime = 5;
|
||||
|
||||
public FadeInOutInstruction(int duration) {
|
||||
super(false, duration + 2 * fadeTime);
|
||||
}
|
||||
|
||||
protected abstract void show(PonderScene scene);
|
||||
|
||||
protected abstract void hide(PonderScene scene);
|
||||
|
||||
protected abstract void applyFade(PonderScene scene, float fade);
|
||||
|
||||
@Override
|
||||
protected void firstTick(PonderScene scene) {
|
||||
super.firstTick(scene);
|
||||
show(scene);
|
||||
applyFade(scene, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick(PonderScene scene) {
|
||||
super.tick(scene);
|
||||
int elapsed = totalTicks - remainingTicks;
|
||||
|
||||
if (elapsed < fadeTime) {
|
||||
float fade = (elapsed / (float) fadeTime);
|
||||
applyFade(scene, fade * fade);
|
||||
|
||||
} else if (remainingTicks < fadeTime) {
|
||||
float fade = (remainingTicks / (float) fadeTime);
|
||||
applyFade(scene, fade * fade);
|
||||
|
||||
} else
|
||||
applyFade(scene, 1);
|
||||
|
||||
if (remainingTicks == 0) {
|
||||
applyFade(scene, 0);
|
||||
hide(scene);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.simibubi.create.foundation.ponder.instructions;
|
||||
|
||||
import com.simibubi.create.foundation.ponder.PonderScene;
|
||||
import com.simibubi.create.foundation.ponder.elements.InputWindowElement;
|
||||
|
||||
public class ShowInputInstruction extends FadeInOutInstruction {
|
||||
|
||||
private InputWindowElement element;
|
||||
|
||||
public ShowInputInstruction(InputWindowElement element, int ticks) {
|
||||
super(ticks);
|
||||
this.element = element;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void show(PonderScene scene) {
|
||||
scene.addElement(element);
|
||||
element.setVisible(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void hide(PonderScene scene) {
|
||||
element.setVisible(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyFade(PonderScene scene, float fade) {
|
||||
element.setFade(fade);
|
||||
}
|
||||
|
||||
}
|
@ -9,14 +9,13 @@ import com.simibubi.create.foundation.ponder.elements.TextWindowElement;
|
||||
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
public class TextInstruction extends TickingInstruction {
|
||||
public class TextInstruction extends FadeInOutInstruction {
|
||||
|
||||
private TextWindowElement element;
|
||||
private OutlinerElement outline;
|
||||
private static final int fadeTime = 5;
|
||||
|
||||
protected TextInstruction(int color, Supplier<String> text, int duration) {
|
||||
super(false, duration + 2 * fadeTime);
|
||||
super(duration);
|
||||
}
|
||||
|
||||
public TextInstruction(int color, Supplier<String> text, int duration, Select selection) {
|
||||
@ -41,11 +40,9 @@ public class TextInstruction extends TickingInstruction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void firstTick(PonderScene scene) {
|
||||
super.firstTick(scene);
|
||||
protected void show(PonderScene scene) {
|
||||
scene.addElement(element);
|
||||
element.setVisible(true);
|
||||
element.setFade(0);
|
||||
if (outline != null) {
|
||||
scene.addElement(outline);
|
||||
outline.setFade(1);
|
||||
@ -54,24 +51,7 @@ public class TextInstruction extends TickingInstruction {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick(PonderScene scene) {
|
||||
super.tick(scene);
|
||||
int elapsed = totalTicks - remainingTicks;
|
||||
|
||||
if (elapsed < fadeTime) {
|
||||
float fade = (elapsed / (float) fadeTime);
|
||||
element.setFade(fade * fade);
|
||||
|
||||
} else if (remainingTicks < fadeTime) {
|
||||
float fade = (remainingTicks / (float) fadeTime);
|
||||
element.setFade(fade * fade);
|
||||
|
||||
} else
|
||||
element.setFade(1);
|
||||
|
||||
if (remainingTicks == 0) {
|
||||
element.setFade(0);
|
||||
element.setFade(0);
|
||||
protected void hide(PonderScene scene) {
|
||||
element.setVisible(false);
|
||||
if (outline != null) {
|
||||
outline.setFade(0);
|
||||
@ -79,6 +59,9 @@ public class TextInstruction extends TickingInstruction {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyFade(PonderScene scene, float fade) {
|
||||
element.setFade(fade);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ public class VecHelper {
|
||||
}
|
||||
|
||||
public static Vec3d lerp(float p, Vec3d from, Vec3d to) {
|
||||
return from.add(from.subtract(to)
|
||||
return from.add(to.subtract(from)
|
||||
.scale(p));
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
BIN
src/main/resources/ponder/debug/scene_6.nbt
Normal file
BIN
src/main/resources/ponder/debug/scene_6.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/ponder/debug/scene_7.nbt
Normal file
BIN
src/main/resources/ponder/debug/scene_7.nbt
Normal file
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user