mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-02-05 01:45:00 +01:00
Add mirror block to code
This commit is contained in:
parent
6f226f48eb
commit
6326215fc5
31 changed files with 657 additions and 156 deletions
|
@ -237,6 +237,7 @@ b7c4a0ff0c6f16e14d71fc0fb7fc66d032b65cf3 assets/create/blockstates/mechanical_pu
|
|||
94bbcb7e622471dbf418d78f9200ad321c7168de assets/create/blockstates/metal_bracket.json
|
||||
4e48ad0936647065c2322390e7c0fe115c853a98 assets/create/blockstates/millstone.json
|
||||
468202df0802e17c75fcad0993daf1bc5300ca91 assets/create/blockstates/minecart_anchor.json
|
||||
5e68c6a2af372a89677f1283875d8481c05d6004 assets/create/blockstates/mirror.json
|
||||
6a42f86aaff8ced70aaa6adb9460614ab40c21e5 assets/create/blockstates/mossy_andesite.json
|
||||
bd49d8df2c3b0e07f599026db5dc1e67f4fa6199 assets/create/blockstates/mossy_dark_scoria.json
|
||||
d1fad9fa7f6d948fd68a31a86fe1b952bf80817b assets/create/blockstates/mossy_diorite.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
|
||||
3878d0d84b9575728bd299385af2a61bd3a84243 assets/create/lang/en_us.json
|
||||
33296621c4421a2dc329a3739d8efafbb3b5b57a assets/create/lang/unfinished/de_de.json
|
||||
052248ce9880cb3db937fed06c6d46a3ca77d1b4 assets/create/lang/unfinished/es_es.json
|
||||
05d9d186ad4888c2dcb1eb08fe9b78e1e5482cd7 assets/create/lang/unfinished/es_mx.json
|
||||
dea56d5fcda7baf23d5938b43c1770b5cd76c6f6 assets/create/lang/unfinished/fr_fr.json
|
||||
56513c7dd8f8ce309b0f77019a2b1b0a55c0cf38 assets/create/lang/unfinished/it_it.json
|
||||
888191ed07af611597d5ff852ca3d6cb6bf803b7 assets/create/lang/unfinished/ja_jp.json
|
||||
95fcbeeffd2ced25371f86c9529d4108bf26f930 assets/create/lang/unfinished/ko_kr.json
|
||||
03e170a7196c4c76942e8b6fde2b0a0b9b877113 assets/create/lang/unfinished/nl_nl.json
|
||||
a1e092ee4a6eb19568f36535f183afe1d326f0cf assets/create/lang/unfinished/pt_br.json
|
||||
74b3356506bdb4bf7046768bd7735fa95057d61a assets/create/lang/unfinished/ru_ru.json
|
||||
ce16cef5a488c2f86def742ca2e436cb42e18552 assets/create/lang/unfinished/zh_cn.json
|
||||
b55d5abac95ba2649f656857f54b39f98e686767 assets/create/lang/unfinished/zh_tw.json
|
||||
4ab580b05eecdd48750cb873b7c7ef98a048915b assets/create/lang/en_ud.json
|
||||
ebfd5578f6ef42718c80037e5a6e4d15151621da assets/create/lang/en_us.json
|
||||
4bd58362913f8d8edde00744a4a40172fe1c9b27 assets/create/lang/unfinished/de_de.json
|
||||
3b9ad2085382e2175767ebc295bf1426c5db55c0 assets/create/lang/unfinished/es_es.json
|
||||
0979a0dddc2e7ca0a164653059a7256577152ce7 assets/create/lang/unfinished/es_mx.json
|
||||
0f6ccc13e9684e90e4a6fddbee2bf679ed7fc430 assets/create/lang/unfinished/fr_fr.json
|
||||
1436da7eb2a4b943995c8f60b9704d819d42b513 assets/create/lang/unfinished/it_it.json
|
||||
7508b5c318499188f42f7c7596bf89a3bc2227a2 assets/create/lang/unfinished/ja_jp.json
|
||||
d45df55eb66cd26fd7404674c176cef5e93509a8 assets/create/lang/unfinished/ko_kr.json
|
||||
1a94b23c7a68d0f24f59a12908bd63be44c9c8a0 assets/create/lang/unfinished/nl_nl.json
|
||||
7323a5793a09e37cff61e92cb660d004c2d9e7ee assets/create/lang/unfinished/pt_br.json
|
||||
b8e2d4d06f4f57aa9387162d080abab8dfac956c assets/create/lang/unfinished/ru_ru.json
|
||||
ba7a86b25a9131531bda34daf5ffc42d03c4cf79 assets/create/lang/unfinished/zh_cn.json
|
||||
be1ea320e84306665da73fc021d0c013cee75b1a 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
|
||||
|
@ -1466,6 +1467,7 @@ f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets/create/models/item/mechanical_pi
|
|||
0eb5726c8c0de462f432411c210d6132b2c446a4 assets/create/models/item/millstone.json
|
||||
363c5a2b8ac945b676c838cdf7b0494c3ab13599 assets/create/models/item/minecart_contraption.json
|
||||
01e3fda31e549a3b6a1e5e615b59478e8f06f16a assets/create/models/item/minecart_coupling.json
|
||||
05ecb758484f06ea809ae128d8a128c4cbd60696 assets/create/models/item/mirror.json
|
||||
dc43c88dc8ae1f425e1c10f422b09d97719af5bc assets/create/models/item/mossy_andesite.json
|
||||
4ce9aabf9fa9e9e6af6b4339291e635708bdbcdf assets/create/models/item/mossy_dark_scoria.json
|
||||
d084f03d068d0b8c3b7c4d00014c168f61836770 assets/create/models/item/mossy_diorite.json
|
||||
|
@ -1649,7 +1651,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
|
|||
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
|
||||
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
|
||||
f98bf9f870ac5ee5b31c12a20739773c5fee4949 assets/create/sounds.json
|
||||
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
|
||||
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
|
||||
187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json
|
||||
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json
|
||||
83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json
|
||||
|
@ -2609,6 +2611,7 @@ e94a78187bcf7f235244b2c656732ba9a5821dd0 data/create/loot_tables/blocks/mechanic
|
|||
b13066b9e627db6954a30b115908602f1298576b data/create/loot_tables/blocks/metal_bracket.json
|
||||
efbd4689e7d6740b80357203d1e02196f0752efa data/create/loot_tables/blocks/millstone.json
|
||||
205f5899101262f31f5c1a88bb7d954918d08d04 data/create/loot_tables/blocks/minecart_anchor.json
|
||||
cc3f427bf7e0cac6d73c43fa75e712975522c233 data/create/loot_tables/blocks/mirror.json
|
||||
53215ac772bee2f88052266b82213aaf668660e9 data/create/loot_tables/blocks/mossy_andesite.json
|
||||
1bf4a13a44e5cc03d730b2aa537e60426062786e data/create/loot_tables/blocks/mossy_dark_scoria.json
|
||||
956e6cc0c6314c9c01610b643785eed48d2d9317 data/create/loot_tables/blocks/mossy_diorite.json
|
||||
|
@ -3646,7 +3649,7 @@ eedf31af7134d03656c5fa57229982f9c5bed07c data/create/tags/blocks/brittle.json
|
|||
330bfb3850ba3964b10b1bccbc3cbb9b012cae54 data/create/tags/blocks/fan_heaters.json
|
||||
3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json
|
||||
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/non_movable.json
|
||||
c81ea194e808985847159b201140d4aa4cbcca65 data/create/tags/blocks/safe_nbt.json
|
||||
834b0ba683dac15d2decb80c34214b98cb2be67f data/create/tags/blocks/safe_nbt.json
|
||||
c9ac7e3e5ec18554e7184168d65e9b8e44ef5610 data/create/tags/blocks/sails.json
|
||||
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
|
||||
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/mirror/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/mirror/block"
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/mirror/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -238,6 +238,7 @@
|
|||
"block.create.metal_bracket": "\u0287\u01DD\u029E\u0254\u0250\u0279\u15FA \u05DF\u0250\u0287\u01DDW",
|
||||
"block.create.millstone": "\u01DDuo\u0287s\u05DF\u05DF\u0131W",
|
||||
"block.create.minecart_anchor": "\u0279o\u0265\u0254u\u2C6F \u0287\u0279\u0250\u0254\u01DDu\u0131W",
|
||||
"block.create.mirror": "\u0279o\u0279\u0279\u0131W",
|
||||
"block.create.mossy_andesite": "\u01DD\u0287\u0131s\u01DDpu\u2C6F \u028EssoW",
|
||||
"block.create.mossy_dark_scoria": "\u0250\u0131\u0279o\u0254S \u029E\u0279\u0250\u15E1 \u028EssoW",
|
||||
"block.create.mossy_diorite": "\u01DD\u0287\u0131\u0279o\u0131\u15E1 \u028EssoW",
|
||||
|
|
|
@ -241,6 +241,7 @@
|
|||
"block.create.metal_bracket": "Metal Bracket",
|
||||
"block.create.millstone": "Millstone",
|
||||
"block.create.minecart_anchor": "Minecart Anchor",
|
||||
"block.create.mirror": "Mirror",
|
||||
"block.create.mossy_andesite": "Mossy Andesite",
|
||||
"block.create.mossy_dark_scoria": "Mossy Dark Scoria",
|
||||
"block.create.mossy_diorite": "Mossy Diorite",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 914",
|
||||
"_": "Missing Localizations: 915",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "Metallhalterung",
|
||||
"block.create.millstone": "Mahlstein",
|
||||
"block.create.minecart_anchor": "Lorenanker",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "Moosiger Andesit",
|
||||
"block.create.mossy_dark_scoria": "Moosige Dunkle Schlacke",
|
||||
"block.create.mossy_diorite": "Moosiger Diorit",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 607",
|
||||
"_": "Missing Localizations: 608",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "Soporte de metal para ejes",
|
||||
"block.create.millstone": "Piedra de molino",
|
||||
"block.create.minecart_anchor": "Ancla de vagonetas",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "Andesita musgosa",
|
||||
"block.create.mossy_dark_scoria": "Escoria oscura musgosa",
|
||||
"block.create.mossy_diorite": "Diorita musgosa",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1265",
|
||||
"_": "Missing Localizations: 1266",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "Soporte de Metal",
|
||||
"block.create.millstone": "Molino",
|
||||
"block.create.minecart_anchor": "Ancla de Vagonetas",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "Andesita Musgosa",
|
||||
"block.create.mossy_dark_scoria": "Escoria Oscura Musgosa",
|
||||
"block.create.mossy_diorite": "Diorita Musgosa",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1164",
|
||||
"_": "Missing Localizations: 1165",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "UNLOCALIZED: Metal Bracket",
|
||||
"block.create.millstone": "UNLOCALIZED: Millstone",
|
||||
"block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "UNLOCALIZED: Mossy Andesite",
|
||||
"block.create.mossy_dark_scoria": "UNLOCALIZED: Mossy Dark Scoria",
|
||||
"block.create.mossy_diorite": "UNLOCALIZED: Mossy Diorite",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 624",
|
||||
"_": "Missing Localizations: 625",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "Supporto di metallo",
|
||||
"block.create.millstone": "Macina",
|
||||
"block.create.minecart_anchor": "Ancora per carrello da miniera",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "Andesite muschiosa",
|
||||
"block.create.mossy_dark_scoria": "Scoria scura muschiosa",
|
||||
"block.create.mossy_diorite": "Diorite muschiosa",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 606",
|
||||
"_": "Missing Localizations: 607",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "金属ブラケット",
|
||||
"block.create.millstone": "石臼",
|
||||
"block.create.minecart_anchor": "トロッコアンカー",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "苔むした安山岩",
|
||||
"block.create.mossy_dark_scoria": "苔むしたダークスコリア",
|
||||
"block.create.mossy_diorite": "苔むした閃緑岩",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 677",
|
||||
"_": "Missing Localizations: 678",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "금속 지지대",
|
||||
"block.create.millstone": "맷돌",
|
||||
"block.create.minecart_anchor": "광산 수레 정박기",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "이끼 낀 안산암",
|
||||
"block.create.mossy_dark_scoria": "이끼 낀 짙은 스코리아",
|
||||
"block.create.mossy_diorite": "이끼 낀 섬록암",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1554",
|
||||
"_": "Missing Localizations: 1555",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "UNLOCALIZED: Metal Bracket",
|
||||
"block.create.millstone": "UNLOCALIZED: Millstone",
|
||||
"block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "UNLOCALIZED: Mossy Andesite",
|
||||
"block.create.mossy_dark_scoria": "UNLOCALIZED: Mossy Dark Scoria",
|
||||
"block.create.mossy_diorite": "UNLOCALIZED: Mossy Diorite",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 1608",
|
||||
"_": "Missing Localizations: 1609",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "UNLOCALIZED: Metal Bracket",
|
||||
"block.create.millstone": "UNLOCALIZED: Millstone",
|
||||
"block.create.minecart_anchor": "UNLOCALIZED: Minecart Anchor",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "UNLOCALIZED: Mossy Andesite",
|
||||
"block.create.mossy_dark_scoria": "UNLOCALIZED: Mossy Dark Scoria",
|
||||
"block.create.mossy_diorite": "UNLOCALIZED: Mossy Diorite",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 521",
|
||||
"_": "Missing Localizations: 522",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "Металлическая скоба",
|
||||
"block.create.millstone": "Жернов",
|
||||
"block.create.minecart_anchor": "Вагонеточный якорь",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "Замшелый андезит",
|
||||
"block.create.mossy_dark_scoria": "Замшелый тёмный пепел",
|
||||
"block.create.mossy_diorite": "Замшелый диорит",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 621",
|
||||
"_": "Missing Localizations: 622",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "金属支架",
|
||||
"block.create.millstone": "石磨",
|
||||
"block.create.minecart_anchor": "矿车锚",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "生苔安山岩",
|
||||
"block.create.mossy_dark_scoria": "生苔深色熔渣",
|
||||
"block.create.mossy_diorite": "生苔闪长岩",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_": "Missing Localizations: 626",
|
||||
"_": "Missing Localizations: 627",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
|
@ -242,6 +242,7 @@
|
|||
"block.create.metal_bracket": "金屬支架",
|
||||
"block.create.millstone": "石磨",
|
||||
"block.create.minecart_anchor": "礦車錨",
|
||||
"block.create.mirror": "UNLOCALIZED: Mirror",
|
||||
"block.create.mossy_andesite": "青苔安山岩",
|
||||
"block.create.mossy_dark_scoria": "青苔黑火成岩",
|
||||
"block.create.mossy_diorite": "青苔閃長岩",
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/mirror/item"
|
||||
}
|
|
@ -28,8 +28,8 @@
|
|||
"trigger": "create:bracket_apply",
|
||||
"conditions": {
|
||||
"accepted_entries": [
|
||||
"create:large_cogwheel",
|
||||
"create:cogwheel"
|
||||
"create:cogwheel",
|
||||
"create:large_cogwheel"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:mirror"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -15,6 +15,7 @@
|
|||
"create:radial_chassis",
|
||||
"create:sequenced_gearshift",
|
||||
"create:rotation_speed_controller",
|
||||
"create:mirror",
|
||||
"create:andesite_funnel",
|
||||
"create:andesite_belt_funnel",
|
||||
"create:brass_funnel",
|
||||
|
|
|
@ -83,6 +83,8 @@ public class AllBlockPartials {
|
|||
HOSE_MAGNET = get("hose_pulley/pulley_magnet"), HOSE_HALF = get("hose_pulley/rope_half"),
|
||||
HOSE_HALF_MAGNET = get("hose_pulley/rope_half_magnet"),
|
||||
|
||||
MIRROR_PLANE = get("mirror/mirror_plane"),
|
||||
|
||||
MILLSTONE_COG = get("millstone/inner"),
|
||||
|
||||
SYMMETRY_PLANE = get("symmetry_effect/plane"), SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"),
|
||||
|
|
|
@ -154,6 +154,7 @@ import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock
|
|||
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlock;
|
||||
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkGenerator;
|
||||
import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchBlock;
|
||||
import com.simibubi.create.content.optics.mirror.MirrorBlock;
|
||||
import com.simibubi.create.content.schematics.block.SchematicTableBlock;
|
||||
import com.simibubi.create.content.schematics.block.SchematicannonBlock;
|
||||
import com.simibubi.create.foundation.block.ItemUseOverrides;
|
||||
|
@ -1096,6 +1097,23 @@ public class AllBlocks {
|
|||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
// Optics
|
||||
|
||||
static {
|
||||
REGISTRATE.startSection(AllSections.OPTICS);
|
||||
}
|
||||
|
||||
public static final BlockEntry<MirrorBlock> MIRROR =
|
||||
REGISTRATE.block("mirror", MirrorBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.tag(AllBlockTags.SAFE_NBT.tag)
|
||||
.blockstate(BlockStateGen.axisBlockProvider(true))
|
||||
.transform(StressConfigDefaults.setImpact(4.0))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
// Logistics
|
||||
|
||||
static {
|
||||
|
|
|
@ -38,6 +38,10 @@ public class AllShapes {
|
|||
.add(2, 13, 2, 14, 16, 14)
|
||||
.add(0, 0, 14, 16, 16, 16)
|
||||
.forHorizontalAxis(),
|
||||
MIRROR = shape(0, 0, 0, 16, 2, 16)
|
||||
.add(1, 2, 1, 15, 14, 15)
|
||||
.add(0, 14, 0, 16, 16, 16)
|
||||
.forAxis(),
|
||||
SAIL_FRAME_COLLISION = shape(0, 5, 0, 16, 9, 16).erase(2, 0, 2, 14, 16, 14)
|
||||
.forDirectional(),
|
||||
SAIL_FRAME = shape(0, 5, 0, 16, 9, 16).forDirectional(), SAIL = shape(0, 5, 0, 16, 10, 16).forDirectional(),
|
||||
|
|
|
@ -149,6 +149,8 @@ import com.simibubi.create.content.logistics.block.redstone.NixieTubeRenderer;
|
|||
import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity;
|
||||
import com.simibubi.create.content.optics.mirror.MirrorRenderer;
|
||||
import com.simibubi.create.content.optics.mirror.MirrorTileEntity;
|
||||
import com.simibubi.create.content.schematics.block.SchematicTableTileEntity;
|
||||
import com.simibubi.create.content.schematics.block.SchematicannonInstance;
|
||||
import com.simibubi.create.content.schematics.block.SchematicannonRenderer;
|
||||
|
@ -582,6 +584,14 @@ public class AllTileEntities {
|
|||
// .renderer(() -> renderer)
|
||||
.register();
|
||||
|
||||
// Optics
|
||||
public static final TileEntityEntry<MirrorTileEntity> MIRROR = Create.registrate()
|
||||
.tileEntity("mirror", MirrorTileEntity::new)
|
||||
// .instance(() -> MirrorRendererInstance::new)
|
||||
.validBlocks(AllBlocks.MIRROR)
|
||||
.renderer(() -> MirrorRenderer::new)
|
||||
.register();
|
||||
|
||||
// Logistics
|
||||
public static final TileEntityEntry<RedstoneLinkTileEntity> REDSTONE_LINK = Create.registrate()
|
||||
.tileEntity("redstone_link", RedstoneLinkTileEntity::new)
|
||||
|
|
|
@ -16,6 +16,9 @@ public enum AllSections {
|
|||
/** Item transport and other Utility */
|
||||
LOGISTICS(Palette.Yellow),
|
||||
|
||||
/** Beacon tech */
|
||||
OPTICS(Palette.White),
|
||||
|
||||
/** Tools for strucuture movement and replication */
|
||||
SCHEMATICS(Palette.Blue),
|
||||
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package com.simibubi.create.content.optics.mirror;
|
||||
|
||||
import com.simibubi.create.AllShapes;
|
||||
import com.simibubi.create.AllTileEntities;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.AbstractEncasedShaftBlock;
|
||||
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.block.ITE;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class MirrorBlock extends AbstractEncasedShaftBlock implements IWrenchable, ITE<MirrorTileEntity> {
|
||||
public MirrorBlock(Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
|
||||
return AllTileEntities.MIRROR.create();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
|
||||
return AllShapes.MIRROR.get(state.get(AXIS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<MirrorTileEntity> getTileEntityClass() {
|
||||
return MirrorTileEntity.class;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package com.simibubi.create.content.optics.mirror;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
|
||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.state.properties.BlockStateProperties;
|
||||
import net.minecraft.util.Direction;
|
||||
|
||||
public class MirrorRenderer extends KineticTileEntityRenderer {
|
||||
public MirrorRenderer(TileEntityRendererDispatcher dispatcher) {
|
||||
super(dispatcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void renderSafe(KineticTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer,
|
||||
int light, int overlay) {
|
||||
|
||||
// if (FastRenderDispatcher.available(te.getWorld())) return;
|
||||
|
||||
super.renderSafe(te, partialTicks, ms, buffer, light, overlay);
|
||||
|
||||
MirrorTileEntity bearingTe = (MirrorTileEntity) te;
|
||||
final Direction.Axis facing = te.getBlockState()
|
||||
.get(BlockStateProperties.AXIS);
|
||||
SuperByteBuffer superBuffer = AllBlockPartials.MIRROR_PLANE.renderOn(te.getBlockState());
|
||||
|
||||
float interpolatedAngle = bearingTe.getInterpolatedAngle(partialTicks - 1);
|
||||
kineticRotationTransform(superBuffer, te, facing, (float) (interpolatedAngle / 180 * Math.PI), light);
|
||||
|
||||
if (facing == Direction.Axis.X) {
|
||||
superBuffer.rotateCentered(Direction.UP, AngleHelper.rad(90));
|
||||
}
|
||||
if (facing == Direction.Axis.Y) {
|
||||
superBuffer.rotateCentered(Direction.EAST, AngleHelper.rad(90));
|
||||
}
|
||||
if (facing == Direction.Axis.Z) {
|
||||
superBuffer.rotateCentered(Direction.UP, AngleHelper.rad(180));
|
||||
}
|
||||
superBuffer.renderInto(ms, buffer.getBuffer(RenderType.getSolid()));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
package com.simibubi.create.content.optics.mirror;
|
||||
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.foundation.utility.ServerSpeedProvider;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.tileentity.TileEntityType;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class MirrorTileEntity extends KineticTileEntity {
|
||||
protected float angle;
|
||||
protected float clientAngleDiff;
|
||||
private float prevAngle;
|
||||
|
||||
public MirrorTileEntity(TileEntityType<?> typeIn) {
|
||||
super(typeIn);
|
||||
setLazyTickRate(3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(CompoundNBT compound, boolean clientPacket) {
|
||||
compound.putFloat("Angle", angle);
|
||||
super.write(compound, clientPacket);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void fromTag(BlockState state, CompoundNBT compound, boolean clientPacket) {
|
||||
if (wasMoved) {
|
||||
super.fromTag(state, compound, clientPacket);
|
||||
return;
|
||||
}
|
||||
|
||||
angle = compound.getFloat("Angle");
|
||||
super.fromTag(state, compound, clientPacket);
|
||||
}
|
||||
|
||||
public float getInterpolatedAngle(float partialTicks) {
|
||||
if (isVirtual())
|
||||
return MathHelper.lerp(partialTicks + .5f, prevAngle, angle);
|
||||
return MathHelper.lerp(partialTicks, angle, angle + getAngularSpeed());
|
||||
}
|
||||
|
||||
public float getAngularSpeed() {
|
||||
float speed = getSpeed() * 3 / 10f;
|
||||
if (getSpeed() == 0)
|
||||
speed = 0;
|
||||
if (world.isRemote) {
|
||||
speed *= ServerSpeedProvider.get();
|
||||
speed += clientAngleDiff / 3f;
|
||||
}
|
||||
return speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
super.tick();
|
||||
|
||||
prevAngle = angle;
|
||||
if (world.isRemote)
|
||||
clientAngleDiff /= 2;
|
||||
|
||||
float angularSpeed = getAngularSpeed();
|
||||
float newAngle = angle + angularSpeed;
|
||||
angle = newAngle % 360;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRenderAsTE() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setAngle(float forcedAngle) {
|
||||
angle = forcedAngle;
|
||||
}
|
||||
}
|
|
@ -59,6 +59,7 @@ public class ItemDescription {
|
|||
Red(DARK_RED, RED),
|
||||
Purple(DARK_PURPLE, LIGHT_PURPLE),
|
||||
Gray(DARK_GRAY, GRAY),
|
||||
White(WHITE, AQUA)
|
||||
|
||||
;
|
||||
|
||||
|
|
|
@ -8,188 +8,195 @@
|
|||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "side",
|
||||
"from": [2, 2, 14],
|
||||
"to": [14, 14, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"name": "front",
|
||||
"from": [1, 2, 1],
|
||||
"to": [3, 14, 3],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 14, 14], "texture": "#4"},
|
||||
"south": {"uv": [2, 2, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 1, 12], "rotation": 270, "texture": "#3"},
|
||||
"down": {"uv": [2, 11, 14, 12], "texture": "#4"}
|
||||
"north": {"uv": [14, 0, 2, 2], "rotation": 270, "texture": "#3"},
|
||||
"east": {"uv": [2, 2, 14, 0], "rotation": 270, "texture": "#3"},
|
||||
"south": {"uv": [14, 14, 2, 16], "rotation": 90, "texture": "#3"},
|
||||
"west": {"uv": [2, 16, 14, 14], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side",
|
||||
"from": [2, 2, 1],
|
||||
"to": [14, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"from": [2, 0, 2],
|
||||
"to": [14, 1, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -10, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [14, 2, 2, 14], "texture": "#4"},
|
||||
"up": {"uv": [1, 0, 0, 12], "rotation": 270, "texture": "#3"},
|
||||
"down": {"uv": [2, 12, 14, 11], "texture": "#4"}
|
||||
"north": {"uv": [2, 11, 14, 12], "rotation": 180, "texture": "#4"},
|
||||
"south": {"uv": [0, 0, 1, 12], "rotation": 270, "texture": "#3"},
|
||||
"up": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [2, 2, 14, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side",
|
||||
"from": [2, 14, 2],
|
||||
"to": [14, 15, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -10, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 12, 14, 11], "rotation": 180, "texture": "#4"},
|
||||
"south": {"uv": [1, 0, 0, 12], "rotation": 270, "texture": "#3"},
|
||||
"up": {"uv": [14, 2, 2, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [14, 2, 2, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 2, 14],
|
||||
"to": [2, 14, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 2, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 16, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"west": {"uv": [14, 2, 16, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 14, 2, 16], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 2, 2], "texture": "#4"}
|
||||
"north": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 14, 2, 16], "texture": "#4"},
|
||||
"west": {"uv": [14, 2, 16, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 2, 0],
|
||||
"to": [2, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"from": [0, 14, 2],
|
||||
"to": [2, 16, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"south": {"uv": [16, 2, 14, 14], "texture": "#4"},
|
||||
"west": {"uv": [16, 2, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 16, 2, 14], "texture": "#4"},
|
||||
"down": {"uv": [0, 2, 2, 0], "texture": "#4"}
|
||||
"north": {"uv": [0, 2, 2, 0], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 16, 2, 14], "texture": "#4"},
|
||||
"west": {"uv": [16, 2, 14, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [16, 2, 14, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [14, 2, 14],
|
||||
"to": [16, 14, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 2, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#3"},
|
||||
"south": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#4"},
|
||||
"west": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"up": {"uv": [2, 14, 0, 16], "texture": "#4"},
|
||||
"down": {"uv": [2, 0, 0, 2], "texture": "#4"}
|
||||
"north": {"uv": [2, 0, 0, 2], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "rotation": 90, "texture": "#3"},
|
||||
"south": {"uv": [2, 14, 0, 16], "texture": "#4"},
|
||||
"west": {"uv": [2, 2, 0, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"down": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [14, 2, 0],
|
||||
"to": [16, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"from": [14, 14, 2],
|
||||
"to": [16, 16, 14],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#3"},
|
||||
"south": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#4"},
|
||||
"west": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"up": {"uv": [2, 16, 0, 14], "texture": "#4"},
|
||||
"down": {"uv": [2, 2, 0, 0], "texture": "#4"}
|
||||
"north": {"uv": [2, 2, 0, 0], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#3"},
|
||||
"south": {"uv": [2, 16, 0, 14], "texture": "#4"},
|
||||
"west": {"uv": [0, 2, 2, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [14, 2, 16, 14], "texture": "#4"},
|
||||
"down": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 2, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"name": "front",
|
||||
"from": [1, 2, 13],
|
||||
"to": [3, 14, 15],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -10, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#4"},
|
||||
"east": {"uv": [0, 14, 2, 16], "texture": "#4"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#4"},
|
||||
"west": {"uv": [14, 14, 16, 16], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 12, 2], "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 14, 14],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 16, 16, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 16, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 16, 16, 14], "texture": "#4"},
|
||||
"west": {"uv": [14, 16, 16, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#3"},
|
||||
"down": {"uv": [0, 2, 12, 0], "texture": "#4"}
|
||||
"north": {"uv": [2, 14, 14, 16], "rotation": 270, "texture": "#3"},
|
||||
"east": {"uv": [2, 0, 14, 2], "rotation": 270, "texture": "#3"},
|
||||
"south": {"uv": [2, 0, 14, 2], "rotation": 90, "texture": "#3"},
|
||||
"west": {"uv": [2, 14, 14, 16], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 14, 0, 16], "texture": "#4"},
|
||||
"east": {"uv": [2, 14, 0, 16], "texture": "#4"},
|
||||
"south": {"uv": [16, 14, 0, 16], "texture": "#4"},
|
||||
"west": {"uv": [16, 14, 14, 16], "texture": "#4"},
|
||||
"up": {"uv": [0, 2, 12, 0], "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#3"}
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#3"},
|
||||
"east": {"uv": [0, 14, 2, 16], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 0, 12, 2], "texture": "#4"},
|
||||
"west": {"uv": [14, 14, 16, 16], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 14, 0],
|
||||
"to": [16, 16, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, 13, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 16, 0, 14], "texture": "#4"},
|
||||
"east": {"uv": [2, 16, 0, 14], "texture": "#4"},
|
||||
"south": {"uv": [16, 16, 0, 14], "texture": "#4"},
|
||||
"west": {"uv": [16, 16, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 2, 16, 0], "rotation": 180, "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 12, 2], "texture": "#4"}
|
||||
"north": {"uv": [0, 2, 12, 0], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [0, 16, 2, 14], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#3"},
|
||||
"west": {"uv": [14, 16, 16, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [0, 16, 16, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 14, 14],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#3"},
|
||||
"east": {"uv": [2, 14, 0, 16], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 2, 12, 0], "texture": "#4"},
|
||||
"west": {"uv": [16, 14, 14, 16], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [16, 14, 0, 16], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [16, 14, 0, 16], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 2, 16],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, 13, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 12, 2], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [2, 16, 0, 14], "rotation": 270, "texture": "#4"},
|
||||
"south": {"uv": [0, 2, 16, 0], "rotation": 180, "texture": "#3"},
|
||||
"west": {"uv": [16, 16, 14, 14], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [16, 16, 0, 14], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [16, 16, 0, 14], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [1, 1, 2],
|
||||
"to": [3, 3, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"from": [13, 2, 13],
|
||||
"to": [15, 14, 15],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, -10, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 2], "texture": "#3"},
|
||||
"west": {"uv": [2, 14, 14, 16], "texture": "#3"},
|
||||
"up": {"uv": [2, 0, 14, 2], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [2, 14, 14, 16], "rotation": 90, "texture": "#3"}
|
||||
"north": {"uv": [2, 16, 14, 14], "rotation": 270, "texture": "#3"},
|
||||
"east": {"uv": [14, 14, 2, 16], "rotation": 270, "texture": "#3"},
|
||||
"south": {"uv": [2, 2, 14, 0], "rotation": 90, "texture": "#3"},
|
||||
"west": {"uv": [14, 0, 2, 2], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [13, 1, 2],
|
||||
"to": [15, 3, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"from": [13, 2, 1],
|
||||
"to": [15, 14, 3],
|
||||
"rotation": {"angle": 0, "axis": "x", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 14, 2, 16], "texture": "#3"},
|
||||
"west": {"uv": [14, 0, 2, 2], "texture": "#3"},
|
||||
"up": {"uv": [2, 2, 14, 0], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [2, 16, 14, 14], "rotation": 90, "texture": "#3"}
|
||||
"north": {"uv": [14, 2, 2, 0], "rotation": 270, "texture": "#3"},
|
||||
"east": {"uv": [14, 16, 2, 14], "rotation": 270, "texture": "#3"},
|
||||
"south": {"uv": [14, 16, 2, 14], "rotation": 90, "texture": "#3"},
|
||||
"west": {"uv": [14, 2, 2, 0], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"name": "front",
|
||||
"from": [13, 13, 2],
|
||||
"to": [15, 15, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 16, 2, 14], "texture": "#3"},
|
||||
"west": {"uv": [14, 2, 2, 0], "texture": "#3"},
|
||||
"up": {"uv": [14, 16, 2, 14], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [14, 2, 2, 0], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [1, 13, 2],
|
||||
"to": [3, 15, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [2, 2, 14, 0], "texture": "#3"},
|
||||
"west": {"uv": [2, 16, 14, 14], "texture": "#3"},
|
||||
"up": {"uv": [14, 14, 2, 16], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [14, 0, 2, 2], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
"name": "group",
|
||||
"origin": [8, 8, 8],
|
||||
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
|
||||
}
|
||||
]
|
||||
}
|
234
src/main/resources/assets/create/models/block/mirror/item.json
Normal file
234
src/main/resources/assets/create/models/block/mirror/item.json
Normal file
|
@ -0,0 +1,234 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/axis",
|
||||
"1": "create:block/axis_top",
|
||||
"3": "create:block/gearbox_top",
|
||||
"4": "create:block/gearbox",
|
||||
"2_0": "create:block/symmetry_mirror",
|
||||
"particle": "create:item/refined_radiance"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "Mirror",
|
||||
"from": [2, 9.5, 2],
|
||||
"to": [14, 10.5, 14],
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#2_0"},
|
||||
"east": {"uv": [3, 1, 4, 15], "rotation": 270, "texture": "#2_0"},
|
||||
"south": {"uv": [4, 1, 12, 2], "texture": "#2_0"},
|
||||
"west": {"uv": [12, 1, 13, 15], "rotation": 90, "texture": "#2_0"},
|
||||
"up": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#2_0"},
|
||||
"down": {"uv": [4, 1, 12, 15], "texture": "#2_0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Axis",
|
||||
"from": [6, 6, 0],
|
||||
"to": [10, 10, 16],
|
||||
"shade": false,
|
||||
"rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#1"},
|
||||
"east": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#0"},
|
||||
"south": {"uv": [6, 6, 10, 10], "texture": "#1"},
|
||||
"west": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#0"},
|
||||
"up": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#0"},
|
||||
"down": {"uv": [6, 0, 10, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side",
|
||||
"from": [2, 2, 14],
|
||||
"to": [14, 14, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 14, 14], "texture": "#4"},
|
||||
"south": {"uv": [2, 2, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 1, 12], "rotation": 270, "texture": "#3"},
|
||||
"down": {"uv": [2, 11, 14, 12], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side",
|
||||
"from": [2, 2, 1],
|
||||
"to": [14, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [14, 2, 2, 14], "texture": "#4"},
|
||||
"up": {"uv": [1, 0, 0, 12], "rotation": 270, "texture": "#3"},
|
||||
"down": {"uv": [2, 12, 14, 11], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 2, 14],
|
||||
"to": [2, 14, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 16, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"west": {"uv": [14, 2, 16, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 14, 2, 16], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 2, 2], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 2, 0],
|
||||
"to": [2, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"south": {"uv": [16, 2, 14, 14], "texture": "#4"},
|
||||
"west": {"uv": [16, 2, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 16, 2, 14], "texture": "#4"},
|
||||
"down": {"uv": [0, 2, 2, 0], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [14, 2, 14],
|
||||
"to": [16, 14, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#3"},
|
||||
"south": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#4"},
|
||||
"west": {"uv": [2, 2, 0, 14], "texture": "#4"},
|
||||
"up": {"uv": [2, 14, 0, 16], "texture": "#4"},
|
||||
"down": {"uv": [2, 0, 0, 2], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [14, 2, 0],
|
||||
"to": [16, 14, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#4"},
|
||||
"east": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#3"},
|
||||
"south": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#4"},
|
||||
"west": {"uv": [0, 2, 2, 14], "texture": "#4"},
|
||||
"up": {"uv": [2, 16, 0, 14], "texture": "#4"},
|
||||
"down": {"uv": [2, 2, 0, 0], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 2, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 14, 16, 16], "texture": "#4"},
|
||||
"east": {"uv": [0, 14, 2, 16], "texture": "#4"},
|
||||
"south": {"uv": [0, 14, 16, 16], "texture": "#4"},
|
||||
"west": {"uv": [14, 14, 16, 16], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 12, 2], "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 14, 14],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 16, 16, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 16, 2, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 16, 16, 14], "texture": "#4"},
|
||||
"west": {"uv": [14, 16, 16, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#3"},
|
||||
"down": {"uv": [0, 2, 12, 0], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 2, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 14, 0, 16], "texture": "#4"},
|
||||
"east": {"uv": [2, 14, 0, 16], "texture": "#4"},
|
||||
"south": {"uv": [16, 14, 0, 16], "texture": "#4"},
|
||||
"west": {"uv": [16, 14, 14, 16], "texture": "#4"},
|
||||
"up": {"uv": [0, 2, 12, 0], "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "side_frame",
|
||||
"from": [0, 14, 0],
|
||||
"to": [16, 16, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 16, 0, 14], "texture": "#4"},
|
||||
"east": {"uv": [2, 16, 0, 14], "texture": "#4"},
|
||||
"south": {"uv": [16, 16, 0, 14], "texture": "#4"},
|
||||
"west": {"uv": [16, 16, 14, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 2, 16, 0], "rotation": 180, "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 12, 2], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [1, 1, 2],
|
||||
"to": [3, 3, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 2], "texture": "#3"},
|
||||
"west": {"uv": [2, 14, 14, 16], "texture": "#3"},
|
||||
"up": {"uv": [2, 0, 14, 2], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [2, 14, 14, 16], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [13, 1, 2],
|
||||
"to": [15, 3, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 14, 2, 16], "texture": "#3"},
|
||||
"west": {"uv": [14, 0, 2, 2], "texture": "#3"},
|
||||
"up": {"uv": [2, 2, 14, 0], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [2, 16, 14, 14], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [13, 13, 2],
|
||||
"to": [15, 15, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 16, 2, 14], "texture": "#3"},
|
||||
"west": {"uv": [14, 2, 2, 0], "texture": "#3"},
|
||||
"up": {"uv": [14, 16, 2, 14], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [14, 2, 2, 0], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "front",
|
||||
"from": [1, 13, 2],
|
||||
"to": [3, 15, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [2, 2, 14, 0], "texture": "#3"},
|
||||
"west": {"uv": [2, 16, 14, 14], "texture": "#3"},
|
||||
"up": {"uv": [14, 14, 2, 16], "rotation": 90, "texture": "#3"},
|
||||
"down": {"uv": [14, 0, 2, 2], "rotation": 90, "texture": "#3"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [0, 1,
|
||||
{
|
||||
"name": "block",
|
||||
"origin": [8, 8, 8],
|
||||
"children": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue