mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-12-25 06:26:56 +01:00
TankState
- Added blockstates and dynamic models for the fluid tank - "Copper Pipe" -> "Fluid Pipe" - BlockPartials are no longer an enum
This commit is contained in:
parent
0a9816504b
commit
dc1ccb6741
81 changed files with 1065 additions and 287 deletions
|
@ -36,7 +36,6 @@ e5e3757e99c139d67b2a70288466d8a74d818841 assets\create\blockstates\cogwheel.json
|
|||
f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets\create\blockstates\copper_block.json
|
||||
cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets\create\blockstates\copper_casing.json
|
||||
3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.json
|
||||
bc3bceb50a42599ace49c26240767afd02df565f assets\create\blockstates\copper_pipe.json
|
||||
dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets\create\blockstates\copper_shingles.json
|
||||
3df0d5d5170a2f6cbab0f8a9bc8f2d64229589af assets\create\blockstates\creative_crate.json
|
||||
f0031f5e970b3d5695472ed384950b8631b015ed assets\create\blockstates\creative_motor.json
|
||||
|
@ -115,6 +114,8 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets\create\blockstates\fancy_scoria_
|
|||
fc9ac0a7e7191b93516719455a17177fa6524ecc assets\create\blockstates\fancy_weathered_limestone_bricks_slab.json
|
||||
b2a7c321b1795f20e7433f81a55ce4683de081b8 assets\create\blockstates\fancy_weathered_limestone_bricks_stairs.json
|
||||
6372fe02ba0065acb0758121c45a15a1a8fdc5de assets\create\blockstates\fancy_weathered_limestone_bricks_wall.json
|
||||
1f290b70c7cdd53e336081ee5707fd25d08c0e2c assets\create\blockstates\fluid_pipe.json
|
||||
9d0e78a4d6d0ccac37c06d0f5810a800a04844b2 assets\create\blockstates\fluid_tank.json
|
||||
e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets\create\blockstates\flywheel.json
|
||||
ac00d40e1ef50a37041c0481afa1a23a14dea78e assets\create\blockstates\framed_glass.json
|
||||
61df7769fa61f6dd2868a4377e54320fdd473b4e assets\create\blockstates\framed_glass_pane.json
|
||||
|
@ -275,7 +276,7 @@ b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets\create\blockstates\portable_stor
|
|||
e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggle_latch.json
|
||||
3a739f9d4276828d83f2d2750bf3227c87bcd438 assets\create\blockstates\pulley_magnet.json
|
||||
469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets\create\blockstates\pulse_repeater.json
|
||||
5c1df061eb5efe49beee7219e113206fc31a4733 assets\create\blockstates\radial_chassis.json
|
||||
4e1fb033316e9230d2f024d67c27940ea731643a assets\create\blockstates\radial_chassis.json
|
||||
8929677f2cc5354aa19ef182af69f9f0b41eb242 assets\create\blockstates\redstone_contact.json
|
||||
c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json
|
||||
1eac804cba08aebb5f4646758ae1ef9b32e01365 assets\create\blockstates\reinforced_rail.json
|
||||
|
@ -327,8 +328,8 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim
|
|||
c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
|
||||
3afe2434c36e1af9b04d5adda313f31db68c5040 assets\create\lang\en_ud.json
|
||||
d3bec6b99c6fee4728ed4a49e01ccc4715273d06 assets\create\lang\en_us.json
|
||||
05ddd800cd29517673ff1fd9c1a7822fa1dc90b4 assets\create\lang\en_ud.json
|
||||
11587273ab49f31954226f5230da941c31463460 assets\create\lang\en_us.json
|
||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
|
||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
|
||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
|
||||
|
@ -401,27 +402,6 @@ ac07568fa7b2d3fa84d0fe89a498514d30514291 assets\create\models\block\chiseled_sco
|
|||
ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets\create\models\block\chiseled_weathered_limestone.json
|
||||
f9a3f0939ea43b404eb2826b94211a25fca5ebc2 assets\create\models\block\clockwork_bearing.json
|
||||
70406933cc4fa5471af6e562fd84a397347dba17 assets\create\models\block\copper_casing.json
|
||||
84d3ba609f4d977977ebb44b46a1623879b9f30d assets\create\models\block\copper_pipe\ld_x.json
|
||||
a185744cb718e72b8ccd4cdf7b9f85dfed62227b assets\create\models\block\copper_pipe\ld_y.json
|
||||
ce12231c7d40f242cbb2e4a789c01777e8c2e189 assets\create\models\block\copper_pipe\ld_z.json
|
||||
ad91bc4b916fb0445f051680b1710f20c7e818c3 assets\create\models\block\copper_pipe\lr_x.json
|
||||
a4d8803d7ced28ba0c5c40cc694914ca344bb9cc assets\create\models\block\copper_pipe\lr_y.json
|
||||
33cf12086e8362cd84da0fc684156323537ac31a assets\create\models\block\copper_pipe\lr_z.json
|
||||
c5c636b16425d7fa827361512f9233c6cb054945 assets\create\models\block\copper_pipe\lu_x.json
|
||||
0e5f387899a23902d84c27277665a221f29afb1f assets\create\models\block\copper_pipe\lu_y.json
|
||||
cbf217c4971622a70d151623ff9f6edfd7f881a4 assets\create\models\block\copper_pipe\lu_z.json
|
||||
86fbb2a8d0475044394137a7a7aec2c58bff9a3b assets\create\models\block\copper_pipe\none_x.json
|
||||
d8bc59c2a86253715c8e4160115d9b1ba7e536c9 assets\create\models\block\copper_pipe\none_y.json
|
||||
718305fffa1b9e78bf03690fbe655b86bae40ae1 assets\create\models\block\copper_pipe\none_z.json
|
||||
1d99c2889d06401b98207a924489337b0c77026f assets\create\models\block\copper_pipe\rd_x.json
|
||||
521ddedf28ed1a1fed78d12f505e22cd45120caa assets\create\models\block\copper_pipe\rd_y.json
|
||||
bd774fb0ab18e94c1c8969acfaca4d7b7b9a8564 assets\create\models\block\copper_pipe\rd_z.json
|
||||
d8e06415a5f05fcd86004cb45207144f5ae74afe assets\create\models\block\copper_pipe\ru_x.json
|
||||
d6c91e3025c48fee267c10acb9d0f77036f178e4 assets\create\models\block\copper_pipe\ru_y.json
|
||||
df11c86477a785f7c61b2e0b491996fb49527a76 assets\create\models\block\copper_pipe\ru_z.json
|
||||
d29742ac5c34f856adf29e3c4ce6e5abf5c17e0e assets\create\models\block\copper_pipe\ud_x.json
|
||||
40b288882daf5a47759f8d9db27f90b17ad1d8e0 assets\create\models\block\copper_pipe\ud_y.json
|
||||
657ae1d3a5de431ee852eb12006a1ce211944607 assets\create\models\block\copper_pipe\ud_z.json
|
||||
1ef7060b0ca7e9c0bfc8151f98ca08da31862cda assets\create\models\block\crate\brass\bottom.json
|
||||
4ef2c7c3018f2d219f159a3ce58ceb00610b9c5d assets\create\models\block\crate\brass\left.json
|
||||
c76cfec1279d307c52f9502fdba3425f38219168 assets\create\models\block\crate\brass\right.json
|
||||
|
@ -563,6 +543,27 @@ fff01c45f01d2b1c4c0555f2ab4d66442c90148e assets\create\models\block\fancy_weathe
|
|||
1ea72b0ca54c8237351b4be0a7b44b94a8b0bb87 assets\create\models\block\fancy_weathered_limestone_bricks_stairs_outer.json
|
||||
d7385af6e7c8124fda4d391c2e7fba55cdc9977e assets\create\models\block\fancy_weathered_limestone_bricks_wall_post.json
|
||||
215671ac8e468015e8d52054c863110465c33fc9 assets\create\models\block\fancy_weathered_limestone_bricks_wall_side.json
|
||||
71f74388319567d4ab13c508bf3b4d59f1a19b2f assets\create\models\block\fluid_pipe\ld_x.json
|
||||
bd6b0c6d773e3996d949de55873d20b0e192499d assets\create\models\block\fluid_pipe\ld_y.json
|
||||
ddba92d010016a0147ceecc30a30c9c1622d3daa assets\create\models\block\fluid_pipe\ld_z.json
|
||||
451b1d6934cb5dfe24b8adcc3b4a03a0d2be854c assets\create\models\block\fluid_pipe\lr_x.json
|
||||
0276dc98fdac701d6dd8759325bbb9cab1fd4e9d assets\create\models\block\fluid_pipe\lr_y.json
|
||||
c7b8990a135f7c85f4c746b9d65ccd12f1c91682 assets\create\models\block\fluid_pipe\lr_z.json
|
||||
4613bc343fa2989234cca21d407bf23131856729 assets\create\models\block\fluid_pipe\lu_x.json
|
||||
596ac821bce7ce390ff7db9a8f4e33504b657e78 assets\create\models\block\fluid_pipe\lu_y.json
|
||||
693cdb2c8673161b2c12a05826ef881293db43d1 assets\create\models\block\fluid_pipe\lu_z.json
|
||||
05159abc175a1fc9f4909ffa13090d0e142fa526 assets\create\models\block\fluid_pipe\none_x.json
|
||||
e96e9c244b9392a0b328caa6084dc78bebca8b03 assets\create\models\block\fluid_pipe\none_y.json
|
||||
85129ba2b9b8794e4e9424ad4428a5d7a5b56c41 assets\create\models\block\fluid_pipe\none_z.json
|
||||
9d99fcd87fddfdf6f525e4d81cf08f1abfd3c749 assets\create\models\block\fluid_pipe\rd_x.json
|
||||
4d823bc466fc21d080e2fcac3c8fdeb8f74a5f98 assets\create\models\block\fluid_pipe\rd_y.json
|
||||
26d9d1c0f249a301d03497a1455335d1654f6db3 assets\create\models\block\fluid_pipe\rd_z.json
|
||||
7cd3f00c05a2beb1b438c8daa415db258095bf2b assets\create\models\block\fluid_pipe\ru_x.json
|
||||
c09f2f36e3df4642b48f9e331d5000c4f58047ca assets\create\models\block\fluid_pipe\ru_y.json
|
||||
690c9c3dd5ad31a5f885ecaac4aa6d3a1ccbf7fe assets\create\models\block\fluid_pipe\ru_z.json
|
||||
2635da812f9dec0c408fed329b3962bd14972d95 assets\create\models\block\fluid_pipe\ud_x.json
|
||||
4a0d4fb1aaf05b8f388e4add0f45d2a22dde2ce6 assets\create\models\block\fluid_pipe\ud_y.json
|
||||
f7d3a9ff5a0d050f5822dba9ec6cb68a2e4cdecf assets\create\models\block\fluid_pipe\ud_z.json
|
||||
9730fcb02f679087e81e24c836751e625be6a298 assets\create\models\block\framed_glass.json
|
||||
d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets\create\models\block\framed_glass_pane_noside.json
|
||||
3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets\create\models\block\framed_glass_pane_noside_alt.json
|
||||
|
@ -963,7 +964,6 @@ dcb09deae110077bcddf090996b51cc66e9a7de3 assets\create\models\item\cogwheel.json
|
|||
c5bcfba46f5824654dedaa2c5d5f42deb29e3baf assets\create\models\item\copper_ingot.json
|
||||
3cdb321193355af630ee0e0b18bf24a9469aabad assets\create\models\item\copper_nugget.json
|
||||
51be7da59368681522de870f1e09036dac55aa77 assets\create\models\item\copper_ore.json
|
||||
e950d4812c3488ca86f58260638208e8f64042f2 assets\create\models\item\copper_pipe.json
|
||||
200ef8378a9c014571c414433d4aef73a204dc01 assets\create\models\item\copper_sheet.json
|
||||
d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets\create\models\item\copper_shingles.json
|
||||
4e9126b349d55c65aa5407f05700579e52101c1f assets\create\models\item\crafter_slot_cover.json
|
||||
|
@ -1053,6 +1053,8 @@ ce6ee1fe4a92e26af75c2eaebd5055efdbdff169 assets\create\models\item\fancy_scoria_
|
|||
8fc219b471382cf67d2271edda14d173d40ae661 assets\create\models\item\fancy_weathered_limestone_bricks_slab.json
|
||||
7c1ed1241d55b105f7acb997d7c0e24b4b945293 assets\create\models\item\fancy_weathered_limestone_bricks_stairs.json
|
||||
7bdb3d8a59586654df0c2a84d73a346b898d247b assets\create\models\item\fancy_weathered_limestone_bricks_wall.json
|
||||
e5e6fb6eb182b85b977e1025a7fe84d46de59320 assets\create\models\item\fluid_pipe.json
|
||||
04b679a9342b0b5164c9fc8026b8fce5a067d511 assets\create\models\item\fluid_tank.json
|
||||
8707332c0cb6ee123e7962d08536a60725c64ce8 assets\create\models\item\flywheel.json
|
||||
d62b93d3c274d280f3eec22a28b5175943411d25 assets\create\models\item\framed_glass.json
|
||||
1041d462c6e856f7f3f2365c299c0599703d1ed7 assets\create\models\item\framed_glass_pane.json
|
||||
|
@ -1737,7 +1739,6 @@ d76113310fc56eca6382d44df174096f2210d416 data\create\loot_tables\blocks\clutch.j
|
|||
f38802b919c49f162f102d6e5d94113f05bf4ab1 data\create\loot_tables\blocks\copper_block.json
|
||||
5a65a18ea787130ac7b8f5652bfa5ed187446649 data\create\loot_tables\blocks\copper_casing.json
|
||||
31a51237763c374b7cdf39b9b62c14e965871047 data\create\loot_tables\blocks\copper_ore.json
|
||||
f5930a4583844c3fc52b515131d54946dc6b24e0 data\create\loot_tables\blocks\copper_pipe.json
|
||||
a5a7ba88a1d38da83b37bbe842dc7cc0544f37be data\create\loot_tables\blocks\copper_shingles.json
|
||||
b160899aa785dc54d8c6cc095337f70b81f3e44f data\create\loot_tables\blocks\creative_crate.json
|
||||
d8f2f8921b9200b1d9476a77ee1be32c25308ac3 data\create\loot_tables\blocks\creative_motor.json
|
||||
|
@ -1816,6 +1817,8 @@ a919a7333a2309392ba6908cd2330d014c0b44da data\create\loot_tables\blocks\fancy_li
|
|||
e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_slab.json
|
||||
1be3aae5c0aa8b3c3750db79699e9350adb12231 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_stairs.json
|
||||
6bb505bad78cbb01a5cb5a069435bf4ed0e62adf data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_wall.json
|
||||
c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data\create\loot_tables\blocks\fluid_pipe.json
|
||||
108d27b697d2ea0719d74a704c6e344a8d63375b data\create\loot_tables\blocks\fluid_tank.json
|
||||
f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json
|
||||
ce0bb978b11935bc2d1218445f8ab18099af6b8a data\create\loot_tables\blocks\framed_glass.json
|
||||
89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data\create\loot_tables\blocks\framed_glass_pane.json
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"down": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"x": 180,
|
||||
"y": 90
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"y": 90
|
||||
}
|
||||
},
|
||||
|
@ -24,7 +24,7 @@
|
|||
"north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"x": 90
|
||||
}
|
||||
},
|
||||
|
@ -33,7 +33,7 @@
|
|||
"south": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
|
@ -43,7 +43,7 @@
|
|||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"x": 90,
|
||||
"y": 270
|
||||
}
|
||||
|
@ -53,7 +53,7 @@
|
|||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/block_end",
|
||||
"model": "create:block/fluid_pipe/block_end",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
}
|
||||
|
@ -66,7 +66,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lu_x"
|
||||
"model": "create:block/fluid_pipe/lu_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -77,7 +77,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ru_x"
|
||||
"model": "create:block/fluid_pipe/ru_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -88,7 +88,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ld_x"
|
||||
"model": "create:block/fluid_pipe/ld_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -99,7 +99,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/rd_x"
|
||||
"model": "create:block/fluid_pipe/rd_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -110,7 +110,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_x"
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -121,7 +121,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_x"
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -132,7 +132,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_x"
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -143,7 +143,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_x"
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -154,7 +154,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_x"
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -165,7 +165,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_x"
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -176,7 +176,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/none_x"
|
||||
"model": "create:block/fluid_pipe/none_x"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -187,7 +187,7 @@
|
|||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lu_y"
|
||||
"model": "create:block/fluid_pipe/lu_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -198,7 +198,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ru_y"
|
||||
"model": "create:block/fluid_pipe/ru_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -209,7 +209,7 @@
|
|||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ld_y"
|
||||
"model": "create:block/fluid_pipe/ld_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -220,7 +220,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/rd_y"
|
||||
"model": "create:block/fluid_pipe/rd_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -231,7 +231,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_y"
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -242,7 +242,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_y"
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -253,7 +253,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_y"
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -264,7 +264,7 @@
|
|||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_y"
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -275,7 +275,7 @@
|
|||
"west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_y"
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -286,7 +286,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_y"
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -297,7 +297,7 @@
|
|||
"west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/none_y"
|
||||
"model": "create:block/fluid_pipe/none_y"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -308,7 +308,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lu_z"
|
||||
"model": "create:block/fluid_pipe/lu_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -319,7 +319,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ru_z"
|
||||
"model": "create:block/fluid_pipe/ru_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -330,7 +330,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ld_z"
|
||||
"model": "create:block/fluid_pipe/ld_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -341,7 +341,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/rd_z"
|
||||
"model": "create:block/fluid_pipe/rd_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -352,7 +352,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_z"
|
||||
"model": "create:block/fluid_pipe/ud_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -363,7 +363,7 @@
|
|||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_z"
|
||||
"model": "create:block/fluid_pipe/ud_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -374,7 +374,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/ud_z"
|
||||
"model": "create:block/fluid_pipe/ud_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -385,7 +385,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_z"
|
||||
"model": "create:block/fluid_pipe/lr_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -396,7 +396,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_z"
|
||||
"model": "create:block/fluid_pipe/lr_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -407,7 +407,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/lr_z"
|
||||
"model": "create:block/fluid_pipe/lr_z"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -418,7 +418,7 @@
|
|||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/copper_pipe/none_z"
|
||||
"model": "create:block/fluid_pipe/none_z"
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"when": {
|
||||
"top": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_tank/block_top"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "create:block/fluid_tank/block_windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"bottom": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_tank/block_bottom"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -29,8 +29,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_south": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -39,8 +39,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_south": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky"
|
||||
|
@ -48,8 +48,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_south": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
|
@ -59,8 +59,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_south": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -69,8 +69,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_south": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y"
|
||||
|
@ -78,8 +78,8 @@
|
|||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_south": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_south": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
"block.create.copper_block": "\u029E\u0254o\u05DF\u15FA \u0279\u01DDddo\u0186",
|
||||
"block.create.copper_casing": "bu\u0131s\u0250\u0186 \u0279\u01DDddo\u0186",
|
||||
"block.create.copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186",
|
||||
"block.create.copper_pipe": "\u01DDd\u0131\u0500 \u0279\u01DDddo\u0186",
|
||||
"block.create.copper_shingles": "s\u01DD\u05DFbu\u0131\u0265S \u0279\u01DDddo\u0186",
|
||||
"block.create.creative_crate": "\u01DD\u0287\u0250\u0279\u0186 \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186",
|
||||
"block.create.creative_motor": "\u0279o\u0287oW \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186",
|
||||
|
@ -116,6 +115,8 @@
|
|||
"block.create.fancy_weathered_limestone_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132",
|
||||
"block.create.fancy_weathered_limestone_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132",
|
||||
"block.create.fancy_weathered_limestone_bricks_wall": "\u05DF\u05DF\u0250M s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132",
|
||||
"block.create.fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132",
|
||||
"block.create.fluid_tank": "\u029Eu\u0250\u27D8 p\u0131n\u05DF\u2132",
|
||||
"block.create.flywheel": "\u05DF\u01DD\u01DD\u0265\u028D\u028E\u05DF\u2132",
|
||||
"block.create.framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132",
|
||||
"block.create.framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132",
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
"block.create.copper_block": "Copper Block",
|
||||
"block.create.copper_casing": "Copper Casing",
|
||||
"block.create.copper_ore": "Copper Ore",
|
||||
"block.create.copper_pipe": "Copper Pipe",
|
||||
"block.create.copper_shingles": "Copper Shingles",
|
||||
"block.create.creative_crate": "Creative Crate",
|
||||
"block.create.creative_motor": "Creative Motor",
|
||||
|
@ -119,6 +118,8 @@
|
|||
"block.create.fancy_weathered_limestone_bricks_slab": "Fancy Weathered Limestone Bricks Slab",
|
||||
"block.create.fancy_weathered_limestone_bricks_stairs": "Fancy Weathered Limestone Bricks Stairs",
|
||||
"block.create.fancy_weathered_limestone_bricks_wall": "Fancy Weathered Limestone Bricks Wall",
|
||||
"block.create.fluid_pipe": "Fluid Pipe",
|
||||
"block.create.fluid_tank": "Fluid Tank",
|
||||
"block.create.flywheel": "Flywheel",
|
||||
"block.create.framed_glass": "Framed Glass",
|
||||
"block.create.framed_glass_pane": "Framed Glass Pane",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_x",
|
||||
"parent": "create:block/fluid_pipe/core_x",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_y",
|
||||
"parent": "create:block/fluid_pipe/core_y",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/core_z",
|
||||
"parent": "create:block/fluid_pipe/core_z",
|
||||
"elements": [
|
||||
{
|
||||
"from": [
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"parent": "create:block/copper_pipe/item"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/fluid_pipe/item"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "create:block/fluid_tank/item"
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:copper_pipe"
|
||||
"name": "create:fluid_pipe"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:fluid_tank"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3,11 +3,16 @@ package com.simibubi.create;
|
|||
import static net.minecraft.state.properties.BlockStateProperties.FACING;
|
||||
import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.MatrixStacker;
|
||||
import com.simibubi.create.foundation.utility.SuperByteBuffer;
|
||||
|
||||
|
@ -19,101 +24,124 @@ import net.minecraftforge.client.event.ModelBakeEvent;
|
|||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
|
||||
public enum AllBlockPartials {
|
||||
public class AllBlockPartials {
|
||||
|
||||
SCHEMATICANNON_CONNECTOR("schematicannon/connector"),
|
||||
SCHEMATICANNON_PIPE("schematicannon/pipe"),
|
||||
|
||||
SHAFTLESS_COGWHEEL("cogwheel_shaftless"),
|
||||
BELT_PULLEY,
|
||||
SHAFT_HALF,
|
||||
|
||||
ENCASED_FAN_INNER("encased_fan/propeller"),
|
||||
HAND_CRANK_HANDLE("hand_crank/handle"),
|
||||
MECHANICAL_PRESS_HEAD("mechanical_press/head"),
|
||||
MECHANICAL_MIXER_POLE("mechanical_mixer/pole"),
|
||||
MECHANICAL_MIXER_HEAD("mechanical_mixer/head"),
|
||||
MECHANICAL_CRAFTER_LID("mechanical_crafter/lid"),
|
||||
MECHANICAL_CRAFTER_ARROW("mechanical_crafter/arrow"),
|
||||
MECHANICAL_CRAFTER_BELT_FRAME("mechanical_crafter/belt"),
|
||||
MECHANICAL_CRAFTER_BELT("mechanical_crafter/belt_animated"),
|
||||
GAUGE_DIAL("gauge/dial"),
|
||||
GAUGE_INDICATOR("gauge/indicator"),
|
||||
GAUGE_HEAD_SPEED("gauge/speedometer/head"),
|
||||
GAUGE_HEAD_STRESS("gauge/stressometer/head"),
|
||||
BEARING_TOP("bearing/top"),
|
||||
DRILL_HEAD("mechanical_drill/head"),
|
||||
HARVESTER_BLADE("mechanical_harvester/blade"),
|
||||
DEPLOYER_POLE("deployer/pole"),
|
||||
DEPLOYER_HAND_POINTING("deployer/hand_pointing"),
|
||||
DEPLOYER_HAND_PUNCHING("deployer/hand_punching"),
|
||||
DEPLOYER_HAND_HOLDING("deployer/hand_holding"),
|
||||
ANALOG_LEVER_HANDLE("analog_lever/handle"),
|
||||
ANALOG_LEVER_INDICATOR("analog_lever/indicator"),
|
||||
BELT_TUNNEL_FLAP("belt_tunnel/flap"),
|
||||
BELT_TUNNEL_INDICATOR("belt_tunnel/indicator"),
|
||||
FLEXPEATER_INDICATOR("diodes/indicator"),
|
||||
FLYWHEEL("flywheel/wheel"),
|
||||
FLYWHEEL_UPPER_ROTATING("flywheel/upper_rotating_connector"),
|
||||
FLYWHEEL_LOWER_ROTATING("flywheel/lower_rotating_connector"),
|
||||
FLYWHEEL_UPPER_SLIDING("flywheel/upper_sliding_connector"),
|
||||
FLYWHEEL_LOWER_SLIDING("flywheel/lower_sliding_connector"),
|
||||
FURNACE_GENERATOR_FRAME("furnace_engine/frame"),
|
||||
CUCKOO_MINUTE_HAND("cuckoo_clock/minute_hand"),
|
||||
CUCKOO_HOUR_HAND("cuckoo_clock/hour_hand"),
|
||||
CUCKOO_LEFT_DOOR("cuckoo_clock/left_door"),
|
||||
CUCKOO_RIGHT_DOOR("cuckoo_clock/right_door"),
|
||||
CUCKOO_PIG("cuckoo_clock/pig"),
|
||||
CUCKOO_CREEPER("cuckoo_clock/creeper"),
|
||||
ROPE_COIL("rope_pulley/rope_coil"),
|
||||
ROPE_HALF("rope_pulley/rope_half"),
|
||||
ROPE_HALF_MAGNET("rope_pulley/rope_half_magnet"),
|
||||
MILLSTONE_COG("millstone/inner"),
|
||||
|
||||
SYMMETRY_PLANE("symmetry_effect/plane"),
|
||||
SYMMETRY_CROSSPLANE("symmetry_effect/crossplane"),
|
||||
SYMMETRY_TRIPLEPLANE("symmetry_effect/tripleplane"),
|
||||
private static List<AllBlockPartials> all = new ArrayList<>();
|
||||
|
||||
COPPER_PIPE_CASING("copper_pipe/casing"),
|
||||
COPPER_PIPE_RIM_UP("copper_pipe/rim/up"),
|
||||
COPPER_PIPE_RIM_DOWN("copper_pipe/rim/down"),
|
||||
COPPER_PIPE_RIM_EAST("copper_pipe/rim/east"),
|
||||
COPPER_PIPE_RIM_WEST("copper_pipe/rim/west"),
|
||||
COPPER_PIPE_RIM_NORTH("copper_pipe/rim/north"),
|
||||
COPPER_PIPE_RIM_SOUTH("copper_pipe/rim/south"),
|
||||
|
||||
MECHANICAL_PUMP_ARROW("mechanical_pump/arrow"),
|
||||
MECHANICAL_PUMP_COG("mechanical_pump/cog"),
|
||||
public static final AllBlockPartials
|
||||
SCHEMATICANNON_CONNECTOR = get("schematicannon/connector"),
|
||||
SCHEMATICANNON_PIPE = get("schematicannon/pipe"),
|
||||
|
||||
SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"),
|
||||
BELT_PULLEY = get("belt_pulley"),
|
||||
SHAFT_HALF = get("shaft_half"),
|
||||
|
||||
ENCASED_FAN_INNER = get("encased_fan/propeller"),
|
||||
HAND_CRANK_HANDLE = get("hand_crank/handle"),
|
||||
MECHANICAL_PRESS_HEAD = get("mechanical_press/head"),
|
||||
MECHANICAL_MIXER_POLE = get("mechanical_mixer/pole"),
|
||||
MECHANICAL_MIXER_HEAD = get("mechanical_mixer/head"),
|
||||
MECHANICAL_CRAFTER_LID = get("mechanical_crafter/lid"),
|
||||
MECHANICAL_CRAFTER_ARROW = get("mechanical_crafter/arrow"),
|
||||
MECHANICAL_CRAFTER_BELT_FRAME = get("mechanical_crafter/belt"),
|
||||
MECHANICAL_CRAFTER_BELT = get("mechanical_crafter/belt_animated"),
|
||||
GAUGE_DIAL = get("gauge/dial"),
|
||||
GAUGE_INDICATOR = get("gauge/indicator"),
|
||||
GAUGE_HEAD_SPEED = get("gauge/speedometer/head"),
|
||||
GAUGE_HEAD_STRESS = get("gauge/stressometer/head"),
|
||||
BEARING_TOP = get("bearing/top"),
|
||||
DRILL_HEAD = get("mechanical_drill/head"),
|
||||
HARVESTER_BLADE = get("mechanical_harvester/blade"),
|
||||
DEPLOYER_POLE = get("deployer/pole"),
|
||||
DEPLOYER_HAND_POINTING = get("deployer/hand_pointing"),
|
||||
DEPLOYER_HAND_PUNCHING = get("deployer/hand_punching"),
|
||||
DEPLOYER_HAND_HOLDING = get("deployer/hand_holding"),
|
||||
ANALOG_LEVER_HANDLE = get("analog_lever/handle"),
|
||||
ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"),
|
||||
BELT_TUNNEL_FLAP = get("belt_tunnel/flap"),
|
||||
BELT_TUNNEL_INDICATOR = get("belt_tunnel/indicator"),
|
||||
FLEXPEATER_INDICATOR = get("diodes/indicator"),
|
||||
FLYWHEEL = get("flywheel/wheel"),
|
||||
FLYWHEEL_UPPER_ROTATING = get("flywheel/upper_rotating_connector"),
|
||||
FLYWHEEL_LOWER_ROTATING = get("flywheel/lower_rotating_connector"),
|
||||
FLYWHEEL_UPPER_SLIDING = get("flywheel/upper_sliding_connector"),
|
||||
FLYWHEEL_LOWER_SLIDING = get("flywheel/lower_sliding_connector"),
|
||||
FURNACE_GENERATOR_FRAME = get("furnace_engine/frame"),
|
||||
CUCKOO_MINUTE_HAND = get("cuckoo_clock/minute_hand"),
|
||||
CUCKOO_HOUR_HAND = get("cuckoo_clock/hour_hand"),
|
||||
CUCKOO_LEFT_DOOR = get("cuckoo_clock/left_door"),
|
||||
CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"),
|
||||
CUCKOO_PIG = get("cuckoo_clock/pig"),
|
||||
CUCKOO_CREEPER = get("cuckoo_clock/creeper"),
|
||||
ROPE_COIL = get("rope_pulley/rope_coil"),
|
||||
ROPE_HALF = get("rope_pulley/rope_half"),
|
||||
ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"),
|
||||
MILLSTONE_COG = get("millstone/inner"),
|
||||
|
||||
SYMMETRY_PLANE = get("symmetry_effect/plane"),
|
||||
SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"),
|
||||
SYMMETRY_TRIPLEPLANE = get("symmetry_effect/tripleplane"),
|
||||
|
||||
MECHANICAL_PUMP_ARROW = get("mechanical_pump/arrow"),
|
||||
MECHANICAL_PUMP_COG = get("mechanical_pump/cog"),
|
||||
FLUID_PIPE_CASING = get("fluid_pipe/casing");
|
||||
|
||||
public static final Map<Direction, AllBlockPartials> PIPE_RIMS = map();
|
||||
public static final Map<Pair<Boolean, Direction>, AllBlockPartials> TANK_LID_FILLERS = map();
|
||||
public static final Map<Pair<Boolean, Boolean>, AllBlockPartials> TANK_DIAGONAL_FILLERS = map();
|
||||
|
||||
static {
|
||||
populateMaps();
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
|
||||
private ResourceLocation modelLocation;
|
||||
private IBakedModel bakedModel;
|
||||
|
||||
private AllBlockPartials() {}
|
||||
private AllBlockPartials() {
|
||||
}
|
||||
|
||||
private AllBlockPartials(String path) {
|
||||
modelLocation = new ResourceLocation(Create.ID, "block/" + path);
|
||||
private static void populateMaps() {
|
||||
for (Direction d : Iterate.directions) {
|
||||
boolean horizontal = d.getAxis()
|
||||
.isHorizontal();
|
||||
|
||||
PIPE_RIMS.put(d, get("fluid_pipe/rim/" + d.getName()));
|
||||
|
||||
if (horizontal) {
|
||||
for (boolean top : Iterate.trueAndFalse)
|
||||
TANK_LID_FILLERS.put(Pair.of(top, d),
|
||||
get("fluid_tank/lid_fillers/" + (top ? "top" : "bottom") + "_" + d.getName()));
|
||||
}
|
||||
}
|
||||
|
||||
for (boolean north : Iterate.trueAndFalse)
|
||||
for (boolean east : Iterate.trueAndFalse)
|
||||
TANK_DIAGONAL_FILLERS.put(Pair.of(north, east),
|
||||
get("fluid_tank/diagonal_fillers/" + (north ? "north" : "south") + "_" + (east ? "east" : "west")));
|
||||
}
|
||||
|
||||
private static <T, U> Map<T, U> map() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
private static AllBlockPartials get(String path) {
|
||||
AllBlockPartials partials = new AllBlockPartials();
|
||||
partials.modelLocation = new ResourceLocation(Create.ID, "block/" + path);
|
||||
all.add(partials);
|
||||
return partials;
|
||||
}
|
||||
|
||||
public static void onModelRegistry(ModelRegistryEvent event) {
|
||||
for (AllBlockPartials partial : AllBlockPartials.values()) {
|
||||
partial.createModelLocation();
|
||||
for (AllBlockPartials partial : all)
|
||||
ModelLoader.addSpecialModel(partial.modelLocation);
|
||||
}
|
||||
}
|
||||
|
||||
public static void onModelBake(ModelBakeEvent event) {
|
||||
Map<ResourceLocation, IBakedModel> modelRegistry = event.getModelRegistry();
|
||||
for (AllBlockPartials partial : AllBlockPartials.values()) {
|
||||
partial.createModelLocation();
|
||||
for (AllBlockPartials partial : all)
|
||||
partial.bakedModel = modelRegistry.get(partial.modelLocation);
|
||||
}
|
||||
}
|
||||
|
||||
private void createModelLocation() {
|
||||
if (modelLocation == null)
|
||||
modelLocation = new ResourceLocation(Create.ID, "block/" + Lang.asId(name()));
|
||||
}
|
||||
|
||||
public IBakedModel get() {
|
||||
|
|
|
@ -49,8 +49,10 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pul
|
|||
import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock;
|
||||
import com.simibubi.create.content.contraptions.components.turntable.TurntableBlock;
|
||||
import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.PipeBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.PipeModel;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeModel;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidTankBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidTankModel;
|
||||
import com.simibubi.create.content.contraptions.fluids.PumpBlock;
|
||||
import com.simibubi.create.content.contraptions.processing.BasinBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
|
||||
|
@ -389,27 +391,34 @@ public class AllBlocks {
|
|||
.register();
|
||||
|
||||
// Fluids
|
||||
|
||||
public static final BlockEntry<PipeBlock> COPPER_PIPE =
|
||||
REGISTRATE.block("copper_pipe", PipeBlock::new)
|
||||
|
||||
public static final BlockEntry<FluidPipeBlock> FLUID_PIPE = REGISTRATE.block("fluid_pipe", FluidPipeBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.blockstate(BlockStateGen.pipe())
|
||||
.onRegister(CreateRegistrate.blockModel(() -> PipeModel::new))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> FluidPipeModel::new))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<PumpBlock> MECHANICAL_PUMP =
|
||||
REGISTRATE.block("mechanical_pump", PumpBlock::new)
|
||||
|
||||
public static final BlockEntry<PumpBlock> MECHANICAL_PUMP = REGISTRATE.block("mechanical_pump", PumpBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
||||
.transform(StressConfigDefaults.setImpact(4.0))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
|
||||
public static final BlockEntry<FluidTankBlock> FLUID_TANK = REGISTRATE.block("fluid_tank", FluidTankBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.blockstate(BlockStateGen.tank())
|
||||
.onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::new))
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
// Contraptions
|
||||
|
||||
|
||||
public static final BlockEntry<MechanicalPistonBlock> MECHANICAL_PISTON =
|
||||
REGISTRATE.block("mechanical_piston", MechanicalPistonBlock::normal)
|
||||
.transform(BuilderTransformers.mechanicalPiston(PistonType.DEFAULT))
|
||||
|
@ -480,19 +489,19 @@ public class AllBlocks {
|
|||
.item(CartAssemblerBlockItem::new)
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
|
||||
|
||||
public static final BlockEntry<ReinforcedRailBlock> REINFORCED_RAIL =
|
||||
REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(p -> p.nonOpaque())
|
||||
.blockstate(BlockStateGen.reinforcedRail())
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.tag(BlockTags.RAILS)
|
||||
.item()
|
||||
.model((c, p) -> p.blockItem(() -> c.getEntry()
|
||||
.getBlock(), "/block"))
|
||||
.build()
|
||||
.register();
|
||||
REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(p -> p.nonOpaque())
|
||||
.blockstate(BlockStateGen.reinforcedRail())
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.tag(BlockTags.RAILS)
|
||||
.item()
|
||||
.model((c, p) -> p.blockItem(() -> c.getEntry()
|
||||
.getBlock(), "/block"))
|
||||
.build()
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<MinecartAnchorBlock> MINECART_ANCHOR =
|
||||
REGISTRATE.block("minecart_anchor", MinecartAnchorBlock::new)
|
||||
|
|
|
@ -71,6 +71,27 @@ public class AllShapes {
|
|||
|
||||
;
|
||||
|
||||
// Internally Shared Shapes
|
||||
private static final VoxelShape
|
||||
|
||||
PISTON_HEAD = Blocks.PISTON_HEAD.getDefaultState()
|
||||
.with(DirectionalBlock.FACING, UP)
|
||||
.with(PistonHeadBlock.SHORT, true)
|
||||
.getShape(null, null), PISTON_EXTENDED =
|
||||
shape(CASING_12PX.get(UP)).add(FOUR_VOXEL_POLE.get(Axis.Y))
|
||||
.build(),
|
||||
SMALL_GEAR_SHAPE = cuboid(2, 6, 2, 14, 10, 14), LARGE_GEAR_SHAPE = cuboid(0, 6, 0, 16, 10, 16),
|
||||
VERTICAL_TABLET_SHAPE = cuboid(3, 1, -1, 13, 15, 3), SQUARE_TABLET_SHAPE = cuboid(2, 2, -1, 14, 14, 3),
|
||||
LOGISTICS_TABLE_SLOPE = shape(0, 10, 15, 16, 14, 10.667).add(0, 12, 10.667, 16, 16, 6.333)
|
||||
.add(0, 14, 6.333, 16, 18, 2)
|
||||
.build(),
|
||||
SCHEMATICS_TABLE_SLOPE = shape(0, 10, 16, 16, 14, 11).add(0, 12, 11, 16, 16, 6)
|
||||
.add(0, 14, 6, 16, 18, 1)
|
||||
.build(),
|
||||
TANK_BOTTOM_LID = shape(0, 0, 0, 16, 4, 16).build(), TANK_TOP_LID = shape(0, 12, 0, 16, 16, 16).build()
|
||||
|
||||
;
|
||||
|
||||
// Static Block Shapes
|
||||
public static final VoxelShape
|
||||
|
||||
|
@ -95,26 +116,13 @@ public class AllShapes {
|
|||
.build(),
|
||||
CUCKOO_CLOCK = shape(1, 0, 1, 15, 19, 15).build(),
|
||||
GAUGE_SHAPE_UP = shape(1, 0, 0, 15, 2, 16).add(2, 2, 1, 14, 14, 15)
|
||||
.build()
|
||||
|
||||
;
|
||||
|
||||
// Internally Shared Shapes
|
||||
private static final VoxelShape
|
||||
|
||||
PISTON_HEAD = Blocks.PISTON_HEAD.getDefaultState()
|
||||
.with(DirectionalBlock.FACING, UP)
|
||||
.with(PistonHeadBlock.SHORT, true)
|
||||
.getShape(null, null), PISTON_EXTENDED =
|
||||
shape(CASING_12PX.get(UP)).add(FOUR_VOXEL_POLE.get(Axis.Y))
|
||||
.build(),
|
||||
SMALL_GEAR_SHAPE = cuboid(2, 6, 2, 14, 10, 14), LARGE_GEAR_SHAPE = cuboid(0, 6, 0, 16, 10, 16),
|
||||
VERTICAL_TABLET_SHAPE = cuboid(3, 1, -1, 13, 15, 3), SQUARE_TABLET_SHAPE = cuboid(2, 2, -1, 14, 14, 3),
|
||||
LOGISTICS_TABLE_SLOPE = shape(0, 10, 15, 16, 14, 10.667).add(0, 12, 10.667, 16, 16, 6.333)
|
||||
.add(0, 14, 6.333, 16, 18, 2)
|
||||
.build(),
|
||||
SCHEMATICS_TABLE_SLOPE = shape(0, 10, 16, 16, 14, 11).add(0, 12, 11, 16, 16, 6)
|
||||
.add(0, 14, 6, 16, 18, 1)
|
||||
TANK = shape(1, 0, 1, 15, 16, 15).build(), TANK_TOP = shape(TANK_TOP_LID).add(TANK)
|
||||
.build(),
|
||||
TANK_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK)
|
||||
.build(),
|
||||
TANK_TOP_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK_TOP_LID)
|
||||
.add(TANK)
|
||||
.build()
|
||||
|
||||
;
|
||||
|
|
|
@ -45,6 +45,9 @@ public class AllSpriteShifts {
|
|||
public static final CTSpriteShiftEntry
|
||||
CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"),
|
||||
CHASSIS_STICKY = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end_sticky");
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
FLUID_TANK = getCT(CTType.OMNIDIRECTIONAL, "fluid_tank");
|
||||
|
||||
public static final SpriteShiftEntry
|
||||
BELT = SpriteShifter.get("block/belt", "block/belt_animated"),
|
||||
|
|
|
@ -16,9 +16,9 @@ import net.minecraft.util.math.BlockPos;
|
|||
import net.minecraft.world.ILightReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
|
||||
public class PipeBlock extends SixWayBlock {
|
||||
public class FluidPipeBlock extends SixWayBlock {
|
||||
|
||||
public PipeBlock(Properties properties) {
|
||||
public FluidPipeBlock(Properties properties) {
|
||||
super(4 / 16f, properties);
|
||||
}
|
||||
|
||||
|
@ -67,7 +67,7 @@ public class PipeBlock extends SixWayBlock {
|
|||
}
|
||||
|
||||
public static boolean isPipe(BlockState state) {
|
||||
return state.getBlock() instanceof PipeBlock;
|
||||
return state.getBlock() instanceof FluidPipeBlock;
|
||||
}
|
||||
|
||||
// TODO: more generic pipe connection handling. Ideally without marker interface
|
|
@ -2,10 +2,8 @@ package com.simibubi.create.content.contraptions.fluids;
|
|||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.foundation.block.render.WrappedBakedModel;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -20,20 +18,11 @@ import net.minecraftforge.client.model.data.IModelData;
|
|||
import net.minecraftforge.client.model.data.ModelDataMap;
|
||||
import net.minecraftforge.client.model.data.ModelProperty;
|
||||
|
||||
public class PipeModel extends WrappedBakedModel {
|
||||
|
||||
public static Map<Direction, AllBlockPartials> RIMS = ImmutableMap.<Direction, AllBlockPartials>builder()
|
||||
.put(Direction.UP, AllBlockPartials.COPPER_PIPE_RIM_UP)
|
||||
.put(Direction.DOWN, AllBlockPartials.COPPER_PIPE_RIM_DOWN)
|
||||
.put(Direction.EAST, AllBlockPartials.COPPER_PIPE_RIM_EAST)
|
||||
.put(Direction.WEST, AllBlockPartials.COPPER_PIPE_RIM_WEST)
|
||||
.put(Direction.NORTH, AllBlockPartials.COPPER_PIPE_RIM_NORTH)
|
||||
.put(Direction.SOUTH, AllBlockPartials.COPPER_PIPE_RIM_SOUTH)
|
||||
.build();
|
||||
public class FluidPipeModel extends WrappedBakedModel {
|
||||
|
||||
private static ModelProperty<PipeModelData> PIPE_PROPERTY = new ModelProperty<>();
|
||||
|
||||
public PipeModel(IBakedModel template) {
|
||||
public FluidPipeModel(IBakedModel template) {
|
||||
super(template);
|
||||
}
|
||||
|
||||
|
@ -41,8 +30,8 @@ public class PipeModel extends WrappedBakedModel {
|
|||
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) {
|
||||
PipeModelData data = new PipeModelData();
|
||||
for (Direction d : Iterate.directions)
|
||||
data.putRim(d, PipeBlock.shouldDrawRim(world, pos, state, d));
|
||||
data.setEncased(PipeBlock.shouldDrawCasing(world, pos, state));
|
||||
data.putRim(d, FluidPipeBlock.shouldDrawRim(world, pos, state, d));
|
||||
data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state));
|
||||
return new ModelDataMap.Builder().withInitial(PIPE_PROPERTY, data)
|
||||
.build();
|
||||
}
|
||||
|
@ -62,11 +51,11 @@ public class PipeModel extends WrappedBakedModel {
|
|||
PipeModelData pipeData) {
|
||||
for (Direction d : Iterate.directions)
|
||||
if (pipeData.getRim(d))
|
||||
quads.addAll(RIMS.get(d)
|
||||
quads.addAll(AllBlockPartials.PIPE_RIMS.get(d)
|
||||
.get()
|
||||
.getQuads(state, side, rand, data));
|
||||
if (pipeData.isEncased())
|
||||
quads.addAll(AllBlockPartials.COPPER_PIPE_CASING.get()
|
||||
quads.addAll(AllBlockPartials.FLUID_PIPE_CASING.get()
|
||||
.getQuads(state, side, rand, data));
|
||||
}
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
package com.simibubi.create.content.contraptions.fluids;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllShapes;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.state.BooleanProperty;
|
||||
import net.minecraft.state.StateContainer.Builder;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.ILightReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
public class FluidTankBlock extends Block {
|
||||
|
||||
public static final BooleanProperty TOP = BooleanProperty.create("top");
|
||||
public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom");
|
||||
|
||||
public FluidTankBlock(Properties p_i48440_1_) {
|
||||
super(p_i48440_1_);
|
||||
setDefaultState(getDefaultState().with(TOP, true)
|
||||
.with(BOTTOM, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void fillStateContainer(Builder<Block, BlockState> p_206840_1_) {
|
||||
p_206840_1_.add(TOP, BOTTOM);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockItemUseContext p_196258_1_) {
|
||||
World world = p_196258_1_.getWorld();
|
||||
BlockPos pos = p_196258_1_.getPos();
|
||||
BlockState state = super.getStateForPlacement(p_196258_1_);
|
||||
state = updateState(state, world, pos, Direction.UP);
|
||||
state = updateState(state, world, pos, Direction.DOWN);
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_,
|
||||
ISelectionContext p_220053_4_) {
|
||||
boolean top = state.get(TOP);
|
||||
boolean bottom = state.get(BOTTOM);
|
||||
return top ? bottom ? AllShapes.TANK_TOP_BOTTOM : AllShapes.TANK_TOP
|
||||
: bottom ? AllShapes.TANK_BOTTOM : AllShapes.TANK;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState p_196271_3_, IWorld world,
|
||||
BlockPos pos, BlockPos p_196271_6_) {
|
||||
return updateState(state, world, pos, direction);
|
||||
}
|
||||
|
||||
private BlockState updateState(BlockState state, ILightReader reader, BlockPos pos, Direction direction) {
|
||||
if (direction.getAxis()
|
||||
.isHorizontal())
|
||||
return state;
|
||||
return state.with(direction == Direction.UP ? TOP : BOTTOM,
|
||||
!AllBlocks.FLUID_TANK.has(reader.getBlockState(pos.offset(direction))));
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public boolean isSideInvisible(BlockState state, BlockState adjacentBlockState, Direction side) {
|
||||
return adjacentBlockState.getBlock() == this;
|
||||
}
|
||||
|
||||
public static boolean shouldDrawDiagonalFiller(ILightReader world, BlockPos pos, BlockState state, boolean north,
|
||||
boolean east) {
|
||||
if (!isTank(state))
|
||||
return false;
|
||||
int northOffset = north ? 1 : -1;
|
||||
int eastOffset = east ? 1 : -1;
|
||||
if (!isTank(world.getBlockState(pos.north(northOffset))))
|
||||
return false;
|
||||
if (!isTank(world.getBlockState(pos.east(eastOffset))))
|
||||
return false;
|
||||
if (isTank(world.getBlockState(pos.east(eastOffset)
|
||||
.north(northOffset))))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean shouldDrawCapFiller(ILightReader world, BlockPos pos, BlockState state, Direction direction,
|
||||
boolean top) {
|
||||
if (!isTank(state))
|
||||
return false;
|
||||
if (top && !state.get(TOP))
|
||||
return false;
|
||||
if (!top && !state.get(BOTTOM))
|
||||
return false;
|
||||
BlockPos adjacentPos = pos.offset(direction);
|
||||
BlockState adjacentState = world.getBlockState(adjacentPos);
|
||||
if (!isTank(adjacentState))
|
||||
return false;
|
||||
if (top && adjacentState.get(TOP))
|
||||
return false;
|
||||
if (!top && adjacentState.get(BOTTOM))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean isTank(BlockState state) {
|
||||
return state.getBlock() instanceof FluidTankBlock;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package com.simibubi.create.content.contraptions.fluids;
|
||||
|
||||
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.ILightReader;
|
||||
|
||||
public class FluidTankCTBehaviour extends HorizontalCTBehaviour {
|
||||
|
||||
public FluidTankCTBehaviour(CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) {
|
||||
super(layerShift, topShift);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean buildContextForOccludedDirections() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||
Direction face) {
|
||||
// TODO only if TEs are actually connected
|
||||
return state.getBlock() == other.getBlock();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
package com.simibubi.create.content.contraptions.fluids;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.AllSpriteShifts;
|
||||
import com.simibubi.create.foundation.block.connected.CTModel;
|
||||
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.renderer.model.BakedQuad;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.ILightReader;
|
||||
import net.minecraftforge.client.model.data.IModelData;
|
||||
import net.minecraftforge.client.model.data.ModelDataMap;
|
||||
import net.minecraftforge.client.model.data.ModelProperty;
|
||||
|
||||
public class FluidTankModel extends CTModel {
|
||||
|
||||
private static ModelProperty<TankModelData> TANK_PROPERTY = new ModelProperty<>();
|
||||
private static ConnectedTextureBehaviour ctBehaviour =
|
||||
new FluidTankCTBehaviour(AllSpriteShifts.FLUID_TANK, AllSpriteShifts.COPPER_CASING);
|
||||
|
||||
public FluidTankModel(IBakedModel model) {
|
||||
super(model, ctBehaviour);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) {
|
||||
TankModelData data = new TankModelData();
|
||||
for (boolean top : Iterate.trueAndFalse)
|
||||
for (Direction d : Iterate.horizontalDirections)
|
||||
data.setCapFiller(d, top, FluidTankBlock.shouldDrawCapFiller(world, pos, state, d, top));
|
||||
for (boolean north : Iterate.trueAndFalse)
|
||||
for (boolean east : Iterate.trueAndFalse)
|
||||
data.setDiagonalFiller(north, east,
|
||||
FluidTankBlock.shouldDrawDiagonalFiller(world, pos, state, north, east));
|
||||
return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state))
|
||||
.withInitial(TANK_PROPERTY, data)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(BlockState state, Direction side, Random rand, IModelData data) {
|
||||
List<BakedQuad> quads = super.getQuads(state, side, rand, data);
|
||||
if (data instanceof ModelDataMap) {
|
||||
ModelDataMap modelDataMap = (ModelDataMap) data;
|
||||
if (modelDataMap.hasProperty(TANK_PROPERTY))
|
||||
addQuads(quads, state, side, rand, modelDataMap, modelDataMap.getData(TANK_PROPERTY));
|
||||
}
|
||||
return quads;
|
||||
}
|
||||
|
||||
private void addQuads(List<BakedQuad> quads, BlockState state, Direction side, Random rand, IModelData data,
|
||||
TankModelData pipeData) {
|
||||
for (boolean top : Iterate.trueAndFalse)
|
||||
for (Direction d : Iterate.horizontalDirections)
|
||||
if (pipeData.getCapFiller(d, top))
|
||||
quads.addAll(AllBlockPartials.TANK_LID_FILLERS.get(Pair.of(top, d))
|
||||
.get()
|
||||
.getQuads(state, side, rand, data));
|
||||
for (boolean north : Iterate.trueAndFalse)
|
||||
for (boolean east : Iterate.trueAndFalse)
|
||||
if (pipeData.getDiagonalFiller(north, east))
|
||||
quads.addAll(AllBlockPartials.TANK_DIAGONAL_FILLERS.get(Pair.of(north, east))
|
||||
.get()
|
||||
.getQuads(state, side, rand, data));
|
||||
}
|
||||
|
||||
private class TankModelData {
|
||||
boolean[] capFillers;
|
||||
boolean[] diagonalFillers;
|
||||
|
||||
public TankModelData() {
|
||||
capFillers = new boolean[2 * 4];
|
||||
diagonalFillers = new boolean[2 * 2];
|
||||
Arrays.fill(capFillers, false);
|
||||
Arrays.fill(diagonalFillers, false);
|
||||
}
|
||||
|
||||
public void setCapFiller(Direction face, boolean top, boolean filler) {
|
||||
capFillers[(top ? 0 : 4) + face.getHorizontalIndex()] = filler;
|
||||
}
|
||||
|
||||
public void setDiagonalFiller(boolean north, boolean east, boolean filler) {
|
||||
diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)] = filler;
|
||||
}
|
||||
|
||||
public boolean getCapFiller(Direction face, boolean top) {
|
||||
return capFillers[(top ? 0 : 4) + face.getHorizontalIndex()];
|
||||
}
|
||||
|
||||
public boolean getDiagonalFiller(boolean north, boolean east) {
|
||||
return diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -9,7 +9,6 @@ import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour.
|
|||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.PaneBlock;
|
||||
import net.minecraft.client.renderer.model.BakedQuad;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
|
@ -24,7 +23,7 @@ import net.minecraftforge.client.model.data.ModelProperty;
|
|||
|
||||
public class CTModel extends BakedModelWrapper<IBakedModel> {
|
||||
|
||||
private static ModelProperty<CTData> CT_PROPERTY = new ModelProperty<>();
|
||||
protected static ModelProperty<CTData> CT_PROPERTY = new ModelProperty<>();
|
||||
private ConnectedTextureBehaviour behaviour;
|
||||
|
||||
private class CTData {
|
||||
|
@ -51,9 +50,14 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
|
|||
|
||||
@Override
|
||||
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) {
|
||||
return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state))
|
||||
.build();
|
||||
}
|
||||
|
||||
protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) {
|
||||
CTData data = new CTData();
|
||||
for (Direction face : Direction.values()) {
|
||||
if (!Block.shouldSideBeRendered(state, world, pos, face) && !(state.getBlock() instanceof PaneBlock))
|
||||
if (!Block.shouldSideBeRendered(state, world, pos, face) && !behaviour.buildContextForOccludedDirections())
|
||||
continue;
|
||||
CTSpriteShiftEntry spriteShift = behaviour.get(state, face);
|
||||
if (spriteShift == null)
|
||||
|
@ -61,7 +65,7 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
|
|||
CTContext ctContext = behaviour.buildContext(world, pos, state, face);
|
||||
data.put(face, spriteShift.getTextureIndex(ctContext));
|
||||
}
|
||||
return new ModelDataMap.Builder().withInitial(CT_PROPERTY, data).build();
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -83,9 +87,8 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
|
|||
if (index == -1)
|
||||
continue;
|
||||
|
||||
BakedQuad newQuad =
|
||||
new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), quad.getTintIndex(),
|
||||
quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting());
|
||||
BakedQuad newQuad = new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length),
|
||||
quad.getTintIndex(), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting());
|
||||
VertexFormat format = DefaultVertexFormats.BLOCK;
|
||||
int[] vertexData = newQuad.getVertexData();
|
||||
|
||||
|
|
|
@ -30,6 +30,10 @@ public abstract class ConnectedTextureBehaviour {
|
|||
return reverseUVs(state, face);
|
||||
}
|
||||
|
||||
public boolean buildContextForOccludedDirections() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||
Direction face) {
|
||||
|
||||
|
|
|
@ -11,6 +11,11 @@ public class GlassPaneCTBehaviour extends StandardCTBehaviour {
|
|||
public GlassPaneCTBehaviour(CTSpriteShiftEntry shift) {
|
||||
super(shift);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean buildContextForOccludedDirections() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||
|
|
|
@ -19,7 +19,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha
|
|||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssembleRailType;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock;
|
||||
import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.PipeBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidTankBlock;
|
||||
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock;
|
||||
import com.simibubi.create.content.palettes.PavedBlock;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
@ -348,7 +349,7 @@ public class BlockStateGen {
|
|||
};
|
||||
}
|
||||
|
||||
public static <P extends PipeBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> pipe() {
|
||||
public static <P extends FluidPipeBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> pipe() {
|
||||
return (c, p) -> {
|
||||
String path = "block/" + c.getName();
|
||||
|
||||
|
@ -415,7 +416,7 @@ public class BlockStateGen {
|
|||
.rotationX(d == Direction.UP ? 0 : d == Direction.DOWN ? 180 : 90)
|
||||
.rotationY((int) (d.getHorizontalAngle() + 180) % 360)
|
||||
.addModel()
|
||||
.condition(PipeBlock.FACING_TO_PROPERTY_MAP.get(d), true)
|
||||
.condition(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true)
|
||||
.end();
|
||||
|
||||
for (Axis axis : Iterate.axes) {
|
||||
|
@ -437,7 +438,7 @@ public class BlockStateGen {
|
|||
private static void putPart(Map<Pair<String, Axis>, ModelFile> coreModels, MultiPartBlockStateBuilder builder,
|
||||
Axis axis, String s, boolean up, boolean down, boolean left, boolean right) {
|
||||
Direction positiveAxis = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis);
|
||||
Map<Direction, BooleanProperty> propertyMap = PipeBlock.FACING_TO_PROPERTY_MAP;
|
||||
Map<Direction, BooleanProperty> propertyMap = FluidPipeBlock.FACING_TO_PROPERTY_MAP;
|
||||
builder.part()
|
||||
.modelFile(coreModels.get(Pair.of(s, axis)))
|
||||
.addModel()
|
||||
|
@ -448,4 +449,23 @@ public class BlockStateGen {
|
|||
.end();
|
||||
}
|
||||
|
||||
public static <P extends FluidTankBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> tank() {
|
||||
return (c, p) -> {
|
||||
p.getMultipartBuilder(c.get())
|
||||
.part()
|
||||
.modelFile(AssetLookup.partialBaseModel(c, p, "top"))
|
||||
.addModel()
|
||||
.condition(FluidTankBlock.TOP, true)
|
||||
.end()
|
||||
.part()
|
||||
.modelFile(AssetLookup.partialBaseModel(c, p, "windows"))
|
||||
.addModel()
|
||||
.end()
|
||||
.part()
|
||||
.modelFile(AssetLookup.partialBaseModel(c, p, "bottom"))
|
||||
.addModel()
|
||||
.condition(FluidTankBlock.BOTTOM, true)
|
||||
.end();
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -2,8 +2,8 @@
|
|||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"1": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"1": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/copper_pipe",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"0": "create:block/fluid_pipe",
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/copper_casing",
|
||||
"2": "create:block/fluid_tank",
|
||||
"3": "create:block/oxidized/copper_block_0",
|
||||
"particle": "create:block/copper_casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "bottom",
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 4, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"south": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/copper_casing",
|
||||
"2": "create:block/fluid_tank",
|
||||
"3": "create:block/oxidized/copper_block_0",
|
||||
"particle": "create:block/copper_casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "top",
|
||||
"from": [0, 12, 0],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"south": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"2": "create:block/fluid_tank",
|
||||
"particle": "create:block/copper_casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1, 0, 0],
|
||||
"to": [15, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]},
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "east"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "west"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 1],
|
||||
"to": [16, 16, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "north"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "south"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [15, 0, 1],
|
||||
"to": [16, 16, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 0, 0],
|
||||
"to": [15, 16, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [1, 0, 0],
|
||||
"to": [2, 16, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
|
||||
"faces": {
|
||||
"west": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 1],
|
||||
"to": [1, 16, 2],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [14, 0, 15],
|
||||
"to": [15, 16, 16],
|
||||
"faces": {
|
||||
"east": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15, 0, 14],
|
||||
"to": [16, 16, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]},
|
||||
"faces": {
|
||||
"south": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 14],
|
||||
"to": [1, 16, 15],
|
||||
"faces": {
|
||||
"south": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 0, 15],
|
||||
"to": [2, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
|
||||
"faces": {
|
||||
"west": {"uv": [14, 0, 15, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/copper_casing",
|
||||
"2": "create:block/fluid_tank",
|
||||
"3": "create:block/oxidized/copper_block_0",
|
||||
"particle": "create:block/copper_casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "bottom",
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 4, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"east": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"south": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 12, 16, 16], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "top",
|
||||
"from": [0, 12, 0],
|
||||
"to": [16, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"south": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#2"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 0, 0],
|
||||
"to": [15, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]},
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 16, 16], "texture": "#2"},
|
||||
"west": {"uv": [0, 0, 16, 16], "texture": "#2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 1],
|
||||
"to": [16, 16, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#2"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#2"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [16, 0, 0],
|
||||
"to": [17, 4, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 12, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [0, 12, 1, 16], "texture": "#0"},
|
||||
"west": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [0, 12, 16, 13], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [0, 15, 16, 16], "rotation": 270, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, -1],
|
||||
"to": [16, 4, 0],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [0, 12, 1, 16], "texture": "#0"},
|
||||
"south": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [15, 12, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [0, 12, 16, 13], "texture": "#0"},
|
||||
"down": {"uv": [0, 15, 16, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 16],
|
||||
"to": [16, 4, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [15, 12, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [0, 12, 1, 16], "texture": "#0"},
|
||||
"up": {"uv": [0, 12, 16, 13], "rotation": 180, "texture": "#0"},
|
||||
"down": {"uv": [0, 15, 16, 16], "rotation": 180, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [-1, 0, 0],
|
||||
"to": [0, 4, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12, 1, 16], "texture": "#0"},
|
||||
"east": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [15, 12, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [0, 12, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [0, 12, 16, 13], "rotation": 270, "texture": "#0"},
|
||||
"down": {"uv": [0, 15, 16, 16], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [16, 12, 0],
|
||||
"to": [17, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 20, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 0, 16, 4], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 1, 4], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 16, 1], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [0, 3, 16, 4], "rotation": 270, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 12, -1],
|
||||
"to": [16, 16, 0],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 7]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 1, 4], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"west": {"uv": [15, 0, 16, 4], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
||||
"down": {"uv": [0, 3, 16, 4], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 12, 16],
|
||||
"to": [16, 16, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"east": {"uv": [15, 0, 16, 4], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 1, 4], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 16, 1], "rotation": 180, "texture": "#0"},
|
||||
"down": {"uv": [0, 3, 16, 4], "rotation": 180, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "create:block/fluid_tank",
|
||||
"particle": "create:block/fluid_tank"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [-1, 12, 0],
|
||||
"to": [0, 16, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 20, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 1, 4], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"south": {"uv": [15, 0, 16, 4], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 16, 1], "rotation": 270, "texture": "#0"},
|
||||
"down": {"uv": [0, 3, 16, 4], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
"parent": "create:block/large_wheels",
|
||||
"textures": {
|
||||
"4": "create:block/pump",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
"credit": "Made with Blockbench",
|
||||
"parent": "create:block/large_wheels",
|
||||
"textures": {
|
||||
"3": "create:block/copper_pipe",
|
||||
"3": "create:block/fluid_pipe",
|
||||
"4": "create:block/pump",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"parent": "create:block/large_wheels",
|
||||
"textures": {
|
||||
"5": "create:block/millstone",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
"credit": "Made with Blockbench",
|
||||
"parent": "create:block/block",
|
||||
"textures": {
|
||||
"3": "create:block/copper_pipe",
|
||||
"3": "create:block/fluid_pipe",
|
||||
"4": "create:block/pump",
|
||||
"5": "create:block/millstone",
|
||||
"particle": "create:block/copper_pipe"
|
||||
"particle": "create:block/fluid_pipe"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
BIN
src/main/resources/assets/create/textures/block/fluid_tank.png
Normal file
BIN
src/main/resources/assets/create/textures/block/fluid_tank.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 503 B |
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 831 B |
Loading…
Reference in a new issue