Item registrates, and more porty
- All Items are now using registrate
- Blockzapper now renders an outline around its affected area
- Ported rainbow debug ™️
- Reworked the custom item model/renderer system
- Schematics now preview their structure again
- SuperByteBuffers now support being rendered into non-BufferBuilders
This commit is contained in:
parent
8d8f96c778
commit
3d68bec18a
233 changed files with 1595 additions and 1705 deletions
|
@ -274,7 +274,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggl
|
||||||
c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json
|
c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json
|
||||||
e2990fe70ad5d10437a376e70e167d1856277cc1 assets\create\blockstates\rope.json
|
e2990fe70ad5d10437a376e70e167d1856277cc1 assets\create\blockstates\rope.json
|
||||||
e14d5f7252105934295b4e156ec0e6d62d3d6b1c assets\create\blockstates\rope_pulley.json
|
e14d5f7252105934295b4e156ec0e6d62d3d6b1c assets\create\blockstates\rope_pulley.json
|
||||||
d42b4ead9307a83e2a106cfa440572575e8664b2 assets\create\blockstates\rotation_chassis.json
|
0133b3765943096c2541538ba927d49501f89e2f assets\create\blockstates\rotation_chassis.json
|
||||||
cc4cf3420fa290cb844f9cf4dfdd836aa9b70500 assets\create\blockstates\rotation_speed_controller.json
|
cc4cf3420fa290cb844f9cf4dfdd836aa9b70500 assets\create\blockstates\rotation_speed_controller.json
|
||||||
56b63575c87065bc82eb9410175c501cdf959c66 assets\create\blockstates\saw.json
|
56b63575c87065bc82eb9410175c501cdf959c66 assets\create\blockstates\saw.json
|
||||||
36592a6542332b35445931e8e9531adf786b63ba assets\create\blockstates\schematicannon.json
|
36592a6542332b35445931e8e9531adf786b63ba assets\create\blockstates\schematicannon.json
|
||||||
|
@ -323,8 +323,8 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim
|
||||||
c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json
|
c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json
|
||||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
|
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
|
||||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
|
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
|
||||||
efa942851f247891194d2c6ecdd8724a23b05aa0 assets\create\lang\en_ud.json
|
ed3d1d71c739bbf457acc152301514e2bb8d221b assets\create\lang\en_ud.json
|
||||||
fe4c49a84016a3861a86e116df2c7603d6d4b91f assets\create\lang\en_us.json
|
b60610388c3cfb638bf3d4a635cd3ac9d33beab0 assets\create\lang\en_us.json
|
||||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
|
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
|
||||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
|
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
|
||||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
|
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
|
||||||
|
@ -900,6 +900,7 @@ cbc0ebadda4497663437f99622914de678d0ffaf assets\create\models\item\acacia_window
|
||||||
96fcec285c0c26a8cb55e126f8c7053c70ad188b assets\create\models\item\adjustable_pulse_repeater.json
|
96fcec285c0c26a8cb55e126f8c7053c70ad188b assets\create\models\item\adjustable_pulse_repeater.json
|
||||||
30292e874dd36e45eaeebb8d0bb8c4867866a38b assets\create\models\item\adjustable_repeater.json
|
30292e874dd36e45eaeebb8d0bb8c4867866a38b assets\create\models\item\adjustable_repeater.json
|
||||||
e7759d9b3cd64d2719a58dc35fc75ca65b9e14fa assets\create\models\item\analog_lever.json
|
e7759d9b3cd64d2719a58dc35fc75ca65b9e14fa assets\create\models\item\analog_lever.json
|
||||||
|
168786b05674b17fb1eea530e3575a6f34edc798 assets\create\models\item\andesite_alloy.json
|
||||||
a513af38f164a48fd44693b70a93012f3546caff assets\create\models\item\andesite_bricks.json
|
a513af38f164a48fd44693b70a93012f3546caff assets\create\models\item\andesite_bricks.json
|
||||||
851090d21c6e6c67444324d975c6b3270eaf4ff2 assets\create\models\item\andesite_bricks_slab.json
|
851090d21c6e6c67444324d975c6b3270eaf4ff2 assets\create\models\item\andesite_bricks_slab.json
|
||||||
d283f86cd05ed378efd82ce46cf49bc83783069b assets\create\models\item\andesite_bricks_stairs.json
|
d283f86cd05ed378efd82ce46cf49bc83783069b assets\create\models\item\andesite_bricks_stairs.json
|
||||||
|
@ -911,12 +912,17 @@ b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets\create\models\item\andesite_cobb
|
||||||
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets\create\models\item\andesite_cobblestone_wall.json
|
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets\create\models\item\andesite_cobblestone_wall.json
|
||||||
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets\create\models\item\andesite_pillar.json
|
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets\create\models\item\andesite_pillar.json
|
||||||
bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets\create\models\item\basin.json
|
bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets\create\models\item\basin.json
|
||||||
|
1da382e7e58eaa9788f5b1d92221ccac573e068f assets\create\models\item\belt_connector.json
|
||||||
695a69d5854e2eb134b55d855bd2b7b18808a01d assets\create\models\item\belt_observer.json
|
695a69d5854e2eb134b55d855bd2b7b18808a01d assets\create\models\item\belt_observer.json
|
||||||
5006164d5bdb17cc5ec9759d7cdaf218e2b45f04 assets\create\models\item\belt_tunnel.json
|
5006164d5bdb17cc5ec9759d7cdaf218e2b45f04 assets\create\models\item\belt_tunnel.json
|
||||||
9044243882cfd49a2827e1b910a4c9b0e46daa47 assets\create\models\item\birch_window.json
|
9044243882cfd49a2827e1b910a4c9b0e46daa47 assets\create\models\item\birch_window.json
|
||||||
6ed49f59ea91068ef68720f43e67a9237594bdf0 assets\create\models\item\birch_window_pane.json
|
6ed49f59ea91068ef68720f43e67a9237594bdf0 assets\create\models\item\birch_window_pane.json
|
||||||
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets\create\models\item\brass_block.json
|
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets\create\models\item\brass_block.json
|
||||||
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets\create\models\item\brass_casing.json
|
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets\create\models\item\brass_casing.json
|
||||||
|
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets\create\models\item\brass_hand.json
|
||||||
|
1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets\create\models\item\brass_ingot.json
|
||||||
|
a37be4a0ec9bf6c381527403c57ced4f81abd67c assets\create\models\item\brass_nugget.json
|
||||||
|
14ea6ee4db6e7e76446e331a70b6b6bec31e8eb7 assets\create\models\item\brass_sheet.json
|
||||||
7fcb2a4d0bbe434f269b5bcaffebe410913297be assets\create\models\item\cart_assembler.json
|
7fcb2a4d0bbe434f269b5bcaffebe410913297be assets\create\models\item\cart_assembler.json
|
||||||
99d64b76b3baa84c3bd4b96ccd3376ca12425950 assets\create\models\item\chiseled_dark_scoria.json
|
99d64b76b3baa84c3bd4b96ccd3376ca12425950 assets\create\models\item\chiseled_dark_scoria.json
|
||||||
83d3571eacde52568786802b268f24c6578c1e5d assets\create\models\item\chiseled_dolomite.json
|
83d3571eacde52568786802b268f24c6578c1e5d assets\create\models\item\chiseled_dolomite.json
|
||||||
|
@ -929,10 +935,19 @@ b1531a7bd3f7f27b9587d13e818a93dc2d088bc8 assets\create\models\item\clockwork_bea
|
||||||
dcb09deae110077bcddf090996b51cc66e9a7de3 assets\create\models\item\cogwheel.json
|
dcb09deae110077bcddf090996b51cc66e9a7de3 assets\create\models\item\cogwheel.json
|
||||||
965a90a882d85dba93b30af9bce7ecf8e68ce747 assets\create\models\item\copper_block.json
|
965a90a882d85dba93b30af9bce7ecf8e68ce747 assets\create\models\item\copper_block.json
|
||||||
759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets\create\models\item\copper_casing.json
|
759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets\create\models\item\copper_casing.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
|
51be7da59368681522de870f1e09036dac55aa77 assets\create\models\item\copper_ore.json
|
||||||
|
200ef8378a9c014571c414433d4aef73a204dc01 assets\create\models\item\copper_sheet.json
|
||||||
d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets\create\models\item\copper_shingles.json
|
d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets\create\models\item\copper_shingles.json
|
||||||
|
4e9126b349d55c65aa5407f05700579e52101c1f assets\create\models\item\crafter_slot_cover.json
|
||||||
7b333dea353afaa27b182aedc647c9e9e34e92ef assets\create\models\item\creative_crate.json
|
7b333dea353afaa27b182aedc647c9e9e34e92ef assets\create\models\item\creative_crate.json
|
||||||
5b39403f6c81f05e566b621b62e267267de47c41 assets\create\models\item\creative_motor.json
|
5b39403f6c81f05e566b621b62e267267de47c41 assets\create\models\item\creative_motor.json
|
||||||
|
19c8492ced64a872a040005dd212a9a14e20477c assets\create\models\item\crushed_brass.json
|
||||||
|
8167f2a6d05d65a4ebd809b9c114027862afb38e assets\create\models\item\crushed_copper_ore.json
|
||||||
|
371f1c74cf327c3c48a4ba1cffd5f6003ba5ab77 assets\create\models\item\crushed_gold_ore.json
|
||||||
|
604931d2906bc545a468987a4f151d64f20e79de assets\create\models\item\crushed_iron_ore.json
|
||||||
|
8b9c0aa8aaf979ec85eac59b27799cc1c0cf427a assets\create\models\item\crushed_zinc_ore.json
|
||||||
823c91f63565db54ec3944a1e90e7aee18e41062 assets\create\models\item\crushing_wheel.json
|
823c91f63565db54ec3944a1e90e7aee18e41062 assets\create\models\item\crushing_wheel.json
|
||||||
dae5cffa4e1263d6a113469f79fba8695fa8232a assets\create\models\item\cuckoo_clock.json
|
dae5cffa4e1263d6a113469f79fba8695fa8232a assets\create\models\item\cuckoo_clock.json
|
||||||
f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets\create\models\item\dark_oak_window.json
|
f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets\create\models\item\dark_oak_window.json
|
||||||
|
@ -947,6 +962,7 @@ b50e3471476783be80f28bb4e3543f5a426b9eb6 assets\create\models\item\dark_scoria_b
|
||||||
e67fe11e9036c81f0f54d368b41a971822a84a32 assets\create\models\item\dark_scoria_cobblestone_stairs.json
|
e67fe11e9036c81f0f54d368b41a971822a84a32 assets\create\models\item\dark_scoria_cobblestone_stairs.json
|
||||||
59c87e6a439fbcbbbb254e07e7b48209ea31e40c assets\create\models\item\dark_scoria_cobblestone_wall.json
|
59c87e6a439fbcbbbb254e07e7b48209ea31e40c assets\create\models\item\dark_scoria_cobblestone_wall.json
|
||||||
f5b2995929ac9dca9857d4618660ffa7778d5618 assets\create\models\item\dark_scoria_pillar.json
|
f5b2995929ac9dca9857d4618660ffa7778d5618 assets\create\models\item\dark_scoria_pillar.json
|
||||||
|
f06f56ffb1cd7c9a2b81c65f7796726692e5cc59 assets\create\models\item\deforester.json
|
||||||
2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets\create\models\item\deployer.json
|
2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets\create\models\item\deployer.json
|
||||||
a97ca9b6fc3e10a9c9409b27458a852222045e4e assets\create\models\item\diorite_bricks.json
|
a97ca9b6fc3e10a9c9409b27458a852222045e4e assets\create\models\item\diorite_bricks.json
|
||||||
7a28bb619d37a37ed82509d2ff395d76b4435961 assets\create\models\item\diorite_bricks_slab.json
|
7a28bb619d37a37ed82509d2ff395d76b4435961 assets\create\models\item\diorite_bricks_slab.json
|
||||||
|
@ -967,7 +983,10 @@ f92bc71df40567367d08798a6ea45e7e8d0b07b0 assets\create\models\item\dolomite_cobb
|
||||||
be7de1e1529fb2a2e842204136520a760676d4e9 assets\create\models\item\dolomite_cobblestone_stairs.json
|
be7de1e1529fb2a2e842204136520a760676d4e9 assets\create\models\item\dolomite_cobblestone_stairs.json
|
||||||
6b03f2be8fa1e62a89d59859e7d40f9e45ab8b65 assets\create\models\item\dolomite_cobblestone_wall.json
|
6b03f2be8fa1e62a89d59859e7d40f9e45ab8b65 assets\create\models\item\dolomite_cobblestone_wall.json
|
||||||
e974cd23a5456baef8b634f2d21fd8c3822931ab assets\create\models\item\dolomite_pillar.json
|
e974cd23a5456baef8b634f2d21fd8c3822931ab assets\create\models\item\dolomite_pillar.json
|
||||||
|
82b73fafdb8bf4f0706012d5baab44cd0e1aa7bc assets\create\models\item\dough.json
|
||||||
a2b3820eb87b5e3eaf0c315c4482ba24d9ebd610 assets\create\models\item\drill.json
|
a2b3820eb87b5e3eaf0c315c4482ba24d9ebd610 assets\create\models\item\drill.json
|
||||||
|
36139f3de5fc9e57cb96f2d2daad108bc0635b7b assets\create\models\item\electron_tube.json
|
||||||
|
3bbf9f6b33ef075fb2e1d20d58a6169e2e942314 assets\create\models\item\empty_schematic.json
|
||||||
f2d6b88c3174de01e16da555236727efc33b490c assets\create\models\item\encased_belt.json
|
f2d6b88c3174de01e16da555236727efc33b490c assets\create\models\item\encased_belt.json
|
||||||
250bd0716cc1f04b03892ab74eb0b3a0f32a6158 assets\create\models\item\encased_fan.json
|
250bd0716cc1f04b03892ab74eb0b3a0f32a6158 assets\create\models\item\encased_fan.json
|
||||||
e0f9ad7e7d790e9e21a38fa57395fd3ff892359b assets\create\models\item\encased_shaft.json
|
e0f9ad7e7d790e9e21a38fa57395fd3ff892359b assets\create\models\item\encased_shaft.json
|
||||||
|
@ -1013,6 +1032,7 @@ d62b93d3c274d280f3eec22a28b5175943411d25 assets\create\models\item\framed_glass.
|
||||||
1041d462c6e856f7f3f2365c299c0599703d1ed7 assets\create\models\item\framed_glass_pane.json
|
1041d462c6e856f7f3f2365c299c0599703d1ed7 assets\create\models\item\framed_glass_pane.json
|
||||||
2dc08da54182756cd3520f1420d0506ab50063e1 assets\create\models\item\funnel.json
|
2dc08da54182756cd3520f1420d0506ab50063e1 assets\create\models\item\funnel.json
|
||||||
0bee2855dc9bad52e941153b87e9c35797c246ee assets\create\models\item\furnace_engine.json
|
0bee2855dc9bad52e941153b87e9c35797c246ee assets\create\models\item\furnace_engine.json
|
||||||
|
090edb6a728fc3803e870d647c7c4e826faadca0 assets\create\models\item\furnace_minecart_contraption.json
|
||||||
2c1608c114ccc285a84e936dc3f1233c535e1a26 assets\create\models\item\gabbro.json
|
2c1608c114ccc285a84e936dc3f1233c535e1a26 assets\create\models\item\gabbro.json
|
||||||
c35900cae8508c292a73239e560cebae17980f96 assets\create\models\item\gabbro_bricks.json
|
c35900cae8508c292a73239e560cebae17980f96 assets\create\models\item\gabbro_bricks.json
|
||||||
b10971277417369f421324b28f0a4b47ce4c8625 assets\create\models\item\gabbro_bricks_slab.json
|
b10971277417369f421324b28f0a4b47ce4c8625 assets\create\models\item\gabbro_bricks_slab.json
|
||||||
|
@ -1025,6 +1045,7 @@ b3d7398dbc16c450928bd76b772c273382687447 assets\create\models\item\gabbro_cobble
|
||||||
20950b692eecfccd77d96678bb3d909d51f6d787 assets\create\models\item\gabbro_pillar.json
|
20950b692eecfccd77d96678bb3d909d51f6d787 assets\create\models\item\gabbro_pillar.json
|
||||||
6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets\create\models\item\gearbox.json
|
6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets\create\models\item\gearbox.json
|
||||||
2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets\create\models\item\gearshift.json
|
2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets\create\models\item\gearshift.json
|
||||||
|
52108a61865dab38133b9f916496ca680ae364ea assets\create\models\item\golden_sheet.json
|
||||||
46d813bcb6676078347383295bb7dbda1d9dd060 assets\create\models\item\granite_bricks.json
|
46d813bcb6676078347383295bb7dbda1d9dd060 assets\create\models\item\granite_bricks.json
|
||||||
032a31c66d3de63595d478165d54b4f562e9831d assets\create\models\item\granite_bricks_slab.json
|
032a31c66d3de63595d478165d54b4f562e9831d assets\create\models\item\granite_bricks_slab.json
|
||||||
9d7a989d644af91a4ca5985396375863cc5de6a7 assets\create\models\item\granite_bricks_stairs.json
|
9d7a989d644af91a4ca5985396375863cc5de6a7 assets\create\models\item\granite_bricks_stairs.json
|
||||||
|
@ -1034,12 +1055,17 @@ c1bb87fdbbefaf74e1ead186c43417a051ab3965 assets\create\models\item\granite_cobbl
|
||||||
3c5f83809f945134a861d4ea600a1708de58a422 assets\create\models\item\granite_cobblestone_stairs.json
|
3c5f83809f945134a861d4ea600a1708de58a422 assets\create\models\item\granite_cobblestone_stairs.json
|
||||||
e2d8561a8048fe6144362d13478bba4825588810 assets\create\models\item\granite_cobblestone_wall.json
|
e2d8561a8048fe6144362d13478bba4825588810 assets\create\models\item\granite_cobblestone_wall.json
|
||||||
b84a947a1b297513c85bb8d2dbbb780304c95e43 assets\create\models\item\granite_pillar.json
|
b84a947a1b297513c85bb8d2dbbb780304c95e43 assets\create\models\item\granite_pillar.json
|
||||||
|
cfab82a2cf7495d21778c1de9730a26afbdd523d assets\create\models\item\handheld_blockzapper.json
|
||||||
|
dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets\create\models\item\handheld_worldshaper.json
|
||||||
398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets\create\models\item\hand_crank.json
|
398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets\create\models\item\hand_crank.json
|
||||||
74d745d5e702d3561921d3abb763534cee7d1cf7 assets\create\models\item\harvester.json
|
74d745d5e702d3561921d3abb763534cee7d1cf7 assets\create\models\item\harvester.json
|
||||||
e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets\create\models\item\horizontal_framed_glass.json
|
e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets\create\models\item\horizontal_framed_glass.json
|
||||||
f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets\create\models\item\horizontal_framed_glass_pane.json
|
f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets\create\models\item\horizontal_framed_glass_pane.json
|
||||||
|
771d439eac70b52f593fa7381f2c48729fbdaec7 assets\create\models\item\integrated_circuit.json
|
||||||
|
d254f47bc185f2a2f01608a875aa63ed2c4ceb0f assets\create\models\item\iron_sheet.json
|
||||||
83fa8699318e51f838b483b40b3e897c34ed53d1 assets\create\models\item\jungle_window.json
|
83fa8699318e51f838b483b40b3e897c34ed53d1 assets\create\models\item\jungle_window.json
|
||||||
34dc05da3edef554dad1cfde834773aecd861293 assets\create\models\item\jungle_window_pane.json
|
34dc05da3edef554dad1cfde834773aecd861293 assets\create\models\item\jungle_window_pane.json
|
||||||
|
0c9b16c3f5f0a5f77110b3fc2467bde8c1b288b7 assets\create\models\item\lapis_sheet.json
|
||||||
bcaaf60d9a853cce90169dabcb36d29a3ce19e18 assets\create\models\item\large_cogwheel.json
|
bcaaf60d9a853cce90169dabcb36d29a3ce19e18 assets\create\models\item\large_cogwheel.json
|
||||||
281e2b055c6eb6994ca306c8957fc80a98fb5473 assets\create\models\item\layered_andesite.json
|
281e2b055c6eb6994ca306c8957fc80a98fb5473 assets\create\models\item\layered_andesite.json
|
||||||
7afeb6170b37cb464ea91be18928d21970d556d3 assets\create\models\item\layered_dark_scoria.json
|
7afeb6170b37cb464ea91be18928d21970d556d3 assets\create\models\item\layered_dark_scoria.json
|
||||||
|
@ -1069,6 +1095,7 @@ eb0053df13e362e0a05be65252944f0c94eab3db assets\create\models\item\linked_extrac
|
||||||
f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets\create\models\item\mechanical_piston.json
|
f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets\create\models\item\mechanical_piston.json
|
||||||
6c2acb80e53256fbb85f76851f335f9248ace6da assets\create\models\item\mechanical_press.json
|
6c2acb80e53256fbb85f76851f335f9248ace6da assets\create\models\item\mechanical_press.json
|
||||||
0eb5726c8c0de462f432411c210d6132b2c446a4 assets\create\models\item\millstone.json
|
0eb5726c8c0de462f432411c210d6132b2c446a4 assets\create\models\item\millstone.json
|
||||||
|
1134bc8ecdfefe5d30ee4973c37aa9a349c368b4 assets\create\models\item\minecart_contraption.json
|
||||||
dc43c88dc8ae1f425e1c10f422b09d97719af5bc assets\create\models\item\mossy_andesite.json
|
dc43c88dc8ae1f425e1c10f422b09d97719af5bc assets\create\models\item\mossy_andesite.json
|
||||||
4ce9aabf9fa9e9e6af6b4339291e635708bdbcdf assets\create\models\item\mossy_dark_scoria.json
|
4ce9aabf9fa9e9e6af6b4339291e635708bdbcdf assets\create\models\item\mossy_dark_scoria.json
|
||||||
d084f03d068d0b8c3b7c4d00014c168f61836770 assets\create\models\item\mossy_diorite.json
|
d084f03d068d0b8c3b7c4d00014c168f61836770 assets\create\models\item\mossy_diorite.json
|
||||||
|
@ -1148,6 +1175,7 @@ cee4881472e679583d4ab8c2b3d21280093926af assets\create\models\item\polished_gabb
|
||||||
6c899db964025a4e61245063ba2b917c5e14e5c0 assets\create\models\item\polished_limestone_slab.json
|
6c899db964025a4e61245063ba2b917c5e14e5c0 assets\create\models\item\polished_limestone_slab.json
|
||||||
7b7e357c0d9abd524d267b197c3c7c8a031da493 assets\create\models\item\polished_limestone_stairs.json
|
7b7e357c0d9abd524d267b197c3c7c8a031da493 assets\create\models\item\polished_limestone_stairs.json
|
||||||
64119ad6c26e988b3c0886e572b3a6cd16617d8e assets\create\models\item\polished_limestone_wall.json
|
64119ad6c26e988b3c0886e572b3a6cd16617d8e assets\create\models\item\polished_limestone_wall.json
|
||||||
|
c2cf33c3b01db2403193c0f187e90d0268d7e82d assets\create\models\item\polished_rose_quartz.json
|
||||||
7f4ada06f5fc6647e6ba7fe3195efc116bfb2189 assets\create\models\item\polished_scoria.json
|
7f4ada06f5fc6647e6ba7fe3195efc116bfb2189 assets\create\models\item\polished_scoria.json
|
||||||
143139799880ed94c0b41bacfe3dc0a821d96c49 assets\create\models\item\polished_scoria_slab.json
|
143139799880ed94c0b41bacfe3dc0a821d96c49 assets\create\models\item\polished_scoria_slab.json
|
||||||
e95125318055b8557afd7d108488cf0bdd81fe49 assets\create\models\item\polished_scoria_stairs.json
|
e95125318055b8557afd7d108488cf0bdd81fe49 assets\create\models\item\polished_scoria_stairs.json
|
||||||
|
@ -1157,16 +1185,24 @@ e95125318055b8557afd7d108488cf0bdd81fe49 assets\create\models\item\polished_scor
|
||||||
6d92ee7112aa20e8a1adfe73d8933031c299bed1 assets\create\models\item\polished_weathered_limestone_stairs.json
|
6d92ee7112aa20e8a1adfe73d8933031c299bed1 assets\create\models\item\polished_weathered_limestone_stairs.json
|
||||||
b4995fb4799f33508cd6bf2ded80c0b3e866ad43 assets\create\models\item\polished_weathered_limestone_wall.json
|
b4995fb4799f33508cd6bf2ded80c0b3e866ad43 assets\create\models\item\polished_weathered_limestone_wall.json
|
||||||
ef2c9dcd5f6385a0f0cdc2e9120c984827863100 assets\create\models\item\portable_storage_interface.json
|
ef2c9dcd5f6385a0f0cdc2e9120c984827863100 assets\create\models\item\portable_storage_interface.json
|
||||||
|
d3cfc1a1137c4bc98848947d425d2972df144c95 assets\create\models\item\powdered_obsidian.json
|
||||||
1e501c1f2e9250aaaadcf17db62646d08177d4e1 assets\create\models\item\powered_latch.json
|
1e501c1f2e9250aaaadcf17db62646d08177d4e1 assets\create\models\item\powered_latch.json
|
||||||
3a6dfc7f36e31ebfcd650c3144a7f2210e8a4f9f assets\create\models\item\powered_toggle_latch.json
|
3a6dfc7f36e31ebfcd650c3144a7f2210e8a4f9f assets\create\models\item\powered_toggle_latch.json
|
||||||
|
16f363038d5afeae34e0724a6a9f0b8f6e65424a assets\create\models\item\propeller.json
|
||||||
4b8a27ff05ed5331889dfc4b0b4562f3e94b0dfe assets\create\models\item\pulse_repeater.json
|
4b8a27ff05ed5331889dfc4b0b4562f3e94b0dfe assets\create\models\item\pulse_repeater.json
|
||||||
b9a4ac219a27e60a82f55129f2df5ae6183981e2 assets\create\models\item\redstone_contact.json
|
b9a4ac219a27e60a82f55129f2df5ae6183981e2 assets\create\models\item\redstone_contact.json
|
||||||
52e561abeb954d0349e640566de92ef80ccbf919 assets\create\models\item\redstone_link.json
|
52e561abeb954d0349e640566de92ef80ccbf919 assets\create\models\item\redstone_link.json
|
||||||
|
ba99e2fdb64892f4f479a8ac51c226cb5f71f659 assets\create\models\item\red_sand_paper.json
|
||||||
|
d9dd4546f4f4c6ed5fef66de9d272d469db4e81f assets\create\models\item\refined_radiance.json
|
||||||
6daff6b82b33374d7add65e352e05ecb2fd9ebdd assets\create\models\item\rope_pulley.json
|
6daff6b82b33374d7add65e352e05ecb2fd9ebdd assets\create\models\item\rope_pulley.json
|
||||||
|
fc54acc37695f21ef650c8310110407647e9a023 assets\create\models\item\rose_quartz.json
|
||||||
1c76eabeac012b18ef0b7cf2ec7ed794877c1d98 assets\create\models\item\rotation_chassis.json
|
1c76eabeac012b18ef0b7cf2ec7ed794877c1d98 assets\create\models\item\rotation_chassis.json
|
||||||
acfbf487ee65c2c58d89cb2644e33fda75751fde assets\create\models\item\rotation_speed_controller.json
|
acfbf487ee65c2c58d89cb2644e33fda75751fde assets\create\models\item\rotation_speed_controller.json
|
||||||
|
be86c8156d55d2f128feb66abd70923b3be765cc assets\create\models\item\sand_paper.json
|
||||||
03027a6080a9f1c2f0d8e4eb09a0f6647bf860de assets\create\models\item\saw.json
|
03027a6080a9f1c2f0d8e4eb09a0f6647bf860de assets\create\models\item\saw.json
|
||||||
|
69196df5122a27573112dad49b334dea96aafed0 assets\create\models\item\schematic.json
|
||||||
0a1c4080ca572106c19a0ba6e2df4baba5f45d35 assets\create\models\item\schematicannon.json
|
0a1c4080ca572106c19a0ba6e2df4baba5f45d35 assets\create\models\item\schematicannon.json
|
||||||
|
533483999f61e3b091af567a473875247edaedb3 assets\create\models\item\schematic_and_quill.json
|
||||||
8dd5caa4d7a0ee45bd9b39e09c4503159933d089 assets\create\models\item\schematic_table.json
|
8dd5caa4d7a0ee45bd9b39e09c4503159933d089 assets\create\models\item\schematic_table.json
|
||||||
22a6dfdc3cbb1b6ac20ec123b490e15c72dfbfcf assets\create\models\item\scoria.json
|
22a6dfdc3cbb1b6ac20ec123b490e15c72dfbfcf assets\create\models\item\scoria.json
|
||||||
44a99d0a4ec37dd33ea184e0f4b4bd54289eb19f assets\create\models\item\scoria_bricks.json
|
44a99d0a4ec37dd33ea184e0f4b4bd54289eb19f assets\create\models\item\scoria_bricks.json
|
||||||
|
@ -1179,6 +1215,7 @@ fe8c7476b1386fc05a57a93319f71455ba4cf29b assets\create\models\item\scoria_cobble
|
||||||
b0061419cf7b7bd2dd548ff00ee28f1227ee2663 assets\create\models\item\scoria_cobblestone_wall.json
|
b0061419cf7b7bd2dd548ff00ee28f1227ee2663 assets\create\models\item\scoria_cobblestone_wall.json
|
||||||
1f0cfa084107c05b010556f609371285295a0d12 assets\create\models\item\scoria_pillar.json
|
1f0cfa084107c05b010556f609371285295a0d12 assets\create\models\item\scoria_pillar.json
|
||||||
0df94333da5700f01dcf4ffa46e3f3bf26bb8cf7 assets\create\models\item\sequenced_gearshift.json
|
0df94333da5700f01dcf4ffa46e3f3bf26bb8cf7 assets\create\models\item\sequenced_gearshift.json
|
||||||
|
da72ccdc893fbdd3efa9c22143b88eb756c20e44 assets\create\models\item\shadow_steel.json
|
||||||
106ae694f7e03a218c37003dca8291b1d39b3c55 assets\create\models\item\shaft.json
|
106ae694f7e03a218c37003dca8291b1d39b3c55 assets\create\models\item\shaft.json
|
||||||
d6fb0d38b1b5bcc199b52ac8889eaecd167f6725 assets\create\models\item\speedometer.json
|
d6fb0d38b1b5bcc199b52ac8889eaecd167f6725 assets\create\models\item\speedometer.json
|
||||||
b305e81f1dc5272634745b6e822af40955a2ef28 assets\create\models\item\spruce_window.json
|
b305e81f1dc5272634745b6e822af40955a2ef28 assets\create\models\item\spruce_window.json
|
||||||
|
@ -1186,14 +1223,18 @@ b305e81f1dc5272634745b6e822af40955a2ef28 assets\create\models\item\spruce_window
|
||||||
891abc24593d53d282773eca5534065056d89b4c assets\create\models\item\sticky_mechanical_piston.json
|
891abc24593d53d282773eca5534065056d89b4c assets\create\models\item\sticky_mechanical_piston.json
|
||||||
bbb5773adc23128c70174bfc531af936e6e063e3 assets\create\models\item\stockpile_switch.json
|
bbb5773adc23128c70174bfc531af936e6e063e3 assets\create\models\item\stockpile_switch.json
|
||||||
bab8f78c319b2a79ed55c5d2a94b521ddaa44996 assets\create\models\item\stressometer.json
|
bab8f78c319b2a79ed55c5d2a94b521ddaa44996 assets\create\models\item\stressometer.json
|
||||||
|
29d571a061e3addf92ee51bfc55d96edc3a517a5 assets\create\models\item\super_glue.json
|
||||||
b1d3d00ff05908feacad06a86800da96cc9bc65d assets\create\models\item\tiled_glass.json
|
b1d3d00ff05908feacad06a86800da96cc9bc65d assets\create\models\item\tiled_glass.json
|
||||||
8a2a81a8cbc52b6021e57107d79a32f73b82d8fe assets\create\models\item\tiled_glass_pane.json
|
8a2a81a8cbc52b6021e57107d79a32f73b82d8fe assets\create\models\item\tiled_glass_pane.json
|
||||||
f368a48b20fa0948a4dc61cb7169f2a4c8720d65 assets\create\models\item\translation_chassis.json
|
f368a48b20fa0948a4dc61cb7169f2a4c8720d65 assets\create\models\item\translation_chassis.json
|
||||||
2b7e6213706c9f107a74971818bafad8902c081c assets\create\models\item\translation_chassis_secondary.json
|
2b7e6213706c9f107a74971818bafad8902c081c assets\create\models\item\translation_chassis_secondary.json
|
||||||
a9f6592275a4c8592e3c88a95fbe88bd93de67c6 assets\create\models\item\transposer.json
|
a9f6592275a4c8592e3c88a95fbe88bd93de67c6 assets\create\models\item\transposer.json
|
||||||
|
c081317f106a2b04700aafde12c57445844c20ab assets\create\models\item\tree_fertilizer.json
|
||||||
fb24881c4e92bbb7ffa54a71e0af6b1c66d84829 assets\create\models\item\turntable.json
|
fb24881c4e92bbb7ffa54a71e0af6b1c66d84829 assets\create\models\item\turntable.json
|
||||||
32f49b724af10c8d7e2ed5a3c82280e83b75f789 assets\create\models\item\vertical_framed_glass.json
|
32f49b724af10c8d7e2ed5a3c82280e83b75f789 assets\create\models\item\vertical_framed_glass.json
|
||||||
5e331da9d4086412f5722923e3008246ed286a00 assets\create\models\item\vertical_framed_glass_pane.json
|
5e331da9d4086412f5722923e3008246ed286a00 assets\create\models\item\vertical_framed_glass_pane.json
|
||||||
|
00c2929de9b7171656bea74e1a6d694c6a45b075 assets\create\models\item\vertical_gearbox.json
|
||||||
|
2d4a31321cc13f62f5fd73aabdc5fd97e635bfbc assets\create\models\item\wand_of_symmetry.json
|
||||||
ae20383b0b0806431d0fdd8ffdd16fe2b0cc61ad assets\create\models\item\water_wheel.json
|
ae20383b0b0806431d0fdd8ffdd16fe2b0cc61ad assets\create\models\item\water_wheel.json
|
||||||
1d097a315c2817d16c241c86f66bd48e5e52f4b4 assets\create\models\item\weathered_limestone.json
|
1d097a315c2817d16c241c86f66bd48e5e52f4b4 assets\create\models\item\weathered_limestone.json
|
||||||
fcc8ab312989ec485e2d86b856d81dbafaf0e930 assets\create\models\item\weathered_limestone_bricks.json
|
fcc8ab312989ec485e2d86b856d81dbafaf0e930 assets\create\models\item\weathered_limestone_bricks.json
|
||||||
|
@ -1205,7 +1246,12 @@ def7382f3216c59d835ab64f534678f3d31ecc51 assets\create\models\item\weathered_lim
|
||||||
3d26cb5616182ba6926d0bf703119ebfbeacbe31 assets\create\models\item\weathered_limestone_cobblestone_stairs.json
|
3d26cb5616182ba6926d0bf703119ebfbeacbe31 assets\create\models\item\weathered_limestone_cobblestone_stairs.json
|
||||||
62cba55cef305e8fcbc545363919f75d702a617b assets\create\models\item\weathered_limestone_cobblestone_wall.json
|
62cba55cef305e8fcbc545363919f75d702a617b assets\create\models\item\weathered_limestone_cobblestone_wall.json
|
||||||
40bed7f5e9e97da45c5d9cebc3fcf87b2b13a808 assets\create\models\item\weathered_limestone_pillar.json
|
40bed7f5e9e97da45c5d9cebc3fcf87b2b13a808 assets\create\models\item\weathered_limestone_pillar.json
|
||||||
|
8914910270736f8f15364c623cd08d4638383cc5 assets\create\models\item\wheat_flour.json
|
||||||
|
0cc80844db689404d4722c93f1002b0bed05edcd assets\create\models\item\whisk.json
|
||||||
|
2527b52413965a3e84b4718e08a9b8bb30a741ea assets\create\models\item\wrench.json
|
||||||
9365b5cf29e35d070d077c54520f6cc780aeb842 assets\create\models\item\zinc_block.json
|
9365b5cf29e35d070d077c54520f6cc780aeb842 assets\create\models\item\zinc_block.json
|
||||||
|
9dfaa12884667458f8f727ae7666e7e4e50181d9 assets\create\models\item\zinc_ingot.json
|
||||||
|
9f9455ccb5fc9e3cbfce73862b46078346a522a5 assets\create\models\item\zinc_nugget.json
|
||||||
b1689617190c05ef34bd18456b0c7ae09bb3210f assets\create\models\item\zinc_ore.json
|
b1689617190c05ef34bd18456b0c7ae09bb3210f assets\create\models\item\zinc_ore.json
|
||||||
187921fa131b06721bfaf63f2623a28c141aae9a data\create\advancements\andesite_alloy.json
|
187921fa131b06721bfaf63f2623a28c141aae9a data\create\advancements\andesite_alloy.json
|
||||||
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data\create\advancements\andesite_casing.json
|
0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data\create\advancements\andesite_casing.json
|
||||||
|
@ -1244,11 +1290,11 @@ c1f162e773518f6b1481221e3e63f9ba33fed647 data\create\advancements\shadow_steel.j
|
||||||
290e1248254abcfd7f1e73906be25662331378ec data\create\advancements\shifting_gears.json
|
290e1248254abcfd7f1e73906be25662331378ec data\create\advancements\shifting_gears.json
|
||||||
7eac9a5f9f96087a74cab1576c59b1b4a9f99ffe data\create\advancements\speed_gauge.json
|
7eac9a5f9f96087a74cab1576c59b1b4a9f99ffe data\create\advancements\speed_gauge.json
|
||||||
b457a54be7202999be24bb6bcce534f310489412 data\create\advancements\stress_gauge.json
|
b457a54be7202999be24bb6bcce534f310489412 data\create\advancements\stress_gauge.json
|
||||||
5e460cc958989e6e72ac5d6604430711d8099690 data\create\advancements\symmetry_wand.json
|
1d7fb82b7c05914b399167dc58b84da10f1a5ae3 data\create\advancements\symmetry_wand.json
|
||||||
ff5f41874304e709d6f3a59da00edd033047b81b data\create\advancements\upgraded_zapper.json
|
6b815a2e05e3cd09354e05578515a0060675b67a data\create\advancements\upgraded_zapper.json
|
||||||
50935316d27336ef0858d5a7c5ccc563d288a494 data\create\advancements\water_wheel.json
|
50935316d27336ef0858d5a7c5ccc563d288a494 data\create\advancements\water_wheel.json
|
||||||
4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data\create\advancements\wrench.json
|
4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data\create\advancements\wrench.json
|
||||||
d9bc04a6d11fb4fac6ed43982d3db5d34e8bdc65 data\create\advancements\zapper.json
|
33c1224f4f6a7bb0a3439eb0f8b8af9341b62574 data\create\advancements\zapper.json
|
||||||
aa22b35bb0564055114dcec6dca8a2d603de2481 data\create\loot_tables\blocks\acacia_window.json
|
aa22b35bb0564055114dcec6dca8a2d603de2481 data\create\loot_tables\blocks\acacia_window.json
|
||||||
6bd966ac4678affb255d64fe0aea7fc0f2448757 data\create\loot_tables\blocks\acacia_window_pane.json
|
6bd966ac4678affb255d64fe0aea7fc0f2448757 data\create\loot_tables\blocks\acacia_window_pane.json
|
||||||
191b117d0a25940248ed54d419ea0bb0afb482d0 data\create\loot_tables\blocks\adjustable_crate.json
|
191b117d0a25940248ed54d419ea0bb0afb482d0 data\create\loot_tables\blocks\adjustable_crate.json
|
||||||
|
@ -1369,7 +1415,7 @@ e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data\create\loot_tables\blocks\fancy_we
|
||||||
f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json
|
f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json
|
||||||
8fbd865f350c615031ec3f56eb98b51ce3008de3 data\create\loot_tables\blocks\framed_glass.json
|
8fbd865f350c615031ec3f56eb98b51ce3008de3 data\create\loot_tables\blocks\framed_glass.json
|
||||||
44c8bc7271fa367ff052bef242e1ae26fb435175 data\create\loot_tables\blocks\framed_glass_pane.json
|
44c8bc7271fa367ff052bef242e1ae26fb435175 data\create\loot_tables\blocks\framed_glass_pane.json
|
||||||
205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\funnel.json
|
ed895ef7dcb97ad9b00d80a4fa9c331229dd532e data\create\loot_tables\blocks\funnel.json
|
||||||
4063880eda871fe63a4eb549a19daecabce849e5 data\create\loot_tables\blocks\furnace_engine.json
|
4063880eda871fe63a4eb549a19daecabce849e5 data\create\loot_tables\blocks\furnace_engine.json
|
||||||
1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data\create\loot_tables\blocks\gabbro.json
|
1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data\create\loot_tables\blocks\gabbro.json
|
||||||
0356e003d8890d31b89d0ad98e32aae892da71f9 data\create\loot_tables\blocks\gabbro_bricks.json
|
0356e003d8890d31b89d0ad98e32aae892da71f9 data\create\loot_tables\blocks\gabbro_bricks.json
|
||||||
|
@ -1578,22 +1624,18 @@ d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\blocks\ores\zinc.json
|
||||||
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\blocks\storage_blocks\brass.json
|
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\blocks\storage_blocks\brass.json
|
||||||
f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\blocks\storage_blocks\copper.json
|
f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\blocks\storage_blocks\copper.json
|
||||||
7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\blocks\storage_blocks\zinc.json
|
7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\blocks\storage_blocks\zinc.json
|
||||||
689000fe8dde7ac020ac84875f01a27331ce8f3b data\forge\tags\items\ingots.json
|
|
||||||
2dfd21017cb51d4bdc18d977a7d16f103cc3a985 data\forge\tags\items\ingots\brass.json
|
2dfd21017cb51d4bdc18d977a7d16f103cc3a985 data\forge\tags\items\ingots\brass.json
|
||||||
8e0ca32df10a50544f54fbe3dbfe485971b23315 data\forge\tags\items\ingots\copper.json
|
8e0ca32df10a50544f54fbe3dbfe485971b23315 data\forge\tags\items\ingots\copper.json
|
||||||
2f9ac80569a5cc168061742f9e3c36277d4d056e data\forge\tags\items\ingots\zinc.json
|
2f9ac80569a5cc168061742f9e3c36277d4d056e data\forge\tags\items\ingots\zinc.json
|
||||||
28e41220b4d933cb95fe7e4f8d1b062f5922e29c data\forge\tags\items\nuggets.json
|
|
||||||
cc82188fe8d986f4457301ed4f75ae833d263601 data\forge\tags\items\nuggets\brass.json
|
cc82188fe8d986f4457301ed4f75ae833d263601 data\forge\tags\items\nuggets\brass.json
|
||||||
7affb30e30a252566a77467994b0c99331f1076c data\forge\tags\items\nuggets\copper.json
|
7affb30e30a252566a77467994b0c99331f1076c data\forge\tags\items\nuggets\copper.json
|
||||||
0d8cb5092ee6ec01ea09324c80d649ba05549799 data\forge\tags\items\nuggets\zinc.json
|
0d8cb5092ee6ec01ea09324c80d649ba05549799 data\forge\tags\items\nuggets\zinc.json
|
||||||
4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data\forge\tags\items\ores\copper.json
|
4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data\forge\tags\items\ores\copper.json
|
||||||
d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\items\ores\zinc.json
|
d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\items\ores\zinc.json
|
||||||
9db8fecba63944baec58a6059a3c4ce29ef79313 data\forge\tags\items\plates.json
|
|
||||||
39f0d70ec10597e85df7c4783bbc5e0e4a5ffb80 data\forge\tags\items\plates\brass.json
|
39f0d70ec10597e85df7c4783bbc5e0e4a5ffb80 data\forge\tags\items\plates\brass.json
|
||||||
c3dab5fe379bc1b7b10d4a0ba7009eee1b75a27c data\forge\tags\items\plates\copper.json
|
c3dab5fe379bc1b7b10d4a0ba7009eee1b75a27c data\forge\tags\items\plates\copper.json
|
||||||
e5d4131644a084c9dd724e5f0dfa2a418ffee45d data\forge\tags\items\plates\gold.json
|
fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data\forge\tags\items\plates\gold.json
|
||||||
04d947ed7a5066f3cfe75a8dc564fe2dca8a9c93 data\forge\tags\items\plates\iron.json
|
04d947ed7a5066f3cfe75a8dc564fe2dca8a9c93 data\forge\tags\items\plates\iron.json
|
||||||
56c0ccf7a6995f41f21e6ab5c0088e61b12e23fc data\forge\tags\items\plates\lapis.json
|
|
||||||
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\items\storage_blocks\brass.json
|
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\items\storage_blocks\brass.json
|
||||||
f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\items\storage_blocks\copper.json
|
f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\items\storage_blocks\copper.json
|
||||||
7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\items\storage_blocks\zinc.json
|
7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\items\storage_blocks\zinc.json
|
||||||
|
|
|
@ -29,8 +29,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x_sticky",
|
"model": "create:block/rotation_chassis_side_x_sticky",
|
||||||
|
@ -39,8 +39,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_y_sticky"
|
"model": "create:block/rotation_chassis_side_y_sticky"
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_south": "true",
|
||||||
"sticky_south": "true"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x_sticky",
|
"model": "create:block/rotation_chassis_side_x_sticky",
|
||||||
|
@ -59,8 +59,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "x",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "x"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x",
|
"model": "create:block/rotation_chassis_side_x",
|
||||||
|
@ -69,8 +69,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "y",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "y"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_y"
|
"model": "create:block/rotation_chassis_side_y"
|
||||||
|
@ -78,8 +78,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"axis": "z",
|
"sticky_south": "false",
|
||||||
"sticky_south": "false"
|
"axis": "z"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x",
|
"model": "create:block/rotation_chassis_side_x",
|
||||||
|
@ -207,8 +207,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "true",
|
"axis": "x",
|
||||||
"axis": "x"
|
"sticky_east": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x_sticky",
|
"model": "create:block/rotation_chassis_side_x_sticky",
|
||||||
|
@ -217,8 +217,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "true",
|
"axis": "y",
|
||||||
"axis": "y"
|
"sticky_east": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_y_sticky",
|
"model": "create:block/rotation_chassis_side_y_sticky",
|
||||||
|
@ -227,8 +227,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "true",
|
"axis": "z",
|
||||||
"axis": "z"
|
"sticky_east": "true"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_z_sticky"
|
"model": "create:block/rotation_chassis_side_z_sticky"
|
||||||
|
@ -236,8 +236,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "false",
|
"axis": "x",
|
||||||
"axis": "x"
|
"sticky_east": "false"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_x",
|
"model": "create:block/rotation_chassis_side_x",
|
||||||
|
@ -246,8 +246,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "false",
|
"axis": "y",
|
||||||
"axis": "y"
|
"sticky_east": "false"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_y",
|
"model": "create:block/rotation_chassis_side_y",
|
||||||
|
@ -256,8 +256,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"when": {
|
"when": {
|
||||||
"sticky_east": "false",
|
"axis": "z",
|
||||||
"axis": "z"
|
"sticky_east": "false"
|
||||||
},
|
},
|
||||||
"apply": {
|
"apply": {
|
||||||
"model": "create:block/rotation_chassis_side_z"
|
"model": "create:block/rotation_chassis_side_z"
|
||||||
|
|
|
@ -323,5 +323,55 @@
|
||||||
"block.create.weathered_limestone_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
|
"block.create.weathered_limestone_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
|
||||||
"block.create.weathered_limestone_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
|
"block.create.weathered_limestone_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM",
|
||||||
"block.create.zinc_block": "\u029E\u0254o\u05DF\u15FA \u0254u\u0131Z",
|
"block.create.zinc_block": "\u029E\u0254o\u05DF\u15FA \u0254u\u0131Z",
|
||||||
"block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z"
|
"block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z",
|
||||||
|
"item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
|
"item.create.attribute_filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132 \u01DD\u0287nq\u0131\u0279\u0287\u0287\u2C6F",
|
||||||
|
"item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW",
|
||||||
|
"item.create.brass_hand": "pu\u0250H ss\u0250\u0279\u15FA",
|
||||||
|
"item.create.brass_ingot": "\u0287obuI ss\u0250\u0279\u15FA",
|
||||||
|
"item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA",
|
||||||
|
"item.create.brass_sheet": "\u0287\u01DD\u01DD\u0265S ss\u0250\u0279\u15FA",
|
||||||
|
"item.create.chromatic_compound": "punod\u026Fo\u0186 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186",
|
||||||
|
"item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186",
|
||||||
|
"item.create.copper_nugget": "\u0287\u01DDbbnN \u0279\u01DDddo\u0186",
|
||||||
|
"item.create.copper_sheet": "\u0287\u01DD\u01DD\u0265S \u0279\u01DDddo\u0186",
|
||||||
|
"item.create.crafter_slot_cover": "\u0279\u01DD\u028Co\u0186 \u0287o\u05DFS \u0279\u01DD\u0287\u025F\u0250\u0279\u0186",
|
||||||
|
"item.create.crushed_brass": "ss\u0250\u0279\u15FA p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
"item.create.crushed_copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186 p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
"item.create.crushed_gold_ore": "\u01DD\u0279O p\u05DFo\u2141 p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
"item.create.crushed_iron_ore": "\u01DD\u0279O uo\u0279I p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
"item.create.crushed_zinc_ore": "\u01DD\u0279O \u0254u\u0131Z p\u01DD\u0265sn\u0279\u0186",
|
||||||
|
"item.create.deforester": "\u0279\u01DD\u0287s\u01DD\u0279o\u025F\u01DD\u15E1",
|
||||||
|
"item.create.dough": "\u0265bno\u15E1",
|
||||||
|
"item.create.electron_tube": "\u01DDqn\u27D8 uo\u0279\u0287\u0254\u01DD\u05DF\u018E",
|
||||||
|
"item.create.empty_schematic": "\u0254\u0131\u0287\u0250\u026F\u01DD\u0265\u0254S \u028E\u0287d\u026F\u018E",
|
||||||
|
"item.create.filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132",
|
||||||
|
"item.create.furnace_minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W \u01DD\u0254\u0250u\u0279n\u2132",
|
||||||
|
"item.create.goggles": "s\u01DD\u05DFbbo\u2141 s,\u0279\u01DD\u01DDu\u0131bu\u018E",
|
||||||
|
"item.create.golden_sheet": "\u0287\u01DD\u01DD\u0265S u\u01DDp\u05DFo\u2141",
|
||||||
|
"item.create.handheld_blockzapper": "\u0279\u01DDdd\u0250z\u029E\u0254o\u05DF\u15FA p\u05DF\u01DD\u0265pu\u0250H",
|
||||||
|
"item.create.handheld_worldshaper": "\u0279\u01DDd\u0250\u0265sp\u05DF\u0279oM p\u05DF\u01DD\u0265pu\u0250H",
|
||||||
|
"item.create.integrated_circuit": "\u0287\u0131n\u0254\u0279\u0131\u0186 p\u01DD\u0287\u0250\u0279b\u01DD\u0287uI",
|
||||||
|
"item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I",
|
||||||
|
"item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780",
|
||||||
|
"item.create.minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W",
|
||||||
|
"item.create.polished_rose_quartz": "z\u0287\u0279\u0250n\u1F49 \u01DDso\u1D1A p\u01DD\u0265s\u0131\u05DFo\u0500",
|
||||||
|
"item.create.powdered_obsidian": "u\u0250\u0131p\u0131sqO p\u01DD\u0279\u01DDp\u028Do\u0500",
|
||||||
|
"item.create.propeller": "\u0279\u01DD\u05DF\u05DF\u01DDdo\u0279\u0500",
|
||||||
|
"item.create.red_sand_paper": "\u0279\u01DDd\u0250\u0500 pu\u0250S p\u01DD\u1D1A",
|
||||||
|
"item.create.refined_radiance": "\u01DD\u0254u\u0250\u0131p\u0250\u1D1A p\u01DDu\u0131\u025F\u01DD\u1D1A",
|
||||||
|
"item.create.rose_quartz": "z\u0287\u0279\u0250n\u1F49 \u01DDso\u1D1A",
|
||||||
|
"item.create.sand_paper": "\u0279\u01DDd\u0250\u0500 pu\u0250S",
|
||||||
|
"item.create.schematic": "\u0254\u0131\u0287\u0250\u026F\u01DD\u0265\u0254S",
|
||||||
|
"item.create.schematic_and_quill": "\u05DF\u05DF\u0131n\u1F49 pu\u2C6F \u0254\u0131\u0287\u0250\u026F\u01DD\u0265\u0254S",
|
||||||
|
"item.create.shadow_steel": "\u05DF\u01DD\u01DD\u0287S \u028Dop\u0250\u0265S",
|
||||||
|
"item.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",
|
||||||
|
"item.create.tree_fertilizer": "\u0279\u01DDz\u0131\u05DF\u0131\u0287\u0279\u01DD\u2132 \u01DD\u01DD\u0279\u27D8",
|
||||||
|
"item.create.vertical_gearbox": "xoq\u0279\u0250\u01DD\u2141 \u05DF\u0250\u0254\u0131\u0287\u0279\u01DD\u039B",
|
||||||
|
"item.create.wand_of_symmetry": "\u028E\u0279\u0287\u01DD\u026F\u026F\u028ES \u025FO pu\u0250M",
|
||||||
|
"item.create.wheat_flour": "\u0279no\u05DF\u2132 \u0287\u0250\u01DD\u0265M",
|
||||||
|
"item.create.whisk": "\u029Es\u0131\u0265M",
|
||||||
|
"item.create.wrench": "\u0265\u0254u\u01DD\u0279M",
|
||||||
|
"item.create.zinc_ingot": "\u0287obuI \u0254u\u0131Z",
|
||||||
|
"item.create.zinc_nugget": "\u0287\u01DDbbnN \u0254u\u0131Z"
|
||||||
}
|
}
|
|
@ -328,6 +328,57 @@
|
||||||
"block.create.zinc_block": "Zinc Block",
|
"block.create.zinc_block": "Zinc Block",
|
||||||
"block.create.zinc_ore": "Zinc Ore",
|
"block.create.zinc_ore": "Zinc Ore",
|
||||||
|
|
||||||
|
"item.create.andesite_alloy": "Andesite Alloy",
|
||||||
|
"item.create.attribute_filter": "Attribute Filter",
|
||||||
|
"item.create.belt_connector": "Mechanical Belt",
|
||||||
|
"item.create.brass_hand": "Brass Hand",
|
||||||
|
"item.create.brass_ingot": "Brass Ingot",
|
||||||
|
"item.create.brass_nugget": "Brass Nugget",
|
||||||
|
"item.create.brass_sheet": "Brass Sheet",
|
||||||
|
"item.create.chromatic_compound": "Chromatic Compound",
|
||||||
|
"item.create.copper_ingot": "Copper Ingot",
|
||||||
|
"item.create.copper_nugget": "Copper Nugget",
|
||||||
|
"item.create.copper_sheet": "Copper Sheet",
|
||||||
|
"item.create.crafter_slot_cover": "Crafter Slot Cover",
|
||||||
|
"item.create.crushed_brass": "Crushed Brass",
|
||||||
|
"item.create.crushed_copper_ore": "Crushed Copper Ore",
|
||||||
|
"item.create.crushed_gold_ore": "Crushed Gold Ore",
|
||||||
|
"item.create.crushed_iron_ore": "Crushed Iron Ore",
|
||||||
|
"item.create.crushed_zinc_ore": "Crushed Zinc Ore",
|
||||||
|
"item.create.deforester": "Deforester",
|
||||||
|
"item.create.dough": "Dough",
|
||||||
|
"item.create.electron_tube": "Electron Tube",
|
||||||
|
"item.create.empty_schematic": "Empty Schematic",
|
||||||
|
"item.create.filter": "Filter",
|
||||||
|
"item.create.furnace_minecart_contraption": "Furnace Minecart Contraption",
|
||||||
|
"item.create.goggles": "Engineer's Goggles",
|
||||||
|
"item.create.golden_sheet": "Golden Sheet",
|
||||||
|
"item.create.handheld_blockzapper": "Handheld Blockzapper",
|
||||||
|
"item.create.handheld_worldshaper": "Handheld Worldshaper",
|
||||||
|
"item.create.integrated_circuit": "Integrated Circuit",
|
||||||
|
"item.create.iron_sheet": "Iron Sheet",
|
||||||
|
"item.create.lapis_sheet": "Lapis Sheet",
|
||||||
|
"item.create.minecart_contraption": "Minecart Contraption",
|
||||||
|
"item.create.polished_rose_quartz": "Polished Rose Quartz",
|
||||||
|
"item.create.powdered_obsidian": "Powdered Obsidian",
|
||||||
|
"item.create.propeller": "Propeller",
|
||||||
|
"item.create.red_sand_paper": "Red Sand Paper",
|
||||||
|
"item.create.refined_radiance": "Refined Radiance",
|
||||||
|
"item.create.rose_quartz": "Rose Quartz",
|
||||||
|
"item.create.sand_paper": "Sand Paper",
|
||||||
|
"item.create.schematic": "Schematic",
|
||||||
|
"item.create.schematic_and_quill": "Schematic And Quill",
|
||||||
|
"item.create.shadow_steel": "Shadow Steel",
|
||||||
|
"item.create.super_glue": "Super Glue",
|
||||||
|
"item.create.tree_fertilizer": "Tree Fertilizer",
|
||||||
|
"item.create.vertical_gearbox": "Vertical Gearbox",
|
||||||
|
"item.create.wand_of_symmetry": "Wand Of Symmetry",
|
||||||
|
"item.create.wheat_flour": "Wheat Flour",
|
||||||
|
"item.create.whisk": "Whisk",
|
||||||
|
"item.create.wrench": "Wrench",
|
||||||
|
"item.create.zinc_ingot": "Zinc Ingot",
|
||||||
|
"item.create.zinc_nugget": "Zinc Nugget",
|
||||||
|
|
||||||
|
|
||||||
"_": "->------------------------] We aren't in Registrate yet [------------------------<-",
|
"_": "->------------------------] We aren't in Registrate yet [------------------------<-",
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/crushed_iron"
|
"layer0": "create:item/belt_connector"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/crafter_slot_cover"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/crushed_copper_ore"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/blueprint_filled"
|
"layer0": "create:item/crushed_gold_ore"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/crushed_iron_ore"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/crushed_zinc_ore"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:item/deforester/item"
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/crushed_copper"
|
"layer0": "create:item/empty_schematic"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/furnace_minecart_contraption"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/crushed_gold"
|
"layer0": "create:item/golden_sheet"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:item/handheld_blockzapper/item"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:item/handheld_worldshaper/item"
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/gold_sheet"
|
"layer0": "create:item/lapis_sheet"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "create:item/powdered_obsidian"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/flour"
|
"layer0": "create:item/schematic"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/blueprint_and_quill"
|
"layer0": "create:item/schematic_and_quill"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:block/gearbox/item_vertical"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:item/wand_of_symmetry/item"
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "create:item/belt"
|
"layer0": "create:item/wheat_flour"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:item/wrench/item"
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "create:refined_radiance",
|
"parent": "create:refined_radiance",
|
||||||
"display": {
|
"display": {
|
||||||
"icon": {
|
"icon": {
|
||||||
"item": "create:symmetry_wand"
|
"item": "create:wand_of_symmetry"
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
"translate": "advancement.create.symmetry_wand"
|
"translate": "advancement.create.symmetry_wand"
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"item": "create:symmetry_wand"
|
"item": "create:wand_of_symmetry"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "create:zapper",
|
"parent": "create:zapper",
|
||||||
"display": {
|
"display": {
|
||||||
"icon": {
|
"icon": {
|
||||||
"item": "create:placement_handgun",
|
"item": "create:handheld_blockzapper",
|
||||||
"nbt": "{Retriever:\"Chromatic\",Scope:\"Chromatic\",Amplifier:\"Chromatic\",Body:\"Chromatic\",Accelerator:\"Chromatic\"}"
|
"nbt": "{Retriever:\"Chromatic\",Scope:\"Chromatic\",Amplifier:\"Chromatic\",Body:\"Chromatic\",Accelerator:\"Chromatic\"}"
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "create:refined_radiance",
|
"parent": "create:refined_radiance",
|
||||||
"display": {
|
"display": {
|
||||||
"icon": {
|
"icon": {
|
||||||
"item": "create:placement_handgun"
|
"item": "create:handheld_blockzapper"
|
||||||
},
|
},
|
||||||
"title": {
|
"title": {
|
||||||
"translate": "advancement.create.zapper"
|
"translate": "advancement.create.zapper"
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"item": "create:placement_handgun"
|
"item": "create:handheld_blockzapper"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"#forge:ingots/copper",
|
|
||||||
"#forge:ingots/zinc",
|
|
||||||
"#forge:ingots/brass"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"#forge:nuggets/copper",
|
|
||||||
"#forge:nuggets/zinc",
|
|
||||||
"#forge:nuggets/brass"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"#forge:plates/iron",
|
|
||||||
"#forge:plates/gold",
|
|
||||||
"#forge:plates/copper",
|
|
||||||
"#forge:plates/brass",
|
|
||||||
"#forge:plates/lapis"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"create:gold_sheet"
|
"create:golden_sheet"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": [
|
|
||||||
"create:lapis_plate"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.simibubi.create;
|
|
||||||
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.BlockState;
|
|
||||||
import net.minecraft.tags.BlockTags;
|
|
||||||
import net.minecraft.tags.Tag;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
|
|
||||||
public enum AllBlockTags {
|
|
||||||
|
|
||||||
WINDMILL_SAILS, FAN_HEATERS, WINDOWABLE,
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
public Tag<Block> tag;
|
|
||||||
|
|
||||||
private AllBlockTags() {
|
|
||||||
this("");
|
|
||||||
}
|
|
||||||
|
|
||||||
private AllBlockTags(String path) {
|
|
||||||
tag = new BlockTags.Wrapper(
|
|
||||||
new ResourceLocation(Create.ID, (path.isEmpty() ? "" : path + "/") + Lang.asId(name())));
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean matches(BlockState block) {
|
|
||||||
return tag.contains(block.getBlock());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.AllTags.forgeItemTag;
|
||||||
|
import static com.simibubi.create.AllTags.tagBlockAndItem;
|
||||||
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
||||||
import static com.simibubi.create.foundation.data.BlockStateGen.oxidizedBlockstate;
|
import static com.simibubi.create.foundation.data.BlockStateGen.oxidizedBlockstate;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
|
@ -100,26 +102,17 @@ import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
import com.simibubi.create.foundation.data.ModelGen;
|
import com.simibubi.create.foundation.data.ModelGen;
|
||||||
import com.simibubi.create.foundation.data.SharedProperties;
|
import com.simibubi.create.foundation.data.SharedProperties;
|
||||||
import com.simibubi.create.foundation.worldgen.OxidizingBlock;
|
import com.simibubi.create.foundation.worldgen.OxidizingBlock;
|
||||||
import com.tterrag.registrate.builders.BlockBuilder;
|
|
||||||
import com.tterrag.registrate.builders.ItemBuilder;
|
|
||||||
import com.tterrag.registrate.util.DataIngredient;
|
import com.tterrag.registrate.util.DataIngredient;
|
||||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||||
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.block.SoundType;
|
import net.minecraft.block.SoundType;
|
||||||
import net.minecraft.block.material.MaterialColor;
|
import net.minecraft.block.material.MaterialColor;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.item.BlockItem;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.state.properties.PistonType;
|
import net.minecraft.state.properties.PistonType;
|
||||||
import net.minecraft.tags.BlockTags;
|
import net.minecraft.tags.BlockTags;
|
||||||
import net.minecraft.tags.ItemTags;
|
|
||||||
import net.minecraft.tags.Tag;
|
|
||||||
import net.minecraft.tags.TagCollection;
|
|
||||||
import net.minecraft.util.Direction.Axis;
|
import net.minecraft.util.Direction.Axis;
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
||||||
import net.minecraftforge.common.ToolType;
|
import net.minecraftforge.common.ToolType;
|
||||||
|
|
||||||
|
@ -242,7 +235,7 @@ public class AllBlocks {
|
||||||
.initialProperties(SharedProperties.beltMaterial, MaterialColor.GRAY)
|
.initialProperties(SharedProperties.beltMaterial, MaterialColor.GRAY)
|
||||||
.properties(p -> p.sound(SoundType.CLOTH))
|
.properties(p -> p.sound(SoundType.CLOTH))
|
||||||
.transform(StressConfigDefaults.setImpact(1.0))
|
.transform(StressConfigDefaults.setImpact(1.0))
|
||||||
.transform(CreateRegistrate.blockColors(() -> BeltColor::new))
|
.onRegister(CreateRegistrate.blockColors(() -> BeltColor::new))
|
||||||
.blockstate(new BeltGenerator()::generate)
|
.blockstate(new BeltGenerator()::generate)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
@ -460,7 +453,7 @@ public class AllBlocks {
|
||||||
REGISTRATE.block("translation_chassis", LinearChassisBlock::new)
|
REGISTRATE.block("translation_chassis", LinearChassisBlock::new)
|
||||||
.initialProperties(SharedProperties::wooden)
|
.initialProperties(SharedProperties::wooden)
|
||||||
.blockstate(BlockStateGen.linearChassis())
|
.blockstate(BlockStateGen.linearChassis())
|
||||||
.transform(connectedTextures(new ChassisCTBehaviour()))
|
.onRegister(connectedTextures(new ChassisCTBehaviour()))
|
||||||
.lang("Linear Chassis")
|
.lang("Linear Chassis")
|
||||||
.simpleItem()
|
.simpleItem()
|
||||||
.register();
|
.register();
|
||||||
|
@ -469,7 +462,7 @@ public class AllBlocks {
|
||||||
REGISTRATE.block("translation_chassis_secondary", LinearChassisBlock::new)
|
REGISTRATE.block("translation_chassis_secondary", LinearChassisBlock::new)
|
||||||
.initialProperties(SharedProperties::wooden)
|
.initialProperties(SharedProperties::wooden)
|
||||||
.blockstate(BlockStateGen.linearChassis())
|
.blockstate(BlockStateGen.linearChassis())
|
||||||
.transform(connectedTextures(new ChassisCTBehaviour()))
|
.onRegister(connectedTextures(new ChassisCTBehaviour()))
|
||||||
.lang("Secondary Linear Chassis")
|
.lang("Secondary Linear Chassis")
|
||||||
.simpleItem()
|
.simpleItem()
|
||||||
.register();
|
.register();
|
||||||
|
@ -557,7 +550,7 @@ public class AllBlocks {
|
||||||
.properties(p -> p.nonOpaque())
|
.properties(p -> p.nonOpaque())
|
||||||
.blockstate(BlockStateGen.horizontalBlockProvider(true))
|
.blockstate(BlockStateGen.horizontalBlockProvider(true))
|
||||||
.transform(StressConfigDefaults.setImpact(2.0))
|
.transform(StressConfigDefaults.setImpact(2.0))
|
||||||
.transform(CreateRegistrate.connectedTextures(new CrafterCTBehaviour()))
|
.onRegister(CreateRegistrate.connectedTextures(new CrafterCTBehaviour()))
|
||||||
.addLayer(() -> RenderType::getCutoutMipped)
|
.addLayer(() -> RenderType::getCutoutMipped)
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
|
@ -841,30 +834,7 @@ public class AllBlocks {
|
||||||
.recipe((ctx, prov) -> prov.square(DataIngredient.tag(forgeItemTag("ingots/brass")), ctx, false))
|
.recipe((ctx, prov) -> prov.square(DataIngredient.tag(forgeItemTag("ingots/brass")), ctx, false))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
// Utility
|
// Load this class
|
||||||
|
|
||||||
private static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, ItemBuilder<BlockItem, BlockBuilder<T, P>>> tagBlockAndItem(
|
|
||||||
String tagName) {
|
|
||||||
return b -> b.tag(forgeBlockTag(tagName))
|
|
||||||
.item()
|
|
||||||
.tag(forgeItemTag(tagName));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Tag<Block> forgeBlockTag(String name) {
|
|
||||||
return forgeTag(BlockTags.getCollection(), name);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Tag<Item> forgeItemTag(String name) {
|
|
||||||
return forgeTag(ItemTags.getCollection(), name);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static <T> Tag<T> forgeTag(TagCollection<T> collection, String name) {
|
|
||||||
return tag(collection, "forge", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static <T> Tag<T> tag(TagCollection<T> collection, String domain, String name) {
|
|
||||||
return collection.getOrCreate(new ResourceLocation(domain, name));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void register() {}
|
public static void register() {}
|
||||||
|
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
package com.simibubi.create;
|
|
||||||
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.tags.ItemTags;
|
|
||||||
import net.minecraft.tags.Tag;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
|
|
||||||
public enum AllItemTags {
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
public Tag<Item> tag;
|
|
||||||
|
|
||||||
private AllItemTags(String path) {
|
|
||||||
tag = new ItemTags.Wrapper(new ResourceLocation(Create.ID, path + "/" + Lang.asId(name())));
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean matches(ItemStack item) {
|
|
||||||
return tag.contains(item.getItem());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,249 +0,0 @@
|
||||||
package com.simibubi.create;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
import com.simibubi.create.content.AllSections;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MinecartContraptionItem;
|
|
||||||
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.gearbox.VerticalGearboxItem;
|
|
||||||
import com.simibubi.create.content.contraptions.wrench.WrenchItem;
|
|
||||||
import com.simibubi.create.content.curiosities.ChromaticCompoundCubeItem;
|
|
||||||
import com.simibubi.create.content.curiosities.RefinedRadianceItem;
|
|
||||||
import com.simibubi.create.content.curiosities.ShadowSteelItem;
|
|
||||||
import com.simibubi.create.content.curiosities.TreeFertilizerItem;
|
|
||||||
import com.simibubi.create.content.curiosities.symmetry.SymmetryWandItem;
|
|
||||||
import com.simibubi.create.content.curiosities.tools.DeforesterItem;
|
|
||||||
import com.simibubi.create.content.curiosities.tools.SandPaperItem;
|
|
||||||
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperItem;
|
|
||||||
import com.simibubi.create.content.curiosities.zapper.terrainzapper.TerrainzapperItem;
|
|
||||||
import com.simibubi.create.content.logistics.item.filter.FilterItem;
|
|
||||||
import com.simibubi.create.content.schematics.item.SchematicAndQuillItem;
|
|
||||||
import com.simibubi.create.content.schematics.item.SchematicItem;
|
|
||||||
import com.simibubi.create.foundation.data.ITaggable;
|
|
||||||
import com.simibubi.create.foundation.item.IHaveCustomItemModel;
|
|
||||||
import com.simibubi.create.foundation.item.IItemWithColorHandler;
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.renderer.color.ItemColors;
|
|
||||||
import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer;
|
|
||||||
import net.minecraft.entity.item.minecart.AbstractMinecartEntity.Type;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.Item.Properties;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.item.Rarity;
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
|
||||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
|
||||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
|
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
|
||||||
|
|
||||||
@EventBusSubscriber(value = Dist.CLIENT, bus = Bus.MOD)
|
|
||||||
public enum AllItems {
|
|
||||||
|
|
||||||
_1_(AllSections.MATERIALS),
|
|
||||||
|
|
||||||
COPPER_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/copper")),
|
|
||||||
ZINC_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/zinc")),
|
|
||||||
BRASS_NUGGET((TaggedItem) new TaggedItem().withForgeTags("nuggets/brass")),
|
|
||||||
IRON_SHEET((TaggedItem) new TaggedItem().withForgeTags("plates/iron")),
|
|
||||||
GOLD_SHEET((TaggedItem) new TaggedItem().withForgeTags("plates/gold")),
|
|
||||||
COPPER_SHEET((TaggedItem) new TaggedItem().withForgeTags("plates/copper")),
|
|
||||||
BRASS_SHEET((TaggedItem) new TaggedItem().withForgeTags("plates/brass")),
|
|
||||||
LAPIS_PLATE((TaggedItem) new TaggedItem().withForgeTags("plates/lapis")),
|
|
||||||
|
|
||||||
CRUSHED_IRON,
|
|
||||||
CRUSHED_GOLD,
|
|
||||||
CRUSHED_COPPER,
|
|
||||||
CRUSHED_ZINC,
|
|
||||||
CRUSHED_BRASS,
|
|
||||||
|
|
||||||
ANDESITE_ALLOY,
|
|
||||||
COPPER_INGOT((TaggedItem) new TaggedItem().withForgeTags("ingots/copper")),
|
|
||||||
ZINC_INGOT((TaggedItem) new TaggedItem().withForgeTags("ingots/zinc")),
|
|
||||||
BRASS_INGOT((TaggedItem) new TaggedItem().withForgeTags("ingots/brass")),
|
|
||||||
|
|
||||||
FLOUR,
|
|
||||||
DOUGH,
|
|
||||||
OBSIDIAN_DUST,
|
|
||||||
ROSE_QUARTZ,
|
|
||||||
POLISHED_ROSE_QUARTZ,
|
|
||||||
CHROMATIC_COMPOUND(ChromaticCompoundCubeItem::new, rarity(Rarity.UNCOMMON)),
|
|
||||||
SHADOW_STEEL(ShadowSteelItem::new, rarity(Rarity.UNCOMMON)),
|
|
||||||
REFINED_RADIANCE(RefinedRadianceItem::new, rarity(Rarity.UNCOMMON)),
|
|
||||||
ELECTRON_TUBE,
|
|
||||||
INTEGRATED_CIRCUIT,
|
|
||||||
|
|
||||||
_2_(AllSections.KINETICS),
|
|
||||||
|
|
||||||
BELT_CONNECTOR(BeltConnectorItem::new),
|
|
||||||
VERTICAL_GEARBOX(VerticalGearboxItem::new),
|
|
||||||
PROPELLER,
|
|
||||||
WHISK,
|
|
||||||
BRASS_HAND,
|
|
||||||
SLOT_COVER,
|
|
||||||
SUPER_GLUE(SuperGlueItem::new),
|
|
||||||
SAND_PAPER(SandPaperItem::new),
|
|
||||||
RED_SAND_PAPER(SandPaperItem::new),
|
|
||||||
WRENCH(WrenchItem::new),
|
|
||||||
GOGGLES(GogglesItem::new),
|
|
||||||
MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.RIDEABLE, p)),
|
|
||||||
FURNACE_MINECART_CONTRAPTION(p -> new MinecartContraptionItem(Type.FURNACE, p)),
|
|
||||||
|
|
||||||
_3_(AllSections.LOGISTICS),
|
|
||||||
|
|
||||||
FILTER(FilterItem::new),
|
|
||||||
PROPERTY_FILTER(FilterItem::new),
|
|
||||||
|
|
||||||
_4_(AllSections.CURIOSITIES),
|
|
||||||
|
|
||||||
TREE_FERTILIZER(TreeFertilizerItem::new),
|
|
||||||
PLACEMENT_HANDGUN(BlockzapperItem::new),
|
|
||||||
TERRAIN_ZAPPER(TerrainzapperItem::new),
|
|
||||||
DEFORESTER(DeforesterItem::new),
|
|
||||||
SYMMETRY_WAND(SymmetryWandItem::new),
|
|
||||||
|
|
||||||
_5_(AllSections.SCHEMATICS),
|
|
||||||
|
|
||||||
EMPTY_BLUEPRINT(Item::new, stackSize(1)),
|
|
||||||
BLUEPRINT_AND_QUILL(SchematicAndQuillItem::new, stackSize(1)),
|
|
||||||
BLUEPRINT(SchematicItem::new),
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
private static class SectionTracker {
|
|
||||||
static AllSections currentSection;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Common
|
|
||||||
|
|
||||||
public AllSections section;
|
|
||||||
private Function<Properties, Properties> specialProperties;
|
|
||||||
private TaggedItem taggedItem;
|
|
||||||
private Item item;
|
|
||||||
|
|
||||||
AllItems(AllSections section) {
|
|
||||||
SectionTracker.currentSection = section;
|
|
||||||
taggedItem = new TaggedItem(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
AllItems(Function<Properties, Item> itemSupplier) {
|
|
||||||
this(new TaggedItem(itemSupplier), Function.identity());
|
|
||||||
}
|
|
||||||
|
|
||||||
AllItems(Function<Properties, Item> itemSupplier, Function<Properties, Properties> specialProperties) {
|
|
||||||
this(new TaggedItem(itemSupplier), specialProperties);
|
|
||||||
}
|
|
||||||
|
|
||||||
AllItems() {
|
|
||||||
this(new TaggedItem(Item::new));
|
|
||||||
}
|
|
||||||
|
|
||||||
AllItems(TaggedItem taggedItemIn) {
|
|
||||||
this(taggedItemIn, Function.identity());
|
|
||||||
}
|
|
||||||
|
|
||||||
AllItems(TaggedItem taggedItemIn, Function<Properties, Properties> specialProperties) {
|
|
||||||
this.taggedItem = taggedItemIn;
|
|
||||||
this.section = SectionTracker.currentSection;
|
|
||||||
this.specialProperties = specialProperties;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Function<Properties, Properties> rarity(Rarity rarity) {
|
|
||||||
return p -> p.rarity(rarity);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Function<Properties, Properties> stackSize(int stackSize) {
|
|
||||||
return p -> p.maxStackSize(stackSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Properties defaultProperties(AllItems item) {
|
|
||||||
return includeInItemGroup().setISTER(() -> item::getRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Properties includeInItemGroup() {
|
|
||||||
return new Properties().group(Create.baseCreativeTab);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void register(RegistryEvent.Register<Item> event) {
|
|
||||||
IForgeRegistry<Item> registry = event.getRegistry();
|
|
||||||
|
|
||||||
for (AllItems entry : values()) {
|
|
||||||
if (entry.taggedItem == null || entry.taggedItem.getItemSupplier() == null)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
entry.item = entry.taggedItem.getItemSupplier().apply(new Properties());
|
|
||||||
entry.item =
|
|
||||||
entry.taggedItem.getItemSupplier().apply(entry.specialProperties.apply(defaultProperties(entry)));
|
|
||||||
entry.item.setRegistryName(Create.ID, Lang.asId(entry.name()));
|
|
||||||
registry.register(entry.item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Item get() {
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TaggedItem getTaggable() {
|
|
||||||
return taggedItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean typeOf(ItemStack stack) {
|
|
||||||
return stack.getItem() == item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack asStack() {
|
|
||||||
return new ItemStack(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class TaggedItem extends ITaggable.Impl {
|
|
||||||
|
|
||||||
private Set<ResourceLocation> tagSetItem = new HashSet<>();
|
|
||||||
private Function<Properties, Item> itemSupplier;
|
|
||||||
|
|
||||||
public TaggedItem() {
|
|
||||||
this(Item::new);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TaggedItem(Function<Properties, Item> itemSupplierIn) {
|
|
||||||
this.itemSupplier = itemSupplierIn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Function<Properties, Item> getItemSupplier() {
|
|
||||||
return itemSupplier;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<ResourceLocation> getTagSet(TagType<?> type) {
|
|
||||||
return tagSetItem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Client
|
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
|
||||||
public ItemStackTileEntityRenderer getRenderer() {
|
|
||||||
if (!(item instanceof IHaveCustomItemModel))
|
|
||||||
return null;
|
|
||||||
IHaveCustomItemModel specialItem = (IHaveCustomItemModel) item;
|
|
||||||
return specialItem.createModel(null).getRenderer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
|
||||||
@Deprecated // Use CreateRegistrate#itemColor when porting AllItems
|
|
||||||
public static void registerColorHandlers() {
|
|
||||||
ItemColors itemColors = Minecraft.getInstance().getItemColors();
|
|
||||||
for (AllItems item : values()) {
|
|
||||||
if (item.item instanceof IItemWithColorHandler) {
|
|
||||||
itemColors.register(((IItemWithColorHandler) item.item).getColorHandler(), item.item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
241
src/main/java/com/simibubi/create/AllItemsNew.java
Normal file
241
src/main/java/com/simibubi/create/AllItemsNew.java
Normal file
|
@ -0,0 +1,241 @@
|
||||||
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.AllTags.forgeItemTag;
|
||||||
|
import static com.simibubi.create.content.AllSections.CURIOSITIES;
|
||||||
|
import static com.simibubi.create.content.AllSections.KINETICS;
|
||||||
|
import static com.simibubi.create.content.AllSections.LOGISTICS;
|
||||||
|
import static com.simibubi.create.content.AllSections.MATERIALS;
|
||||||
|
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
||||||
|
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueItem;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MinecartContraptionItem;
|
||||||
|
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.gearbox.VerticalGearboxItem;
|
||||||
|
import com.simibubi.create.content.contraptions.wrench.WrenchItem;
|
||||||
|
import com.simibubi.create.content.contraptions.wrench.WrenchModel;
|
||||||
|
import com.simibubi.create.content.curiosities.ChromaticCompoundColor;
|
||||||
|
import com.simibubi.create.content.curiosities.ChromaticCompoundItem;
|
||||||
|
import com.simibubi.create.content.curiosities.RefinedRadianceItem;
|
||||||
|
import com.simibubi.create.content.curiosities.ShadowSteelItem;
|
||||||
|
import com.simibubi.create.content.curiosities.TreeFertilizerItem;
|
||||||
|
import com.simibubi.create.content.curiosities.symmetry.SymmetryWandItem;
|
||||||
|
import com.simibubi.create.content.curiosities.symmetry.client.SymmetryWandModel;
|
||||||
|
import com.simibubi.create.content.curiosities.tools.DeforesterItem;
|
||||||
|
import com.simibubi.create.content.curiosities.tools.DeforesterModel;
|
||||||
|
import com.simibubi.create.content.curiosities.tools.SandPaperItem;
|
||||||
|
import com.simibubi.create.content.curiosities.tools.SandPaperItemRenderer.SandPaperModel;
|
||||||
|
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperItem;
|
||||||
|
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperModel;
|
||||||
|
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperItem;
|
||||||
|
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperModel;
|
||||||
|
import com.simibubi.create.content.logistics.item.filter.FilterItem;
|
||||||
|
import com.simibubi.create.content.schematics.item.SchematicAndQuillItem;
|
||||||
|
import com.simibubi.create.content.schematics.item.SchematicItem;
|
||||||
|
import com.simibubi.create.foundation.data.AssetLookup;
|
||||||
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
|
import com.tterrag.registrate.util.entry.ItemEntry;
|
||||||
|
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.Rarity;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
|
|
||||||
|
public class AllItemsNew {
|
||||||
|
|
||||||
|
private static final CreateRegistrate REGISTRATE = Create.registrate()
|
||||||
|
.itemGroup(() -> Create.baseCreativeTab);
|
||||||
|
|
||||||
|
// Schematics
|
||||||
|
|
||||||
|
static {
|
||||||
|
REGISTRATE.startSection(MATERIALS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ItemEntry<Item>
|
||||||
|
COPPER_NUGGET = taggedIngredient("copper_nugget", forgeItemTag("nuggets/copper")),
|
||||||
|
ZINC_NUGGET = taggedIngredient("zinc_nugget", forgeItemTag("nuggets/zinc")),
|
||||||
|
BRASS_NUGGET = taggedIngredient("brass_nugget", forgeItemTag("nuggets/brass")),
|
||||||
|
|
||||||
|
COPPER_SHEET = taggedIngredient("copper_sheet", forgeItemTag("plates/copper")),
|
||||||
|
BRASS_SHEET = taggedIngredient("brass_sheet", forgeItemTag("plates/brass")),
|
||||||
|
IRON_SHEET = taggedIngredient("iron_sheet", forgeItemTag("plates/iron")),
|
||||||
|
GOLDEN_SHEET = taggedIngredient("golden_sheet", forgeItemTag("plates/gold")),
|
||||||
|
LAPIS_SHEET = ingredient("lapis_sheet"),
|
||||||
|
|
||||||
|
CRUSHED_IRON = ingredient("crushed_iron_ore"),
|
||||||
|
CRUSHED_GOLD = ingredient("crushed_gold_ore"),
|
||||||
|
CRUSHED_COPPER = ingredient("crushed_copper_ore"),
|
||||||
|
CRUSHED_ZINC = ingredient("crushed_zinc_ore"),
|
||||||
|
CRUSHED_BRASS = ingredient("crushed_brass"),
|
||||||
|
|
||||||
|
ANDESITE_ALLOY = ingredient("andesite_alloy"),
|
||||||
|
COPPER_INGOT = taggedIngredient("copper_ingot", forgeItemTag("ingots/copper")),
|
||||||
|
ZINC_INGOT = taggedIngredient("zinc_ingot", forgeItemTag("ingots/zinc")),
|
||||||
|
BRASS_INGOT = taggedIngredient("brass_ingot", forgeItemTag("ingots/brass")),
|
||||||
|
|
||||||
|
WHEAT_FLOUR = ingredient("wheat_flour"),
|
||||||
|
DOUGH = ingredient("dough"),
|
||||||
|
POWDERED_OBSIDIAN = ingredient("powdered_obsidian"),
|
||||||
|
ROSE_QUARTZ = ingredient("rose_quartz"),
|
||||||
|
POLISHED_ROSE_QUARTZ = ingredient("polished_rose_quartz"),
|
||||||
|
PROPELLER = ingredient("propeller"),
|
||||||
|
WHISK = ingredient("whisk"),
|
||||||
|
BRASS_HAND = ingredient("brass_hand"),
|
||||||
|
CRAFTER_SLOT_COVER = ingredient("crafter_slot_cover");
|
||||||
|
|
||||||
|
public static final ItemEntry<ChromaticCompoundItem> CHROMATIC_COMPOUND =
|
||||||
|
REGISTRATE.item("chromatic_compound", ChromaticCompoundItem::new)
|
||||||
|
.properties(p -> p.rarity(Rarity.UNCOMMON))
|
||||||
|
.model(AssetLookup.existingItemModel())
|
||||||
|
.onRegister(CreateRegistrate.itemColors(() -> ChromaticCompoundColor::new))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<ShadowSteelItem> SHADOW_STEEL = REGISTRATE.item("shadow_steel", ShadowSteelItem::new)
|
||||||
|
.properties(p -> p.rarity(Rarity.UNCOMMON))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<RefinedRadianceItem> REFINED_RADIANCE =
|
||||||
|
REGISTRATE.item("refined_radiance", RefinedRadianceItem::new)
|
||||||
|
.properties(p -> p.rarity(Rarity.UNCOMMON))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<Item>
|
||||||
|
|
||||||
|
ELECTRON_TUBE = ingredient("electron_tube"), INTEGRATED_CIRCUIT = ingredient("integrated_circuit");
|
||||||
|
|
||||||
|
// Kinetics
|
||||||
|
|
||||||
|
static {
|
||||||
|
REGISTRATE.startSection(KINETICS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ItemEntry<BeltConnectorItem> BELT_CONNECTOR =
|
||||||
|
REGISTRATE.item("belt_connector", BeltConnectorItem::new)
|
||||||
|
.lang("Mechanical Belt")
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<VerticalGearboxItem> VERTICAL_GEARBOX = REGISTRATE.item("vertical_gearbox", VerticalGearboxItem::new)
|
||||||
|
.model(AssetLookup.customItemModel("gearbox", "item_vertical"))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SuperGlueItem> SUPER_GLUE = REGISTRATE.item("super_glue", SuperGlueItem::new)
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SandPaperItem> SAND_PAPER = REGISTRATE.item("sand_paper", SandPaperItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SandPaperItem> RED_SAND_PAPER = REGISTRATE.item("red_sand_paper", SandPaperItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> SandPaperModel::new))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<WrenchItem> WRENCH = REGISTRATE.item("wrench", WrenchItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> WrenchModel::new))
|
||||||
|
.model(AssetLookup.itemModelWithPartials())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<GogglesItem> GOGGLES = REGISTRATE.item("goggles", GogglesItem::new)
|
||||||
|
.model(AssetLookup.existingItemModel())
|
||||||
|
.lang("Engineer's Goggles")
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<MinecartContraptionItem> MINECART_CONTRAPTION =
|
||||||
|
REGISTRATE.item("minecart_contraption", MinecartContraptionItem::rideable)
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<MinecartContraptionItem> FURNACE_MINECART_CONTRAPTION =
|
||||||
|
REGISTRATE.item("furnace_minecart_contraption", MinecartContraptionItem::furnace)
|
||||||
|
.register();
|
||||||
|
|
||||||
|
// Logistics
|
||||||
|
|
||||||
|
static {
|
||||||
|
REGISTRATE.startSection(LOGISTICS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ItemEntry<FilterItem> FILTER = REGISTRATE.item("filter", FilterItem::regular)
|
||||||
|
.model(AssetLookup.existingItemModel())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<FilterItem> ATTRIBUTE_FILTER =
|
||||||
|
REGISTRATE.item("attribute_filter", FilterItem::attribute)
|
||||||
|
.model(AssetLookup.existingItemModel())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
// Curiosities
|
||||||
|
|
||||||
|
static {
|
||||||
|
REGISTRATE.startSection(CURIOSITIES);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ItemEntry<TreeFertilizerItem> TREE_FERTILIZER =
|
||||||
|
REGISTRATE.item("tree_fertilizer", TreeFertilizerItem::new)
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<BlockzapperItem> BLOCKZAPPER =
|
||||||
|
REGISTRATE.item("handheld_blockzapper", BlockzapperItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> BlockzapperModel::new))
|
||||||
|
.model(AssetLookup.itemModelWithPartials())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<WorldshaperItem> WORLDSHAPER =
|
||||||
|
REGISTRATE.item("handheld_worldshaper", WorldshaperItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> WorldshaperModel::new))
|
||||||
|
.model(AssetLookup.itemModelWithPartials())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<DeforesterItem> DEFORESTER = REGISTRATE.item("deforester", DeforesterItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> DeforesterModel::new))
|
||||||
|
.model(AssetLookup.itemModelWithPartials())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SymmetryWandItem> WAND_OF_SYMMETRY =
|
||||||
|
REGISTRATE.item("wand_of_symmetry", SymmetryWandItem::new)
|
||||||
|
.transform(CreateRegistrate.customRenderedItem(() -> SymmetryWandModel::new))
|
||||||
|
.model(AssetLookup.itemModelWithPartials())
|
||||||
|
.register();
|
||||||
|
|
||||||
|
// Schematics
|
||||||
|
|
||||||
|
static {
|
||||||
|
REGISTRATE.startSection(SCHEMATICS);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final ItemEntry<Item> EMPTY_SCHEMATIC = REGISTRATE.item("empty_schematic", Item::new)
|
||||||
|
.properties(p -> p.maxStackSize(1))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SchematicAndQuillItem> SCHEMATIC_AND_QUILL =
|
||||||
|
REGISTRATE.item("schematic_and_quill", SchematicAndQuillItem::new)
|
||||||
|
.properties(p -> p.maxStackSize(1))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
public static final ItemEntry<SchematicItem> SCHEMATIC = REGISTRATE.item("schematic", SchematicItem::new)
|
||||||
|
.properties(p -> p.maxStackSize(1))
|
||||||
|
.register();
|
||||||
|
|
||||||
|
// Shortcuts
|
||||||
|
|
||||||
|
private static ItemEntry<Item> ingredient(String name) {
|
||||||
|
return REGISTRATE.item(name, Item::new)
|
||||||
|
.register();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ItemEntry<Item> taggedIngredient(String name, Tag<Item> tag) {
|
||||||
|
return REGISTRATE.item(name, Item::new)
|
||||||
|
.tag(tag)
|
||||||
|
.register();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper
|
||||||
|
|
||||||
|
public static boolean typeOf(ItemEntry<?> entry, ItemStack stack) {
|
||||||
|
return stack != null && stack.getItem() == entry.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load this class
|
||||||
|
|
||||||
|
public static void register() {}
|
||||||
|
|
||||||
|
}
|
|
@ -9,8 +9,8 @@ import java.util.IdentityHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.simibubi.create.content.palettes.PaletteBlockPatterns;
|
import com.simibubi.create.content.palettes.PaletteBlockPatterns;
|
||||||
import com.simibubi.create.content.palettes.PaletteStoneVariants;
|
|
||||||
import com.simibubi.create.content.palettes.PaletteBlockPatterns.CTs;
|
import com.simibubi.create.content.palettes.PaletteBlockPatterns.CTs;
|
||||||
|
import com.simibubi.create.content.palettes.PaletteStoneVariants;
|
||||||
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
||||||
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
|
import com.simibubi.create.foundation.block.connected.CTSpriteShifter.CTType;
|
||||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||||
|
|
65
src/main/java/com/simibubi/create/AllTags.java
Normal file
65
src/main/java/com/simibubi/create/AllTags.java
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
|
import com.tterrag.registrate.builders.ItemBuilder;
|
||||||
|
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.item.BlockItem;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.tags.ItemTags;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
|
import net.minecraft.tags.TagCollection;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
public class AllTags {
|
||||||
|
|
||||||
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, ItemBuilder<BlockItem, BlockBuilder<T, P>>> tagBlockAndItem(
|
||||||
|
String tagName) {
|
||||||
|
return b -> b.tag(forgeBlockTag(tagName))
|
||||||
|
.item()
|
||||||
|
.tag(forgeItemTag(tagName));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Tag<Block> forgeBlockTag(String name) {
|
||||||
|
return forgeTag(BlockTags.getCollection(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Tag<Item> forgeItemTag(String name) {
|
||||||
|
return forgeTag(ItemTags.getCollection(), name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> Tag<T> forgeTag(TagCollection<T> collection, String name) {
|
||||||
|
return tag(collection, "forge", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> Tag<T> tag(TagCollection<T> collection, String domain, String name) {
|
||||||
|
return collection.getOrCreate(new ResourceLocation(domain, name));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static enum AllItemTags {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static enum AllBlockTags {
|
||||||
|
WINDMILL_SAILS, FAN_HEATERS, WINDOWABLE,;
|
||||||
|
public Tag<Block> tag;
|
||||||
|
|
||||||
|
private AllBlockTags() {
|
||||||
|
this("");
|
||||||
|
}
|
||||||
|
|
||||||
|
private AllBlockTags(String path) {
|
||||||
|
tag = new BlockTags.Wrapper(
|
||||||
|
new ResourceLocation(Create.ID, (path.isEmpty() ? "" : path + "/") + Lang.asId(name())));
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean matches(BlockState block) {
|
||||||
|
return tag.contains(block.getBlock());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -4,22 +4,22 @@ import java.util.function.Function;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.actors.DrillTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.actors.DrillRenderer;
|
import com.simibubi.create.content.contraptions.components.actors.DrillRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.components.actors.DrillTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.actors.HarvesterRenderer;
|
import com.simibubi.create.content.contraptions.components.actors.HarvesterRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity;
|
import com.simibubi.create.content.contraptions.components.actors.HarvesterTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.clock.CuckooClockRenderer;
|
import com.simibubi.create.content.contraptions.components.clock.CuckooClockRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity;
|
import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterRenderer;
|
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.crank.HandCrankTileEntity;
|
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.crank.HandCrankRenderer;
|
import com.simibubi.create.content.contraptions.components.crank.HandCrankRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.components.crank.HandCrankTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerTileEntity;
|
import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelControllerTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelTileEntity;
|
import com.simibubi.create.content.contraptions.components.crusher.CrushingWheelTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.deployer.DeployerRenderer;
|
import com.simibubi.create.content.contraptions.components.deployer.DeployerRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.fan.EncasedFanTileEntity;
|
import com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.fan.EncasedFanRenderer;
|
import com.simibubi.create.content.contraptions.components.fan.EncasedFanRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.components.fan.EncasedFanTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.fan.NozzleTileEntity;
|
import com.simibubi.create.content.contraptions.components.fan.NozzleTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.flywheel.FlywheelRenderer;
|
import com.simibubi.create.content.contraptions.components.flywheel.FlywheelRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.flywheel.FlywheelTileEntity;
|
import com.simibubi.create.content.contraptions.components.flywheel.FlywheelTileEntity;
|
||||||
|
@ -27,49 +27,49 @@ import com.simibubi.create.content.contraptions.components.flywheel.engine.Engin
|
||||||
import com.simibubi.create.content.contraptions.components.flywheel.engine.FurnaceEngineTileEntity;
|
import com.simibubi.create.content.contraptions.components.flywheel.engine.FurnaceEngineTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.millstone.MillstoneRenderer;
|
import com.simibubi.create.content.contraptions.components.millstone.MillstoneRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.millstone.MillstoneTileEntity;
|
import com.simibubi.create.content.contraptions.components.millstone.MillstoneTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerRenderer;
|
import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity;
|
import com.simibubi.create.content.contraptions.components.mixer.MechanicalMixerTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorRenderer;
|
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
|
import com.simibubi.create.content.contraptions.components.motor.CreativeMotorTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.press.MechanicalPressRenderer;
|
import com.simibubi.create.content.contraptions.components.press.MechanicalPressRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.saw.SawTileEntity;
|
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.saw.SawRenderer;
|
import com.simibubi.create.content.contraptions.components.saw.SawRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.components.saw.SawTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingRenderer;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkBearingTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyRenderer;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.turntable.TurntableTileEntity;
|
import com.simibubi.create.content.contraptions.components.turntable.TurntableTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelTileEntity;
|
import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.processing.BasinTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.processing.BasinRenderer;
|
import com.simibubi.create.content.contraptions.processing.BasinRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.processing.BasinTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerRenderer;
|
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
|
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftTileEntity;
|
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltRenderer;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity;
|
import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyTileEntity;
|
import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.ClutchTileEntity;
|
import com.simibubi.create.content.contraptions.relays.encased.ClutchTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftRenderer;
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftRenderer;
|
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeRenderer;
|
import com.simibubi.create.content.contraptions.relays.gauge.GaugeRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity;
|
import com.simibubi.create.content.contraptions.relays.gauge.SpeedGaugeTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity;
|
import com.simibubi.create.content.contraptions.relays.gauge.StressGaugeTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxRenderer;
|
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.gearbox.GearboxTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity;
|
import com.simibubi.create.content.contraptions.relays.gearbox.GearshiftTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverTileEntity;
|
|
||||||
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverRenderer;
|
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverRenderer;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity;
|
import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelRenderer;
|
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelRenderer;
|
||||||
|
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity;
|
import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterRenderer;
|
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterRenderer;
|
||||||
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterTileEntity;
|
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterTileEntity;
|
||||||
|
@ -78,8 +78,8 @@ import com.simibubi.create.content.logistics.block.extractor.LinkedExtractorTile
|
||||||
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateTileEntity;
|
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.inventories.CreativeCrateTileEntity;
|
import com.simibubi.create.content.logistics.block.inventories.CreativeCrateTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity;
|
|
||||||
import com.simibubi.create.content.logistics.block.redstone.AnalogLeverRenderer;
|
import com.simibubi.create.content.logistics.block.redstone.AnalogLeverRenderer;
|
||||||
|
import com.simibubi.create.content.logistics.block.redstone.AnalogLeverTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity;
|
import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity;
|
import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.transposer.LinkedTransposerTileEntity;
|
import com.simibubi.create.content.logistics.block.transposer.LinkedTransposerTileEntity;
|
||||||
|
|
|
@ -4,7 +4,6 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import com.simibubi.create.content.contraptions.KineticDebugger;
|
import com.simibubi.create.content.contraptions.KineticDebugger;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.turntable.TurntableHandler;
|
import com.simibubi.create.content.contraptions.components.turntable.TurntableHandler;
|
||||||
|
@ -17,7 +16,6 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.ActiveRenderInfo;
|
import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||||
import net.minecraft.client.renderer.Atlases;
|
|
||||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -74,9 +72,8 @@ public class ClientEvents {
|
||||||
.getBufferBuilders()
|
.getBufferBuilders()
|
||||||
.getEntityVertexConsumers();
|
.getEntityVertexConsumers();
|
||||||
|
|
||||||
CreateClient.schematicHandler.render(ms, buffer, 0xF000F0, OverlayTexture.DEFAULT_UV);
|
CreateClient.schematicHandler.render(ms, buffer);
|
||||||
CreateClient.outliner.renderOutlines(ms, buffer);
|
CreateClient.outliner.renderOutlines(ms, buffer);
|
||||||
KineticDebugger.renderSourceOutline(ms, buffer);
|
|
||||||
ms.pop();
|
ms.pop();
|
||||||
buffer.draw();
|
buffer.draw();
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import com.simibubi.create.foundation.advancement.AllAdvancements;
|
||||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||||
import com.simibubi.create.foundation.command.ServerLagger;
|
import com.simibubi.create.foundation.command.ServerLagger;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.data.AllItemsTagProvider;
|
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
import com.simibubi.create.foundation.data.LangMerger;
|
import com.simibubi.create.foundation.data.LangMerger;
|
||||||
import com.simibubi.create.foundation.networking.AllPackets;
|
import com.simibubi.create.foundation.networking.AllPackets;
|
||||||
|
@ -23,7 +22,6 @@ import com.tterrag.registrate.util.NonNullLazyValue;
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.data.DataGenerator;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.inventory.container.ContainerType;
|
import net.minecraft.inventory.container.ContainerType;
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemGroup;
|
import net.minecraft.item.ItemGroup;
|
||||||
import net.minecraft.item.crafting.IRecipeSerializer;
|
import net.minecraft.item.crafting.IRecipeSerializer;
|
||||||
import net.minecraft.particles.ParticleType;
|
import net.minecraft.particles.ParticleType;
|
||||||
|
@ -61,9 +59,9 @@ public class Create {
|
||||||
modEventBus.addListener(Create::init);
|
modEventBus.addListener(Create::init);
|
||||||
|
|
||||||
AllBlocks.register();
|
AllBlocks.register();
|
||||||
|
AllItemsNew.register();
|
||||||
AllPaletteBlocks.register();
|
AllPaletteBlocks.register();
|
||||||
|
|
||||||
modEventBus.addGenericListener(Item.class, AllItems::register);
|
|
||||||
modEventBus.addGenericListener(IRecipeSerializer.class, AllRecipeTypes::register);
|
modEventBus.addGenericListener(IRecipeSerializer.class, AllRecipeTypes::register);
|
||||||
modEventBus.addGenericListener(TileEntityType.class, AllTileEntities::register);
|
modEventBus.addGenericListener(TileEntityType.class, AllTileEntities::register);
|
||||||
modEventBus.addGenericListener(ContainerType.class, AllContainerTypes::register);
|
modEventBus.addGenericListener(ContainerType.class, AllContainerTypes::register);
|
||||||
|
@ -115,7 +113,6 @@ public class Create {
|
||||||
|
|
||||||
public void gatherData(GatherDataEvent event) {
|
public void gatherData(GatherDataEvent event) {
|
||||||
DataGenerator gen = event.getGenerator();
|
DataGenerator gen = event.getGenerator();
|
||||||
gen.addProvider(new AllItemsTagProvider(gen));
|
|
||||||
gen.addProvider(new AllAdvancements(gen));
|
gen.addProvider(new AllAdvancements(gen));
|
||||||
gen.addProvider(new LangMerger(gen));
|
gen.addProvider(new LangMerger(gen));
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,19 +5,22 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import com.simibubi.create.content.contraptions.KineticDebugger;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.ChassisRangeDisplay;
|
import com.simibubi.create.content.contraptions.components.structureMovement.ChassisRangeDisplay;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer;
|
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorHandler;
|
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorHandler;
|
||||||
import com.simibubi.create.content.curiosities.zapper.ZapperRenderHandler;
|
import com.simibubi.create.content.curiosities.zapper.ZapperRenderHandler;
|
||||||
import com.simibubi.create.content.curiosities.zapper.terrainzapper.TerrainZapperRenderHandler;
|
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperRenderHandler;
|
||||||
|
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperRenderHandler;
|
||||||
import com.simibubi.create.content.schematics.ClientSchematicLoader;
|
import com.simibubi.create.content.schematics.ClientSchematicLoader;
|
||||||
import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
|
import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
|
||||||
import com.simibubi.create.content.schematics.client.SchematicHandler;
|
import com.simibubi.create.content.schematics.client.SchematicHandler;
|
||||||
import com.simibubi.create.foundation.ResourceReloadHandler;
|
import com.simibubi.create.foundation.ResourceReloadHandler;
|
||||||
import com.simibubi.create.foundation.block.render.CustomBlockModels;
|
import com.simibubi.create.foundation.block.render.CustomBlockModels;
|
||||||
import com.simibubi.create.foundation.block.render.SpriteShifter;
|
import com.simibubi.create.foundation.block.render.SpriteShifter;
|
||||||
import com.simibubi.create.foundation.item.IHaveCustomItemModel;
|
import com.simibubi.create.foundation.item.CustomItemModels;
|
||||||
|
import com.simibubi.create.foundation.item.CustomRenderedItems;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction.EdgeInteractionRenderer;
|
import com.simibubi.create.foundation.tileEntity.behaviour.edgeInteraction.EdgeInteractionRenderer;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer;
|
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringRenderer;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer;
|
import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer;
|
||||||
|
@ -31,6 +34,7 @@ import net.minecraft.client.renderer.BlockModelShapes;
|
||||||
import net.minecraft.client.renderer.model.IBakedModel;
|
import net.minecraft.client.renderer.model.IBakedModel;
|
||||||
import net.minecraft.client.renderer.model.ModelResourceLocation;
|
import net.minecraft.client.renderer.model.ModelResourceLocation;
|
||||||
import net.minecraft.inventory.container.PlayerContainer;
|
import net.minecraft.inventory.container.PlayerContainer;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.resources.IReloadableResourceManager;
|
import net.minecraft.resources.IReloadableResourceManager;
|
||||||
import net.minecraft.resources.IResourceManager;
|
import net.minecraft.resources.IResourceManager;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
@ -53,6 +57,8 @@ public class CreateClient {
|
||||||
public static Outliner outliner;
|
public static Outliner outliner;
|
||||||
|
|
||||||
private static CustomBlockModels customBlockModels;
|
private static CustomBlockModels customBlockModels;
|
||||||
|
private static CustomItemModels customItemModels;
|
||||||
|
private static CustomRenderedItems customRenderedItems;
|
||||||
private static AllColorHandlers colorHandlers;
|
private static AllColorHandlers colorHandlers;
|
||||||
|
|
||||||
public static void addListeners(IEventBus modEventBus) {
|
public static void addListeners(IEventBus modEventBus) {
|
||||||
|
@ -78,7 +84,6 @@ public class CreateClient {
|
||||||
AllKeys.register();
|
AllKeys.register();
|
||||||
AllContainerTypes.registerScreenFactories();
|
AllContainerTypes.registerScreenFactories();
|
||||||
AllTileEntities.registerRenderers();
|
AllTileEntities.registerRenderers();
|
||||||
AllItems.registerColorHandlers();
|
|
||||||
AllEntityTypes.registerRenderers();
|
AllEntityTypes.registerRenderers();
|
||||||
getColorHandler().init();
|
getColorHandler().init();
|
||||||
|
|
||||||
|
@ -92,13 +97,15 @@ public class CreateClient {
|
||||||
schematicSender.tick();
|
schematicSender.tick();
|
||||||
schematicAndQuillHandler.tick();
|
schematicAndQuillHandler.tick();
|
||||||
schematicHandler.tick();
|
schematicHandler.tick();
|
||||||
BeltConnectorHandler.gameTick();
|
BeltConnectorHandler.tick();
|
||||||
FilteringRenderer.tick();
|
FilteringRenderer.tick();
|
||||||
LinkRenderer.tick();
|
LinkRenderer.tick();
|
||||||
ScrollValueRenderer.tick();
|
ScrollValueRenderer.tick();
|
||||||
ChassisRangeDisplay.tick();
|
ChassisRangeDisplay.tick();
|
||||||
EdgeInteractionRenderer.tick();
|
EdgeInteractionRenderer.tick();
|
||||||
TerrainZapperRenderHandler.tick();
|
WorldshaperRenderHandler.tick();
|
||||||
|
BlockzapperRenderHandler.tick();
|
||||||
|
KineticDebugger.tick();
|
||||||
ZapperRenderHandler.tick();
|
ZapperRenderHandler.tick();
|
||||||
outliner.tickOutlines();
|
outliner.tickOutlines();
|
||||||
}
|
}
|
||||||
|
@ -120,33 +127,26 @@ public class CreateClient {
|
||||||
|
|
||||||
getCustomBlockModels()
|
getCustomBlockModels()
|
||||||
.foreach((block, modelFunc) -> swapModels(modelRegistry, getAllBlockStateModelLocations(block), modelFunc));
|
.foreach((block, modelFunc) -> swapModels(modelRegistry, getAllBlockStateModelLocations(block), modelFunc));
|
||||||
|
getCustomItemModels()
|
||||||
// todo modelswap for item registrate
|
.foreach((item, modelFunc) -> swapModels(modelRegistry, getItemModelLocation(item), modelFunc));
|
||||||
for (AllItems item : AllItems.values()) {
|
getCustomRenderedItems().foreach((item, modelFunc) -> {
|
||||||
if (item.get() instanceof IHaveCustomItemModel)
|
swapModels(modelRegistry, getItemModelLocation(item), m -> modelFunc.apply(m)
|
||||||
swapModels(modelRegistry, getItemModelLocation(item),
|
.loadPartials(event));
|
||||||
m -> ((IHaveCustomItemModel) item.get()).createModel(m)
|
});
|
||||||
.loadPartials(event));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public static void onModelRegistry(ModelRegistryEvent event) {
|
public static void onModelRegistry(ModelRegistryEvent event) {
|
||||||
AllBlockPartials.onModelRegistry(event);
|
AllBlockPartials.onModelRegistry(event);
|
||||||
|
|
||||||
// Register submodels for custom rendered item models
|
getCustomRenderedItems().foreach((item, modelFunc) -> modelFunc.apply(null)
|
||||||
for (AllItems item : AllItems.values()) {
|
.getModelLocations()
|
||||||
if (item.get() instanceof IHaveCustomItemModel)
|
.forEach(ModelLoader::addSpecialModel));
|
||||||
((IHaveCustomItemModel) item.get()).createModel(null)
|
|
||||||
.getModelLocations()
|
|
||||||
.forEach(ModelLoader::addSpecialModel);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
protected static ModelResourceLocation getItemModelLocation(AllItems item) {
|
protected static ModelResourceLocation getItemModelLocation(Item item) {
|
||||||
return new ModelResourceLocation(item.get()
|
return new ModelResourceLocation(item.getRegistryName(), "inventory");
|
||||||
.getRegistryName(), "inventory");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
@ -165,12 +165,6 @@ public class CreateClient {
|
||||||
return new ModelResourceLocation(block.getRegistryName(), suffix);
|
return new ModelResourceLocation(block.getRegistryName(), suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
|
||||||
protected static <T extends IBakedModel> void swapModels(Map<ResourceLocation, IBakedModel> modelRegistry,
|
|
||||||
ModelResourceLocation location, Function<IBakedModel, T> factory) {
|
|
||||||
modelRegistry.put(location, factory.apply(modelRegistry.get(location)));
|
|
||||||
}
|
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
protected static <T extends IBakedModel> void swapModels(Map<ResourceLocation, IBakedModel> modelRegistry,
|
protected static <T extends IBakedModel> void swapModels(Map<ResourceLocation, IBakedModel> modelRegistry,
|
||||||
List<ModelResourceLocation> locations, Function<IBakedModel, T> factory) {
|
List<ModelResourceLocation> locations, Function<IBakedModel, T> factory) {
|
||||||
|
@ -179,6 +173,24 @@ public class CreateClient {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
protected static <T extends IBakedModel> void swapModels(Map<ResourceLocation, IBakedModel> modelRegistry,
|
||||||
|
ModelResourceLocation location, Function<IBakedModel, T> factory) {
|
||||||
|
modelRegistry.put(location, factory.apply(modelRegistry.get(location)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CustomItemModels getCustomItemModels() {
|
||||||
|
if (customItemModels == null)
|
||||||
|
customItemModels = new CustomItemModels();
|
||||||
|
return customItemModels;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CustomRenderedItems getCustomRenderedItems() {
|
||||||
|
if (customRenderedItems == null)
|
||||||
|
customRenderedItems = new CustomRenderedItems();
|
||||||
|
return customRenderedItems;
|
||||||
|
}
|
||||||
|
|
||||||
public static CustomBlockModels getCustomBlockModels() {
|
public static CustomBlockModels getCustomBlockModels() {
|
||||||
if (customBlockModels == null)
|
if (customBlockModels == null)
|
||||||
customBlockModels = new CustomBlockModels();
|
customBlockModels = new CustomBlockModels();
|
||||||
|
|
|
@ -5,16 +5,12 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllRecipeTypes;
|
import com.simibubi.create.AllRecipeTypes;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.compat.jei.category.BlastingViaFanCategory;
|
import com.simibubi.create.compat.jei.category.BlastingViaFanCategory;
|
||||||
import com.simibubi.create.compat.jei.category.BlockCuttingCategory;
|
import com.simibubi.create.compat.jei.category.BlockCuttingCategory;
|
||||||
import com.simibubi.create.compat.jei.category.BlockCuttingCategory.CondensedBlockCuttingRecipe;
|
import com.simibubi.create.compat.jei.category.BlockCuttingCategory.CondensedBlockCuttingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.components.mixer.MixingRecipe;
|
|
||||||
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
|
|
||||||
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateScreen;
|
|
||||||
import com.simibubi.create.content.schematics.block.SchematicannonScreen;
|
|
||||||
import com.simibubi.create.compat.jei.category.BlockzapperUpgradeCategory;
|
import com.simibubi.create.compat.jei.category.BlockzapperUpgradeCategory;
|
||||||
import com.simibubi.create.compat.jei.category.CrushingCategory;
|
import com.simibubi.create.compat.jei.category.CrushingCategory;
|
||||||
import com.simibubi.create.compat.jei.category.MechanicalCraftingCategory;
|
import com.simibubi.create.compat.jei.category.MechanicalCraftingCategory;
|
||||||
|
@ -27,6 +23,10 @@ import com.simibubi.create.compat.jei.category.PressingCategory;
|
||||||
import com.simibubi.create.compat.jei.category.SawingCategory;
|
import com.simibubi.create.compat.jei.category.SawingCategory;
|
||||||
import com.simibubi.create.compat.jei.category.SmokingViaFanCategory;
|
import com.simibubi.create.compat.jei.category.SmokingViaFanCategory;
|
||||||
import com.simibubi.create.compat.jei.category.SplashingCategory;
|
import com.simibubi.create.compat.jei.category.SplashingCategory;
|
||||||
|
import com.simibubi.create.content.contraptions.components.mixer.MixingRecipe;
|
||||||
|
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity;
|
||||||
|
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateScreen;
|
||||||
|
import com.simibubi.create.content.schematics.block.SchematicannonScreen;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
import mezz.jei.api.IModPlugin;
|
import mezz.jei.api.IModPlugin;
|
||||||
|
@ -91,7 +91,7 @@ public class CreateJEI implements IModPlugin {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerItemSubtypes(ISubtypeRegistration registration) {
|
public void registerItemSubtypes(ISubtypeRegistration registration) {
|
||||||
registration.useNbtForSubtypes(AllItems.PLACEMENT_HANDGUN.get());
|
registration.useNbtForSubtypes(AllItemsNew.BLOCKZAPPER.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -159,7 +159,7 @@ public class CreateJEI implements IModPlugin {
|
||||||
registration.addRecipeCatalyst(smokingFan, smokingCategory.getUid());
|
registration.addRecipeCatalyst(smokingFan, smokingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(blastingFan, blastingCategory.getUid());
|
registration.addRecipeCatalyst(blastingFan, blastingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_PRESS.get()), pressingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_PRESS.get()), pressingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllItems.PLACEMENT_HANDGUN.get()), blockzapperCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllItemsNew.BLOCKZAPPER.get()), blockzapperCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_MIXER.get()), mixingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_MIXER.get()), mixingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.BASIN.get()), mixingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.BASIN.get()), mixingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.SAW.get()), sawingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.SAW.get()), sawingCategory.getUid());
|
||||||
|
@ -167,8 +167,8 @@ public class CreateJEI implements IModPlugin {
|
||||||
registration.addRecipeCatalyst(new ItemStack(Blocks.STONECUTTER), blockCuttingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(Blocks.STONECUTTER), blockCuttingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_PRESS.get()), packingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_PRESS.get()), packingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(new ItemStack(AllBlocks.BASIN.get()), packingCategory.getUid());
|
registration.addRecipeCatalyst(new ItemStack(AllBlocks.BASIN.get()), packingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(AllItems.SAND_PAPER.asStack(), polishingCategory.getUid());
|
registration.addRecipeCatalyst(AllItemsNew.SAND_PAPER.asStack(), polishingCategory.getUid());
|
||||||
registration.addRecipeCatalyst(AllItems.RED_SAND_PAPER.asStack(), polishingCategory.getUid());
|
registration.addRecipeCatalyst(AllItemsNew.RED_SAND_PAPER.asStack(), polishingCategory.getUid());
|
||||||
registration
|
registration
|
||||||
.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_CRAFTER.get()),
|
.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_CRAFTER.get()),
|
||||||
mechanicalCraftingCategory.getUid());
|
mechanicalCraftingCategory.getUid());
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.compat.jei.category;
|
package com.simibubi.create.compat.jei.category;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
import com.simibubi.create.foundation.gui.GuiGameElement;
|
||||||
|
|
||||||
import net.minecraft.fluid.Fluids;
|
import net.minecraft.fluid.Fluids;
|
||||||
|
@ -11,7 +11,7 @@ import net.minecraft.item.crafting.AbstractCookingRecipe;
|
||||||
public class BlastingViaFanCategory extends ProcessingViaFanCategory<AbstractCookingRecipe> {
|
public class BlastingViaFanCategory extends ProcessingViaFanCategory<AbstractCookingRecipe> {
|
||||||
|
|
||||||
public BlastingViaFanCategory() {
|
public BlastingViaFanCategory() {
|
||||||
super("blasting_via_fan", doubleItemIcon(AllItems.PROPELLER.get(), Items.LAVA_BUCKET));
|
super("blasting_via_fan", doubleItemIcon(AllItemsNew.PROPELLER.get(), Items.LAVA_BUCKET));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.compat.jei.ScreenResourceWrapper;
|
import com.simibubi.create.compat.jei.ScreenResourceWrapper;
|
||||||
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperUpgradeRecipe;
|
import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperUpgradeRecipe;
|
||||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
import com.simibubi.create.foundation.gui.GuiGameElement;
|
||||||
|
@ -29,7 +29,7 @@ import net.minecraft.util.text.ITextComponent;
|
||||||
public class BlockzapperUpgradeCategory extends CreateRecipeCategory<BlockzapperUpgradeRecipe> {
|
public class BlockzapperUpgradeCategory extends CreateRecipeCategory<BlockzapperUpgradeRecipe> {
|
||||||
|
|
||||||
public BlockzapperUpgradeCategory() {
|
public BlockzapperUpgradeCategory() {
|
||||||
super("blockzapper_upgrade", itemIcon(AllItems.PLACEMENT_HANDGUN.get()),
|
super("blockzapper_upgrade", itemIcon(AllItemsNew.BLOCKZAPPER.get()),
|
||||||
new ScreenResourceWrapper(BLOCKZAPPER_UPGRADE_RECIPE));
|
new ScreenResourceWrapper(BLOCKZAPPER_UPGRADE_RECIPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.compat.jei.category.animations.AnimatedCrushingWheels;
|
import com.simibubi.create.compat.jei.category.animations.AnimatedCrushingWheels;
|
||||||
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
|
@ -20,7 +20,7 @@ public class CrushingCategory extends CreateRecipeCategory<AbstractCrushingRecip
|
||||||
private AnimatedCrushingWheels crushingWheels = new AnimatedCrushingWheels();
|
private AnimatedCrushingWheels crushingWheels = new AnimatedCrushingWheels();
|
||||||
|
|
||||||
public CrushingCategory() {
|
public CrushingCategory() {
|
||||||
super("crushing", doubleItemIcon(AllBlocks.CRUSHING_WHEEL.get(), AllItems.CRUSHED_GOLD.get()),
|
super("crushing", doubleItemIcon(AllBlocks.CRUSHING_WHEEL.get(), AllItemsNew.CRUSHED_GOLD.get()),
|
||||||
emptyBackground(177, 100));
|
emptyBackground(177, 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.compat.jei.category.animations.AnimatedMillstone;
|
import com.simibubi.create.compat.jei.category.animations.AnimatedMillstone;
|
||||||
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
import com.simibubi.create.content.contraptions.components.crusher.AbstractCrushingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
|
@ -20,7 +20,8 @@ public class MillingCategory extends CreateRecipeCategory<AbstractCrushingRecipe
|
||||||
private AnimatedMillstone millstone = new AnimatedMillstone();
|
private AnimatedMillstone millstone = new AnimatedMillstone();
|
||||||
|
|
||||||
public MillingCategory() {
|
public MillingCategory() {
|
||||||
super("milling", doubleItemIcon(AllBlocks.MILLSTONE.get(), AllItems.FLOUR.get()), emptyBackground(177, 53));
|
super("milling", doubleItemIcon(AllBlocks.MILLSTONE.get(), AllItemsNew.WHEAT_FLOUR.get()),
|
||||||
|
emptyBackground(177, 53));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -38,7 +39,9 @@ public class MillingCategory extends CreateRecipeCategory<AbstractCrushingRecipe
|
||||||
public void setRecipe(IRecipeLayout recipeLayout, AbstractCrushingRecipe recipe, IIngredients ingredients) {
|
public void setRecipe(IRecipeLayout recipeLayout, AbstractCrushingRecipe recipe, IIngredients ingredients) {
|
||||||
IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks();
|
IGuiItemStackGroup itemStacks = recipeLayout.getItemStacks();
|
||||||
itemStacks.init(0, true, 14, 8);
|
itemStacks.init(0, true, 14, 8);
|
||||||
itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks()));
|
itemStacks.set(0, Arrays.asList(recipe.getIngredients()
|
||||||
|
.get(0)
|
||||||
|
.getMatchingStacks()));
|
||||||
|
|
||||||
List<ProcessingOutput> results = recipe.getRollableResults();
|
List<ProcessingOutput> results = recipe.getRollableResults();
|
||||||
boolean single = results.size() == 1;
|
boolean single = results.size() == 1;
|
||||||
|
@ -47,7 +50,8 @@ public class MillingCategory extends CreateRecipeCategory<AbstractCrushingRecipe
|
||||||
int yOffset = (outputIndex / 2) * -19;
|
int yOffset = (outputIndex / 2) * -19;
|
||||||
|
|
||||||
itemStacks.init(outputIndex + 1, false, single ? 139 : 133 + xOffset, 27 + yOffset);
|
itemStacks.init(outputIndex + 1, false, single ? 139 : 133 + xOffset, 27 + yOffset);
|
||||||
itemStacks.set(outputIndex + 1, results.get(outputIndex).getStack());
|
itemStacks.set(outputIndex + 1, results.get(outputIndex)
|
||||||
|
.getStack());
|
||||||
}
|
}
|
||||||
|
|
||||||
addStochasticTooltip(itemStacks, results);
|
addStochasticTooltip(itemStacks, results);
|
||||||
|
@ -55,7 +59,8 @@ public class MillingCategory extends CreateRecipeCategory<AbstractCrushingRecipe
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(AbstractCrushingRecipe recipe, double mouseX, double mouseY) {
|
public void draw(AbstractCrushingRecipe recipe, double mouseX, double mouseY) {
|
||||||
int size = recipe.getPossibleOutputs().size();
|
int size = recipe.getPossibleOutputs()
|
||||||
|
.size();
|
||||||
|
|
||||||
AllGuiTextures.JEI_SLOT.draw(14, 8);
|
AllGuiTextures.JEI_SLOT.draw(14, 8);
|
||||||
AllGuiTextures.JEI_ARROW.draw(85, 32);
|
AllGuiTextures.JEI_ARROW.draw(85, 32);
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.compat.jei.ConversionRecipe;
|
import com.simibubi.create.compat.jei.ConversionRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
|
@ -18,13 +18,13 @@ public class MysteriousItemConversionCategory extends CreateRecipeCategory<Conve
|
||||||
|
|
||||||
public static List<ConversionRecipe> getRecipes() {
|
public static List<ConversionRecipe> getRecipes() {
|
||||||
List<ConversionRecipe> recipes = new ArrayList<>();
|
List<ConversionRecipe> recipes = new ArrayList<>();
|
||||||
recipes.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.SHADOW_STEEL.asStack()));
|
recipes.add(ConversionRecipe.create(AllItemsNew.CHROMATIC_COMPOUND.asStack(), AllItemsNew.SHADOW_STEEL.asStack()));
|
||||||
recipes.add(ConversionRecipe.create(AllItems.CHROMATIC_COMPOUND.asStack(), AllItems.REFINED_RADIANCE.asStack()));
|
recipes.add(ConversionRecipe.create(AllItemsNew.CHROMATIC_COMPOUND.asStack(), AllItemsNew.REFINED_RADIANCE.asStack()));
|
||||||
return recipes;
|
return recipes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MysteriousItemConversionCategory() {
|
public MysteriousItemConversionCategory() {
|
||||||
super("mystery_conversion", itemIcon(AllItems.CHROMATIC_COMPOUND.get()), emptyBackground(177, 50));
|
super("mystery_conversion", itemIcon(AllItemsNew.CHROMATIC_COMPOUND.get()), emptyBackground(177, 50));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
|
@ -25,8 +25,8 @@ public class PolishingCategory extends CreateRecipeCategory<SandPaperPolishingRe
|
||||||
private ItemStack renderedSandpaper;
|
private ItemStack renderedSandpaper;
|
||||||
|
|
||||||
public PolishingCategory() {
|
public PolishingCategory() {
|
||||||
super("sandpaper_polishing", itemIcon(AllItems.SAND_PAPER.get()), emptyBackground(177, 55));
|
super("sandpaper_polishing", itemIcon(AllItemsNew.SAND_PAPER.get()), emptyBackground(177, 55));
|
||||||
renderedSandpaper = AllItems.SAND_PAPER.asStack();
|
renderedSandpaper = AllItemsNew.SAND_PAPER.asStack();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.compat.jei.category.animations.AnimatedPress;
|
import com.simibubi.create.compat.jei.category.animations.AnimatedPress;
|
||||||
import com.simibubi.create.content.contraptions.components.press.PressingRecipe;
|
import com.simibubi.create.content.contraptions.components.press.PressingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
|
@ -20,7 +20,7 @@ public class PressingCategory extends CreateRecipeCategory<PressingRecipe> {
|
||||||
private AnimatedPress press = new AnimatedPress(false);
|
private AnimatedPress press = new AnimatedPress(false);
|
||||||
|
|
||||||
public PressingCategory() {
|
public PressingCategory() {
|
||||||
super("pressing", doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), AllItems.IRON_SHEET.get()),
|
super("pressing", doubleItemIcon(AllBlocks.MECHANICAL_PRESS.get(), AllItemsNew.IRON_SHEET.get()),
|
||||||
emptyBackground(177, 70));
|
emptyBackground(177, 70));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.compat.jei.category;
|
package com.simibubi.create.compat.jei.category;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
import com.simibubi.create.foundation.gui.GuiGameElement;
|
||||||
|
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
|
@ -10,7 +10,7 @@ import net.minecraft.item.crafting.SmokingRecipe;
|
||||||
public class SmokingViaFanCategory extends ProcessingViaFanCategory<SmokingRecipe> {
|
public class SmokingViaFanCategory extends ProcessingViaFanCategory<SmokingRecipe> {
|
||||||
|
|
||||||
public SmokingViaFanCategory() {
|
public SmokingViaFanCategory() {
|
||||||
super("smoking_via_fan", doubleItemIcon(AllItems.PROPELLER.get(), Items.BLAZE_POWDER));
|
super("smoking_via_fan", doubleItemIcon(AllItemsNew.PROPELLER.get(), Items.BLAZE_POWDER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
|
import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
|
@ -20,7 +20,7 @@ import net.minecraft.item.Items;
|
||||||
public class SplashingCategory extends ProcessingViaFanCategory<SplashingRecipe> {
|
public class SplashingCategory extends ProcessingViaFanCategory<SplashingRecipe> {
|
||||||
|
|
||||||
public SplashingCategory() {
|
public SplashingCategory() {
|
||||||
super("splashing", doubleItemIcon(AllItems.PROPELLER.get(), Items.WATER_BUCKET));
|
super("splashing", doubleItemIcon(AllItemsNew.PROPELLER.get(), Items.WATER_BUCKET));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.simibubi.create.content;
|
package com.simibubi.create.content;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
import com.simibubi.create.foundation.item.ItemDescription.Palette;
|
||||||
|
|
||||||
|
@ -52,14 +51,13 @@ public enum AllSections {
|
||||||
}
|
}
|
||||||
|
|
||||||
static AllSections ofItem(Item item) {
|
static AllSections ofItem(Item item) {
|
||||||
for (AllItems allItems : AllItems.values())
|
return Create.registrate()
|
||||||
if (allItems.get() == item)
|
.getSection(item);
|
||||||
return allItems.section;
|
|
||||||
return UNASSIGNED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static AllSections ofBlock(Block block) {
|
static AllSections ofBlock(Block block) {
|
||||||
return Create.registrate().getSection(block);
|
return Create.registrate()
|
||||||
|
.getSection(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
package com.simibubi.create.content.contraptions;
|
package com.simibubi.create.content.contraptions;
|
||||||
|
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.simibubi.create.CreateClient;
|
||||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
|
||||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
|
import com.simibubi.create.foundation.utility.ColorHelper;
|
||||||
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.WorldRenderer;
|
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.Direction;
|
||||||
import net.minecraft.util.Direction.Axis;
|
import net.minecraft.util.Direction.Axis;
|
||||||
|
import net.minecraft.util.Direction.AxisDirection;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.BlockRayTraceResult;
|
import net.minecraft.util.math.BlockRayTraceResult;
|
||||||
import net.minecraft.util.math.RayTraceResult;
|
import net.minecraft.util.math.RayTraceResult;
|
||||||
import net.minecraft.util.math.Vec3i;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.util.math.shapes.VoxelShape;
|
import net.minecraft.util.math.shapes.VoxelShape;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class KineticDebugger {
|
public class KineticDebugger {
|
||||||
|
|
||||||
public static void renderSourceOutline(MatrixStack ms, IRenderTypeBuffer buffer) {
|
public static void tick() {
|
||||||
if (!isActive())
|
if (!isActive())
|
||||||
return;
|
return;
|
||||||
KineticTileEntity te = getSelectedTE();
|
KineticTileEntity te = getSelectedTE();
|
||||||
|
@ -33,39 +33,24 @@ public class KineticDebugger {
|
||||||
World world = Minecraft.getInstance().world;
|
World world = Minecraft.getInstance().world;
|
||||||
BlockPos toOutline = te.hasSource() ? te.source : te.getPos();
|
BlockPos toOutline = te.hasSource() ? te.source : te.getPos();
|
||||||
BlockState state = te.getBlockState();
|
BlockState state = te.getBlockState();
|
||||||
VoxelShape shape = world.getBlockState(toOutline).getShape(world, toOutline);
|
VoxelShape shape = world.getBlockState(toOutline)
|
||||||
|
.getRenderShape(world, toOutline);
|
||||||
|
|
||||||
IVertexBuilder vb = buffer.getBuffer(RenderType.getLines());
|
if (te.getTheoreticalSpeed() != 0)
|
||||||
|
CreateClient.outliner.chaseAABB("kineticSource", shape.getBoundingBox()
|
||||||
ms.push();
|
.offset(toOutline))
|
||||||
ms.translate(toOutline.getX(), toOutline.getY(), toOutline.getZ());
|
.lineWidth(1 / 16f)
|
||||||
float f = 1 + 1 / 128f;
|
.colored(te.hasSource() ? ColorHelper.colorFromLong(te.network) : 0xffcc00);
|
||||||
ms.scale(f, f, f);
|
|
||||||
|
|
||||||
WorldRenderer.func_228431_a_(ms, vb, shape, 0, 0, 0, te.hasSource() ? .5f : 1, .75f, .75f, 1);
|
|
||||||
|
|
||||||
Vec3i offset = te.getPos().subtract(toOutline);
|
|
||||||
ms.translate(offset.getX(), offset.getY(), offset.getZ());
|
|
||||||
|
|
||||||
if (state.getBlock() instanceof IRotate) {
|
if (state.getBlock() instanceof IRotate) {
|
||||||
Axis axis = ((IRotate)state.getBlock()).getRotationAxis(state);
|
Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||||
switch (axis) {
|
Vec3d vec = new Vec3d(Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis)
|
||||||
case X:
|
.getDirectionVec());
|
||||||
vb.vertex(ms.peek().getModel(), 0, 0.5f, 0.5f).color(1f, 1f, 1f, 1f).endVertex();
|
Vec3d center = VecHelper.getCenterOf(te.getPos());
|
||||||
vb.vertex(ms.peek().getModel(), 1, 0.5f, 0.5f).color(1f, 1f, 1f, 1f).endVertex();
|
CreateClient.outliner.showLine("rotationAxis", center.add(vec), center.subtract(vec))
|
||||||
break;
|
.lineWidth(1 / 16f);
|
||||||
case Y:
|
|
||||||
vb.vertex(ms.peek().getModel(), 0.5f, 0, 0.5f).color(1f, 1f, 1f, 1f).endVertex();
|
|
||||||
vb.vertex(ms.peek().getModel(), 0.5f, 1, 0.5f).color(1f, 1f, 1f, 1f).endVertex();
|
|
||||||
break;
|
|
||||||
case Z:
|
|
||||||
vb.vertex(ms.peek().getModel(), 0.5f, 0.5f, 0).color(1f, 1f, 1f, 1f).endVertex();
|
|
||||||
vb.vertex(ms.peek().getModel(), 0.5f, 0.5f, 1).color(1f, 1f, 1f, 1f).endVertex();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ms.pop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isActive() {
|
public static boolean isActive() {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.content.contraptions.components.crafter;
|
package com.simibubi.create.content.contraptions.components.crafter;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
|
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
|
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
|
||||||
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase;
|
import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase;
|
||||||
|
@ -109,7 +109,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
|
||||||
MechanicalCrafterTileEntity crafter = CrafterHelper.getCrafter(worldIn, pos);
|
MechanicalCrafterTileEntity crafter = CrafterHelper.getCrafter(worldIn, pos);
|
||||||
if (crafter != null) {
|
if (crafter != null) {
|
||||||
if (crafter.covered)
|
if (crafter.covered)
|
||||||
Block.spawnAsEntity(worldIn, pos, AllItems.SLOT_COVER.asStack());
|
Block.spawnAsEntity(worldIn, pos, AllItemsNew.CRAFTER_SLOT_COVER.asStack());
|
||||||
crafter.ejectWholeGrid();
|
crafter.ejectWholeGrid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
|
||||||
if (!(te instanceof MechanicalCrafterTileEntity))
|
if (!(te instanceof MechanicalCrafterTileEntity))
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
MechanicalCrafterTileEntity crafter = (MechanicalCrafterTileEntity) te;
|
MechanicalCrafterTileEntity crafter = (MechanicalCrafterTileEntity) te;
|
||||||
boolean wrenched = AllItems.WRENCH.typeOf(heldItem);
|
boolean wrenched = AllItemsNew.typeOf(AllItemsNew.WRENCH, heldItem);
|
||||||
|
|
||||||
if (hit.getFace() == state.get(HORIZONTAL_FACING)) {
|
if (hit.getFace() == state.get(HORIZONTAL_FACING)) {
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
|
||||||
if (worldIn.isRemote)
|
if (worldIn.isRemote)
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
|
|
||||||
if (AllItems.SLOT_COVER.typeOf(heldItem)) {
|
if (AllItemsNew.typeOf(AllItemsNew.CRAFTER_SLOT_COVER, heldItem)) {
|
||||||
if (crafter.covered)
|
if (crafter.covered)
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
crafter.covered = true;
|
crafter.covered = true;
|
||||||
|
@ -216,7 +216,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
|
||||||
crafter.markDirty();
|
crafter.markDirty();
|
||||||
crafter.sendData();
|
crafter.sendData();
|
||||||
if (!player.isCreative())
|
if (!player.isCreative())
|
||||||
player.inventory.placeItemBackInInventory(worldIn, AllItems.SLOT_COVER.asStack());
|
player.inventory.placeItemBackInInventory(worldIn, AllItemsNew.CRAFTER_SLOT_COVER.asStack());
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
}
|
}
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
|
@ -233,11 +233,6 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock implements IT
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override // TODO 1.15 register layer
|
|
||||||
// public BlockRenderLayer getRenderLayer() {
|
|
||||||
// return BlockRenderLayer.CUTOUT_MIPPED;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getParticleTargetRadius() {
|
public float getParticleTargetRadius() {
|
||||||
return .85f;
|
return .85f;
|
||||||
|
|
|
@ -9,7 +9,7 @@ import java.util.List;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllTileEntities;
|
import com.simibubi.create.AllTileEntities;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
|
import com.simibubi.create.content.contraptions.components.crafter.ConnectedInputHandler.ConnectedInput;
|
||||||
|
@ -98,7 +98,7 @@ public class MechanicalCrafterTileEntity extends KineticTileEntity {
|
||||||
inserting = new InsertingBehaviour(this, Attachments.toward(this::getTargetFacing));
|
inserting = new InsertingBehaviour(this, Attachments.toward(this::getTargetFacing));
|
||||||
connectivity = new EdgeInteractionBehaviour(this, ConnectedInputHandler::toggleConnection)
|
connectivity = new EdgeInteractionBehaviour(this, ConnectedInputHandler::toggleConnection)
|
||||||
.connectivity(ConnectedInputHandler::shouldConnect)
|
.connectivity(ConnectedInputHandler::shouldConnect)
|
||||||
.require(AllItems.WRENCH.get());
|
.require(AllItemsNew.WRENCH.get());
|
||||||
behaviours.add(inserting);
|
behaviours.add(inserting);
|
||||||
behaviours.add(connectivity);
|
behaviours.add(connectivity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,11 +172,6 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock implements ITE
|
||||||
return face.getAxis() == state.get(AXIS);
|
return face.getAxis() == state.get(AXIS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override // TODO 1.15 register layer
|
|
||||||
// public BlockRenderLayer getRenderLayer() {
|
|
||||||
// return BlockRenderLayer.CUTOUT;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasStaticPart() {
|
protected boolean hasStaticPart() {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.components.deployer;
|
package com.simibubi.create.content.contraptions.components.deployer;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllShapes;
|
import com.simibubi.create.AllShapes;
|
||||||
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
|
import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.IPortableBlock;
|
||||||
|
@ -24,8 +24,7 @@ import net.minecraft.util.math.shapes.VoxelShape;
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockReader;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class DeployerBlock extends DirectionalAxisKineticBlock
|
public class DeployerBlock extends DirectionalAxisKineticBlock implements ITE<DeployerTileEntity>, IPortableBlock {
|
||||||
implements ITE<DeployerTileEntity>, IPortableBlock {
|
|
||||||
|
|
||||||
public static MovementBehaviour MOVEMENT = new DeployerMovementBehaviour();
|
public static MovementBehaviour MOVEMENT = new DeployerMovementBehaviour();
|
||||||
|
|
||||||
|
@ -82,9 +81,10 @@ public class DeployerBlock extends DirectionalAxisKineticBlock
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn,
|
public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn,
|
||||||
BlockRayTraceResult hit) {
|
BlockRayTraceResult hit) {
|
||||||
ItemStack heldByPlayer = player.getHeldItem(handIn).copy();
|
ItemStack heldByPlayer = player.getHeldItem(handIn)
|
||||||
if (AllItems.WRENCH.typeOf(heldByPlayer))
|
.copy();
|
||||||
|
if (AllItemsNew.typeOf(AllItemsNew.WRENCH, heldByPlayer))
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
|
|
||||||
if (hit.getFace() != state.get(FACING))
|
if (hit.getFace() != state.get(FACING))
|
||||||
|
@ -93,7 +93,8 @@ public class DeployerBlock extends DirectionalAxisKineticBlock
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
|
|
||||||
withTileEntityDo(worldIn, pos, te -> {
|
withTileEntityDo(worldIn, pos, te -> {
|
||||||
ItemStack heldByDeployer = te.player.getHeldItemMainhand().copy();
|
ItemStack heldByDeployer = te.player.getHeldItemMainhand()
|
||||||
|
.copy();
|
||||||
if (heldByDeployer.isEmpty() && heldByPlayer.isEmpty())
|
if (heldByDeployer.isEmpty() && heldByPlayer.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -67,11 +67,6 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
|
||||||
return newState;
|
return newState;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override // TODO 1.15 register layer
|
|
||||||
// public BlockRenderLayer getRenderLayer() {
|
|
||||||
// return BlockRenderLayer.CUTOUT;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Axis getRotationAxis(BlockState state) {
|
public Axis getRotationAxis(BlockState state) {
|
||||||
return state.get(FACING).getAxis();
|
return state.get(FACING).getAxis();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.components.fan;
|
package com.simibubi.create.content.contraptions.components.fan;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlockTags;
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
import com.simibubi.create.AllTileEntities;
|
import com.simibubi.create.AllTileEntities;
|
||||||
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
|
|
|
@ -45,11 +45,6 @@ public class MechanicalMixerBlock extends KineticBlock implements ITE<Mechanical
|
||||||
return AllShapes.MECHANICAL_PROCESSOR_SHAPE;
|
return AllShapes.MECHANICAL_PROCESSOR_SHAPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override // TODO 1.15 register layer
|
|
||||||
// public BlockRenderLayer getRenderLayer() {
|
|
||||||
// return BlockRenderLayer.CUTOUT_MIPPED;
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Axis getRotationAxis(BlockState state) {
|
public Axis getRotationAxis(BlockState state) {
|
||||||
return Axis.Y;
|
return Axis.Y;
|
||||||
|
|
|
@ -6,10 +6,10 @@ import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllRecipeTypes;
|
import com.simibubi.create.AllRecipeTypes;
|
||||||
|
import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInputInventory;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingIngredient;
|
import com.simibubi.create.content.contraptions.processing.ProcessingIngredient;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
import com.simibubi.create.content.contraptions.processing.ProcessingOutput;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
|
import com.simibubi.create.content.contraptions.processing.ProcessingRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInputInventory;
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
|
|
@ -8,11 +8,11 @@ import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllShapes;
|
import com.simibubi.create.AllShapes;
|
||||||
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
|
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity.Mode;
|
import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity.Mode;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
|
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.BeltAttachmentState;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.IBeltAttachment;
|
import com.simibubi.create.content.contraptions.relays.belt.AllBeltAttachments.IBeltAttachment;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Slope;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock.Slope;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
|
import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack;
|
||||||
import com.simibubi.create.foundation.block.ITE;
|
import com.simibubi.create.foundation.block.ITE;
|
||||||
import com.simibubi.create.foundation.item.ItemHelper;
|
import com.simibubi.create.foundation.item.ItemHelper;
|
||||||
|
|
|
@ -15,9 +15,9 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
|
import com.simibubi.create.content.logistics.block.AttachedLogisticalBlock;
|
||||||
import com.simibubi.create.content.logistics.block.extractor.ExtractorBlock;
|
import com.simibubi.create.content.logistics.block.extractor.ExtractorBlock;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.FunnelBlock;
|
import com.simibubi.create.content.logistics.block.funnel.FunnelBlock;
|
||||||
|
|
|
@ -10,7 +10,7 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.mojang.datafixers.util.Pair;
|
import com.mojang.datafixers.util.Pair;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllKeys;
|
import com.simibubi.create.AllKeys;
|
||||||
import com.simibubi.create.AllSpecialTextures;
|
import com.simibubi.create.AllSpecialTextures;
|
||||||
import com.simibubi.create.CreateClient;
|
import com.simibubi.create.CreateClient;
|
||||||
|
@ -90,7 +90,7 @@ public class ChassisRangeDisplay {
|
||||||
public static void tick() {
|
public static void tick() {
|
||||||
PlayerEntity player = Minecraft.getInstance().player;
|
PlayerEntity player = Minecraft.getInstance().player;
|
||||||
World world = Minecraft.getInstance().world;
|
World world = Minecraft.getInstance().world;
|
||||||
boolean hasWrench = AllItems.WRENCH.typeOf(player.getHeldItemMainhand());
|
boolean hasWrench = AllItemsNew.typeOf(AllItemsNew.WRENCH, player.getHeldItemMainhand());
|
||||||
|
|
||||||
for (Iterator<BlockPos> iterator = entries.keySet()
|
for (Iterator<BlockPos> iterator = entries.keySet()
|
||||||
.iterator(); iterator.hasNext();) {
|
.iterator(); iterator.hasNext();) {
|
||||||
|
|
|
@ -28,12 +28,12 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueHandler;
|
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueHandler;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonBlock.PistonState;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.MagnetBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock.RopeBlock;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||||
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
|
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock;
|
import com.simibubi.create.content.logistics.block.redstone.RedstoneContactBlock;
|
||||||
|
|
|
@ -12,8 +12,8 @@ import org.apache.commons.lang3.tuple.MutablePair;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.simibubi.create.AllEntityTypes;
|
import com.simibubi.create.AllEntityTypes;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption;
|
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode;
|
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity.CartMovementMode;
|
||||||
|
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.LinearActuatorTileEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.LinearActuatorTileEntity;
|
||||||
import com.simibubi.create.foundation.item.ItemHelper;
|
import com.simibubi.create.foundation.item.ItemHelper;
|
||||||
import com.simibubi.create.foundation.networking.AllPackets;
|
import com.simibubi.create.foundation.networking.AllPackets;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlockTags;
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.AllContraptionTypes;
|
import com.simibubi.create.content.contraptions.components.structureMovement.AllContraptionTypes;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.chassis;
|
package com.simibubi.create.content.contraptions.components.structureMovement.chassis;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllSoundEvents;
|
import com.simibubi.create.AllSoundEvents;
|
||||||
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
|
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
|
||||||
|
|
||||||
|
@ -42,12 +42,13 @@ public abstract class AbstractChassisBlock extends RotatedPillarBlock implements
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn,
|
public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn,
|
||||||
BlockRayTraceResult hit) {
|
BlockRayTraceResult hit) {
|
||||||
if (!player.isAllowEdit())
|
if (!player.isAllowEdit())
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
|
|
||||||
ItemStack heldItem = player.getHeldItem(handIn);
|
ItemStack heldItem = player.getHeldItem(handIn);
|
||||||
boolean isSlimeBall = heldItem.getItem().isIn(Tags.Items.SLIMEBALLS) || AllItems.SUPER_GLUE.typeOf(heldItem);
|
boolean isSlimeBall = heldItem.getItem()
|
||||||
|
.isIn(Tags.Items.SLIMEBALLS) || AllItemsNew.typeOf(AllItemsNew.SUPER_GLUE, heldItem);
|
||||||
|
|
||||||
BooleanProperty affectedSide = getGlueableSide(state, hit.getFace());
|
BooleanProperty affectedSide = getGlueableSide(state, hit.getFace());
|
||||||
if (affectedSide == null)
|
if (affectedSide == null)
|
||||||
|
|
|
@ -5,7 +5,7 @@ import javax.annotation.Nullable;
|
||||||
import org.apache.commons.lang3.Validate;
|
import org.apache.commons.lang3.Validate;
|
||||||
|
|
||||||
import com.simibubi.create.AllEntityTypes;
|
import com.simibubi.create.AllEntityTypes;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.AllSoundEvents;
|
import com.simibubi.create.AllSoundEvents;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits;
|
import com.simibubi.create.content.contraptions.components.structureMovement.BlockMovementTraits;
|
||||||
import com.simibubi.create.content.schematics.ISpecialEntityItemRequirement;
|
import com.simibubi.create.content.schematics.ISpecialEntityItemRequirement;
|
||||||
|
@ -225,7 +225,7 @@ public class SuperGlueEntity extends Entity implements IEntityAdditionalSpawnDat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack getPickedResult(RayTraceResult target) {
|
public ItemStack getPickedResult(RayTraceResult target) {
|
||||||
return AllItems.SUPER_GLUE.asStack();
|
return AllItemsNew.SUPER_GLUE.asStack();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -386,7 +386,7 @@ public class SuperGlueEntity extends Entity implements IEntityAdditionalSpawnDat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemRequirement getRequiredItems() {
|
public ItemRequirement getRequiredItems() {
|
||||||
return new ItemRequirement(ItemUseType.DAMAGE, AllItems.SUPER_GLUE.get());
|
return new ItemRequirement(ItemUseType.DAMAGE, AllItemsNew.SUPER_GLUE.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.foundation.networking.AllPackets;
|
import com.simibubi.create.foundation.networking.AllPackets;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.RayTraceWorld;
|
import com.simibubi.create.foundation.utility.worldWrappers.RayTraceWorld;
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public class SuperGlueHandler {
|
||||||
Map<Direction, SuperGlueEntity> gatheredGlue = gatherGlue(world, pos);
|
Map<Direction, SuperGlueEntity> gatheredGlue = gatherGlue(world, pos);
|
||||||
for (Direction direction : gatheredGlue.keySet())
|
for (Direction direction : gatheredGlue.keySet())
|
||||||
AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity),
|
AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity),
|
||||||
new GlueEffectPacket(pos, direction, true));
|
new GlueEffectPacket(pos, direction, true));
|
||||||
|
|
||||||
if (entity instanceof PlayerEntity)
|
if (entity instanceof PlayerEntity)
|
||||||
glueInOffHandAppliesOnBlockPlace(event, pos, (PlayerEntity) entity);
|
glueInOffHandAppliesOnBlockPlace(event, pos, (PlayerEntity) entity);
|
||||||
|
@ -63,10 +63,11 @@ public class SuperGlueHandler {
|
||||||
|
|
||||||
public static void glueInOffHandAppliesOnBlockPlace(EntityPlaceEvent event, BlockPos pos, PlayerEntity placer) {
|
public static void glueInOffHandAppliesOnBlockPlace(EntityPlaceEvent event, BlockPos pos, PlayerEntity placer) {
|
||||||
ItemStack itemstack = placer.getHeldItemOffhand();
|
ItemStack itemstack = placer.getHeldItemOffhand();
|
||||||
if (!AllItems.SUPER_GLUE.typeOf(itemstack))
|
if (!AllItemsNew.typeOf(AllItemsNew.SUPER_GLUE, itemstack))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
double distance = placer.getAttribute(PlayerEntity.REACH_DISTANCE).getValue();
|
double distance = placer.getAttribute(PlayerEntity.REACH_DISTANCE)
|
||||||
|
.getValue();
|
||||||
Vec3d start = placer.getEyePosition(1);
|
Vec3d start = placer.getEyePosition(1);
|
||||||
Vec3d look = placer.getLook(1);
|
Vec3d look = placer.getLook(1);
|
||||||
Vec3d end = start.add(look.x * distance, look.y * distance, look.z * distance);
|
Vec3d end = start.add(look.x * distance, look.y * distance, look.z * distance);
|
||||||
|
@ -74,14 +75,16 @@ public class SuperGlueHandler {
|
||||||
|
|
||||||
RayTraceWorld rayTraceWorld =
|
RayTraceWorld rayTraceWorld =
|
||||||
new RayTraceWorld(world, (p, state) -> p.equals(pos) ? Blocks.AIR.getDefaultState() : state);
|
new RayTraceWorld(world, (p, state) -> p.equals(pos) ? Blocks.AIR.getDefaultState() : state);
|
||||||
BlockRayTraceResult ray = rayTraceWorld.rayTraceBlocks(new RayTraceContext(start, end,
|
BlockRayTraceResult ray = rayTraceWorld.rayTraceBlocks(
|
||||||
RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, placer));
|
new RayTraceContext(start, end, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, placer));
|
||||||
|
|
||||||
Direction face = ray.getFace();
|
Direction face = ray.getFace();
|
||||||
if (ray == null || face == null || ray.getType() == Type.MISS)
|
if (ray == null || face == null || ray.getType() == Type.MISS)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!ray.getPos().offset(face).equals(pos)) {
|
if (!ray.getPos()
|
||||||
|
.offset(face)
|
||||||
|
.equals(pos)) {
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -96,7 +99,7 @@ public class SuperGlueHandler {
|
||||||
entity.playPlaceSound();
|
entity.playPlaceSound();
|
||||||
world.addEntity(entity);
|
world.addEntity(entity);
|
||||||
AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity),
|
AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY_AND_SELF.with(() -> entity),
|
||||||
new GlueEffectPacket(ray.getPos(), face, true));
|
new GlueEffectPacket(ray.getPos(), face, true));
|
||||||
}
|
}
|
||||||
itemstack.damageItem(1, placer, SuperGlueItem::onBroken);
|
itemstack.damageItem(1, placer, SuperGlueItem::onBroken);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
package com.simibubi.create.content.contraptions.components.structureMovement.glue;
|
||||||
|
|
||||||
|
import static com.simibubi.create.AllItemsNew.typeOf;
|
||||||
|
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
|
import com.mojang.blaze3d.matrix.MatrixStack.Entry;
|
||||||
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
import com.mojang.blaze3d.vertex.IVertexBuilder;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||||
import com.simibubi.create.foundation.utility.VecHelper;
|
import com.simibubi.create.foundation.utility.VecHelper;
|
||||||
|
@ -52,8 +54,8 @@ public class SuperGlueRenderer extends EntityRenderer<SuperGlueEntity> {
|
||||||
|
|
||||||
PlayerEntity player = Minecraft.getInstance().player;
|
PlayerEntity player = Minecraft.getInstance().player;
|
||||||
boolean visible = isVisible(entity);
|
boolean visible = isVisible(entity);
|
||||||
boolean holdingGlue = AllItems.SUPER_GLUE.typeOf(player.getHeldItemMainhand())
|
boolean holdingGlue = typeOf(AllItemsNew.SUPER_GLUE, player.getHeldItemMainhand())
|
||||||
|| AllItems.SUPER_GLUE.typeOf(player.getHeldItemOffhand());
|
|| typeOf(AllItemsNew.SUPER_GLUE, player.getHeldItemOffhand());
|
||||||
|
|
||||||
if (!visible && !holdingGlue)
|
if (!visible && !holdingGlue)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,7 +4,7 @@ import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItemsNew;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
import com.simibubi.create.content.contraptions.components.structureMovement.Contraption;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
|
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionEntity;
|
||||||
|
|
||||||
|
@ -39,7 +39,15 @@ public class MinecartContraptionItem extends Item {
|
||||||
|
|
||||||
private final AbstractMinecartEntity.Type minecartType;
|
private final AbstractMinecartEntity.Type minecartType;
|
||||||
|
|
||||||
public MinecartContraptionItem(Type minecartTypeIn, Properties builder) {
|
public static MinecartContraptionItem rideable(Properties builder) {
|
||||||
|
return new MinecartContraptionItem(Type.RIDEABLE, builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MinecartContraptionItem furnace(Properties builder) {
|
||||||
|
return new MinecartContraptionItem(Type.FURNACE, builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private MinecartContraptionItem(Type minecartTypeIn, Properties builder) {
|
||||||
super(builder);
|
super(builder);
|
||||||
this.minecartType = minecartTypeIn;
|
this.minecartType = minecartTypeIn;
|
||||||
DispenserBlock.registerDispenseBehavior(this, DISPENSER_BEHAVIOR);
|
DispenserBlock.registerDispenseBehavior(this, DISPENSER_BEHAVIOR);
|
||||||
|
@ -51,16 +59,18 @@ public class MinecartContraptionItem extends Item {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack dispenseStack(IBlockSource source, ItemStack stack) {
|
public ItemStack dispenseStack(IBlockSource source, ItemStack stack) {
|
||||||
Direction direction = source.getBlockState().get(DispenserBlock.FACING);
|
Direction direction = source.getBlockState()
|
||||||
|
.get(DispenserBlock.FACING);
|
||||||
World world = source.getWorld();
|
World world = source.getWorld();
|
||||||
double d0 = source.getX() + (double) direction.getXOffset() * 1.125D;
|
double d0 = source.getX() + (double) direction.getXOffset() * 1.125D;
|
||||||
double d1 = Math.floor(source.getY()) + (double) direction.getYOffset();
|
double d1 = Math.floor(source.getY()) + (double) direction.getYOffset();
|
||||||
double d2 = source.getZ() + (double) direction.getZOffset() * 1.125D;
|
double d2 = source.getZ() + (double) direction.getZOffset() * 1.125D;
|
||||||
BlockPos blockpos = source.getBlockPos().offset(direction);
|
BlockPos blockpos = source.getBlockPos()
|
||||||
|
.offset(direction);
|
||||||
BlockState blockstate = world.getBlockState(blockpos);
|
BlockState blockstate = world.getBlockState(blockpos);
|
||||||
RailShape railshape = blockstate.getBlock() instanceof AbstractRailBlock
|
RailShape railshape = blockstate.getBlock() instanceof AbstractRailBlock
|
||||||
? ((AbstractRailBlock) blockstate.getBlock()).getRailDirection(blockstate, world, blockpos, null)
|
? ((AbstractRailBlock) blockstate.getBlock()).getRailDirection(blockstate, world, blockpos, null)
|
||||||
: RailShape.NORTH_SOUTH;
|
: RailShape.NORTH_SOUTH;
|
||||||
double d3;
|
double d3;
|
||||||
if (blockstate.isIn(BlockTags.RAILS)) {
|
if (blockstate.isIn(BlockTags.RAILS)) {
|
||||||
if (railshape.isAscending()) {
|
if (railshape.isAscending()) {
|
||||||
|
@ -69,15 +79,16 @@ public class MinecartContraptionItem extends Item {
|
||||||
d3 = 0.1D;
|
d3 = 0.1D;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!blockstate.isAir(world, blockpos) || !world.getBlockState(blockpos.down()).isIn(BlockTags.RAILS)) {
|
if (!blockstate.isAir(world, blockpos) || !world.getBlockState(blockpos.down())
|
||||||
|
.isIn(BlockTags.RAILS)) {
|
||||||
return this.behaviourDefaultDispenseItem.dispense(source, stack);
|
return this.behaviourDefaultDispenseItem.dispense(source, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
BlockState blockstate1 = world.getBlockState(blockpos.down());
|
BlockState blockstate1 = world.getBlockState(blockpos.down());
|
||||||
RailShape railshape1 = blockstate1.getBlock() instanceof AbstractRailBlock
|
RailShape railshape1 = blockstate1.getBlock() instanceof AbstractRailBlock
|
||||||
? ((AbstractRailBlock) blockstate1.getBlock()).getRailDirection(blockstate1, world,
|
? ((AbstractRailBlock) blockstate1.getBlock()).getRailDirection(blockstate1, world, blockpos.down(),
|
||||||
blockpos.down(), null)
|
null)
|
||||||
: RailShape.NORTH_SOUTH;
|
: RailShape.NORTH_SOUTH;
|
||||||
if (direction != Direction.DOWN && railshape1.isAscending()) {
|
if (direction != Direction.DOWN && railshape1.isAscending()) {
|
||||||
d3 = -0.4D;
|
d3 = -0.4D;
|
||||||
} else {
|
} else {
|
||||||
|
@ -86,7 +97,7 @@ public class MinecartContraptionItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
AbstractMinecartEntity abstractminecartentity = AbstractMinecartEntity.create(world, d0, d1 + d3, d2,
|
AbstractMinecartEntity abstractminecartentity = AbstractMinecartEntity.create(world, d0, d1 + d3, d2,
|
||||||
((MinecartContraptionItem) stack.getItem()).minecartType);
|
((MinecartContraptionItem) stack.getItem()).minecartType);
|
||||||
if (stack.hasDisplayName())
|
if (stack.hasDisplayName())
|
||||||
abstractminecartentity.setCustomName(stack.getDisplayName());
|
abstractminecartentity.setCustomName(stack.getDisplayName());
|
||||||
world.addEntity(abstractminecartentity);
|
world.addEntity(abstractminecartentity);
|
||||||
|
@ -98,7 +109,8 @@ public class MinecartContraptionItem extends Item {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void playDispenseSound(IBlockSource source) {
|
protected void playDispenseSound(IBlockSource source) {
|
||||||
source.getWorld().playEvent(1000, source.getBlockPos(), 0);
|
source.getWorld()
|
||||||
|
.playEvent(1000, source.getBlockPos(), 0);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -114,23 +126,22 @@ public class MinecartContraptionItem extends Item {
|
||||||
ItemStack itemstack = context.getItem();
|
ItemStack itemstack = context.getItem();
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
RailShape railshape = blockstate.getBlock() instanceof AbstractRailBlock
|
RailShape railshape = blockstate.getBlock() instanceof AbstractRailBlock
|
||||||
? ((AbstractRailBlock) blockstate.getBlock()).getRailDirection(blockstate, world, blockpos,
|
? ((AbstractRailBlock) blockstate.getBlock()).getRailDirection(blockstate, world, blockpos, null)
|
||||||
null)
|
: RailShape.NORTH_SOUTH;
|
||||||
: RailShape.NORTH_SOUTH;
|
|
||||||
double d0 = 0.0D;
|
double d0 = 0.0D;
|
||||||
if (railshape.isAscending()) {
|
if (railshape.isAscending()) {
|
||||||
d0 = 0.5D;
|
d0 = 0.5D;
|
||||||
}
|
}
|
||||||
|
|
||||||
AbstractMinecartEntity abstractminecartentity = AbstractMinecartEntity.create(world,
|
AbstractMinecartEntity abstractminecartentity =
|
||||||
(double) blockpos.getX() + 0.5D, (double) blockpos.getY() + 0.0625D + d0,
|
AbstractMinecartEntity.create(world, (double) blockpos.getX() + 0.5D,
|
||||||
(double) blockpos.getZ() + 0.5D, this.minecartType);
|
(double) blockpos.getY() + 0.0625D + d0, (double) blockpos.getZ() + 0.5D, this.minecartType);
|
||||||
if (itemstack.hasDisplayName())
|
if (itemstack.hasDisplayName())
|
||||||
abstractminecartentity.setCustomName(itemstack.getDisplayName());
|
abstractminecartentity.setCustomName(itemstack.getDisplayName());
|
||||||
PlayerEntity player = context.getPlayer();
|
PlayerEntity player = context.getPlayer();
|
||||||
world.addEntity(abstractminecartentity);
|
world.addEntity(abstractminecartentity);
|
||||||
addContraptionToMinecart(world, itemstack, abstractminecartentity,
|
addContraptionToMinecart(world, itemstack, abstractminecartentity,
|
||||||
player == null ? null : player.getHorizontalFacing());
|
player == null ? null : player.getHorizontalFacing());
|
||||||
}
|
}
|
||||||
|
|
||||||
itemstack.shrink(1);
|
itemstack.shrink(1);
|
||||||
|
@ -139,7 +150,7 @@ public class MinecartContraptionItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addContraptionToMinecart(World world, ItemStack itemstack, AbstractMinecartEntity cart,
|
public static void addContraptionToMinecart(World world, ItemStack itemstack, AbstractMinecartEntity cart,
|
||||||
@Nullable Direction newFacing) {
|
@Nullable Direction newFacing) {
|
||||||
CompoundNBT tag = itemstack.getOrCreateTag();
|
CompoundNBT tag = itemstack.getOrCreateTag();
|
||||||
if (tag.contains("Contraption")) {
|
if (tag.contains("Contraption")) {
|
||||||
CompoundNBT contraptionTag = tag.getCompound("Contraption");
|
CompoundNBT contraptionTag = tag.getCompound("Contraption");
|
||||||
|
@ -164,8 +175,7 @@ public class MinecartContraptionItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {}
|
||||||
}
|
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void wrenchCanBeUsedToPickUpMinecartContraptions(PlayerInteractEvent.EntityInteract event) {
|
public static void wrenchCanBeUsedToPickUpMinecartContraptions(PlayerInteractEvent.EntityInteract event) {
|
||||||
|
@ -175,7 +185,7 @@ public class MinecartContraptionItem extends Item {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ItemStack wrench = player.getHeldItem(event.getHand());
|
ItemStack wrench = player.getHeldItem(event.getHand());
|
||||||
if (!AllItems.WRENCH.typeOf(wrench))
|
if (!AllItemsNew.typeOf(AllItemsNew.WRENCH, wrench))
|
||||||
return;
|
return;
|
||||||
if (entity instanceof ContraptionEntity)
|
if (entity instanceof ContraptionEntity)
|
||||||
entity = entity.getRidingEntity();
|
entity = entity.getRidingEntity();
|
||||||
|
@ -202,13 +212,16 @@ public class MinecartContraptionItem extends Item {
|
||||||
|
|
||||||
public static ItemStack create(Type type, ContraptionEntity entity) {
|
public static ItemStack create(Type type, ContraptionEntity entity) {
|
||||||
ItemStack stack =
|
ItemStack stack =
|
||||||
(type == Type.RIDEABLE ? AllItems.MINECART_CONTRAPTION : AllItems.FURNACE_MINECART_CONTRAPTION).asStack();
|
(type == Type.RIDEABLE ? AllItemsNew.MINECART_CONTRAPTION : AllItemsNew.FURNACE_MINECART_CONTRAPTION)
|
||||||
CompoundNBT tag = entity.getContraption().writeNBT();
|
.asStack();
|
||||||
|
CompoundNBT tag = entity.getContraption()
|
||||||
|
.writeNBT();
|
||||||
tag.remove("UUID");
|
tag.remove("UUID");
|
||||||
tag.remove("Pos");
|
tag.remove("Pos");
|
||||||
tag.remove("Motion");
|
tag.remove("Motion");
|
||||||
tag.putFloat("InitialAngle", entity.getInitialAngle());
|
tag.putFloat("InitialAngle", entity.getInitialAngle());
|
||||||
stack.getOrCreateTag().put("Contraption", tag);
|
stack.getOrCreateTag()
|
||||||
|
.put("Contraption", tag);
|
||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue