mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
Is it November already
- Fixed chain conveyors culling too quickly - Adjusted outline for logistically linked preview - Address box suggestions no longer have duplicates and render above box when necessary - Adjusted display cloth entity collision box - Held clipboards can now copy entries from other in-world clipboards - Fixed logistically linked items not placing the block when sneaking - Postboxes and frogs now open visually when opened - String can now be applied to cardboard blocks in-world - Desk bells can now be spam-clicked - Metal ladders no longer require a wall if another ladder block is above them - Packaged spawn eggs may cause side effects when opened
This commit is contained in:
parent
b80dc29b4f
commit
bc3347d752
92 changed files with 808 additions and 356 deletions
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-10-30T19:35:41.3745103 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
// 1.20.1 2024-11-01T10:40:15.7618068 Registrate Provider for create [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
60bbdf92d2ac9824ea6144955c74043a6005f79d assets/create/blockstates/acacia_window.json
|
||||
6a67703c2697d81b7dc83e9d72a66f9c9ff08383 assets/create/blockstates/acacia_window_pane.json
|
||||
c3ae87b62e81d8e9476eccd793bb1548d74c66a1 assets/create/blockstates/adjustable_chain_gearshift.json
|
||||
|
@ -27,7 +27,7 @@ a97910c7516e7cedec9e34eca51f1183f1e3e681 assets/create/blockstates/belt.json
|
|||
2003c43151b731bf19cae58290c63bcb3785848a assets/create/blockstates/birch_window_pane.json
|
||||
396e4772b041319fc86b50deded74f514945f45d assets/create/blockstates/black_display_cloth.json
|
||||
c8b65faf51122eb411f5895e718869da9b260c2e assets/create/blockstates/black_nixie_tube.json
|
||||
edcdce7ec6afbaa00952131df4b3f2c93c2c6919 assets/create/blockstates/black_postbox.json
|
||||
2449479f4d81a6d16bbd1a469daa2d8f9ba2782e assets/create/blockstates/black_postbox.json
|
||||
980ae9ba3f6d4e0faea8f3878985f9a9dadc0796 assets/create/blockstates/black_sail.json
|
||||
da3ad0225984a0dcbfb4ed800e307e45aff5aaa1 assets/create/blockstates/black_seat.json
|
||||
0083f6aa3fda2c7ebb2e5f2a032e740cf3ae3846 assets/create/blockstates/black_toolbox.json
|
||||
|
@ -35,7 +35,7 @@ da3ad0225984a0dcbfb4ed800e307e45aff5aaa1 assets/create/blockstates/black_seat.js
|
|||
06ecd28cd97f4e8200dc396858695cad57b871c8 assets/create/blockstates/blaze_burner.json
|
||||
88793493e0a7e0713b5ea9f3bbb88395d690b873 assets/create/blockstates/blue_display_cloth.json
|
||||
37caf031254b5171a1fbfe9906f4bc65e8dbc909 assets/create/blockstates/blue_nixie_tube.json
|
||||
54f6aae1d573b27979689301ef1c2ad4a3bf6e93 assets/create/blockstates/blue_postbox.json
|
||||
eec6f598fc517c5f6b36d13f3928364b16f0ae3d assets/create/blockstates/blue_postbox.json
|
||||
d540f0f23e0d7c03f8e147cf3eebbaf7caec9f93 assets/create/blockstates/blue_sail.json
|
||||
d2fdb432bb037de781260c789e905b223fab408c assets/create/blockstates/blue_seat.json
|
||||
f91092da79b69fece9583ccc15350612f439ee1b assets/create/blockstates/blue_toolbox.json
|
||||
|
@ -56,7 +56,7 @@ a408005aae4c1caa7aaae5a0ddf9d1ad73cd0254 assets/create/blockstates/brass_funnel.
|
|||
8ee948f9e87b82bb27aaecc522127fa1297b3d9d assets/create/blockstates/brass_tunnel.json
|
||||
158c380605f071c89b9de21f2b2737449a72aac3 assets/create/blockstates/brown_display_cloth.json
|
||||
debf33346bf410216f21082e1e8d07aa6250b84c assets/create/blockstates/brown_nixie_tube.json
|
||||
c23d7f691bf532d6b27317c0063289a8bd747de2 assets/create/blockstates/brown_postbox.json
|
||||
ad42a677da8d381d6a8d909a602d73c1b9b3bbb7 assets/create/blockstates/brown_postbox.json
|
||||
1334fc9e71d9f2a6117f448817263467a9c695de assets/create/blockstates/brown_sail.json
|
||||
19524b2c0672632e63372f405a87dbea35f1d160 assets/create/blockstates/brown_seat.json
|
||||
1ffc38bf682e84aad4cb300c573375eb0cdcc434 assets/create/blockstates/brown_toolbox.json
|
||||
|
@ -219,7 +219,7 @@ c11f09df4a23e951bdf9a345515183f4fac7cde3 assets/create/blockstates/cut_veridium_
|
|||
3aa6f5e613ff73952e3de00408051f92316e7f81 assets/create/blockstates/cut_veridium_wall.json
|
||||
d6d25beb53a4393839eeb94472c8feb4c80bac6d assets/create/blockstates/cyan_display_cloth.json
|
||||
bb627b2e78dba6833cf2d357033f253fc89aa1b8 assets/create/blockstates/cyan_nixie_tube.json
|
||||
3406ab8baa7d9e9892c059c27b5ace92aadc2a80 assets/create/blockstates/cyan_postbox.json
|
||||
d7d497e5495cd7e8e74422f42caa27682fd06b2d assets/create/blockstates/cyan_postbox.json
|
||||
f1061b8f9757374d6608fda07e301a2623e79f72 assets/create/blockstates/cyan_sail.json
|
||||
538c6d95da5cc460e99c91647dac61726a91479f assets/create/blockstates/cyan_seat.json
|
||||
c4d84b719762aca46cdb8decddfeb97dcc50676c assets/create/blockstates/cyan_toolbox.json
|
||||
|
@ -265,14 +265,14 @@ ff9f56912d8ac4069df90505232820f9c45f5e06 assets/create/blockstates/gantry_carria
|
|||
e3f2a093c436cb65c5a7ac049a14cc4dadb22526 assets/create/blockstates/granite_pillar.json
|
||||
f4e76daf384e628b76890b72775302d65f651176 assets/create/blockstates/gray_display_cloth.json
|
||||
921cf220c44a67195c90a30c4c296e65311738da assets/create/blockstates/gray_nixie_tube.json
|
||||
f3153de05bb7658cd2d27ed6becea1b2ea687ae3 assets/create/blockstates/gray_postbox.json
|
||||
f09f7a6f184992b21610e244310e22a99a01e247 assets/create/blockstates/gray_postbox.json
|
||||
30ba031a6b5a327d2a4caa12169676da573c2133 assets/create/blockstates/gray_sail.json
|
||||
f35a502c4a5e2703e7c6811b3d2ba16a9c47d4c8 assets/create/blockstates/gray_seat.json
|
||||
87457e0eddae80225dbb3145f2d120296ea1bfcd assets/create/blockstates/gray_toolbox.json
|
||||
f18b87db39836eef20154b239d488eebb64b3455 assets/create/blockstates/gray_valve_handle.json
|
||||
7d441d117efce42a787c86355fc69dbd052b5db0 assets/create/blockstates/green_display_cloth.json
|
||||
0f0fe2bf83f763e04cd2d7a979beb547feac3191 assets/create/blockstates/green_nixie_tube.json
|
||||
4446fdbf784366888215251fb082ff9b52c2ea6d assets/create/blockstates/green_postbox.json
|
||||
67aefcca975866a40717725d34770acd8f8908f6 assets/create/blockstates/green_postbox.json
|
||||
0a2a5fbf2cf084e1be0426a224c291dc22a826fd assets/create/blockstates/green_sail.json
|
||||
b4aede1847d204ecdb7847559066d9d2ffb66903 assets/create/blockstates/green_seat.json
|
||||
6f080890b3b30c46ba9ceb382c1171940bf4966f assets/create/blockstates/green_toolbox.json
|
||||
|
@ -311,14 +311,14 @@ ca124508c59130d21f23d7b1ef354d78bdd24dd4 assets/create/blockstates/layered_tuff.
|
|||
fcf02725651ab5973fab1cfc09fdd68cb4b93579 assets/create/blockstates/lectern_controller.json
|
||||
2c52c5dff36461c2af7dabce69452fcb3fc13640 assets/create/blockstates/light_blue_display_cloth.json
|
||||
5d7e1b08b1ec7c7c11b70db11df09311fcd7cf45 assets/create/blockstates/light_blue_nixie_tube.json
|
||||
f77864045801c12e9308f9ae75fa7c78de15bb7e assets/create/blockstates/light_blue_postbox.json
|
||||
117eb12e69c9c978474104a749d1071e4980af76 assets/create/blockstates/light_blue_postbox.json
|
||||
f2354e8cb6086473ac97a5228b99706858dcad8a assets/create/blockstates/light_blue_sail.json
|
||||
6b7045eaf9efe3a90f2d9a6785be6a5fd534b8e7 assets/create/blockstates/light_blue_seat.json
|
||||
b7065e7871c3c7f1a0656c2f92f82544e606f2fb assets/create/blockstates/light_blue_toolbox.json
|
||||
549882a0f4de60906ca870a6197330f81d4e1afe assets/create/blockstates/light_blue_valve_handle.json
|
||||
643092c9caa8e586833d9e7fdab7cb059810fb0a assets/create/blockstates/light_gray_display_cloth.json
|
||||
fa5fb2be73c7c54b70e927b66adf3f4d64c5cb6b assets/create/blockstates/light_gray_nixie_tube.json
|
||||
63aa0bfbba64796ec0096972585d15d5cbed7508 assets/create/blockstates/light_gray_postbox.json
|
||||
36817126602128d1c463047c9f54a671ed71e04c assets/create/blockstates/light_gray_postbox.json
|
||||
3d95c9c4442d1bdd660bae382c72c68134db86dd assets/create/blockstates/light_gray_sail.json
|
||||
8ec5144da4a49dd5b497af07b0d4b88c9c0b6cc0 assets/create/blockstates/light_gray_seat.json
|
||||
35b151db396069b146d223fbe46be5b0c3dda8a9 assets/create/blockstates/light_gray_toolbox.json
|
||||
|
@ -327,7 +327,7 @@ a6f319c803c03e34bbf841ea52d82f0f7ec7a413 assets/create/blockstates/limestone.jso
|
|||
7ff65e1c4c8e48a0b694cd17506a192e6a7e6e44 assets/create/blockstates/limestone_pillar.json
|
||||
34d900ed4c9922b82e39b2ee84d24eaffc7017ab assets/create/blockstates/lime_display_cloth.json
|
||||
7f20b548dd535942b2d6f41c39de7ad4fafe637e assets/create/blockstates/lime_nixie_tube.json
|
||||
b1b07cbe36064d2755d0f2a4af036ec0506e6995 assets/create/blockstates/lime_postbox.json
|
||||
1478770b73bf498bd6fa35bd40a38027fd6fd4c8 assets/create/blockstates/lime_postbox.json
|
||||
ad1ec304729fd6d336c0d4d0c27c9345af636695 assets/create/blockstates/lime_sail.json
|
||||
b9934a558e1b495403dc2c71ffb43cce7d396013 assets/create/blockstates/lime_seat.json
|
||||
49a02f7fc16697ba1cf16cee7e45ab6bfd8b06ce assets/create/blockstates/lime_toolbox.json
|
||||
|
@ -336,7 +336,7 @@ ba181485f219d3ae23509a7edf28e25d9edb10f4 assets/create/blockstates/lime_valve_ha
|
|||
e195e82e4d0c1fc20474535bc9068cbb77a5e175 assets/create/blockstates/lit_blaze_burner.json
|
||||
66775372786ece9b6300b335cf6acbdd2aa91147 assets/create/blockstates/magenta_display_cloth.json
|
||||
296186b196af94e1ab3f7e8a3254f6d31ae47a5c assets/create/blockstates/magenta_nixie_tube.json
|
||||
32cf7fc7e7b36b6ef873658946a40cf7c32d5da8 assets/create/blockstates/magenta_postbox.json
|
||||
f14f13217b4eb7d897e1ed55c790186cc0cecaf5 assets/create/blockstates/magenta_postbox.json
|
||||
f150922cbed1c05fb3892d4ac91eb471234252e2 assets/create/blockstates/magenta_sail.json
|
||||
bb1ab5c70647933400b3a99ef9d166ba5e3d4709 assets/create/blockstates/magenta_seat.json
|
||||
fcd226c7863262d98765c701538bf9e44d2b177e assets/create/blockstates/magenta_toolbox.json
|
||||
|
@ -370,7 +370,7 @@ ba9c3ecfacbd398048440d247decffeaefc714b5 assets/create/blockstates/mysterious_cu
|
|||
df91d0ca68934c1afd9858a8d1591dd4cb88df65 assets/create/blockstates/ochrum.json
|
||||
09c9bee3d26edc4b87cb7a5042f125c439ee5956 assets/create/blockstates/ochrum_pillar.json
|
||||
0042b5a229d8b7bf89333697fb53ffdda32a153b assets/create/blockstates/orange_display_cloth.json
|
||||
42799faa0c59e6ed410c1ef42eceef25c323090f assets/create/blockstates/orange_postbox.json
|
||||
8ff85f8171ff60ebf95f574d6c9f275ae6e98ee0 assets/create/blockstates/orange_postbox.json
|
||||
af4c2c4861d1410e1b7371a5bf3fe09ed3ab0077 assets/create/blockstates/orange_sail.json
|
||||
aab812cecf7d10d4e7587f4dead8a98238a15f41 assets/create/blockstates/orange_seat.json
|
||||
2bc30ed9907230271b4e2d0786f106f3e1e25029 assets/create/blockstates/orange_toolbox.json
|
||||
|
@ -389,7 +389,7 @@ ef3af446b56c69e71a156d5998d9dc8e6d9ea4f5 assets/create/blockstates/packager.json
|
|||
36742cc6ce052ead143366d31b11e828a525c1b8 assets/create/blockstates/peculiar_bell.json
|
||||
c4de02184f63ed2e7c98cfa5bb30f8c0da10a425 assets/create/blockstates/pink_display_cloth.json
|
||||
53d102e706d53cb2c0dbc0bc11da828084a43519 assets/create/blockstates/pink_nixie_tube.json
|
||||
8889da0684a2fd247a769cadbf94fd45e1c218f2 assets/create/blockstates/pink_postbox.json
|
||||
a238a92b88c32f513c405cde5bd1898d6fe930b7 assets/create/blockstates/pink_postbox.json
|
||||
213da5c04a33ae8ae7c0a4dec9844bbb6d670e33 assets/create/blockstates/pink_sail.json
|
||||
8d5c80d5dc561240dfe8d7f212ffc33ac4e0fcd8 assets/create/blockstates/pink_seat.json
|
||||
90bd26c7c6933f5ebbe17b0fe58f840e2924a0f5 assets/create/blockstates/pink_toolbox.json
|
||||
|
@ -463,7 +463,7 @@ df7af1e49c53ae99ac3f0b2fca5d948b8ea91938 assets/create/blockstates/pulley_magnet
|
|||
65bfd8283749117663f7199204691758fd286e38 assets/create/blockstates/pulse_timer.json
|
||||
285ff4a4289c3c62a7837639130033922127089d assets/create/blockstates/purple_display_cloth.json
|
||||
b658654aa97e8dd2c897f432a601835a3f8aca10 assets/create/blockstates/purple_nixie_tube.json
|
||||
af5db46f49be3c13eeb9bcae1803cc6fb47a1c76 assets/create/blockstates/purple_postbox.json
|
||||
ee36eb7d8b7575f884a1d89c3ee1b4f3a5972a45 assets/create/blockstates/purple_postbox.json
|
||||
f8f9802df9c0b4e39edeefc3b1abb38255d79801 assets/create/blockstates/purple_sail.json
|
||||
91b5ab66d7ec5235d278ee2bed6ddd88f39ce81d assets/create/blockstates/purple_seat.json
|
||||
6aa467b3588359fdf5d7201f844193d5b70f20f7 assets/create/blockstates/purple_toolbox.json
|
||||
|
@ -476,7 +476,7 @@ ff205f032b36486753dddb1f2029ef8d53e9c86f assets/create/blockstates/redstone_link
|
|||
9ae6198e13b456ef18582364644071a18cf9324e assets/create/blockstates/redstone_requester.json
|
||||
d8446bc66d6d7da6d3533c961220d3180e4e4c0b assets/create/blockstates/red_display_cloth.json
|
||||
e3fd62e466e3e6e7bd6fc8661f764ba972a466fc assets/create/blockstates/red_nixie_tube.json
|
||||
d7535074a636f30247e7bd2f1a21685d3231d321 assets/create/blockstates/red_postbox.json
|
||||
e003cc60f957419c178d5b4ee215485ebeb3191f assets/create/blockstates/red_postbox.json
|
||||
4c36b562da58ef2af57009da7cf2426059249228 assets/create/blockstates/red_sail.json
|
||||
145f4e9ffaeff9be180e6c4e4989f2cf44cf0686 assets/create/blockstates/red_seat.json
|
||||
380f46b7cb72b13c0f16fd4a4287a1a33adeff41 assets/create/blockstates/red_toolbox.json
|
||||
|
@ -622,7 +622,7 @@ da110f382368257e15431c77164aef82e014e3f8 assets/create/blockstates/weathered_cop
|
|||
25ce64b7af5d244f194da91ccf964a9bf5762327 assets/create/blockstates/weighted_ejector.json
|
||||
1c8b590923b1d78f5ae34ef0d8ba487884b696b3 assets/create/blockstates/white_display_cloth.json
|
||||
2974b34a8cfb0d4e8e010f8bd085584ea631d541 assets/create/blockstates/white_nixie_tube.json
|
||||
debbed52643d90ab054171f76622e54192be60ad assets/create/blockstates/white_postbox.json
|
||||
f128f18e0baa69c94ac9149960cfe810a6c9ecf9 assets/create/blockstates/white_postbox.json
|
||||
f079469d186087d23f0d91b384040f777b0088b1 assets/create/blockstates/white_sail.json
|
||||
317a6463db64b66d215d25b65ab52fe7f26ba9f8 assets/create/blockstates/white_seat.json
|
||||
6cb8c82a429b54d6a87d02eec5cfd1fcd5365f1e assets/create/blockstates/white_toolbox.json
|
||||
|
@ -631,15 +631,15 @@ ec2720e3f1bc84304d0c81cd23ff1e155b0c2f2c assets/create/blockstates/windmill_bear
|
|||
d688e80dfbd5b17970814887c3698fc721981caa assets/create/blockstates/wooden_bracket.json
|
||||
1ae2558e739350632a0c2f1a93aea5f832b54d62 assets/create/blockstates/yellow_display_cloth.json
|
||||
157942a838aa02909fb2238ad9ce77edc82f6142 assets/create/blockstates/yellow_nixie_tube.json
|
||||
f99bf11ac6b2d8d2a315f354d7704a938241d95e assets/create/blockstates/yellow_postbox.json
|
||||
c11d93cd5a64e80c7ad2d11d88b656dd7705138b assets/create/blockstates/yellow_postbox.json
|
||||
68b6e267e93b96dbc0596ea4a1cd26636aa0e04a assets/create/blockstates/yellow_sail.json
|
||||
4face2dd50a30bda0b21742319e701e666d51f8c assets/create/blockstates/yellow_seat.json
|
||||
b0d8f08968763a5f74e5cd5644377a76a9f39753 assets/create/blockstates/yellow_toolbox.json
|
||||
fe8c497aacc641c2f01cec90bba9f19e59cc2ed2 assets/create/blockstates/yellow_valve_handle.json
|
||||
e819e93fdcbe9fd9c050a052d2718ff3b3539365 assets/create/blockstates/zinc_block.json
|
||||
64121dcb216381c83b4fe28aa361ea07c24c9ad0 assets/create/blockstates/zinc_ore.json
|
||||
c3de6ad9aa8e75977b93d59a36b2fa2e1e4e9445 assets/create/lang/en_ud.json
|
||||
3cf9afee452951897c1ca572e5f7c3362f897db3 assets/create/lang/en_us.json
|
||||
d5bb760251e65801c7d8d4c7c99149dfc644ae26 assets/create/lang/en_ud.json
|
||||
71537c153c046d7ac132c20ed36db50daf6e7284 assets/create/lang/en_us.json
|
||||
a97e1060e00ae701a02e39cd4ef8054cf345fac4 assets/create/models/block/acacia_window.json
|
||||
103e032c0b1a0a6a27c67da8c91179a564bd281c assets/create/models/block/acacia_window_pane_noside.json
|
||||
fb00b627abda76ad4fea867ca57dbfadd24fffa3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
|
@ -714,14 +714,16 @@ ee71b0992edc2496025c22806e8de3a3243882aa assets/create/models/block/birch_window
|
|||
cb9d3a0dbac6a884d5ce0dc82085322f8c666707 assets/create/models/block/birch_window_pane_side_alt.json
|
||||
b8f853e8289d735f9a2a8b43785fa0995ac99112 assets/create/models/block/black_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/black_nixie_tube.json
|
||||
1fe4a9cbcae773f32c07f7cef42f52588ec1c1aa assets/create/models/block/black_postbox.json
|
||||
1fe4a9cbcae773f32c07f7cef42f52588ec1c1aa assets/create/models/block/black_postbox_closed.json
|
||||
3caec00f8aa36393cac8049815b3e8bad12d8dae assets/create/models/block/black_postbox_open.json
|
||||
62c92a681b5a86a5415cc7a70263ffdc794cdd59 assets/create/models/block/black_sail.json
|
||||
443ed49b053fdd7356cd56f0495e18f2570d57d9 assets/create/models/block/black_seat.json
|
||||
f48989d377de8e5067e807adf7e38da781e37ed9 assets/create/models/block/black_toolbox.json
|
||||
8715787d72c3ef47c5651abcd819539bad6a96f7 assets/create/models/block/black_valve_handle.json
|
||||
e0eebf58af7ce6789dd3908f216e81e363fcdea6 assets/create/models/block/blue_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/blue_nixie_tube.json
|
||||
e9e9487a3440b3a6c1ac515f63385ee59e8fb773 assets/create/models/block/blue_postbox.json
|
||||
e9e9487a3440b3a6c1ac515f63385ee59e8fb773 assets/create/models/block/blue_postbox_closed.json
|
||||
7e2df652bfc7fdc27da6a52b52fe732fa175c996 assets/create/models/block/blue_postbox_open.json
|
||||
ddc740084aa5f387bee062bd4141ad8fadb56355 assets/create/models/block/blue_sail.json
|
||||
96431b1f3a531ce89f876c9286b81838aec9b6d3 assets/create/models/block/blue_seat.json
|
||||
89932aab163b14a21fffd4fab4b8b88a94163089 assets/create/models/block/blue_toolbox.json
|
||||
|
@ -776,7 +778,8 @@ ec81e9c237ec98b30a3de22e12cb9720922478eb assets/create/models/block/brass_side.j
|
|||
c697cace1f4097468ff34254c4ff6450d9d52f91 assets/create/models/block/brass_side_alt.json
|
||||
5996b728460cf24e25890d977cdca49d2927465a assets/create/models/block/brown_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/brown_nixie_tube.json
|
||||
b04c80852527a07e01c27686be678cbaf568e821 assets/create/models/block/brown_postbox.json
|
||||
b04c80852527a07e01c27686be678cbaf568e821 assets/create/models/block/brown_postbox_closed.json
|
||||
19a2045ecedd3ef12cda7d69a0d7bc6a4133b7f1 assets/create/models/block/brown_postbox_open.json
|
||||
50a054d1e0660d16e86cf7a520b9bf36e38401b6 assets/create/models/block/brown_sail.json
|
||||
0616de192825246e6036d1f69911170438a83b81 assets/create/models/block/brown_seat.json
|
||||
4226a7c5f1bfb0a75457fb4dfd22448503110e5c assets/create/models/block/brown_toolbox.json
|
||||
|
@ -1110,7 +1113,8 @@ b2e847cee8c01791c15fcdd35787af33ebe46f0a assets/create/models/block/cut_veridium
|
|||
5ab4db4245b852edf985fe72595f678eb7372801 assets/create/models/block/cut_veridium_wall_side_tall.json
|
||||
983788579d7ec61b805d1057b81a18282af38365 assets/create/models/block/cyan_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/cyan_nixie_tube.json
|
||||
0cbd0c6c909effa2f71e198655d51f2e483454aa assets/create/models/block/cyan_postbox.json
|
||||
0cbd0c6c909effa2f71e198655d51f2e483454aa assets/create/models/block/cyan_postbox_closed.json
|
||||
ccea6f3023879d84de4590a584f666598f58d6bc assets/create/models/block/cyan_postbox_open.json
|
||||
27c9aff76b32e4de18d581e133fc23a8239ca412 assets/create/models/block/cyan_sail.json
|
||||
01a324a92552076589e2aaaeca9d4da2d1e3b39d assets/create/models/block/cyan_seat.json
|
||||
663f431fe8a02e057980cf9bcfc566eb5adc876f assets/create/models/block/cyan_toolbox.json
|
||||
|
@ -1193,14 +1197,16 @@ d0fa41de17f65693188f1868ace5fc2ac518739b assets/create/models/block/gantry_shaft
|
|||
ee860a8bd95fda14a859d6632652ee2a95f06c19 assets/create/models/block/granite_pillar_horizontal.json
|
||||
ca01316f75239f08d7da81615779f8eb002de88f assets/create/models/block/gray_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/gray_nixie_tube.json
|
||||
f2bbb067bc4e91a71303cc92939c4f4707cdc1ab assets/create/models/block/gray_postbox.json
|
||||
f2bbb067bc4e91a71303cc92939c4f4707cdc1ab assets/create/models/block/gray_postbox_closed.json
|
||||
905fb4b54a39ca9bc1d6f48977bb3b158b17c2a1 assets/create/models/block/gray_postbox_open.json
|
||||
97f382e9b435c81d1d8e0ed487a7fc16e6945958 assets/create/models/block/gray_sail.json
|
||||
58b51da5c80e4f43582452d97453c93145a516ad assets/create/models/block/gray_seat.json
|
||||
cd3cff8e38d559dcb78df014556a78d5a538af43 assets/create/models/block/gray_toolbox.json
|
||||
3ee19f46bdeb0ac7489dcd4d51f90ab01ad863c9 assets/create/models/block/gray_valve_handle.json
|
||||
71fae019670515f2c5bf7bd1f7930d76b6ff3e15 assets/create/models/block/green_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/green_nixie_tube.json
|
||||
21fbacdc856fb1003f58bf2842fe418124f6b01d assets/create/models/block/green_postbox.json
|
||||
21fbacdc856fb1003f58bf2842fe418124f6b01d assets/create/models/block/green_postbox_closed.json
|
||||
703df2f5307d39f0f4e5b9a1f99b8c14fd819dd0 assets/create/models/block/green_postbox_open.json
|
||||
26577589688ec1f39cae9f42704cb36cbc1c48ae assets/create/models/block/green_sail.json
|
||||
ae51eaa500dd036fa27474a7392f381afb677dfd assets/create/models/block/green_seat.json
|
||||
801d277b241332d5f4b49bdb00b911dcd01a7db2 assets/create/models/block/green_toolbox.json
|
||||
|
@ -1245,14 +1251,16 @@ b843a6e27c4f90e31108f9f3c1573e70fb3d0927 assets/create/models/block/layered_scor
|
|||
336d1646294e018ea3de60b30a621a10ca7aa6d7 assets/create/models/block/layered_veridium.json
|
||||
f479a8a6964c52fc3b072ca3170d5b478f62842a assets/create/models/block/light_blue_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/light_blue_nixie_tube.json
|
||||
cf487c0be9444b7ac124d2ae33e6c545803e14b6 assets/create/models/block/light_blue_postbox.json
|
||||
cf487c0be9444b7ac124d2ae33e6c545803e14b6 assets/create/models/block/light_blue_postbox_closed.json
|
||||
7497701edea1599fc51e3eaa0367007ca00bbe69 assets/create/models/block/light_blue_postbox_open.json
|
||||
2e83d3aaa92640d6b3da2a2644f6a160f97b08e4 assets/create/models/block/light_blue_sail.json
|
||||
ba917560f40a4e46ef190649f18adad9962c5c02 assets/create/models/block/light_blue_seat.json
|
||||
c20616aa90feab3003cecb4a5be5466c0fc83072 assets/create/models/block/light_blue_toolbox.json
|
||||
bcd3d28b8a062649301648ea5e2d0463f93d008d assets/create/models/block/light_blue_valve_handle.json
|
||||
8de84b9d3eb33403de699c5c5c4093e32b1685f9 assets/create/models/block/light_gray_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/light_gray_nixie_tube.json
|
||||
1efabd28f0dc3db1c0e6bea2be62cac883fefd66 assets/create/models/block/light_gray_postbox.json
|
||||
1efabd28f0dc3db1c0e6bea2be62cac883fefd66 assets/create/models/block/light_gray_postbox_closed.json
|
||||
a42521eac2924269cb1f0e865bafe7dcd147d1cc assets/create/models/block/light_gray_postbox_open.json
|
||||
09f284574b38ab57579e939bbb088b8d36e0b8f5 assets/create/models/block/light_gray_sail.json
|
||||
d1813d0f548fcddb361df7cc3b5d97582842b10f assets/create/models/block/light_gray_seat.json
|
||||
4ec5d701dd8b2d8c3dc44d05f527a3d737002cd4 assets/create/models/block/light_gray_toolbox.json
|
||||
|
@ -1262,7 +1270,8 @@ adb8dbed70419e0310e7a20f3656bf325b348434 assets/create/models/block/light_gray_v
|
|||
fb18280a2a708f60b00cc7c675804c219784871a assets/create/models/block/limestone_pillar_horizontal.json
|
||||
023f2538cd860e3ade165390eab9e4fe32847402 assets/create/models/block/lime_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/lime_nixie_tube.json
|
||||
952d292d4dc2158e6106c5079cfa1ddb81c7777e assets/create/models/block/lime_postbox.json
|
||||
952d292d4dc2158e6106c5079cfa1ddb81c7777e assets/create/models/block/lime_postbox_closed.json
|
||||
4357f5d9102d54c7fbe5325512a2cd42d94d6d42 assets/create/models/block/lime_postbox_open.json
|
||||
5a95a72444f523cfba6e8c5adf8eacbb37e2d21e assets/create/models/block/lime_sail.json
|
||||
09e7bf50cf88c449dbd9e77829cdb5afffb7d88d assets/create/models/block/lime_seat.json
|
||||
b92822a01e4fbed2463b1bdf7dcc736023988e20 assets/create/models/block/lime_toolbox.json
|
||||
|
@ -1273,7 +1282,8 @@ a1a3804ddcb1db0a7b5c0693555f8eb326950dd0 assets/create/models/block/linear_chass
|
|||
f885acc0ba705cfa9c65b62626ab4007f3b6e329 assets/create/models/block/linear_chassis_top_bottom.json
|
||||
e23d016fe71681e6b13fece5d14d95da5fb45fbb assets/create/models/block/magenta_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/magenta_nixie_tube.json
|
||||
bfea3fd456f92391afc9f948ade90b16275e63de assets/create/models/block/magenta_postbox.json
|
||||
bfea3fd456f92391afc9f948ade90b16275e63de assets/create/models/block/magenta_postbox_closed.json
|
||||
fe224c9e396eb51a6cc0b38175b621a56500fda7 assets/create/models/block/magenta_postbox_open.json
|
||||
81122f26a12b7ab40fed6d31c97376f4dfffa111 assets/create/models/block/magenta_sail.json
|
||||
b5cd13b021400b3c37499ec4ef22e560c721ac54 assets/create/models/block/magenta_seat.json
|
||||
d7b2b16ba2d6a0b2441aeaf7faa76f61fbdc35e7 assets/create/models/block/magenta_toolbox.json
|
||||
|
@ -1299,7 +1309,8 @@ d69effa0a811cb93fead8257bcaad4bbf0094002 assets/create/models/block/ochrum_natur
|
|||
24669a4e93925940477fcfc0aca10ab9d87368e0 assets/create/models/block/ochrum_pillar.json
|
||||
c8dd33a0b71dce37712788a61729de89574b117f assets/create/models/block/ochrum_pillar_horizontal.json
|
||||
6ba7beb0581d761ce06dad03cdd19e591e392546 assets/create/models/block/orange_display_cloth.json
|
||||
dbd0cbfa1c6cfaddd7ac954379b4b1f3056730f2 assets/create/models/block/orange_postbox.json
|
||||
dbd0cbfa1c6cfaddd7ac954379b4b1f3056730f2 assets/create/models/block/orange_postbox_closed.json
|
||||
88cda1f606e502cf0df9430b75a70fd3161fd6ba assets/create/models/block/orange_postbox_open.json
|
||||
cb4cd4e4bfb0d105a09c56454abf4795b155d12b assets/create/models/block/orange_sail.json
|
||||
6c4addc75fb03911fca3083f891b22f55209b8db assets/create/models/block/orange_seat.json
|
||||
f68eeb8cd828a0659fe8665373daf093ea65f0fc assets/create/models/block/orange_toolbox.json
|
||||
|
@ -1328,7 +1339,8 @@ b9c9d00b844ca2f217ae21cc502cd4d082fed2d5 assets/create/models/block/peculiar_bel
|
|||
f7b09c243cfeda8bb38a29a917b9fbdafe47eece assets/create/models/block/peculiar_bell_single_wall.json
|
||||
266d126aa95d03fc274d838986fc1f53519f4e10 assets/create/models/block/pink_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/pink_nixie_tube.json
|
||||
084266ced8975953fa158fd9e7261d8f10b94db7 assets/create/models/block/pink_postbox.json
|
||||
084266ced8975953fa158fd9e7261d8f10b94db7 assets/create/models/block/pink_postbox_closed.json
|
||||
e99518b61a3c7a89570a8aa8c4cb45badfa8547a assets/create/models/block/pink_postbox_open.json
|
||||
90113a1f53f0f8d9ce11ff14128eb860063f5ddc assets/create/models/block/pink_sail.json
|
||||
888dba067e751a55205dbd919db8e92ef2be604d assets/create/models/block/pink_seat.json
|
||||
3cb69299c7787f88fb41c6397362aa7b607c0960 assets/create/models/block/pink_toolbox.json
|
||||
|
@ -1488,7 +1500,8 @@ ab3d7e10abcb53b835d6f5c406b7a777a942d6f7 assets/create/models/block/pulse_timer_
|
|||
7b425d9db8d914b52b7faad2f792c020b678f84d assets/create/models/block/pulse_timer_powering.json
|
||||
7688c890be93afa905bd869ef0bcdc603bce9a78 assets/create/models/block/purple_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/purple_nixie_tube.json
|
||||
afdd265ee175c47ea6e4e44fb08d212e4cef5ee5 assets/create/models/block/purple_postbox.json
|
||||
afdd265ee175c47ea6e4e44fb08d212e4cef5ee5 assets/create/models/block/purple_postbox_closed.json
|
||||
fbd874fd63b3d6f50592703dce6bf196f2d63732 assets/create/models/block/purple_postbox_open.json
|
||||
356378a5839b0b400aa5e0a67740634113c09a38 assets/create/models/block/purple_sail.json
|
||||
bc8e473a5662b6180b00b85e5006241a283c9baa assets/create/models/block/purple_seat.json
|
||||
5e85ec98c165a0b5bfe25d391e96df9164372a3a assets/create/models/block/purple_toolbox.json
|
||||
|
@ -1503,7 +1516,8 @@ ff65b89683fbb9326f625b9a68f954def5ed000d assets/create/models/block/radial_chass
|
|||
be8042806b08990786ced1cf140c4942d7a6788b assets/create/models/block/raw_zinc_block.json
|
||||
832899421073c18da17bf6919c97e2f3cf9a6b77 assets/create/models/block/red_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/red_nixie_tube.json
|
||||
844614001c30ef34d3136a350c12018c5e9ab341 assets/create/models/block/red_postbox.json
|
||||
844614001c30ef34d3136a350c12018c5e9ab341 assets/create/models/block/red_postbox_closed.json
|
||||
d06791faedd062464a13972a3b64de86053aeac7 assets/create/models/block/red_postbox_open.json
|
||||
b692deeb65f338212fb1073b725a122b7b1359d5 assets/create/models/block/red_sail.json
|
||||
bf3f4ba33e1a61254073ecee3e753958f8debb35 assets/create/models/block/red_seat.json
|
||||
2a13766aebac1a392ae7bf934bd81d9210c87a24 assets/create/models/block/red_toolbox.json
|
||||
|
@ -1762,14 +1776,16 @@ b658c1022587bd670b5acee267607719c1544332 assets/create/models/block/weathered_co
|
|||
e7ae89577be9d26a071bf96cbd7ed80293902b63 assets/create/models/block/weathered_copper_tile_stairs_outer.json
|
||||
15316edd1babb61b1458cf81feaf2c3e135122b6 assets/create/models/block/white_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/white_nixie_tube.json
|
||||
998d838964c6c5bc2a1903b5098491abf5d819bc assets/create/models/block/white_postbox.json
|
||||
998d838964c6c5bc2a1903b5098491abf5d819bc assets/create/models/block/white_postbox_closed.json
|
||||
e89fe63260b94fc70e360eceb3d04b74242c248f assets/create/models/block/white_postbox_open.json
|
||||
99f0628623a36ac1700a5876cec010ee6353162f assets/create/models/block/white_seat.json
|
||||
f252f8c68702a0c050797a2dc2a51c586408722d assets/create/models/block/white_toolbox.json
|
||||
c9e344a06ee8bca1bfddd70481198135cabafbce assets/create/models/block/white_valve_handle.json
|
||||
68d8eddfb724c73938862fb1a213a99c95814fdb assets/create/models/block/windmill_bearing.json
|
||||
6c063bc2ef06940af3a1d3d0f1546030bdaef672 assets/create/models/block/yellow_display_cloth.json
|
||||
2f040681214af58a97e70d3a6e77a0fc2e02c624 assets/create/models/block/yellow_nixie_tube.json
|
||||
9abbd0af47396b1cb18362b423f497ddb40eede4 assets/create/models/block/yellow_postbox.json
|
||||
9abbd0af47396b1cb18362b423f497ddb40eede4 assets/create/models/block/yellow_postbox_closed.json
|
||||
098b675ef5071a32bce387445da09067917852c7 assets/create/models/block/yellow_postbox_open.json
|
||||
cf8477d6c7558ceba38416fae755567086a856a6 assets/create/models/block/yellow_sail.json
|
||||
07b68f0e4c617dfe3e935a1b9e8e020ab3131c0b assets/create/models/block/yellow_seat.json
|
||||
21bb6e0b43984214c496e531e16dd60aeb619a42 assets/create/models/block/yellow_toolbox.json
|
||||
|
@ -3185,7 +3201,7 @@ bb9d906a97810ed1461ed321ef8e4bee1dd104fb data/create/loot_tables/blocks/blue_sai
|
|||
833fe6bc3020055dd0d6f46b324cbe27b248708d data/create/loot_tables/blocks/blue_seat.json
|
||||
9d22716d9d846dc9587e327dfcdf18dd5955f826 data/create/loot_tables/blocks/blue_toolbox.json
|
||||
6d7ecb10e21b1e12c83c71736f14cbba3ccd7aaf data/create/loot_tables/blocks/blue_valve_handle.json
|
||||
14f1cffb75761dc7e6223aa16a5d84da10dc2813 data/create/loot_tables/blocks/bound_cardboard_block.json
|
||||
53e01f63aa47aa00575240ccdf867b4d6c392385 data/create/loot_tables/blocks/bound_cardboard_block.json
|
||||
7d8b199f381003e5a74a8144976b65c93a09dbcb data/create/loot_tables/blocks/brass_bars.json
|
||||
64a5869c6b3edeca06771f8ef64ef9521d83302a data/create/loot_tables/blocks/brass_belt_funnel.json
|
||||
78ecee2c9baf6b0c78f6c7aa692e102a3f4dda74 data/create/loot_tables/blocks/brass_block.json
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-10-30T15:58:08.6667432 Create's Standard Recipes
|
||||
// 1.20.1 2024-11-01T09:46:44.6761844 Create's Standard Recipes
|
||||
a8cc4af26f6c7c45a9eef12e92af1452fe042454 data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank.json
|
||||
2c2639c7b307ee7c7a4e97e5efebf496788998ad data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank_from_netherite.json
|
||||
81dcf0cb1aa99e39bc7d1a386e07cad4cee7d8b9 data/create/advancements/recipes/combat/crafting/appliances/netherite_diving_boots.json
|
||||
|
@ -454,7 +454,7 @@ ac524c110f66a7433208a888c5f3bb69e5e95743 data/create/recipes/crafting/materials/
|
|||
e6bb68a1d2ed5a629c83f5a0eefb843bb890736d data/create/recipes/crafting/materials/andesite_alloy_block.json
|
||||
eebacb477bcce876622173289b06e1ad21424686 data/create/recipes/crafting/materials/andesite_alloy_from_block.json
|
||||
5008707e622c0fa0b6df32da5da7230a4da574ca data/create/recipes/crafting/materials/andesite_alloy_from_zinc.json
|
||||
455730ac3f06c0b2ef20992ec23edd36cd65194b data/create/recipes/crafting/materials/bound_cardboard_block.json
|
||||
ba8ec9cb0894132cd4e0d14322a388c061706a29 data/create/recipes/crafting/materials/bound_cardboard_block.json
|
||||
f9f94e5082e7971e55b25bc00ba86c3579b492aa data/create/recipes/crafting/materials/brass_block_from_compacting.json
|
||||
ecd8581ad4a04cc1217133363bd15d76129cb651 data/create/recipes/crafting/materials/brass_ingot_from_compacting.json
|
||||
fe2f3c0722aa0f6b41ad0f497b9742eb856c0dd0 data/create/recipes/crafting/materials/brass_ingot_from_decompacting.json
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-10-18T15:46:50.4883378 Create's Processing Recipes
|
||||
// 1.20.1 2024-11-01T09:46:44.623326 Create's Processing Recipes
|
||||
3c94326fb730f68c1e44fe1e2ef09c9db6ffd92b data/create/recipes/compacting/andesite_from_flint.json
|
||||
8d3d5b31f3601b9f681ff710e0545a483a1494c6 data/create/recipes/compacting/blaze_cake.json
|
||||
8bd7f4e3a686ab520b2d55594d2018d0e9a50c91 data/create/recipes/compacting/chocolate.json
|
||||
|
@ -752,6 +752,7 @@ a701fb82072d60320aa9b0280fa58c58296e8e42 data/create/recipes/haunting/soul_sand.
|
|||
b18c81c17d395fb6e9291fc010576914000f069d data/create/recipes/haunting/warped_fungus.json
|
||||
409c94b597bc0e35cce51282428fc02b919bb55e data/create/recipes/item_application/andesite_casing_from_log.json
|
||||
4816a96aa0117b826ec01f9351c98eaec4e132fd data/create/recipes/item_application/andesite_casing_from_wood.json
|
||||
59b5145feb9f433aaab98bb7e3f1070499768210 data/create/recipes/item_application/bound_cardboard_inworld.json
|
||||
ac734bd72012ab3f0fd362fdcf237191874e1eae data/create/recipes/item_application/brass_casing_from_log.json
|
||||
df1d95a4e41fb01d0ac240f89dcf734e00d92853 data/create/recipes/item_application/brass_casing_from_wood.json
|
||||
a9e164ba47552af7df82f011080d981420388bc6 data/create/recipes/item_application/copper_casing_from_log.json
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/black_postbox"
|
||||
"model": "create:block/black_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/black_postbox"
|
||||
"model": "create:block/black_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/black_postbox",
|
||||
"model": "create:block/black_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/blue_postbox"
|
||||
"model": "create:block/blue_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/blue_postbox"
|
||||
"model": "create:block/blue_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/blue_postbox",
|
||||
"model": "create:block/blue_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/brown_postbox"
|
||||
"model": "create:block/brown_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/brown_postbox"
|
||||
"model": "create:block/brown_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/brown_postbox",
|
||||
"model": "create:block/brown_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/cyan_postbox"
|
||||
"model": "create:block/cyan_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/cyan_postbox"
|
||||
"model": "create:block/cyan_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/cyan_postbox",
|
||||
"model": "create:block/cyan_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/gray_postbox"
|
||||
"model": "create:block/gray_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/gray_postbox"
|
||||
"model": "create:block/gray_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/gray_postbox",
|
||||
"model": "create:block/gray_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/green_postbox"
|
||||
"model": "create:block/green_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/green_postbox"
|
||||
"model": "create:block/green_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/green_postbox",
|
||||
"model": "create:block/green_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/light_blue_postbox"
|
||||
"model": "create:block/light_blue_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/light_blue_postbox"
|
||||
"model": "create:block/light_blue_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/light_blue_postbox",
|
||||
"model": "create:block/light_blue_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/light_gray_postbox"
|
||||
"model": "create:block/light_gray_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/light_gray_postbox"
|
||||
"model": "create:block/light_gray_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/light_gray_postbox",
|
||||
"model": "create:block/light_gray_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/lime_postbox"
|
||||
"model": "create:block/lime_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/lime_postbox"
|
||||
"model": "create:block/lime_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/lime_postbox",
|
||||
"model": "create:block/lime_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/magenta_postbox"
|
||||
"model": "create:block/magenta_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/magenta_postbox"
|
||||
"model": "create:block/magenta_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/magenta_postbox",
|
||||
"model": "create:block/magenta_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/orange_postbox"
|
||||
"model": "create:block/orange_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/orange_postbox"
|
||||
"model": "create:block/orange_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/orange_postbox",
|
||||
"model": "create:block/orange_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/pink_postbox"
|
||||
"model": "create:block/pink_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/pink_postbox"
|
||||
"model": "create:block/pink_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/pink_postbox",
|
||||
"model": "create:block/pink_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/purple_postbox"
|
||||
"model": "create:block/purple_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/purple_postbox"
|
||||
"model": "create:block/purple_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/purple_postbox",
|
||||
"model": "create:block/purple_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/red_postbox"
|
||||
"model": "create:block/red_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/red_postbox"
|
||||
"model": "create:block/red_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/red_postbox",
|
||||
"model": "create:block/red_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/white_postbox"
|
||||
"model": "create:block/white_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/white_postbox"
|
||||
"model": "create:block/white_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/white_postbox",
|
||||
"model": "create:block/white_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,open=false": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_closed",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,open=true": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_open",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north,open=false": {
|
||||
"model": "create:block/yellow_postbox"
|
||||
"model": "create:block/yellow_postbox_closed"
|
||||
},
|
||||
"facing=north,open=true": {
|
||||
"model": "create:block/yellow_postbox"
|
||||
"model": "create:block/yellow_postbox_open"
|
||||
},
|
||||
"facing=south,open=false": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_closed",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,open=true": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_open",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,open=false": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_closed",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,open=true": {
|
||||
"model": "create:block/yellow_postbox",
|
||||
"model": "create:block/yellow_postbox_open",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
|
|
|
@ -919,6 +919,8 @@
|
|||
"create.chain_conveyor.valid_connection": "✔ ʇɔǝuuoƆ uɐƆ",
|
||||
"create.clipboard.actions": "suoıʇɔⱯ pɹɐoqdıןƆ",
|
||||
"create.clipboard.copied_from": "%1$s ɯoɹɟ sbuıʇʇǝs buıʎdoƆ",
|
||||
"create.clipboard.copied_from_clipboard": "pɹɐoqdıןƆ ɯoɹɟ sǝıɹʇuǝ pǝppⱯ",
|
||||
"create.clipboard.copy_other_clipboard": "pɹɐoqdıןƆ sıɥʇ ɯoɹɟ sǝıɹʇuǝ ʎdoƆ oʇ %1$s",
|
||||
"create.clipboard.pasted_to": "%1$s oʇ sbuıʇʇǝs pǝıןddⱯ",
|
||||
"create.clipboard.to_copy": "sbuıʇʇǝs ʎdoƆ oʇ %1$s",
|
||||
"create.clipboard.to_paste": "sbuıʇʇǝs ǝʇsɐԀ oʇ %1$s",
|
||||
|
|
|
@ -919,6 +919,8 @@
|
|||
"create.chain_conveyor.valid_connection": "Can Connect ✔",
|
||||
"create.clipboard.actions": "Clipboard Actions",
|
||||
"create.clipboard.copied_from": "Copying settings from %1$s",
|
||||
"create.clipboard.copied_from_clipboard": "Added entries from Clipboard",
|
||||
"create.clipboard.copy_other_clipboard": "%1$s to Copy entries from this Clipboard",
|
||||
"create.clipboard.pasted_to": "Applied settings to %1$s",
|
||||
"create.clipboard.to_copy": "%1$s to Copy settings",
|
||||
"create.clipboard.to_paste": "%1$s to Paste settings",
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_black",
|
||||
"1": "create:block/post_box/post_box_black_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_blue",
|
||||
"1": "create:block/post_box/post_box_blue_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_brown",
|
||||
"1": "create:block/post_box/post_box_brown_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_cyan",
|
||||
"1": "create:block/post_box/post_box_cyan_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_gray",
|
||||
"1": "create:block/post_box/post_box_gray_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_green",
|
||||
"1": "create:block/post_box/post_box_green_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_light_blue",
|
||||
"1": "create:block/post_box/post_box_light_blue_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_light_gray",
|
||||
"1": "create:block/post_box/post_box_light_gray_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_lime",
|
||||
"1": "create:block/post_box/post_box_lime_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_magenta",
|
||||
"1": "create:block/post_box/post_box_magenta_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_orange",
|
||||
"1": "create:block/post_box/post_box_orange_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_pink",
|
||||
"1": "create:block/post_box/post_box_pink_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_purple",
|
||||
"1": "create:block/post_box/post_box_purple_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_red",
|
||||
"1": "create:block/post_box/post_box_red_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_white",
|
||||
"1": "create:block/post_box/post_box_white_open"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"textures": {
|
||||
"0": "create:block/post_box/post_box_yellow",
|
||||
"1": "create:block/post_box/post_box_yellow_open"
|
||||
}
|
||||
}
|
|
@ -11,7 +11,22 @@
|
|||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:bound_cardboard_block"
|
||||
"name": "minecraft:string"
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
},
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:cardboard_block"
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
|
|
|
@ -1,22 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "misc",
|
||||
"key": {
|
||||
"C": {
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cardboard_block"
|
||||
},
|
||||
"S": {
|
||||
"tag": "forge:string"
|
||||
{
|
||||
"item": "minecraft:string"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"CCC",
|
||||
"CSC",
|
||||
"CCC"
|
||||
],
|
||||
"result": {
|
||||
"count": 8,
|
||||
"item": "create:bound_cardboard_block"
|
||||
},
|
||||
"show_notification": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "create:item_application",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "create:cardboard_block"
|
||||
},
|
||||
{
|
||||
"tag": "forge:string"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "create:bound_cardboard_block"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -299,6 +299,7 @@ import net.minecraft.sounds.SoundEvents;
|
|||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.item.enchantment.Enchantments;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
@ -1766,12 +1767,14 @@ public class AllBlocks {
|
|||
.properties(p -> p.mapColor(colour))
|
||||
.transform(axeOnly())
|
||||
.blockstate((c, p) -> {
|
||||
p.horizontalBlock(c.get(), s -> p.models()
|
||||
.withExistingParent(colourName + "_postbox",
|
||||
p.modLoc("block/package_postbox/block_" + (s.getValue(PostboxBlock.OPEN) ? "open" : "closed")))
|
||||
.texture("0", p.modLoc("block/post_box/post_box_" + colourName))
|
||||
.texture("1", p.modLoc("block/post_box/post_box_" + colourName
|
||||
+ (s.getValue(PostboxBlock.OPEN) ? "_open" : "_closed"))));
|
||||
p.horizontalBlock(c.get(), s -> {
|
||||
String suffix = s.getValue(PostboxBlock.OPEN) ? "open" : "closed";
|
||||
return p.models()
|
||||
.withExistingParent(colourName + "_postbox_" + suffix,
|
||||
p.modLoc("block/package_postbox/block_" + suffix))
|
||||
.texture("0", p.modLoc("block/post_box/post_box_" + colourName))
|
||||
.texture("1", p.modLoc("block/post_box/post_box_" + colourName + "_" + suffix));
|
||||
});
|
||||
})
|
||||
.tag(AllBlockTags.POSTBOXES.tag)
|
||||
.item(PackagePortItem::new)
|
||||
|
@ -2549,6 +2552,13 @@ public class AllBlocks {
|
|||
.ignitedByLava())
|
||||
.transform(axeOnly())
|
||||
.blockstate(BlockStateGen.horizontalAxisBlockProvider(false))
|
||||
.loot((r, b) -> r.add(b, LootTable.lootTable()
|
||||
.withPool(r.applyExplosionCondition(b, LootPool.lootPool()
|
||||
.setRolls(ConstantValue.exactly(1.0F))
|
||||
.add(LootItem.lootTableItem(Items.STRING))))
|
||||
.withPool(r.applyExplosionCondition(b, LootPool.lootPool()
|
||||
.setRolls(ConstantValue.exactly(1.0F))
|
||||
.add(LootItem.lootTableItem(AllBlocks.CARDBOARD_BLOCK.asItem()))))))
|
||||
.simpleItem()
|
||||
.lang("Bound block of Cardboard")
|
||||
.register();
|
||||
|
|
|
@ -1,30 +1,38 @@
|
|||
package com.simibubi.create.content.decoration;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import com.simibubi.create.AllShapes;
|
||||
import com.simibubi.create.content.equipment.extendoGrip.ExtendoGripItem;
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
import net.createmod.catnip.utility.placement.IPlacementHelper;
|
||||
import net.createmod.catnip.utility.placement.PlacementHelpers;
|
||||
import net.createmod.catnip.utility.placement.PlacementOffset;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeInstance;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.LevelReader;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.LadderBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.ForgeMod;
|
||||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class MetalLadderBlock extends LadderBlock implements IWrenchable {
|
||||
|
||||
private static final int placementHelperId = PlacementHelpers.register(new PlacementHelper());
|
||||
|
@ -41,10 +49,33 @@ public class MetalLadderBlock extends LadderBlock implements IWrenchable {
|
|||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) {
|
||||
if (pDirection != null && pDirection.getAxis()
|
||||
.isHorizontal())
|
||||
return pAdjacentBlockState.isAir() || !pAdjacentBlockState.blocksMotion();
|
||||
return pDirection == Direction.UP && pAdjacentBlockState.getBlock() instanceof LadderBlock;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getOcclusionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos) {
|
||||
return AllShapes.SIX_VOXEL_POLE.get(Axis.Y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel,
|
||||
BlockPos pCurrentPos, BlockPos pFacingPos) {
|
||||
if (!pState.canSurvive(pLevel, pCurrentPos))
|
||||
return Blocks.AIR.defaultBlockState();
|
||||
return super.updateShape(pState, pFacing, pFacingState, pLevel, pCurrentPos, pFacingPos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) {
|
||||
return super.canSurvive(pState, pLevel, pPos) || pLevel.getBlockState(pPos.relative(Direction.UP))
|
||||
.is(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand,
|
||||
BlockHitResult ray) {
|
||||
|
|
|
@ -55,11 +55,11 @@ public class ClipboardValueSettingsHandler {
|
|||
return;
|
||||
if (!(mc.level.getBlockEntity(pos) instanceof SmartBlockEntity smartBE))
|
||||
return;
|
||||
if (!smartBE.getAllBehaviours()
|
||||
if (!(smartBE instanceof ClipboardBlockEntity) && !smartBE.getAllBehaviours()
|
||||
.stream()
|
||||
.anyMatch(b -> b instanceof ClipboardCloneable cc
|
||||
&& cc.writeToClipboard(new CompoundTag(), target.getDirection()))
|
||||
&& !(smartBE instanceof ClipboardCloneable))
|
||||
&& !(smartBE instanceof ClipboardCloneable))
|
||||
return;
|
||||
|
||||
VoxelShape shape = blockstate.getShape(mc.level, pos);
|
||||
|
@ -92,6 +92,14 @@ public class ClipboardValueSettingsHandler {
|
|||
if (!(mc.level.getBlockEntity(pos) instanceof SmartBlockEntity smartBE))
|
||||
return;
|
||||
|
||||
if (smartBE instanceof ClipboardBlockEntity) {
|
||||
List<MutableComponent> tip = new ArrayList<>();
|
||||
tip.add(CreateLang.translateDirect("clipboard.actions"));
|
||||
tip.add(CreateLang.translateDirect("clipboard.copy_other_clipboard", Components.keybind("key.use")));
|
||||
CreateClient.VALUE_SETTINGS_HANDLER.showHoverTip(tip);
|
||||
return;
|
||||
}
|
||||
|
||||
CompoundTag tagElement = mc.player.getMainHandItem()
|
||||
.getTagElement("CopiedValues");
|
||||
|
||||
|
@ -146,6 +154,55 @@ public class ClipboardValueSettingsHandler {
|
|||
return;
|
||||
if (!(world.getBlockEntity(pos) instanceof SmartBlockEntity smartBE))
|
||||
return;
|
||||
|
||||
if (smartBE instanceof ClipboardBlockEntity cbe) {
|
||||
event.setCanceled(true);
|
||||
event.setCancellationResult(InteractionResult.SUCCESS);
|
||||
|
||||
if (!world.isClientSide()) {
|
||||
List<List<ClipboardEntry>> listTo = ClipboardEntry.readAll(itemStack);
|
||||
List<List<ClipboardEntry>> listFrom = ClipboardEntry.readAll(cbe.dataContainer);
|
||||
List<ClipboardEntry> toAdd = new ArrayList<>();
|
||||
|
||||
for (List<ClipboardEntry> page : listFrom) {
|
||||
Copy: for (ClipboardEntry entry : page) {
|
||||
String entryToAdd = entry.text.getString();
|
||||
for (List<ClipboardEntry> pageTo : listTo)
|
||||
for (ClipboardEntry existing : pageTo)
|
||||
if (entryToAdd.equals(existing.text.getString()))
|
||||
continue Copy;
|
||||
toAdd.add(new ClipboardEntry(entry.checked, entry.text));
|
||||
}
|
||||
}
|
||||
|
||||
for (ClipboardEntry entry : toAdd) {
|
||||
List<ClipboardEntry> page = null;
|
||||
for (List<ClipboardEntry> freePage : listTo) {
|
||||
if (freePage.size() > 11)
|
||||
continue;
|
||||
page = freePage;
|
||||
break;
|
||||
}
|
||||
if (page == null) {
|
||||
page = new ArrayList<>();
|
||||
listTo.add(page);
|
||||
}
|
||||
page.add(entry);
|
||||
ClipboardOverrides.switchTo(ClipboardType.WRITTEN, itemStack);
|
||||
}
|
||||
|
||||
ClipboardEntry.saveAll(listTo, itemStack);
|
||||
}
|
||||
|
||||
player.displayClientMessage(CreateLang.translate("clipboard.copied_from_clipboard", world.getBlockState(pos)
|
||||
.getBlock()
|
||||
.getName()
|
||||
.withStyle(ChatFormatting.WHITE))
|
||||
.style(ChatFormatting.GREEN)
|
||||
.component(), true);
|
||||
return;
|
||||
}
|
||||
|
||||
CompoundTag tag = itemStack.getTagElement("CopiedValues");
|
||||
if (paste && tag == null)
|
||||
return;
|
||||
|
|
|
@ -13,6 +13,7 @@ import java.util.WeakHashMap;
|
|||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.animatedContainer.AnimatedContainerBehaviour;
|
||||
import com.simibubi.create.foundation.utility.ResetableLazy;
|
||||
|
||||
import net.createmod.catnip.utility.VecHelper;
|
||||
|
@ -34,7 +35,6 @@ import net.minecraft.world.item.DyeColor;
|
|||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.util.LazyOptional;
|
||||
|
@ -53,12 +53,13 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
ToolboxInventory inventory;
|
||||
LazyOptional<IItemHandler> inventoryProvider;
|
||||
ResetableLazy<DyeColor> colorProvider;
|
||||
protected int openCount;
|
||||
|
||||
Map<Integer, WeakHashMap<Player, Integer>> connectedPlayers;
|
||||
|
||||
private Component customName;
|
||||
|
||||
private AnimatedContainerBehaviour<ToolboxMenu> openTracker;
|
||||
|
||||
public ToolboxBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
connectedPlayers = new HashMap<>();
|
||||
|
@ -78,7 +79,9 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
}
|
||||
|
||||
@Override
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {}
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
|
||||
behaviours.add(openTracker = new AnimatedContainerBehaviour<>(this, ToolboxMenu.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
|
@ -101,8 +104,8 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
if (!level.isClientSide)
|
||||
tickPlayers();
|
||||
|
||||
lid.chase(openCount > 0 ? 1 : 0, 0.2f, Chaser.LINEAR);
|
||||
drawers.chase(openCount > 0 ? 1 : 0, 0.2f, Chaser.EXP);
|
||||
lid.chase(openTracker.openCount > 0 ? 1 : 0, 0.2f, Chaser.LINEAR);
|
||||
drawers.chase(openTracker.openCount > 0 ? 1 : 0, 0.2f, Chaser.EXP);
|
||||
lid.tickChaser();
|
||||
drawers.tickChaser();
|
||||
}
|
||||
|
@ -257,17 +260,17 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
private void tickAudio() {
|
||||
Vec3 vec = VecHelper.getCenterOf(worldPosition);
|
||||
if (lid.settled()) {
|
||||
if (openCount > 0 && lid.getChaseTarget() == 0) {
|
||||
if (openTracker.openCount > 0 && lid.getChaseTarget() == 0) {
|
||||
level.playLocalSound(vec.x, vec.y, vec.z, SoundEvents.IRON_DOOR_OPEN, SoundSource.BLOCKS, 0.25F,
|
||||
level.random.nextFloat() * 0.1F + 1.2F, true);
|
||||
level.playLocalSound(vec.x, vec.y, vec.z, SoundEvents.CHEST_OPEN, SoundSource.BLOCKS, 0.1F,
|
||||
level.random.nextFloat() * 0.1F + 1.1F, true);
|
||||
}
|
||||
if (openCount == 0 && lid.getChaseTarget() == 1)
|
||||
if (openTracker.openCount == 0 && lid.getChaseTarget() == 1)
|
||||
level.playLocalSound(vec.x, vec.y, vec.z, SoundEvents.CHEST_CLOSE, SoundSource.BLOCKS, 0.1F,
|
||||
level.random.nextFloat() * 0.1F + 1.1F, true);
|
||||
|
||||
} else if (openCount == 0 && lid.getChaseTarget() == 0 && lid.getValue(0) > 1 / 16f
|
||||
} else if (openTracker.openCount == 0 && lid.getChaseTarget() == 0 && lid.getValue(0) > 1 / 16f
|
||||
&& lid.getValue(1) < 1 / 16f)
|
||||
level.playLocalSound(vec.x, vec.y, vec.z, SoundEvents.IRON_DOOR_CLOSE, SoundSource.BLOCKS, 0.25F,
|
||||
level.random.nextFloat() * 0.1F + 1.2F, true);
|
||||
|
@ -288,8 +291,6 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
this.uniqueId = compound.getUUID("UniqueId");
|
||||
if (compound.contains("CustomName", 8))
|
||||
this.customName = Component.Serializer.fromJson(compound.getString("CustomName"));
|
||||
if (clientPacket)
|
||||
openCount = compound.getInt("OpenCount");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -303,8 +304,6 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
if (customName != null)
|
||||
compound.putString("CustomName", Component.Serializer.toJson(customName));
|
||||
super.write(compound, clientPacket);
|
||||
if (clientPacket)
|
||||
compound.putInt("OpenCount", openCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -314,46 +313,11 @@ public class ToolboxBlockEntity extends SmartBlockEntity implements MenuProvider
|
|||
|
||||
@Override
|
||||
public void lazyTick() {
|
||||
updateOpenCount();
|
||||
// keep re-advertising active TEs
|
||||
ToolboxHandler.onLoad(this);
|
||||
super.lazyTick();
|
||||
}
|
||||
|
||||
void updateOpenCount() {
|
||||
if (level.isClientSide)
|
||||
return;
|
||||
if (openCount == 0)
|
||||
return;
|
||||
|
||||
int prevOpenCount = openCount;
|
||||
openCount = 0;
|
||||
|
||||
for (Player playerentity : level.getEntitiesOfClass(Player.class, new AABB(worldPosition).inflate(8)))
|
||||
if (playerentity.containerMenu instanceof ToolboxMenu
|
||||
&& ((ToolboxMenu) playerentity.containerMenu).contentHolder == this)
|
||||
openCount++;
|
||||
|
||||
if (prevOpenCount != openCount)
|
||||
sendData();
|
||||
}
|
||||
|
||||
public void startOpen(Player player) {
|
||||
if (player.isSpectator())
|
||||
return;
|
||||
if (openCount < 0)
|
||||
openCount = 0;
|
||||
openCount++;
|
||||
sendData();
|
||||
}
|
||||
|
||||
public void stopOpen(Player player) {
|
||||
if (player.isSpectator())
|
||||
return;
|
||||
openCount--;
|
||||
sendData();
|
||||
}
|
||||
|
||||
public void connectPlayer(int slot, Player player, int hotbarSlot) {
|
||||
if (level.isClientSide)
|
||||
return;
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.simibubi.create.content.equipment.toolbox;
|
|||
import static com.simibubi.create.content.equipment.toolbox.ToolboxInventory.STACKS_PER_COMPARTMENT;
|
||||
|
||||
import com.simibubi.create.AllMenuTypes;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.animatedContainer.AnimatedContainerBehaviour;
|
||||
import com.simibubi.create.foundation.gui.menu.MenuBase;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
@ -27,7 +29,8 @@ public class ToolboxMenu extends MenuBase<ToolboxBlockEntity> {
|
|||
|
||||
public ToolboxMenu(MenuType<?> type, int id, Inventory inv, ToolboxBlockEntity be) {
|
||||
super(type, id, inv, be);
|
||||
be.startOpen(player);
|
||||
BlockEntityBehaviour.get(be, AnimatedContainerBehaviour.TYPE)
|
||||
.startOpen(player);
|
||||
}
|
||||
|
||||
public static ToolboxMenu create(int id, Inventory inv, ToolboxBlockEntity be) {
|
||||
|
@ -153,7 +156,8 @@ public class ToolboxMenu extends MenuBase<ToolboxBlockEntity> {
|
|||
public void removed(Player playerIn) {
|
||||
super.removed(playerIn);
|
||||
if (!playerIn.level().isClientSide)
|
||||
contentHolder.stopOpen(playerIn);
|
||||
BlockEntityBehaviour.get(contentHolder, AnimatedContainerBehaviour.TYPE)
|
||||
.stopOpen(playerIn);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ public class ChainConveyorBlockEntity extends KineticBlockEntity {
|
|||
|
||||
@Override
|
||||
protected AABB createRenderBoundingBox() {
|
||||
return INFINITE_EXTENT_AABB; // TODO: compute smallest possible from connection data
|
||||
return new AABB(worldPosition).inflate(connections.isEmpty() ? 3 : 64);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -26,9 +26,9 @@ public class AddressEditBox extends EditBox {
|
|||
private DestinationSuggestions destinationSuggestions;
|
||||
private Consumer<String> mainResponder;
|
||||
|
||||
public AddressEditBox(Screen screen, Font pFont, int pX, int pY, int pWidth, int pHeight) {
|
||||
public AddressEditBox(Screen screen, Font pFont, int pX, int pY, int pWidth, int pHeight, boolean anchorToBottom) {
|
||||
super(pFont, pX, pY, pWidth, pHeight, Components.empty());
|
||||
destinationSuggestions = AddressEditBoxHelper.createSuggestions(screen, this);
|
||||
destinationSuggestions = AddressEditBoxHelper.createSuggestions(screen, this, anchorToBottom);
|
||||
destinationSuggestions.setAllowSuggestions(true);
|
||||
destinationSuggestions.updateCommandInfo();
|
||||
mainResponder = t -> destinationSuggestions.updateCommandInfo();
|
||||
|
|
|
@ -2,7 +2,9 @@ package com.simibubi.create.content.logistics;
|
|||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.google.common.cache.Cache;
|
||||
|
@ -39,31 +41,33 @@ public class AddressEditBoxHelper {
|
|||
NEARBY_CLIPBOARDS.put(blockPos, new WeakReference<>(blockEntity));
|
||||
}
|
||||
|
||||
public static DestinationSuggestions createSuggestions(Screen screen, EditBox pInput) {
|
||||
public static DestinationSuggestions createSuggestions(Screen screen, EditBox pInput, boolean anchorToBottom) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
Player player = mc.player;
|
||||
List<IntAttached<String>> options = new ArrayList<>();
|
||||
DestinationSuggestions destinationSuggestions =
|
||||
new DestinationSuggestions(mc, screen, pInput, mc.font, options, -72 + pInput.getY() + pInput.getHeight());
|
||||
Set<String> alreadyAdded = new HashSet<>();
|
||||
|
||||
DestinationSuggestions destinationSuggestions = new DestinationSuggestions(mc, screen, pInput, mc.font, options,
|
||||
anchorToBottom, -72 + pInput.getY() + (anchorToBottom ? 0 : pInput.getHeight()));
|
||||
|
||||
if (player == null)
|
||||
return destinationSuggestions;
|
||||
|
||||
for (int i = 0; i < Inventory.INVENTORY_SIZE; i++)
|
||||
appendAddresses(options, player.getInventory()
|
||||
appendAddresses(options, alreadyAdded, player.getInventory()
|
||||
.getItem(i));
|
||||
|
||||
for (WeakReference<ClipboardBlockEntity> wr : NEARBY_CLIPBOARDS.asMap()
|
||||
.values()) {
|
||||
ClipboardBlockEntity cbe = wr.get();
|
||||
if (cbe != null)
|
||||
appendAddresses(options, cbe.dataContainer);
|
||||
appendAddresses(options, alreadyAdded, cbe.dataContainer);
|
||||
}
|
||||
|
||||
return destinationSuggestions;
|
||||
}
|
||||
|
||||
private static void appendAddresses(List<IntAttached<String>> options, ItemStack item) {
|
||||
private static void appendAddresses(List<IntAttached<String>> options, Set<String> alreadyAdded, ItemStack item) {
|
||||
if (item == null || !AllBlocks.CLIPBOARD.isIn(item))
|
||||
return;
|
||||
|
||||
|
@ -77,7 +81,10 @@ public class AddressEditBoxHelper {
|
|||
String address = string.substring(1);
|
||||
if (address.isBlank())
|
||||
return;
|
||||
options.add(IntAttached.withZero(address.trim()));
|
||||
String trim = address.trim();
|
||||
if (!alreadyAdded.add(trim))
|
||||
return;
|
||||
options.add(IntAttached.withZero(trim));
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import net.minecraft.nbt.CompoundTag;
|
|||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.protocol.game.ClientGamePacketListener;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
|
@ -31,6 +32,7 @@ import net.minecraft.world.entity.EntityType;
|
|||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.HumanoidArm;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes;
|
||||
|
@ -38,6 +40,7 @@ import net.minecraft.world.entity.item.ItemEntity;
|
|||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.entity.projectile.AbstractArrow;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.SpawnEggItem;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
@ -356,6 +359,15 @@ public class PackageEntity extends LivingEntity implements IEntityAdditionalSpaw
|
|||
ItemStackHandler contents = PackageItem.getContents(box);
|
||||
for (int i = 0; i < contents.getSlots(); i++) {
|
||||
ItemStack itemstack = contents.getStackInSlot(i);
|
||||
|
||||
if (itemstack.getItem() instanceof SpawnEggItem sei && level() instanceof ServerLevel sl) {
|
||||
EntityType<?> entitytype = sei.getType(itemstack.getTag());
|
||||
Entity entity = entitytype.spawn(sl, itemstack, null, blockPosition(),
|
||||
MobSpawnType.SPAWN_EGG, false, false);
|
||||
if (entity != null)
|
||||
itemstack.shrink(1);
|
||||
}
|
||||
|
||||
if (itemstack.isEmpty())
|
||||
continue;
|
||||
ItemEntity entityIn = new ItemEntity(level(), getX(), getY(), getZ(), itemstack);
|
||||
|
|
|
@ -12,22 +12,27 @@ import com.simibubi.create.content.logistics.stockTicker.PackageOrder;
|
|||
import net.createmod.catnip.utility.VecHelper;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.particles.ItemParticleOption;
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.InteractionResultHolder;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.SpawnEggItem;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.item.UseAnim;
|
||||
import net.minecraft.world.item.context.UseOnContext;
|
||||
|
@ -63,7 +68,7 @@ public class PackageItem extends Item {
|
|||
public static boolean isPackage(ItemStack stack) {
|
||||
return stack.getItem() instanceof PackageItem;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canFitInsideContainerItems() {
|
||||
return false;
|
||||
|
@ -129,7 +134,7 @@ public class PackageItem extends Item {
|
|||
public static boolean matchAddress(ItemStack box, String address) {
|
||||
return matchAddress(getAddress(box), address);
|
||||
}
|
||||
|
||||
|
||||
public static boolean matchAddress(String boxAddress, String address) {
|
||||
if (address.isBlank())
|
||||
return boxAddress.isBlank();
|
||||
|
@ -188,20 +193,18 @@ public class PackageItem extends Item {
|
|||
pTooltipComponents.add(Components.literal("-> " + compoundnbt.getString("Address"))
|
||||
.withStyle(ChatFormatting.GOLD));
|
||||
|
||||
/* Debug Fragmentation Data
|
||||
if (compoundnbt.contains("Fragment")) {
|
||||
CompoundTag fragTag = compoundnbt.getCompound("Fragment");
|
||||
pTooltipComponents.add(Components.literal("Order Information (Temporary)")
|
||||
.withStyle(ChatFormatting.GREEN));
|
||||
pTooltipComponents.add(Components
|
||||
.literal(" Link " + fragTag.getInt("LinkIndex") + (fragTag.getBoolean("IsFinalLink") ? " Final" : "")
|
||||
+ " | Fragment " + fragTag.getInt("Index") + (fragTag.getBoolean("IsFinal") ? " Final" : ""))
|
||||
.withStyle(ChatFormatting.DARK_GREEN));
|
||||
if (fragTag.contains("OrderContext"))
|
||||
pTooltipComponents.add(Components.literal("Has Context!")
|
||||
.withStyle(ChatFormatting.DARK_GREEN));
|
||||
}
|
||||
*/
|
||||
/*
|
||||
* Debug Fragmentation Data if (compoundnbt.contains("Fragment")) { CompoundTag
|
||||
* fragTag = compoundnbt.getCompound("Fragment");
|
||||
* pTooltipComponents.add(Components.literal("Order Information (Temporary)")
|
||||
* .withStyle(ChatFormatting.GREEN)); pTooltipComponents.add(Components
|
||||
* .literal(" Link " + fragTag.getInt("LinkIndex") +
|
||||
* (fragTag.getBoolean("IsFinalLink") ? " Final" : "") + " | Fragment " +
|
||||
* fragTag.getInt("Index") + (fragTag.getBoolean("IsFinal") ? " Final" : ""))
|
||||
* .withStyle(ChatFormatting.DARK_GREEN)); if (fragTag.contains("OrderContext"))
|
||||
* pTooltipComponents.add(Components.literal("Has Context!")
|
||||
* .withStyle(ChatFormatting.DARK_GREEN)); }
|
||||
*/
|
||||
|
||||
if (!compoundnbt.contains("Items", Tag.TAG_COMPOUND))
|
||||
return;
|
||||
|
@ -256,6 +259,18 @@ public class PackageItem extends Item {
|
|||
|
||||
for (int i = 0; i < contents.getSlots(); i++) {
|
||||
ItemStack itemstack = contents.getStackInSlot(i);
|
||||
|
||||
if (itemstack.getItem() instanceof SpawnEggItem sei && worldIn instanceof ServerLevel sl) {
|
||||
EntityType<?> entitytype = sei.getType(itemstack.getTag());
|
||||
Entity entity = entitytype.spawn(sl, itemstack, null, BlockPos.containing(playerIn.position()
|
||||
.add(playerIn.getLookAngle()
|
||||
.multiply(1, 0, 1)
|
||||
.normalize())),
|
||||
MobSpawnType.SPAWN_EGG, false, false);
|
||||
if (entity != null)
|
||||
itemstack.shrink(1);
|
||||
}
|
||||
|
||||
if (itemstack.isEmpty())
|
||||
continue;
|
||||
playerIn.getInventory()
|
||||
|
|
|
@ -88,7 +88,7 @@ public class DisplayClothBlock extends Block implements IHaveBigOutline, IWrench
|
|||
BlockHitResult ray) {
|
||||
if (ray.getDirection() == Direction.DOWN)
|
||||
return InteractionResult.PASS;
|
||||
|
||||
|
||||
ItemStack heldItem = player.getItemInHand(hand);
|
||||
boolean shiftKeyDown = player.isShiftKeyDown();
|
||||
if (!player.mayBuild())
|
||||
|
@ -151,6 +151,12 @@ public class DisplayClothBlock extends Block implements IHaveBigOutline, IWrench
|
|||
return AllShapes.DISPLAY_CLOTH_OCCLUSION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getCollisionShape(BlockState pState, BlockGetter pLevel, BlockPos pPos,
|
||||
CollisionContext pContext) {
|
||||
return AllShapes.DISPLAY_CLOTH_OCCLUSION;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSurvive(BlockState p_152922_, LevelReader p_152923_, BlockPos p_152924_) {
|
||||
return true;
|
||||
|
|
|
@ -75,8 +75,8 @@ public class FactoryPanelScreen extends AbstractSimiScreen {
|
|||
int y = guiTop;
|
||||
|
||||
if (addressBox == null) {
|
||||
addressBox =
|
||||
new AddressEditBox(this, new NoShadowFontWrapper(font), x + 38, y + 30 + middleHeight(), 110, 10);
|
||||
addressBox = new AddressEditBox(this, new NoShadowFontWrapper(font), x + 38, y + 30 + middleHeight(), 110,
|
||||
10, false);
|
||||
addressBox.setValue(behaviour.recipeAddress);
|
||||
addressBox.setTextColor(0x555555);
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public class PackageFilterScreen extends AbstractFilterScreen<PackageFilterMenu>
|
|||
int x = leftPos;
|
||||
int y = topPos;
|
||||
|
||||
addressBox = new AddressEditBox(this, this.font, x + 44, y + 28, 140, 9);
|
||||
addressBox = new AddressEditBox(this, this.font, x + 44, y + 28, 140, 9, false);
|
||||
addressBox.setTextColor(0xffffff);
|
||||
addressBox.setValue(menu.address);
|
||||
addressBox.setResponder(this::onAddressEdited);
|
||||
|
@ -57,7 +57,7 @@ public class PackageFilterScreen extends AbstractFilterScreen<PackageFilterMenu>
|
|||
@Override
|
||||
public void render(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) {
|
||||
super.render(graphics, mouseX, mouseY, partialTicks);
|
||||
|
||||
|
||||
PoseStack ms = graphics.pose();
|
||||
ms.pushPose();
|
||||
ms.translate(leftPos + 16, topPos + 23, 0);
|
||||
|
@ -90,7 +90,6 @@ public class PackageFilterScreen extends AbstractFilterScreen<PackageFilterMenu>
|
|||
public boolean charTyped(char pCodePoint, int pModifiers) {
|
||||
return super.charTyped(pCodePoint, pModifiers);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void contentsCleared() {
|
||||
|
|
|
@ -11,6 +11,7 @@ import com.simibubi.create.content.equipment.clipboard.ClipboardEntry;
|
|||
import com.simibubi.create.content.equipment.clipboard.ClipboardOverrides;
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.animatedContainer.AnimatedContainerBehaviour;
|
||||
import com.simibubi.create.foundation.item.SmartInventory;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
|
@ -42,6 +43,8 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements
|
|||
public PackagePortTarget target;
|
||||
public SmartInventory inventory;
|
||||
|
||||
protected AnimatedContainerBehaviour<PackagePortMenu> openTracker;
|
||||
|
||||
private LazyOptional<IItemHandler> itemHandler;
|
||||
|
||||
public PackagePortBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
|
@ -129,7 +132,12 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements
|
|||
}
|
||||
|
||||
@Override
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {}
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
|
||||
behaviours.add(openTracker = new AnimatedContainerBehaviour<>(this, PackagePortMenu.class));
|
||||
openTracker.onOpenChanged(this::onOpenChange);
|
||||
}
|
||||
|
||||
protected abstract void onOpenChange(boolean open);
|
||||
|
||||
public InteractionResult use(Player player) {
|
||||
if (player == null || player.isCrouching())
|
||||
|
@ -165,7 +173,7 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements
|
|||
List<ClipboardEntry> page = null;
|
||||
|
||||
for (List<ClipboardEntry> freePage : list) {
|
||||
if (freePage.size() > 16)
|
||||
if (freePage.size() > 11)
|
||||
continue;
|
||||
page = freePage;
|
||||
break;
|
||||
|
@ -179,9 +187,10 @@ public abstract class PackagePortBlockEntity extends SmartBlockEntity implements
|
|||
page.add(new ClipboardEntry(false, Components.literal("#" + addressFilter)));
|
||||
player.displayClientMessage(CreateLang.temporaryText("'" + addressFilter + "' added to Clipboard")
|
||||
.component(), true);
|
||||
|
||||
|
||||
ClipboardEntry.saveAll(list, mainHandItem);
|
||||
mainHandItem.getTag().putInt("Type", ClipboardOverrides.ClipboardType.WRITTEN.ordinal());
|
||||
mainHandItem.getTag()
|
||||
.putInt("Type", ClipboardOverrides.ClipboardType.WRITTEN.ordinal());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.simibubi.create.content.logistics.packagePort;
|
||||
|
||||
import com.simibubi.create.AllMenuTypes;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.animatedContainer.AnimatedContainerBehaviour;
|
||||
import com.simibubi.create.foundation.gui.menu.MenuBase;
|
||||
import com.simibubi.create.foundation.item.SmartInventory;
|
||||
|
||||
|
@ -24,6 +26,8 @@ public class PackagePortMenu extends MenuBase<PackagePortBlockEntity> {
|
|||
|
||||
public PackagePortMenu(MenuType<?> type, int id, Inventory inv, PackagePortBlockEntity be) {
|
||||
super(type, id, inv, be);
|
||||
BlockEntityBehaviour.get(be, AnimatedContainerBehaviour.TYPE)
|
||||
.startOpen(player);
|
||||
}
|
||||
|
||||
public static PackagePortMenu create(int id, Inventory inv, PackagePortBlockEntity be) {
|
||||
|
@ -79,6 +83,9 @@ public class PackagePortMenu extends MenuBase<PackagePortBlockEntity> {
|
|||
@Override
|
||||
public void removed(Player playerIn) {
|
||||
super.removed(playerIn);
|
||||
if (!playerIn.level().isClientSide)
|
||||
BlockEntityBehaviour.get(contentHolder, AnimatedContainerBehaviour.TYPE)
|
||||
.stopOpen(playerIn);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import net.minecraftforge.items.ItemHandlerHelper;
|
|||
public class FrogportBlockEntity extends PackagePortBlockEntity {
|
||||
|
||||
public ItemStack animatedPackage;
|
||||
public LerpedFloat manualOpenAnimationProgress;
|
||||
public LerpedFloat animationProgress;
|
||||
public LerpedFloat anticipationProgress;
|
||||
public boolean currentlyDepositing;
|
||||
|
@ -41,6 +42,9 @@ public class FrogportBlockEntity extends PackagePortBlockEntity {
|
|||
super(type, pos, state);
|
||||
animationProgress = LerpedFloat.linear();
|
||||
anticipationProgress = LerpedFloat.linear();
|
||||
manualOpenAnimationProgress = LerpedFloat.linear()
|
||||
.startWithValue(0)
|
||||
.chase(0, 0.35, Chaser.LINEAR);
|
||||
}
|
||||
|
||||
public boolean isAnimationInProgress() {
|
||||
|
@ -68,8 +72,13 @@ public class FrogportBlockEntity extends PackagePortBlockEntity {
|
|||
public void sendAnticipate() {
|
||||
if (isAnimationInProgress())
|
||||
return;
|
||||
sendAnticipate = true;
|
||||
sendData();
|
||||
for (int i = 0; i < inventory.getSlots(); i++)
|
||||
if (inventory.getStackInSlot(i)
|
||||
.isEmpty()) {
|
||||
sendAnticipate = true;
|
||||
sendData();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void anticipate() {
|
||||
|
@ -83,7 +92,10 @@ public class FrogportBlockEntity extends PackagePortBlockEntity {
|
|||
if (anticipationProgress.getValue() == 1)
|
||||
anticipationProgress.updateChaseTarget(0);
|
||||
|
||||
manualOpenAnimationProgress.updateChaseTarget(openTracker.openCount > 0 ? 1 : 0);
|
||||
|
||||
anticipationProgress.tickChaser();
|
||||
manualOpenAnimationProgress.tickChaser();
|
||||
|
||||
if (!isAnimationInProgress())
|
||||
return;
|
||||
|
@ -178,6 +190,9 @@ public class FrogportBlockEntity extends PackagePortBlockEntity {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onOpenChange(boolean open) {}
|
||||
|
||||
public void tryPullingFromOwnAndAdjacentInventories() {
|
||||
if (isAnimationInProgress())
|
||||
return;
|
||||
|
|
|
@ -84,6 +84,10 @@ public class FrogportRenderer extends SmartBlockEntityRenderer<FrogportBlockEnti
|
|||
|
||||
headPitch *= headPitchModifier;
|
||||
|
||||
headPitch = Math.max(headPitch, blockEntity.manualOpenAnimationProgress.getValue(partialTicks) * 60);
|
||||
tongueLength = Math.max(tongueLength, blockEntity.manualOpenAnimationProgress.getValue(partialTicks) * 0.25f);
|
||||
|
||||
|
||||
body.center()
|
||||
.rotateYDegrees(yaw)
|
||||
.uncenter()
|
||||
|
|
|
@ -116,6 +116,9 @@ public class FrogportVisual extends AbstractBlockEntityVisual<FrogportBlockEntit
|
|||
|
||||
headPitch *= headPitchModifier;
|
||||
|
||||
headPitch = Math.max(headPitch, blockEntity.manualOpenAnimationProgress.getValue(partialTicks) * 60);
|
||||
tongueLength = Math.max(tongueLength, blockEntity.manualOpenAnimationProgress.getValue(partialTicks) * 0.25f);
|
||||
|
||||
body.setIdentityTransform()
|
||||
.translate(getVisualPosition())
|
||||
.center()
|
||||
|
|
|
@ -13,6 +13,8 @@ import net.createmod.catnip.utility.animation.LerpedFloat;
|
|||
import net.createmod.catnip.utility.animation.LerpedFloat.Chaser;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.item.BoneMealItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
|
@ -23,7 +25,7 @@ public class PostboxBlockEntity extends PackagePortBlockEntity {
|
|||
public WeakReference<GlobalStation> trackedGlobalStation;
|
||||
|
||||
public LerpedFloat flag;
|
||||
|
||||
|
||||
private boolean sendParticles;
|
||||
|
||||
public PostboxBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
|
@ -55,17 +57,24 @@ public class PostboxBlockEntity extends PackagePortBlockEntity {
|
|||
flag.tickChaser();
|
||||
if (currentTarget == 0 && settled != flag.getValue() > .15f)
|
||||
AllSoundEvents.CONTRAPTION_DISASSEMBLE.playAt(level, worldPosition, 0.75f, 1.5f, true);
|
||||
|
||||
|
||||
if (sendParticles) {
|
||||
sendParticles = false;
|
||||
BoneMealItem.addGrowthParticles(level, worldPosition, 40);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onOpenChange(boolean open) {
|
||||
level.setBlockAndUpdate(worldPosition, getBlockState().setValue(PostboxBlock.OPEN, open));
|
||||
level.playSound(null, worldPosition, open ? SoundEvents.BARREL_OPEN : SoundEvents.BARREL_CLOSE,
|
||||
SoundSource.BLOCKS);
|
||||
}
|
||||
|
||||
public void spawnParticles() {
|
||||
sendParticles = true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void write(CompoundTag tag, boolean clientPacket) {
|
||||
super.write(tag, clientPacket);
|
||||
|
@ -73,7 +82,7 @@ public class PostboxBlockEntity extends PackagePortBlockEntity {
|
|||
NBTHelper.putMarker(tag, "Particles");
|
||||
sendParticles = false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void read(CompoundTag tag, boolean clientPacket) {
|
||||
super.read(tag, clientPacket);
|
||||
|
|
|
@ -77,6 +77,8 @@ public class LogisticallyLinkedBlockItem extends BlockItem {
|
|||
|
||||
if (player == null)
|
||||
return InteractionResult.FAIL;
|
||||
if (player.isShiftKeyDown())
|
||||
return super.useOn(pContext);
|
||||
|
||||
LogisticallyLinkedBehaviour link = BlockEntityBehaviour.get(level, pos, LogisticallyLinkedBehaviour.TYPE);
|
||||
boolean tuned = isTuned(stack);
|
||||
|
|
|
@ -2,15 +2,18 @@ package com.simibubi.create.content.logistics.packagerLink;
|
|||
|
||||
import java.util.UUID;
|
||||
|
||||
import com.simibubi.create.AllBlockEntityTypes;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
|
||||
import net.createmod.catnip.CatnipClient;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
|
||||
public class LogisticallyLinkedClientHandler {
|
||||
|
@ -36,10 +39,20 @@ public class LogisticallyLinkedClientHandler {
|
|||
.getShape(player.level(), be.getBlockPos());
|
||||
if (shape.isEmpty())
|
||||
continue;
|
||||
CatnipClient.OUTLINER.showAABB(behaviour, shape.bounds()
|
||||
.inflate(AllBlockEntityTypes.FACTORY_PANEL.is(be) ? -1 / 16f : 0)
|
||||
.move(be.getBlockPos()), 2)
|
||||
.lineWidth(1 / 16f);
|
||||
if (!player.blockPosition()
|
||||
.closerThan(be.getBlockPos(), 64))
|
||||
continue;
|
||||
for (int i = 0; i < shape.toAabbs()
|
||||
.size(); i++) {
|
||||
AABB aabb = shape.toAabbs()
|
||||
.get(i);
|
||||
CatnipClient.OUTLINER.showAABB(Pair.of(behaviour, i), aabb.inflate(-1 / 128f)
|
||||
.move(be.getBlockPos()), 2)
|
||||
.lineWidth(1 / 32f)
|
||||
.disableLineNormals()
|
||||
.colored(AnimationTickHolder.getTicks() % 16 < 8 ? 0x708DAD : 0x90ADCD);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ public class RedstoneRequesterScreen extends AbstractSimiContainerScreen<Redston
|
|||
int y = getGuiTop();
|
||||
|
||||
if (addressBox == null) {
|
||||
addressBox = new AddressEditBox(this, new NoShadowFontWrapper(font), x + 50, y + 53, 110, 10);
|
||||
addressBox = new AddressEditBox(this, new NoShadowFontWrapper(font), x + 50, y + 53, 110, 10, false);
|
||||
addressBox.setValue(menu.contentHolder.encodedTargetAdress);
|
||||
addressBox.setTextColor(0x555555);
|
||||
}
|
||||
|
|
|
@ -148,7 +148,8 @@ public class StockTickerRequestScreen extends AbstractSimiScreen implements Scre
|
|||
addWidget(searchBox);
|
||||
|
||||
boolean initial = addressBox == null;
|
||||
addressBox = new AddressEditBox(this, new NoShadowFontWrapper(font), x + 60, y + windowHeight - 32, 112, 10);
|
||||
addressBox =
|
||||
new AddressEditBox(this, new NoShadowFontWrapper(font), x + 60, y + windowHeight - 32, 112, 10, true);
|
||||
addressBox.setTextColor(0x555555);
|
||||
if (initial)
|
||||
addressBox.setValue(blockEntity.previouslyUsedAddress);
|
||||
|
|
|
@ -11,8 +11,6 @@ import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
|
|||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
@ -73,18 +71,13 @@ public class DeskBellBlock extends WrenchableDirectionalBlock
|
|||
@Override
|
||||
public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand,
|
||||
BlockHitResult pHit) {
|
||||
if (pState.getValue(POWERED))
|
||||
return InteractionResult.CONSUME;
|
||||
press(pState, pLevel, pPos);
|
||||
playSound(pPlayer, pLevel, pPos);
|
||||
withBlockEntityDo(pLevel, pPos, DeskBellBlockEntity::ding);
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
public void press(BlockState pState, Level pLevel, BlockPos pPos) {
|
||||
if (pLevel.isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
pLevel.setBlock(pPos, pState.setValue(POWERED, true), 3);
|
||||
updateNeighbours(pState, pLevel, pPos);
|
||||
pLevel.scheduleTick(pPos, this, 20);
|
||||
withBlockEntityDo(pLevel, pPos, DeskBellBlockEntity::ding);
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
public void playSound(@Nullable Player pPlayer, LevelAccessor pLevel, BlockPos pPos) {
|
||||
|
@ -115,13 +108,7 @@ public class DeskBellBlock extends WrenchableDirectionalBlock
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSource pRandom) {
|
||||
if (pState.getValue(POWERED))
|
||||
unPress(pState, pLevel, pPos);
|
||||
}
|
||||
|
||||
protected void unPress(BlockState pState, Level pLevel, BlockPos pPos) {
|
||||
public void unPress(BlockState pState, Level pLevel, BlockPos pPos) {
|
||||
pLevel.setBlock(pPos, pState.setValue(POWERED, false), 3);
|
||||
updateNeighbours(pState, pLevel, pPos);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.redstone.deskBell;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
|
||||
|
@ -10,6 +11,7 @@ import net.createmod.catnip.utility.animation.LerpedFloat;
|
|||
import net.createmod.catnip.utility.animation.LerpedFloat.Chaser;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
|
@ -17,19 +19,37 @@ public class DeskBellBlockEntity extends SmartBlockEntity {
|
|||
|
||||
public LerpedFloat animation = LerpedFloat.linear()
|
||||
.startWithValue(0);
|
||||
|
||||
|
||||
public boolean ding;
|
||||
|
||||
int blockStateTimer;
|
||||
float animationOffset;
|
||||
|
||||
public DeskBellBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
blockStateTimer = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
super.tick();
|
||||
animation.tickChaser();
|
||||
|
||||
if (level.isClientSide)
|
||||
return;
|
||||
if (blockStateTimer == 0)
|
||||
return;
|
||||
|
||||
blockStateTimer--;
|
||||
|
||||
if (blockStateTimer > 0)
|
||||
return;
|
||||
BlockState blockState = getBlockState();
|
||||
if (blockState.getValue(DeskBellBlock.POWERED))
|
||||
AllBlocks.DESK_BELL.get()
|
||||
.unPress(blockState, level, worldPosition);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void write(CompoundTag tag, boolean clientPacket) {
|
||||
super.write(tag, clientPacket);
|
||||
|
@ -37,7 +57,7 @@ public class DeskBellBlockEntity extends SmartBlockEntity {
|
|||
NBTHelper.putMarker(tag, "Ding");
|
||||
ding = false;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void read(CompoundTag tag, boolean clientPacket) {
|
||||
super.read(tag, clientPacket);
|
||||
|
@ -47,11 +67,13 @@ public class DeskBellBlockEntity extends SmartBlockEntity {
|
|||
|
||||
public void ding() {
|
||||
if (!level.isClientSide) {
|
||||
blockStateTimer = 20;
|
||||
ding = true;
|
||||
sendData();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
animationOffset = level.random.nextFloat() * 2 * Mth.PI;
|
||||
animation.startWithValue(1)
|
||||
.chase(0, 0.05, Chaser.LINEAR);
|
||||
}
|
||||
|
|
|
@ -48,8 +48,8 @@ public class DeskBellRenderer extends SmartBlockEntityRenderer<DeskBellBlockEnti
|
|||
.rotateYDegrees(AngleHelper.horizontalAngle(facing))
|
||||
.rotateXDegrees(AngleHelper.verticalAngle(facing) + 90)
|
||||
.translate(0, -1 / 16, 0)
|
||||
.rotateXDegrees(f2 * 8 * Mth.sin(p * Mth.PI * 4))
|
||||
.rotateZDegrees(f2 * 8 * Mth.cos(p * Mth.PI * 4))
|
||||
.rotateXDegrees(f2 * 8 * Mth.sin(p * Mth.PI * 4 + blockEntity.animationOffset))
|
||||
.rotateZDegrees(f2 * 8 * Mth.cos(p * Mth.PI * 4 + blockEntity.animationOffset))
|
||||
.translate(0, 1 / 16, 0)
|
||||
.scale(0.995f)
|
||||
.uncenter()
|
||||
|
|
|
@ -26,8 +26,8 @@ public class DestinationSuggestions extends CommandSuggestions {
|
|||
private int yOffset;
|
||||
|
||||
public DestinationSuggestions(Minecraft pMinecraft, Screen pScreen, EditBox pInput, Font pFont,
|
||||
List<IntAttached<String>> viableStations, int yOffset) {
|
||||
super(pMinecraft, pScreen, pInput, pFont, true, true, 0, 7, false, 0xee_303030);
|
||||
List<IntAttached<String>> viableStations, boolean anchorToBottom, int yOffset) {
|
||||
super(pMinecraft, pScreen, pInput, pFont, true, true, 0, 7, anchorToBottom, 0xee_303030);
|
||||
this.textBox = pInput;
|
||||
this.font = pFont;
|
||||
this.viableStations = viableStations;
|
||||
|
|
|
@ -297,7 +297,7 @@ public class ScheduleScreen extends AbstractSimiContainerScreen<ScheduleMenu> im
|
|||
if (!(e instanceof EditBox destinationBox))
|
||||
return;
|
||||
destinationSuggestions = new DestinationSuggestions(this.minecraft, this, destinationBox, this.font,
|
||||
getViableStations(field), topPos + 33);
|
||||
getViableStations(field), false, topPos + 33);
|
||||
destinationSuggestions.setAllowSuggestions(true);
|
||||
destinationSuggestions.updateCommandInfo();
|
||||
destinationBox.setResponder(this::onDestinationEdited);
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
package com.simibubi.create.foundation.blockEntity.behaviour.animatedContainer;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BehaviourType;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.gui.menu.MenuBase;
|
||||
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
|
||||
public class AnimatedContainerBehaviour<M extends MenuBase<? extends SmartBlockEntity>> extends BlockEntityBehaviour {
|
||||
|
||||
public static final BehaviourType<AnimatedContainerBehaviour<?>> TYPE = new BehaviourType<>();
|
||||
|
||||
public int openCount;
|
||||
|
||||
private Class<M> menuClass;
|
||||
private Consumer<Boolean> openChanged;
|
||||
|
||||
public AnimatedContainerBehaviour(SmartBlockEntity be, Class<M> menuClass) {
|
||||
super(be);
|
||||
this.menuClass = menuClass;
|
||||
openCount = 0;
|
||||
}
|
||||
|
||||
public void onOpenChanged(Consumer<Boolean> openChanged) {
|
||||
this.openChanged = openChanged;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(CompoundTag compound, boolean clientPacket) {
|
||||
super.read(compound, clientPacket);
|
||||
if (clientPacket)
|
||||
openCount = compound.getInt("OpenCount");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(CompoundTag compound, boolean clientPacket) {
|
||||
super.write(compound, clientPacket);
|
||||
if (clientPacket)
|
||||
compound.putInt("OpenCount", openCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lazyTick() {
|
||||
updateOpenCount();
|
||||
super.lazyTick();
|
||||
}
|
||||
|
||||
void updateOpenCount() {
|
||||
Level level = getWorld();
|
||||
if (level.isClientSide)
|
||||
return;
|
||||
if (openCount == 0)
|
||||
return;
|
||||
|
||||
int prevOpenCount = openCount;
|
||||
openCount = 0;
|
||||
|
||||
for (Player playerentity : level.getEntitiesOfClass(Player.class, new AABB(getPos()).inflate(8)))
|
||||
if (menuClass.isInstance(playerentity.containerMenu)
|
||||
&& menuClass.cast(playerentity.containerMenu).contentHolder == blockEntity)
|
||||
openCount++;
|
||||
|
||||
if (prevOpenCount != openCount) {
|
||||
if (openChanged != null && prevOpenCount == 0 && openCount > 0)
|
||||
openChanged.accept(true);
|
||||
if (openChanged != null && prevOpenCount > 0 && openCount == 0)
|
||||
openChanged.accept(false);
|
||||
blockEntity.sendData();
|
||||
}
|
||||
}
|
||||
|
||||
public void startOpen(Player player) {
|
||||
if (player.isSpectator())
|
||||
return;
|
||||
if (getWorld().isClientSide)
|
||||
return;
|
||||
if (openCount < 0)
|
||||
openCount = 0;
|
||||
openCount++;
|
||||
if (openCount == 1 && openChanged != null)
|
||||
openChanged.accept(true);
|
||||
blockEntity.sendData();
|
||||
}
|
||||
|
||||
public void stopOpen(Player player) {
|
||||
if (player.isSpectator())
|
||||
return;
|
||||
if (getWorld().isClientSide)
|
||||
return;
|
||||
openCount--;
|
||||
if (openCount == 0 && openChanged != null)
|
||||
openChanged.accept(false);
|
||||
blockEntity.sendData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BehaviourType<?> getType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@ package com.simibubi.create.foundation.data.recipe;
|
|||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.AllTags.AllItemTags;
|
||||
|
||||
|
@ -10,9 +11,15 @@ import net.minecraft.tags.TagKey;
|
|||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraftforge.common.Tags.Items;
|
||||
|
||||
public class ItemApplicationRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
GeneratedRecipe BOUND_CARDBOARD_BLOCK = create("bound_cardboard_inworld",
|
||||
b -> b.require(AllBlocks.CARDBOARD_BLOCK.asItem())
|
||||
.require(Items.STRING)
|
||||
.output(AllBlocks.BOUND_CARDBOARD_BLOCK.asStack()));
|
||||
|
||||
GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesiteAlloy, I::andesiteCasing);
|
||||
GeneratedRecipe COPPER = woodCasingTag("copper", I::copper, I::copperCasing);
|
||||
GeneratedRecipe BRASS = woodCasingTag("brass", I::brass, I::brassCasing);
|
||||
|
|
|
@ -121,13 +121,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
|||
.pattern("CC")
|
||||
.pattern("CC")),
|
||||
|
||||
BOUND_CARDBOARD_BLOCK = create(AllBlocks.BOUND_CARDBOARD_BLOCK).returns(8)
|
||||
BOUND_CARDBOARD_BLOCK = create(AllBlocks.BOUND_CARDBOARD_BLOCK).returns(1)
|
||||
.unlockedBy(I::cardboard)
|
||||
.viaShaped(b -> b.define('C', AllBlocks.CARDBOARD_BLOCK.get())
|
||||
.define('S', Tags.Items.STRING)
|
||||
.pattern("CCC")
|
||||
.pattern("CSC")
|
||||
.pattern("CCC")),
|
||||
.viaShapeless(b -> b.requires(AllBlocks.CARDBOARD_BLOCK.get())
|
||||
.requires(Items.STRING)),
|
||||
|
||||
CARDBOARD_FROM_BLOCK = create(AllItems.CARDBOARD).withSuffix("_from_block")
|
||||
.returns(4)
|
||||
|
|
|
@ -99,11 +99,14 @@ public class InputEvents {
|
|||
LinkedControllerClientHandler.deactivateInLectern();
|
||||
TrainRelocator.onClicked(event);
|
||||
|
||||
if (ChainConveyorInteractionHandler.onUse())
|
||||
if (ChainConveyorInteractionHandler.onUse()) {
|
||||
event.setCanceled(true);
|
||||
else if (PackagePortTargetSelectionHandler.onUse())
|
||||
return;
|
||||
} else if (PackagePortTargetSelectionHandler.onUse()) {
|
||||
event.setCanceled(true);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
|
||||
if (ChainPackageInteractionHandler.onUse())
|
||||
event.setCanceled(true);
|
||||
|
|
|
@ -333,8 +333,10 @@
|
|||
|
||||
"create.clipboard.actions": "Clipboard Actions",
|
||||
"create.clipboard.to_copy": "%1$s to Copy settings",
|
||||
"create.clipboard.copy_other_clipboard": "%1$s to Copy entries from this Clipboard",
|
||||
"create.clipboard.to_paste": "%1$s to Paste settings",
|
||||
"create.clipboard.copied_from": "Copying settings from %1$s",
|
||||
"create.clipboard.copied_from_clipboard": "Added entries from Clipboard",
|
||||
"create.clipboard.pasted_to": "Applied settings to %1$s",
|
||||
|
||||
"create.schematicAndQuill.dimensions": "Schematic Size: %1$sx%2$sx%3$s",
|
||||
|
|
|
@ -6,6 +6,28 @@
|
|||
"particle": "create:block/ladder_andesite"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "hoop_right",
|
||||
"from": [2, 16, 14],
|
||||
"to": [4, 18, 18],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 4, 16, 6], "texture": "#0", "cullface": "up"},
|
||||
"south": {"uv": [16, 4, 14, 6], "texture": "#0", "cullface": "up"},
|
||||
"up": {"uv": [14, 0, 16, 4], "rotation": 180, "texture": "#0", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hoop_right_backface",
|
||||
"from": [2, 18, 14],
|
||||
"to": [4, 16, 18],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 19, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 4, 14, 6], "rotation": 180, "texture": "#0", "cullface": "up"},
|
||||
"south": {"uv": [14, 4, 16, 6], "rotation": 180, "texture": "#0", "cullface": "up"},
|
||||
"down": {"uv": [14, 0, 16, 4], "rotation": 180, "texture": "#0", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ladder",
|
||||
"from": [2, 0, 14],
|
||||
|
@ -13,8 +35,8 @@
|
|||
"shade": false,
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [12, 0, 14, 16], "texture": "#0"},
|
||||
"west": {"uv": [14, 0, 12, 16], "texture": "#0"}
|
||||
"east": {"uv": [12, 0, 14, 16], "texture": "#0", "cullface": "south"},
|
||||
"west": {"uv": [14, 0, 12, 16], "texture": "#0", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -33,8 +55,8 @@
|
|||
"shade": false,
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 0, 12, 16], "texture": "#0"},
|
||||
"west": {"uv": [12, 0, 14, 16], "texture": "#0"}
|
||||
"east": {"uv": [14, 0, 12, 16], "texture": "#0", "cullface": "south"},
|
||||
"west": {"uv": [12, 0, 14, 16], "texture": "#0", "cullface": "south"}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -67,42 +89,22 @@
|
|||
"south": {"uv": [14, 4, 16, 6], "rotation": 180, "texture": "#0", "cullface": "up"},
|
||||
"down": {"uv": [14, 0, 16, 4], "rotation": 180, "texture": "#0", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hoop_right",
|
||||
"from": [2, 16, 14],
|
||||
"to": [4, 18, 18],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 4, 16, 6], "texture": "#0", "cullface": "up"},
|
||||
"south": {"uv": [16, 4, 14, 6], "texture": "#0", "cullface": "up"},
|
||||
"up": {"uv": [14, 0, 16, 4], "rotation": 180, "texture": "#0", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hoop_right_backface",
|
||||
"from": [2, 18, 14],
|
||||
"to": [4, 16, 18],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 19, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [16, 4, 14, 6], "rotation": 180, "texture": "#0", "cullface": "up"},
|
||||
"south": {"uv": [14, 4, 16, 6], "rotation": 180, "texture": "#0", "cullface": "up"},
|
||||
"down": {"uv": [14, 0, 16, 4], "rotation": 180, "texture": "#0", "cullface": "up"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
0,
|
||||
1,
|
||||
{
|
||||
"name": "Ladder",
|
||||
"origin": [0, 0, 0],
|
||||
"color": 0,
|
||||
"children": [0, 1]
|
||||
"children": [2, 3]
|
||||
},
|
||||
{
|
||||
"name": "Hoops",
|
||||
"origin": [0, 0, 0],
|
||||
"color": 0,
|
||||
"children": [2, 3, 4, 5]
|
||||
"children": [4, 5, 6, 7]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
"textures": {
|
||||
"0": "create:block/post_box/post_box_white",
|
||||
"1": "create:block/post_box/post_box_white_closed",
|
||||
"particle": "create:block/post_box/post_box_white"
|
||||
"particle": "#0"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/package_postbox/block_open",
|
||||
"parent": "create:block/package_postbox/block_closed",
|
||||
"textures": {
|
||||
"1": "create:block/post_box/post_box_white_open"
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue