From fc919c4ac4360deedd4578798d874318e090bcec Mon Sep 17 00:00:00 2001 From: JozsefA Date: Thu, 22 Apr 2021 16:02:16 -0700 Subject: [PATCH] Basic projector gui --- src/generated/resources/.cache/cache | 32 +-- .../resources/assets/create/lang/en_ud.json | 1 + .../resources/assets/create/lang/en_us.json | 86 ++++---- .../assets/create/lang/unfinished/de_de.json | 63 +++--- .../assets/create/lang/unfinished/es_es.json | 63 +++--- .../assets/create/lang/unfinished/es_mx.json | 63 +++--- .../assets/create/lang/unfinished/fr_fr.json | 63 +++--- .../assets/create/lang/unfinished/it_it.json | 63 +++--- .../assets/create/lang/unfinished/ja_jp.json | 63 +++--- .../assets/create/lang/unfinished/ko_kr.json | 63 +++--- .../assets/create/lang/unfinished/nl_nl.json | 63 +++--- .../assets/create/lang/unfinished/pt_br.json | 63 +++--- .../assets/create/lang/unfinished/ru_ru.json | 63 +++--- .../assets/create/lang/unfinished/zh_cn.json | 63 +++--- .../assets/create/lang/unfinished/zh_tw.json | 63 +++--- .../simibubi/create/AllContainerTypes.java | 4 - .../projector/ChromaticProjectorBlock.java | 24 ++- .../ChromaticProjectorContainer.java | 33 ---- .../projector/ChromaticProjectorScreen.java | 186 +++++++++++++++--- .../ChromaticProjectorTileEntity.java | 31 +-- .../curiosities/projector/ColorEffects.java | 59 ++++++ .../curiosities/projector/FilterStep.java | 25 +++ .../create/foundation/gui/AllGuiTextures.java | 6 +- .../render/backend/effects/ColorMatrices.java | 8 +- .../backend/effects/EffectsHandler.java | 30 ++- .../assets/create/textures/gui/projector.png | Bin 2307 -> 3095 bytes 26 files changed, 729 insertions(+), 552 deletions(-) delete mode 100644 src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorContainer.java create mode 100644 src/main/java/com/simibubi/create/content/curiosities/projector/ColorEffects.java create mode 100644 src/main/java/com/simibubi/create/content/curiosities/projector/FilterStep.java diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 5fff6584f..4f61b4399 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -47,6 +47,7 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json 291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json 470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json +4319ddb44dabbb1ed189d86429ca57091ba2dcf6 assets/create/blockstates/chromatic_projector.json b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json 4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json 1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json @@ -406,20 +407,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -97e9ee471ea650f6b7f3d3f39f00201cd5ad752d assets/create/lang/en_ud.json -514ab1f6fa3d24dc575a5dcaaaa96a8009da7414 assets/create/lang/en_us.json -7e45e9a69fb4d21d199174673f2ea6fe35ee6859 assets/create/lang/unfinished/de_de.json -2af0dd8cd0776b8ed5110990405f3cd515abe8e8 assets/create/lang/unfinished/es_es.json -90fc3a9475b957eebf10380a960416b072987541 assets/create/lang/unfinished/es_mx.json -997cc00c6a9afbb142e25c5a1840908363afad41 assets/create/lang/unfinished/fr_fr.json -6a9c89ff7a7c2df5f78a6a739a204744a4a5607a assets/create/lang/unfinished/it_it.json -e21697e70444e3c8fb367b7a4fe867726157390d assets/create/lang/unfinished/ja_jp.json -9f2d7b6fc84f6257837b4c517489f6ef31a4e1a5 assets/create/lang/unfinished/ko_kr.json -5bcfe026f3bb3f0aa0ea415e54dedad4195bb70a assets/create/lang/unfinished/nl_nl.json -bc60cb08266e8d13523d086cdb85aa12da78a47b assets/create/lang/unfinished/pt_br.json -288e3e76a1aa090a676415aeb9f5383b3386e40d assets/create/lang/unfinished/ru_ru.json -0b6852ca1cea71d24cfdee7004ab37fa7810a0fe assets/create/lang/unfinished/zh_cn.json -619d82eba592f4ae88ddbc2c9dfae02627876300 assets/create/lang/unfinished/zh_tw.json +ca9a861ca831a782966c22ad0c68ff966710769a assets/create/lang/en_ud.json +02f2424747d50bad2f844e905646d816899a03d7 assets/create/lang/en_us.json +08e387354ee4ab1a4837277c10847e603cf7ac59 assets/create/lang/unfinished/de_de.json +b5b3c69b4539aac10f03a5cb2b3459ca094d373c assets/create/lang/unfinished/es_es.json +5d17d28dc81011ab21e013fedd707fcf8ece0572 assets/create/lang/unfinished/es_mx.json +9fd9df90d1ecf8ac8c95fadfcd5bf4a04d182681 assets/create/lang/unfinished/fr_fr.json +1cd6952f8b65a75861e17f4c4de867af54a6b055 assets/create/lang/unfinished/it_it.json +0db66a9cf76bbbafc487a5483e3f10ec306f96d9 assets/create/lang/unfinished/ja_jp.json +07f51957cb8776b53c6665c8cea3b544e09d13d9 assets/create/lang/unfinished/ko_kr.json +62df112c0264af0962c39c953497217240e2c92d assets/create/lang/unfinished/nl_nl.json +1c86e439423a682b8de29777f1641b0a3f138c42 assets/create/lang/unfinished/pt_br.json +5d54f4997ba80ec505c1f38c5f6f3fde0a41a0f5 assets/create/lang/unfinished/ru_ru.json +89e04cc0bdf17762f089c673aa3bb1fe0707d3df assets/create/lang/unfinished/zh_cn.json +c310383e5617d0cfec551eef31272d9a19cd4445 assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json @@ -540,6 +541,7 @@ db7279f05c1d89e21da8887a15d3a1cfff4a9cf2 assets/create/models/block/chiseled_dar 1cf4b68c8cf1885ede334fbfa54e52c76ba211b6 assets/create/models/block/chiseled_scoria.json 041a20dd674277ff4f1613a0a89600f05458edf4 assets/create/models/block/chiseled_weathered_limestone.json 4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json +5e3819de78eb6e7511839905fa0fdde4babcaf21 assets/create/models/block/chromatic_projector.json 30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json 1f01a4b6608f75145734b60ddf4a33ce318425ff assets/create/models/block/copper_casing.json b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json @@ -1253,6 +1255,7 @@ a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scor 70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json 7a3737f6156213762e28a4dbedc4c6828dc1878c assets/create/models/item/chocolate_bucket.json 87637b39c3a5a386457d52b37eb65f1c4bcabaf0 assets/create/models/item/chocolate_glazed_berries.json +7ee3446e9164e466421e4349e1eada3101f3c976 assets/create/models/item/chromatic_projector.json fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json 6680a68526576ded5dac2aa3bc9fb9de3e744146 assets/create/models/item/cinder_flour.json c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json @@ -2420,6 +2423,7 @@ ab820bbaaf67c6697dfbab33c05fb73b18c70bfb data/create/loot_tables/blocks/chiseled 4b09725707bac4c5813e2bb489ff848d0d964ae9 data/create/loot_tables/blocks/chiseled_limestone.json 43f446abd3c1c184a08645979edf620e59955a30 data/create/loot_tables/blocks/chiseled_scoria.json adde89e46b12de1eee6fd0c5cb98c5f45feefc15 data/create/loot_tables/blocks/chiseled_weathered_limestone.json +7ea58979dbc1ac44626728afe8fe771c88e250d2 data/create/loot_tables/blocks/chromatic_projector.json 07ccc1576a71338cb73c4e06f8c28a2c86843877 data/create/loot_tables/blocks/chute.json 778b53c36d73b6e9c78fd6c091c9c3535c3c18f7 data/create/loot_tables/blocks/clockwork_bearing.json d76113310fc56eca6382d44df174096f2210d416 data/create/loot_tables/blocks/clutch.json diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index 33c7d7480..d63f206fa 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -48,6 +48,7 @@ "block.create.chiseled_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", + "block.create.chromatic_projector": "\u0279o\u0287\u0254\u01DD\u0638o\u0279\u0500 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186", "block.create.chute": "\u01DD\u0287n\u0265\u0186", "block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\u0186", "block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 04ab46cf4..e5aa55e81 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -41,26 +41,27 @@ "block.create.brass_funnel": "Brass Funnel", "block.create.brass_tunnel": "Brass Tunnel", "block.create.brown_sail": "Brown Sail", - "block.create.brown_seat": "Brown Seat", - "block.create.brown_valve_handle": "Brown Valve Handle", - "block.create.cart_assembler": "Cart Assembler", - "block.create.chiseled_dark_scoria": "Chiseled Dark Scoria", - "block.create.chiseled_dolomite": "Chiseled Dolomite", - "block.create.chiseled_gabbro": "Chiseled Gabbro", - "block.create.chiseled_limestone": "Chiseled Limestone", - "block.create.chiseled_scoria": "Chiseled Scoria", - "block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone", - "block.create.chocolate": "Chocolate", - "block.create.chute": "Chute", - "block.create.clockwork_bearing": "Clockwork Bearing", - "block.create.clutch": "Clutch", - "block.create.cogwheel": "Cogwheel", - "block.create.content_observer": "Content Observer", - "block.create.controller_rail": "Controller Rail", - "block.create.copper_block": "Block of Copper", - "block.create.copper_casing": "Copper Casing", - "block.create.copper_ore": "Copper Ore", - "block.create.copper_shingles": "Copper Shingles", + "block.create.brown_seat": "Brown Seat", + "block.create.brown_valve_handle": "Brown Valve Handle", + "block.create.cart_assembler": "Cart Assembler", + "block.create.chiseled_dark_scoria": "Chiseled Dark Scoria", + "block.create.chiseled_dolomite": "Chiseled Dolomite", + "block.create.chiseled_gabbro": "Chiseled Gabbro", + "block.create.chiseled_limestone": "Chiseled Limestone", + "block.create.chiseled_scoria": "Chiseled Scoria", + "block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone", + "block.create.chocolate": "Chocolate", + "block.create.chromatic_projector": "Chromatic Projector", + "block.create.chute": "Chute", + "block.create.clockwork_bearing": "Clockwork Bearing", + "block.create.clutch": "Clutch", + "block.create.cogwheel": "Cogwheel", + "block.create.content_observer": "Content Observer", + "block.create.controller_rail": "Controller Rail", + "block.create.copper_block": "Block of Copper", + "block.create.copper_casing": "Copper Casing", + "block.create.copper_ore": "Copper Ore", + "block.create.copper_shingles": "Copper Shingles", "block.create.copper_tiles": "Copper Tiles", "block.create.copper_valve_handle": "Copper Valve Handle", "block.create.creative_crate": "Creative Crate", @@ -1138,26 +1139,29 @@ "create.gui.config.overlay6": "and save the new position", "create.gui.config.overlay7": "Run /create overlay reset", "create.gui.config.overlay8": "to reset to the default position", - - "create.command.killTPSCommand": "killtps", - "create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o", - "create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)", - "create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D", - "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", - "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", - "create.command.killTPSCommand.argument.tickTime": "tickTime", - - "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", - - - "_": "->------------------------] Subtitles [------------------------<-", - - "create.subtitle.cogs": "Cogwheels rumble", - "create.subtitle.slime_added": "Slime squishes", - "create.subtitle.mixing": "Mixing Noises", - "create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks", - "create.subtitle.blockzapper_confirm": "Affirmative ding", - "create.subtitle.depot_slide": "Item slides", + "create.command.killTPSCommand": "killtps", + "create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o", + "create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)", + "create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D", + "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", + "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", + "create.command.killTPSCommand.argument.tickTime": "tickTime", + "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", + "create.gui.chromatic_projector.title": "Chromatic Projector", + "create.gui.chromatic_projector.filter.invert": "Invert", + "create.gui.chromatic_projector.filter.sepia": "Sepia", + "create.gui.chromatic_projector.filter.grayscale": "Grayscale", + "create.gui.chromatic_projector.filter.saturate": "Saturate", + "create.gui.chromatic_projector.filter.hue_shift": "Hue shift", + "create.gui.chromatic_projector.filter.end": "End", + "create.gui.chromatic_projector.filter": "Filter", + "_": "->------------------------] Subtitles [------------------------<-", + "create.subtitle.cogs": "Cogwheels rumble", + "create.subtitle.slime_added": "Slime squishes", + "create.subtitle.mixing": "Mixing Noises", + "create.subtitle.mechanical_press_activation_belt": "Mechanical Press bonks", + "create.subtitle.blockzapper_confirm": "Affirmative ding", + "create.subtitle.depot_slide": "Item slides", "create.subtitle.blockzapper_place": "Blockzapper zaps", "create.subtitle.blaze_munch": "Blaze Burner munches", "create.subtitle.schematicannon_launch_block": "Schematicannon fires", @@ -2127,4 +2131,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index cf3ae191f..fb6675930 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 921", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Akazienholzfenster", - "block.create.acacia_window_pane": "Akazienholzfensterscheibe", - "block.create.adjustable_chain_gearshift": "Verstellbares Kettengetriebe", - "block.create.adjustable_crate": "Verstellbare Kiste", - "block.create.adjustable_pulse_repeater": "Verstellbarer Pulsverstärker", - "block.create.adjustable_repeater": "Verstellbarer Verstärker", - "block.create.analog_lever": "Analoger Schalter", + "_": "Missing Localizations: 922", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Akazienholzfenster", + "block.create.acacia_window_pane": "Akazienholzfensterscheibe", + "block.create.adjustable_chain_gearshift": "Verstellbares Kettengetriebe", + "block.create.adjustable_crate": "Verstellbare Kiste", + "block.create.adjustable_pulse_repeater": "Verstellbarer Pulsverstärker", + "block.create.adjustable_repeater": "Verstellbarer Verstärker", + "block.create.analog_lever": "Analoger Schalter", "block.create.andesite_belt_funnel": "Riementrichter aus Andesit", "block.create.andesite_bricks": "Andesitziegel", "block.create.andesite_bricks_slab": "Andesitziegelstufe", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Messingtrichter", "block.create.brass_tunnel": "Messingtunnel", "block.create.brown_sail": "Braunes Segel", - "block.create.brown_seat": "Brauner Sitz", - "block.create.brown_valve_handle": "Brauner Ventilgriff", - "block.create.cart_assembler": "Lorenmonteur", - "block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke", - "block.create.chiseled_dolomite": "Gemeißeltes Dolomit", - "block.create.chiseled_gabbro": "Gemeißeltes Gabbro", - "block.create.chiseled_limestone": "Gemeißelter Kalkstein", - "block.create.chiseled_scoria": "Gemeißelte Schlacke", - "block.create.chiseled_weathered_limestone": "Gemeißelter verwitterter Kalkstein", - "block.create.chocolate": "Schokolade", - "block.create.chute": "Rinne", - "block.create.clockwork_bearing": "Uhrwerk-Lager", - "block.create.clutch": "Kupplung", - "block.create.cogwheel": "Zahnrad", - "block.create.content_observer": "Inhaltsbeobachter", - "block.create.controller_rail": "Steuerungsschiene", - "block.create.copper_block": "Kupfer Block", - "block.create.copper_casing": "Kupferrahmen", - "block.create.copper_ore": "Kupfererz", - "block.create.copper_shingles": "Kupferschindeln", + "block.create.brown_seat": "Brauner Sitz", + "block.create.brown_valve_handle": "Brauner Ventilgriff", + "block.create.cart_assembler": "Lorenmonteur", + "block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke", + "block.create.chiseled_dolomite": "Gemeißeltes Dolomit", + "block.create.chiseled_gabbro": "Gemeißeltes Gabbro", + "block.create.chiseled_limestone": "Gemeißelter Kalkstein", + "block.create.chiseled_scoria": "Gemeißelte Schlacke", + "block.create.chiseled_weathered_limestone": "Gemeißelter verwitterter Kalkstein", + "block.create.chocolate": "Schokolade", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Rinne", + "block.create.clockwork_bearing": "Uhrwerk-Lager", + "block.create.clutch": "Kupplung", + "block.create.cogwheel": "Zahnrad", + "block.create.content_observer": "Inhaltsbeobachter", + "block.create.controller_rail": "Steuerungsschiene", + "block.create.copper_block": "Kupfer Block", + "block.create.copper_casing": "Kupferrahmen", + "block.create.copper_ore": "Kupfererz", + "block.create.copper_shingles": "Kupferschindeln", "block.create.copper_tiles": "Kupferfliesen", "block.create.copper_valve_handle": "Kupfer Ventilgriff", "block.create.creative_crate": "Kreative anpassbare Kiste", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index 6b9899146..646282bd2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 614", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Ventana de acacia", - "block.create.acacia_window_pane": "Panel de ventana de acacia", - "block.create.adjustable_chain_gearshift": "Cadena de transmisión ajustable", - "block.create.adjustable_crate": "Caja ajustable", - "block.create.adjustable_pulse_repeater": "Repetidor de pulso ajustable", - "block.create.adjustable_repeater": "Repetidor ajustable", - "block.create.analog_lever": "Palanca analógica", + "_": "Missing Localizations: 615", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Ventana de acacia", + "block.create.acacia_window_pane": "Panel de ventana de acacia", + "block.create.adjustable_chain_gearshift": "Cadena de transmisión ajustable", + "block.create.adjustable_crate": "Caja ajustable", + "block.create.adjustable_pulse_repeater": "Repetidor de pulso ajustable", + "block.create.adjustable_repeater": "Repetidor ajustable", + "block.create.analog_lever": "Palanca analógica", "block.create.andesite_belt_funnel": "Embudo de cinta de andesita", "block.create.andesite_bricks": "Ladrillos de andesita", "block.create.andesite_bricks_slab": "Losa de ladrillos de andesita", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Embudo de latón", "block.create.brass_tunnel": "Túnel de latón", "block.create.brown_sail": "Vela marrón", - "block.create.brown_seat": "Asiento marrón", - "block.create.brown_valve_handle": "Asa de válvula marrón", - "block.create.cart_assembler": "Ensamblador de vagonetas", - "block.create.chiseled_dark_scoria": "Escoria oscura cincelada", - "block.create.chiseled_dolomite": "Dolomita cincelada", - "block.create.chiseled_gabbro": "Gabro cincelado", - "block.create.chiseled_limestone": "Caliza cincelada", - "block.create.chiseled_scoria": "Escoria cincelada", - "block.create.chiseled_weathered_limestone": "Piedra caliza erosionada cincelada", - "block.create.chocolate": "Chocolate", - "block.create.chute": "Ducto", - "block.create.clockwork_bearing": "Rodamiento de reloj", - "block.create.clutch": "Embrague", - "block.create.cogwheel": "Rueda dentada", - "block.create.content_observer": "Observador de contenidos", - "block.create.controller_rail": "Raíl de control", - "block.create.copper_block": "Bloque de cobre", - "block.create.copper_casing": "Revestidor de caliza", - "block.create.copper_ore": "Mineral de cobre", - "block.create.copper_shingles": "Bloque de tejas de cobre", + "block.create.brown_seat": "Asiento marrón", + "block.create.brown_valve_handle": "Asa de válvula marrón", + "block.create.cart_assembler": "Ensamblador de vagonetas", + "block.create.chiseled_dark_scoria": "Escoria oscura cincelada", + "block.create.chiseled_dolomite": "Dolomita cincelada", + "block.create.chiseled_gabbro": "Gabro cincelado", + "block.create.chiseled_limestone": "Caliza cincelada", + "block.create.chiseled_scoria": "Escoria cincelada", + "block.create.chiseled_weathered_limestone": "Piedra caliza erosionada cincelada", + "block.create.chocolate": "Chocolate", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Ducto", + "block.create.clockwork_bearing": "Rodamiento de reloj", + "block.create.clutch": "Embrague", + "block.create.cogwheel": "Rueda dentada", + "block.create.content_observer": "Observador de contenidos", + "block.create.controller_rail": "Raíl de control", + "block.create.copper_block": "Bloque de cobre", + "block.create.copper_casing": "Revestidor de caliza", + "block.create.copper_ore": "Mineral de cobre", + "block.create.copper_shingles": "Bloque de tejas de cobre", "block.create.copper_tiles": "Bloque de baldosas de cobre", "block.create.copper_valve_handle": "Asa de válvula de cobre", "block.create.creative_crate": "Caja creativa", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 76705092c..93c20ff29 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 1272", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Ventana de Acacia", - "block.create.acacia_window_pane": "Panel de Ventana de Acacia", - "block.create.adjustable_chain_gearshift": "Cambio Ajustable de Velocidad de Cadena", - "block.create.adjustable_crate": "Caja Ajustable", - "block.create.adjustable_pulse_repeater": "Repetidor de Pulso Ajustable", - "block.create.adjustable_repeater": "Repetidor Ajustable", - "block.create.analog_lever": "Palanca Analogica", + "_": "Missing Localizations: 1273", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Ventana de Acacia", + "block.create.acacia_window_pane": "Panel de Ventana de Acacia", + "block.create.adjustable_chain_gearshift": "Cambio Ajustable de Velocidad de Cadena", + "block.create.adjustable_crate": "Caja Ajustable", + "block.create.adjustable_pulse_repeater": "Repetidor de Pulso Ajustable", + "block.create.adjustable_repeater": "Repetidor Ajustable", + "block.create.analog_lever": "Palanca Analogica", "block.create.andesite_belt_funnel": "UNLOCALIZED: Andesite Belt Funnel", "block.create.andesite_bricks": "Ladrillos de Andesita", "block.create.andesite_bricks_slab": "Losa de Ladrillos de Andesita", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Embudo de Latón", "block.create.brass_tunnel": "Túnel de Latón", "block.create.brown_sail": "Vela Café", - "block.create.brown_seat": "Asiento Café ", - "block.create.brown_valve_handle": "Manija de Válvula Café", - "block.create.cart_assembler": "Ensamblador de Vagonetas", - "block.create.chiseled_dark_scoria": "Escoria Oscura Grabada", - "block.create.chiseled_dolomite": "Dolomita Grabada", - "block.create.chiseled_gabbro": "Gabro Grabado", - "block.create.chiseled_limestone": "Caliza Grabada", - "block.create.chiseled_scoria": "Escoria Grabada", - "block.create.chiseled_weathered_limestone": "Caliza Meteorizada Grabada", - "block.create.chocolate": "Chocolate", - "block.create.chute": "Vertedor", - "block.create.clockwork_bearing": "Rodamiento de Reloj", - "block.create.clutch": "Embrague", - "block.create.cogwheel": "Rueda Dentada", - "block.create.content_observer": "Observador de Contenido", - "block.create.controller_rail": "Vía de Control", - "block.create.copper_block": "Bloque de Cobre", - "block.create.copper_casing": "Carcasa de Cobre", - "block.create.copper_ore": "Mineral de Cobre", - "block.create.copper_shingles": "Techado de Cobre", + "block.create.brown_seat": "Asiento Café ", + "block.create.brown_valve_handle": "Manija de Válvula Café", + "block.create.cart_assembler": "Ensamblador de Vagonetas", + "block.create.chiseled_dark_scoria": "Escoria Oscura Grabada", + "block.create.chiseled_dolomite": "Dolomita Grabada", + "block.create.chiseled_gabbro": "Gabro Grabado", + "block.create.chiseled_limestone": "Caliza Grabada", + "block.create.chiseled_scoria": "Escoria Grabada", + "block.create.chiseled_weathered_limestone": "Caliza Meteorizada Grabada", + "block.create.chocolate": "Chocolate", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Vertedor", + "block.create.clockwork_bearing": "Rodamiento de Reloj", + "block.create.clutch": "Embrague", + "block.create.cogwheel": "Rueda Dentada", + "block.create.content_observer": "Observador de Contenido", + "block.create.controller_rail": "Vía de Control", + "block.create.copper_block": "Bloque de Cobre", + "block.create.copper_casing": "Carcasa de Cobre", + "block.create.copper_ore": "Mineral de Cobre", + "block.create.copper_shingles": "Techado de Cobre", "block.create.copper_tiles": "Baldosas de Cobre", "block.create.copper_valve_handle": "Manija de Válvula de Cobre", "block.create.creative_crate": "Caja del Creativo", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 7de31748c..19ed662fb 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 1171", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Fenêtre en acacia", - "block.create.acacia_window_pane": "Vitre en acacia", - "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", - "block.create.adjustable_crate": "Caisse ajustable", - "block.create.adjustable_pulse_repeater": "Répéteur d'impulsions réglable", - "block.create.adjustable_repeater": "Répéteur réglable", - "block.create.analog_lever": "Levier analogique", + "_": "Missing Localizations: 1172", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Fenêtre en acacia", + "block.create.acacia_window_pane": "Vitre en acacia", + "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", + "block.create.adjustable_crate": "Caisse ajustable", + "block.create.adjustable_pulse_repeater": "Répéteur d'impulsions réglable", + "block.create.adjustable_repeater": "Répéteur réglable", + "block.create.analog_lever": "Levier analogique", "block.create.andesite_belt_funnel": "Entonnoir en andésite pour tapis roulant", "block.create.andesite_bricks": "Briques d'andésite", "block.create.andesite_bricks_slab": "Dalle en briques d'andésite", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Entonnoir en laiton", "block.create.brass_tunnel": "Tunnel en laiton", "block.create.brown_sail": "Voile brune", - "block.create.brown_seat": "Siège brun", - "block.create.brown_valve_handle": "Vanne brune", - "block.create.cart_assembler": "Assembleur de wagon", - "block.create.chiseled_dark_scoria": "Scoria sombre taillé", - "block.create.chiseled_dolomite": "Dolomite taillée", - "block.create.chiseled_gabbro": "Gabbro taillé", - "block.create.chiseled_limestone": "Calcaire taillé", - "block.create.chiseled_scoria": "Scoria taillé", - "block.create.chiseled_weathered_limestone": "Calcaire altéré taillé", - "block.create.chocolate": "Chocolat", - "block.create.chute": "Glissière", - "block.create.clockwork_bearing": "Roulement mécanique horloger", - "block.create.clutch": "Embrayage", - "block.create.cogwheel": "Roue dentée", - "block.create.content_observer": "Observateur de contenu", - "block.create.controller_rail": "Rails controlleurs", - "block.create.copper_block": "Bloc de cuivre", - "block.create.copper_casing": "Revêtement en cuivre", - "block.create.copper_ore": "Minerai de cuivre", - "block.create.copper_shingles": "Bardeaux de cuivre", + "block.create.brown_seat": "Siège brun", + "block.create.brown_valve_handle": "Vanne brune", + "block.create.cart_assembler": "Assembleur de wagon", + "block.create.chiseled_dark_scoria": "Scoria sombre taillé", + "block.create.chiseled_dolomite": "Dolomite taillée", + "block.create.chiseled_gabbro": "Gabbro taillé", + "block.create.chiseled_limestone": "Calcaire taillé", + "block.create.chiseled_scoria": "Scoria taillé", + "block.create.chiseled_weathered_limestone": "Calcaire altéré taillé", + "block.create.chocolate": "Chocolat", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Glissière", + "block.create.clockwork_bearing": "Roulement mécanique horloger", + "block.create.clutch": "Embrayage", + "block.create.cogwheel": "Roue dentée", + "block.create.content_observer": "Observateur de contenu", + "block.create.controller_rail": "Rails controlleurs", + "block.create.copper_block": "Bloc de cuivre", + "block.create.copper_casing": "Revêtement en cuivre", + "block.create.copper_ore": "Minerai de cuivre", + "block.create.copper_shingles": "Bardeaux de cuivre", "block.create.copper_tiles": "Tuiles en cuivre", "block.create.copper_valve_handle": "Vanne en cuivre", "block.create.creative_crate": "Créateur de schémacanon", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index c306ac7a8..dd82ebb1b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 631", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Finestra di acacia", - "block.create.acacia_window_pane": "Pannello di finestra di acacia", - "block.create.adjustable_chain_gearshift": "Cambio a catena regolabile", - "block.create.adjustable_crate": "Baule regolabile", - "block.create.adjustable_pulse_repeater": "Ripetitore di impulsi regolabile", - "block.create.adjustable_repeater": "Ripetitore regolabile", - "block.create.analog_lever": "Leva analogica", + "_": "Missing Localizations: 632", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Finestra di acacia", + "block.create.acacia_window_pane": "Pannello di finestra di acacia", + "block.create.adjustable_chain_gearshift": "Cambio a catena regolabile", + "block.create.adjustable_crate": "Baule regolabile", + "block.create.adjustable_pulse_repeater": "Ripetitore di impulsi regolabile", + "block.create.adjustable_repeater": "Ripetitore regolabile", + "block.create.analog_lever": "Leva analogica", "block.create.andesite_belt_funnel": "Imbuto per nastro di andesite", "block.create.andesite_bricks": "Mattoni di andesite", "block.create.andesite_bricks_slab": "Lastra di mattoni di andesite", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Imbuto di ottone", "block.create.brass_tunnel": "Tunnel di ottone", "block.create.brown_sail": "Vela marrone", - "block.create.brown_seat": "Sedile marrone", - "block.create.brown_valve_handle": "Maniglia per valvola marrone", - "block.create.cart_assembler": "Assemblatore di carrelli da miniera", - "block.create.chiseled_dark_scoria": "Scoria scura cesellata", - "block.create.chiseled_dolomite": "Dolomite cesellata", - "block.create.chiseled_gabbro": "Gabbro cesellato", - "block.create.chiseled_limestone": "Calcare cesellato", - "block.create.chiseled_scoria": "Scoria cesellata", - "block.create.chiseled_weathered_limestone": "Calcare consumato cesellato", - "block.create.chocolate": "Cioccolato", - "block.create.chute": "Scivolo", - "block.create.clockwork_bearing": "Supporto dell'orologio", - "block.create.clutch": "Frizione", - "block.create.cogwheel": "Ruota dentata", - "block.create.content_observer": "Osservatore dei contenuti", - "block.create.controller_rail": "Binario di controllo", - "block.create.copper_block": "Blocco di rame", - "block.create.copper_casing": "Involucro di rame", - "block.create.copper_ore": "Rame grezzo", - "block.create.copper_shingles": "Tegole di rame", + "block.create.brown_seat": "Sedile marrone", + "block.create.brown_valve_handle": "Maniglia per valvola marrone", + "block.create.cart_assembler": "Assemblatore di carrelli da miniera", + "block.create.chiseled_dark_scoria": "Scoria scura cesellata", + "block.create.chiseled_dolomite": "Dolomite cesellata", + "block.create.chiseled_gabbro": "Gabbro cesellato", + "block.create.chiseled_limestone": "Calcare cesellato", + "block.create.chiseled_scoria": "Scoria cesellata", + "block.create.chiseled_weathered_limestone": "Calcare consumato cesellato", + "block.create.chocolate": "Cioccolato", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Scivolo", + "block.create.clockwork_bearing": "Supporto dell'orologio", + "block.create.clutch": "Frizione", + "block.create.cogwheel": "Ruota dentata", + "block.create.content_observer": "Osservatore dei contenuti", + "block.create.controller_rail": "Binario di controllo", + "block.create.copper_block": "Blocco di rame", + "block.create.copper_casing": "Involucro di rame", + "block.create.copper_ore": "Rame grezzo", + "block.create.copper_shingles": "Tegole di rame", "block.create.copper_tiles": "Piastrelle di rame", "block.create.copper_valve_handle": "Maniglia per valvola di rame", "block.create.creative_crate": "Creatore cannoneschematico", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 1847cbfab..f8f15797b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 613", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "アカシアの窓", - "block.create.acacia_window_pane": "アカシアの窓パネル", - "block.create.adjustable_chain_gearshift": "可変チェーンギアシフト", - "block.create.adjustable_crate": "可変クレート", - "block.create.adjustable_pulse_repeater": "可変パルスリピーター", - "block.create.adjustable_repeater": "可変リピーター", - "block.create.analog_lever": "アナログレバー", + "_": "Missing Localizations: 614", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "アカシアの窓", + "block.create.acacia_window_pane": "アカシアの窓パネル", + "block.create.adjustable_chain_gearshift": "可変チェーンギアシフト", + "block.create.adjustable_crate": "可変クレート", + "block.create.adjustable_pulse_repeater": "可変パルスリピーター", + "block.create.adjustable_repeater": "可変リピーター", + "block.create.analog_lever": "アナログレバー", "block.create.andesite_belt_funnel": "安山岩のベルトファンネル", "block.create.andesite_bricks": "安山岩レンガ", "block.create.andesite_bricks_slab": "安山岩レンガのハーフブロック", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "真鍮ファンネル", "block.create.brass_tunnel": "真鍮トンネル", "block.create.brown_sail": "茶色の帆", - "block.create.brown_seat": "茶色のシート", - "block.create.brown_valve_handle": "茶色のバルブハンドル", - "block.create.cart_assembler": "トロッコアセンブラ", - "block.create.chiseled_dark_scoria": "模様入りのダークスコリア", - "block.create.chiseled_dolomite": "模様入りの苦灰岩", - "block.create.chiseled_gabbro": "模様入りの斑れい岩", - "block.create.chiseled_limestone": "模様入りの石灰岩", - "block.create.chiseled_scoria": "模様入りのスコリア", - "block.create.chiseled_weathered_limestone": "模様入りの風化した石灰岩", - "block.create.chocolate": "チョコレート", - "block.create.chute": "シュート", - "block.create.clockwork_bearing": "時計仕掛けのベアリング", - "block.create.clutch": "クラッチ", - "block.create.cogwheel": "歯車", - "block.create.content_observer": "コンテンツオブザーバー", - "block.create.controller_rail": "コントローラーレール", - "block.create.copper_block": "銅ブロック", - "block.create.copper_casing": "銅ケーシング", - "block.create.copper_ore": "銅鉱石", - "block.create.copper_shingles": "銅の屋根板", + "block.create.brown_seat": "茶色のシート", + "block.create.brown_valve_handle": "茶色のバルブハンドル", + "block.create.cart_assembler": "トロッコアセンブラ", + "block.create.chiseled_dark_scoria": "模様入りのダークスコリア", + "block.create.chiseled_dolomite": "模様入りの苦灰岩", + "block.create.chiseled_gabbro": "模様入りの斑れい岩", + "block.create.chiseled_limestone": "模様入りの石灰岩", + "block.create.chiseled_scoria": "模様入りのスコリア", + "block.create.chiseled_weathered_limestone": "模様入りの風化した石灰岩", + "block.create.chocolate": "チョコレート", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "シュート", + "block.create.clockwork_bearing": "時計仕掛けのベアリング", + "block.create.clutch": "クラッチ", + "block.create.cogwheel": "歯車", + "block.create.content_observer": "コンテンツオブザーバー", + "block.create.controller_rail": "コントローラーレール", + "block.create.copper_block": "銅ブロック", + "block.create.copper_casing": "銅ケーシング", + "block.create.copper_ore": "銅鉱石", + "block.create.copper_shingles": "銅の屋根板", "block.create.copper_tiles": "銅のタイル", "block.create.copper_valve_handle": "銅のバルブハンドル", "block.create.creative_crate": "クリエティブクレート", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 560628b7e..b6b7e0670 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 684", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "아카시아 유리창", - "block.create.acacia_window_pane": "아카시아나무 유리판 ", - "block.create.adjustable_chain_gearshift": "벨트 변속기", - "block.create.adjustable_crate": "가변 창고", - "block.create.adjustable_pulse_repeater": "가변 펄스 리피터", - "block.create.adjustable_repeater": "가변 리피터", - "block.create.analog_lever": "아날로그 레버", + "_": "Missing Localizations: 685", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "아카시아 유리창", + "block.create.acacia_window_pane": "아카시아나무 유리판 ", + "block.create.adjustable_chain_gearshift": "벨트 변속기", + "block.create.adjustable_crate": "가변 창고", + "block.create.adjustable_pulse_repeater": "가변 펄스 리피터", + "block.create.adjustable_repeater": "가변 리피터", + "block.create.analog_lever": "아날로그 레버", "block.create.andesite_belt_funnel": "안산암 깔때기", "block.create.andesite_bricks": "안산암 벽돌", "block.create.andesite_bricks_slab": "안산암 벽돌 반 블록", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "황동 깔때기", "block.create.brass_tunnel": "황동 터널", "block.create.brown_sail": "갈색 날개", - "block.create.brown_seat": "갈색 좌석", - "block.create.brown_valve_handle": "갈색 밸브 손잡이", - "block.create.cart_assembler": "카트 조립기", - "block.create.chiseled_dark_scoria": "조각된 짙은 스코리아", - "block.create.chiseled_dolomite": "조각된 백운암", - "block.create.chiseled_gabbro": "조각된 반려암", - "block.create.chiseled_limestone": "조각된 석회암", - "block.create.chiseled_scoria": "조각된 스코리아", - "block.create.chiseled_weathered_limestone": "조각된 풍화된 석회암", - "block.create.chocolate": "초콜릿", - "block.create.chute": "슈트", - "block.create.clockwork_bearing": "시계 베어링", - "block.create.clutch": "클러치", - "block.create.cogwheel": "톱니바퀴", - "block.create.content_observer": "정보 감지기", - "block.create.controller_rail": "방향 레일", - "block.create.copper_block": "구리 블록", - "block.create.copper_casing": "구리 케이스", - "block.create.copper_ore": "구리 광석", - "block.create.copper_shingles": "구리 판자", + "block.create.brown_seat": "갈색 좌석", + "block.create.brown_valve_handle": "갈색 밸브 손잡이", + "block.create.cart_assembler": "카트 조립기", + "block.create.chiseled_dark_scoria": "조각된 짙은 스코리아", + "block.create.chiseled_dolomite": "조각된 백운암", + "block.create.chiseled_gabbro": "조각된 반려암", + "block.create.chiseled_limestone": "조각된 석회암", + "block.create.chiseled_scoria": "조각된 스코리아", + "block.create.chiseled_weathered_limestone": "조각된 풍화된 석회암", + "block.create.chocolate": "초콜릿", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "슈트", + "block.create.clockwork_bearing": "시계 베어링", + "block.create.clutch": "클러치", + "block.create.cogwheel": "톱니바퀴", + "block.create.content_observer": "정보 감지기", + "block.create.controller_rail": "방향 레일", + "block.create.copper_block": "구리 블록", + "block.create.copper_casing": "구리 케이스", + "block.create.copper_ore": "구리 광석", + "block.create.copper_shingles": "구리 판자", "block.create.copper_tiles": "구리 타일", "block.create.copper_valve_handle": "구리 밸브 손잡이", "block.create.creative_crate": "크리에이티브 창고", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index fd213b6f6..738fd4845 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 1561", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "UNLOCALIZED: Acacia Window", - "block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane", - "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", - "block.create.adjustable_crate": "FlexKrat", - "block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater", - "block.create.adjustable_repeater": "FlexSterker", - "block.create.analog_lever": "UNLOCALIZED: Analog Lever", + "_": "Missing Localizations: 1562", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "UNLOCALIZED: Acacia Window", + "block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane", + "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", + "block.create.adjustable_crate": "FlexKrat", + "block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater", + "block.create.adjustable_repeater": "FlexSterker", + "block.create.analog_lever": "UNLOCALIZED: Analog Lever", "block.create.andesite_belt_funnel": "UNLOCALIZED: Andesite Belt Funnel", "block.create.andesite_bricks": "Andesietstenen", "block.create.andesite_bricks_slab": "UNLOCALIZED: Andesite Bricks Slab", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", - "block.create.brown_seat": "UNLOCALIZED: Brown Seat", - "block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle", - "block.create.cart_assembler": "Kar Assembler", - "block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria", - "block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite", - "block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro", - "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", - "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", - "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", - "block.create.chocolate": "UNLOCALIZED: Chocolate", - "block.create.chute": "UNLOCALIZED: Chute", - "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", - "block.create.clutch": "Koppeling", - "block.create.cogwheel": "Tandwiel", - "block.create.content_observer": "UNLOCALIZED: Content Observer", - "block.create.controller_rail": "UNLOCALIZED: Controller Rail", - "block.create.copper_block": "UNLOCALIZED: Block of Copper", - "block.create.copper_casing": "UNLOCALIZED: Copper Casing", - "block.create.copper_ore": "UNLOCALIZED: Copper Ore", - "block.create.copper_shingles": "UNLOCALIZED: Copper Shingles", + "block.create.brown_seat": "UNLOCALIZED: Brown Seat", + "block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle", + "block.create.cart_assembler": "Kar Assembler", + "block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria", + "block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite", + "block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro", + "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", + "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", + "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "UNLOCALIZED: Chute", + "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", + "block.create.clutch": "Koppeling", + "block.create.cogwheel": "Tandwiel", + "block.create.content_observer": "UNLOCALIZED: Content Observer", + "block.create.controller_rail": "UNLOCALIZED: Controller Rail", + "block.create.copper_block": "UNLOCALIZED: Block of Copper", + "block.create.copper_casing": "UNLOCALIZED: Copper Casing", + "block.create.copper_ore": "UNLOCALIZED: Copper Ore", + "block.create.copper_shingles": "UNLOCALIZED: Copper Shingles", "block.create.copper_tiles": "UNLOCALIZED: Copper Tiles", "block.create.copper_valve_handle": "UNLOCALIZED: Copper Valve Handle", "block.create.creative_crate": "Bouwtekeningkannon Creatiefeerder", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index d29401108..c51acbd2e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 1615", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "UNLOCALIZED: Acacia Window", - "block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane", - "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", - "block.create.adjustable_crate": "adjustable_crate", - "block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater", - "block.create.adjustable_repeater": "Repetidor Flex", - "block.create.analog_lever": "UNLOCALIZED: Analog Lever", + "_": "Missing Localizations: 1616", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "UNLOCALIZED: Acacia Window", + "block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane", + "block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift", + "block.create.adjustable_crate": "adjustable_crate", + "block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater", + "block.create.adjustable_repeater": "Repetidor Flex", + "block.create.analog_lever": "UNLOCALIZED: Analog Lever", "block.create.andesite_belt_funnel": "UNLOCALIZED: Andesite Belt Funnel", "block.create.andesite_bricks": "Tijolos de Andesite", "block.create.andesite_bricks_slab": "UNLOCALIZED: Andesite Bricks Slab", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brown_sail": "UNLOCALIZED: Brown Sail", - "block.create.brown_seat": "UNLOCALIZED: Brown Seat", - "block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle", - "block.create.cart_assembler": "UNLOCALIZED: Cart Assembler", - "block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria", - "block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite", - "block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro", - "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", - "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", - "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", - "block.create.chocolate": "UNLOCALIZED: Chocolate", - "block.create.chute": "UNLOCALIZED: Chute", - "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", - "block.create.clutch": "Embreagem", - "block.create.cogwheel": "Roda Dentada", - "block.create.content_observer": "UNLOCALIZED: Content Observer", - "block.create.controller_rail": "UNLOCALIZED: Controller Rail", - "block.create.copper_block": "UNLOCALIZED: Block of Copper", - "block.create.copper_casing": "UNLOCALIZED: Copper Casing", - "block.create.copper_ore": "UNLOCALIZED: Copper Ore", - "block.create.copper_shingles": "UNLOCALIZED: Copper Shingles", + "block.create.brown_seat": "UNLOCALIZED: Brown Seat", + "block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle", + "block.create.cart_assembler": "UNLOCALIZED: Cart Assembler", + "block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria", + "block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite", + "block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro", + "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", + "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", + "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "UNLOCALIZED: Chute", + "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", + "block.create.clutch": "Embreagem", + "block.create.cogwheel": "Roda Dentada", + "block.create.content_observer": "UNLOCALIZED: Content Observer", + "block.create.controller_rail": "UNLOCALIZED: Controller Rail", + "block.create.copper_block": "UNLOCALIZED: Block of Copper", + "block.create.copper_casing": "UNLOCALIZED: Copper Casing", + "block.create.copper_ore": "UNLOCALIZED: Copper Ore", + "block.create.copper_shingles": "UNLOCALIZED: Copper Shingles", "block.create.copper_tiles": "UNLOCALIZED: Copper Tiles", "block.create.copper_valve_handle": "UNLOCALIZED: Copper Valve Handle", "block.create.creative_crate": "Criativador Esquemaannon", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 4e61e7a7c..d3caf4c2b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 528", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "Акациевое окно", - "block.create.acacia_window_pane": "Панель из акациевого окна", - "block.create.adjustable_chain_gearshift": "Регулируемый цепной механизм", - "block.create.adjustable_crate": "Регулируемый ящик", - "block.create.adjustable_pulse_repeater": "Регулируемый импульсный повторитель", - "block.create.adjustable_repeater": "Регулируемый повторитель", - "block.create.analog_lever": "Аналоговый рычаг", + "_": "Missing Localizations: 529", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "Акациевое окно", + "block.create.acacia_window_pane": "Панель из акациевого окна", + "block.create.adjustable_chain_gearshift": "Регулируемый цепной механизм", + "block.create.adjustable_crate": "Регулируемый ящик", + "block.create.adjustable_pulse_repeater": "Регулируемый импульсный повторитель", + "block.create.adjustable_repeater": "Регулируемый повторитель", + "block.create.analog_lever": "Аналоговый рычаг", "block.create.andesite_belt_funnel": "Андезитовая конвейерная воронка", "block.create.andesite_bricks": "Андезитовый кирпич", "block.create.andesite_bricks_slab": "Плита из андезитового кирпича", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "Латунная воронка", "block.create.brass_tunnel": "Латунный туннель", "block.create.brown_sail": "Коричневый парус", - "block.create.brown_seat": "Коричневое сиденье", - "block.create.brown_valve_handle": "Коричневый ручной вентиль", - "block.create.cart_assembler": "Сборщик вагонеток", - "block.create.chiseled_dark_scoria": "Резной тёмный пепел", - "block.create.chiseled_dolomite": "Резной доломит", - "block.create.chiseled_gabbro": "Резной габбро", - "block.create.chiseled_limestone": "Резной известняк", - "block.create.chiseled_scoria": "Резной пепел", - "block.create.chiseled_weathered_limestone": "Выветренный резной известняк", - "block.create.chocolate": "Шоколад", - "block.create.chute": "Желоб", - "block.create.clockwork_bearing": "Часовой механизм", - "block.create.clutch": "Сцепление", - "block.create.cogwheel": "Шестерня", - "block.create.content_observer": "Наблюдетель за содержимым", - "block.create.controller_rail": "Контролирующая рельса", - "block.create.copper_block": "Медный блок", - "block.create.copper_casing": "Медный корпус", - "block.create.copper_ore": "Медная руда", - "block.create.copper_shingles": "Медная черепица", + "block.create.brown_seat": "Коричневое сиденье", + "block.create.brown_valve_handle": "Коричневый ручной вентиль", + "block.create.cart_assembler": "Сборщик вагонеток", + "block.create.chiseled_dark_scoria": "Резной тёмный пепел", + "block.create.chiseled_dolomite": "Резной доломит", + "block.create.chiseled_gabbro": "Резной габбро", + "block.create.chiseled_limestone": "Резной известняк", + "block.create.chiseled_scoria": "Резной пепел", + "block.create.chiseled_weathered_limestone": "Выветренный резной известняк", + "block.create.chocolate": "Шоколад", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "Желоб", + "block.create.clockwork_bearing": "Часовой механизм", + "block.create.clutch": "Сцепление", + "block.create.cogwheel": "Шестерня", + "block.create.content_observer": "Наблюдетель за содержимым", + "block.create.controller_rail": "Контролирующая рельса", + "block.create.copper_block": "Медный блок", + "block.create.copper_casing": "Медный корпус", + "block.create.copper_ore": "Медная руда", + "block.create.copper_shingles": "Медная черепица", "block.create.copper_tiles": "Медная плитка", "block.create.copper_valve_handle": "Медный ручной вентиль", "block.create.creative_crate": "Творческий ящик", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index ef0da1165..3d8a6dfa9 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 628", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "金合欢窗户", - "block.create.acacia_window_pane": "金合欢窗户板", - "block.create.adjustable_chain_gearshift": "可调节链式传动箱", - "block.create.adjustable_crate": "可调节板条箱", - "block.create.adjustable_pulse_repeater": "可调节脉冲中继器", - "block.create.adjustable_repeater": "可调节中继器", - "block.create.analog_lever": "可调节拉杆", + "_": "Missing Localizations: 629", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "金合欢窗户", + "block.create.acacia_window_pane": "金合欢窗户板", + "block.create.adjustable_chain_gearshift": "可调节链式传动箱", + "block.create.adjustable_crate": "可调节板条箱", + "block.create.adjustable_pulse_repeater": "可调节脉冲中继器", + "block.create.adjustable_repeater": "可调节中继器", + "block.create.analog_lever": "可调节拉杆", "block.create.andesite_belt_funnel": "安山岩传送带漏斗", "block.create.andesite_bricks": "安山岩砖", "block.create.andesite_bricks_slab": "安山岩砖台阶", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "黄铜漏斗", "block.create.brass_tunnel": "黄铜隧道", "block.create.brown_sail": "棕色风帆", - "block.create.brown_seat": "棕色坐垫", - "block.create.brown_valve_handle": "棕色阀门手轮", - "block.create.cart_assembler": "矿车装配站", - "block.create.chiseled_dark_scoria": "錾制深色熔渣", - "block.create.chiseled_dolomite": "錾制白云岩", - "block.create.chiseled_gabbro": "錾制辉长岩", - "block.create.chiseled_limestone": "錾制石灰岩", - "block.create.chiseled_scoria": "錾制熔渣", - "block.create.chiseled_weathered_limestone": "錾制风化石灰岩", - "block.create.chocolate": "巧克力", - "block.create.chute": "溜槽", - "block.create.clockwork_bearing": "时钟轴承", - "block.create.clutch": "离合器", - "block.create.cogwheel": "齿轮", - "block.create.content_observer": "物品侦测器", - "block.create.controller_rail": "控制铁轨", - "block.create.copper_block": "铜块", - "block.create.copper_casing": "铜机壳", - "block.create.copper_ore": "铜矿石", - "block.create.copper_shingles": "铜砖块", + "block.create.brown_seat": "棕色坐垫", + "block.create.brown_valve_handle": "棕色阀门手轮", + "block.create.cart_assembler": "矿车装配站", + "block.create.chiseled_dark_scoria": "錾制深色熔渣", + "block.create.chiseled_dolomite": "錾制白云岩", + "block.create.chiseled_gabbro": "錾制辉长岩", + "block.create.chiseled_limestone": "錾制石灰岩", + "block.create.chiseled_scoria": "錾制熔渣", + "block.create.chiseled_weathered_limestone": "錾制风化石灰岩", + "block.create.chocolate": "巧克力", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "溜槽", + "block.create.clockwork_bearing": "时钟轴承", + "block.create.clutch": "离合器", + "block.create.cogwheel": "齿轮", + "block.create.content_observer": "物品侦测器", + "block.create.controller_rail": "控制铁轨", + "block.create.copper_block": "铜块", + "block.create.copper_casing": "铜机壳", + "block.create.copper_ore": "铜矿石", + "block.create.copper_shingles": "铜砖块", "block.create.copper_tiles": "铜砖块", "block.create.copper_valve_handle": "铜阀门手轮", "block.create.creative_crate": "创造板条箱", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index e7fb6b633..9858e48e2 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1,15 +1,13 @@ { - "_": "Missing Localizations: 633", - - "_": "->------------------------] Game Elements [------------------------<-", - - "block.create.acacia_window": "相思木窗戶", - "block.create.acacia_window_pane": "相思木窗戶片", - "block.create.adjustable_chain_gearshift": "可調式鏈式變速箱", - "block.create.adjustable_crate": "可調式板條箱", - "block.create.adjustable_pulse_repeater": "可調式脈衝中繼器", - "block.create.adjustable_repeater": "可調式中繼器", - "block.create.analog_lever": "可調式拉桿", + "_": "Missing Localizations: 634", + "_": "->------------------------] Game Elements [------------------------<-", + "block.create.acacia_window": "相思木窗戶", + "block.create.acacia_window_pane": "相思木窗戶片", + "block.create.adjustable_chain_gearshift": "可調式鏈式變速箱", + "block.create.adjustable_crate": "可調式板條箱", + "block.create.adjustable_pulse_repeater": "可調式脈衝中繼器", + "block.create.adjustable_repeater": "可調式中繼器", + "block.create.analog_lever": "可調式拉桿", "block.create.andesite_belt_funnel": "安山岩輸送帶漏斗", "block.create.andesite_bricks": "安山岩磚", "block.create.andesite_bricks_slab": "安山岩半磚", @@ -42,26 +40,27 @@ "block.create.brass_funnel": "黃銅漏斗", "block.create.brass_tunnel": "黃銅物品隧道", "block.create.brown_sail": "棕色風帆", - "block.create.brown_seat": "棕色坐墊", - "block.create.brown_valve_handle": "棕色閥門開關", - "block.create.cart_assembler": "礦車裝修站", - "block.create.chiseled_dark_scoria": "鏨製黑火成岩", - "block.create.chiseled_dolomite": "鏨製白雲石", - "block.create.chiseled_gabbro": "鏨製輝長岩", - "block.create.chiseled_limestone": "鏨製石灰岩", - "block.create.chiseled_scoria": "鏨製火成岩", - "block.create.chiseled_weathered_limestone": "鏨製風化石灰岩", - "block.create.chocolate": "巧克力", - "block.create.chute": "滑道", - "block.create.clockwork_bearing": "時鐘軸承", - "block.create.clutch": "離合器", - "block.create.cogwheel": "齒輪", - "block.create.content_observer": "物品偵測器", - "block.create.controller_rail": "控制鐵軌", - "block.create.copper_block": "銅磚", - "block.create.copper_casing": "銅機殼", - "block.create.copper_ore": "銅礦石", - "block.create.copper_shingles": "塊狀銅磚", + "block.create.brown_seat": "棕色坐墊", + "block.create.brown_valve_handle": "棕色閥門開關", + "block.create.cart_assembler": "礦車裝修站", + "block.create.chiseled_dark_scoria": "鏨製黑火成岩", + "block.create.chiseled_dolomite": "鏨製白雲石", + "block.create.chiseled_gabbro": "鏨製輝長岩", + "block.create.chiseled_limestone": "鏨製石灰岩", + "block.create.chiseled_scoria": "鏨製火成岩", + "block.create.chiseled_weathered_limestone": "鏨製風化石灰岩", + "block.create.chocolate": "巧克力", + "block.create.chromatic_projector": "UNLOCALIZED: Chromatic Projector", + "block.create.chute": "滑道", + "block.create.clockwork_bearing": "時鐘軸承", + "block.create.clutch": "離合器", + "block.create.cogwheel": "齒輪", + "block.create.content_observer": "物品偵測器", + "block.create.controller_rail": "控制鐵軌", + "block.create.copper_block": "銅磚", + "block.create.copper_casing": "銅機殼", + "block.create.copper_ore": "銅礦石", + "block.create.copper_shingles": "塊狀銅磚", "block.create.copper_tiles": "菱形銅磚", "block.create.copper_valve_handle": "銅製閥門開關", "block.create.creative_crate": "創造板條箱", @@ -2128,4 +2127,4 @@ "_": "Thank you for translating Create!" -} \ No newline at end of file +} diff --git a/src/main/java/com/simibubi/create/AllContainerTypes.java b/src/main/java/com/simibubi/create/AllContainerTypes.java index d17d0ffce..f7ea37a0c 100644 --- a/src/main/java/com/simibubi/create/AllContainerTypes.java +++ b/src/main/java/com/simibubi/create/AllContainerTypes.java @@ -1,7 +1,5 @@ package com.simibubi.create; -import com.simibubi.create.content.curiosities.projector.ChromaticProjectorContainer; -import com.simibubi.create.content.curiosities.projector.ChromaticProjectorScreen; import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateContainer; import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateScreen; import com.simibubi.create.content.logistics.item.filter.AttributeFilterContainer; @@ -34,7 +32,6 @@ public enum AllContainerTypes { FLEXCRATE(AdjustableCrateContainer::new), FILTER(FilterContainer::new), ATTRIBUTE_FILTER(AttributeFilterContainer::new), - CHROMATIC_PROJECTOR(ChromaticProjectorContainer::new), ; @@ -61,7 +58,6 @@ public enum AllContainerTypes { bind(FLEXCRATE, AdjustableCrateScreen::new); bind(FILTER, FilterScreen::new); bind(ATTRIBUTE_FILTER, AttributeFilterScreen::new); - bind(CHROMATIC_PROJECTOR, ChromaticProjectorScreen::new); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorBlock.java b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorBlock.java index 0ae33f6b2..86b6ebeec 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorBlock.java @@ -2,13 +2,16 @@ package com.simibubi.create.content.curiosities.projector; import javax.annotation.Nullable; +import com.simibubi.create.AllItems; import com.simibubi.create.AllTileEntities; import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.gui.ScreenOpener; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; @@ -16,7 +19,9 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.world.IBlockReader; import net.minecraft.world.World; -import net.minecraftforge.fml.network.NetworkHooks; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fml.DistExecutor; public class ChromaticProjectorBlock extends Block implements ITE { public ChromaticProjectorBlock(Properties p_i48440_1_) { @@ -26,14 +31,21 @@ public class ChromaticProjectorBlock extends Block implements ITE NetworkHooks.openGui((ServerPlayerEntity) player, te, te::sendToContainer)); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, + () -> () -> withTileEntityDo(worldIn, pos, te -> this.displayScreen(te, player))); return ActionResultType.SUCCESS; } + @OnlyIn(value = Dist.CLIENT) + protected void displayScreen(ChromaticProjectorTileEntity te, PlayerEntity player) { + if (player instanceof ClientPlayerEntity) + ScreenOpener.open(new ChromaticProjectorScreen(te)); + } + @Override public boolean hasTileEntity(BlockState state) { return true; diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorContainer.java b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorContainer.java deleted file mode 100644 index bfe6444ee..000000000 --- a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorContainer.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.simibubi.create.content.curiosities.projector; - -import javax.annotation.Nullable; - -import com.simibubi.create.AllContainerTypes; - -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.ContainerType; -import net.minecraft.network.PacketBuffer; - -public class ChromaticProjectorContainer extends Container { - - public ChromaticProjectorContainer(int id, PlayerInventory inv, PacketBuffer extraData) { - super(AllContainerTypes.CHROMATIC_PROJECTOR.type, id); - - - } - - public ChromaticProjectorContainer(int id, PlayerInventory inv, ChromaticProjectorTileEntity te) { - super(AllContainerTypes.CHROMATIC_PROJECTOR.type, id); - } - - public ChromaticProjectorContainer(@Nullable ContainerType p_i50105_1_, int p_i50105_2_) { - super(p_i50105_1_, p_i50105_2_); - } - - @Override - public boolean canInteractWith(PlayerEntity p_75145_1_) { - return true; - } -} diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorScreen.java b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorScreen.java index 0c5652339..1c74cf804 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorScreen.java +++ b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorScreen.java @@ -1,62 +1,186 @@ package com.simibubi.create.content.curiosities.projector; -import java.util.ArrayList; -import java.util.Collections; +import java.util.Vector; import com.mojang.blaze3d.matrix.MatrixStack; -import com.simibubi.create.foundation.gui.AbstractSimiContainerScreen; +import com.simibubi.create.AllBlocks; +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.gui.GuiGameElement; +import com.simibubi.create.foundation.gui.widgets.IconButton; import com.simibubi.create.foundation.gui.widgets.ScrollInput; import com.simibubi.create.foundation.gui.widgets.SelectionScrollInput; +import com.simibubi.create.foundation.utility.Lang; -import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.ListNBT; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; -public class ChromaticProjectorScreen extends AbstractSimiContainerScreen { +public class ChromaticProjectorScreen extends AbstractSimiScreen { - private ScrollInput filter; - private ScrollInput radius; - private ScrollInput feather; - private ScrollInput fade; + public static final int MAX_STEPS = 4; - public ChromaticProjectorScreen(ChromaticProjectorContainer container, PlayerInventory inv, ITextComponent title) { - super(container, inv, title); + private final ItemStack renderedItem = AllBlocks.CHROMATIC_PROJECTOR.asStack(); + private final AllGuiTextures background = AllGuiTextures.PROJECTOR; + private IconButton confirmButton; + + private final ITextComponent title = Lang.translate("gui.chromatic_projector.title"); + private ListNBT compareTag; + private Vector stages; + private BlockPos pos; + + private Vector> inputs; + + public ChromaticProjectorScreen(ChromaticProjectorTileEntity te) { + this.stages = te.stages; + this.pos = te.getPos(); + //compareTag = Instruction.serializeAll(stages); } @Override protected void init() { + setWindowSize(background.width + 50, background.height); super.init(); - widgets.clear(); - int x = guiLeft + 11; - int y = guiTop + 20; + inputs = new Vector<>(MAX_STEPS); + for (int row = 0; row < inputs.capacity(); row++) + inputs.add(new Vector<>(2)); - ArrayList filterOptions = new ArrayList<>(); + for (int row = 0; row < stages.size(); row++) + initInputsOfRow(row); - filterOptions.add(new StringTextComponent("Test")); - filterOptions.add(new StringTextComponent("Test1")); + confirmButton = + new IconButton(guiLeft + background.width - 33, guiTop + background.height - 24, AllIcons.I_CONFIRM); + widgets.add(confirmButton); + } - filter = new SelectionScrollInput(x, y, 77, 18) - .forOptions(filterOptions); - y += 20; - radius = new ScrollInput(x, y, 30, 20); - y += 20; - feather = new ScrollInput(x, y, 30, 20); - y += 20; - fade = new ScrollInput(x, y, 30, 20); - y += 20; - Collections.addAll(widgets, filter, radius, feather, fade); + public void initInputsOfRow(int row) { + int x = guiLeft + 30; + int y = guiTop + 18; + int rowHeight = 22; + Vector rowInputs = inputs.get(row); + rowInputs.forEach(widgets::remove); + rowInputs.clear(); + int index = row; + FilterStep instruction = stages.get(row); + + ScrollInput type = + new SelectionScrollInput(x, y + rowHeight * row, 86, 18).forOptions(ColorEffects.getOptions()) + .calling(state -> instructionUpdated(index, state)) + .setState(instruction.instruction.ordinal()) + .titled(Lang.translate("gui.chromatic_projector.filter")); + ScrollInput value = + new ScrollInput(x + 86 + 2, y + rowHeight * row, 28, 18).calling(state -> instruction.value = state); + + rowInputs.add(type); + rowInputs.add(value); + + widgets.addAll(rowInputs); + updateParamsOfRow(row); + } + + public void updateParamsOfRow(int row) { + FilterStep instruction = stages.get(row); + Vector rowInputs = inputs.get(row); + ColorEffects def = instruction.instruction; + boolean hasValue = def.hasParameter; + + ScrollInput value = rowInputs.get(1); + value.active = value.visible = hasValue; + if (hasValue) + value.withRange(0, 100) + //.titled(Lang.translate(def.parameterKey)) + //.withShiftStep(def.shiftStep) + .setState(instruction.value) + .onChanged(); + + value.withStepFunction(value.standardStep()); } @Override protected void renderWindow(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) { - //AllGuiTextures.PLAYER_INVENTORY.draw(matrixStack, this, guiLeft - 10, guiTop + 145); - AllGuiTextures.PROJECTOR.draw(matrixStack, this, guiLeft, guiTop); -// BG_TOP.draw(matrixStack, this, guiLeft + 20, guiTop); -// BG_BOTTOM.draw(matrixStack, this, guiLeft + 20, guiTop + BG_TOP.height); + int hFontColor = 0xD3CBBE; + background.draw(matrixStack, this, guiLeft, guiTop); + for (int row = 0; row < stages.capacity(); row++) { + AllGuiTextures toDraw = AllGuiTextures.PROJECTOR_EMPTY; + int yOffset = toDraw.height * row; + if (row >= stages.size()) { + toDraw.draw(matrixStack, guiLeft, guiTop + 14 + yOffset); + continue; + } + + FilterStep instruction = stages.get(row); + ColorEffects def = instruction.instruction; + def.background.draw(matrixStack, guiLeft, guiTop + 14 + yOffset); + + label(matrixStack, 36, yOffset - 3, Lang.translate(def.translationKey)); + if (def.hasParameter) { + String text = instruction.value + " %"; + int stringWidth = textRenderer.getStringWidth(text); + label(matrixStack, 118 + (12 - stringWidth / 2), yOffset - 3, new StringTextComponent(text)); + } + } + + textRenderer.drawWithShadow(matrixStack, title, guiLeft - 3 + (background.width - textRenderer.getWidth(title)) / 2, guiTop + 3, + 0xffffff); + + GuiGameElement.of(renderedItem) + .at(guiLeft + background.width + 10, guiTop + 100, -150) + .scale(5) + .render(matrixStack); } + + private void label(MatrixStack matrixStack, int x, int y, ITextComponent text) { + textRenderer.drawWithShadow(matrixStack, text, guiLeft + x, guiTop + 26 + y, 0xFFFFEE); + } + + public void sendPacket() { +// ListNBT serialized = Instruction.serializeAll(stages); +// if (serialized.equals(compareTag)) +// return; +// AllPackets.channel.sendToServer(new ConfigureSequencedGearshiftPacket(pos, serialized)); + } + + @Override + public void removed() { + sendPacket(); + } + + private void instructionUpdated(int index, int state) { + ColorEffects newValue = ColorEffects.values()[state]; + stages.get(index).instruction = newValue; + stages.get(index).value = 100; + updateParamsOfRow(index); + if (newValue == ColorEffects.END) { + for (int i = stages.size() - 1; i > index; i--) { + stages.remove(i); + Vector rowInputs = inputs.get(i); + rowInputs.forEach(widgets::remove); + rowInputs.clear(); + } + } else { + if (index + 1 < stages.capacity() && index + 1 == stages.size()) { + stages.add(new FilterStep(ColorEffects.END)); + initInputsOfRow(index + 1); + } + } + } + + @Override + public boolean mouseClicked(double x, double y, int button) { + if (confirmButton.isHovered()) { + Minecraft.getInstance().player.closeScreen(); + return true; + } + + return super.mouseClicked(x, y, button); + } + } diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorTileEntity.java index d7d9974ff..79b20d45c 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/projector/ChromaticProjectorTileEntity.java @@ -1,40 +1,15 @@ package com.simibubi.create.content.curiosities.projector; -import javax.annotation.Nullable; +import java.util.Vector; -import com.simibubi.create.foundation.render.backend.effects.SphereFilterProgram; - -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.INamedContainerProvider; -import net.minecraft.network.PacketBuffer; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -public class ChromaticProjectorTileEntity extends TileEntity implements INamedContainerProvider { +public class ChromaticProjectorTileEntity extends TileEntity { - SphereFilterProgram.FilterSphere filter; + Vector stages = FilterStep.createDefault(); public ChromaticProjectorTileEntity(TileEntityType te) { super(te); } - - public void sendToContainer(PacketBuffer buffer) { - buffer.writeBlockPos(getPos()); - buffer.writeCompoundTag(getUpdateTag()); - } - - @Override - public ITextComponent getDisplayName() { - return new StringTextComponent("Chromatic Projector"); - } - - @Nullable - @Override - public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) { - return new ChromaticProjectorContainer(p_createMenu_1_, p_createMenu_2_, this); - } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/ColorEffects.java b/src/main/java/com/simibubi/create/content/curiosities/projector/ColorEffects.java new file mode 100644 index 000000000..abddf5773 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/projector/ColorEffects.java @@ -0,0 +1,59 @@ +package com.simibubi.create.content.curiosities.projector; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +import com.simibubi.create.foundation.gui.AllGuiTextures; +import com.simibubi.create.foundation.render.backend.effects.ColorMatrices; +import com.simibubi.create.foundation.utility.Lang; + +import net.minecraft.util.math.vector.Matrix4f; +import net.minecraft.util.text.ITextComponent; + +public enum ColorEffects { + INVERT(ColorMatrices::invert), + SEPIA(ColorMatrices::sepia), + GRAYSCALE(ColorMatrices::grayscale), + SATURATE(ColorMatrices::saturate), + HUE_SHIFT(ColorMatrices::hueShift), + END(ColorMatrices::identity, AllGuiTextures.PROJECTOR_END), + + ; + + FilterFactory filter; + boolean hasParameter; + String translationKey; + AllGuiTextures background; + + ColorEffects(Supplier filter, AllGuiTextures background) { + this($ -> filter.get(), false, background); + } + + ColorEffects(Supplier filter) { + this($ -> filter.get(), false, AllGuiTextures.PROJECTOR_FILTER); + } + + ColorEffects(FilterFactory filter) { + this(filter, true, AllGuiTextures.PROJECTOR_FILTER_STRENGTH); + } + + ColorEffects(FilterFactory filter, boolean hasParameter, AllGuiTextures background) { + this.filter = filter; + this.hasParameter = hasParameter; + this.background = background; + translationKey = "gui.chromatic_projector.filter." + Lang.asId(name()); + } + + static List getOptions() { + List options = new ArrayList<>(); + for (ColorEffects entry : values()) + options.add(Lang.translate(entry.translationKey)); + return options; + } + + @FunctionalInterface + public interface FilterFactory { + Matrix4f create(float param); + } +} diff --git a/src/main/java/com/simibubi/create/content/curiosities/projector/FilterStep.java b/src/main/java/com/simibubi/create/content/curiosities/projector/FilterStep.java new file mode 100644 index 000000000..576df6c31 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/projector/FilterStep.java @@ -0,0 +1,25 @@ +package com.simibubi.create.content.curiosities.projector; + +import java.util.Vector; + +public class FilterStep { + + ColorEffects instruction; + int value; + + public FilterStep(ColorEffects instruction) { + this.instruction = instruction; + } + + public FilterStep(ColorEffects instruction, int value) { + this.instruction = instruction; + this.value = value; + } + + public static Vector createDefault() { + Vector instructions = new Vector<>(ChromaticProjectorScreen.MAX_STEPS); + instructions.add(new FilterStep(ColorEffects.SEPIA, 100)); + instructions.add(new FilterStep(ColorEffects.END)); + return instructions; + } +} diff --git a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java index 3db38433b..49820aaba 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java @@ -56,7 +56,11 @@ public enum AllGuiTextures implements IScreenRenderable { SEQUENCER_EMPTY("sequencer.png", 0, 102, 162, 22), SEQUENCER_AWAIT("sequencer.png", 0, 160, 162, 22), - PROJECTOR("projector.png", 173, 159), + PROJECTOR("projector.png", 173, 194), + PROJECTOR_FILTER_STRENGTH("projector.png", 0, 14, 162, 22), + PROJECTOR_FILTER("projector.png", 0, 36, 162, 22), + PROJECTOR_END("projector.png", 0, 58, 162, 22), + PROJECTOR_EMPTY("projector.png", 0, 80, 162, 22), // JEI JEI_SLOT("jei/widgets.png", 18, 18), diff --git a/src/main/java/com/simibubi/create/foundation/render/backend/effects/ColorMatrices.java b/src/main/java/com/simibubi/create/foundation/render/backend/effects/ColorMatrices.java index 93b2ae186..2bab3cfe0 100644 --- a/src/main/java/com/simibubi/create/foundation/render/backend/effects/ColorMatrices.java +++ b/src/main/java/com/simibubi/create/foundation/render/backend/effects/ColorMatrices.java @@ -72,7 +72,7 @@ public class ColorMatrices { } // https://stackoverflow.com/a/8510751 - public static Matrix4f hueShiftRGB(float rot) { + public static Matrix4f hueShift(float rot) { Matrix4f mat = new Matrix4f(); mat.loadIdentity(); @@ -91,4 +91,10 @@ public class ColorMatrices { return mat; } + + public static Matrix4f identity() { + Matrix4f mat = new Matrix4f(); + mat.loadIdentity(); + return mat; + } } diff --git a/src/main/java/com/simibubi/create/foundation/render/backend/effects/EffectsHandler.java b/src/main/java/com/simibubi/create/foundation/render/backend/effects/EffectsHandler.java index 33151d5ce..0252924d1 100644 --- a/src/main/java/com/simibubi/create/foundation/render/backend/effects/EffectsHandler.java +++ b/src/main/java/com/simibubi/create/foundation/render/backend/effects/EffectsHandler.java @@ -132,18 +132,30 @@ public class EffectsHandler { .setDensity(1.3f) .setFilter(ColorMatrices.grayscale())); - Matrix4f test = ColorMatrices.sepia(1f); + program.addSphere(new SphereFilterProgram.FilterSphere() + .setCenter(new Vector3d(852.5, 70, -203.5).subtract(cameraPos)) + .setRadius(20f) + .setFeather(3f) + .setFade(1f) + .setDensity(1.3f) + .setFilter(ColorMatrices.sepia(1f))); +// Matrix4f test = ColorMatrices.sepia(1f); +// +// +// test.multiply(ColorMatrices.invert()); +// +// Matrix4f darken = new Matrix4f(); +// darken.loadIdentity(); +// darken.multiply(0.7f); +// darken.a03 = 0.7f; +// darken.a13 = 0.7f; +// darken.a23 = 0.7f; +// test.multiply(darken); - test.multiply(ColorMatrices.invert()); + Matrix4f test = ColorMatrices.saturate(2f); - Matrix4f darken = new Matrix4f(); - darken.loadIdentity(); - darken.multiply(0.7f); - darken.a03 = 0.7f; - darken.a13 = 0.7f; - darken.a23 = 0.7f; - test.multiply(darken); + test.multiply(ColorMatrices.hueShift(120f)); program.addSphere(new SphereFilterProgram.FilterSphere() .setCenter(new Vector3d(858.5, 88, -259.5).subtract(cameraPos)) diff --git a/src/main/resources/assets/create/textures/gui/projector.png b/src/main/resources/assets/create/textures/gui/projector.png index f35f17bc65b433efa833d37e70bec3e2d690ce20..b2eaa0404874786d448563f2956a112ca51bc31d 100644 GIT binary patch literal 3095 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