diff --git a/build.gradle b/build.gradle index f665ed05d..b8cf8d5e0 100644 --- a/build.gradle +++ b/build.gradle @@ -69,6 +69,10 @@ minecraft { } } +compileJava { + options.compilerArgs = ["-Xdiags:verbose"] +} + sourceSets.main.resources { srcDir 'src/generated/resources' } diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 7e3221ca0..9af7474d5 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -1,2582 +1,2585 @@ -16539ad12ee9e1ee004dec3fd62122b3e17c8e77 assets\create\blockstates\acacia_window.json -f0d6baaabda94151134f569246d61a6e710c35a9 assets\create\blockstates\acacia_window_pane.json -55d57354040f4b5cefa2a9bfaf1cb777350fd699 assets\create\blockstates\adjustable_crate.json -029e6fbb2760f5a93575981372f394ed3f12ce7f assets\create\blockstates\adjustable_pulley.json -79c50afcea3a360783a5b3c73de9823511e9aed9 assets\create\blockstates\adjustable_pulse_repeater.json -1d730df54c9eae94063e37396d224fb3c87517e0 assets\create\blockstates\adjustable_repeater.json -9dd79bf5430f674e7d3e3fc7d59edee3d66e241e assets\create\blockstates\analog_lever.json -aaad1fc11aae17e209b0c3fbc9977c724c50c1ef assets\create\blockstates\andesite_belt_funnel.json -585481e97c5066af63ea12fa5dd658798844d64c assets\create\blockstates\andesite_bricks.json -4e8d61aa2c8490301317ef747f67f0169ebfc2ed assets\create\blockstates\andesite_bricks_slab.json -da63a8be3191d6d72afef6c79e3aea3f607631f9 assets\create\blockstates\andesite_bricks_stairs.json -a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets\create\blockstates\andesite_bricks_wall.json -9999a75c7766781eadb12510a09264600bc846e4 assets\create\blockstates\andesite_casing.json -7074f8af642b74edc26464bb627d919516c2de0a assets\create\blockstates\andesite_chute_funnel.json -3af4ea3c44b5ebc7e1e3fb73fb8356faf067a613 assets\create\blockstates\andesite_cobblestone.json -97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets\create\blockstates\andesite_cobblestone_slab.json -96b5284693da168ab8e0809d86515b5f1a7e763f assets\create\blockstates\andesite_cobblestone_stairs.json -82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets\create\blockstates\andesite_cobblestone_wall.json -2be950008c00513dfe39021b65c26eea8554ee20 assets\create\blockstates\andesite_funnel.json -398922758a6219544e5b85c91c9cf8a543b437e5 assets\create\blockstates\andesite_pillar.json -a9f73f228f2cde7f707fab3467e57a9080233433 assets\create\blockstates\andesite_tunnel.json -f9fa6aa530eb0891a74eadfbebc663172a57147a assets\create\blockstates\basin.json -39dc813be2049a42475f93d12f9f2e356139cf1b assets\create\blockstates\belt.json -40d10934934ea142d71fc6ce598b1455c3ad47b4 assets\create\blockstates\belt_observer.json -cf9045eb16e5299a1d917c4cb536289f49411276 assets\create\blockstates\birch_window.json -94a1a91403eb4b035fec48071e7fcae57a8a6abd assets\create\blockstates\birch_window_pane.json -58b07d2af6030342f0354f6d3fd0ee128d2d74b4 assets\create\blockstates\black_seat.json -4854d1ef52130a7887aecc60bcaffbd66f0871a8 assets\create\blockstates\blue_seat.json -fba967b1f6e44b34a9d9662e2fedfc13aad7f36c assets\create\blockstates\brass_belt_funnel.json -8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets\create\blockstates\brass_block.json -b8dd6e505943e06706d0718ece620ab3cf943650 assets\create\blockstates\brass_casing.json -e8583247cc7108c80320b739d7af121a890d79a8 assets\create\blockstates\brass_chute_funnel.json -3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets\create\blockstates\brass_funnel.json -a967a349df6ca76b772abed915545abbca515c90 assets\create\blockstates\brass_tunnel.json -e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets\create\blockstates\brown_seat.json -26f3b6a8f8249e4e622ab200057d75e228762817 assets\create\blockstates\cart_assembler.json -7299cea212d879d6d5611bd139b24768b9af236f assets\create\blockstates\chiseled_dark_scoria.json -0f01f813388d3e6907c1cfd992e4b21c914e267e assets\create\blockstates\chiseled_dolomite.json -324488e0c228f38f2597b2f76849e962bc1a7d90 assets\create\blockstates\chiseled_gabbro.json -2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets\create\blockstates\chiseled_limestone.json -cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets\create\blockstates\chiseled_scoria.json -291952556c52fba2af5bbd793c71af81abd27e71 assets\create\blockstates\chiseled_weathered_limestone.json -99def0a786714a337e2b1b17db844e4d1aee6234 assets\create\blockstates\chute.json -4947c261310445fa55b92038326ac82967d192dd assets\create\blockstates\clockwork_bearing.json -1f33834c685e3243882acfe20183fe64dfa872be assets\create\blockstates\clutch.json -e5e3757e99c139d67b2a70288466d8a74d818841 assets\create\blockstates\cogwheel.json -f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets\create\blockstates\copper_block.json -cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets\create\blockstates\copper_casing.json -3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.json -dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets\create\blockstates\copper_shingles.json -3df0d5d5170a2f6cbab0f8a9bc8f2d64229589af assets\create\blockstates\creative_crate.json -f0031f5e970b3d5695472ed384950b8631b015ed assets\create\blockstates\creative_motor.json -fe2f78b94c20944399101e7369e2d43324297fb6 assets\create\blockstates\crushing_wheel.json -a1dd6cb3daa97ea871290ef7b178d28b564ee2a2 assets\create\blockstates\crushing_wheel_controller.json -b1126c191877cff86b4e2de83e1fcbd151451cb7 assets\create\blockstates\cuckoo_clock.json -4de72f65bff4e5d9c8153fa3adeee6b61d6f912b assets\create\blockstates\cyan_seat.json -1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets\create\blockstates\dark_oak_window.json -50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets\create\blockstates\dark_oak_window_pane.json -21e435ad3baf69970446b0acd3db0d6d02dc9fcb assets\create\blockstates\dark_scoria.json -bfab7d9b2e01183d47a828f2827125771efa97fc assets\create\blockstates\dark_scoria_bricks.json -831fb03aab9223da39dd1d16e9a7e9233dc16871 assets\create\blockstates\dark_scoria_bricks_slab.json -15c4f7b5d64a8d6467a2a18c12649ddb8fdb5805 assets\create\blockstates\dark_scoria_bricks_stairs.json -2f8971e81ea2347e1814812b15119b9662dd64e7 assets\create\blockstates\dark_scoria_bricks_wall.json -3e7a5f7f38490d91902088f9dabe4fbaa57132fd assets\create\blockstates\dark_scoria_cobblestone.json -1ca115df6d2b5a63a1c505bc94d62543f1c0e26a assets\create\blockstates\dark_scoria_cobblestone_slab.json -f86eea3f7df0988fffbe90e29b74141a7203cd15 assets\create\blockstates\dark_scoria_cobblestone_stairs.json -f1020a33fcb1a362b6c55b5aa8ce093e47ebde09 assets\create\blockstates\dark_scoria_cobblestone_wall.json -902778a0f16b7ad009ee7b123bb583eaea32467a assets\create\blockstates\dark_scoria_pillar.json -ac85f55d82d96fc15750e6b954297cfd1e00d04d assets\create\blockstates\deployer.json -3660f44309279a0347347f23ce7444c6ed98cafd assets\create\blockstates\depot.json -c890ec9b3778aebb16c6b2eb2ca79bfbe7bf7435 assets\create\blockstates\diorite_bricks.json -894d5ca00c3765553deaac44b83257983acf502d assets\create\blockstates\diorite_bricks_slab.json -e42f2ebe5a2fdaeed62b9bc289252664a1e8705b assets\create\blockstates\diorite_bricks_stairs.json -22f1c5fa41fa03a515c6aeafe0910c42dc60f22c assets\create\blockstates\diorite_bricks_wall.json -456d4a31a71acd46f2496ad5a17003ce6e33c5b2 assets\create\blockstates\diorite_cobblestone.json -a886ed9f02e54d3cf0bc55710c61f52737953ede assets\create\blockstates\diorite_cobblestone_slab.json -328e6ffb0b0124f497b2e227c814fa2bcccfeb0e assets\create\blockstates\diorite_cobblestone_stairs.json -110cddbea434aa650eac919908880a0296b38a2f assets\create\blockstates\diorite_cobblestone_wall.json -bd24921c0c66deaabbdbf557b7ff9a507402c1e5 assets\create\blockstates\diorite_pillar.json -610435897262bc9a1d98d85ce470a5030411a1d7 assets\create\blockstates\dolomite.json -710f354ec7b11b545bac9c5cb6f181229aa84be9 assets\create\blockstates\dolomite_bricks.json -c681864890ec8c8c9f5ab275957979337539f782 assets\create\blockstates\dolomite_bricks_slab.json -23930bcbda625107810fbd0b32a8a94ba65940eb assets\create\blockstates\dolomite_bricks_stairs.json -a9c4a1a2ba785289f450487b3317012f9b31fa2b assets\create\blockstates\dolomite_bricks_wall.json -a2b7259dacf7b582e3b819e12015b5e18a1768e5 assets\create\blockstates\dolomite_cobblestone.json -5cf01ea02b50229fce2296206b9f0ce1c1b2c9f6 assets\create\blockstates\dolomite_cobblestone_slab.json -e7c1db7226df5858f1884f0cf328a733fec22c3d assets\create\blockstates\dolomite_cobblestone_stairs.json -f63a5816d4bfe643aa098d03c3b54462dd06fe19 assets\create\blockstates\dolomite_cobblestone_wall.json -f179202e59e449157f89efc37229b03bbfd391d7 assets\create\blockstates\dolomite_pillar.json -7b1c40891b07c8f3238537625d9e25c8627e7333 assets\create\blockstates\encased_belt.json -7b2b836649e729feafa60972bf95e3afb2143131 assets\create\blockstates\encased_fan.json -db1777f0eff1eb6987b569aee513656ae889ae75 assets\create\blockstates\encased_shaft.json -1442ff1a0e404f99263ba99d734da1dfed03d4e3 assets\create\blockstates\extractor.json -a774e815376a67e2a2de44e39af0a1a0b4406932 assets\create\blockstates\fancy_andesite_bricks.json -180be26a75834cf9cdb881f969f77906e91cc36a assets\create\blockstates\fancy_andesite_bricks_slab.json -d5d7762b80952052d0a7adf3081967cac3f3ba6c assets\create\blockstates\fancy_andesite_bricks_stairs.json -77da6346a42eaef0796b5032de4110e0d49aa388 assets\create\blockstates\fancy_andesite_bricks_wall.json -0212696f17a7758a448b168bc20264757fbde9fe assets\create\blockstates\fancy_dark_scoria_bricks.json -f4dd92847d13d6ceeadc05ab63563490fdcd5f51 assets\create\blockstates\fancy_dark_scoria_bricks_slab.json -09ee11aba5b684608ce7ffcf57ed1bd2ec26c774 assets\create\blockstates\fancy_dark_scoria_bricks_stairs.json -4c48c9692e79a6050f6336d25a3cebbf3b4a4fe9 assets\create\blockstates\fancy_dark_scoria_bricks_wall.json -5a4c65373ccd1ef6cd33cbb35e16c844af5ac8bf assets\create\blockstates\fancy_diorite_bricks.json -36575b9debabb8b9dbe9d6d3c2d124472dfa77e3 assets\create\blockstates\fancy_diorite_bricks_slab.json -aeaa188516efbd5fd7477e0da5dc6dc3bc95dc8b assets\create\blockstates\fancy_diorite_bricks_stairs.json -1af3234a64bd52a18ebe7ed3ea1fae2d8d5ec727 assets\create\blockstates\fancy_diorite_bricks_wall.json -e72c26b8546245499d78620f1ad4eaf6092fc871 assets\create\blockstates\fancy_dolomite_bricks.json -46bd9c9bfcc9de5fad6d33aab2adbc1ac7493802 assets\create\blockstates\fancy_dolomite_bricks_slab.json -d8fc5f08a5c2f215f95b09b32913672535859920 assets\create\blockstates\fancy_dolomite_bricks_stairs.json -7fb5eb31010950290203d4b7012f3b3b963da574 assets\create\blockstates\fancy_dolomite_bricks_wall.json -ac1b22a13434a580f2213c78001590bb4e9793ec assets\create\blockstates\fancy_gabbro_bricks.json -5e74f21623c749ea863d64ebce568da314e0e71b assets\create\blockstates\fancy_gabbro_bricks_slab.json -70eb799df2529c7df6061a6793eabbbea76db77c assets\create\blockstates\fancy_gabbro_bricks_stairs.json -16770e9d377f801cb05a0a404f3888eb1009b6cb assets\create\blockstates\fancy_gabbro_bricks_wall.json -691c985a817ffa6733ea8901b329826da8f94017 assets\create\blockstates\fancy_granite_bricks.json -5f50be00c3b407a46f429776950d82f53df87ba4 assets\create\blockstates\fancy_granite_bricks_slab.json -4e0e1c1186c26e7d345dc8bd006be9f283349813 assets\create\blockstates\fancy_granite_bricks_stairs.json -0fbac68366751b45ff4455039c9630c309153095 assets\create\blockstates\fancy_granite_bricks_wall.json -143d5cb3a6f149da0d11545297d9495b9173d7a0 assets\create\blockstates\fancy_limestone_bricks.json -b4bff88215fa1206ac461e199cc784c916b85479 assets\create\blockstates\fancy_limestone_bricks_slab.json -23f0d926e69b798ea561c0ccd13b4620f9699dda assets\create\blockstates\fancy_limestone_bricks_stairs.json -d704b7e1ef8f5b1d62058044846bace06464aea7 assets\create\blockstates\fancy_limestone_bricks_wall.json -8e5b65b12e46ebc0aace1155d1902780efacecd9 assets\create\blockstates\fancy_scoria_bricks.json -d8dd7ba8280b63f2a1f4c50db1d9b7a6ac7bf80a assets\create\blockstates\fancy_scoria_bricks_slab.json -fc652317e03b57c76e23a805da16a28d15254029 assets\create\blockstates\fancy_scoria_bricks_stairs.json -de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets\create\blockstates\fancy_scoria_bricks_wall.json -5864daf839e54789a0dc8a44505f070bf3e184bc assets\create\blockstates\fancy_weathered_limestone_bricks.json -fc9ac0a7e7191b93516719455a17177fa6524ecc assets\create\blockstates\fancy_weathered_limestone_bricks_slab.json -b2a7c321b1795f20e7433f81a55ce4683de081b8 assets\create\blockstates\fancy_weathered_limestone_bricks_stairs.json -6372fe02ba0065acb0758121c45a15a1a8fdc5de assets\create\blockstates\fancy_weathered_limestone_bricks_wall.json -4cbd66ed3da77d1caad6ef4e657a86b1b4017a39 assets\create\blockstates\fluid_pipe.json -9d0e78a4d6d0ccac37c06d0f5810a800a04844b2 assets\create\blockstates\fluid_tank.json -e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets\create\blockstates\flywheel.json -ac00d40e1ef50a37041c0481afa1a23a14dea78e assets\create\blockstates\framed_glass.json -61df7769fa61f6dd2868a4377e54320fdd473b4e assets\create\blockstates\framed_glass_pane.json -3cf49f4812732f00f578fa73785e14ffdf340f21 assets\create\blockstates\furnace_engine.json -f512b70d7fd0ca10184f21f5bfb71c83ab11f8ef assets\create\blockstates\gabbro.json -d2358eb3d9337741f55339f0b94b2e81d73965c8 assets\create\blockstates\gabbro_bricks.json -a5c87f9f5b8dd1573c1f2f770a5558f3dc244f96 assets\create\blockstates\gabbro_bricks_slab.json -66b9fa3d2c82e9c4d2a7e2b9b3e73dc45c0dd962 assets\create\blockstates\gabbro_bricks_stairs.json -c8f27bfd301a642cdd101f826bc6ba8151588b38 assets\create\blockstates\gabbro_bricks_wall.json -afff479c0e5284771afa9e7ce513595fe65860ee assets\create\blockstates\gabbro_cobblestone.json -85151aa7583e4752424b2efc1b35d8c9cceb66a7 assets\create\blockstates\gabbro_cobblestone_slab.json -a1f31a194129cfb65e335b3b96490f9275f9c564 assets\create\blockstates\gabbro_cobblestone_stairs.json -a64d8d0924c0b5b192f355343dd9b3a440875f6a assets\create\blockstates\gabbro_cobblestone_wall.json -a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets\create\blockstates\gabbro_pillar.json -9c48e311be8b959bfb98e16ffaa358210ac8b9dd assets\create\blockstates\gearbox.json -f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets\create\blockstates\gearshift.json -87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets\create\blockstates\granite_bricks.json -d7f4cf7be7e9a3895840d9288245c52cbe25f0bd assets\create\blockstates\granite_bricks_slab.json -ec51efc72eb6b16c5f99399b4cb6284665d5be99 assets\create\blockstates\granite_bricks_stairs.json -9211777c912837af9d328a525248a31608a82bd1 assets\create\blockstates\granite_bricks_wall.json -0d19d78cf035d0183b5268f646bacff2f40e7f7e assets\create\blockstates\granite_cobblestone.json -a4b0337149cb0617cc60061477c7178d37dbb831 assets\create\blockstates\granite_cobblestone_slab.json -d97fdea02187e63f6b63913357c79a18660d676d assets\create\blockstates\granite_cobblestone_stairs.json -9ce66b5a61c3aad398756d26e4efee2b9e12a275 assets\create\blockstates\granite_cobblestone_wall.json -f8659e81cd2a623475a6a9aca59149e82de56b1c assets\create\blockstates\granite_pillar.json -a5ec5401ba9f3e102a2e1b35837f643847afbca4 assets\create\blockstates\gray_seat.json -13059309684db0cc7a0f1f4fce2407cf06cce80a assets\create\blockstates\green_seat.json -6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets\create\blockstates\hand_crank.json -be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets\create\blockstates\horizontal_framed_glass.json -18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets\create\blockstates\horizontal_framed_glass_pane.json -5d851c90d23de5087ce546d4bbe509e112b84c49 assets\create\blockstates\jungle_window.json -b15bea757ef981e0ca60f740ca234ee2014eb7b7 assets\create\blockstates\jungle_window_pane.json -f651091db216b009b3379b2f48d56d03481c8675 assets\create\blockstates\large_cogwheel.json -a38184e035c2ebca7471e1714494fea213af259e assets\create\blockstates\layered_andesite.json -0fef29f4bfe8e1258427252ef0ff1a414c194969 assets\create\blockstates\layered_dark_scoria.json -924a0291410406c86ded448f95c97ac3b9d2bd2e assets\create\blockstates\layered_diorite.json -a4cfcdc038af0f93a58d88ea8860b34d73632ff4 assets\create\blockstates\layered_dolomite.json -9d7cac5fe8b61248bdbb5ee63d08151ce03282ce assets\create\blockstates\layered_gabbro.json -8dccf7882a46a3d3eb9df16f324711f5f7809486 assets\create\blockstates\layered_granite.json -038f532f7364c1e793196fcc5856df9ceff93578 assets\create\blockstates\layered_limestone.json -8535d628f8834be62cdf62ef4b60c2ce3a7af99f assets\create\blockstates\layered_scoria.json -419d7fffc5cbd392f10211afa8d17e3eb8df8380 assets\create\blockstates\layered_weathered_limestone.json -2a0a8b1715700bf1e284ee57ef9f7f163c12f3ee assets\create\blockstates\light_blue_seat.json -d9a2551e001bb315d071bb9f1f013323a66a5d09 assets\create\blockstates\light_gray_seat.json -c4dcb169bd1dffe8501bff455e3eb6ba979f60ab assets\create\blockstates\limesand.json -e7cb0b25e511610b46dfd219e0cc5ea60a79d56b assets\create\blockstates\limestone.json -e7c7b952137c4cb615988ea59b9f14303c9a4dfe assets\create\blockstates\limestone_bricks.json -4048ef9e001a4036a4c806053b15ed80261c0a2b assets\create\blockstates\limestone_bricks_slab.json -936d0daa91eb725548e634cb3855cee36b7d66dd assets\create\blockstates\limestone_bricks_stairs.json -9dd473902238cb10f0f6eef375dee11a1df46d4b assets\create\blockstates\limestone_bricks_wall.json -728b5b373f3b731f4f7782b68da9a8e572367df3 assets\create\blockstates\limestone_cobblestone.json -19b6a403a126196144d13eafb81e172b87061019 assets\create\blockstates\limestone_cobblestone_slab.json -43532aec1893f7d2f37798d5dbb11ecde0a3bfab assets\create\blockstates\limestone_cobblestone_stairs.json -17c5a6c1dd094c9201ed90fdcebde620a8a39900 assets\create\blockstates\limestone_cobblestone_wall.json -b7506b862d13b3f915c60d38bb7a20afc935f70a assets\create\blockstates\limestone_pillar.json -1de3a88c003df03f5006e1bbaa0236589aba08ad assets\create\blockstates\lime_seat.json -69790737767e06f000c7824749c46664a123160e assets\create\blockstates\linear_chassis.json -c793ab3aa6cf09d8d6d4136757629689f0365771 assets\create\blockstates\linked_extractor.json -c5422866667331f1d5cf6753c0889747ee02762b assets\create\blockstates\linked_transposer.json -84c494d24cc58af274fdd054896c680e8095d2d0 assets\create\blockstates\magenta_seat.json -3b3250d6e209403a93d025604a8081087965016e assets\create\blockstates\mechanical_arm.json -ddcf4bb281e046fbb1026b8f46a2cf12448598df assets\create\blockstates\mechanical_bearing.json -5586beef2d9183dc34d8e8d2723620c0569592ae assets\create\blockstates\mechanical_crafter.json -044db7d50e19008bae8bf3325eac2ed0eb1ea6d2 assets\create\blockstates\mechanical_drill.json -0fb175e5260ec60e130e589d682a4d3301d7364e assets\create\blockstates\mechanical_harvester.json -d9afcfa27c42df5fd54a7b783acb0eb45ddf5aa5 assets\create\blockstates\mechanical_mixer.json -da612a05f94dc19e07e250efc35a7b2839d2ee76 assets\create\blockstates\mechanical_piston.json -94ec340a50b2406f833735f7501a1840c692e32a assets\create\blockstates\mechanical_piston_head.json -debef0f5dde74103aaf4422de4bc90e4099b0c47 assets\create\blockstates\mechanical_plough.json -92269fe66d7b83095a2e04e121af0be792f55dd6 assets\create\blockstates\mechanical_press.json -b7c4a0ff0c6f16e14d71fc0fb7fc66d032b65cf3 assets\create\blockstates\mechanical_pump.json -1478fc76afb9b186fd3fddc20c29525d60d692bc assets\create\blockstates\mechanical_saw.json -4e48ad0936647065c2322390e7c0fe115c853a98 assets\create\blockstates\millstone.json -468202df0802e17c75fcad0993daf1bc5300ca91 assets\create\blockstates\minecart_anchor.json -6a42f86aaff8ced70aaa6adb9460614ab40c21e5 assets\create\blockstates\mossy_andesite.json -bd49d8df2c3b0e07f599026db5dc1e67f4fa6199 assets\create\blockstates\mossy_dark_scoria.json -d1fad9fa7f6d948fd68a31a86fe1b952bf80817b assets\create\blockstates\mossy_diorite.json -a35b5d1886609672fd19cc5bb52b2b6a9c0d688e assets\create\blockstates\mossy_dolomite.json -dede80b872a3f1212cf492b38473064d73de46e1 assets\create\blockstates\mossy_gabbro.json -a3ae5fb61cb07ae6fcb78ba68435bda8c31d4430 assets\create\blockstates\mossy_granite.json -6bc9137697dc2b3f0aa4b20d1802814885ccb059 assets\create\blockstates\mossy_limestone.json -5b75b8e8e922b00c43ce030740da5472df207868 assets\create\blockstates\mossy_scoria.json -3feafb33a6ba03687a521c1b196536c0427fff77 assets\create\blockstates\mossy_weathered_limestone.json -b1126c191877cff86b4e2de83e1fcbd151451cb7 assets\create\blockstates\mysterious_cuckoo_clock.json -8d56251190c94204fa238ff32734a0761273669f assets\create\blockstates\natural_scoria.json -0f7635a4fec6961ec09788b3c5e3992ed1fdfde7 assets\create\blockstates\nixie_tube.json -36e46e65003a8d0b8555fe5e8f8dc980d6559bc5 assets\create\blockstates\nozzle.json -cf60989f63f02067fc4e4ad25033ac83167cdeb0 assets\create\blockstates\oak_window.json -4a796509c3953171f04f957351282205840b3760 assets\create\blockstates\oak_window_pane.json -5764a24f6c4fa552b61d2a02135adfc7d93c2e10 assets\create\blockstates\orange_seat.json -8e2028e1a0450a592eed5e10276ba19b1195a206 assets\create\blockstates\ornate_iron_window.json -f59198fd966927e21e9bf76e64de533d05ea893b assets\create\blockstates\ornate_iron_window_pane.json -c46f0b62967cf483ec0720a9297c8ccc97f5547d assets\create\blockstates\overgrown_andesite.json -0d3e4d8631f95dd9e18a38d92778ea78e5fc7cea assets\create\blockstates\overgrown_dark_scoria.json -12a00500554f541a0ef4ba31f96a97c515e75834 assets\create\blockstates\overgrown_diorite.json -9cd0331df8622fdc0bcd96d732e35598db96be5e assets\create\blockstates\overgrown_dolomite.json -8eabe022ac1113f22842487eafa906df81d0669e assets\create\blockstates\overgrown_gabbro.json -76ade67226e968db0671645f5316fdf64326f4a4 assets\create\blockstates\overgrown_granite.json -2398939c8be07cac0dcb7ea710eb98e74b408e0c assets\create\blockstates\overgrown_limestone.json -fbb651b8e4a72bf0a17a6bfdbf4eef680e9d4a5c assets\create\blockstates\overgrown_scoria.json -9c8e210bdb29b2ab1535a25762498d7c03156444 assets\create\blockstates\overgrown_weathered_limestone.json -5ab323fefdbfff04aa5c224bf5f0237f0598b3b2 assets\create\blockstates\packager.json -ab93ff18b747607dbc1d8d7311a2737e302b92d1 assets\create\blockstates\paved_andesite.json -89e88a0d2e7df66bac7ab11ac2c7b14812d8675f assets\create\blockstates\paved_andesite_slab.json -f43d947077b3f4a11a9729c58709c56f09859da0 assets\create\blockstates\paved_andesite_stairs.json -71368afa5b2bb1bcda81935b4e5ea52babf2f89d assets\create\blockstates\paved_andesite_wall.json -4c3f3b1083d5ed7dc882ff0c5a8e99fa4e114810 assets\create\blockstates\paved_dark_scoria.json -373ae114d505e64fc1a1101f1c738d690098f4e4 assets\create\blockstates\paved_dark_scoria_slab.json -609ca3c0f01f82b07afddd12399019ea4e83ff0c assets\create\blockstates\paved_dark_scoria_stairs.json -ee62f4da5831042eeb00cec1de5f04d9513c2878 assets\create\blockstates\paved_dark_scoria_wall.json -16e6d4110af2a9ac5a27c1416fa333d125a0c212 assets\create\blockstates\paved_diorite.json -5088c7c493386509739cf78eb043f79a36cc49a2 assets\create\blockstates\paved_diorite_slab.json -7c88703a29614886c193a3e1b7fa1aedc2901626 assets\create\blockstates\paved_diorite_stairs.json -ff683aa224095aa1fddcffbc94e767bf5ed396f8 assets\create\blockstates\paved_diorite_wall.json -7df5d644f113bd7988fc958d1018766ea41e16a5 assets\create\blockstates\paved_dolomite.json -0f007adfc85b2c11600adf457060f3a9a3b0b354 assets\create\blockstates\paved_dolomite_slab.json -77362a0dc9e7dc850a40359580122314c0d48edf assets\create\blockstates\paved_dolomite_stairs.json -161b19cfff4f8fba467d3913b7bde86149f88c45 assets\create\blockstates\paved_dolomite_wall.json -6b408845d667c7ed1490d03ea38db15cf4bdeb0d assets\create\blockstates\paved_gabbro.json -192412bf95174f6c635a5c10e9cb6f26ed9732fa assets\create\blockstates\paved_gabbro_slab.json -2bb34163e982218d0e8734a140445d25ad135afc assets\create\blockstates\paved_gabbro_stairs.json -bf3cbd3f694a01e072524ab398ed4097b6babba8 assets\create\blockstates\paved_gabbro_wall.json -b4c21fbcbfc21ba2aaaa468ddcac322fc3ed4cdf assets\create\blockstates\paved_granite.json -e273711b7e510c1553023c9962c7b66073fa77a8 assets\create\blockstates\paved_granite_slab.json -ad8c79e38ee2b0bdb18e35e9925dc213b4a95008 assets\create\blockstates\paved_granite_stairs.json -95ccf04f5dd38c266263189d2291ab8ef92473c8 assets\create\blockstates\paved_granite_wall.json -67df4368fd671d334702134c4011c85d8a7d1943 assets\create\blockstates\paved_limestone.json -e1eca91fdcf60b8ac0c2b8cdf6674046b0bc55f4 assets\create\blockstates\paved_limestone_slab.json -20c5434a0fb1108d424c27c44213dc89f5ec0027 assets\create\blockstates\paved_limestone_stairs.json -b1b2426f87a7e56e72d93db293b05c570d2bbac6 assets\create\blockstates\paved_limestone_wall.json -1ec5fafef5d6447938d2741c718b7411bf074e27 assets\create\blockstates\paved_scoria.json -10784fd7ad60cece61c5a10e933be0c33eb8e78e assets\create\blockstates\paved_scoria_slab.json -10a5ff1a5e5ae32a656637da8c41103798f3553f assets\create\blockstates\paved_scoria_stairs.json -76b3299e3e002fa942eb657cda1f6b729ec0b1a2 assets\create\blockstates\paved_scoria_wall.json -c17d334e938dcb742550ba8307ca8266a1fc9b49 assets\create\blockstates\paved_weathered_limestone.json -cb23aef25f3106b06c8fa8f152c638bb0d2185d8 assets\create\blockstates\paved_weathered_limestone_slab.json -d62b0992cec1de45dad1f2c273132225f4ef33a0 assets\create\blockstates\paved_weathered_limestone_stairs.json -dba4cf86e82ed4502fffed363fbce226a445e774 assets\create\blockstates\paved_weathered_limestone_wall.json -919a79e4a4a5fab0aac3ef48e1c786017d6aa001 assets\create\blockstates\pink_seat.json -975c97018e9e2419943eaab43aed0970e96feaf7 assets\create\blockstates\piston_extension_pole.json -2f764f460aa1d75ba995da180bc6f8d2bd9db385 assets\create\blockstates\polished_dark_scoria.json -262b22dcf3e151e63f58710f6b6fe4fc4fc2a70c assets\create\blockstates\polished_dark_scoria_slab.json -a0dbcb7651b02a4f5c747ad2c6d35da60f768d9b assets\create\blockstates\polished_dark_scoria_stairs.json -7c8482b4e3f1593f1cf6d0233a57194456602b4f assets\create\blockstates\polished_dark_scoria_wall.json -c197a8c1e80150cf2ef73ed5429b976a6920ee39 assets\create\blockstates\polished_dolomite.json -1c60ab250ae8577fa314b2718d4d8d9885c7a387 assets\create\blockstates\polished_dolomite_slab.json -4ee6fc88ba0b69f144da81c4ec023cd123bb28e1 assets\create\blockstates\polished_dolomite_stairs.json -0ba06e244995d12d9744fe1aa3f619975f374b7a assets\create\blockstates\polished_dolomite_wall.json -c20df6b7240b2aeffd4f66e8b902f71b2a43ea35 assets\create\blockstates\polished_gabbro.json -d760a9e9efac9f81b36be2632b4b309f113004a3 assets\create\blockstates\polished_gabbro_slab.json -f20b78557066023365b0f1f7c4a95ae50724421d assets\create\blockstates\polished_gabbro_stairs.json -7192b0fe69a71bf8295ec4c4f60b8a268f9605bd assets\create\blockstates\polished_gabbro_wall.json -039ed5b957758e9c9266764a7787179e0b74c567 assets\create\blockstates\polished_limestone.json -a31044438e849f216c5bd5960f57645b22c2ca83 assets\create\blockstates\polished_limestone_slab.json -f1bf2d4e4e1dff8cc39652a35f601fc58424e60d assets\create\blockstates\polished_limestone_stairs.json -7e03ef348cff2678f7d6c65bf48806f887647cd2 assets\create\blockstates\polished_limestone_wall.json -35c8f660a49dd2addae6a77283aba7f581a8d042 assets\create\blockstates\polished_scoria.json -a452650af5c929675b0a3c8e8bf23c6cac67152e assets\create\blockstates\polished_scoria_slab.json -8e2c6b205b17dde98e7cc9b4bcea6c75aaaeae80 assets\create\blockstates\polished_scoria_stairs.json -0e76787c4e63635cf6f920bd60130dd453c10a2b assets\create\blockstates\polished_scoria_wall.json -c8467d55bc22d2e2256b8b732c06c9fdc64d336f assets\create\blockstates\polished_weathered_limestone.json -5d811eab3c5e8411f98e2ea98d93d35955ce18fc assets\create\blockstates\polished_weathered_limestone_slab.json -acec6cdebe772ca72de94a85d98199e827495acb assets\create\blockstates\polished_weathered_limestone_stairs.json -f42ad32aefcfa7ccc6287f57ee1a5f092b65126f assets\create\blockstates\polished_weathered_limestone_wall.json -b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets\create\blockstates\portable_storage_interface.json -8296d43d5f1c2113012d127038fb319af83aaee4 assets\create\blockstates\powered_latch.json -e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggle_latch.json -3a739f9d4276828d83f2d2750bf3227c87bcd438 assets\create\blockstates\pulley_magnet.json -469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets\create\blockstates\pulse_repeater.json -92957119abd5fbcca36a113b2a80255fd70fc303 assets\create\blockstates\purple_seat.json -6fa36883e76e9e403bb429c8f86b8c0d3bba0cff assets\create\blockstates\radial_chassis.json -8929677f2cc5354aa19ef182af69f9f0b41eb242 assets\create\blockstates\redstone_contact.json -c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json -da1b08387af7afa0855ee8d040f620c01f20660a assets\create\blockstates\red_seat.json -1eac804cba08aebb5f4646758ae1ef9b32e01365 assets\create\blockstates\reinforced_rail.json -e2990fe70ad5d10437a376e70e167d1856277cc1 assets\create\blockstates\rope.json -e14d5f7252105934295b4e156ec0e6d62d3d6b1c assets\create\blockstates\rope_pulley.json -cc4cf3420fa290cb844f9cf4dfdd836aa9b70500 assets\create\blockstates\rotation_speed_controller.json -36592a6542332b35445931e8e9531adf786b63ba assets\create\blockstates\schematicannon.json -7120f29e4b88a1c40125a8cdbe8af3570f4ee352 assets\create\blockstates\schematic_table.json -a5befc14551f043675e985027609aeb7e6bacc0d assets\create\blockstates\scoria.json -4ccf1fb580ce25835329d50dcf0ba91be19baaeb assets\create\blockstates\scoria_bricks.json -145fb4b57649105c6f188bd2b895ee69d2378b1f assets\create\blockstates\scoria_bricks_slab.json -41066da6ae338c079f506c87c0e36fda788f75e4 assets\create\blockstates\scoria_bricks_stairs.json -6e18096573621955e077731a0dcdf0eb86678c93 assets\create\blockstates\scoria_bricks_wall.json -20c7cdf5d5e62bdbce53541bdb8079836ad74bb0 assets\create\blockstates\scoria_cobblestone.json -be96a5541f211a6929fa04ec3535cb62ce7d4a2d assets\create\blockstates\scoria_cobblestone_slab.json -41d1fbbdfb038e474254bee5284561342fea0fc9 assets\create\blockstates\scoria_cobblestone_stairs.json -b6e50f46a02f833f2f2bafa8585a909b6da5e229 assets\create\blockstates\scoria_cobblestone_wall.json -46641fdbc6bdc05829153bc28efb90cae26a51f8 assets\create\blockstates\scoria_pillar.json -89e10f35b93b5c72dd235eb79e5fc6f3655027a1 assets\create\blockstates\secondary_linear_chassis.json -81931eb1027dfb42ba4b2186185a4c0a36e0dbe4 assets\create\blockstates\sequenced_gearshift.json -79ae6d86a829b9ce82fce68a6377d3810fcfcb10 assets\create\blockstates\shaft.json -e815bfd854c2653f10828bb11950f7fb991d7efc assets\create\blockstates\speedometer.json -d62b7908119fa4f51715a186d0882b388bb25cab assets\create\blockstates\spruce_window.json -8d7dfa60630a8b4bae4e8eca5c66e1cfa34dda1f assets\create\blockstates\spruce_window_pane.json -3d93eabbb327aecc526beae9c62283f1d43eb710 assets\create\blockstates\sticky_mechanical_piston.json -f385988cb6fa9c48b5d59a6942ec50ed2b60c8bf assets\create\blockstates\stockpile_switch.json -e815bfd854c2653f10828bb11950f7fb991d7efc assets\create\blockstates\stressometer.json -8b0c2c7ac72529565b3339aa8df7565858100afa assets\create\blockstates\tiled_glass.json -a2454400b1cf9889f70aebdc89c52a1be25f543c assets\create\blockstates\tiled_glass_pane.json -e122bf687d991dd2d7a05670039da7937f96ca05 assets\create\blockstates\transposer.json -a8094531617e27a545c4815ab2062bf0ffca3633 assets\create\blockstates\turntable.json -d45450255fd7a64cfd2bd8856fd4cff01a49cc8d assets\create\blockstates\vertical_extractor.json -69dfe8afaa8eb6105dae9f76ab8b7847bf90b8c6 assets\create\blockstates\vertical_framed_glass.json -c4db76b9d36cfb098df0d158cb6f8b82768ebe14 assets\create\blockstates\vertical_framed_glass_pane.json -0ecc57db2487ed6b370b9cc43d2a873c61d7c37e assets\create\blockstates\vertical_linked_extractor.json -751b99625aca1b4122a0333bfaf93325d37eb003 assets\create\blockstates\vertical_linked_transposer.json -02199afb5b6ebcbc8e11567df05f39eface39e39 assets\create\blockstates\vertical_transposer.json -d995547bcd71603ba7378d8998098e462030bfd0 assets\create\blockstates\water_wheel.json -f182669f7547964f9f2ef67916568556870def7b assets\create\blockstates\weathered_limestone.json -27e6740834c0f673acc3531371512daa6dcab025 assets\create\blockstates\weathered_limestone_bricks.json -abb74e4f4c2b9851670cb6ad794281b0f7be0f5a assets\create\blockstates\weathered_limestone_bricks_slab.json -3262e838fd36d514dad6b86b83402772c0ddfdc5 assets\create\blockstates\weathered_limestone_bricks_stairs.json -5ebbc4b70baba82da677ade1110277bb012bbe8c assets\create\blockstates\weathered_limestone_bricks_wall.json -f02e0d7738c3c3622d9051db7deca7a9de274868 assets\create\blockstates\weathered_limestone_cobblestone.json -fd7a9c7095372485081436c91489cadb2b0c514e assets\create\blockstates\weathered_limestone_cobblestone_slab.json -47f8c91ff4c3f5cad782ab469a1fe5f4909dc7f1 assets\create\blockstates\weathered_limestone_cobblestone_stairs.json -c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_limestone_cobblestone_wall.json -c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json -4647010162eb4c350fad236d860317eaa1884c77 assets\create\blockstates\white_seat.json -a3a11524cd3515fc01d905767b4b7ea782adaf03 assets\create\blockstates\yellow_seat.json -7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json -b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json -a3ab099f56df07f3ffcedceb30d1bf31b6bb9f9a assets\create\lang\en_ud.json -34fdfd3138c647dfbfc691c1806dc556e98441dd assets\create\lang\en_us.json -224278e010e3c2bd9c3e3b351d6403af88d14630 assets\create\lang\unfinished\de_de.json -ecbd3680c894786a564aa02748cbb901c3bcfbd6 assets\create\lang\unfinished\fr_fr.json -e11ffd52f43f14e4ba49608a7183b84928b8ea68 assets\create\lang\unfinished\it_it.json -a7302b0c727c53254ffe5f93d7cc139b83268e0e assets\create\lang\unfinished\ja_jp.json -4d82492bbd359d97e51d7e87e0fb9ca653c91d75 assets\create\lang\unfinished\ko_kr.json -107933935edab7e6a90195114dd91a51e645fd9d assets\create\lang\unfinished\nl_nl.json -1529beab7a5971239bcb6b0b8f219da4bd61b60b assets\create\lang\unfinished\pt_br.json -a999e6fd8ff0fb35c725792fa274205fcdbc39f9 assets\create\lang\unfinished\ru_ru.json -2b1a05ce5ec43658e974749a53c2f0d8b103f54b assets\create\lang\unfinished\zh_cn.json -846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json -1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json -1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json -7d23c8e4543108f5f53b78ccb4908f7a5bb76c54 assets\create\models\block\acacia_window_pane_post.json -3bdcc6bd616a179ffc22e66307aab538e9bcb75f assets\create\models\block\acacia_window_pane_side.json -7b5b6809e3ef685a497ba15b549d3918aeb6c135 assets\create\models\block\acacia_window_pane_side_alt.json -7c81658c8839fdb23429e54f847c2a0aee0e866e assets\create\models\block\adjustable_pulley_end_horizontal.json -20cfb751fc395a0e07c66ce87ab035207f9d1e0e assets\create\models\block\adjustable_pulley_end_horizontal_powered.json -bb02f94b260be8fe1944b801cc4050b4d213f1df assets\create\models\block\adjustable_pulley_end_vertical.json -634b76bd58fe3d485fc2a3212a10a7b3ff6a92a7 assets\create\models\block\adjustable_pulley_end_vertical_powered.json -b3937db45bc7af8eefc0459f5429f9d79490e12e assets\create\models\block\adjustable_pulley_middle_horizontal.json -b0dc21bc9c0e48f4a557f760e351db6c99f34585 assets\create\models\block\adjustable_pulley_middle_horizontal_powered.json -e4cf5269494e614eaa699b0ed104ca5829e86f26 assets\create\models\block\adjustable_pulley_middle_vertical.json -d190170ebddb64c7874ef18e380dc6ece8f46007 assets\create\models\block\adjustable_pulley_middle_vertical_powered.json -9eff0ff2df8f7baf5ad3c0f47730f6d260822e99 assets\create\models\block\adjustable_pulley_single.json -7f731fe96ca538256fb98ba77e8857edb5cd2306 assets\create\models\block\adjustable_pulley_single_powered.json -68ad5cab7a32235aabf060f05d72d5a2dcfd0e74 assets\create\models\block\adjustable_pulse_repeater_powered.json -415d9426fae5e6db7d09c9813d96db940e383eb7 assets\create\models\block\adjustable_pulse_repeater_powered_powering.json -cda6f9761431c5b8538f746db2dc55e5fb57bf01 assets\create\models\block\adjustable_pulse_repeater_powering.json -ce5e0cd1598cf2228bb77a68c304dd210f3848f8 assets\create\models\block\adjustable_repeater_powered.json -c82a31943f5adb4a64c6db4c48c94cbce5d95bc4 assets\create\models\block\adjustable_repeater_powered_powering.json -51cf61f8bc25cf62b0e0c0705c75512809358ff0 assets\create\models\block\adjustable_repeater_powering.json -e4af27010c74bb5b1e79b6fccf1669526e1bb5e3 assets\create\models\block\andesite_belt_funnel_pull_extended.json -502916dc860e5ba971af51c640192b5ac02e574f assets\create\models\block\andesite_belt_funnel_pull_retracted.json -f1ba5c40d5e580d3c46d2eeab37b59263d0b0904 assets\create\models\block\andesite_belt_funnel_push_extended.json -5689f01354dcb8bf1547467c7c5b86468f962bce assets\create\models\block\andesite_belt_funnel_push_retracted.json -4d412de3eb98dfee548a0dcdbae5d0168ac67123 assets\create\models\block\andesite_bricks.json -054ef3fff7f146dbf8adc92dc2b6d169c2bdb7a5 assets\create\models\block\andesite_bricks_slab.json -8784414839f6a5786bf43d6a7dff6c27bdf7fe46 assets\create\models\block\andesite_bricks_slab_top.json -65e606737196fbc94a3a18601db6eeaf7eb18414 assets\create\models\block\andesite_bricks_stairs.json -71e05082703286f237ccfd1f353da86da4f67aeb assets\create\models\block\andesite_bricks_stairs_inner.json -87d60652c7ceb8f03a26c2e0853243d1f397555a assets\create\models\block\andesite_bricks_stairs_outer.json -f0a955282f7abd5ce0b412ec7b59024113ca970a assets\create\models\block\andesite_bricks_wall_post.json -0ed2fa65af49b5c92c4e5c688c155e37d3d6b118 assets\create\models\block\andesite_bricks_wall_side.json -b9943c5585fc081385ea49a4199efeb6c7c22423 assets\create\models\block\andesite_casing.json -d89f1a04622290303729479ce5e19768f296a297 assets\create\models\block\andesite_chute_funnel_pull.json -911cd82e8716a076a7760534de845f60db3534fb assets\create\models\block\andesite_chute_funnel_push.json -77a045e855eb37d2da7ed8f7d27a85b9546c0ab8 assets\create\models\block\andesite_cobblestone.json -7d816d54c85bc7d0cc8db9c68abcba960daa7b43 assets\create\models\block\andesite_cobblestone_slab.json -5179ecd1f926bf3211a1a3f033dfd1d2368eeb20 assets\create\models\block\andesite_cobblestone_slab_top.json -2c0fd862bbbfa1cef2d418661ed180e39b0a3988 assets\create\models\block\andesite_cobblestone_stairs.json -ad255a62a5f54b578db06e89fd7160001f905675 assets\create\models\block\andesite_cobblestone_stairs_inner.json -a033fbac3129bba9211c6c4a0e16c905643afa39 assets\create\models\block\andesite_cobblestone_stairs_outer.json -1c574ee47aeb6fcb305bfc95dd131e153b795a0e assets\create\models\block\andesite_cobblestone_wall_post.json -0ed983628e8868f77301bea1111570d3631f24fb assets\create\models\block\andesite_cobblestone_wall_side.json -9febbf6fb88e726a89573c3788bd8348ba805b6d assets\create\models\block\andesite_funnel.json -b1d0bb538fc8285b7d3fd77a977d78a104b83b62 assets\create\models\block\andesite_pillar.json -01ad35140f53b2c7d3c36ce148629351ab91412b assets\create\models\block\andesite_tunnel\cross.json -cdfd39b052f0f606abfd34d9330d536d7f0f1281 assets\create\models\block\andesite_tunnel\fullshade.json -4425b48e65cc855cee37abd6c7ec1356c703e87c assets\create\models\block\andesite_tunnel\halfshade.json -1ee32dacef1840d526579ac93560f85869053e6d assets\create\models\block\andesite_tunnel\straight.json -4cf6628da4d000ef84497781853f8df31ac91d93 assets\create\models\block\andesite_tunnel\t_left.json -fc94e50b17588232db29f917e90f9659e36ec967 assets\create\models\block\andesite_tunnel\t_right.json -1405be1d4ca1aeced9a287f0d1fca5ba3cc722d2 assets\create\models\block\andesite_tunnel\window.json -e8bfb63e0a4426f9d95cd111640169b218dead1b assets\create\models\block\belt_observer\detect.json -a2e63810eceb028484b193ddf4315e1811950dc8 assets\create\models\block\belt_observer\detect_belt.json -034c308d46def892e6638ac0b3374849a6a88a26 assets\create\models\block\belt_observer\detect_belt_powered.json -0bddcf5449e18abbc11e984f4b125141b14baaf7 assets\create\models\block\belt_observer\detect_powered.json -c521e51b557f4643027fe7a8ec9d4f6a4ade1279 assets\create\models\block\belt_observer\eject.json -79863633fc1fec21241650a5eb3203cf4d3fd210 assets\create\models\block\belt_observer\eject_belt.json -a6d8262629371113147f8b13986a6f72c51fc100 assets\create\models\block\belt_observer\eject_belt_powered.json -2dad3c6bd49c4b608ad7c30567bb3e5845c46cf8 assets\create\models\block\belt_observer\eject_powered.json -e1b801f2f37a78f18a787f4484f7b8ec57671c4f assets\create\models\block\belt_observer\pulse.json -fc6dd3e43af11ede6ef5d402d30715ebf69dac2e assets\create\models\block\belt_observer\pulse_belt.json -7d2490e4228ce4f0ee8875d5ac5fef92eea68015 assets\create\models\block\belt_observer\pulse_belt_powered.json -fa79580db6187c864bc8148a41987ecdd1eb03b7 assets\create\models\block\belt_observer\pulse_powered.json -4f14a279e486242a65b4d6dbcdfc33db9b71942b assets\create\models\block\belt_observer\split.json -670adf5eee3f7a4b99267bd837334be6a8173e4e assets\create\models\block\belt_observer\split_belt.json -819d3107908ce21220ad45b0ae3e1c92c13c601d assets\create\models\block\belt_observer\split_belt_powered.json -76078947044ca9fc7860708ae9717a0ae47ebb1e assets\create\models\block\belt_observer\split_powered.json -87f90e8256060683b834d57d3c11248d5ea84e34 assets\create\models\block\birch_window.json -94317904054cbf651846716d8af3bca618d3130f assets\create\models\block\birch_window_pane_noside.json -7a4cae5b075c4ac96a3113afafa391d024fc117f assets\create\models\block\birch_window_pane_noside_alt.json -3905ced5892afa60009bf26279f9fa4756c273d4 assets\create\models\block\birch_window_pane_post.json -62b3f2edc5ef5d7dabbcff19220921b0e3582376 assets\create\models\block\birch_window_pane_side.json -95d4230eb366f5e7684820c9337e3956ed34042a assets\create\models\block\birch_window_pane_side_alt.json -97d79ab99c0fb278a9b5dc54e1c6563868f87b76 assets\create\models\block\black_seat.json -e58b00a7222152d7facbe0e82f00933b974df747 assets\create\models\block\blue_seat.json -7f2ed408fb662a23a75c29398e75bb9deff4c2b5 assets\create\models\block\brass_belt_funnel_pull_extended.json -242c9972e2dc70671ffef4de15a31a74b800fcb4 assets\create\models\block\brass_belt_funnel_pull_powered_extended.json -3f88752bbf2d4d635cfadb9c7217035a74ff78e3 assets\create\models\block\brass_belt_funnel_pull_powered_retracted.json -da2ae304a1b1e02b1ce03cd0205be66d824e16d6 assets\create\models\block\brass_belt_funnel_pull_retracted.json -91ba57aded6f4a99208a8812650f454b1a44fe8b assets\create\models\block\brass_belt_funnel_push_extended.json -ee79efc65b05d953784b00e573d37602629eb9e8 assets\create\models\block\brass_belt_funnel_push_powered_extended.json -1231141717d6609f0e3c282996b1739a2c790e0c assets\create\models\block\brass_belt_funnel_push_powered_retracted.json -253e88f2c11006abdc87156dd409ed3944bb7295 assets\create\models\block\brass_belt_funnel_push_retracted.json -0934933df6bfbb19a1b14cd0e3cab2c18d5a3ebc assets\create\models\block\brass_block.json -166a5c053a81e6aadc24509ed24dc144a7255969 assets\create\models\block\brass_casing.json -8c42d09a18fb17fe846365138d0f0d58c6a3c05e assets\create\models\block\brass_chute_funnel_pull.json -7b3d2865ee7611940af017161aaabc7cb107225d assets\create\models\block\brass_chute_funnel_pull_powered.json -78122dd0f7b65bd071974030682fa484c31d7ba2 assets\create\models\block\brass_chute_funnel_push.json -7edf6b5c95f61071d8a9243a63e786765d6104a3 assets\create\models\block\brass_chute_funnel_push_powered.json -6c617fc504cb2259263d24fc56c4735e455aac6d assets\create\models\block\brass_funnel.json -2f152b82291b7fc994191b1ffb8ec6d65aec748b assets\create\models\block\brass_funnel_powered.json -eed69194b5b53e285d39bf2d794e67300497bf6f assets\create\models\block\brass_tunnel\cross.json -06efb094dd1ca296614d2a15c74d2aca63503b97 assets\create\models\block\brass_tunnel\fullshade.json -da066edd238414610a14fd092f7e06705d36fd9e assets\create\models\block\brass_tunnel\halfshade.json -77fc3e676e25d84d88dc2b452b2263b366a408f6 assets\create\models\block\brass_tunnel\straight.json -11bfe6b44bbf5f5af88295317f20a91dbf6ebfcd assets\create\models\block\brass_tunnel\t_left.json -fb1a38ee7e4a58711f2f2d90edc13c8a5aedd31c assets\create\models\block\brass_tunnel\t_right.json -67d96d75e9c2b3d9e0c781c514efb85486fce0ad assets\create\models\block\brass_tunnel\window.json -4eed0ad902f5e84f2b6c160f3283e8028640e77d assets\create\models\block\brown_seat.json -028a07b49c05fe8a93f1d8c229d81e73d887c2df assets\create\models\block\chiseled_dark_scoria.json -b1f9ee4867373dd8f976625bab744a1c72c7fd16 assets\create\models\block\chiseled_dolomite.json -cd7751090cf3d55296b8e415d0af9b6f18d69770 assets\create\models\block\chiseled_gabbro.json -d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets\create\models\block\chiseled_limestone.json -ac07568fa7b2d3fa84d0fe89a498514d30514291 assets\create\models\block\chiseled_scoria.json -ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets\create\models\block\chiseled_weathered_limestone.json -f9a3f0939ea43b404eb2826b94211a25fca5ebc2 assets\create\models\block\clockwork_bearing.json -70406933cc4fa5471af6e562fd84a397347dba17 assets\create\models\block\copper_casing.json -1ef7060b0ca7e9c0bfc8151f98ca08da31862cda assets\create\models\block\crate\brass\bottom.json -4ef2c7c3018f2d219f159a3ce58ceb00610b9c5d assets\create\models\block\crate\brass\left.json -c76cfec1279d307c52f9502fdba3425f38219168 assets\create\models\block\crate\brass\right.json -9e55a49ecb99841627f5c2560e5b3c67310919ee assets\create\models\block\crate\brass\single.json -a09f639bde4c61d68592eb06c807e7a6791ff950 assets\create\models\block\crate\brass\top.json -917914f6b8aa9234bbffb434ba07f706c5d1232a assets\create\models\block\crate\creative\bottom.json -03a56c112a947735ff1682d5d9c3202e7796bce9 assets\create\models\block\crate\creative\left.json -7635211e4d833748acaea37ea48b1f749c32ea5f assets\create\models\block\crate\creative\right.json -a123e3c8a9e2ea1665f268cf3991aa7e4b3119c6 assets\create\models\block\crate\creative\single.json -29ab5cfe7aed1271ede125e91bf78c1372b5f96e assets\create\models\block\crate\creative\top.json -6704782830b3d872321e895b6903709c18e3778f assets\create\models\block\cyan_seat.json -57e70af1da4e971eca075616b787b70104189d60 assets\create\models\block\dark_oak_window.json -c7b06bc1688f3f9417d38c492d83069f493df78e assets\create\models\block\dark_oak_window_pane_noside.json -3cf8adcb5d1c8f53d2144e1a85bebe593522a34e assets\create\models\block\dark_oak_window_pane_noside_alt.json -6060e8256251807871046edb701ae9af057c6b25 assets\create\models\block\dark_oak_window_pane_post.json -6b548c48245d3f9d0cc8340495f0218c8c76968d assets\create\models\block\dark_oak_window_pane_side.json -a021dc24e218a0d12af8c1defd6eb994f3cd52ef assets\create\models\block\dark_oak_window_pane_side_alt.json -e12bf7ec94790c1fef9db1e0a209ba55b026f39e assets\create\models\block\dark_scoria.json -acbf07b2b9518dd10b03f34a46115432b6e9bf18 assets\create\models\block\dark_scoria_bricks.json -04c07c1c83371d21e79e2f54b89bed840b0b373c assets\create\models\block\dark_scoria_bricks_slab.json -b51e13fa3704c6b731062758e1bb0fdbb8d3b501 assets\create\models\block\dark_scoria_bricks_slab_top.json -f054596722c031e05403d1dfa0ebb873549364f3 assets\create\models\block\dark_scoria_bricks_stairs.json -955b30a1010ae5d1923f9759af86dee1a881d061 assets\create\models\block\dark_scoria_bricks_stairs_inner.json -f4ae0b386bdf3173a8cd30c11993395c5ff6557e assets\create\models\block\dark_scoria_bricks_stairs_outer.json -024df9c96f8004418529cfc2558f4f066eeac21a assets\create\models\block\dark_scoria_bricks_wall_post.json -3cdcc41c6b833d14a00942504c49ff2261aada88 assets\create\models\block\dark_scoria_bricks_wall_side.json -4b0850fdf9ace0f10250692c93196d5620b800ba assets\create\models\block\dark_scoria_cobblestone.json -02a39b76219bb3a52d1947cf7f72cbc1df2fd673 assets\create\models\block\dark_scoria_cobblestone_slab.json -87119cdd2e5a5793e83c534128c1da15e5ea639f assets\create\models\block\dark_scoria_cobblestone_slab_top.json -203f4fd2cfaba624620a352f6d65ba58f0412a40 assets\create\models\block\dark_scoria_cobblestone_stairs.json -4a78513a157ee7c5ed7ccaadd2bf8954268c203b assets\create\models\block\dark_scoria_cobblestone_stairs_inner.json -868362ffc0331d24e35407a27b65cbfa94c538af assets\create\models\block\dark_scoria_cobblestone_stairs_outer.json -310c6ec1d83a7731ca4baac0ebddf1b508ce1c70 assets\create\models\block\dark_scoria_cobblestone_wall_post.json -fe7666edd1e5117384c4ff032cc25cd06175df24 assets\create\models\block\dark_scoria_cobblestone_wall_side.json -b29e7589789628ddc180e146aab70ad70a461ccf assets\create\models\block\dark_scoria_pillar.json -b021c62e9c164d37bee0af97a75a0fb91dd1c9ef assets\create\models\block\diorite_bricks.json -2820f2976d73deed740356fcd19cfb4f4f493f9f assets\create\models\block\diorite_bricks_slab.json -5fb8e28b42b803199c6347f27fb06480f2d637bf assets\create\models\block\diorite_bricks_slab_top.json -70fe07eb3b04286b165d5f2e9b5fe1e75e85ad1e assets\create\models\block\diorite_bricks_stairs.json -aa23e5c6f5f3be1e7cb57f03fe044b2c6a4cfea5 assets\create\models\block\diorite_bricks_stairs_inner.json -e8dfebbc0d53bc707daafff42461fa58f4d568c4 assets\create\models\block\diorite_bricks_stairs_outer.json -5b749343983f90edcdfb07412b41014840c2b485 assets\create\models\block\diorite_bricks_wall_post.json -aed9793db091577ca75bfaf496cc9967204cb27a assets\create\models\block\diorite_bricks_wall_side.json -4a1cbe7266099a0433bc341ca5b0f750568b2355 assets\create\models\block\diorite_cobblestone.json -2ad5210a878dbe4b31c6ce5e1962fb3c0fd7f450 assets\create\models\block\diorite_cobblestone_slab.json -0587d7c549648ebd8796ad39b1887497842bbfb9 assets\create\models\block\diorite_cobblestone_slab_top.json -3e959e30e67820f14c2b5afcdd5e710025d60341 assets\create\models\block\diorite_cobblestone_stairs.json -77906d654b5601e58b1485abb4d91b10bee6d665 assets\create\models\block\diorite_cobblestone_stairs_inner.json -7e4c4297dd55ee374ed5b3599c9b86ca2001d952 assets\create\models\block\diorite_cobblestone_stairs_outer.json -98738523c2aaf9ded7f0a23edd3df05d0a1684dd assets\create\models\block\diorite_cobblestone_wall_post.json -0907ef0284c7b8624d627fca66a3bb58d0f8dbb3 assets\create\models\block\diorite_cobblestone_wall_side.json -fc589cad1cee51965d4015404ecfd3c5be7bf9e9 assets\create\models\block\diorite_pillar.json -bc70a14ba2410586e8df5df2f5f367d1160b99ca assets\create\models\block\dolomite.json -bf5a698cb710b7eea9f34224be963fd949e48fd1 assets\create\models\block\dolomite_bricks.json -6fcecec93ca2d956908e3f24e9f9c2b1a9cf6866 assets\create\models\block\dolomite_bricks_slab.json -6f0cee5268aba5a54619c51fd703fcdb5abef317 assets\create\models\block\dolomite_bricks_slab_top.json -e83a06bffddbbc901246c18451057385bbeb4368 assets\create\models\block\dolomite_bricks_stairs.json -3a77383e573704b77952cc757653347edfbea4e2 assets\create\models\block\dolomite_bricks_stairs_inner.json -92f359fa78c7a923c6093abe0e2054364c17ff4a assets\create\models\block\dolomite_bricks_stairs_outer.json -f12601207b1cf723ed84ad07b6fdc54305707689 assets\create\models\block\dolomite_bricks_wall_post.json -227729855743169df83e5795ca98af45cf7ce193 assets\create\models\block\dolomite_bricks_wall_side.json -8dfeac10f0e994714f8528608ec01f165e024e12 assets\create\models\block\dolomite_cobblestone.json -38a7bdd45f3cd806f229ae4f21df45e981c5044a assets\create\models\block\dolomite_cobblestone_slab.json -e0bc8a3e14cdab30f0304d59200392858aac6753 assets\create\models\block\dolomite_cobblestone_slab_top.json -eb3f33f313beb57f05172a60259efbb39b99b64c assets\create\models\block\dolomite_cobblestone_stairs.json -c9f925ee5d38173873e3885d34d9f2a41fb355d4 assets\create\models\block\dolomite_cobblestone_stairs_inner.json -cc6d9300cd26f2323c653dbcc61b7a885be8fa3b assets\create\models\block\dolomite_cobblestone_stairs_outer.json -a101974d906487326dc38916f828d12a278a49ae assets\create\models\block\dolomite_cobblestone_wall_post.json -9c497140dfe73abe1964479eaf1af8f1892de290 assets\create\models\block\dolomite_cobblestone_wall_side.json -999a7cd79a9dc80c47fd6103b65f006b55187402 assets\create\models\block\dolomite_pillar.json -17dae5fdc1a551d8ab1ab8a68cabf7a8c3848d86 assets\create\models\block\fancy_andesite_bricks.json -cfb2cd84a1cbd9226a77ebc1f6c29e8eaa9c577f assets\create\models\block\fancy_andesite_bricks_slab.json -8ee27601996ab577991b6a0f7e9df27db0282cad assets\create\models\block\fancy_andesite_bricks_slab_top.json -07562e409b89e641c65884e52299d01bc7bb5d4c assets\create\models\block\fancy_andesite_bricks_stairs.json -8f4ff7a0dbc504555aa4aa4034a58dac58bfddc8 assets\create\models\block\fancy_andesite_bricks_stairs_inner.json -c1e49595d1608099bbf6be79c277b37ee83cb4d1 assets\create\models\block\fancy_andesite_bricks_stairs_outer.json -ad10259e6b2afe96cf7420f53813dea061654271 assets\create\models\block\fancy_andesite_bricks_wall_post.json -a69dd114a8c6889a8cf84b3c818ec68c823d45a4 assets\create\models\block\fancy_andesite_bricks_wall_side.json -e02e5d3049e414ba2bebcbe0c9e98a7a6f668044 assets\create\models\block\fancy_dark_scoria_bricks.json -8aafa8dcba2f77ffa044d2a1a708ccb7ee9ad150 assets\create\models\block\fancy_dark_scoria_bricks_slab.json -e0349402a5d1ba7ce787cc516568aac0fe6e3a77 assets\create\models\block\fancy_dark_scoria_bricks_slab_top.json -0b70f03aa9d520826bd95848dcc50d42497c2962 assets\create\models\block\fancy_dark_scoria_bricks_stairs.json -0efa7fc5b325be824f314424273ff693eb9c1c5d assets\create\models\block\fancy_dark_scoria_bricks_stairs_inner.json -d6d1354ed26cf6b08f3f1a8d624abcd0a38c88d7 assets\create\models\block\fancy_dark_scoria_bricks_stairs_outer.json -9f622e86a49954e3ec3ad30186e2782595306786 assets\create\models\block\fancy_dark_scoria_bricks_wall_post.json -fce2c713cf10bcf22e5d67a2992e9b2cc6361fa9 assets\create\models\block\fancy_dark_scoria_bricks_wall_side.json -b5262f179a7e16a4ea38e610ad0cb5f542c3ce23 assets\create\models\block\fancy_diorite_bricks.json -613531115eb9da3e62c8f29f7bda070b9636d21d assets\create\models\block\fancy_diorite_bricks_slab.json -5b5e0ffb6dbee224e0b113e28a28cec0400fccc0 assets\create\models\block\fancy_diorite_bricks_slab_top.json -56d4280cdd32d0084891731e77719ae5b12c1343 assets\create\models\block\fancy_diorite_bricks_stairs.json -63f6a321bc330d394b0f4504e43a381ab27052f4 assets\create\models\block\fancy_diorite_bricks_stairs_inner.json -a35cf29224543bea9e410633156c6e7eb9b2cd33 assets\create\models\block\fancy_diorite_bricks_stairs_outer.json -e9c641ee32689729d020a9ec3cdf8b6f323c5d68 assets\create\models\block\fancy_diorite_bricks_wall_post.json -7aea79798d3a28172cfd5dbccbcc1bc27d6e1858 assets\create\models\block\fancy_diorite_bricks_wall_side.json -8d2d5e999618ac31fdece4a629a676e8dc123d92 assets\create\models\block\fancy_dolomite_bricks.json -a619df1e34763ba4c5d07ae09646626b47ec20ea assets\create\models\block\fancy_dolomite_bricks_slab.json -28f7c18f1a991f6ac2feb232c4d8dfacda1147c0 assets\create\models\block\fancy_dolomite_bricks_slab_top.json -76e8f44ed6c65f05e95fa092507a59b0b4ec06a9 assets\create\models\block\fancy_dolomite_bricks_stairs.json -b53c77095b44821e89199e7c060b9b51eeee08fa assets\create\models\block\fancy_dolomite_bricks_stairs_inner.json -7f3a5b2beb22180cc3eeb4c180132f3e909501be assets\create\models\block\fancy_dolomite_bricks_stairs_outer.json -0bb02cea3f7e4835503edaa6d3fb63d22750ebd9 assets\create\models\block\fancy_dolomite_bricks_wall_post.json -dc3433b852df03964bf65e7d1e2f4475741bc35c assets\create\models\block\fancy_dolomite_bricks_wall_side.json -31f49733e5fca173547c6fdb10f76b896fcc5995 assets\create\models\block\fancy_gabbro_bricks.json -b7f39739146673062d537399d3afc82c724b5487 assets\create\models\block\fancy_gabbro_bricks_slab.json -4ff85261739e4252b7d15fd35e87a7a39ba618d6 assets\create\models\block\fancy_gabbro_bricks_slab_top.json -02a8dc9079d62a138343df963c951e5a24be4967 assets\create\models\block\fancy_gabbro_bricks_stairs.json -907c443b1deb4aa1e852d038fbbbccf43439a00c assets\create\models\block\fancy_gabbro_bricks_stairs_inner.json -f573f3310f05385536c4eb285e83844faa8f97ce assets\create\models\block\fancy_gabbro_bricks_stairs_outer.json -16edcdd0330034cc27c34bf4b7962a12a9758584 assets\create\models\block\fancy_gabbro_bricks_wall_post.json -75dc73daac8c47bf032313cc2234bcd6cb1570ce assets\create\models\block\fancy_gabbro_bricks_wall_side.json -4b2759734096cbe5219d62d2f8506aecc19697af assets\create\models\block\fancy_granite_bricks.json -9dbb77b7bab451db81db5d1f4f241c710f186117 assets\create\models\block\fancy_granite_bricks_slab.json -bcface0b5cad3c2498c9bd774676d5d2ad3a7fcb assets\create\models\block\fancy_granite_bricks_slab_top.json -bfd6c7779ab9fa23fae2e3a55924d0831a3e49ca assets\create\models\block\fancy_granite_bricks_stairs.json -bbb97a95452efbc20545d9a275c3d7d45494fb41 assets\create\models\block\fancy_granite_bricks_stairs_inner.json -cfbb7d33ec6313c56731385f8321a3aac9cb0455 assets\create\models\block\fancy_granite_bricks_stairs_outer.json -1a1a92f776c558173bff0e88e736fc8c89d49603 assets\create\models\block\fancy_granite_bricks_wall_post.json -13a94c47fe855532882e22ab3c7e96c4ad101df4 assets\create\models\block\fancy_granite_bricks_wall_side.json -d2c78c1efc32154b5cb7b6994e237b12b11995c7 assets\create\models\block\fancy_limestone_bricks.json -62d3c6f4cbc5e3fb21e8b8ac1a4b6b7d13c71f4f assets\create\models\block\fancy_limestone_bricks_slab.json -c194a63f4c4759c907fdfdeefbc61a7e52b0d98c assets\create\models\block\fancy_limestone_bricks_slab_top.json -2a3524c64c9703f12f713cbb2ac629eeb7387dd7 assets\create\models\block\fancy_limestone_bricks_stairs.json -92e3cc9b274cb1cad33fc0b9a47e220030cfeab4 assets\create\models\block\fancy_limestone_bricks_stairs_inner.json -6c9ac7b68f8d0716ce6929ed4a513b00daa0ec41 assets\create\models\block\fancy_limestone_bricks_stairs_outer.json -b2f3ff1718bd599ceff121b6afa3e4b4a7121c20 assets\create\models\block\fancy_limestone_bricks_wall_post.json -28c828ae08f3a84d65b5d7a28864ea9911cc3cf1 assets\create\models\block\fancy_limestone_bricks_wall_side.json -6da75b5353a49f8c68ebc8e760a1ea9c1bd72cbb assets\create\models\block\fancy_scoria_bricks.json -aa752c7269ee79f584f2fd53b69f38ee407c5b83 assets\create\models\block\fancy_scoria_bricks_slab.json -616215efa32da630dca0e768fd2b2c4f3587ee3b assets\create\models\block\fancy_scoria_bricks_slab_top.json -0d1e864a85aee0a4e0b734d2c6fe7298195e056b assets\create\models\block\fancy_scoria_bricks_stairs.json -2910394962403031789e07ff7ce6cff411ee0d85 assets\create\models\block\fancy_scoria_bricks_stairs_inner.json -fb318bb52c43acfc0f371b69905ba4d286f85754 assets\create\models\block\fancy_scoria_bricks_stairs_outer.json -1888c192a0e765dbd264f64ae658ccbe1aa04a15 assets\create\models\block\fancy_scoria_bricks_wall_post.json -46351521c89870d27c8ed12937f5fdf8f4a234b2 assets\create\models\block\fancy_scoria_bricks_wall_side.json -daa7dca22c363d09a81f01716c80f09b22c65226 assets\create\models\block\fancy_weathered_limestone_bricks.json -857392d468416cdb55fdfa090e2c321c3fdf7024 assets\create\models\block\fancy_weathered_limestone_bricks_slab.json -8a63a56cf3ece060b1804ededdf103376691baa7 assets\create\models\block\fancy_weathered_limestone_bricks_slab_top.json -852a1dbcae18274080f6fe14483c21b8134bf56e assets\create\models\block\fancy_weathered_limestone_bricks_stairs.json -fff01c45f01d2b1c4c0555f2ab4d66442c90148e assets\create\models\block\fancy_weathered_limestone_bricks_stairs_inner.json -1ea72b0ca54c8237351b4be0a7b44b94a8b0bb87 assets\create\models\block\fancy_weathered_limestone_bricks_stairs_outer.json -d7385af6e7c8124fda4d391c2e7fba55cdc9977e assets\create\models\block\fancy_weathered_limestone_bricks_wall_post.json -215671ac8e468015e8d52054c863110465c33fc9 assets\create\models\block\fancy_weathered_limestone_bricks_wall_side.json -71f74388319567d4ab13c508bf3b4d59f1a19b2f assets\create\models\block\fluid_pipe\ld_x.json -bd6b0c6d773e3996d949de55873d20b0e192499d assets\create\models\block\fluid_pipe\ld_y.json -ddba92d010016a0147ceecc30a30c9c1622d3daa assets\create\models\block\fluid_pipe\ld_z.json -451b1d6934cb5dfe24b8adcc3b4a03a0d2be854c assets\create\models\block\fluid_pipe\lr_x.json -0276dc98fdac701d6dd8759325bbb9cab1fd4e9d assets\create\models\block\fluid_pipe\lr_y.json -c7b8990a135f7c85f4c746b9d65ccd12f1c91682 assets\create\models\block\fluid_pipe\lr_z.json -4613bc343fa2989234cca21d407bf23131856729 assets\create\models\block\fluid_pipe\lu_x.json -596ac821bce7ce390ff7db9a8f4e33504b657e78 assets\create\models\block\fluid_pipe\lu_y.json -693cdb2c8673161b2c12a05826ef881293db43d1 assets\create\models\block\fluid_pipe\lu_z.json -05159abc175a1fc9f4909ffa13090d0e142fa526 assets\create\models\block\fluid_pipe\none_x.json -e96e9c244b9392a0b328caa6084dc78bebca8b03 assets\create\models\block\fluid_pipe\none_y.json -85129ba2b9b8794e4e9424ad4428a5d7a5b56c41 assets\create\models\block\fluid_pipe\none_z.json -9d99fcd87fddfdf6f525e4d81cf08f1abfd3c749 assets\create\models\block\fluid_pipe\rd_x.json -4d823bc466fc21d080e2fcac3c8fdeb8f74a5f98 assets\create\models\block\fluid_pipe\rd_y.json -26d9d1c0f249a301d03497a1455335d1654f6db3 assets\create\models\block\fluid_pipe\rd_z.json -7cd3f00c05a2beb1b438c8daa415db258095bf2b assets\create\models\block\fluid_pipe\ru_x.json -c09f2f36e3df4642b48f9e331d5000c4f58047ca assets\create\models\block\fluid_pipe\ru_y.json -690c9c3dd5ad31a5f885ecaac4aa6d3a1ccbf7fe assets\create\models\block\fluid_pipe\ru_z.json -2635da812f9dec0c408fed329b3962bd14972d95 assets\create\models\block\fluid_pipe\ud_x.json -4a0d4fb1aaf05b8f388e4add0f45d2a22dde2ce6 assets\create\models\block\fluid_pipe\ud_y.json -f7d3a9ff5a0d050f5822dba9ec6cb68a2e4cdecf assets\create\models\block\fluid_pipe\ud_z.json -9730fcb02f679087e81e24c836751e625be6a298 assets\create\models\block\framed_glass.json -d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets\create\models\block\framed_glass_pane_noside.json -3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets\create\models\block\framed_glass_pane_noside_alt.json -a5938ddd48109f067a19a90a0f9abab655c18821 assets\create\models\block\framed_glass_pane_post.json -41645919ece236df5804a5a73ef682720194de34 assets\create\models\block\framed_glass_pane_side.json -8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets\create\models\block\framed_glass_pane_side_alt.json -af8bceaa94d714ab377ab9cef1a46ec8cd2b6382 assets\create\models\block\gabbro.json -d21fdbd5ae4013fed068e6ae015d68880d4d3d5c assets\create\models\block\gabbro_bricks.json -acdb20098521f67a530dd809190b1c024464749d assets\create\models\block\gabbro_bricks_slab.json -10621d5aecf9d97bbf0ffec5540d6590ba88eb75 assets\create\models\block\gabbro_bricks_slab_top.json -dfb61cb5f05c385fe9a459685804eef7a5961e15 assets\create\models\block\gabbro_bricks_stairs.json -c61f0ee76ba24ecb4f597f83b45ecea3ccb9531a assets\create\models\block\gabbro_bricks_stairs_inner.json -6dc59aaa66608e8d11b67ce2c5432f7b38003113 assets\create\models\block\gabbro_bricks_stairs_outer.json -9b851103cec9334e98008a8955df62f52edeab1f assets\create\models\block\gabbro_bricks_wall_post.json -ca28cec552b4d3401854c2d00d43b3a3e01995f2 assets\create\models\block\gabbro_bricks_wall_side.json -fbdc91941c4694507a759d105dc4284914a2eaa7 assets\create\models\block\gabbro_cobblestone.json -c660c81a9faaf7cd12b50d2a329e52c377cb96a5 assets\create\models\block\gabbro_cobblestone_slab.json -b5c4037b01c2e02eee1275a36d62b2f364a49775 assets\create\models\block\gabbro_cobblestone_slab_top.json -75589542f32d2cdad96afb2348cd6fbff2475b07 assets\create\models\block\gabbro_cobblestone_stairs.json -f278ec09c13f98ccbce1a8488d4d51c72f398ed4 assets\create\models\block\gabbro_cobblestone_stairs_inner.json -094d753164a282b2a5608202ab38bd354abb1a14 assets\create\models\block\gabbro_cobblestone_stairs_outer.json -5e50c62a9db350f3a2c0e4b1c37a8dc0d149f287 assets\create\models\block\gabbro_cobblestone_wall_post.json -820235f51e7c3b4c05a327c3aa66618ea1e89c9c assets\create\models\block\gabbro_cobblestone_wall_side.json -ede9c9209f9cee3d8e1ffc5008b1b8b026aee998 assets\create\models\block\gabbro_pillar.json -392dd57e5b96214335867799347e21ac0d05457a assets\create\models\block\granite_bricks.json -0ee90049ce09f1f1c96063bc7239cd1fadbdb947 assets\create\models\block\granite_bricks_slab.json -37737d6767ba08b6bd96de1ff3b920522dc3cd51 assets\create\models\block\granite_bricks_slab_top.json -e1fe76be531aec81e97a4b28f5e7cd426e48975f assets\create\models\block\granite_bricks_stairs.json -a976ff37a2acc9f84a37c397f06c08edc0a7674f assets\create\models\block\granite_bricks_stairs_inner.json -44189d38e42d2e2ab2c1115e569d60379f9d90a3 assets\create\models\block\granite_bricks_stairs_outer.json -f949f1e763f745f140e763043cc16d68c7ee0f1f assets\create\models\block\granite_bricks_wall_post.json -1d0e735ed822d17825f20270640510a68c835a3f assets\create\models\block\granite_bricks_wall_side.json -6b9e3507606968748e48517f3aa29c2c1ee4b16e assets\create\models\block\granite_cobblestone.json -99b6c148a801868be5b265a3f7a9b86e3bc46718 assets\create\models\block\granite_cobblestone_slab.json -a54dbe2ab2ddca316efb05d8d3094dc146ced339 assets\create\models\block\granite_cobblestone_slab_top.json -d52844bdcf33a2f0111c7664a848b510a0f13b8d assets\create\models\block\granite_cobblestone_stairs.json -e2fc1797ddb503b887cf0871526e7d889df32a05 assets\create\models\block\granite_cobblestone_stairs_inner.json -d25cb5553bfd89cd3fca61ebd2204bf2a44cc3da assets\create\models\block\granite_cobblestone_stairs_outer.json -cf267628d47aa424bc20977e69e255ceda3ddfe4 assets\create\models\block\granite_cobblestone_wall_post.json -a4f50b75a3186829fc5d62ee4e33997cd202dbd5 assets\create\models\block\granite_cobblestone_wall_side.json -349a58ac4e4535d0fe9ea467632ed904da2c6098 assets\create\models\block\granite_pillar.json -6eb5e59e803e1055968b90f3099cd0a17a1d3fd5 assets\create\models\block\gray_seat.json -1438b8ce54ac5557b8f10dcef94f3525eae19461 assets\create\models\block\green_seat.json -9730fcb02f679087e81e24c836751e625be6a298 assets\create\models\block\horizontal_framed_glass.json -d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets\create\models\block\horizontal_framed_glass_pane_noside.json -3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets\create\models\block\horizontal_framed_glass_pane_noside_alt.json -a5938ddd48109f067a19a90a0f9abab655c18821 assets\create\models\block\horizontal_framed_glass_pane_post.json -41645919ece236df5804a5a73ef682720194de34 assets\create\models\block\horizontal_framed_glass_pane_side.json -8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets\create\models\block\horizontal_framed_glass_pane_side_alt.json -2536b29d5d87ba7da1d0f29c791572f67d1bd951 assets\create\models\block\jungle_window.json -50ad1922e3fcc045c9ea9fc085fdeeb53ab95c7a assets\create\models\block\jungle_window_pane_noside.json -38e4df0859d04d1a2dd4973b530748eb39c9f6c9 assets\create\models\block\jungle_window_pane_noside_alt.json -bf353e0eb2f8906a14bc35edd4ba0c0100ac211c assets\create\models\block\jungle_window_pane_post.json -41db69ebd3815264bba50a842888d436105a5ebf assets\create\models\block\jungle_window_pane_side.json -45ae3d910768519c5490f0c55c986eb0fef0bccd assets\create\models\block\jungle_window_pane_side_alt.json -08db5db16af40320d5d28f68d0c59bea8ca4d181 assets\create\models\block\layered_andesite.json -072766a01b510ab062c22c811577d15a5822b7dc assets\create\models\block\layered_dark_scoria.json -3592d257cf99bb6aa507a0e4a88fd26bca992e8f assets\create\models\block\layered_diorite.json -e9b639cb29051249a9999dd05e09eb820159cd40 assets\create\models\block\layered_dolomite.json -ff78465839cbd36a356cd4153c721c88b1f0b297 assets\create\models\block\layered_gabbro.json -0fe90b060613a824effaeeff6b3d13399681cbf0 assets\create\models\block\layered_granite.json -8f1014b1fdef246c2ce525f33ade4f03c85d0217 assets\create\models\block\layered_limestone.json -9408ce7ba29a96053c9333b15a05d716752392c6 assets\create\models\block\layered_scoria.json -da71aca99ac5cf3731896be47e15d774397a3330 assets\create\models\block\layered_weathered_limestone.json -1a28b07da68d1461cd04c971ae548d94165e0cf3 assets\create\models\block\light_blue_seat.json -292bec1b9f962b17b29147d982a9b177618b7eb9 assets\create\models\block\light_gray_seat.json -ce6fb36a386c895486e021823eb008b0fa4862c3 assets\create\models\block\limesand.json -a2cbc86d24fdd70c5f33c8b30ba52a8928dde63f assets\create\models\block\limestone.json -447686a6861773e03c5c18f2de4bc11d06c65f78 assets\create\models\block\limestone_bricks.json -4aa8f22c5c48b20170f7050ad7ecf65d08c1a6fe assets\create\models\block\limestone_bricks_slab.json -7a890ab6513ead1b4d20b023e7a04a4d4d8b8c3d assets\create\models\block\limestone_bricks_slab_top.json -180c37c3ecec8e036a12840b1440c6b9d7b21cef assets\create\models\block\limestone_bricks_stairs.json -a30fc3563f85b189a16cb4b2af6cbb587b33b354 assets\create\models\block\limestone_bricks_stairs_inner.json -cb8d4ba5a0e1372520f55ddd659ed8f944700730 assets\create\models\block\limestone_bricks_stairs_outer.json -bd46a9a9650fc893b0403a4427dace9fc2c0002a assets\create\models\block\limestone_bricks_wall_post.json -774de72109796d55c5548e4194461ce27083a20d assets\create\models\block\limestone_bricks_wall_side.json -59202c99e39fc26497cd7c27b2e5edc9b1310457 assets\create\models\block\limestone_cobblestone.json -fe6a5228bf9ca394b234afd82467efe65544afc2 assets\create\models\block\limestone_cobblestone_slab.json -d1718b257af8f892a6ed28638399a57cc6c3d8dd assets\create\models\block\limestone_cobblestone_slab_top.json -3a15866b7c6df7e035afcc4b32321d8dad07d5f8 assets\create\models\block\limestone_cobblestone_stairs.json -fd0a970c68c7025040bede0a07fef46c9047f611 assets\create\models\block\limestone_cobblestone_stairs_inner.json -abef3f97c28321ded3bafc90918377981038d7b2 assets\create\models\block\limestone_cobblestone_stairs_outer.json -eee8ae85daa99fcd594da3d4af393726af69493b assets\create\models\block\limestone_cobblestone_wall_post.json -0effd13c1ff224f4c2d7017c6505f48d31815934 assets\create\models\block\limestone_cobblestone_wall_side.json -7336e008b3af80e054c9f15be381b7fe307e97d4 assets\create\models\block\limestone_pillar.json -31c9474210d8535c5417021fe042d4cc31e17328 assets\create\models\block\lime_seat.json -20432687c62402a4bc0f2415113e7470231cdf03 assets\create\models\block\linear_chassis.json -595bfec2293c44deae49147016cb7971bdd721df assets\create\models\block\linear_chassis_bottom.json -999ce855842170f47db9d1e8e8636c24f7d3ad3d assets\create\models\block\linear_chassis_top.json -b9abbd1dcf71e0a1416fd998a82a560c06cef5a3 assets\create\models\block\linear_chassis_top_bottom.json -cbee001cd1bb1125a97d1bb2d1e6e5a68f129303 assets\create\models\block\magenta_seat.json -0492070642fda75b943080022368505f2d065730 assets\create\models\block\mechanical_bearing.json -edf6ee4e590ebf162c00aa952d992f1bee2cad8a assets\create\models\block\mossy_andesite.json -55256e4df0038a619d80d3e6c50b0f3e3682e90a assets\create\models\block\mossy_dark_scoria.json -7b9609eaf8933de6db1a7114fd6631e7d9a16dd1 assets\create\models\block\mossy_diorite.json -a1846ec94662f06862efdc3f416be07039650d0f assets\create\models\block\mossy_dolomite.json -bc7302226ceac41eea2b857e4c49c00d307f682c assets\create\models\block\mossy_gabbro.json -f2f7cda5de21279ff8e359142c523e07a3377477 assets\create\models\block\mossy_granite.json -de9b0f933881cc735ae0acf2bd71e6eafa732ff8 assets\create\models\block\mossy_limestone.json -f88a9558a20033d4955e7b6de4f8aa23b1a11b9f assets\create\models\block\mossy_scoria.json -8c3296378aa7e5dc1bc7dfdde2f0a436b8bb8b78 assets\create\models\block\mossy_weathered_limestone.json -24cbd7e60a7769a8fc9f530978ef7094ae65a9eb assets\create\models\block\natural_scoria.json -269ec2c32ba22a216b1c6831e6284ef98e78ee75 assets\create\models\block\oak_window.json -f324403f578d724c118055ca04e6bec23607ea90 assets\create\models\block\oak_window_pane_noside.json -e55363147cc27fba84590c7e24460603988118e3 assets\create\models\block\oak_window_pane_noside_alt.json -88883e266828422f86ec71db455a41f0279926fd assets\create\models\block\oak_window_pane_post.json -aa12818d00d1995e5b8a218cb613215ec0161d23 assets\create\models\block\oak_window_pane_side.json -488dfd3f4bd82ab1b5b751b4a46881befb8d6819 assets\create\models\block\oak_window_pane_side_alt.json -fda0628a09ef726e3e8323b2f38b6a3e612dc2ca assets\create\models\block\orange_seat.json -006115bf8e36367c0c409effdeab939a54c20776 assets\create\models\block\ornate_iron_window.json -cc9614e892b12c6053d45a35d534eddf36285cf1 assets\create\models\block\ornate_iron_window_pane_noside.json -6b935d54de7c37f835df48f7b6e5e614a0d12b6e assets\create\models\block\ornate_iron_window_pane_noside_alt.json -19942331411716035d79adabe6d2daadd6025e90 assets\create\models\block\ornate_iron_window_pane_post.json -f400ef18ae2860f52dafaf4fe869146ae87b7ed4 assets\create\models\block\ornate_iron_window_pane_side.json -fddc53d6ead0d834e964e6a0d5b4e3cf2ea2d48b assets\create\models\block\ornate_iron_window_pane_side_alt.json -c5aa882a2f971d5b0c359a2e5fc601192a4b9403 assets\create\models\block\overgrown_andesite.json -46b88c9c94c14de4ceec82dfa6fa3390781e096d assets\create\models\block\overgrown_dark_scoria.json -ca08c15006d65701d72bb88852df884236822522 assets\create\models\block\overgrown_diorite.json -86dc3aaec9ff33d80fa13728ffa160517d5f19ad assets\create\models\block\overgrown_dolomite.json -09cca6819f93b5a941b8de002fd9eec647230ede assets\create\models\block\overgrown_gabbro.json -558b2a0d44d745ae80d4e3a099cc4d457ba786e6 assets\create\models\block\overgrown_granite.json -3368bbdf335c81b9e84adc30afeab9261256279c assets\create\models\block\overgrown_limestone.json -c21c58e982ec0eb1c88948ac53b570b26bf1c9bc assets\create\models\block\overgrown_scoria.json -6d7842c5c0f58a3cb3150e54bee2b51e7138df45 assets\create\models\block\overgrown_weathered_limestone.json -e151c82942df13d7f4296b6b717b12036c4c47fe assets\create\models\block\oxidized\copper_block_0.json -35cb12fe13b6f39d2baad9b5a1638b6c5b364513 assets\create\models\block\oxidized\copper_block_1.json -a7ea046b36c810816dd749727fcc3f1008807c4c assets\create\models\block\oxidized\copper_block_2.json -e06ed91723927def43bd21d9b26230c07e80151b assets\create\models\block\oxidized\copper_block_3.json -45dc4f29c527b614ce3b12706342233a6de82fa4 assets\create\models\block\oxidized\copper_block_4.json -3890ed69f41efe49233c063c572c6bfb8319e37b assets\create\models\block\oxidized\copper_block_5.json -6b681b9829a2493ee5312d4021e9302cb23d7e28 assets\create\models\block\oxidized\copper_block_6.json -b1ed190a331ba21ffeba378e9526364874a22a9d assets\create\models\block\oxidized\copper_block_7.json -375323c5dfaf643cdce4792e2c86ed6033d43412 assets\create\models\block\oxidized\copper_ore_0.json -e5be33b30e6e83ea1cfdf09201fde1255b0f7a11 assets\create\models\block\oxidized\copper_ore_1.json -cf9ab024daedfaab9e4f3f35cb788e259c3616a4 assets\create\models\block\oxidized\copper_ore_2.json -8f24fce14e52cc4082bf292c9ca8043c98023e0a assets\create\models\block\oxidized\copper_ore_3.json -db2990e91a12fd5c5a039b724da9377bb2a861a2 assets\create\models\block\oxidized\copper_ore_4.json -ffc37d15dde98e7e03d189f55fca33ac203bd1e0 assets\create\models\block\oxidized\copper_ore_5.json -4bfbc1352c961f6beeb35ca44bdc8f4084e7edc0 assets\create\models\block\oxidized\copper_ore_6.json -90daa6f691b18a078eab36a21c0a2d6fadfe20c3 assets\create\models\block\oxidized\copper_ore_7.json -2a88da386c48ff915c9a7fb6b1d96bde796020bb assets\create\models\block\oxidized\copper_shingles_0.json -79c45f98817de41f23e2a6a2a2197fdaf3e8ee8b assets\create\models\block\oxidized\copper_shingles_1.json -0085be85c60675694cfc97d39eb595327c953d02 assets\create\models\block\oxidized\copper_shingles_2.json -b4987ed1fbd44719e59cf911d606b964d51a734c assets\create\models\block\oxidized\copper_shingles_3.json -33d060556bd43b1b51f9a990fc802b204f07ceeb assets\create\models\block\oxidized\copper_shingles_4.json -c9f722cd27fb18239f796eb1fa11a73e5339005a assets\create\models\block\oxidized\copper_shingles_5.json -4df00795cde9497a0910584c6a53b62bfb18fef1 assets\create\models\block\oxidized\copper_shingles_6.json -712f8b01330a1aeff2efce5ac1ec2fdd84b622c7 assets\create\models\block\oxidized\copper_shingles_7.json -081d87f990e01211789e9d0dc43acfceb6982aaa assets\create\models\block\paved_andesite.json -30b9aafb43ecfffcbffdf0aa19b5243e38065ff4 assets\create\models\block\paved_andesite_covered.json -ab78afb3c487976c2dc5dcefa12153fd4a064ca8 assets\create\models\block\paved_andesite_slab.json -7883fa378c843ad87593798e8129eb82f6f2e034 assets\create\models\block\paved_andesite_slab_top.json -d2d8c145ee2ae181370d53224d23df7ec2f3a1c1 assets\create\models\block\paved_andesite_stairs.json -7481fc2f5a2b3ee2259b410da2c1f35e9bc0dff8 assets\create\models\block\paved_andesite_stairs_inner.json -1226bf0720fa814125f7718ec5f2216b36e75b81 assets\create\models\block\paved_andesite_stairs_outer.json -8856b9a15c3239be81cd49a25495367eb755bb9c assets\create\models\block\paved_andesite_wall_post.json -c5814ebc7106b7d729f444f782cc03b91ebdf66d assets\create\models\block\paved_andesite_wall_side.json -bee20297f99cb4377b9c478c86db0c10fd59fddc assets\create\models\block\paved_dark_scoria.json -40a4bc726fa798d6c969dcb0fd8a04941c0e18ff assets\create\models\block\paved_dark_scoria_covered.json -c7bcf573bc82403bb84ac8df63bec1c445cd8e30 assets\create\models\block\paved_dark_scoria_slab.json -9f66f54331e40df74c6b63987d6183aca11695d3 assets\create\models\block\paved_dark_scoria_slab_top.json -5fa06fd6002ec820528623d47ffb67d3c7ac71d9 assets\create\models\block\paved_dark_scoria_stairs.json -313a75f8469ed545da798ad922b55188af1f152b assets\create\models\block\paved_dark_scoria_stairs_inner.json -f86a35c6f20a4582311677bd4ed515cfc52f6719 assets\create\models\block\paved_dark_scoria_stairs_outer.json -f4e0b3486f97dfca7dc0508d807afe037d79a40a assets\create\models\block\paved_dark_scoria_wall_post.json -a5201829b4ec5ff4f940c1b8d903f6766cb62f46 assets\create\models\block\paved_dark_scoria_wall_side.json -ed010fd12474e33023399848eaa2560e67fb1786 assets\create\models\block\paved_diorite.json -9f0f979d9e15a87a909cc7ee523c9efa2fee188f assets\create\models\block\paved_diorite_covered.json -4dc52f0705c0d3add4abf4273d1021cf907c5f10 assets\create\models\block\paved_diorite_slab.json -98556b2a6bab79bd34464c5b54b832ae716dccb0 assets\create\models\block\paved_diorite_slab_top.json -b745c52b431c44683ef6f6eb35d29a795323ac71 assets\create\models\block\paved_diorite_stairs.json -4a45dccbf43ffd8a3e6d2afb41156e24bf69c262 assets\create\models\block\paved_diorite_stairs_inner.json -b06dabc15eca7c4d8e41eb784de259a2fb0b32b1 assets\create\models\block\paved_diorite_stairs_outer.json -e3349e5f33144dca393a08fe573b499917a6491b assets\create\models\block\paved_diorite_wall_post.json -727dfa282f0f9c9f462243c6b85edd3b964982d5 assets\create\models\block\paved_diorite_wall_side.json -af2c89fcdaa2e414ca309e3cee25fe316f976269 assets\create\models\block\paved_dolomite.json -2c907a7d85c6f078fd8c7cab25d7fa0fce95cbb8 assets\create\models\block\paved_dolomite_covered.json -cd87ae72be668bf69f61b83ca0e8579963556d69 assets\create\models\block\paved_dolomite_slab.json -a2e38092ec694840be0cd5d0dd632586668166da assets\create\models\block\paved_dolomite_slab_top.json -1257a4336e687c8a8ae083d7277be594d392df49 assets\create\models\block\paved_dolomite_stairs.json -876d6a25ac6bd8a69b3a302ccd9f5db6de20855f assets\create\models\block\paved_dolomite_stairs_inner.json -f352f5468190893ccf05f77fc93c312c1bee75b2 assets\create\models\block\paved_dolomite_stairs_outer.json -0b280906a41d046dd4340f6cfcf9439abbefa388 assets\create\models\block\paved_dolomite_wall_post.json -7dd9db1faa5075f4c024a7150bbaa36aa206a004 assets\create\models\block\paved_dolomite_wall_side.json -bf650bbe4a716461ee6629d55a80e4fdbf186e7d assets\create\models\block\paved_gabbro.json -3b61df4ad67c9dcc732b1af9efa11ae6fe82c8f0 assets\create\models\block\paved_gabbro_covered.json -386cfdccfc679e32a4ef3c298a5b17f079b7f40d assets\create\models\block\paved_gabbro_slab.json -01d58ff2bb85cc74163aa4c6e528ebd5529342a6 assets\create\models\block\paved_gabbro_slab_top.json -52a5f96e46d53261097a4e190510b64f9f2a4f97 assets\create\models\block\paved_gabbro_stairs.json -97101aeefced27810dd89adc753b1a3e9526f3b6 assets\create\models\block\paved_gabbro_stairs_inner.json -648982e8e37f75b4146096dc04e2ce46c69f25dc assets\create\models\block\paved_gabbro_stairs_outer.json -405bf0ad098f7e525b0b46b2e0810a45ec3f22f2 assets\create\models\block\paved_gabbro_wall_post.json -2b03c0f5fa9ff9b5a18fb64eb1963ee49a585236 assets\create\models\block\paved_gabbro_wall_side.json -737ddffd50beb12e64fc651abf6b39eef15678b8 assets\create\models\block\paved_granite.json -6520e67aedc7f09ae1e0ccf249421dbbbc01c410 assets\create\models\block\paved_granite_covered.json -cf9afa3923d1dd6f9082ea2579c671663cb12aa2 assets\create\models\block\paved_granite_slab.json -981101ec1847e17bd7115580995059fcdbb0a39a assets\create\models\block\paved_granite_slab_top.json -a56941299579280b1ac970802b15b91d0f2af60f assets\create\models\block\paved_granite_stairs.json -9f98d88d6194a740afe26fab7b510ad0ba7b612a assets\create\models\block\paved_granite_stairs_inner.json -b1d2b9eaef07034c619ff897d22440a8e3f30624 assets\create\models\block\paved_granite_stairs_outer.json -d5190b5ebfd581f66a63f7c8af191e484851fb25 assets\create\models\block\paved_granite_wall_post.json -1313a39aac0091a92ebdcd67efa5682b0fa8b6c2 assets\create\models\block\paved_granite_wall_side.json -5caa126fbc2aa3e970c04a93b369e43dbe75ba4e assets\create\models\block\paved_limestone.json -598dab6d11f56cce1d98c46855ccde3f8c3a40db assets\create\models\block\paved_limestone_covered.json -40b0930304bfbed399e0fe4a46d6d4ee23015060 assets\create\models\block\paved_limestone_slab.json -7234c2cc3f40224fa881e7347ab72b154e102bb8 assets\create\models\block\paved_limestone_slab_top.json -7b30942c7e504f0d4656a81bcc11eaa83eddbebb assets\create\models\block\paved_limestone_stairs.json -ff51dfa74e7c3f7c7f6c05ccafc39333b6c1e1ad assets\create\models\block\paved_limestone_stairs_inner.json -9e70c6f40945e723ebe1525bfe317c221a1493e6 assets\create\models\block\paved_limestone_stairs_outer.json -0711327be8ecf3dff399a22f10ed4962c311fc9d assets\create\models\block\paved_limestone_wall_post.json -7bf11f179347567575bd839b6df5982c54309a47 assets\create\models\block\paved_limestone_wall_side.json -df6fdefa2a2bdd6ab737244234c907f88cf38070 assets\create\models\block\paved_scoria.json -3041e4b37080bb6ed2ccaa4e7727791bdac14394 assets\create\models\block\paved_scoria_covered.json -c2034068ee2c9a9dfa7d7070df8742891a599576 assets\create\models\block\paved_scoria_slab.json -5d6f360d60157b54c9f676a71390ea5bec4ba1a7 assets\create\models\block\paved_scoria_slab_top.json -ac2017f2746b34b173eef62cf60586d4a3dacbc3 assets\create\models\block\paved_scoria_stairs.json -a07f07b9e03f07fa4681b291191a9c15527f956c assets\create\models\block\paved_scoria_stairs_inner.json -cd54fcdacb9a762bba771ddcfe6d4bd824495e7b assets\create\models\block\paved_scoria_stairs_outer.json -c495e4fee97b022fd1f3c97ff51543c79bab1cab assets\create\models\block\paved_scoria_wall_post.json -7524fedd7bf1283eb2ee2747af8031a2cade5f97 assets\create\models\block\paved_scoria_wall_side.json -651289c401a89ee5a1a21497153067e7e46918cb assets\create\models\block\paved_weathered_limestone.json -afe2c1f8a14119f3746e741214fd0438bf0ed26a assets\create\models\block\paved_weathered_limestone_covered.json -f09a45d1d83aad870018f779472510a9d6201a4b assets\create\models\block\paved_weathered_limestone_slab.json -a36fff1ba5d2b5e40468c106902e083b41a0d20d assets\create\models\block\paved_weathered_limestone_slab_top.json -cc36e21013b80b1dfa041b55047096db127ffa51 assets\create\models\block\paved_weathered_limestone_stairs.json -8589358359ef3a2fbe054ca61da13c4042e2f431 assets\create\models\block\paved_weathered_limestone_stairs_inner.json -743fc37d4c96834f9bd0697ad7990c721436b901 assets\create\models\block\paved_weathered_limestone_stairs_outer.json -34ba32e570e0a54501db071b9f8c38513edea93d assets\create\models\block\paved_weathered_limestone_wall_post.json -daf65510d95730bcf0373d746f2a2dbfe6b44fc0 assets\create\models\block\paved_weathered_limestone_wall_side.json -ecc60ce7ee6b753073a99c597db95d6d9df3d438 assets\create\models\block\pink_seat.json -83a4922d5799a5a1391a2675e9273caa24cde192 assets\create\models\block\polished_dark_scoria.json -3fcab24848791fcd591bf4a2a73147c3391e24b8 assets\create\models\block\polished_dark_scoria_slab.json -7c1b4b3b22c711224a54d55d7c49429c4238d5a7 assets\create\models\block\polished_dark_scoria_slab_double.json -3ea396a641bb21c15badaff996be3bca3076f73d assets\create\models\block\polished_dark_scoria_slab_top.json -9bbd768f40e839ac73f58f8cb5d53ae01c3fdf70 assets\create\models\block\polished_dark_scoria_stairs.json -9d1d2165a7c802518add0defccf6ae97e2d3b3d1 assets\create\models\block\polished_dark_scoria_stairs_inner.json -7b4401d6edb395052d409605a9d475e6345bd001 assets\create\models\block\polished_dark_scoria_stairs_outer.json -bc8ee0c03f6894b38bfa778fe5874d46fc2b6931 assets\create\models\block\polished_dark_scoria_wall_post.json -e2ba5f686d9bd400073073d40f571e7f780f60e9 assets\create\models\block\polished_dark_scoria_wall_side.json -3467c7239bcd6122ce8636f249e29f04dc3bec21 assets\create\models\block\polished_dolomite.json -69307691e26a042a769d9d9d223707083e42efab assets\create\models\block\polished_dolomite_slab.json -b6dadea740a2dec5edd6322994102d5014886d6f assets\create\models\block\polished_dolomite_slab_double.json -1085bcf23b13a587d620cce624546fa287104526 assets\create\models\block\polished_dolomite_slab_top.json -640ad613dce98a4fb37bf1c896fc12bf44762a8b assets\create\models\block\polished_dolomite_stairs.json -2d14ccf702b3d0074d12c04f84cea8a61d122ea3 assets\create\models\block\polished_dolomite_stairs_inner.json -0590c2b945abb66adb859cc85ebe22092f262180 assets\create\models\block\polished_dolomite_stairs_outer.json -298fa4cafd59612cac9cf9f2e8fe20228c02d28d assets\create\models\block\polished_dolomite_wall_post.json -7c52b561d00133ef0ed81036ad5552fbbe10285b assets\create\models\block\polished_dolomite_wall_side.json -ab65a7a8f0c12a441c8653043c59385b834ef71e assets\create\models\block\polished_gabbro.json -2931c767a92c642c7c0d296e38af8f08217263da assets\create\models\block\polished_gabbro_slab.json -f50506b204f2245893df223c86a9245af5ee7cc4 assets\create\models\block\polished_gabbro_slab_double.json -052969eeefba6fd97feb520bcfda97c994dad91d assets\create\models\block\polished_gabbro_slab_top.json -353ab3fa0c2250bff91efd7827f12af5d89f8ad9 assets\create\models\block\polished_gabbro_stairs.json -4c7796d26f3d0bda10244c3243d3e11691a90083 assets\create\models\block\polished_gabbro_stairs_inner.json -fa9f24ab6291189812c5697323c7b66bc960b23a assets\create\models\block\polished_gabbro_stairs_outer.json -bce13297eea7998073f998dffb5dfbd858f3c4ab assets\create\models\block\polished_gabbro_wall_post.json -04b2e4985401f484dfcd226ecb332247773b2f8a assets\create\models\block\polished_gabbro_wall_side.json -77cc6a327584ca4cef6ec3bab9eb1df1053a3fac assets\create\models\block\polished_limestone.json -78b4bc45cb2a89f07d7d012859aae4a995788ec4 assets\create\models\block\polished_limestone_slab.json -d4d74fcd6d6cb63d44392796bd7d8818dd117b57 assets\create\models\block\polished_limestone_slab_double.json -f1204df2a6e31679375045ea57cd07dff1d783ca assets\create\models\block\polished_limestone_slab_top.json -378038e958728919a2239eb0dd65ca5d72112b7f assets\create\models\block\polished_limestone_stairs.json -270091da3f63a2fb2af45ec0cc9200ecb45f5844 assets\create\models\block\polished_limestone_stairs_inner.json -4a7764d8e3aca090ccf34ab53b49941addd30523 assets\create\models\block\polished_limestone_stairs_outer.json -58620d0d6ac6bf70c5cf89951f6de84cf033ad7f assets\create\models\block\polished_limestone_wall_post.json -50b1a7510912db50bca9df368a7f1aade846cee8 assets\create\models\block\polished_limestone_wall_side.json -714126588c571fb7e56eab01b0a638de20f45270 assets\create\models\block\polished_scoria.json -d45780fed06163c231393bfff4ccd70a99e6ff4c assets\create\models\block\polished_scoria_slab.json -f7b96f804379f377038d07af4f1fbf6890ba7f7a assets\create\models\block\polished_scoria_slab_double.json -73d5e1cd975a506f2b07139d0506d5fa1021af75 assets\create\models\block\polished_scoria_slab_top.json -4eb1e9b1235141a2a1c529ca09a3353ee4be5cf8 assets\create\models\block\polished_scoria_stairs.json -0316333eddde04727d7def7c5b7555df6a4a8900 assets\create\models\block\polished_scoria_stairs_inner.json -e4e00e01fa479c6fc9aa450a2e7999ce94504987 assets\create\models\block\polished_scoria_stairs_outer.json -1b9e41ac5b2a89557613c2c8c2cd2c8abcf11af0 assets\create\models\block\polished_scoria_wall_post.json -46227ab60086f0978ba12b8c071b295060e775c2 assets\create\models\block\polished_scoria_wall_side.json -0975a5158ea64238f78c7db8e2a1ddbb4c49d9e6 assets\create\models\block\polished_weathered_limestone.json -8fdfd28ea7b9053b956a93c09d90129ba94baab9 assets\create\models\block\polished_weathered_limestone_slab.json -9243b6fa9210da0fed582b802d0ffc2e1923789a assets\create\models\block\polished_weathered_limestone_slab_double.json -9f3ff426e79bb446a3e913cb7fca0056bed57f0f assets\create\models\block\polished_weathered_limestone_slab_top.json -39bd43b67badad90e1377142facec0ef3e3cbbbb assets\create\models\block\polished_weathered_limestone_stairs.json -1eedeb1b66b7c48c848c66d3ed2d99f4d9e58966 assets\create\models\block\polished_weathered_limestone_stairs_inner.json -97c066d14c3ee37ce4f580d25d3c29ac94a6adf4 assets\create\models\block\polished_weathered_limestone_stairs_outer.json -6d690b231f60496f9b3103e71adda09f8e649158 assets\create\models\block\polished_weathered_limestone_wall_post.json -ba4e86079668f2c03070c99b8d8ef642b60fd634 assets\create\models\block\polished_weathered_limestone_wall_side.json -1c5e97ce8e5b3f5b320873120a4f3084915c0af7 assets\create\models\block\powered_latch.json -3e414b053b973729577a61bb1d73b9a2c2eb56a4 assets\create\models\block\powered_latch_powered.json -f22d7d8263dcabd726aa04784031ae9062633579 assets\create\models\block\powered_toggle_latch_off_powered.json -e6097d9ab9dc9954cbc750020bc33c7a423b73c6 assets\create\models\block\powered_toggle_latch_on_powered.json -622239a3a09fcac7235b9670eb395a530839a59b assets\create\models\block\pulse_repeater_powered.json -0102e253c941904f12de7acdd46b0079ee3ccf69 assets\create\models\block\pulse_repeater_pulsing.json -96adc7865ebe64b43865bc2fe914830c11258856 assets\create\models\block\purple_seat.json -27d64a828607f94296c0b86cdb35fad996bc5d23 assets\create\models\block\radial_chassis_side_x.json -7d1439a0b06e4014e396d498a9e42168f67773a5 assets\create\models\block\radial_chassis_side_x_sticky.json -a9885a3f69e3e2a2812c33bafd9140fcc5cc7c25 assets\create\models\block\radial_chassis_side_y.json -92a48c22cf2af0a3156844322f6bb469883608fb assets\create\models\block\radial_chassis_side_y_sticky.json -522f4733118d6fba172696e9478c8f9fe88b236e assets\create\models\block\radial_chassis_side_z.json -bffca231a146a6ac49e028f3790cdcbf375e98b0 assets\create\models\block\radial_chassis_side_z_sticky.json -12d4f4119b994c5d71c96ab3aa09beb89dad1e10 assets\create\models\block\red_seat.json -c145d8e0d7f8f41afa80b9727a107b2ad2f0c3c9 assets\create\models\block\scoria.json -59c6f6a4ffe43485244a8561d7e8341f796e268b assets\create\models\block\scoria_bricks.json -d86ca38a0c1bac89e545916c59f23f6f0c9f7d7a assets\create\models\block\scoria_bricks_slab.json -ac0731b633bf1d1af38fcb6b5c17dea405a017c8 assets\create\models\block\scoria_bricks_slab_top.json -aefdd0cf03f7b07ecbd20aa9743d8b0c1ac01c7b assets\create\models\block\scoria_bricks_stairs.json -fd93d2aa5e2e1646ddf12c3ca8c011eb0791653d assets\create\models\block\scoria_bricks_stairs_inner.json -54e43e6e17dd9df3696005cfb803fc20d403c1ae assets\create\models\block\scoria_bricks_stairs_outer.json -6e01226f5586ff2885b001a020386dcd9da4cea5 assets\create\models\block\scoria_bricks_wall_post.json -eb72b9a4daf4a045a7583d8187107edbad9d7856 assets\create\models\block\scoria_bricks_wall_side.json -a5feba461b74c57a9583ef855b779142a618a844 assets\create\models\block\scoria_cobblestone.json -b5de7b127d49a69ae57e4be6fa6a0299d9df357b assets\create\models\block\scoria_cobblestone_slab.json -7e5a50dbafa8f3b8e285fa6efb995ad234377242 assets\create\models\block\scoria_cobblestone_slab_top.json -0da9d63d95f0cc05e764c0db65dc9f05d9f6b803 assets\create\models\block\scoria_cobblestone_stairs.json -6fb83d3bfb13d62822fbab12bb991e7fc595c8ad assets\create\models\block\scoria_cobblestone_stairs_inner.json -de66b504054f37eca6e5eeee6245fb8f9db2e1bf assets\create\models\block\scoria_cobblestone_stairs_outer.json -34aa3f34fce851ac6f87be0c276e074dacd9bbf4 assets\create\models\block\scoria_cobblestone_wall_post.json -43cd43cc26ba06f953c52c3fb67841141a99da6e assets\create\models\block\scoria_cobblestone_wall_side.json -0e70dc21ac625a0796ded99c734087c97fa5966b assets\create\models\block\scoria_pillar.json -74cd7c13043f6a5c680a7c73ed46a44a7507b8bf assets\create\models\block\secondary_linear_chassis.json -fbe57e52b0234c2c379d82d6cc425d6ce9492454 assets\create\models\block\secondary_linear_chassis_bottom.json -e439d642f3c2049dce444b7b4bea8532eb22699c assets\create\models\block\secondary_linear_chassis_top.json -5fc7d8839c6de9363d22fd22be7f440aab853121 assets\create\models\block\secondary_linear_chassis_top_bottom.json -3fc9a7ae552095d0f45f8e632e2bf04d1378946f assets\create\models\block\spruce_window.json -f39904a8a73a25e440d6a35fad931f8ce7ef165e assets\create\models\block\spruce_window_pane_noside.json -7446e12a5ba91c008b17fd70484468caa36500b9 assets\create\models\block\spruce_window_pane_noside_alt.json -f15dfc9e4e6b991ee9fe10e8af3d9c98cb3d7e47 assets\create\models\block\spruce_window_pane_post.json -0e8be4d143d1fd8300c00ce709139a0e577cdec3 assets\create\models\block\spruce_window_pane_side.json -aea7061aed39bc8c9ab51c8d7d0d86b11fc9e6b4 assets\create\models\block\spruce_window_pane_side_alt.json -3bda065e24a71b82b92b9c805790ba6d1791ef6a assets\create\models\block\stockpile_switch_0.json -335d6bc2b19d3cdbc9ed8b344142e2e3aa397994 assets\create\models\block\stockpile_switch_1.json -655d5cd249291a550bb3508c97f5a7a3606a7848 assets\create\models\block\stockpile_switch_2.json -cd8242a881e78831f6573c1fef99f9941ecf6ef7 assets\create\models\block\stockpile_switch_3.json -ad1950ba333cb2095c0dba5c0c020517acbfeb28 assets\create\models\block\stockpile_switch_4.json -ba22751c2d11fbe0ee03d90d408250edb4148080 assets\create\models\block\stockpile_switch_5.json -d6a49bf3c26ab83de70190db5f8a9c6dca85df52 assets\create\models\block\stockpile_switch_6.json -43d5aec0654274af2202374a77aab0e74ea7182c assets\create\models\block\tiled_glass.json -57ba644714ec486df776d75692b1793b2bda25db assets\create\models\block\tiled_glass_pane_noside.json -886fa013d1fd3bdefbc1aadf0b62e2777ceff4c9 assets\create\models\block\tiled_glass_pane_noside_alt.json -3d293702831960ba6d924753d1fd35de71256c13 assets\create\models\block\tiled_glass_pane_post.json -efed7cdc64a732129964e8f8a9a20ff015f7d287 assets\create\models\block\tiled_glass_pane_side.json -1384613ed9e7f9cd737190703d932466a7143f35 assets\create\models\block\tiled_glass_pane_side_alt.json -9730fcb02f679087e81e24c836751e625be6a298 assets\create\models\block\vertical_framed_glass.json -d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets\create\models\block\vertical_framed_glass_pane_noside.json -3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets\create\models\block\vertical_framed_glass_pane_noside_alt.json -a5938ddd48109f067a19a90a0f9abab655c18821 assets\create\models\block\vertical_framed_glass_pane_post.json -41645919ece236df5804a5a73ef682720194de34 assets\create\models\block\vertical_framed_glass_pane_side.json -8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets\create\models\block\vertical_framed_glass_pane_side_alt.json -9ad34714c6be52f9277d888b6901e903ddc3f98e assets\create\models\block\weathered_limestone.json -9b4705c62bc8326ca9e53635de5f84c60085fa23 assets\create\models\block\weathered_limestone_bricks.json -732dd7554fe2c7ad4b0cdbc49d9d10de0da91a06 assets\create\models\block\weathered_limestone_bricks_slab.json -f7896fc9d052a29e16b4f4785455bfc276e24732 assets\create\models\block\weathered_limestone_bricks_slab_top.json -334bdfb69c00847f18b5252b310d4bcbe044b3a4 assets\create\models\block\weathered_limestone_bricks_stairs.json -86bc436e8a38db2c152a1f6cc2711de921283f00 assets\create\models\block\weathered_limestone_bricks_stairs_inner.json -e56eb7d2613b0c17cfbf09deba83334741f62812 assets\create\models\block\weathered_limestone_bricks_stairs_outer.json -30eefefe463c64e1b4c185046be157a29e848880 assets\create\models\block\weathered_limestone_bricks_wall_post.json -d6166f98b0260a4abe5b78d207636d061dfd7109 assets\create\models\block\weathered_limestone_bricks_wall_side.json -3edd6331b30b8db34a147ad4a47164359ce6c0d7 assets\create\models\block\weathered_limestone_cobblestone.json -4c6e4f8d29f62e460f38c69ba98d53383a2cbb91 assets\create\models\block\weathered_limestone_cobblestone_slab.json -273c2b0ac70eceea9d29e82d30318c2251f638a8 assets\create\models\block\weathered_limestone_cobblestone_slab_top.json -e75cd38014f3d96fa164e11a526d5dd74851763f assets\create\models\block\weathered_limestone_cobblestone_stairs.json -714c8065714e13b3b19d1411d8fefebc13dfd0fa assets\create\models\block\weathered_limestone_cobblestone_stairs_inner.json -eb838d687f7a925f5b91c4784bfbf33070515e31 assets\create\models\block\weathered_limestone_cobblestone_stairs_outer.json -7b70d26bf88ccc3bb0657e00c6ca50b7149d3643 assets\create\models\block\weathered_limestone_cobblestone_wall_post.json -5a866d7cca51056c15a5f51e171d89598426fade assets\create\models\block\weathered_limestone_cobblestone_wall_side.json -a5b04a1a35735713f51dcd5a80d9e582e6575bbc assets\create\models\block\weathered_limestone_pillar.json -1377e12f56dce1466ce44078d7154870c5cf7b2a assets\create\models\block\white_seat.json -0a0e2cc973e35586ae00ed17b919383868e992e8 assets\create\models\block\yellow_seat.json -c94c60d1d77404af7d74a29a094c7bdf7501b385 assets\create\models\block\zinc_block.json -a3ff06384fff574ac4cd6c253259f0734b025cab assets\create\models\block\zinc_ore.json -67ef6fd6ec26fc216fa5319b8538beb223da1530 assets\create\models\item\acacia_window.json -cbc0ebadda4497663437f99622914de678d0ffaf assets\create\models\item\acacia_window_pane.json -06d8b6e8f050b8ec0bef88b7633f3741baad4571 assets\create\models\item\adjustable_crate.json -10aba4b84af792048d27d3befb42d44b523b5f7d assets\create\models\item\adjustable_pulley.json -96fcec285c0c26a8cb55e126f8c7053c70ad188b assets\create\models\item\adjustable_pulse_repeater.json -30292e874dd36e45eaeebb8d0bb8c4867866a38b assets\create\models\item\adjustable_repeater.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 -851090d21c6e6c67444324d975c6b3270eaf4ff2 assets\create\models\item\andesite_bricks_slab.json -d283f86cd05ed378efd82ce46cf49bc83783069b assets\create\models\item\andesite_bricks_stairs.json -3954907be88f0b6713cec8dcfe0ff665ce33bbd4 assets\create\models\item\andesite_bricks_wall.json -174c9705d25f149052835fdcf7c85626afead90b assets\create\models\item\andesite_casing.json -1fd20e35848e47483f4f3e3ca3376b0519178952 assets\create\models\item\andesite_cobblestone.json -1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets\create\models\item\andesite_cobblestone_slab.json -b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets\create\models\item\andesite_cobblestone_stairs.json -4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets\create\models\item\andesite_cobblestone_wall.json -0a9f5f6d552813029474dbbfa31e8443ed91adcd assets\create\models\item\andesite_funnel.json -75b8b00c2418b9660d35a7fabd0774925cf1c02f assets\create\models\item\andesite_pillar.json -5889a1d445c576dc23cef8ab42c76f1d6cc4bfd3 assets\create\models\item\andesite_tunnel.json -bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets\create\models\item\basin.json -1da382e7e58eaa9788f5b1d92221ccac573e068f assets\create\models\item\belt_connector.json -695a69d5854e2eb134b55d855bd2b7b18808a01d assets\create\models\item\belt_observer.json -9044243882cfd49a2827e1b910a4c9b0e46daa47 assets\create\models\item\birch_window.json -6ed49f59ea91068ef68720f43e67a9237594bdf0 assets\create\models\item\birch_window_pane.json -22632bd681c8a605f0845f7549770389a741156a assets\create\models\item\black_seat.json -0e1977585128fc0ecef640f72e5fc5e9fb47ef92 assets\create\models\item\blue_seat.json -17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets\create\models\item\brass_block.json -f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets\create\models\item\brass_casing.json -ab045c951352806c3f632dda7b71573f93f60ac4 assets\create\models\item\brass_funnel.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 -7b231b9401ff151fa6b0e1361b64774b3a2051cf assets\create\models\item\brass_tunnel.json -24df6f8391d8ba09cef46e69d65d32ea770745cd assets\create\models\item\brown_seat.json -3e232a103f7f916fc11edb4d541ca99fe7b44181 assets\create\models\item\cart_assembler.json -99d64b76b3baa84c3bd4b96ccd3376ca12425950 assets\create\models\item\chiseled_dark_scoria.json -83d3571eacde52568786802b268f24c6578c1e5d assets\create\models\item\chiseled_dolomite.json -afd697168c9786eb80e54eccdc6a23afa6c7fb0e assets\create\models\item\chiseled_gabbro.json -0cb1692f6cdd007ac690fd1f0222dde3429d136f assets\create\models\item\chiseled_limestone.json -a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets\create\models\item\chiseled_scoria.json -70232ce9b88119fb383717e2c1ad113f7aad6a99 assets\create\models\item\chiseled_weathered_limestone.json -fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets\create\models\item\chute.json -b1531a7bd3f7f27b9587d13e818a93dc2d088bc8 assets\create\models\item\clockwork_bearing.json -0a2a0f0aafeab0088172f77afd40c1fa2cc1f2b8 assets\create\models\item\clutch.json -dcb09deae110077bcddf090996b51cc66e9a7de3 assets\create\models\item\cogwheel.json -965a90a882d85dba93b30af9bce7ecf8e68ce747 assets\create\models\item\copper_block.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 -200ef8378a9c014571c414433d4aef73a204dc01 assets\create\models\item\copper_sheet.json -d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets\create\models\item\copper_shingles.json -4e9126b349d55c65aa5407f05700579e52101c1f assets\create\models\item\crafter_slot_cover.json -7b333dea353afaa27b182aedc647c9e9e34e92ef assets\create\models\item\creative_crate.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 -dae5cffa4e1263d6a113469f79fba8695fa8232a assets\create\models\item\cuckoo_clock.json -3e3edc9ccded444496d3336926b93bbf1234cd84 assets\create\models\item\cyan_seat.json -f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets\create\models\item\dark_oak_window.json -e3e9ebbc694edad1f473e5c3a897d95cc87528ae assets\create\models\item\dark_oak_window_pane.json -f0e98871e4bb68c29954f2de24566a6404f21d9c assets\create\models\item\dark_scoria.json -411a6c77ec3c80b3d9134f6595d1996439c7af27 assets\create\models\item\dark_scoria_bricks.json -d59c7b08b4b246c9795e579ae1f0a4cdfbcea4be assets\create\models\item\dark_scoria_bricks_slab.json -b50e3471476783be80f28bb4e3543f5a426b9eb6 assets\create\models\item\dark_scoria_bricks_stairs.json -28ed58a754a31b6ace92fd0232b025fc6f87df31 assets\create\models\item\dark_scoria_bricks_wall.json -4dc989dde0810acc9631e03c96d53f4df95166ed assets\create\models\item\dark_scoria_cobblestone.json -6346b77a8a6b854ff345b9b256769dec98c9943a assets\create\models\item\dark_scoria_cobblestone_slab.json -e67fe11e9036c81f0f54d368b41a971822a84a32 assets\create\models\item\dark_scoria_cobblestone_stairs.json -59c87e6a439fbcbbbb254e07e7b48209ea31e40c assets\create\models\item\dark_scoria_cobblestone_wall.json -f5b2995929ac9dca9857d4618660ffa7778d5618 assets\create\models\item\dark_scoria_pillar.json -f06f56ffb1cd7c9a2b81c65f7796726692e5cc59 assets\create\models\item\deforester.json -2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets\create\models\item\deployer.json -84d87f715efab45dc7bcb2e3c0870ed56fa20ee9 assets\create\models\item\depot.json -a97ca9b6fc3e10a9c9409b27458a852222045e4e assets\create\models\item\diorite_bricks.json -7a28bb619d37a37ed82509d2ff395d76b4435961 assets\create\models\item\diorite_bricks_slab.json -920804b7380cca2c477d9f901e045597234246d7 assets\create\models\item\diorite_bricks_stairs.json -e266c702b136f20e9196e756bb97fb5c6f73b678 assets\create\models\item\diorite_bricks_wall.json -a215bca75c32124c4cb070065967de1d56c6c57f assets\create\models\item\diorite_cobblestone.json -8950fb51aa22e78c68ae2629e7c276989451ef66 assets\create\models\item\diorite_cobblestone_slab.json -645a16dfb3619cedf2046e1d0869a27394e6460a assets\create\models\item\diorite_cobblestone_stairs.json -a589798ef8b96d6106d0b029711e205a4ef23439 assets\create\models\item\diorite_cobblestone_wall.json -e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets\create\models\item\diorite_pillar.json -1bd32eb16dee4bbf313a8813a7f1461ea5feeffe assets\create\models\item\dolomite.json -4c5e12f1acb8c4abc24b9dd80e5cbbf3a5cbd89c assets\create\models\item\dolomite_bricks.json -ebb596ce665b085e501ee2fd9a5371ce53e40553 assets\create\models\item\dolomite_bricks_slab.json -9308b10e1108023b5bc61defeed1058844cc38c8 assets\create\models\item\dolomite_bricks_stairs.json -ea4f4b85827c0bc8034bb6524236eb0ce6310766 assets\create\models\item\dolomite_bricks_wall.json -8d03066b5fd36bdf017fcb54336cf64294f968cc assets\create\models\item\dolomite_cobblestone.json -f92bc71df40567367d08798a6ea45e7e8d0b07b0 assets\create\models\item\dolomite_cobblestone_slab.json -be7de1e1529fb2a2e842204136520a760676d4e9 assets\create\models\item\dolomite_cobblestone_stairs.json -6b03f2be8fa1e62a89d59859e7d40f9e45ab8b65 assets\create\models\item\dolomite_cobblestone_wall.json -e974cd23a5456baef8b634f2d21fd8c3822931ab assets\create\models\item\dolomite_pillar.json -82b73fafdb8bf4f0706012d5baab44cd0e1aa7bc assets\create\models\item\dough.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 -250bd0716cc1f04b03892ab74eb0b3a0f32a6158 assets\create\models\item\encased_fan.json -e0f9ad7e7d790e9e21a38fa57395fd3ff892359b assets\create\models\item\encased_shaft.json -68833e2a7836c73776551565783a1d175b715c66 assets\create\models\item\extendo_grip.json -956646df2a75ed651eabb403a3f9e1024538cd56 assets\create\models\item\extractor.json -efcbd30ad7a7658c02a3dc3de5fa0f21d7f49b54 assets\create\models\item\fancy_andesite_bricks.json -7ccd312084128c356307c7ca6e52c65d0a18907b assets\create\models\item\fancy_andesite_bricks_slab.json -c8eee9d8df7af227eba051e4b9a7e48a79e682df assets\create\models\item\fancy_andesite_bricks_stairs.json -959d5f3d6d93b46534a3a5c979daacdf0e325612 assets\create\models\item\fancy_andesite_bricks_wall.json -8794524183309b8185476bcd419fb9a59a879d04 assets\create\models\item\fancy_dark_scoria_bricks.json -7ba01ba3cb1215433b4373d6d5de1b9ba0fd78f9 assets\create\models\item\fancy_dark_scoria_bricks_slab.json -d39b008a22a2fbefd509e65eb5165f8a732dc557 assets\create\models\item\fancy_dark_scoria_bricks_stairs.json -a091529129511de51b0c55063a16d61d42dc1b6b assets\create\models\item\fancy_dark_scoria_bricks_wall.json -97b8c3e3125dcb6cfb2ddc55544605caed3baa05 assets\create\models\item\fancy_diorite_bricks.json -2a6ef7a830f95b480d8e36bbafa2d69419688c6f assets\create\models\item\fancy_diorite_bricks_slab.json -38c07a01059d2471f9fe099d0213b06132c67d0b assets\create\models\item\fancy_diorite_bricks_stairs.json -e7a8c9d008539dc05e6f26df48ddd2008ea91399 assets\create\models\item\fancy_diorite_bricks_wall.json -84a475673d8719b14aad1ffa4b960c3915461990 assets\create\models\item\fancy_dolomite_bricks.json -f3f8e870b2368386f006dadd149227d4c4045c2b assets\create\models\item\fancy_dolomite_bricks_slab.json -098130c5b60997962ff49220f8f0a918f0dfc277 assets\create\models\item\fancy_dolomite_bricks_stairs.json -7d27e7419de18c68695cf1c5444414fa80f6026c assets\create\models\item\fancy_dolomite_bricks_wall.json -e4d4aec87e5df25cc32209686fcae439fb47e3cf assets\create\models\item\fancy_gabbro_bricks.json -5842bd64fb9ce5a7893f32d86c1e7d0e52dec9ad assets\create\models\item\fancy_gabbro_bricks_slab.json -21ae57bca0821dc3df192377cfdc9b11de076864 assets\create\models\item\fancy_gabbro_bricks_stairs.json -f4802b85cca42bb3436a871ce9bb9bbdb80da454 assets\create\models\item\fancy_gabbro_bricks_wall.json -fd66acae47031df3de863691d81ed333cf98503e assets\create\models\item\fancy_granite_bricks.json -f4ab29d669c73651503188b8918fa6926d55f1b0 assets\create\models\item\fancy_granite_bricks_slab.json -668555d15f65972fb8b74a469f625e85b99325a3 assets\create\models\item\fancy_granite_bricks_stairs.json -7c778e27c8c48e376954018b5ce0f968aa760e1f assets\create\models\item\fancy_granite_bricks_wall.json -86af2a7d8e88189a86aa21e217006cb111f71173 assets\create\models\item\fancy_limestone_bricks.json -dd122445c8ad8cf65c07a649657ff7341e5aec7c assets\create\models\item\fancy_limestone_bricks_slab.json -5321d0726707859b9a920a6decac2c19f28f97ae assets\create\models\item\fancy_limestone_bricks_stairs.json -68ff3084a8d3efdac209e3ce05d3f52853c689ae assets\create\models\item\fancy_limestone_bricks_wall.json -bcd872f7eeba6512de5c070038fa2e0dc5c54d11 assets\create\models\item\fancy_scoria_bricks.json -3bcf2f856e7c6865a6849c738a7b9eb0b6a9e640 assets\create\models\item\fancy_scoria_bricks_slab.json -37df452fb88f4912e1287d0ec1f699465941b670 assets\create\models\item\fancy_scoria_bricks_stairs.json -ce6ee1fe4a92e26af75c2eaebd5055efdbdff169 assets\create\models\item\fancy_scoria_bricks_wall.json -9b32f3a1144b2e3a85ae416b5ef2d6b6df214eba assets\create\models\item\fancy_weathered_limestone_bricks.json -8fc219b471382cf67d2271edda14d173d40ae661 assets\create\models\item\fancy_weathered_limestone_bricks_slab.json -7c1ed1241d55b105f7acb997d7c0e24b4b945293 assets\create\models\item\fancy_weathered_limestone_bricks_stairs.json -7bdb3d8a59586654df0c2a84d73a346b898d247b assets\create\models\item\fancy_weathered_limestone_bricks_wall.json -e5e6fb6eb182b85b977e1025a7fe84d46de59320 assets\create\models\item\fluid_pipe.json -04b679a9342b0b5164c9fc8026b8fce5a067d511 assets\create\models\item\fluid_tank.json -8707332c0cb6ee123e7962d08536a60725c64ce8 assets\create\models\item\flywheel.json -d62b93d3c274d280f3eec22a28b5175943411d25 assets\create\models\item\framed_glass.json -1041d462c6e856f7f3f2365c299c0599703d1ed7 assets\create\models\item\framed_glass_pane.json -0bee2855dc9bad52e941153b87e9c35797c246ee assets\create\models\item\furnace_engine.json -090edb6a728fc3803e870d647c7c4e826faadca0 assets\create\models\item\furnace_minecart_contraption.json -2c1608c114ccc285a84e936dc3f1233c535e1a26 assets\create\models\item\gabbro.json -c35900cae8508c292a73239e560cebae17980f96 assets\create\models\item\gabbro_bricks.json -b10971277417369f421324b28f0a4b47ce4c8625 assets\create\models\item\gabbro_bricks_slab.json -0b86a2f3ec25fff558429823c6919a5ba081e10b assets\create\models\item\gabbro_bricks_stairs.json -1b234807907063bfe393382ed066d7c59b694d59 assets\create\models\item\gabbro_bricks_wall.json -307ad613fd2cd964544ea742ad32b4c48edebd09 assets\create\models\item\gabbro_cobblestone.json -61e46397848c551a34f941f31685e3c0a20533bb assets\create\models\item\gabbro_cobblestone_slab.json -b3d7398dbc16c450928bd76b772c273382687447 assets\create\models\item\gabbro_cobblestone_stairs.json -5680f24b43838cb6632bfcedba282a244bd24db0 assets\create\models\item\gabbro_cobblestone_wall.json -20950b692eecfccd77d96678bb3d909d51f6d787 assets\create\models\item\gabbro_pillar.json -6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets\create\models\item\gearbox.json -2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets\create\models\item\gearshift.json -52108a61865dab38133b9f916496ca680ae364ea assets\create\models\item\golden_sheet.json -46d813bcb6676078347383295bb7dbda1d9dd060 assets\create\models\item\granite_bricks.json -032a31c66d3de63595d478165d54b4f562e9831d assets\create\models\item\granite_bricks_slab.json -9d7a989d644af91a4ca5985396375863cc5de6a7 assets\create\models\item\granite_bricks_stairs.json -335bf361c82880c2e0be255b6c79c1370ad595b7 assets\create\models\item\granite_bricks_wall.json -085345339f11023b06717a786ab33f32b3902407 assets\create\models\item\granite_cobblestone.json -c1bb87fdbbefaf74e1ead186c43417a051ab3965 assets\create\models\item\granite_cobblestone_slab.json -3c5f83809f945134a861d4ea600a1708de58a422 assets\create\models\item\granite_cobblestone_stairs.json -e2d8561a8048fe6144362d13478bba4825588810 assets\create\models\item\granite_cobblestone_wall.json -b84a947a1b297513c85bb8d2dbbb780304c95e43 assets\create\models\item\granite_pillar.json -e7daa31c1fc445d542bad476dfe1d6a8811f2070 assets\create\models\item\gray_seat.json -1c9c9157a06108bf58967bfc4fb069c35d20e90a assets\create\models\item\green_seat.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 -e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets\create\models\item\horizontal_framed_glass.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 -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 -281e2b055c6eb6994ca306c8957fc80a98fb5473 assets\create\models\item\layered_andesite.json -7afeb6170b37cb464ea91be18928d21970d556d3 assets\create\models\item\layered_dark_scoria.json -385e9d787613af2d1079b899315f45efe9eec489 assets\create\models\item\layered_diorite.json -1f00c44adc396a401abc2e9804ee34df7bb6f256 assets\create\models\item\layered_dolomite.json -9a7a528d1cdde1d13dcdf8829ef1b10c95a0d412 assets\create\models\item\layered_gabbro.json -1220b440881e5d794dea2db41bc31f233b13eed1 assets\create\models\item\layered_granite.json -ad40f8eb28bea731131aeaffee55abecb8bc6a56 assets\create\models\item\layered_limestone.json -e7585210cf4754c89b4ba3dc95827b75029f0523 assets\create\models\item\layered_scoria.json -2df30e7f8cacc1efd6e025564d495f782e0dc697 assets\create\models\item\layered_weathered_limestone.json -be2b6d54afc515d93d6d5b3023c506c53cc946f8 assets\create\models\item\light_blue_seat.json -1b36382eae41b35585e5659cda019310731000fc assets\create\models\item\light_gray_seat.json -a29733a916141abf84492a288fe9ac4ed531f47d assets\create\models\item\limesand.json -e0a1c6102acc10a36de5ae87da629dd3d676e204 assets\create\models\item\limestone.json -1c2b99db54863eac4947824f4169e51c25d05bde assets\create\models\item\limestone_bricks.json -b4bb20a01c516b350c770a5e1149de5fda474eb7 assets\create\models\item\limestone_bricks_slab.json -e2445944c220ebadf7e079ba49306c98814cac29 assets\create\models\item\limestone_bricks_stairs.json -f2a1a2cc4bbe48c2b1c77e0eb5ab0322b1ec9881 assets\create\models\item\limestone_bricks_wall.json -58234b12ce29574c89bcbd558e467691fd9be267 assets\create\models\item\limestone_cobblestone.json -c26a0887356e9e55a0bdc3d885838e4722e0c0c2 assets\create\models\item\limestone_cobblestone_slab.json -ebdf23b99b7895e347c29057c8070a6e16e56beb assets\create\models\item\limestone_cobblestone_stairs.json -8cd46904fd9709377d514e0faf9150ca317f6a9f assets\create\models\item\limestone_cobblestone_wall.json -8065de871ad2fbaed711735561b8ed91a2ce0004 assets\create\models\item\limestone_pillar.json -2127f20dca4421802812e249b3caca6230a37eee assets\create\models\item\lime_seat.json -d245aa4994ff197b1ffeb7980d05f96bd20cdeb3 assets\create\models\item\linear_chassis.json -eb0053df13e362e0a05be65252944f0c94eab3db assets\create\models\item\linked_extractor.json -0242f25a8eb02b25f8b03344a1dfaf9ad0ab192c assets\create\models\item\linked_transposer.json -d912be3e87f2beaa8e22747f867739139667241b assets\create\models\item\magenta_seat.json -932facf4bf93b471e8630f4132a4284a9f4d0d39 assets\create\models\item\mechanical_arm.json -49dcc373c33f6fc3760add10eb51bd96cd4fd028 assets\create\models\item\mechanical_bearing.json -65ac4f19973ddeb1bb4d672f57319130e736e116 assets\create\models\item\mechanical_crafter.json -b416a3a2545a63d6839f7f2cb958c58e485a7eb6 assets\create\models\item\mechanical_drill.json -bbf18e5d54128375139c712e93b35ec25f59f2d0 assets\create\models\item\mechanical_harvester.json -06553037470a5ca5386c0d0bb1011d20580c0e76 assets\create\models\item\mechanical_mixer.json -f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets\create\models\item\mechanical_piston.json -726ae61699dc379a4f535c1be3ec2672a2f03583 assets\create\models\item\mechanical_plough.json -6c2acb80e53256fbb85f76851f335f9248ace6da assets\create\models\item\mechanical_press.json -4e363477e3e8059dd7b2bad04046521b31923d1b assets\create\models\item\mechanical_pump.json -bca99d467ec8ead10124becb60ac24b39be83de4 assets\create\models\item\mechanical_saw.json -0eb5726c8c0de462f432411c210d6132b2c446a4 assets\create\models\item\millstone.json -1134bc8ecdfefe5d30ee4973c37aa9a349c368b4 assets\create\models\item\minecart_contraption.json -dc43c88dc8ae1f425e1c10f422b09d97719af5bc assets\create\models\item\mossy_andesite.json -4ce9aabf9fa9e9e6af6b4339291e635708bdbcdf assets\create\models\item\mossy_dark_scoria.json -d084f03d068d0b8c3b7c4d00014c168f61836770 assets\create\models\item\mossy_diorite.json -d4743a48222f5c4fad44f940723925f0dccf59fd assets\create\models\item\mossy_dolomite.json -ec459f0f04f75e5c2c27bdad0375adb9768d1ba1 assets\create\models\item\mossy_gabbro.json -95da87eafc51c6ee5a6e93aae6379f47eb9aa46b assets\create\models\item\mossy_granite.json -38d9a51ca24786b85398c4670a1e8cb9dc794037 assets\create\models\item\mossy_limestone.json -055f6c58addfd02d889ef6436d344b4d308a65a6 assets\create\models\item\mossy_scoria.json -f384d2e28309c54207bd1c33abff99d015d698bd assets\create\models\item\mossy_weathered_limestone.json -dae5cffa4e1263d6a113469f79fba8695fa8232a assets\create\models\item\mysterious_cuckoo_clock.json -b5c73d353fbe1d073f6a2901f221f178b858e385 assets\create\models\item\natural_scoria.json -bafe601f186e868819da3d29f7be7dc96f9ba790 assets\create\models\item\nixie_tube.json -366a60447bbbd61eb25aecf191a01e8d9417ad61 assets\create\models\item\nozzle.json -7a336a340f3e4927d7a35f9d79e8a03693b802aa assets\create\models\item\oak_window.json -f274fe391ac584656c9817a5650b1c1e38e44c58 assets\create\models\item\oak_window_pane.json -25dfcc8b6f085722f6b2a0c686b77d437e61542e assets\create\models\item\orange_seat.json -0ffe242e3165d9a0e3fe16ad4c4ca91c7e9828b2 assets\create\models\item\ornate_iron_window.json -7d7da05da6248abc177e89988ed5c2aff1151767 assets\create\models\item\ornate_iron_window_pane.json -db23dec78b3355fc0de3485b8e9d915a20dc1f93 assets\create\models\item\overgrown_andesite.json -cd5c2fbad24dd059c5d93cfb11137a473b36f459 assets\create\models\item\overgrown_dark_scoria.json -5ac708433ee5cc7c13975217d39eb5649dfd44ec assets\create\models\item\overgrown_diorite.json -a74a56fc6442feef3069495d39010d0e051a0bfb assets\create\models\item\overgrown_dolomite.json -c321a885f5794ed0bec47bf70022ee9882bbd3c7 assets\create\models\item\overgrown_gabbro.json -e34c7bbdd4fcaa3a73c61584418bb159db49758b assets\create\models\item\overgrown_granite.json -e73e4be7e7eafdf9635a3d72eb7fa05c2bc1e54b assets\create\models\item\overgrown_limestone.json -a64a649428a2e130059f3f1f8de81b907621589f assets\create\models\item\overgrown_scoria.json -3354b93677c87bfc82807503c8d658fc6ab114e2 assets\create\models\item\overgrown_weathered_limestone.json -15baa926f7208040c437c920ae0c159a06057073 assets\create\models\item\packager.json -014530344c8b7e53531e3c09095b6ed4839d5ab8 assets\create\models\item\paved_andesite.json -bd81aa53b83c2f9683c024989d0305807cf28f5a assets\create\models\item\paved_andesite_slab.json -c61f409eb1a24cf76017b677579cb0423a1951c6 assets\create\models\item\paved_andesite_stairs.json -e4b6edfe2be4af6bd9324ad5ba66d2fc0b93ff45 assets\create\models\item\paved_andesite_wall.json -1e2eba674fed91fe83e55bc8cb3310c8c0ce5a01 assets\create\models\item\paved_dark_scoria.json -2150e84cd4d14e97ef7a0976a01089195a682a6c assets\create\models\item\paved_dark_scoria_slab.json -9e63939b6eb8d9b2e77bbc2258ca20de27322e18 assets\create\models\item\paved_dark_scoria_stairs.json -c0fb691421c1eac99c0e22abcd9a753673825ddc assets\create\models\item\paved_dark_scoria_wall.json -134fb828fb2f4d0d5de6b2cefbe406766c42da2a assets\create\models\item\paved_diorite.json -085769d715a8f27341915a7df1713428090d918a assets\create\models\item\paved_diorite_slab.json -ad0b1dedcc63c77271804b8af6cd0e9594b28558 assets\create\models\item\paved_diorite_stairs.json -9b6db6994f16d4e0d327716004663068ddd5e5de assets\create\models\item\paved_diorite_wall.json -326e2cd1f8d3d5ea46ea915dcae30f4f6fbbce72 assets\create\models\item\paved_dolomite.json -7b7ade8c8fffbcda014c415831298ba8726e01ee assets\create\models\item\paved_dolomite_slab.json -adca0341816b1d9d691d1bfcc0495bd15d5ebdeb assets\create\models\item\paved_dolomite_stairs.json -9e7c423ca9c27f84cbbb352ff950dc1dd57b1bd6 assets\create\models\item\paved_dolomite_wall.json -5aa6212b6b351de46befbe00767953fde8a45c9b assets\create\models\item\paved_gabbro.json -5311533b6285592fe6307c6538ffd3a01235643a assets\create\models\item\paved_gabbro_slab.json -6b2d1f94720eac18bb8e42634692a7984649470e assets\create\models\item\paved_gabbro_stairs.json -d442e64d7c147ecfdde1b0d851be7ad93b3e478a assets\create\models\item\paved_gabbro_wall.json -af3ec306551a5de6dc7ff53cb734fff656de805d assets\create\models\item\paved_granite.json -d231c92be80f3897a944709a0d7745943b250930 assets\create\models\item\paved_granite_slab.json -a2d3f2188637b329d62450485f2fd35cc1f2c7e0 assets\create\models\item\paved_granite_stairs.json -a72d76045cffeefcb490be6b6e8c667ebc1a8d93 assets\create\models\item\paved_granite_wall.json -d60c4fb6e0e68d8f6c137a0c601145c342236c18 assets\create\models\item\paved_limestone.json -25d090c53a7ce13b08be2dfb741cc1cead225498 assets\create\models\item\paved_limestone_slab.json -0eb5aee18a1f4bf64bae7d777f5521cd6ae2dd2e assets\create\models\item\paved_limestone_stairs.json -50edbd411b8998088d5b1e35fece468ad6c95ca5 assets\create\models\item\paved_limestone_wall.json -577490fcf3c1247d2cfc44b3595a704166c8de27 assets\create\models\item\paved_scoria.json -1a31883ef9c3a178d5682e45a9d91deacf60abf0 assets\create\models\item\paved_scoria_slab.json -8fe179c54c4f3dc24736f66889c971b5876448b5 assets\create\models\item\paved_scoria_stairs.json -65f1999459e25bb9f91b3da987184da8f1ec6de2 assets\create\models\item\paved_scoria_wall.json -2040945217d8c3077745812de07ce7444d4904e5 assets\create\models\item\paved_weathered_limestone.json -5ec22c676e301a7004ff7d127d20b46f49063c64 assets\create\models\item\paved_weathered_limestone_slab.json -d81f85aea5e683539a0f3c805c154b76a9d88a9d assets\create\models\item\paved_weathered_limestone_stairs.json -25eaccadfbabb60301f487807b0e839d525f2c80 assets\create\models\item\paved_weathered_limestone_wall.json -9664f171c7856661776c5c4ef0b6880a77db648e assets\create\models\item\pink_seat.json -04ce23dc141bedccc75b4512263da8b498f13205 assets\create\models\item\piston_extension_pole.json -1f7846aa06c3c22614c98cbec9112cc8632fa1b8 assets\create\models\item\polished_dark_scoria.json -c46f1191cfa225fa76973208646e7bd86d7fcb5f assets\create\models\item\polished_dark_scoria_slab.json -db8c0604529f47f7ef50c5a91ec3eab112a649a0 assets\create\models\item\polished_dark_scoria_stairs.json -05327514f1059450bb51cdebd7811100ec5ea430 assets\create\models\item\polished_dark_scoria_wall.json -c9e6ec5d6313e159c751d4f7eee1a1a543e74188 assets\create\models\item\polished_dolomite.json -68db13895c1a4017b036bc839bf4b4d83a4557d3 assets\create\models\item\polished_dolomite_slab.json -07aefeacec36467872e34b14ec4e1a56474decc5 assets\create\models\item\polished_dolomite_stairs.json -2a9597d0831b7cc9e50a1a0590f07fb0c1845158 assets\create\models\item\polished_dolomite_wall.json -bf2dd5b0f0bd6579ae6d8e07d81cb418679bf613 assets\create\models\item\polished_gabbro.json -c65246c4e2a738b7049edf208325482925932315 assets\create\models\item\polished_gabbro_slab.json -183e007e97155fae8dfd897d2f56bde07e915908 assets\create\models\item\polished_gabbro_stairs.json -cee4881472e679583d4ab8c2b3d21280093926af assets\create\models\item\polished_gabbro_wall.json -3ee599a9b8e46e5b6f759eace8d1dca3b3d065f5 assets\create\models\item\polished_limestone.json -6c899db964025a4e61245063ba2b917c5e14e5c0 assets\create\models\item\polished_limestone_slab.json -7b7e357c0d9abd524d267b197c3c7c8a031da493 assets\create\models\item\polished_limestone_stairs.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 -143139799880ed94c0b41bacfe3dc0a821d96c49 assets\create\models\item\polished_scoria_slab.json -e95125318055b8557afd7d108488cf0bdd81fe49 assets\create\models\item\polished_scoria_stairs.json -2ccb8f2eda89345221ec2a103702ee54de1a3b96 assets\create\models\item\polished_scoria_wall.json -8197d4494ff1d8d81be8fac9285246cc1c6bcf54 assets\create\models\item\polished_weathered_limestone.json -68fb04f7a89c8117bb641e347df9bfc1f1248335 assets\create\models\item\polished_weathered_limestone_slab.json -6d92ee7112aa20e8a1adfe73d8933031c299bed1 assets\create\models\item\polished_weathered_limestone_stairs.json -b4995fb4799f33508cd6bf2ded80c0b3e866ad43 assets\create\models\item\polished_weathered_limestone_wall.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 -3a6dfc7f36e31ebfcd650c3144a7f2210e8a4f9f assets\create\models\item\powered_toggle_latch.json -16f363038d5afeae34e0724a6a9f0b8f6e65424a assets\create\models\item\propeller.json -4b8a27ff05ed5331889dfc4b0b4562f3e94b0dfe assets\create\models\item\pulse_repeater.json -a598b2f5eb34b061e81efb8a55267a02f8e08a61 assets\create\models\item\purple_seat.json -469652eb5baa92008dbfc4deec232c3381684af6 assets\create\models\item\radial_chassis.json -b9a4ac219a27e60a82f55129f2df5ae6183981e2 assets\create\models\item\redstone_contact.json -52e561abeb954d0349e640566de92ef80ccbf919 assets\create\models\item\redstone_link.json -ba99e2fdb64892f4f479a8ac51c226cb5f71f659 assets\create\models\item\red_sand_paper.json -3e251514aa698076b73fdbfef720b78b21d3bd93 assets\create\models\item\red_seat.json -d9dd4546f4f4c6ed5fef66de9d272d469db4e81f assets\create\models\item\refined_radiance.json -901f7ad587dd07c9494d95bf7f08f93bb20db774 assets\create\models\item\reinforced_rail.json -6daff6b82b33374d7add65e352e05ecb2fd9ebdd assets\create\models\item\rope_pulley.json -fc54acc37695f21ef650c8310110407647e9a023 assets\create\models\item\rose_quartz.json -acfbf487ee65c2c58d89cb2644e33fda75751fde assets\create\models\item\rotation_speed_controller.json -be86c8156d55d2f128feb66abd70923b3be765cc assets\create\models\item\sand_paper.json -69196df5122a27573112dad49b334dea96aafed0 assets\create\models\item\schematic.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 -22a6dfdc3cbb1b6ac20ec123b490e15c72dfbfcf assets\create\models\item\scoria.json -44a99d0a4ec37dd33ea184e0f4b4bd54289eb19f assets\create\models\item\scoria_bricks.json -403c205f6f253b26287fd4479a1ff4ead3a2c229 assets\create\models\item\scoria_bricks_slab.json -74125ed1dff40e71c796b80ddfff7bfab57c33ae assets\create\models\item\scoria_bricks_stairs.json -845527eaba40dc65c609ea092f5b8a5c685f730a assets\create\models\item\scoria_bricks_wall.json -ff235540c1632a34751bd76e66b2a517f7cbfae9 assets\create\models\item\scoria_cobblestone.json -f4107d5e5a573810873e1a52aaacda674d371e1b assets\create\models\item\scoria_cobblestone_slab.json -fe8c7476b1386fc05a57a93319f71455ba4cf29b assets\create\models\item\scoria_cobblestone_stairs.json -b0061419cf7b7bd2dd548ff00ee28f1227ee2663 assets\create\models\item\scoria_cobblestone_wall.json -1f0cfa084107c05b010556f609371285295a0d12 assets\create\models\item\scoria_pillar.json -083b9fc316cef1d24ea20f06a6aaa4cb52f1ef94 assets\create\models\item\secondary_linear_chassis.json -0df94333da5700f01dcf4ffa46e3f3bf26bb8cf7 assets\create\models\item\sequenced_gearshift.json -da72ccdc893fbdd3efa9c22143b88eb756c20e44 assets\create\models\item\shadow_steel.json -106ae694f7e03a218c37003dca8291b1d39b3c55 assets\create\models\item\shaft.json -d6fb0d38b1b5bcc199b52ac8889eaecd167f6725 assets\create\models\item\speedometer.json -b305e81f1dc5272634745b6e822af40955a2ef28 assets\create\models\item\spruce_window.json -5f622bca8386b8dd077310647e39ac3abb80c6a1 assets\create\models\item\spruce_window_pane.json -891abc24593d53d282773eca5534065056d89b4c assets\create\models\item\sticky_mechanical_piston.json -bbb5773adc23128c70174bfc531af936e6e063e3 assets\create\models\item\stockpile_switch.json -bab8f78c319b2a79ed55c5d2a94b521ddaa44996 assets\create\models\item\stressometer.json -29d571a061e3addf92ee51bfc55d96edc3a517a5 assets\create\models\item\super_glue.json -b1d3d00ff05908feacad06a86800da96cc9bc65d assets\create\models\item\tiled_glass.json -8a2a81a8cbc52b6021e57107d79a32f73b82d8fe assets\create\models\item\tiled_glass_pane.json -a9f6592275a4c8592e3c88a95fbe88bd93de67c6 assets\create\models\item\transposer.json -c081317f106a2b04700aafde12c57445844c20ab assets\create\models\item\tree_fertilizer.json -fb24881c4e92bbb7ffa54a71e0af6b1c66d84829 assets\create\models\item\turntable.json -32f49b724af10c8d7e2ed5a3c82280e83b75f789 assets\create\models\item\vertical_framed_glass.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 -1d097a315c2817d16c241c86f66bd48e5e52f4b4 assets\create\models\item\weathered_limestone.json -fcc8ab312989ec485e2d86b856d81dbafaf0e930 assets\create\models\item\weathered_limestone_bricks.json -7e7abcb63aa5fc0dee50e116c93f8544768d4d95 assets\create\models\item\weathered_limestone_bricks_slab.json -def7382f3216c59d835ab64f534678f3d31ecc51 assets\create\models\item\weathered_limestone_bricks_stairs.json -8b96d6b4be585890211269018ab3814a32f17618 assets\create\models\item\weathered_limestone_bricks_wall.json -015479be1e6b8de4af6c14cc0e9ced5b6e7c1b07 assets\create\models\item\weathered_limestone_cobblestone.json -377fffa39af11eb195b73310efd4b53b8c618c92 assets\create\models\item\weathered_limestone_cobblestone_slab.json -3d26cb5616182ba6926d0bf703119ebfbeacbe31 assets\create\models\item\weathered_limestone_cobblestone_stairs.json -62cba55cef305e8fcbc545363919f75d702a617b assets\create\models\item\weathered_limestone_cobblestone_wall.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 -69328eb4f91c4407fbcad5e3c4b88363f1a9572c assets\create\models\item\white_seat.json -2527b52413965a3e84b4718e08a9b8bb30a741ea assets\create\models\item\wrench.json -4b49bc2418410cded5f0b7da3430f1a22e049f18 assets\create\models\item\yellow_seat.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 -187921fa131b06721bfaf63f2623a28c141aae9a data\create\advancements\andesite_alloy.json -0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data\create\advancements\andesite_casing.json -de37aa79135d560adf1cc5404f86761f97335314 data\create\advancements\basin.json -c7f56a4aca398eabe1c59404ebfabdc0c5e3edc0 data\create\advancements\belt.json -20b23095108e544f9fbf4217448f01f9596af8ea data\create\advancements\brass.json -de13a091928d5ab539d567411dd5c522cdcdd668 data\create\advancements\brass_casing.json -f65b1926e7ef62c15e51b80eda381897d60c64fa data\create\advancements\chromatic_compound.json -6d57b060b0ac92d0dc4109cbe0194d5536204978 data\create\advancements\compact.json -d1015e059a2f2008a364b6d045a011a6d671f20d data\create\advancements\copper_casing.json -5e9fe0e03ba980482645e0d72acb342f46a8db8a data\create\advancements\copper_end.json -e4225555a12384f2607d5ac65e790fb774beecc8 data\create\advancements\crafter.json -d1fbc14303c7327e9fc02e505e7e434591b7f785 data\create\advancements\crushing_wheel.json -0761f3e12d587fec7a2ddf326b43969d262771e3 data\create\advancements\deforester.json -e4e3c1bd7ecf501b40cffc26d8ad145ab4e89118 data\create\advancements\deployer.json -77edd30e3d60b4d492662c673387910f66b5a276 data\create\advancements\dual_extendo_grip.json -04eaf829696d735244c0e4798dd3bdeb26e13a32 data\create\advancements\electron_tube.json -31c9541b0be08cde351b9a07696bd675514bbcb8 data\create\advancements\extendo_grip.json -69e96e926a4d72e59cc6390c25f064166ddb62d2 data\create\advancements\fist_bump.json -62f3610188f7dbd3900ab305edc2d06282705a38 data\create\advancements\goggles.json -7e12b7ccb198ef0db7964b8cbef152d8347e333c data\create\advancements\its_alive.json -3d0fc63191ef507a018ef996ebf9406a523f3976 data\create\advancements\lava_wheel.json -90393cdb6b699c9c0fd4dd9400159c3aa6911a6b data\create\advancements\mechanical_arm.json -786c2058805ceca3cd3970cc6e918560b54747f5 data\create\advancements\mechanical_drill.json -41444ae151ce90d2d68dcda0ed3565f98509c594 data\create\advancements\mechanical_saw.json -9c7f0c2484a84ccf42166704475fafcb1f232ce6 data\create\advancements\millstone.json -704c7fc0ed357b1a116ffdc0b6c64fe64e337a5a data\create\advancements\mixer.json -8085b46ca0dd8c511841cabd88e51bff4baceefd data\create\advancements\musical_arm.json -a135eec618e448f440d9f42cc7a3e6c63fc45a71 data\create\advancements\overstressed.json -72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data\create\advancements\polished_rose_quartz.json -1e3cd82e36fd4bcd053d652a0eead4458ed7f315 data\create\advancements\press.json -b2782692d27ffb105e3167174cebe1ebdd4a9867 data\create\advancements\recipes\create.base\brass_block.json -df6f220e693f5256bb3df8d6c7769bc931820ae5 data\create\advancements\recipes\create.base\copper_block.json -82280c50b78dd7e8c179cb8e8f0c074b26ec9586 data\create\advancements\recipes\create.base\zinc_block.json -909345eb2f5541a2be592a52800319a8765ca345 data\create\advancements\recipes\create.palettes\acacia_window.json -73f99cd857b056da5e19ff8304a4f5eeacc4f8cd data\create\advancements\recipes\create.palettes\acacia_window_pane.json -06479f24d7b2655ee590b5314861a3c9c422ebbe data\create\advancements\recipes\create.palettes\andesite_bricks_from_andesite_stonecutting.json -916ff114deb04257ea18cd68226bfab9fc291d8e data\create\advancements\recipes\create.palettes\andesite_bricks_slab.json -8137bcfe84651a6b8ca323298ca66fedc5486390 data\create\advancements\recipes\create.palettes\andesite_bricks_slab_from_andesite_bricks_stonecutting.json -fc69a56fa928c47522ee3baaa917bcecf2c3b6a1 data\create\advancements\recipes\create.palettes\andesite_bricks_stairs.json -8cd35c4c445646e18ed611f0efff14d5fd716510 data\create\advancements\recipes\create.palettes\andesite_bricks_stairs_from_andesite_bricks_stonecutting.json -070c52fcb5a0b7f0980192ff30d6d220d89a3d23 data\create\advancements\recipes\create.palettes\andesite_bricks_wall.json -a9ddaf81a64ee6b22c8a5fe8edd8b4b0ff5925d7 data\create\advancements\recipes\create.palettes\andesite_bricks_wall_from_andesite_bricks_stonecutting.json -c872706853ca2259ca949106259ad01d77eaf34c data\create\advancements\recipes\create.palettes\andesite_cobblestone_from_andesite_stonecutting.json -cd42aa3e21c0ab5521e4c53df41fc89e4dc2c12c data\create\advancements\recipes\create.palettes\andesite_cobblestone_slab.json -8bfe90204523a0674c253012ff76be8d6b8c3b63 data\create\advancements\recipes\create.palettes\andesite_cobblestone_slab_from_andesite_cobblestone_stonecutting.json -bfb3673a30db807aa298f2fd128ec863a65818af data\create\advancements\recipes\create.palettes\andesite_cobblestone_stairs.json -47cc716674e1741f4115b04a20ac4c4a5b2a6d8a data\create\advancements\recipes\create.palettes\andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json -bd79e63c29d68fbf87ded63ac1eedba3d7287996 data\create\advancements\recipes\create.palettes\andesite_cobblestone_wall.json -0ed4c084f05b2bd4c134293ad3554d6e31a1d568 data\create\advancements\recipes\create.palettes\andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json -a453d05704cadb3279318192aac87e623738cdaa data\create\advancements\recipes\create.palettes\andesite_pillar.json -d6f31097aef040e12eb288ab755d459f55269a70 data\create\advancements\recipes\create.palettes\andesite_pillar_from_andesite_stonecutting.json -f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data\create\advancements\recipes\create.palettes\birch_window.json -bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data\create\advancements\recipes\create.palettes\birch_window_pane.json -83d09fdf47ca2b5a70643f9005cbdcdf5ab586b6 data\create\advancements\recipes\create.palettes\chiseled_dark_scoria_from_dark_scoria_stonecutting.json -c31a4d1eacc892a0248315270a12c0b49f5edc63 data\create\advancements\recipes\create.palettes\chiseled_dolomite_from_dolomite_stonecutting.json -74348dc4a1d8a41c67d12ea046772737e9e6d206 data\create\advancements\recipes\create.palettes\chiseled_gabbro_from_gabbro_stonecutting.json -4474c65e52362492fccc901b55773648b2714819 data\create\advancements\recipes\create.palettes\chiseled_limestone_from_limestone_stonecutting.json -b873bd961cd865866a6f5035bee583a400073a3c data\create\advancements\recipes\create.palettes\chiseled_scoria_from_scoria_stonecutting.json -0ace6bef40eab8e365959e529a16cd04d15adfe6 data\create\advancements\recipes\create.palettes\chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json -25991d5667252d551e02c4fbbfa27ebf4353d28d data\create\advancements\recipes\create.palettes\dark_oak_window.json -4819383b1a7885b4401fdc25955d2c51f75b6236 data\create\advancements\recipes\create.palettes\dark_oak_window_pane.json -ebd6413d530325eef6fcf42a0ee0ac840c1f7366 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_from_dark_scoria_stonecutting.json -030ce9b61b8af158cf54e7a9ab673ccb7251483f data\create\advancements\recipes\create.palettes\dark_scoria_bricks_slab.json -ac44d03859cfd4c00ddcbd1dafbb9acc51d849d7 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json -9e13188c79a1b00f3bb33346e520ac666428cc83 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_stairs.json -ebe4042d1fdc31faf2a90589614712f068dc254c data\create\advancements\recipes\create.palettes\dark_scoria_bricks_stairs_from_dark_scoria_bricks_stonecutting.json -24d01f39b9cdee3c0a8b6c2d3702df9fcaa4c582 data\create\advancements\recipes\create.palettes\dark_scoria_bricks_wall.json -2c893abfcb0601bbd6b81b69471109e7a2f286ae data\create\advancements\recipes\create.palettes\dark_scoria_bricks_wall_from_dark_scoria_bricks_stonecutting.json -cbf73236277648935a9e1e2729eae93d3c1717e8 data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_from_dark_scoria_stonecutting.json -eef6f85b20fb997af1b0c2383a45100be2e0cd34 data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_slab.json -491b8f7398aefd1506982e84b2b69db7d6b6b522 data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_slab_from_dark_scoria_cobblestone_stonecutting.json -57c768a80bbd385bb18ca4c9c6462f2ef1394e0b data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_stairs.json -8d44f675237a92513678a77da7a1f329475a3453 data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json -702527e6735770a6fcc3ad446df39d3b1b80709e data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_wall.json -ce069a666d223f733bfa1cc9ca5e3e5e27de1ebc data\create\advancements\recipes\create.palettes\dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json -c5d7f1e79302d47ea02cb63b99b286b90ec0287b data\create\advancements\recipes\create.palettes\dark_scoria_pillar.json -f3d6314d272d84c456c5df512dcc555b7694ded2 data\create\advancements\recipes\create.palettes\dark_scoria_pillar_from_dark_scoria_stonecutting.json -83e3c29d5d651a6bc6fd9d5843d8d75f4cda2b77 data\create\advancements\recipes\create.palettes\diorite_bricks_from_diorite_stonecutting.json -4649497555ca4269b1f3859f0275ca1ff7c85377 data\create\advancements\recipes\create.palettes\diorite_bricks_slab.json -1a04dd3845123425a83f51760f9b76557b484082 data\create\advancements\recipes\create.palettes\diorite_bricks_slab_from_diorite_bricks_stonecutting.json -6c815af61dffab6d1f8bfc9ef6c67c5ce3f236f4 data\create\advancements\recipes\create.palettes\diorite_bricks_stairs.json -3d62deacd032b9b442fcd098da74ba8730500f27 data\create\advancements\recipes\create.palettes\diorite_bricks_stairs_from_diorite_bricks_stonecutting.json -57fedaac4b5dfba6198c91ba2358d0e67971e122 data\create\advancements\recipes\create.palettes\diorite_bricks_wall.json -155db0e8e8ac96535ac3ade2a84337f2eb093a9e data\create\advancements\recipes\create.palettes\diorite_bricks_wall_from_diorite_bricks_stonecutting.json -7d2c93cdc55db7e33a4fb7a624d35af83c4316b5 data\create\advancements\recipes\create.palettes\diorite_cobblestone_from_diorite_stonecutting.json -5c425922e7d44cd9ba075b4d10fde92eeef26ab8 data\create\advancements\recipes\create.palettes\diorite_cobblestone_slab.json -1f7dbf4cc9a6daa9467bdbc0d1bd94c5f25c7d0e data\create\advancements\recipes\create.palettes\diorite_cobblestone_slab_from_diorite_cobblestone_stonecutting.json -3eafb105efd55176197d735c791afba65c3caeaa data\create\advancements\recipes\create.palettes\diorite_cobblestone_stairs.json -600c57c4dc3a3741d5db7ec01340e1c6a01d54b4 data\create\advancements\recipes\create.palettes\diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json -8b4990d3657e23a86c3e71eba77370c56692c93b data\create\advancements\recipes\create.palettes\diorite_cobblestone_wall.json -e741ca0e76875ee12beecd45db764444956d5342 data\create\advancements\recipes\create.palettes\diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json -9edb9886a6b2792dc38d5d61a2be2b7a3fd28eeb data\create\advancements\recipes\create.palettes\diorite_pillar.json -87d34b8ca3dc73a778ab94ef4d852f418112adb3 data\create\advancements\recipes\create.palettes\diorite_pillar_from_diorite_stonecutting.json -dbf201ceafc310f5cc6624c81777d50348844285 data\create\advancements\recipes\create.palettes\dolomite_bricks_from_dolomite_stonecutting.json -6716447628cce96a1f520766d019f09380ec67e5 data\create\advancements\recipes\create.palettes\dolomite_bricks_slab.json -52ae39c6f63860fa5a60c1ae70ef00eca5b961c9 data\create\advancements\recipes\create.palettes\dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json -e4fa67c3520747bf399b61f4433480be722e9ef5 data\create\advancements\recipes\create.palettes\dolomite_bricks_stairs.json -b80996f626dcc0ffb8bc59e5a928d27ecc05c50c data\create\advancements\recipes\create.palettes\dolomite_bricks_stairs_from_dolomite_bricks_stonecutting.json -e6e2aea69e9b9b7be526fbe4f8e1e7e25e81f80d data\create\advancements\recipes\create.palettes\dolomite_bricks_wall.json -e95638d111629f18ff49a93907f48ebc6c212fbe data\create\advancements\recipes\create.palettes\dolomite_bricks_wall_from_dolomite_bricks_stonecutting.json -e3a82a83a9b2d697d1ef6162f78383690aba6f7d data\create\advancements\recipes\create.palettes\dolomite_cobblestone_from_dolomite_stonecutting.json -cb91483af16a30b8b0db47d6c17967c91a5bc9d7 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_slab.json -cef5f049a1019ef59d6fa7fb61683216f7077ba1 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_slab_from_dolomite_cobblestone_stonecutting.json -a8904096a05eeb7e746563e1a4b97b39173d1708 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_stairs.json -124c586970edc5c15079bec53c734a2beb670130 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json -2e9f1556a11d4d7190233be3af64453396865da9 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_wall.json -1a1e8764ba05f72ffd7e5872a8f2fc9cf2108308 data\create\advancements\recipes\create.palettes\dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json -4652a46d4b6590b988d57d855def253ebeb380fe data\create\advancements\recipes\create.palettes\dolomite_pillar.json -a8752ee9bf9afc665c5d940d251c1cf4a83a0ae9 data\create\advancements\recipes\create.palettes\dolomite_pillar_from_dolomite_stonecutting.json -ea981a446d8cc22d6b7fb4667e86dc18a48a4720 data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_from_andesite_stonecutting.json -44dc6bc5a7303129db2268a025f49dcb222597a7 data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_slab.json -d50519d3f8aa6a9c639595ce875f28a1f0ca9f24 data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json -cd9d250da88b716e30d6756a4d36f72f496a9ddf data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_stairs.json -a8aeb67676ada81f73624446bf80394e27308782 data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_stairs_from_fancy_andesite_bricks_stonecutting.json -a13a44c1be6f6daf4fc20c19af6ee451c26ff0c1 data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_wall.json -a5d302491934a952e13619a2db0a51e8d629e4fc data\create\advancements\recipes\create.palettes\fancy_andesite_bricks_wall_from_fancy_andesite_bricks_stonecutting.json -8ae66cfd2022a0c1c2525336014e0fe34c3dd1cd data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_from_dark_scoria_stonecutting.json -a26dfcbc16b377b5bb64b24374b176fd9de89d47 data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_slab.json -45068f17f761dba257ab20f5845039d7ec39b1ad data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_slab_from_fancy_dark_scoria_bricks_stonecutting.json -90ead7f9abea29991918e72d3ce7f746e606d0b5 data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_stairs.json -b85e31fcd7be7e1d32d6cee4b60a57f8993058b5 data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_stairs_from_fancy_dark_scoria_bricks_stonecutting.json -25b33b9840a519cee9c8ab040947b8f5ca0c2614 data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_wall.json -673bb65058f9668b8c70ebdfd00cd85a050d1114 data\create\advancements\recipes\create.palettes\fancy_dark_scoria_bricks_wall_from_fancy_dark_scoria_bricks_stonecutting.json -f714c62507b6f29628b821f2244ef021fa333e37 data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_from_diorite_stonecutting.json -756e9f7540fd8e5b8b08204c22d246d9e2488d0f data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_slab.json -a035d2b80243a803fe32a4d8f45342664c010387 data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_slab_from_fancy_diorite_bricks_stonecutting.json -fd55c40ee942d5fbed23ba45b1cd327554c85fb4 data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_stairs.json -01687ce53430a1e9253a99245d63355c8d447b09 data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_stairs_from_fancy_diorite_bricks_stonecutting.json -46d3a856d269600aac1d6de8b18bdc83caed3b11 data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_wall.json -4534a02e200829593fba96ef485f8ca9a2a4bfef data\create\advancements\recipes\create.palettes\fancy_diorite_bricks_wall_from_fancy_diorite_bricks_stonecutting.json -a86241e15bf37acbcafc0f52f42a92d9790827e1 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_from_dolomite_stonecutting.json -a8657bf1879c13b8d5f212c2c54d94de4df9acf4 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_slab.json -c1b98d969be1629c0bdf5c6f46d8c0bcbc1f7788 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_slab_from_fancy_dolomite_bricks_stonecutting.json -50917519b1b451fb8ab10269741ee8ae9f900e8f data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_stairs.json -b45abd3d0f59bc1b6dc83f25132afb6f053470b1 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_stairs_from_fancy_dolomite_bricks_stonecutting.json -ad4ea329069f33abdcd88fadd94c83cc17c3f762 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_wall.json -c6995b2196375401434d017ee731400377591cb4 data\create\advancements\recipes\create.palettes\fancy_dolomite_bricks_wall_from_fancy_dolomite_bricks_stonecutting.json -fe34d30d54ce356a7efe01817a0554db2e1789e0 data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_from_gabbro_stonecutting.json -2389deceb239ecb8527b038ecafc72961641c725 data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_slab.json -38489610c156abe15eff4837a8de4bfa99247e27 data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_slab_from_fancy_gabbro_bricks_stonecutting.json -35534063abf2247b1e2ed3f262c975d3dd589885 data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_stairs.json -7b1965bed313a47b90901e4363bb25db2a2f8bbb data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_stairs_from_fancy_gabbro_bricks_stonecutting.json -c6d781d195bfeac3a8f9d2a2c8f38a623c8959f8 data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_wall.json -06a84396f77580f1f83a2429ea95a799e1252d2d data\create\advancements\recipes\create.palettes\fancy_gabbro_bricks_wall_from_fancy_gabbro_bricks_stonecutting.json -79d9fc03418829c3cf164e6f9bb1f1b026a2d0dc data\create\advancements\recipes\create.palettes\fancy_granite_bricks_from_granite_stonecutting.json -19060d298e2ebf3e4c3e2f1866332cd5d23eca96 data\create\advancements\recipes\create.palettes\fancy_granite_bricks_slab.json -47064e0a76fd1610967b5805af99024c27b82d5d data\create\advancements\recipes\create.palettes\fancy_granite_bricks_slab_from_fancy_granite_bricks_stonecutting.json -7e5e252ac808bcda618244113d925e3e57f28d77 data\create\advancements\recipes\create.palettes\fancy_granite_bricks_stairs.json -7f575653e3507dbe5bfed4e093ad676a2b8a94d8 data\create\advancements\recipes\create.palettes\fancy_granite_bricks_stairs_from_fancy_granite_bricks_stonecutting.json -6f0d3b65923710137fb443b02f4109f9556ee0d4 data\create\advancements\recipes\create.palettes\fancy_granite_bricks_wall.json -595a49a05027809964da8ae4b7d6137bfcfb0034 data\create\advancements\recipes\create.palettes\fancy_granite_bricks_wall_from_fancy_granite_bricks_stonecutting.json -3730534177655140d0efadef9b5a0cf25922038a data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_from_limestone_stonecutting.json -72e12ecc098ad6dd5d517a88725481e6bf79c3db data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_slab.json -10f23ce09d14ff4cd131ca700f7ddc2ab2bf4333 data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_slab_from_fancy_limestone_bricks_stonecutting.json -da855dff16473af4b17ae4b55aac4ef0559b3fef data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_stairs.json -0f0910d3b1cf17d4600342fde2f518c420a0f229 data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_stairs_from_fancy_limestone_bricks_stonecutting.json -2b40437524360252827fadaae168682944037a0d data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_wall.json -c48638ec0beff85a97d57abdaf25ba1ba0fab16b data\create\advancements\recipes\create.palettes\fancy_limestone_bricks_wall_from_fancy_limestone_bricks_stonecutting.json -2e766563ee80a8ca6ad80194e1e6e2fb3618a7a6 data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_from_scoria_stonecutting.json -665bc82e04e6ab832847b41b217e4afd11b44459 data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_slab.json -4f8f0e2c011c7e820378204cc8317d5e23c291eb data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_slab_from_fancy_scoria_bricks_stonecutting.json -535879ff6e399120003bd35ca2e70d64f8285eca data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_stairs.json -859ce60e33280f4519d0e02af8920bfb692313c8 data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_stairs_from_fancy_scoria_bricks_stonecutting.json -371646709052eaf4edf075edd7c4831d5d1a8ad0 data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_wall.json -a92255fcec5aa512e9529601ab75f91fcec344af data\create\advancements\recipes\create.palettes\fancy_scoria_bricks_wall_from_fancy_scoria_bricks_stonecutting.json -c2ccab04f07864fdf01d8637a6d1fe321cd3e001 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_from_weathered_limestone_stonecutting.json -82d5066e0157ea50bfc2d62cfbff2ac3406a66cb data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_slab.json -e76e9b9bba421e846c06bb48c19815bc50c889e2 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_slab_from_fancy_weathered_limestone_bricks_stonecutting.json -98f983a513bcf2767291acaab14ca78e4c8fea2a data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_stairs.json -d51bee4b276805ecf1a93a37ec6d610e75c0117e data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json -767733a2cc9fd2e96302c4e3813da86856e7c418 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_wall.json -17e02efc06d935c094bde5bb73a5127bc98e4758 data\create\advancements\recipes\create.palettes\fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json -05331b5f1701453ecdfd0b3e6429b22ec209ba67 data\create\advancements\recipes\create.palettes\framed_glass_from_glass_colorless_stonecutting.json -605476eaf4e964936c031732cfef534edfdd749a data\create\advancements\recipes\create.palettes\framed_glass_pane.json -b835dd583d670e2d7f6af4dd74e44f5817b03b21 data\create\advancements\recipes\create.palettes\gabbro_bricks_from_gabbro_stonecutting.json -2bfac04754aaf07423b330134984d887ae43f00a data\create\advancements\recipes\create.palettes\gabbro_bricks_slab.json -f05bb35d52866abc7dae9c7f3f5fc85257760564 data\create\advancements\recipes\create.palettes\gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json -f85f881683789b33813aa57a6c5b64f6a1494e3c data\create\advancements\recipes\create.palettes\gabbro_bricks_stairs.json -02b4d64c2d133c88a7ca229cf2b1ba3fa8e3f88d data\create\advancements\recipes\create.palettes\gabbro_bricks_stairs_from_gabbro_bricks_stonecutting.json -c98e0db97263e63a23304ba531722274fb077ca3 data\create\advancements\recipes\create.palettes\gabbro_bricks_wall.json -4c177eb789d069f2794d975712e061295831df93 data\create\advancements\recipes\create.palettes\gabbro_bricks_wall_from_gabbro_bricks_stonecutting.json -ced85c7dd005d27ae55b92ead9c5e0dfb4a8e7b2 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_from_gabbro_stonecutting.json -a74abfc184d51ae527791749a861bbec4736d072 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_slab.json -c90a07c41b2e034437c8a765de7b517f89383830 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_slab_from_gabbro_cobblestone_stonecutting.json -726ac90a1fec36fd8197074e0a88ee0ca8ecaa61 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_stairs.json -f9d917def55875dcba621246f80dc83904be3d73 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json -b081b91a5e11e8ce9b2455b944eb554f5f2e419e data\create\advancements\recipes\create.palettes\gabbro_cobblestone_wall.json -093f372d84c557791cebcb286b3505f32c4dc7c0 data\create\advancements\recipes\create.palettes\gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json -dacb04ebd8bc20c2a0689a9e75ea67c07e43c56b data\create\advancements\recipes\create.palettes\gabbro_pillar.json -35288551f5146ebbf8dbbe987928dd2a1bdc7ea8 data\create\advancements\recipes\create.palettes\gabbro_pillar_from_gabbro_stonecutting.json -6a9a8b37ec264084ce0481200225017739546025 data\create\advancements\recipes\create.palettes\granite_bricks_from_granite_stonecutting.json -2ac84cb0b8b629bdfd740a6613df2a7e45964bf2 data\create\advancements\recipes\create.palettes\granite_bricks_slab.json -98d7996071eb2d71c34ba942b7ff35bd3910407c data\create\advancements\recipes\create.palettes\granite_bricks_slab_from_granite_bricks_stonecutting.json -ad16c84c418948b1f58172f4ab55277b2a72f422 data\create\advancements\recipes\create.palettes\granite_bricks_stairs.json -2263eeca15ecb0074fbaa3d2355a4e22a0dc4f02 data\create\advancements\recipes\create.palettes\granite_bricks_stairs_from_granite_bricks_stonecutting.json -49bc4ac7bf4cc9175992094f45eab2bb7d21b7de data\create\advancements\recipes\create.palettes\granite_bricks_wall.json -f351b7c42443387613b7d12bcf1a4ce4775ac29d data\create\advancements\recipes\create.palettes\granite_bricks_wall_from_granite_bricks_stonecutting.json -473c4dcadb1a65d5153080bc295475487dd097d7 data\create\advancements\recipes\create.palettes\granite_cobblestone_from_granite_stonecutting.json -3df60ab6fc21672b64f2ef985a7588db3c7a85cc data\create\advancements\recipes\create.palettes\granite_cobblestone_slab.json -5afffb643c77a9e8de977c44b927ab6d94300c8f data\create\advancements\recipes\create.palettes\granite_cobblestone_slab_from_granite_cobblestone_stonecutting.json -c39e86c111a2c76ef9cb7046d2b87262524b06b9 data\create\advancements\recipes\create.palettes\granite_cobblestone_stairs.json -06d3f3150db99f808a5fd4141c0fc6235d979ce5 data\create\advancements\recipes\create.palettes\granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json -6bbc97d2ac655a532eaf345fca64431dbf8af27d data\create\advancements\recipes\create.palettes\granite_cobblestone_wall.json -d6b622a2cf302d0c39e0d38d24b0a17e1461d13b data\create\advancements\recipes\create.palettes\granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json -03c3a88e1a320afe9866a1c09ef34b46763c8ec1 data\create\advancements\recipes\create.palettes\granite_pillar.json -97cc61b1b510849ebc0bf51cf2b8107a5c43fc17 data\create\advancements\recipes\create.palettes\granite_pillar_from_granite_stonecutting.json -cbb40e82dba460ee126966a52f0164e740ac1f11 data\create\advancements\recipes\create.palettes\horizontal_framed_glass_from_glass_colorless_stonecutting.json -29e2e2aeca3800c8ba432be30d54d046a3991217 data\create\advancements\recipes\create.palettes\horizontal_framed_glass_pane.json -4efc9a8c871cf18c8517c82f5a05d4dfec045778 data\create\advancements\recipes\create.palettes\jungle_window.json -995b9cb9c370cd319da3390d8a3a46028bbe7840 data\create\advancements\recipes\create.palettes\jungle_window_pane.json -6b07d0abcfd0710e16a6b7a62fff984a332cbf90 data\create\advancements\recipes\create.palettes\layered_andesite_from_andesite_stonecutting.json -1cf78657f901bea4a27e4e7cf885310f50fa8d00 data\create\advancements\recipes\create.palettes\layered_dark_scoria_from_dark_scoria_stonecutting.json -5ceb87c9142f85f980d5854dab05bf3f97d2f1d9 data\create\advancements\recipes\create.palettes\layered_diorite_from_diorite_stonecutting.json -9a788d2e0bf321f8e00b2705eaccbdeb6895a66b data\create\advancements\recipes\create.palettes\layered_dolomite_from_dolomite_stonecutting.json -544e4b42d4f8c91d304f4fc3a2704258827a0526 data\create\advancements\recipes\create.palettes\layered_gabbro_from_gabbro_stonecutting.json -6cdbca74bf21546eb1c1bd514cc29ddc4616c68c data\create\advancements\recipes\create.palettes\layered_granite_from_granite_stonecutting.json -c0dd961f07e85a183af7b942ed0e4bfe8f775373 data\create\advancements\recipes\create.palettes\layered_limestone_from_limestone_stonecutting.json -5d06584a83074f8a8d1a52d93d13f2718bc99152 data\create\advancements\recipes\create.palettes\layered_scoria_from_scoria_stonecutting.json -b09e64b4989ef08b7ea6b9011681c2fbf780d949 data\create\advancements\recipes\create.palettes\layered_weathered_limestone_from_weathered_limestone_stonecutting.json -52c1902f260173fe610a4a03294a51c4cea3b37b data\create\advancements\recipes\create.palettes\limestone_bricks_from_limestone_stonecutting.json -e6eb6c433541b7c4e3e5b64f240618e6df67ed58 data\create\advancements\recipes\create.palettes\limestone_bricks_slab.json -72f0586690ca4413082b2cbecf7938ba6e4756b4 data\create\advancements\recipes\create.palettes\limestone_bricks_slab_from_limestone_bricks_stonecutting.json -04dfa5ddc043ca816073ee88633a9b1dd360cba3 data\create\advancements\recipes\create.palettes\limestone_bricks_stairs.json -ad2d70de5444c52794c2601e622710f107e9b42a data\create\advancements\recipes\create.palettes\limestone_bricks_stairs_from_limestone_bricks_stonecutting.json -2edc78faeec6e1ccac731793338c148111611ee6 data\create\advancements\recipes\create.palettes\limestone_bricks_wall.json -ffa708ea7b886b20a69425a2134a67354a0b72c5 data\create\advancements\recipes\create.palettes\limestone_bricks_wall_from_limestone_bricks_stonecutting.json -a3c58b950b8c324e9a5862d6047bc0fa81265a02 data\create\advancements\recipes\create.palettes\limestone_cobblestone_from_limestone_stonecutting.json -168a1ec7acc5336f5cf767b249dba3213f059188 data\create\advancements\recipes\create.palettes\limestone_cobblestone_slab.json -d7b36c7fcf429eea7c57f2ae967e73b8e18d0d58 data\create\advancements\recipes\create.palettes\limestone_cobblestone_slab_from_limestone_cobblestone_stonecutting.json -01353f8d33569068376240a971f80f09a1042118 data\create\advancements\recipes\create.palettes\limestone_cobblestone_stairs.json -749936c7c33273c1833154a1eb1e13604ece8565 data\create\advancements\recipes\create.palettes\limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json -c0e3f97a6f807ea8147f58bf4ca002725d1877b6 data\create\advancements\recipes\create.palettes\limestone_cobblestone_wall.json -a01c91b927f50d367c3bfcca5f370002a991d45a data\create\advancements\recipes\create.palettes\limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json -8b1ef23c71f0088230dcdd12374494bfdf700409 data\create\advancements\recipes\create.palettes\limestone_pillar.json -d040f53dfb09a29c39d534d3595e35d058fe5557 data\create\advancements\recipes\create.palettes\limestone_pillar_from_limestone_stonecutting.json -3ee8ab0478344042136058be6cf870289c096bdd data\create\advancements\recipes\create.palettes\mossy_andesite_from_andesite_stonecutting.json -c427e2626e468abee6fb4de83bf76f2d3c051449 data\create\advancements\recipes\create.palettes\mossy_dark_scoria_from_dark_scoria_stonecutting.json -813dec479959bf7a7a428a3ca656c53b67f8fe04 data\create\advancements\recipes\create.palettes\mossy_diorite_from_diorite_stonecutting.json -8f57677ad12ad74265764794a970b31b9643bee2 data\create\advancements\recipes\create.palettes\mossy_dolomite_from_dolomite_stonecutting.json -7ba05e2f27c5fbe0e6fd7626a338ede1a37a2c95 data\create\advancements\recipes\create.palettes\mossy_gabbro_from_gabbro_stonecutting.json -a65d2d91acfb335d22fbafffda91e84827414263 data\create\advancements\recipes\create.palettes\mossy_granite_from_granite_stonecutting.json -7fe51c57ee061b33b25647da030df867c4963a3f data\create\advancements\recipes\create.palettes\mossy_limestone_from_limestone_stonecutting.json -01a3b7a445f9fad73d04f25b5f8c2c1d3ceabe8c data\create\advancements\recipes\create.palettes\mossy_scoria_from_scoria_stonecutting.json -549c1413c986e6abab295a0cd3784b8cf5b21137 data\create\advancements\recipes\create.palettes\mossy_weathered_limestone_from_weathered_limestone_stonecutting.json -6d73c9fb9b80bdb6fcbed9fc22d5d96f2eab9324 data\create\advancements\recipes\create.palettes\oak_window.json -3da6acdecb6de1a0f93cd99766dad34b29abea3d data\create\advancements\recipes\create.palettes\oak_window_pane.json -e8989bcb3be35e7e80fbea52139c5770cca7d63a data\create\advancements\recipes\create.palettes\ornate_iron_window.json -fb6e99d0d4c07a6ffea26e66707b1954f474c4dd data\create\advancements\recipes\create.palettes\ornate_iron_window_pane.json -8a2734dfe0c55b77bb2fb6eeb8baf8c7f77e793f data\create\advancements\recipes\create.palettes\overgrown_andesite_from_andesite_stonecutting.json -ba1ddc8234275e46677c5d8ccd9a52d48d20c166 data\create\advancements\recipes\create.palettes\overgrown_dark_scoria_from_dark_scoria_stonecutting.json -baee20fee4acbf477e35658c7d6d43a03c8594c3 data\create\advancements\recipes\create.palettes\overgrown_diorite_from_diorite_stonecutting.json -f15751cb1ca52d7ad51d5e25afa85789a4c7194b data\create\advancements\recipes\create.palettes\overgrown_dolomite_from_dolomite_stonecutting.json -fb6f39d831bd59e59e1fa42f15c676b49cc0f172 data\create\advancements\recipes\create.palettes\overgrown_gabbro_from_gabbro_stonecutting.json -eee39fd31811b76da16fd5741aa22a91c44da2ed data\create\advancements\recipes\create.palettes\overgrown_granite_from_granite_stonecutting.json -42f7030ab9bbf73459a95dd327408eef315208c8 data\create\advancements\recipes\create.palettes\overgrown_limestone_from_limestone_stonecutting.json -716ff41d50f9e3c2fa508ba7ef575e36c0db89cd data\create\advancements\recipes\create.palettes\overgrown_scoria_from_scoria_stonecutting.json -8990cbe0d0382f77a49857867bf33b87cdc1b675 data\create\advancements\recipes\create.palettes\overgrown_weathered_limestone_from_weathered_limestone_stonecutting.json -d87d9451fdce0a3e51b405364c55e897d5e730ae data\create\advancements\recipes\create.palettes\paved_andesite_from_andesite_stonecutting.json -51458e99d10deefabec0fcd061432856ff433f23 data\create\advancements\recipes\create.palettes\paved_andesite_slab.json -6f332f0bc7ddfea77b05bb68825a53dbf3c693b8 data\create\advancements\recipes\create.palettes\paved_andesite_slab_from_paved_andesite_stonecutting.json -b62ca21e218580b2347defe093e952352ad6df54 data\create\advancements\recipes\create.palettes\paved_andesite_stairs.json -52f706b964e8523779cde3ddfde48890eee60a71 data\create\advancements\recipes\create.palettes\paved_andesite_stairs_from_paved_andesite_stonecutting.json -2a81337b4a9f1aeba89e6da1634e29a6c83d89c5 data\create\advancements\recipes\create.palettes\paved_andesite_wall.json -2bb0837023b56eea532d5d0283c80d61bf719c21 data\create\advancements\recipes\create.palettes\paved_andesite_wall_from_paved_andesite_stonecutting.json -60ef242b3ed4d2e14d1f2655fe990826ede2b3c9 data\create\advancements\recipes\create.palettes\paved_dark_scoria_from_dark_scoria_stonecutting.json -fc913d61b748448ee9c6dd5ee59cf9098acfbc90 data\create\advancements\recipes\create.palettes\paved_dark_scoria_slab.json -aba63e54764a947e2c0101005b7c9813671b1766 data\create\advancements\recipes\create.palettes\paved_dark_scoria_slab_from_paved_dark_scoria_stonecutting.json -896301f44196b730b1885d1e68a1e023c230b4f3 data\create\advancements\recipes\create.palettes\paved_dark_scoria_stairs.json -2344a9c7bfe4e8f84dd522ae6bf60d4ca6cfd1b5 data\create\advancements\recipes\create.palettes\paved_dark_scoria_stairs_from_paved_dark_scoria_stonecutting.json -f5704ec185b6a8372f774686c39479ba40ea9062 data\create\advancements\recipes\create.palettes\paved_dark_scoria_wall.json -9ef8ab62feddd1e43890f08d5745179cfdcbf4cb data\create\advancements\recipes\create.palettes\paved_dark_scoria_wall_from_paved_dark_scoria_stonecutting.json -8aeaa5ab356e79b87cacce1b457cd5487ad6d433 data\create\advancements\recipes\create.palettes\paved_diorite_from_diorite_stonecutting.json -9b32dc419abfd33ec5186ba34e6a9d434a2981e9 data\create\advancements\recipes\create.palettes\paved_diorite_slab.json -c557428e55c819edd7dec54216b094030471502f data\create\advancements\recipes\create.palettes\paved_diorite_slab_from_paved_diorite_stonecutting.json -1a7850b38e3521b8bda636cb76ef1609c2fb8c00 data\create\advancements\recipes\create.palettes\paved_diorite_stairs.json -68365c7376116238444bc138cb940e75054cb77c data\create\advancements\recipes\create.palettes\paved_diorite_stairs_from_paved_diorite_stonecutting.json -2d3b36480a8bad24651499942c5e6f25869e9be6 data\create\advancements\recipes\create.palettes\paved_diorite_wall.json -824a295ee0845fa515b627b7a7bc962fdf17101f data\create\advancements\recipes\create.palettes\paved_diorite_wall_from_paved_diorite_stonecutting.json -69868e7d53236d152c62b1222aec3895591a8927 data\create\advancements\recipes\create.palettes\paved_dolomite_from_dolomite_stonecutting.json -9b563c13e81a8c6376260fdf79344cdc2a230603 data\create\advancements\recipes\create.palettes\paved_dolomite_slab.json -d65009c44026d6df92b4445855d3e6181725d76d data\create\advancements\recipes\create.palettes\paved_dolomite_slab_from_paved_dolomite_stonecutting.json -5450b41d6192e61a4ea8bfa61832cd12de2bdc6c data\create\advancements\recipes\create.palettes\paved_dolomite_stairs.json -2f9162b2cd27211e64b69d946788120869159eb3 data\create\advancements\recipes\create.palettes\paved_dolomite_stairs_from_paved_dolomite_stonecutting.json -1899891c3376205f36723519b6a0491fd5315db9 data\create\advancements\recipes\create.palettes\paved_dolomite_wall.json -5b6bb2f610eb34533a1a8add453d94c41bb61320 data\create\advancements\recipes\create.palettes\paved_dolomite_wall_from_paved_dolomite_stonecutting.json -ade222c92665b26a292796b1996697a80f4ded70 data\create\advancements\recipes\create.palettes\paved_gabbro_from_gabbro_stonecutting.json -8488ca1a2ae08e04855bde8b4ebe0931cc4bb9a7 data\create\advancements\recipes\create.palettes\paved_gabbro_slab.json -7a87a2c3381a4b22a791e8796d44b7553897b588 data\create\advancements\recipes\create.palettes\paved_gabbro_slab_from_paved_gabbro_stonecutting.json -8f42697f89c6e3337723d0a7282c781c8cad6fd9 data\create\advancements\recipes\create.palettes\paved_gabbro_stairs.json -a66e1876f01ccb83510291d371f840536100ae26 data\create\advancements\recipes\create.palettes\paved_gabbro_stairs_from_paved_gabbro_stonecutting.json -db9cb2347bc6e6ca17becbfe9c0da04d2de09d1a data\create\advancements\recipes\create.palettes\paved_gabbro_wall.json -a8bf07dd90519ee6aabb71b58f08600da459e505 data\create\advancements\recipes\create.palettes\paved_gabbro_wall_from_paved_gabbro_stonecutting.json -c0afec6377d978ebac9ef8a5b0585a9bbd78a8f2 data\create\advancements\recipes\create.palettes\paved_granite_from_granite_stonecutting.json -ae2a04a32e8a0ddbdac4de7a6871ff38891b61d9 data\create\advancements\recipes\create.palettes\paved_granite_slab.json -04b16c664831725bf315e252641db2c543629f8a data\create\advancements\recipes\create.palettes\paved_granite_slab_from_paved_granite_stonecutting.json -851f048b7c59e6be3071a4448f2fb3918b50d450 data\create\advancements\recipes\create.palettes\paved_granite_stairs.json -c1779cab42a3ab17a1db629395f47a948a470f0a data\create\advancements\recipes\create.palettes\paved_granite_stairs_from_paved_granite_stonecutting.json -2da5c8319458229c2a30493511b73dccc1a291df data\create\advancements\recipes\create.palettes\paved_granite_wall.json -1ad87946ccea1c44a76be5b61de9a85d787baf31 data\create\advancements\recipes\create.palettes\paved_granite_wall_from_paved_granite_stonecutting.json -c634e051b1554ad2629b5e23388921a1fa2a6d37 data\create\advancements\recipes\create.palettes\paved_limestone_from_limestone_stonecutting.json -94b4542032e38af638247bba0ec81caed75bcf03 data\create\advancements\recipes\create.palettes\paved_limestone_slab.json -be75358f76bc579b013647a4907f287807c22e98 data\create\advancements\recipes\create.palettes\paved_limestone_slab_from_paved_limestone_stonecutting.json -906b2889fd1a1b0a03256734a0abad74cb91bd68 data\create\advancements\recipes\create.palettes\paved_limestone_stairs.json -46f3fec47fb1f4fda4a3164204e5d92d1318d871 data\create\advancements\recipes\create.palettes\paved_limestone_stairs_from_paved_limestone_stonecutting.json -ad09a997f557cd0d507e1aee7ad8c01bb01139c9 data\create\advancements\recipes\create.palettes\paved_limestone_wall.json -b0812a31db9b1e44f1033540894e098b42e61bc4 data\create\advancements\recipes\create.palettes\paved_limestone_wall_from_paved_limestone_stonecutting.json -fa07ab56320800e5f21ad709f4c9afe3e56cbacf data\create\advancements\recipes\create.palettes\paved_scoria_from_scoria_stonecutting.json -e9935db892249ad884eb03f5cd4ee6cb1931111b data\create\advancements\recipes\create.palettes\paved_scoria_slab.json -fbad05d4a443ca09b1a111df1c37d46da7fe9504 data\create\advancements\recipes\create.palettes\paved_scoria_slab_from_paved_scoria_stonecutting.json -746d3108861ffb35fdc1d328f4ff8f7cc8f624df data\create\advancements\recipes\create.palettes\paved_scoria_stairs.json -62e14e81537a13ba502da1f9da92fee9782fee9b data\create\advancements\recipes\create.palettes\paved_scoria_stairs_from_paved_scoria_stonecutting.json -4d373c4428daa64f1e1ef0b031d42b0c84337feb data\create\advancements\recipes\create.palettes\paved_scoria_wall.json -1283823386a36d014460daaea1be43f73634166c data\create\advancements\recipes\create.palettes\paved_scoria_wall_from_paved_scoria_stonecutting.json -c941c582df503992cde742d967b5952bfeb859cf data\create\advancements\recipes\create.palettes\paved_weathered_limestone_from_weathered_limestone_stonecutting.json -31f9c1a655b822ea1a3deec540a36b9237d02aeb data\create\advancements\recipes\create.palettes\paved_weathered_limestone_slab.json -ac95e01fc0fdc4e672c108e9c82584b62227d69a data\create\advancements\recipes\create.palettes\paved_weathered_limestone_slab_from_paved_weathered_limestone_stonecutting.json -8306cf9d81388acead32d89f6fcd4c4d5bd0d862 data\create\advancements\recipes\create.palettes\paved_weathered_limestone_stairs.json -2901607a4573dc39ade929d29c6fa7a3da9a0ecd data\create\advancements\recipes\create.palettes\paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json -37877f00e4d3f11be5ce2a877ed4753879e9834a data\create\advancements\recipes\create.palettes\paved_weathered_limestone_wall.json -abd7628d5d2eda16d560fd489c3b429c788a2760 data\create\advancements\recipes\create.palettes\paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json -06b39410e655585243a10a9e8289537f675c5bf2 data\create\advancements\recipes\create.palettes\polished_dark_scoria.json -0b833dcb8fc5a241a3d2f3ef3f9a2bd64d528062 data\create\advancements\recipes\create.palettes\polished_dark_scoria_from_dark_scoria_stonecutting.json -5fa067c33270aa84c27f919ffe543f196661b6a8 data\create\advancements\recipes\create.palettes\polished_dark_scoria_slab.json -d1bec8dcef19862ecf3ee16c1e7f3b7f4d9952fd data\create\advancements\recipes\create.palettes\polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json -88778854dcfd9149b600dfda13d6927bff99106c data\create\advancements\recipes\create.palettes\polished_dark_scoria_stairs.json -3600a39ac6d724907e25c9186d3ed9eb11c2ca9f data\create\advancements\recipes\create.palettes\polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json -b848bfbcbaf788d63a1c8e40d8d2649c02bd320a data\create\advancements\recipes\create.palettes\polished_dark_scoria_wall.json -537811644f4c918a05e00e387e91b8d71f69ca61 data\create\advancements\recipes\create.palettes\polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json -fbb7e6da5ff92856e99f11903a3ac9e97dde28b3 data\create\advancements\recipes\create.palettes\polished_dolomite.json -c250ad8f804de880bd2a9ade973ca57bc7ab9b5d data\create\advancements\recipes\create.palettes\polished_dolomite_from_dolomite_stonecutting.json -fe87c23cfd8dc0fbe61b3a8e53bfc64a528ba39c data\create\advancements\recipes\create.palettes\polished_dolomite_slab.json -d98c13ada0f8f549befb12e4408b746fe5cf4adc data\create\advancements\recipes\create.palettes\polished_dolomite_slab_from_polished_dolomite_stonecutting.json -bf5d73ecdaec56999cde2c458b5a9266aede1779 data\create\advancements\recipes\create.palettes\polished_dolomite_stairs.json -f601819b1d7d5c022fc5df6c89fac8c3e7294030 data\create\advancements\recipes\create.palettes\polished_dolomite_stairs_from_polished_dolomite_stonecutting.json -046ec7fc7efacd7f91d1176d95bc177fa0f540d4 data\create\advancements\recipes\create.palettes\polished_dolomite_wall.json -f5c5fe1a3318cb9d49af379d318279ab2ad8eb0a data\create\advancements\recipes\create.palettes\polished_dolomite_wall_from_polished_dolomite_stonecutting.json -e98f0c199ec9e71eda3c7be0c315f0e7b6592364 data\create\advancements\recipes\create.palettes\polished_gabbro.json -d767bd8b2732c0309feb0095b1f0cf8227a9f445 data\create\advancements\recipes\create.palettes\polished_gabbro_from_gabbro_stonecutting.json -1298b9734779bca3888f89e3a0fede3f40454cbb data\create\advancements\recipes\create.palettes\polished_gabbro_slab.json -302efe38105e57e9a61cfb9101e81547d8e8c361 data\create\advancements\recipes\create.palettes\polished_gabbro_slab_from_polished_gabbro_stonecutting.json -0580a585d855416bb2bd232b36c1877e412b993d data\create\advancements\recipes\create.palettes\polished_gabbro_stairs.json -b8423cb0e61957e194422102c7d4341f61c34b06 data\create\advancements\recipes\create.palettes\polished_gabbro_stairs_from_polished_gabbro_stonecutting.json -1510bc1446e73929a386f19a254754da7146ed89 data\create\advancements\recipes\create.palettes\polished_gabbro_wall.json -be242ca6735ccdab4fc9ba1713407095fe90bb18 data\create\advancements\recipes\create.palettes\polished_gabbro_wall_from_polished_gabbro_stonecutting.json -635e4c9807769f8bf0ca3778f0ee454189453465 data\create\advancements\recipes\create.palettes\polished_limestone.json -be6c730ca1a9366c64aef8d61b367e555e01a0f6 data\create\advancements\recipes\create.palettes\polished_limestone_from_limestone_stonecutting.json -30c328ad6162c2ce0b0a652fab7c43de7c059d56 data\create\advancements\recipes\create.palettes\polished_limestone_slab.json -3db530fc0116090aecb154c8bb55541a71764889 data\create\advancements\recipes\create.palettes\polished_limestone_slab_from_polished_limestone_stonecutting.json -7b0ce80d5ca52d8b7670cde8171c57c4f7225fcd data\create\advancements\recipes\create.palettes\polished_limestone_stairs.json -8eedf45c50378f0508afdf642f9c2cf4053eacbb data\create\advancements\recipes\create.palettes\polished_limestone_stairs_from_polished_limestone_stonecutting.json -cddfe8e9812cf57096014352a22413e854622dcf data\create\advancements\recipes\create.palettes\polished_limestone_wall.json -77225011d6185bd26f5f4111c98f394e7382a170 data\create\advancements\recipes\create.palettes\polished_limestone_wall_from_polished_limestone_stonecutting.json -35fe45bf268818d6b87a646343cdbdf705c00c77 data\create\advancements\recipes\create.palettes\polished_scoria.json -7d95e67a4bcf8de2090a54b9177b08853409f5b8 data\create\advancements\recipes\create.palettes\polished_scoria_from_scoria_stonecutting.json -16681377b2657813fc157554efc03bc1d5853f6d data\create\advancements\recipes\create.palettes\polished_scoria_slab.json -3f0965d057e1b564a4896d2a31d657500ac16a94 data\create\advancements\recipes\create.palettes\polished_scoria_slab_from_polished_scoria_stonecutting.json -36c1d292e441ab41daaa8fd195e914093dfc21b8 data\create\advancements\recipes\create.palettes\polished_scoria_stairs.json -4d54bc2c8d80c4c90ecd7b12170d7e4f92481e9e data\create\advancements\recipes\create.palettes\polished_scoria_stairs_from_polished_scoria_stonecutting.json -a662b4b7f175c47d9c0dbc033104a49b4bb1da4d data\create\advancements\recipes\create.palettes\polished_scoria_wall.json -2aa2dd503a1bbb2fc398ed32c4c4d8928146e78a data\create\advancements\recipes\create.palettes\polished_scoria_wall_from_polished_scoria_stonecutting.json -79cc516849cb01f9e016edd3b7dfc91ed35faedd data\create\advancements\recipes\create.palettes\polished_weathered_limestone.json -96dbde9aeb865c1c11e4b63434450888315e57b5 data\create\advancements\recipes\create.palettes\polished_weathered_limestone_from_weathered_limestone_stonecutting.json -e46847d02ab7bfb2bc1da1a4ad4b7b54a3a28559 data\create\advancements\recipes\create.palettes\polished_weathered_limestone_slab.json -2e15c08a77341dafd9f9fcaccf840aa734cf6dd1 data\create\advancements\recipes\create.palettes\polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json -0debf9d9e419550ba14dcd8d65e8de51dab0bfaa data\create\advancements\recipes\create.palettes\polished_weathered_limestone_stairs.json -75480d0c13a80d9edf93a0eff947e5165db011c1 data\create\advancements\recipes\create.palettes\polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json -7b4b27211174e774169132a50da7bfd63ff28b30 data\create\advancements\recipes\create.palettes\polished_weathered_limestone_wall.json -81a759d9b069faedee49107642d947ea1bf1ac6c data\create\advancements\recipes\create.palettes\polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json -874023eabafb85aefacc86f395c5d4ef0cc9cfac data\create\advancements\recipes\create.palettes\scoria_bricks_from_scoria_stonecutting.json -a9969fd00f8cba428715d27a8ab6af6ba6473c8a data\create\advancements\recipes\create.palettes\scoria_bricks_slab.json -1d129bb8d359de50344dcb46f77899b0651d7817 data\create\advancements\recipes\create.palettes\scoria_bricks_slab_from_scoria_bricks_stonecutting.json -3344137d23da0c03c74b60e7619a7efb03b64ec9 data\create\advancements\recipes\create.palettes\scoria_bricks_stairs.json -bf35a395a7f459ef4c54293efeeba9cd16140c41 data\create\advancements\recipes\create.palettes\scoria_bricks_stairs_from_scoria_bricks_stonecutting.json -379383047acaa11b179e79f3f03a3baf3cfd4bcf data\create\advancements\recipes\create.palettes\scoria_bricks_wall.json -dc5df4f4feddc24a7c78b25b6ed3e7ed458342f1 data\create\advancements\recipes\create.palettes\scoria_bricks_wall_from_scoria_bricks_stonecutting.json -3efe54b00bc7398875cf81a5317224618b6e0aee data\create\advancements\recipes\create.palettes\scoria_cobblestone_from_scoria_stonecutting.json -1332cd08822ecfdfda973e0ff7ffd5d3f18366cf data\create\advancements\recipes\create.palettes\scoria_cobblestone_slab.json -61b962acdd3be898cc6a85cd9a3982fecbe67a70 data\create\advancements\recipes\create.palettes\scoria_cobblestone_slab_from_scoria_cobblestone_stonecutting.json -487cb55b0d3419f67e371115be89598e478ffe9a data\create\advancements\recipes\create.palettes\scoria_cobblestone_stairs.json -b852a9a59499c113f387ac06fdb27d3d455f18e3 data\create\advancements\recipes\create.palettes\scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json -a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data\create\advancements\recipes\create.palettes\scoria_cobblestone_wall.json -e340721aa78f260c2666214aa149241a37de216e data\create\advancements\recipes\create.palettes\scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json -53cc5b006a19158e04094308accb66a7c35d2b26 data\create\advancements\recipes\create.palettes\scoria_pillar.json -53712a9ae59976dece952bea7ecaf73b679448f0 data\create\advancements\recipes\create.palettes\scoria_pillar_from_scoria_stonecutting.json -459538728b06d4c72d7e65d8f7c98a75a48f3a52 data\create\advancements\recipes\create.palettes\spruce_window.json -6aaf96cdaa845b63ab67ba4b968ea4d811e2fef5 data\create\advancements\recipes\create.palettes\spruce_window_pane.json -ab0cacba05f8def9cc91b993d464c297babf6fc3 data\create\advancements\recipes\create.palettes\tiled_glass_from_glass_colorless_stonecutting.json -d40c7ce6b79630ace624d17b92667286998d93bc data\create\advancements\recipes\create.palettes\tiled_glass_pane.json -24fafe59013a3e0439a73ea4e0cef114fc9a8e4b data\create\advancements\recipes\create.palettes\vertical_framed_glass_from_glass_colorless_stonecutting.json -cd5ee73117872ee98434be1d24b4f271f7e94a48 data\create\advancements\recipes\create.palettes\vertical_framed_glass_pane.json -ef0d351d13f7e9c633581b537c59bddc1fa4c3a4 data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_from_weathered_limestone_stonecutting.json -1c931e15af3e5b5f78a0a62b8c159fdf9f0d7f3e data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_slab.json -bba639941526cc23570e328e0b5e2a5545667219 data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json -1101f434c85add4fa1c37ab2b80b4e6604ae52bf data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_stairs.json -49489a710e0241bb0b6f4cd85a33f9025bddc6fb data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_stairs_from_weathered_limestone_bricks_stonecutting.json -d3ee4e8db3379532c98508cf5cf8ce4b6424cdfa data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_wall.json -3b903bfb6280dd3ae1962118928054161c88fbda data\create\advancements\recipes\create.palettes\weathered_limestone_bricks_wall_from_weathered_limestone_bricks_stonecutting.json -b77c5aecd0b6dd37a0c69431ab7a4a40fe0770eb data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_from_weathered_limestone_stonecutting.json -6d0c113b3e873193c2f009a4f09d5c563abce0e4 data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_slab.json -09eb711ca2cf9dca77f4aef55602a28dd72289b3 data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_slab_from_weathered_limestone_cobblestone_stonecutting.json -28c05429880821ed055a938c04b865fa577eeade data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_stairs.json -8ea05c6cdb313ff395d1f21cfb40e2d939dadf20 data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json -4d838d8ceaf207a59554444d82b80c31807341bc data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_wall.json -e548127075559307b767b802f4809ed52eedd543 data\create\advancements\recipes\create.palettes\weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json -23ba836640a4d543db6f1cb72cc86a6543fe2fbe data\create\advancements\recipes\create.palettes\weathered_limestone_pillar.json -9790a16fd56e47cb5abbfad4062672303c224d9f data\create\advancements\recipes\create.palettes\weathered_limestone_pillar_from_weathered_limestone_stonecutting.json -e0b9edc5e59647e7dd99be17369b263dadf407d4 data\create\advancements\refined_radiance.json -fc12b590ab8f5ac901db21c67ba3850f157e1421 data\create\advancements\root.json -8529fc7919b6a3240ede2bb8043906bb72fb7f9e data\create\advancements\shadow_end.json -c1f162e773518f6b1481221e3e63f9ba33fed647 data\create\advancements\shadow_steel.json -290e1248254abcfd7f1e73906be25662331378ec data\create\advancements\shifting_gears.json -fedeed4c9be574d7c5ddd68b4ab74588f345d3c6 data\create\advancements\speedometer.json -44910ea5533c1236fbb185587a58b299a30b0c66 data\create\advancements\stressometer.json -6b815a2e05e3cd09354e05578515a0060675b67a data\create\advancements\upgraded_zapper.json -fe37896bb804d2be9b8abf3744c5b9b7bc1c086e data\create\advancements\wand_of_symmetry.json -50935316d27336ef0858d5a7c5ccc563d288a494 data\create\advancements\water_wheel.json -4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data\create\advancements\wrench.json -33c1224f4f6a7bb0a3439eb0f8b8af9341b62574 data\create\advancements\zapper.json -054392b614e410c6d1b37c546b4bfd36f50aec4a data\create\loot_tables\blocks\acacia_window.json -64b95066bf96a3f0de95919d526243ba4f5a3ade data\create\loot_tables\blocks\acacia_window_pane.json -191b117d0a25940248ed54d419ea0bb0afb482d0 data\create\loot_tables\blocks\adjustable_crate.json -3e1314b2ccb1eade4f8ff7caa429ce4b327f0d6b data\create\loot_tables\blocks\adjustable_pulley.json -417da41ebd0520ae22ddc3541eb490daf2af95dd data\create\loot_tables\blocks\adjustable_pulse_repeater.json -d0ba402852cea164f6d279a9b37cc38ac3958574 data\create\loot_tables\blocks\adjustable_repeater.json -0d139e302f4a11438b0acd664c0df15b41040f69 data\create\loot_tables\blocks\analog_lever.json -d3202a337c15c8b8ec41fa5879bb94327bb75057 data\create\loot_tables\blocks\andesite_belt_funnel.json -1d04146c468ce4bf898b596c171b3ba3146d7d66 data\create\loot_tables\blocks\andesite_bricks.json -b67ea51eaed1e847317829636cbf5967522e73d1 data\create\loot_tables\blocks\andesite_bricks_slab.json -0ba4528089294c5229e1904dc3191f604138cf8e data\create\loot_tables\blocks\andesite_bricks_stairs.json -db2d27969cb53d9489e7c7e4bf60864fa89b29f4 data\create\loot_tables\blocks\andesite_bricks_wall.json -cb36b039a511aca643fe674a63de8d6ad8478256 data\create\loot_tables\blocks\andesite_casing.json -d3202a337c15c8b8ec41fa5879bb94327bb75057 data\create\loot_tables\blocks\andesite_chute_funnel.json -906155b0d00438e695d34dd14b374d94e691460d data\create\loot_tables\blocks\andesite_cobblestone.json -6d2f1bd619b131803d5bc9e393a2c67e03c39ff6 data\create\loot_tables\blocks\andesite_cobblestone_slab.json -6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data\create\loot_tables\blocks\andesite_cobblestone_stairs.json -36d38c085d8e522fe15f0ef9bc64363e163f3de7 data\create\loot_tables\blocks\andesite_cobblestone_wall.json -d3202a337c15c8b8ec41fa5879bb94327bb75057 data\create\loot_tables\blocks\andesite_funnel.json -6908f62c809ea2105bc92765d84d5655197346ab data\create\loot_tables\blocks\andesite_pillar.json -317aa99086127c649981b7b2fc85e66774a30f58 data\create\loot_tables\blocks\andesite_tunnel.json -14bf1764b9313893b6a6f57094f9506ac9fa71a8 data\create\loot_tables\blocks\basin.json -c7f81e30c31837a287d6d6040cdb02c7dec11441 data\create\loot_tables\blocks\belt.json -1104e323abb2a8c25769c47dc5d1154965113cc9 data\create\loot_tables\blocks\belt_observer.json -67a8e2513c3cb09e6fe80279fda94f79d5018c37 data\create\loot_tables\blocks\birch_window.json -bf1d5843f93533f84bc4adec5b77da2114fa2025 data\create\loot_tables\blocks\birch_window_pane.json -cccc209d172cc7bac76f1b4ac79085ee90742ab2 data\create\loot_tables\blocks\black_seat.json -3834f7ac2bbc42cead02d4973842adb9ad97e6bf data\create\loot_tables\blocks\blue_seat.json -1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data\create\loot_tables\blocks\brass_belt_funnel.json -70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data\create\loot_tables\blocks\brass_block.json -8a14258ad5d79d9e4dc5a318905644b446196420 data\create\loot_tables\blocks\brass_casing.json -1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data\create\loot_tables\blocks\brass_chute_funnel.json -1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data\create\loot_tables\blocks\brass_funnel.json -6c8e784677d1a843b6c707484c79751acdb46ebc data\create\loot_tables\blocks\brass_tunnel.json -d415862a0abe20e8c5c2c8125bb672065330a9bc data\create\loot_tables\blocks\brown_seat.json -0be542fef3bc0e1a0d556883568a1400a8b97df1 data\create\loot_tables\blocks\cart_assembler.json -ab820bbaaf67c6697dfbab33c05fb73b18c70bfb data\create\loot_tables\blocks\chiseled_dark_scoria.json -1f907058afd7d8dbe628c9ab315b8ddbdccfbfda data\create\loot_tables\blocks\chiseled_dolomite.json -53f5d88abfda875b5ec29c2229a7e7371d66503c data\create\loot_tables\blocks\chiseled_gabbro.json -4b09725707bac4c5813e2bb489ff848d0d964ae9 data\create\loot_tables\blocks\chiseled_limestone.json -43f446abd3c1c184a08645979edf620e59955a30 data\create\loot_tables\blocks\chiseled_scoria.json -adde89e46b12de1eee6fd0c5cb98c5f45feefc15 data\create\loot_tables\blocks\chiseled_weathered_limestone.json -07ccc1576a71338cb73c4e06f8c28a2c86843877 data\create\loot_tables\blocks\chute.json -778b53c36d73b6e9c78fd6c091c9c3535c3c18f7 data\create\loot_tables\blocks\clockwork_bearing.json -d76113310fc56eca6382d44df174096f2210d416 data\create\loot_tables\blocks\clutch.json -673ba3a5deae9133b917d16c9eb87fe4c2873c8a data\create\loot_tables\blocks\cogwheel.json -f38802b919c49f162f102d6e5d94113f05bf4ab1 data\create\loot_tables\blocks\copper_block.json -5a65a18ea787130ac7b8f5652bfa5ed187446649 data\create\loot_tables\blocks\copper_casing.json -31a51237763c374b7cdf39b9b62c14e965871047 data\create\loot_tables\blocks\copper_ore.json -a5a7ba88a1d38da83b37bbe842dc7cc0544f37be data\create\loot_tables\blocks\copper_shingles.json -b160899aa785dc54d8c6cc095337f70b81f3e44f data\create\loot_tables\blocks\creative_crate.json -d8f2f8921b9200b1d9476a77ee1be32c25308ac3 data\create\loot_tables\blocks\creative_motor.json -c28fa42746a4d5ca2f824001b67e58673810169e data\create\loot_tables\blocks\crushing_wheel.json -205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\crushing_wheel_controller.json -d370ee874b5b6b98e9a8c368218fe61f644d956d data\create\loot_tables\blocks\cuckoo_clock.json -49a14b9e93abdf02a7aef9c0c4085ac89617fae4 data\create\loot_tables\blocks\cyan_seat.json -fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data\create\loot_tables\blocks\dark_oak_window.json -58e6307ba0efa65a0715662a391fe7dc6fba0c68 data\create\loot_tables\blocks\dark_oak_window_pane.json -7a40002e4c05f6456b52558b9ee9607cfc868a69 data\create\loot_tables\blocks\dark_scoria.json -502160551afd210c68582a1dfd41a2df720f53a1 data\create\loot_tables\blocks\dark_scoria_bricks.json -5bce6b714e1131ccc11a670f57fa627cbb0f4409 data\create\loot_tables\blocks\dark_scoria_bricks_slab.json -265bb133af68497d9b4ba4bd418a198506caa45b data\create\loot_tables\blocks\dark_scoria_bricks_stairs.json -43fd6e4e2e140416245f7e7e4a680e347a446fc5 data\create\loot_tables\blocks\dark_scoria_bricks_wall.json -ef1beeb856cb30d381fd4f1cb4d2bf62fc444e52 data\create\loot_tables\blocks\dark_scoria_cobblestone.json -3dc33d264a78b21915ee4dcaef9fc8a989a90ae2 data\create\loot_tables\blocks\dark_scoria_cobblestone_slab.json -7b55b57140f7f04e39c951958cd4b62e17621761 data\create\loot_tables\blocks\dark_scoria_cobblestone_stairs.json -76457f3ec7c2d3874866ce8eb894f7bd9cfd59ee data\create\loot_tables\blocks\dark_scoria_cobblestone_wall.json -be851f6643d151ed464e4164bc2b7ca145e5ff82 data\create\loot_tables\blocks\dark_scoria_pillar.json -cf9be747e10a98f3f3aabb95c9753f39d806f73b data\create\loot_tables\blocks\deployer.json -5b46f6003bfe393b43ea0447fffcf7ae3bf969b1 data\create\loot_tables\blocks\depot.json -5c8ca846c3fb348fea628035e1670208e386516b data\create\loot_tables\blocks\diorite_bricks.json -427fea1465652db87a2c192934511b972ecfcedf data\create\loot_tables\blocks\diorite_bricks_slab.json -bdaba62199f7a65e1149b742aaaf0c23a1e149b0 data\create\loot_tables\blocks\diorite_bricks_stairs.json -17c768f01d476fc263ac4c3d2b588412f3c1198e data\create\loot_tables\blocks\diorite_bricks_wall.json -634c0fbb429c8f8350a790fbaf44338a7d3e299e data\create\loot_tables\blocks\diorite_cobblestone.json -1b07173a3b2e57a036fbec2ffac7f4522ad5f1c8 data\create\loot_tables\blocks\diorite_cobblestone_slab.json -5141eec8eebed0feec906618dd3474ea402fbf28 data\create\loot_tables\blocks\diorite_cobblestone_stairs.json -f3c963cfd51069876140373f410e868706744e9b data\create\loot_tables\blocks\diorite_cobblestone_wall.json -fdcf47cddebca81730ac122925b01daeddf9233d data\create\loot_tables\blocks\diorite_pillar.json -7aa075c7fbe97447422bfcb95afb3bbe3b26301c data\create\loot_tables\blocks\dolomite.json -7ecdbfa3ebfc6865833bafed06ed7cd6eef58345 data\create\loot_tables\blocks\dolomite_bricks.json -61d2020cb26b67467711d6dd4f2381c0518acdd9 data\create\loot_tables\blocks\dolomite_bricks_slab.json -699815e110c76bcb793efdfedcb8ac3a5b9b7131 data\create\loot_tables\blocks\dolomite_bricks_stairs.json -fea6a8aa0997360e2713c159b19cb89858ab5982 data\create\loot_tables\blocks\dolomite_bricks_wall.json -cfa4afad6cba1706474ee878b0043aa6cb2c1075 data\create\loot_tables\blocks\dolomite_cobblestone.json -f1d9565dd7e9d57832581a3774084f9390cf23b6 data\create\loot_tables\blocks\dolomite_cobblestone_slab.json -59ff2dc7c0663b0a041a8b4dc66af3a17e117aa4 data\create\loot_tables\blocks\dolomite_cobblestone_stairs.json -d5fc5b3dc612cd748117e9d8b0ecda76e73f4514 data\create\loot_tables\blocks\dolomite_cobblestone_wall.json -6121c99e6e037dda9022af3a414aee444467ac1b data\create\loot_tables\blocks\dolomite_pillar.json -503a93787537b46f462d32b0382c3396f42bb1f6 data\create\loot_tables\blocks\encased_belt.json -9055d82b983b673e1638d17b712b9fcd1f5a52e6 data\create\loot_tables\blocks\encased_fan.json -b3849bece65e13128fdeb033b156cf6615bc72f8 data\create\loot_tables\blocks\encased_shaft.json -5a47c1535c866184b4ffca65763f5676f319e0aa data\create\loot_tables\blocks\extractor.json -ddfc4764a6039d771e03af815ac4493da80d2e6b data\create\loot_tables\blocks\fancy_andesite_bricks.json -31f2e6932505c68b28e92221a37144f69161c376 data\create\loot_tables\blocks\fancy_andesite_bricks_slab.json -413c8bb80954679796cd9d18f808c28a7bdbe681 data\create\loot_tables\blocks\fancy_andesite_bricks_stairs.json -b51e0f9df7297f6d98d7fc24202c01c8437b613a data\create\loot_tables\blocks\fancy_andesite_bricks_wall.json -1e0f7ab66554911b37ffeeceef4d13ad3c12c7cf data\create\loot_tables\blocks\fancy_dark_scoria_bricks.json -65c7ec7034462ccf9bf4237f3d7a5a07ea613170 data\create\loot_tables\blocks\fancy_dark_scoria_bricks_slab.json -692b7aab0fa9a1610cc87b469172baccd6f206bb data\create\loot_tables\blocks\fancy_dark_scoria_bricks_stairs.json -5600f9afd4271045383332799cae926cae03691e data\create\loot_tables\blocks\fancy_dark_scoria_bricks_wall.json -b272bdf3a70adb5477e73f1a6db112dadf83e750 data\create\loot_tables\blocks\fancy_diorite_bricks.json -b5f76570503a5f77062e529263a9a4cbe0d7bfa6 data\create\loot_tables\blocks\fancy_diorite_bricks_slab.json -686cf8fe6950fd336755ed6a65cd41f611a8cba7 data\create\loot_tables\blocks\fancy_diorite_bricks_stairs.json -a76222e64356951c6038c4b26a28465a1c51f609 data\create\loot_tables\blocks\fancy_diorite_bricks_wall.json -f21cc226848e6d65b1c1167acf6a84be97e22b8a data\create\loot_tables\blocks\fancy_dolomite_bricks.json -fa3123cd6b14bbb4090e2b1cd15d48a8f9c1ff95 data\create\loot_tables\blocks\fancy_dolomite_bricks_slab.json -b1cb60875d96d403734793c848cb48d1af003ebe data\create\loot_tables\blocks\fancy_dolomite_bricks_stairs.json -35ea72b6aa72d027be3f565ffa8315b99d3f55d9 data\create\loot_tables\blocks\fancy_dolomite_bricks_wall.json -6d7ebe8708748780865a8c5c9acd1ea338734951 data\create\loot_tables\blocks\fancy_gabbro_bricks.json -99893d8bd3dac544d447c3023d858f497cb97556 data\create\loot_tables\blocks\fancy_gabbro_bricks_slab.json -dc70fcfb5bd4baf5418b630f5e3a8724e0bdad25 data\create\loot_tables\blocks\fancy_gabbro_bricks_stairs.json -030b562f049fbd403efbc84b88efcb6988e9ed74 data\create\loot_tables\blocks\fancy_gabbro_bricks_wall.json -c9f185553e94cd941a4058ab2194c279919c7778 data\create\loot_tables\blocks\fancy_granite_bricks.json -f15c6758244806514329ab21fb46a763b6785110 data\create\loot_tables\blocks\fancy_granite_bricks_slab.json -70266c8f9d1b150da78c40f3fd5ef51cd9e11090 data\create\loot_tables\blocks\fancy_granite_bricks_stairs.json -04fc099dc4f0e7e1e03a4e162c1c9f8e1443817f data\create\loot_tables\blocks\fancy_granite_bricks_wall.json -a919a7333a2309392ba6908cd2330d014c0b44da data\create\loot_tables\blocks\fancy_limestone_bricks.json -5227c512cf9e75f36eb8a89c2aca8139392d6e7e data\create\loot_tables\blocks\fancy_limestone_bricks_slab.json -01d9d1a53ee36a84b689ea9018ed97b396dadf52 data\create\loot_tables\blocks\fancy_limestone_bricks_stairs.json -7d27790caf8d617c178f7b13cc6424813fad4f1f data\create\loot_tables\blocks\fancy_limestone_bricks_wall.json -03eaefe79ab0b61ad0bd0109db995059ed036d60 data\create\loot_tables\blocks\fancy_scoria_bricks.json -557e9825375f8486f61185bd8ed2433c63f6f845 data\create\loot_tables\blocks\fancy_scoria_bricks_slab.json -5f8f0283601f6abc1e0ee19861fc4eb8dfcd2914 data\create\loot_tables\blocks\fancy_scoria_bricks_stairs.json -664b145ec54ad8e2a26fac4ba64de9dc7c9d92e3 data\create\loot_tables\blocks\fancy_scoria_bricks_wall.json -7580387fd66509a5a265f1a332666b96f9ca2355 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks.json -e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_slab.json -1be3aae5c0aa8b3c3750db79699e9350adb12231 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_stairs.json -6bb505bad78cbb01a5cb5a069435bf4ed0e62adf data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_wall.json -c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data\create\loot_tables\blocks\fluid_pipe.json -108d27b697d2ea0719d74a704c6e344a8d63375b data\create\loot_tables\blocks\fluid_tank.json -f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json -ce0bb978b11935bc2d1218445f8ab18099af6b8a data\create\loot_tables\blocks\framed_glass.json -89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data\create\loot_tables\blocks\framed_glass_pane.json -4063880eda871fe63a4eb549a19daecabce849e5 data\create\loot_tables\blocks\furnace_engine.json -1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data\create\loot_tables\blocks\gabbro.json -0356e003d8890d31b89d0ad98e32aae892da71f9 data\create\loot_tables\blocks\gabbro_bricks.json -dfecc18b03f1037bde2cbf02bc85c5d176b29828 data\create\loot_tables\blocks\gabbro_bricks_slab.json -e51893e1601c470da466b35b17251238e15d0361 data\create\loot_tables\blocks\gabbro_bricks_stairs.json -7064a46c81963ad06e14c1ed2f5a885a8895c459 data\create\loot_tables\blocks\gabbro_bricks_wall.json -54fb8b5b8ab3a22197e3c1b5b04767b898377da8 data\create\loot_tables\blocks\gabbro_cobblestone.json -986300390270e170b96db152017f5939c0e0653c data\create\loot_tables\blocks\gabbro_cobblestone_slab.json -54879fe6ca3b7271fbb94ec26bef1c3031942d4d data\create\loot_tables\blocks\gabbro_cobblestone_stairs.json -ae19749df10663efc51b8b27af310164f250ed38 data\create\loot_tables\blocks\gabbro_cobblestone_wall.json -e8d09c919e3b8125d7da0f38383c01bcfc61c7a8 data\create\loot_tables\blocks\gabbro_pillar.json -b0109b4a4f0f738cbbe6b5911e8c3c0310b76f99 data\create\loot_tables\blocks\gearbox.json -5f39461c5c9d3ad8d84195b06b9468fe2b0fb269 data\create\loot_tables\blocks\gearshift.json -74371bc2b516ad9742ca081d82dc1b7f642e25b4 data\create\loot_tables\blocks\granite_bricks.json -29f2cbc04f898bb8ff48055a7e43ded85e635bf9 data\create\loot_tables\blocks\granite_bricks_slab.json -6b2c74992f261df4f539ff65919e2f4a58b146ec data\create\loot_tables\blocks\granite_bricks_stairs.json -8916645260d99be1e13421d343980d863a14a695 data\create\loot_tables\blocks\granite_bricks_wall.json -fa0ddf45d108f55550164113cb5cfd002586a9d4 data\create\loot_tables\blocks\granite_cobblestone.json -1889a94c41a2d6bcc24cc7b9546a2d75bd297fbd data\create\loot_tables\blocks\granite_cobblestone_slab.json -feca8a1f62e0e13fcb2252d5f782d74938b84431 data\create\loot_tables\blocks\granite_cobblestone_stairs.json -1d225a68b09d6f389aa7ed48aa05979bdaa482a9 data\create\loot_tables\blocks\granite_cobblestone_wall.json -87a4ac3db5ec80613b940abccc72fc4b37cee0ba data\create\loot_tables\blocks\granite_pillar.json -d014357b3a467b23473c8223f32471a04a9ff94c data\create\loot_tables\blocks\gray_seat.json -a71599eecd3f1179e3d0367623460e798828aa6d data\create\loot_tables\blocks\green_seat.json -9bdc47ea3ffc52f037f12f40f387e6b72a352c4e data\create\loot_tables\blocks\hand_crank.json -22012e7759f1dbccbb06bcaf0311a54190270825 data\create\loot_tables\blocks\horizontal_framed_glass.json -5d3f585539942f13bbc458a0a002849c1f034fc1 data\create\loot_tables\blocks\horizontal_framed_glass_pane.json -cf2bfae903e7f8510962e672b6266c0e74176aae data\create\loot_tables\blocks\jungle_window.json -1a3a19517f95fc632286d3cc693bfee4a59dfa0a data\create\loot_tables\blocks\jungle_window_pane.json -4d948f80fb7a8b6b99897544681f43fe3d2058f0 data\create\loot_tables\blocks\large_cogwheel.json -49cab25e7aa6431d4c1e180cdceb76b6f6f73fe5 data\create\loot_tables\blocks\layered_andesite.json -7610175c7f064bcb3ba95d20d37dfae5f9ca7bac data\create\loot_tables\blocks\layered_dark_scoria.json -03673bb95dcb0a5f2fac2b0dc6b7d6b988787f8b data\create\loot_tables\blocks\layered_diorite.json -bc9a3e6dfa7635e7385c540ebc15716ce04b7071 data\create\loot_tables\blocks\layered_dolomite.json -870016126097f1fcffb3a9f0402667a8b3aa7d9e data\create\loot_tables\blocks\layered_gabbro.json -fa8a5922f7346a15a80b5c7e5dfc26d24ea98728 data\create\loot_tables\blocks\layered_granite.json -197ecf9c00c06f6014ecbec678a5466492902cb0 data\create\loot_tables\blocks\layered_limestone.json -0ec9e366708637a01e600a2a12cc267d81b3f69b data\create\loot_tables\blocks\layered_scoria.json -54816065cd735dfe53b1eb551110ba18c6e3746a data\create\loot_tables\blocks\layered_weathered_limestone.json -b403848d3a4b4ad7a048e70c21e200e40d0c67e3 data\create\loot_tables\blocks\light_blue_seat.json -0cc2b20cb6e2dae6cf9d759c85926663f6066c99 data\create\loot_tables\blocks\light_gray_seat.json -7dfd638cc6f0d22bbc8fcbdb7212a3bfc8c85223 data\create\loot_tables\blocks\limesand.json -9d585f677a32a2336df5f17b5b389cdee867939f data\create\loot_tables\blocks\limestone.json -57134f7d3d32fc1c48f2a20c4be84388587092bc data\create\loot_tables\blocks\limestone_bricks.json -cb315814960850b5080598b89ee94c833b5048f7 data\create\loot_tables\blocks\limestone_bricks_slab.json -41ed1d0750e8ddd7e7e75fd7e4cafde6346d1afe data\create\loot_tables\blocks\limestone_bricks_stairs.json -0b8b29ef8b5da9527fb56e676de210f7f5b4c1b4 data\create\loot_tables\blocks\limestone_bricks_wall.json -9fa612159a498b2475489f984ce4fee18f971568 data\create\loot_tables\blocks\limestone_cobblestone.json -837129095bd84142e00c18ed03be39ad178627a9 data\create\loot_tables\blocks\limestone_cobblestone_slab.json -8db1e3f0dac48b91a4839206a7d5a88cef415fdc data\create\loot_tables\blocks\limestone_cobblestone_stairs.json -92fb16606f289ad33860270d098fad2522b24e09 data\create\loot_tables\blocks\limestone_cobblestone_wall.json -371115e5ceb08c07a9ab2371509960c31e0baa8a data\create\loot_tables\blocks\limestone_pillar.json -f7893090c6ecb4862c90c408b7f9ce8316f8b608 data\create\loot_tables\blocks\lime_seat.json -aa751d2e8a7889907c08c4bec6f6ca266230b6d7 data\create\loot_tables\blocks\linear_chassis.json -dac789cf53b00eed34308848b5e267b7ccec090c data\create\loot_tables\blocks\linked_extractor.json -7af5a13c9e10903b11732fbc01ae3299328216f0 data\create\loot_tables\blocks\linked_transposer.json -9e5e017cd3b4f544f487a5ca22ef610a4addc8ec data\create\loot_tables\blocks\magenta_seat.json -e64c32da44b7e92dbef36fcb448c42b9bd9ae47c data\create\loot_tables\blocks\mechanical_arm.json -90ddf7b5c3b61758a4ad12a1e6ef16fe6ebf7794 data\create\loot_tables\blocks\mechanical_bearing.json -e93872a90e4f4642a003539e7db28fdacfdcd114 data\create\loot_tables\blocks\mechanical_crafter.json -dee1e06d953c0ca4e37799aee9073fdd43a3dc76 data\create\loot_tables\blocks\mechanical_drill.json -95fa2d3e9cf4aacc42617b1f5ddbf25eeb025770 data\create\loot_tables\blocks\mechanical_harvester.json -b12efeeef5682966016ce6ea2d171eecd33d9667 data\create\loot_tables\blocks\mechanical_mixer.json -2599be757a55464af338ef0a01e3772690d7eaf8 data\create\loot_tables\blocks\mechanical_piston.json -1087b6c6d88dc7c71ed81e1d3e180fe065e6d098 data\create\loot_tables\blocks\mechanical_piston_head.json -d9e217fcc668a04ee495968f8ccf9966271b6cea data\create\loot_tables\blocks\mechanical_plough.json -0e0742d066bda87ba5cc835a4028efb99e70b2f2 data\create\loot_tables\blocks\mechanical_press.json -e94a78187bcf7f235244b2c656732ba9a5821dd0 data\create\loot_tables\blocks\mechanical_pump.json -321daee16d6fad25ecc84da1b2830556d67e2a19 data\create\loot_tables\blocks\mechanical_saw.json -efbd4689e7d6740b80357203d1e02196f0752efa data\create\loot_tables\blocks\millstone.json -205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\minecart_anchor.json -53215ac772bee2f88052266b82213aaf668660e9 data\create\loot_tables\blocks\mossy_andesite.json -1bf4a13a44e5cc03d730b2aa537e60426062786e data\create\loot_tables\blocks\mossy_dark_scoria.json -956e6cc0c6314c9c01610b643785eed48d2d9317 data\create\loot_tables\blocks\mossy_diorite.json -726a61c0894bfcb98912118872d152b480ef3148 data\create\loot_tables\blocks\mossy_dolomite.json -be7e00f97bd20f2b8e1fe943e5e8324c2a44d765 data\create\loot_tables\blocks\mossy_gabbro.json -bd4ff2a38643d53cdc63e1af08af90e9adadcc0f data\create\loot_tables\blocks\mossy_granite.json -3f678fb5dd7279af65b8868765d7c8a5ee1023d2 data\create\loot_tables\blocks\mossy_limestone.json -7107b08ed07b23964df537ae689b48af29b80a2f data\create\loot_tables\blocks\mossy_scoria.json -fdff3d59c214ecbcc2ddcaef778ea661df128b56 data\create\loot_tables\blocks\mossy_weathered_limestone.json -fedbee3e023d469c9f3aba9d11d5be6cdae77083 data\create\loot_tables\blocks\mysterious_cuckoo_clock.json -ecd7afac9eb0989075fced6626e1061d5487c2f4 data\create\loot_tables\blocks\natural_scoria.json -d3ea271bb5774c73d44ab2e73195c9d5a4ff9c92 data\create\loot_tables\blocks\nixie_tube.json -6237eb3999181f1db09ca01b08e7785b70722d3b data\create\loot_tables\blocks\nozzle.json -0b2b142cfb3ebe9d4506e498a8e31f48d00db58d data\create\loot_tables\blocks\oak_window.json -90cc4d5857f47c48e2b82f394de9567023c5c8ce data\create\loot_tables\blocks\oak_window_pane.json -2333aaea940816b6bc8454ba24e0c9f52af94ac0 data\create\loot_tables\blocks\orange_seat.json -267e9e24fac93e3496a80fcb6ed8e9d1c329d2d2 data\create\loot_tables\blocks\ornate_iron_window.json -1fe77a16f4c86993b5fb30f1f48362787fd7cd0b data\create\loot_tables\blocks\ornate_iron_window_pane.json -8d91485a5f353c6fb84e16bd0d9d4a55aaeb31ab data\create\loot_tables\blocks\overgrown_andesite.json -2110e98310c61952b98100f01ea348dce062d945 data\create\loot_tables\blocks\overgrown_dark_scoria.json -552fa22bf8265abde5d7426681b18ef89a8f1159 data\create\loot_tables\blocks\overgrown_diorite.json -a7ff6100cb4694804e83f6bb0a5c17442f6ea7d0 data\create\loot_tables\blocks\overgrown_dolomite.json -bab9f6fb35f2ba4aa45fd726a8e94f90ef155bfb data\create\loot_tables\blocks\overgrown_gabbro.json -4725f5810b606bddc62ad288b039b2b28a8ba40d data\create\loot_tables\blocks\overgrown_granite.json -4b4acf9026d68de21b5804903556a505f913a778 data\create\loot_tables\blocks\overgrown_limestone.json -e0fc59a8645dae8f87e62b34c08014077e14de66 data\create\loot_tables\blocks\overgrown_scoria.json -8af10a6b2d07ed1b84ce617502ad68044262e701 data\create\loot_tables\blocks\overgrown_weathered_limestone.json -131cb27de9d0b44d2ec335055558b8039d6d5fb9 data\create\loot_tables\blocks\packager.json -fc529ec8d55abf361ba1b8c38875839530b082c6 data\create\loot_tables\blocks\paved_andesite.json -3658337cb8a5a6cdd7dd19dd8ac399b1397350d5 data\create\loot_tables\blocks\paved_andesite_slab.json -4dbc7c7537e680e4e7c8a5ba4e4ed394d788b10d data\create\loot_tables\blocks\paved_andesite_stairs.json -550795c90bce7ee25d12611ac04333dc2f04c727 data\create\loot_tables\blocks\paved_andesite_wall.json -6e2abd4ccd9f1835237a074ee897306049faeeaf data\create\loot_tables\blocks\paved_dark_scoria.json -d1f6830634cc426761a998bbc13d12be23b35fbc data\create\loot_tables\blocks\paved_dark_scoria_slab.json -c6b0ff8dc016dd42b22c408c3419f6711f1b3080 data\create\loot_tables\blocks\paved_dark_scoria_stairs.json -974783eeb365799e9a506d304ef2933695f28fd4 data\create\loot_tables\blocks\paved_dark_scoria_wall.json -ffbf1aa8e79c473a3c9e23b1b5b47b5b5028d3d1 data\create\loot_tables\blocks\paved_diorite.json -f5ef960992b47a951a711fa106c48f7b8a5b96d4 data\create\loot_tables\blocks\paved_diorite_slab.json -bb07e230483cf3bee30b9d9f6eb4976dabac02d7 data\create\loot_tables\blocks\paved_diorite_stairs.json -a32cc9641d0a5ddc1d0e3203c8b5f889f8c8dfc4 data\create\loot_tables\blocks\paved_diorite_wall.json -3ba353c436a3ff7af9174f103453fb5828c09294 data\create\loot_tables\blocks\paved_dolomite.json -cd25811c174f143b06a37175bfbdd768a2831204 data\create\loot_tables\blocks\paved_dolomite_slab.json -4ae91089463b12b3cd83504b9479f8bf12131523 data\create\loot_tables\blocks\paved_dolomite_stairs.json -54f2b73b5bc1cdfb9967cc8739fdb5964e0823b3 data\create\loot_tables\blocks\paved_dolomite_wall.json -22845a058f1ce2e998bbb9934bd042b3bd6e6b81 data\create\loot_tables\blocks\paved_gabbro.json -592b138171f9a54fa7208269503c9cf42d82b3e1 data\create\loot_tables\blocks\paved_gabbro_slab.json -9bf714ac05d6ab5d2eb64af9b42333180eac3483 data\create\loot_tables\blocks\paved_gabbro_stairs.json -49faaf2df21b468bb033fafc406753c2303e3410 data\create\loot_tables\blocks\paved_gabbro_wall.json -6ce5f4468d05e4458a38ec916b42e45cf1478ae6 data\create\loot_tables\blocks\paved_granite.json -dcad2650b29ef4ebda66a4c8f3af25e8e634e56a data\create\loot_tables\blocks\paved_granite_slab.json -598924af51d35e3a1115896c161a31a72d5f0905 data\create\loot_tables\blocks\paved_granite_stairs.json -8c4a5acdf69eb5d1fa50453592f07dc28e4da813 data\create\loot_tables\blocks\paved_granite_wall.json -32a8d96e95cb0b784656b36078905c72ad51ee70 data\create\loot_tables\blocks\paved_limestone.json -d59bf5bece914869ce3277090ce199881a812bfc data\create\loot_tables\blocks\paved_limestone_slab.json -a16ba0798803221478012d37db8555bb36e0a9ac data\create\loot_tables\blocks\paved_limestone_stairs.json -fde4316b1469c689370264fcdca37ac4929906c4 data\create\loot_tables\blocks\paved_limestone_wall.json -6d832782d9e73ff9f94920aaa0335d7e86aa65e9 data\create\loot_tables\blocks\paved_scoria.json -a0777a7b1d9a25f25d65d8093948c890fed4baec data\create\loot_tables\blocks\paved_scoria_slab.json -3a72097f8e8ff3df80c540f5e8b54435e319c479 data\create\loot_tables\blocks\paved_scoria_stairs.json -7b717c3176a2a55d728f2102c6f9d82cc6305fb2 data\create\loot_tables\blocks\paved_scoria_wall.json -dfeba5c6de20e9ec0252e43b7c4046f017284d3d data\create\loot_tables\blocks\paved_weathered_limestone.json -32eed137f13c25a7b9db2fb457901e0c03cabb16 data\create\loot_tables\blocks\paved_weathered_limestone_slab.json -67b9227237ed2a8c09c4183c0f2ab1b3bd07084b data\create\loot_tables\blocks\paved_weathered_limestone_stairs.json -d3e4ab984aef19ee21a1c5b868eb3fde96c05afd data\create\loot_tables\blocks\paved_weathered_limestone_wall.json -6f32e1217986407e41358e9417de63602c78e810 data\create\loot_tables\blocks\pink_seat.json -1087b6c6d88dc7c71ed81e1d3e180fe065e6d098 data\create\loot_tables\blocks\piston_extension_pole.json -05302657546d8d410e367e84d4d5e01f01523236 data\create\loot_tables\blocks\polished_dark_scoria.json -1b323a883816428ff851462f61d00eaee7255e33 data\create\loot_tables\blocks\polished_dark_scoria_slab.json -a105d9992122370d80d190fcabcadcf167f71bd3 data\create\loot_tables\blocks\polished_dark_scoria_stairs.json -3298bdd51f488399459e9be88610296c8fdbf880 data\create\loot_tables\blocks\polished_dark_scoria_wall.json -9faa9435b97de565947686a8d5ecb29fff5aca8c data\create\loot_tables\blocks\polished_dolomite.json -5d85866fab9c553dd387b2c147d2b8c5f4617c11 data\create\loot_tables\blocks\polished_dolomite_slab.json -25d03f9ad84709dc86ef660b78384c5e6b4a566c data\create\loot_tables\blocks\polished_dolomite_stairs.json -73b2aae50efbef2f69177dfdb55a4fe60c377f71 data\create\loot_tables\blocks\polished_dolomite_wall.json -3963878203d8383de9190ea08bafb85a83f7c6bb data\create\loot_tables\blocks\polished_gabbro.json -1af13e327c6ef6de64d9e220ef8c8960774170d0 data\create\loot_tables\blocks\polished_gabbro_slab.json -d7af796369513af346c7325866433f7e0fea0ab7 data\create\loot_tables\blocks\polished_gabbro_stairs.json -f54e5452a659d452e936424f35e4fdf7b2817843 data\create\loot_tables\blocks\polished_gabbro_wall.json -9f9c0531d0a6fd6041a24390126531c8d8fd5b2e data\create\loot_tables\blocks\polished_limestone.json -cd507b7b5990ec15793c187105359c4b37205757 data\create\loot_tables\blocks\polished_limestone_slab.json -ddad935d589d85c2b2c4666caf4215771fb7dfbc data\create\loot_tables\blocks\polished_limestone_stairs.json -142148b74e61ae778f45465fc1df0aaae59e8fef data\create\loot_tables\blocks\polished_limestone_wall.json -51cbf4f5df6382161121f8b3b773d04cea36636b data\create\loot_tables\blocks\polished_scoria.json -27745995383c4e4d67acd9a55666f3c89a168b5d data\create\loot_tables\blocks\polished_scoria_slab.json -125e1fa323de8b565e17b1eedf1ca779bb2fddf7 data\create\loot_tables\blocks\polished_scoria_stairs.json -c7029af40b6f5dd2cd8f2ae7dfb89b37074624e6 data\create\loot_tables\blocks\polished_scoria_wall.json -6da8efd3289ceeb187f7037397329dcece287683 data\create\loot_tables\blocks\polished_weathered_limestone.json -812be8e20c86013b9336939ecd78a9579ef75a1a data\create\loot_tables\blocks\polished_weathered_limestone_slab.json -6ef650c723d409c7a678ffac45212e22e37581c0 data\create\loot_tables\blocks\polished_weathered_limestone_stairs.json -58715bc033e4740dbb754f91c93a22b9d06828e6 data\create\loot_tables\blocks\polished_weathered_limestone_wall.json -fbe98efcb1a5970b6795fdbbb671fee704c0945f data\create\loot_tables\blocks\portable_storage_interface.json -6a46f00d9de7050eb9748d5dbed182caa6b29949 data\create\loot_tables\blocks\powered_latch.json -a3fb7d3e3bf9dc73ce754002f10c469d57db1f71 data\create\loot_tables\blocks\powered_toggle_latch.json -205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\pulley_magnet.json -e8fb62c91226ac107dee45c5ebc54c8dd0aee224 data\create\loot_tables\blocks\pulse_repeater.json -d7f6caa568e6508177a644fb78dc18ce26c9b2c0 data\create\loot_tables\blocks\purple_seat.json -768420dab8785909891e52c4d77a182d99ba11d3 data\create\loot_tables\blocks\radial_chassis.json -f5907a694206facc01f61f3428f72488486761c7 data\create\loot_tables\blocks\redstone_contact.json -886a0c1386fb12104b736a15689030aaff771270 data\create\loot_tables\blocks\redstone_link.json -71b0fa3b174efe94a2a735ab2426c376c0ef674a data\create\loot_tables\blocks\red_seat.json -97c945de837a6360c0ab7e1371f16ebc1645f6ea data\create\loot_tables\blocks\reinforced_rail.json -205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\rope.json -cecaac07bd275bb1ae9e302f0bf44b581e74105d data\create\loot_tables\blocks\rope_pulley.json -aa6af37356d65105efab2503ffe75f778cfe873b data\create\loot_tables\blocks\rotation_speed_controller.json -c4a89145334addfd0dd1fedf7fa75ba07a7d3490 data\create\loot_tables\blocks\schematicannon.json -069701cb804b6522c18624a0d4f3f949ff8b0281 data\create\loot_tables\blocks\schematic_table.json -af1bbbb8236b4ab05a6a8edc6db960bc758cbdf3 data\create\loot_tables\blocks\scoria.json -bb670ac5dd2fa4c743bc268cd0547926eb6cdb68 data\create\loot_tables\blocks\scoria_bricks.json -93c5165b6d1655f99eb45d708080ae54b1a3a118 data\create\loot_tables\blocks\scoria_bricks_slab.json -58a188f3ebfeb3d19323c3f8dfa3e020a7f6cdc4 data\create\loot_tables\blocks\scoria_bricks_stairs.json -81dae28911c6ff8d8330a597fc1e4eab1e77942d data\create\loot_tables\blocks\scoria_bricks_wall.json -c55969dc0f736f770e3c27d9f2609d20d379fed1 data\create\loot_tables\blocks\scoria_cobblestone.json -18637fc6cd83ed43fed0cda3a9538ca77f3c96e1 data\create\loot_tables\blocks\scoria_cobblestone_slab.json -3205ea5dd97df68f733f54aa3ab3f98a5ce20942 data\create\loot_tables\blocks\scoria_cobblestone_stairs.json -d2139e9daa55c09cd262b15c980d65c554347e45 data\create\loot_tables\blocks\scoria_cobblestone_wall.json -82fb40738f53892571ad83789ff45315e887c811 data\create\loot_tables\blocks\scoria_pillar.json -f70c5b7e7da7abffc82e3d1828499799883bbe85 data\create\loot_tables\blocks\secondary_linear_chassis.json -e4f6dccb8bce21b5214c1d8cfb440fc0ba4159d7 data\create\loot_tables\blocks\sequenced_gearshift.json -b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data\create\loot_tables\blocks\shaft.json -70b6e82e9198d3910877e62c2eab86d46ca27089 data\create\loot_tables\blocks\speedometer.json -a23a1e332c9ba84474e3c0588e8a0857afe346e0 data\create\loot_tables\blocks\spruce_window.json -3ee2350936ea82fef716bc58e4cd088a384616f0 data\create\loot_tables\blocks\spruce_window_pane.json -8d2970acd61b96844a4308d87e858b1612d5862e data\create\loot_tables\blocks\sticky_mechanical_piston.json -ec2889e712702644092197a4b41a682fb953817d data\create\loot_tables\blocks\stockpile_switch.json -3479775008a256bc35f98b31655975f7d5c836b2 data\create\loot_tables\blocks\stressometer.json -05e843ca6eb5e299bf41de123977a1045c120ad4 data\create\loot_tables\blocks\tiled_glass.json -e999969f05d2625e61757aa82092d232b99f6e0a data\create\loot_tables\blocks\tiled_glass_pane.json -b201436ae6d2ad5a7d47dca0ee8c7016b4c28fa5 data\create\loot_tables\blocks\transposer.json -7b66ad2c48449bafd0cdbd086ac41218cb73a814 data\create\loot_tables\blocks\turntable.json -5a47c1535c866184b4ffca65763f5676f319e0aa data\create\loot_tables\blocks\vertical_extractor.json -028e293b5cd694017962f67dc80dba719f904e28 data\create\loot_tables\blocks\vertical_framed_glass.json -d0156602dd5f4a274c293df67e19374820c72890 data\create\loot_tables\blocks\vertical_framed_glass_pane.json -dac789cf53b00eed34308848b5e267b7ccec090c data\create\loot_tables\blocks\vertical_linked_extractor.json -7af5a13c9e10903b11732fbc01ae3299328216f0 data\create\loot_tables\blocks\vertical_linked_transposer.json -b201436ae6d2ad5a7d47dca0ee8c7016b4c28fa5 data\create\loot_tables\blocks\vertical_transposer.json -2883c63ceb1273009dbf91cb0693756cadf79a1a data\create\loot_tables\blocks\water_wheel.json -611d6195db52c074de484ec52d7ac9eb96b4ff10 data\create\loot_tables\blocks\weathered_limestone.json -c1f379baad36a20fc767be094db10480a0378184 data\create\loot_tables\blocks\weathered_limestone_bricks.json -d9ab81fb9e2bb348e5bcc0ef2c2adf767493da4d data\create\loot_tables\blocks\weathered_limestone_bricks_slab.json -c2a62f12680d04ed4f586c501bb026e367243dd2 data\create\loot_tables\blocks\weathered_limestone_bricks_stairs.json -1b1016be0cc0bdf599f3e6b84c6663436e8d5835 data\create\loot_tables\blocks\weathered_limestone_bricks_wall.json -2500dc22c1f8793053d223958a5763a0f9554874 data\create\loot_tables\blocks\weathered_limestone_cobblestone.json -8e3f79fe8a06b1b55f347d80f028e040c85c19ab data\create\loot_tables\blocks\weathered_limestone_cobblestone_slab.json -a89f425c47c3831071b556697169a3124370aed7 data\create\loot_tables\blocks\weathered_limestone_cobblestone_stairs.json -e8f3af61d9a2fd1ff5b32c9bb474ed005e6d70c4 data\create\loot_tables\blocks\weathered_limestone_cobblestone_wall.json -54358a64639957cc66ffa5296ff45723f7adf00e data\create\loot_tables\blocks\weathered_limestone_pillar.json -969eda31556feb5a68e350762848d17453275fee data\create\loot_tables\blocks\white_seat.json -37ead431a278928a09b260ae06a448e2c791a73e data\create\loot_tables\blocks\yellow_seat.json -94661e726b3d19271550359ae898a5590939512e data\create\loot_tables\blocks\zinc_block.json -37248ca92d474e440b91c27e3c8e78e568328100 data\create\loot_tables\blocks\zinc_ore.json -b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data\create\recipes\acacia_window.json -35b4da9c14da60584c32e959efc2223f64bb3ec2 data\create\recipes\acacia_window_pane.json -96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data\create\recipes\andesite_bricks_from_andesite_stonecutting.json -01867b07039615dc69bad1b9fd217a1d86e69062 data\create\recipes\andesite_bricks_slab.json -376ada0e08cc797c705c22ec35fe54baa5f24efe data\create\recipes\andesite_bricks_slab_from_andesite_bricks_stonecutting.json -c5af0b289a80e863bdc63bd048a667da738d8555 data\create\recipes\andesite_bricks_stairs.json -7909f6c160263b0ebf0b7078f5593f61304d339c data\create\recipes\andesite_bricks_stairs_from_andesite_bricks_stonecutting.json -ec38ebac57252c1236f071309e588f48b39c2357 data\create\recipes\andesite_bricks_wall.json -38983792eb1f8e1c189a2eeb5113f48e014774a8 data\create\recipes\andesite_bricks_wall_from_andesite_bricks_stonecutting.json -c0cc57304d2082913fc596aa273ef83525ddc615 data\create\recipes\andesite_cobblestone_from_andesite_stonecutting.json -518cadbaf9372b6144b91be1bd80770ddbc42948 data\create\recipes\andesite_cobblestone_slab.json -dbed532f975d4cd9b12bb7331520aa6a7ab057ec data\create\recipes\andesite_cobblestone_slab_from_andesite_cobblestone_stonecutting.json -4ed1069d4c484990e73a638d5d70c4b2b102b8eb data\create\recipes\andesite_cobblestone_stairs.json -bb88bb3c7656adb5159910c6c03a0b0d908ff10d data\create\recipes\andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json -555386a3e6d29110aadb762eb1b0a3622c6680b8 data\create\recipes\andesite_cobblestone_wall.json -51fa768e66043a7f5629b19b0bc7a4e95281037f data\create\recipes\andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json -a961cdd11e807bc4658bbdba6c278801b5981234 data\create\recipes\andesite_pillar.json -dcdad7a04838ef202b42f84a15243e3d2472b14e data\create\recipes\andesite_pillar_from_andesite_stonecutting.json -2b291b77860254b7ba8500cf2199a04ca1fca7b5 data\create\recipes\birch_window.json -288d80210f7efb4664e2e9c9d9111049863e5f60 data\create\recipes\birch_window_pane.json -d5c30af1052332ff3ef6d837ca2bf51c51e14c8d data\create\recipes\brass_block.json -8851b4a339f22bed4da120c3e34d1f32120d0d66 data\create\recipes\chiseled_dark_scoria_from_dark_scoria_stonecutting.json -66937d62734328f4bff6254e6755b3490d4dfa16 data\create\recipes\chiseled_dolomite_from_dolomite_stonecutting.json -74f565a44400c4abd7b5d6073830b9b46dd71fc6 data\create\recipes\chiseled_gabbro_from_gabbro_stonecutting.json -c323b106e88b7de77fea71ff12494abdbb818d15 data\create\recipes\chiseled_limestone_from_limestone_stonecutting.json -da9a919b476954c1de34826aa7706bf6056a8f12 data\create\recipes\chiseled_scoria_from_scoria_stonecutting.json -09faa4ddcf9f3907dcdb3ab3e8b68c1deb2486e5 data\create\recipes\chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json -386c52f0aad6e2239f31dc85f7e745b47230846b data\create\recipes\copper_block.json -f2c317e03ac4d42fb631e1625607061e10c480fe data\create\recipes\dark_oak_window.json -d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data\create\recipes\dark_oak_window_pane.json -55596a590962e3ddd40949917661f0bd94408274 data\create\recipes\dark_scoria_bricks_from_dark_scoria_stonecutting.json -2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data\create\recipes\dark_scoria_bricks_slab.json -86f4d54ebcc5bc8786c72167395d8efee833744c data\create\recipes\dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json -471d1883452978264af939ccac9b6845ffd569a5 data\create\recipes\dark_scoria_bricks_stairs.json -136967d1939b95f5cc75072eaa17ae47dc89fdad data\create\recipes\dark_scoria_bricks_stairs_from_dark_scoria_bricks_stonecutting.json -bacfaa195752d5688d29eaca78578e51c379aa7f data\create\recipes\dark_scoria_bricks_wall.json -fd94541b20370d88177c798fb4f3e173e5ecd9eb data\create\recipes\dark_scoria_bricks_wall_from_dark_scoria_bricks_stonecutting.json -a45731bfbe8cf6d036e24d71617ca77c2e91ebe0 data\create\recipes\dark_scoria_cobblestone_from_dark_scoria_stonecutting.json -3f00c98949d2a9ee7057c75cfaf10f693d7afe4f data\create\recipes\dark_scoria_cobblestone_slab.json -f1d783d94c378d3ca81531996dd220c01559b4f3 data\create\recipes\dark_scoria_cobblestone_slab_from_dark_scoria_cobblestone_stonecutting.json -d6ca23af29947b474c28987bb8a4b488bfa78363 data\create\recipes\dark_scoria_cobblestone_stairs.json -4758fca3e1888ce298e5c173c62097631843e0fb data\create\recipes\dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json -f3a72b45daef00035ecb17b9cd7f8985a5f9e9ef data\create\recipes\dark_scoria_cobblestone_wall.json -0f2c14d40ed9013d45e331000ea03d39430f9d22 data\create\recipes\dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json -31b7e65165cb0dbcd95362a81905b19fe4282cf3 data\create\recipes\dark_scoria_pillar.json -681f45f03b15dc1a8a72cf72042e725d3f0cc7ef data\create\recipes\dark_scoria_pillar_from_dark_scoria_stonecutting.json -25c0fe29d1c2cedcaf21fac6cdfcce45dbf810bf data\create\recipes\diorite_bricks_from_diorite_stonecutting.json -ff4a8687bdff339a10e0b813788bca272332abd9 data\create\recipes\diorite_bricks_slab.json -7c49a389f9222fdfd6653d9fbcb1ca05bf207aa8 data\create\recipes\diorite_bricks_slab_from_diorite_bricks_stonecutting.json -04dfda7e1c02d35a862d5b5974f0e3dbdb7c57e7 data\create\recipes\diorite_bricks_stairs.json -ec6ce026ef13455f384882f5caa49c80dcc39c3a data\create\recipes\diorite_bricks_stairs_from_diorite_bricks_stonecutting.json -e2900dad086daefc7ed843da6f2fe0251b5d9c21 data\create\recipes\diorite_bricks_wall.json -5e80ca479cff8471ea9a08676bdbd04cdcaecbf5 data\create\recipes\diorite_bricks_wall_from_diorite_bricks_stonecutting.json -e8909c42980f4ede1dc8fa46c8b80fb63da0a64d data\create\recipes\diorite_cobblestone_from_diorite_stonecutting.json -f2c95f81b6effb2ca310fb38ee3bbe7eccb3615d data\create\recipes\diorite_cobblestone_slab.json -5df48e568e87ed7c39d0ee4c860d309ab4d5b97f data\create\recipes\diorite_cobblestone_slab_from_diorite_cobblestone_stonecutting.json -24263c12b2a53af6beeb0e7cbd8e6865773b88d0 data\create\recipes\diorite_cobblestone_stairs.json -119741ea88d16a468b5e814459b30981d1212419 data\create\recipes\diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json -f764471aab017775e0d7a6d43a9e36b186db3ac2 data\create\recipes\diorite_cobblestone_wall.json -d3628d5ce836d3b9072be3d4cf30416146cccad2 data\create\recipes\diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json -d69d767a77ae62f8e53342dffda4c627906439d7 data\create\recipes\diorite_pillar.json -3019172274fdfcc606ad0f5569db433913231c28 data\create\recipes\diorite_pillar_from_diorite_stonecutting.json -6ee0f10522f4acfe554e4743fa2ba1d8297a12f2 data\create\recipes\dolomite_bricks_from_dolomite_stonecutting.json -88a9b8e89e67455a9c4f1c3dbff813a3c3bd1609 data\create\recipes\dolomite_bricks_slab.json -3adfb9924ada35d58275533425802b4829f058ac data\create\recipes\dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json -13ceb35e0adb6b08958544b89f8d6fa339696d8e data\create\recipes\dolomite_bricks_stairs.json -587deb3d09ff77318d36ec10af67371c141d54e0 data\create\recipes\dolomite_bricks_stairs_from_dolomite_bricks_stonecutting.json -6deb71ec498c99622bf9951e112ef65e38f22522 data\create\recipes\dolomite_bricks_wall.json -8796b485e75cfe021573b1d9d5ef45599f4296f6 data\create\recipes\dolomite_bricks_wall_from_dolomite_bricks_stonecutting.json -a371be60d1ae1bd3f789a140a623d89839256cb1 data\create\recipes\dolomite_cobblestone_from_dolomite_stonecutting.json -abd5079de42a905674cc722d89cfab2d6871bb67 data\create\recipes\dolomite_cobblestone_slab.json -1dd9dd521b281581b203bb08351cc3d40c0bbe5f data\create\recipes\dolomite_cobblestone_slab_from_dolomite_cobblestone_stonecutting.json -ddda28bb6efc43b7e3149756daf53e1664187283 data\create\recipes\dolomite_cobblestone_stairs.json -94de6eeb72977050e6c0b73edad6e46681d2a9af data\create\recipes\dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json -0e5f741034bac11c6005410dc559573536201e77 data\create\recipes\dolomite_cobblestone_wall.json -500ecdfdcf34e9d26256948e206aab4f0b79e659 data\create\recipes\dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json -ff39e629b242ae91e23aec86b0a1f757dd938305 data\create\recipes\dolomite_pillar.json -b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data\create\recipes\dolomite_pillar_from_dolomite_stonecutting.json -0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data\create\recipes\fancy_andesite_bricks_from_andesite_stonecutting.json -8b86fc9a9416adeaab3f26192a73a481887675c3 data\create\recipes\fancy_andesite_bricks_slab.json -c7b762b25c7a6705dba3e922e981be851ac4f36b data\create\recipes\fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json -0a9904d4f88187a8029ed2ddebf23b3b83c430f6 data\create\recipes\fancy_andesite_bricks_stairs.json -13395eb48bdeca3c49b805d0cfa6e3fd86281a10 data\create\recipes\fancy_andesite_bricks_stairs_from_fancy_andesite_bricks_stonecutting.json -1594c042f121377fb2b458e6191dff9a2ca1226a data\create\recipes\fancy_andesite_bricks_wall.json -6462def9d5aba9d9a1696c46a2eea67a69c96344 data\create\recipes\fancy_andesite_bricks_wall_from_fancy_andesite_bricks_stonecutting.json -9f33ce41d7f18430afbe6a1c4d5fc02fe06ec453 data\create\recipes\fancy_dark_scoria_bricks_from_dark_scoria_stonecutting.json -18ead8c5d5426ef04c31b381c7c084c76c09fd7c data\create\recipes\fancy_dark_scoria_bricks_slab.json -64239d4d243873d674bd9aae7e8f33bc7bd49b72 data\create\recipes\fancy_dark_scoria_bricks_slab_from_fancy_dark_scoria_bricks_stonecutting.json -275c6078576d15dc00da42af97bb92750b8a4951 data\create\recipes\fancy_dark_scoria_bricks_stairs.json -6507a4d4d88883caafec7ee3b83b2eefd6d7869b data\create\recipes\fancy_dark_scoria_bricks_stairs_from_fancy_dark_scoria_bricks_stonecutting.json -34569b4c4a4847e7aae75a3ac090196813dcb612 data\create\recipes\fancy_dark_scoria_bricks_wall.json -6b75c3559fa97fa857de59a1e8b26a98bd582506 data\create\recipes\fancy_dark_scoria_bricks_wall_from_fancy_dark_scoria_bricks_stonecutting.json -2cc2b560341ceb2b5d30c25a00bb8549b0dd32cc data\create\recipes\fancy_diorite_bricks_from_diorite_stonecutting.json -74f83f0bc12746171a62e27b3073d2ffa11d66f7 data\create\recipes\fancy_diorite_bricks_slab.json -ab577c2f0ace690d8334c09cbe3079da3568603a data\create\recipes\fancy_diorite_bricks_slab_from_fancy_diorite_bricks_stonecutting.json -251748e90839169cd9e7b1b0cf9ddf926a8ee73c data\create\recipes\fancy_diorite_bricks_stairs.json -af23b733b76e3a1d0dcfa69d1153aa7827ead0fa data\create\recipes\fancy_diorite_bricks_stairs_from_fancy_diorite_bricks_stonecutting.json -a7f4b307a84f817228893caf257d07ff118026c6 data\create\recipes\fancy_diorite_bricks_wall.json -d0c75c36c90619fe78b13c00ee807fbf3a49cd71 data\create\recipes\fancy_diorite_bricks_wall_from_fancy_diorite_bricks_stonecutting.json -7ff2a8503f752d07ac447a636c4f13c44c536b9b data\create\recipes\fancy_dolomite_bricks_from_dolomite_stonecutting.json -e37d7449b6ba57c2440ef4a91d4f98c65d06ef3c data\create\recipes\fancy_dolomite_bricks_slab.json -18c31b4e2dfaefacaa3a8b614f7a322197f59221 data\create\recipes\fancy_dolomite_bricks_slab_from_fancy_dolomite_bricks_stonecutting.json -45228000ec1dff7db39e1b3733cadc2d83222c52 data\create\recipes\fancy_dolomite_bricks_stairs.json -cbf50f1b606a14b59b127e8192089e2b54d6632e data\create\recipes\fancy_dolomite_bricks_stairs_from_fancy_dolomite_bricks_stonecutting.json -744168a01a04ee317ec170b0b80f758a00387124 data\create\recipes\fancy_dolomite_bricks_wall.json -46d3f924f2b0b580a257303d99edaba23380f534 data\create\recipes\fancy_dolomite_bricks_wall_from_fancy_dolomite_bricks_stonecutting.json -f2c48a64e4f384cfa69b7c60b0561bc5611d0d64 data\create\recipes\fancy_gabbro_bricks_from_gabbro_stonecutting.json -43368bb227a5c8d3c3b78e65b98a41c10767dd3b data\create\recipes\fancy_gabbro_bricks_slab.json -32a77ff3471fc5a88c5492ef6eb4aadb796648ce data\create\recipes\fancy_gabbro_bricks_slab_from_fancy_gabbro_bricks_stonecutting.json -0388082c982f32858865e2de20c6e088d3c4377d data\create\recipes\fancy_gabbro_bricks_stairs.json -1a47b2f3aedcd98b3ca88f2a0889572e46e794a8 data\create\recipes\fancy_gabbro_bricks_stairs_from_fancy_gabbro_bricks_stonecutting.json -5cdbf50d7ae2a4581b29596e56c4bed54bcd60cf data\create\recipes\fancy_gabbro_bricks_wall.json -d0027afab8d9beaabbf5812d92bc3b01abd14047 data\create\recipes\fancy_gabbro_bricks_wall_from_fancy_gabbro_bricks_stonecutting.json -5fd73258b8d78e35541809e38947da8231cc7b93 data\create\recipes\fancy_granite_bricks_from_granite_stonecutting.json -e2454812e7d81c4c952948cfdb65944107c54988 data\create\recipes\fancy_granite_bricks_slab.json -67a0375b3fb68dac3460b39fcd4b250e8f600176 data\create\recipes\fancy_granite_bricks_slab_from_fancy_granite_bricks_stonecutting.json -516568feeacb1ddd80d6f9d75f452704e8fc1167 data\create\recipes\fancy_granite_bricks_stairs.json -7b6b684b62a81ee4f912590bea46fe61d8ff16ff data\create\recipes\fancy_granite_bricks_stairs_from_fancy_granite_bricks_stonecutting.json -623bc299de4d60e138034c1f94db969bea60244d data\create\recipes\fancy_granite_bricks_wall.json -c8c07ff10ff7388422c8ad2343180e341a9322b0 data\create\recipes\fancy_granite_bricks_wall_from_fancy_granite_bricks_stonecutting.json -58d8db7cd064c9ec8e3baeb4ee6d3e45f13e4aa8 data\create\recipes\fancy_limestone_bricks_from_limestone_stonecutting.json -2aa411470b1ff2c469a6a75fbfd31fe1a3e0c61f data\create\recipes\fancy_limestone_bricks_slab.json -621e1c5408fc144fc63da8d52a61c7d73f4ff7b1 data\create\recipes\fancy_limestone_bricks_slab_from_fancy_limestone_bricks_stonecutting.json -93ea6268c9506edb52ebf6434b34b3664fa7a09d data\create\recipes\fancy_limestone_bricks_stairs.json -e7c974e24144f85b1fea80dafd5bd4215584462b data\create\recipes\fancy_limestone_bricks_stairs_from_fancy_limestone_bricks_stonecutting.json -898e9cbdd86cc44ebab36a34fce01735b469e40c data\create\recipes\fancy_limestone_bricks_wall.json -3d34e5a588a3e3d3de17fca617b158e36d5c6b3d data\create\recipes\fancy_limestone_bricks_wall_from_fancy_limestone_bricks_stonecutting.json -f9b9dea5e973f100d5cd3080740dd574ac0981ac data\create\recipes\fancy_scoria_bricks_from_scoria_stonecutting.json -cbe79cd606b595938ad7607e1b5f19820ab4d003 data\create\recipes\fancy_scoria_bricks_slab.json -1596333d32a1eb6ea282992680e550cc9e62bf65 data\create\recipes\fancy_scoria_bricks_slab_from_fancy_scoria_bricks_stonecutting.json -b61539b7d3d3fbd12d576ce62c64700bab51b29f data\create\recipes\fancy_scoria_bricks_stairs.json -0e62dd47368f6e8f779c3f18bc2a24de43623252 data\create\recipes\fancy_scoria_bricks_stairs_from_fancy_scoria_bricks_stonecutting.json -d56c72aaa827b4f59402fc47521dcd0455f002b6 data\create\recipes\fancy_scoria_bricks_wall.json -afed7fdc479a3510fa92501675643f266933ee0d data\create\recipes\fancy_scoria_bricks_wall_from_fancy_scoria_bricks_stonecutting.json -bd355332d17adcb0460b1d43146ca288efb78395 data\create\recipes\fancy_weathered_limestone_bricks_from_weathered_limestone_stonecutting.json -015e8fd3011cc7b6db64b62ec19d4dccc2a1e58b data\create\recipes\fancy_weathered_limestone_bricks_slab.json -76fe30c9b84f6d7d2210996fc7a522935cf36af3 data\create\recipes\fancy_weathered_limestone_bricks_slab_from_fancy_weathered_limestone_bricks_stonecutting.json -3359e9f3a5190b6c0639b6e648fee50bc06d3166 data\create\recipes\fancy_weathered_limestone_bricks_stairs.json -d2ab9ce73636773165564506580f2ec13bd1fc50 data\create\recipes\fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json -36947f27d2b2e57b00440fd5acd06a7554e5a387 data\create\recipes\fancy_weathered_limestone_bricks_wall.json -1d0e41ca98e48073c72adf4077610c96e592f9a5 data\create\recipes\fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json -5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data\create\recipes\framed_glass_from_glass_colorless_stonecutting.json -d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data\create\recipes\framed_glass_pane.json -a0dae50faaa1b7142bb4309675e3084c68daa547 data\create\recipes\gabbro_bricks_from_gabbro_stonecutting.json -a19f047fa8507e994eb026795c86bc10ff5c373b data\create\recipes\gabbro_bricks_slab.json -84d83643f7987864eca0e2ca7cda4330ad9f1f86 data\create\recipes\gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json -7254ce767a38462ac9f175ebc9814e20f41a9a2c data\create\recipes\gabbro_bricks_stairs.json -60804fe6f0827d6128ff957850d465e7a0dbda46 data\create\recipes\gabbro_bricks_stairs_from_gabbro_bricks_stonecutting.json -0b864591d74db18aa3436b225933a1e5d6147241 data\create\recipes\gabbro_bricks_wall.json -f5aefaf797566e8d1608f6ce2cb12b424e8fed88 data\create\recipes\gabbro_bricks_wall_from_gabbro_bricks_stonecutting.json -4cefbfd6db877fc636de1468e3a4edcc8cf632c8 data\create\recipes\gabbro_cobblestone_from_gabbro_stonecutting.json -b83eb36d80138a1a92bcc3f8c738ff3a1260a2b1 data\create\recipes\gabbro_cobblestone_slab.json -073095d26cb265459fd04ad00e6075aa783b9f54 data\create\recipes\gabbro_cobblestone_slab_from_gabbro_cobblestone_stonecutting.json -ad96ac7f096bd042729bcebe4e135ebe25a25243 data\create\recipes\gabbro_cobblestone_stairs.json -f7407fd04cfe7558d53c44cb33dfd8ff8a736ae3 data\create\recipes\gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json -73c4b5ad4677a380cc904bc6f82537bfe2713713 data\create\recipes\gabbro_cobblestone_wall.json -8171880f4374f9102949b85e9a17e0b313caf3a6 data\create\recipes\gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json -6e52667c2f9ec62a95ba27676fdc07a8222f1746 data\create\recipes\gabbro_pillar.json -da3743119130ef0946b05b21a84c2fe5926dccd5 data\create\recipes\gabbro_pillar_from_gabbro_stonecutting.json -5664bad03fce4a4724e8fd21c9c02ca6ae900df9 data\create\recipes\granite_bricks_from_granite_stonecutting.json -1c5265828318670a11bd1e439b6a6005edb37487 data\create\recipes\granite_bricks_slab.json -0f460bda24ff799a9ef948933cfb50ef038739d4 data\create\recipes\granite_bricks_slab_from_granite_bricks_stonecutting.json -eb0ee969784d6d655589c84c72bf276c745df4e1 data\create\recipes\granite_bricks_stairs.json -5dbe6ab9bb6cbdf828f731ea87d6000fbe5daa60 data\create\recipes\granite_bricks_stairs_from_granite_bricks_stonecutting.json -da89cd42c12e5da506e9b35be446896d8f7333b9 data\create\recipes\granite_bricks_wall.json -b06a6ba2290d2a12a7774a6b6978fff10c982d72 data\create\recipes\granite_bricks_wall_from_granite_bricks_stonecutting.json -ea30ea610474af708e34042ae1b2af30014fc432 data\create\recipes\granite_cobblestone_from_granite_stonecutting.json -26f1b09623e93372471a653f384eadf3bb140a8c data\create\recipes\granite_cobblestone_slab.json -6a5e9afa1bdc92dc4ba73479ba7ed3bb18bd9f11 data\create\recipes\granite_cobblestone_slab_from_granite_cobblestone_stonecutting.json -99847acc7c4762e5976213e5c82402d8fdf1f0c9 data\create\recipes\granite_cobblestone_stairs.json -fa02e54eaa63121998593403736ecbe86ae03518 data\create\recipes\granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json -5626c6c9c764c364daf74e3b0db4b8dbad5a7ca2 data\create\recipes\granite_cobblestone_wall.json -c84f7bfa2d901684dbc7c0afa133a9c87e6e9975 data\create\recipes\granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json -41ba9d3b7b1b0eb99a61d69774ccc0490804e5d1 data\create\recipes\granite_pillar.json -d0c541bbefb9f3f861ae5751645493c8e1687b5c data\create\recipes\granite_pillar_from_granite_stonecutting.json -05908d48b6ac0c117da0b4b9ae4ae5e933ed900e data\create\recipes\horizontal_framed_glass_from_glass_colorless_stonecutting.json -4e8d49934f9899f788d45d4347bfc085b2836699 data\create\recipes\horizontal_framed_glass_pane.json -c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data\create\recipes\jungle_window.json -76dab06d0bda78c4247f76d6a849e1aa083fceb1 data\create\recipes\jungle_window_pane.json -fc00b0e336c45698df1f94ad470f9941e19b0e24 data\create\recipes\layered_andesite_from_andesite_stonecutting.json -7d66cee5fc4b1f4a94d05ada6ec731bb3a788d0e data\create\recipes\layered_dark_scoria_from_dark_scoria_stonecutting.json -938b2805fbed7a68afe26e4cf9b20ac5d3c3a91f data\create\recipes\layered_diorite_from_diorite_stonecutting.json -a50ba6bd628a3fec6ccbfd38a8bfb78c3b3bc3eb data\create\recipes\layered_dolomite_from_dolomite_stonecutting.json -b49c314e171f31a39f38aabad767d8d3be613602 data\create\recipes\layered_gabbro_from_gabbro_stonecutting.json -321027b7062a70243b7f24149186630d05f8943b data\create\recipes\layered_granite_from_granite_stonecutting.json -9712031277020c39e8e643690a6a968c5e275a75 data\create\recipes\layered_limestone_from_limestone_stonecutting.json -fdfbe941eb56a98c3d28639154b7bcd4dcc66dfa data\create\recipes\layered_scoria_from_scoria_stonecutting.json -cc070e83594b20cf697aa5dbb8c4e09dbf576d00 data\create\recipes\layered_weathered_limestone_from_weathered_limestone_stonecutting.json -3b43347da62a69c6e76e6a0261f840f46ff90038 data\create\recipes\limestone_bricks_from_limestone_stonecutting.json -aed4b037af6921e9337213dc09a215ab7a18adde data\create\recipes\limestone_bricks_slab.json -7222e1f13c6aec69ea37c84b4aca3e2322ef00d2 data\create\recipes\limestone_bricks_slab_from_limestone_bricks_stonecutting.json -9480a9b8e8aa733df42f80486ce1f251ded417bb data\create\recipes\limestone_bricks_stairs.json -206c116313d0b906de969dd7ece9da82be05d45b data\create\recipes\limestone_bricks_stairs_from_limestone_bricks_stonecutting.json -cd5faabca5e37a2394bde992a4247d925256eff9 data\create\recipes\limestone_bricks_wall.json -08295b9cdfa322ea65368152b7f195825742b99b data\create\recipes\limestone_bricks_wall_from_limestone_bricks_stonecutting.json -5415fb299442e19c38eb883427338aa60aa77d72 data\create\recipes\limestone_cobblestone_from_limestone_stonecutting.json -385b7a83c7f4a0e2a8e2467b3a0ebd31be8744b9 data\create\recipes\limestone_cobblestone_slab.json -4862f534ee6d4638dd47fd344fdaf567a5e840ed data\create\recipes\limestone_cobblestone_slab_from_limestone_cobblestone_stonecutting.json -d583004ff53d2af07c7c21886fe4beacdcd7015f data\create\recipes\limestone_cobblestone_stairs.json -cb5adf8b68b745b4a0addc04c41fa21ae68808cd data\create\recipes\limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json -bbf64f7eb3868e354756e57348493e2b1ae6b0d9 data\create\recipes\limestone_cobblestone_wall.json -88fa2b1ab746d5e13a8afd6e7e7d80ad843e0016 data\create\recipes\limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json -327bb8a6535b60bb65d0dda9d5205e988bc82526 data\create\recipes\limestone_pillar.json -c2e15ac0c9109bad3face6d13efc32d7116b4c25 data\create\recipes\limestone_pillar_from_limestone_stonecutting.json -1998c6f84f871d6da58ec29d729401d18f8f1aa1 data\create\recipes\mossy_andesite_from_andesite_stonecutting.json -89929d9cb11b5c589b2ecfa821c61add1ef7b62b data\create\recipes\mossy_dark_scoria_from_dark_scoria_stonecutting.json -4b8b1191dd3a21294293dc5ad237af89b849df28 data\create\recipes\mossy_diorite_from_diorite_stonecutting.json -f343c547a57df1e26d29d1cbb3ffe1ef2cd14817 data\create\recipes\mossy_dolomite_from_dolomite_stonecutting.json -3cbde30612758159b7f6bff90904e2cd048632a1 data\create\recipes\mossy_gabbro_from_gabbro_stonecutting.json -3cd67b80b2d51d1cae8031b6c248f7dff0866e6d data\create\recipes\mossy_granite_from_granite_stonecutting.json -f4ed015bde948b6330cd00f0ae2d05263d4eaa59 data\create\recipes\mossy_limestone_from_limestone_stonecutting.json -1e5efd72a84b858513cf7665334ddc17debbf6a2 data\create\recipes\mossy_scoria_from_scoria_stonecutting.json -2545b5e7501404df697e3856620a51b63ec8cbfc data\create\recipes\mossy_weathered_limestone_from_weathered_limestone_stonecutting.json -4865d07d0e07e22d41b961f0673041e087df7d5f data\create\recipes\oak_window.json -f06c8d1565a1f4d4914436b21e32d147de868d46 data\create\recipes\oak_window_pane.json -850e67f6f890de9cb8e4c6865aa4ecb8a316c240 data\create\recipes\ornate_iron_window.json -4ef1a7279f8deff6e2fd5fe027ec903694656bf9 data\create\recipes\ornate_iron_window_pane.json -d1cd83af24f6086fdc5e2a50bf43fe4e566afa37 data\create\recipes\overgrown_andesite_from_andesite_stonecutting.json -84691017310f584b19cdc492f0317e116c672390 data\create\recipes\overgrown_dark_scoria_from_dark_scoria_stonecutting.json -a5dde9dbbf0e64cc2079ecfc2bef714b001bf53d data\create\recipes\overgrown_diorite_from_diorite_stonecutting.json -2da9b98576904c989bf4400936fc674db097ab18 data\create\recipes\overgrown_dolomite_from_dolomite_stonecutting.json -97398ac8d96eda316a041ffc88ddbc9a776fda34 data\create\recipes\overgrown_gabbro_from_gabbro_stonecutting.json -baa92780173e406436d9ec1f0322281f497de029 data\create\recipes\overgrown_granite_from_granite_stonecutting.json -efb68cc19159266401cc5ab884212e586dc29e90 data\create\recipes\overgrown_limestone_from_limestone_stonecutting.json -55b6b09f363f2006dee94ad39dedeccb0598a1b8 data\create\recipes\overgrown_scoria_from_scoria_stonecutting.json -bef26dcd24e09ed6e9791df99de86b6eebcb2f6b data\create\recipes\overgrown_weathered_limestone_from_weathered_limestone_stonecutting.json -1497610b8e99e3f631f420bba09997c07b6223c5 data\create\recipes\paved_andesite_from_andesite_stonecutting.json -3426f20650b9ac72a5d1afaa96712a5256943c77 data\create\recipes\paved_andesite_slab.json -91b6ad4ca7a643f5741a0555bda3a8227122e702 data\create\recipes\paved_andesite_slab_from_paved_andesite_stonecutting.json -0f9ad9311c0c48c5fd700582211dcb6d22966e5f data\create\recipes\paved_andesite_stairs.json -ec4062997ebb02f0dfd709f45333f107255ba213 data\create\recipes\paved_andesite_stairs_from_paved_andesite_stonecutting.json -3e4d35656d434639217aaf1fb39bf51d1802084e data\create\recipes\paved_andesite_wall.json -6cf4dd767926475e011a9972a75af6a25fcd16f6 data\create\recipes\paved_andesite_wall_from_paved_andesite_stonecutting.json -87a243fba517a911fc99926739c4518ce73a976f data\create\recipes\paved_dark_scoria_from_dark_scoria_stonecutting.json -34c4290525e160b808e77aeef27c16c246ec664c data\create\recipes\paved_dark_scoria_slab.json -6c5fc5bbabbd40b38f2aa6eaf52116b94b2f30ce data\create\recipes\paved_dark_scoria_slab_from_paved_dark_scoria_stonecutting.json -e2115cb4b2f4879033088358c3d5a8f32af38ad1 data\create\recipes\paved_dark_scoria_stairs.json -04889aa4b526e7f2386b4f6f07c846daec1c6edd data\create\recipes\paved_dark_scoria_stairs_from_paved_dark_scoria_stonecutting.json -d08114db883109dc9da7a84584b5d87b4d63d0a7 data\create\recipes\paved_dark_scoria_wall.json -32335784ef65c552bbf679e4faa414d1fd1a34f8 data\create\recipes\paved_dark_scoria_wall_from_paved_dark_scoria_stonecutting.json -a19031440afbf2e93c08b416e1937974415d2f13 data\create\recipes\paved_diorite_from_diorite_stonecutting.json -9217438247650f62b9df022c72f3ce48a021a1c1 data\create\recipes\paved_diorite_slab.json -8362f7271738bbcc51bd1322ed342ae2e837b170 data\create\recipes\paved_diorite_slab_from_paved_diorite_stonecutting.json -7cff89507fa45fdbe60dbd4744c40c3ad59fcb6c data\create\recipes\paved_diorite_stairs.json -1978bcb0dc8b9d1864065a13853b2ed5b3fee9b1 data\create\recipes\paved_diorite_stairs_from_paved_diorite_stonecutting.json -786da65c6559caaa339cb18ed936464356c979dc data\create\recipes\paved_diorite_wall.json -f542866e26ea390b04d52fc2f848c43d4f56c159 data\create\recipes\paved_diorite_wall_from_paved_diorite_stonecutting.json -0c7bab439203680c127de68c469cf301b48b4b49 data\create\recipes\paved_dolomite_from_dolomite_stonecutting.json -d198c3eb0d7577d895773544c06ae98f3da9bb3e data\create\recipes\paved_dolomite_slab.json -3aa094643aa68afcf04ed08274d0180516259b1c data\create\recipes\paved_dolomite_slab_from_paved_dolomite_stonecutting.json -acddf0fb9fe7b312cbcbf7d0270e7f2f8ee6fb8f data\create\recipes\paved_dolomite_stairs.json -3fe979b7197ccbbd1b111a6deaa225a59404943c data\create\recipes\paved_dolomite_stairs_from_paved_dolomite_stonecutting.json -b2de5b85b0f771d6cc4ea7f7a26f5a3330615482 data\create\recipes\paved_dolomite_wall.json -8e68dd0fd5541ff9ceb28abacb05fc398041d30a data\create\recipes\paved_dolomite_wall_from_paved_dolomite_stonecutting.json -132b209951c2682ec37978d09269ff8506c6a0b7 data\create\recipes\paved_gabbro_from_gabbro_stonecutting.json -7234c8b68f58febfd602cb66e9843fe9de8281fd data\create\recipes\paved_gabbro_slab.json -90208da408a9735817f289a0c44bfce000627160 data\create\recipes\paved_gabbro_slab_from_paved_gabbro_stonecutting.json -19de216b47391772fb547619cdd6a37644896354 data\create\recipes\paved_gabbro_stairs.json -40a180ac262296a4fe86883d985f2f859b98fe32 data\create\recipes\paved_gabbro_stairs_from_paved_gabbro_stonecutting.json -6334a275032005ec48fe8f75c9649eda1cf174f6 data\create\recipes\paved_gabbro_wall.json -f0b3edac566b5c58d962120322cc33fbd0ba08b1 data\create\recipes\paved_gabbro_wall_from_paved_gabbro_stonecutting.json -a49df3fa16a75d09f19df4625d812ffbeca32b8f data\create\recipes\paved_granite_from_granite_stonecutting.json -e2abda9b3498b966bd2ad67299fbc3cec6c776ad data\create\recipes\paved_granite_slab.json -6d46326a8528a9d92aaa60d35e336ef0ee62d152 data\create\recipes\paved_granite_slab_from_paved_granite_stonecutting.json -0d2e0c5a2f98b57ffec14758681602e7efe68e48 data\create\recipes\paved_granite_stairs.json -0522b44adad471c2997e73dac55f60812b79dddf data\create\recipes\paved_granite_stairs_from_paved_granite_stonecutting.json -eabf6e8a67df5be460f5f2f67bdf8d7771177be2 data\create\recipes\paved_granite_wall.json -7263491bbdca3b58aaa4cb2969427731051285b3 data\create\recipes\paved_granite_wall_from_paved_granite_stonecutting.json -323d9395aaef33d700d355e7de88217fffbf9200 data\create\recipes\paved_limestone_from_limestone_stonecutting.json -daee9ab598afe8a051d9708cc83c3186494e4276 data\create\recipes\paved_limestone_slab.json -39eb8b265a38cfaa31de94e821da08dc0dc723e9 data\create\recipes\paved_limestone_slab_from_paved_limestone_stonecutting.json -a17e6304ea513508a52c9637997fd1b106d5cc59 data\create\recipes\paved_limestone_stairs.json -94696e5be4ff10f5d535f38b0adb1edf5db560ff data\create\recipes\paved_limestone_stairs_from_paved_limestone_stonecutting.json -8e189b3ada3a9538aa419b4be0367d29b25b6ef1 data\create\recipes\paved_limestone_wall.json -5cde15ebe8cc3a359c9796c170e25f1987d8dd08 data\create\recipes\paved_limestone_wall_from_paved_limestone_stonecutting.json -6d0773e2d7dc6ab1a076fc9260aac36f8cae6307 data\create\recipes\paved_scoria_from_scoria_stonecutting.json -5744b4c159922562f037cd97cb510586d7fbd5de data\create\recipes\paved_scoria_slab.json -562684440f40d975487fb290625a64c5db4fd716 data\create\recipes\paved_scoria_slab_from_paved_scoria_stonecutting.json -061bb8a676a4f613df5501de6f4c9fbf2cf26a5d data\create\recipes\paved_scoria_stairs.json -4932e50c093a6e1da9f8cb98eaf7d40bae67152c data\create\recipes\paved_scoria_stairs_from_paved_scoria_stonecutting.json -8e5ac9208e8d6adfa636d47501b2ad772a95d87a data\create\recipes\paved_scoria_wall.json -afec32d685e7845a8e081f98911a0a05dc77c9ea data\create\recipes\paved_scoria_wall_from_paved_scoria_stonecutting.json -435fbfc17112a12ddb7ad6031aaa6ec5400e98e2 data\create\recipes\paved_weathered_limestone_from_weathered_limestone_stonecutting.json -809d10b264dbba7bb17ff23b826dfda169147bba data\create\recipes\paved_weathered_limestone_slab.json -00b28f6b0eab99a2b91c3db22f9e5f54b0118e3e data\create\recipes\paved_weathered_limestone_slab_from_paved_weathered_limestone_stonecutting.json -f2a140cbaddefd387fd94f0ce94df763a585dd4f data\create\recipes\paved_weathered_limestone_stairs.json -9f02f552173ae1c85750bb16aa6bbbfb87a5a7f1 data\create\recipes\paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json -cc4a5a893b10ffdfcc10085323d89d34a1b8f122 data\create\recipes\paved_weathered_limestone_wall.json -d996f6505433a74cd8bdab04c0e0bac1b9a2da16 data\create\recipes\paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json -57ead6c81e1cff1e8e2c4ebc5d0b5b00475b5ff8 data\create\recipes\polished_dark_scoria.json -753c85bfb84a5d31f9670478042321702a589dc8 data\create\recipes\polished_dark_scoria_from_dark_scoria_stonecutting.json -d3c78c504672fec3316b206505c2cb5fc8daf822 data\create\recipes\polished_dark_scoria_slab.json -bcc5a7325b7f7110e6b382e7ad60fc547222d3ad data\create\recipes\polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json -c7d7e5f39099a71482cdfbebe1ef2dfd508ae768 data\create\recipes\polished_dark_scoria_stairs.json -364d77f01b380bbb0036810f6e0df09773ea8e1c data\create\recipes\polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json -396b6c97b5e7f608b293dee51be97717c3430bc4 data\create\recipes\polished_dark_scoria_wall.json -62b0769e0208831db822f6d2b986fff6aee60729 data\create\recipes\polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json -50bf55ffedb9fb30b61fbd2921bc84377431aaa9 data\create\recipes\polished_dolomite.json -da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data\create\recipes\polished_dolomite_from_dolomite_stonecutting.json -75288e75b604eacfbc19cb51cb4d4759bdeaafa5 data\create\recipes\polished_dolomite_slab.json -9a89eaf5f00d8fb10297de61248f8d11dded8c4b data\create\recipes\polished_dolomite_slab_from_polished_dolomite_stonecutting.json -3b8ff952c40e0ff9cc187b055262ded9125ea391 data\create\recipes\polished_dolomite_stairs.json -e2dce404e4bcde076615ed0d0cf6fab769d441d5 data\create\recipes\polished_dolomite_stairs_from_polished_dolomite_stonecutting.json -8f2f4643886d166609b198704dcadb5e87b6323e data\create\recipes\polished_dolomite_wall.json -3b5d553e408a8b6385932e2a8082fcb5bdead0d1 data\create\recipes\polished_dolomite_wall_from_polished_dolomite_stonecutting.json -238a2479668b611b3b3392973b86cb9270510744 data\create\recipes\polished_gabbro.json -ba3e1444b9d1804411cc9c7536c657806dc37c1d data\create\recipes\polished_gabbro_from_gabbro_stonecutting.json -b7d29a29fde4868b4ceef1437e5d00975068bc58 data\create\recipes\polished_gabbro_slab.json -f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data\create\recipes\polished_gabbro_slab_from_polished_gabbro_stonecutting.json -4a60779ff57969d960e3dab827ec95f8632b877b data\create\recipes\polished_gabbro_stairs.json -7df6fd466badaa3cef5e2ad0e78bbb3b6429805e data\create\recipes\polished_gabbro_stairs_from_polished_gabbro_stonecutting.json -ec70334e13e05cff7e04e7dc6b23be273c235e50 data\create\recipes\polished_gabbro_wall.json -5176a8fe5a48592c7b487518a57c962c24e3e751 data\create\recipes\polished_gabbro_wall_from_polished_gabbro_stonecutting.json -1f62fa5bb5a7ea1a6005ea6df92a425dfd2e17d7 data\create\recipes\polished_limestone.json -0e88c98c9ef0d15523b23b00f8afde71d9d8e3e9 data\create\recipes\polished_limestone_from_limestone_stonecutting.json -135fd40e291c7cfdc73c14496654008da9dd797d data\create\recipes\polished_limestone_slab.json -4ce225832ab45daf6b5bc013c6f8762fdbe9ff0f data\create\recipes\polished_limestone_slab_from_polished_limestone_stonecutting.json -fee3d0ec8d4f27d82acd5d0e3a2a142900e18be3 data\create\recipes\polished_limestone_stairs.json -6780c8bd8747ebb6db7e0adfc486ce00e7e2cf26 data\create\recipes\polished_limestone_stairs_from_polished_limestone_stonecutting.json -44b1f3873fe8150abbacab10ff3cc2033a01b4a0 data\create\recipes\polished_limestone_wall.json -d68a27e463d31ba5eed19181c0335824601b9e68 data\create\recipes\polished_limestone_wall_from_polished_limestone_stonecutting.json -d6c9f925e5059eec29928a8c48a2986862bf1571 data\create\recipes\polished_scoria.json -9d6926822ea6f2bb38ba55204278fe82fd453d16 data\create\recipes\polished_scoria_from_scoria_stonecutting.json -814efd67d3f061d0c0ba104993c868e075a4fd3e data\create\recipes\polished_scoria_slab.json -8696f262927ae55ce72af1a34cae68fd6ccc4050 data\create\recipes\polished_scoria_slab_from_polished_scoria_stonecutting.json -efe648aa4fd0f22faa78c016dbe2d083462e1ad6 data\create\recipes\polished_scoria_stairs.json -ba6dd9ad0c69b088c1a9e33000bd5b9bcedb0ca0 data\create\recipes\polished_scoria_stairs_from_polished_scoria_stonecutting.json -8319042a131a9dcabae016009b807b91c491f8d3 data\create\recipes\polished_scoria_wall.json -bc9a83e7793768723031ff14269e43c83687b9f3 data\create\recipes\polished_scoria_wall_from_polished_scoria_stonecutting.json -839a18a69ec2d1d5171fd830f5af05f92f58ef6d data\create\recipes\polished_weathered_limestone.json -73b468de08f3e0542b7020129faff3a40b3fee67 data\create\recipes\polished_weathered_limestone_from_weathered_limestone_stonecutting.json -c0924d72a856c3182b89996a6ceaffd56930c455 data\create\recipes\polished_weathered_limestone_slab.json -1f5503d22859a08eef824d33f6ed48335f66c423 data\create\recipes\polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json -d51106184083761635fa902c09c45436c414ddab data\create\recipes\polished_weathered_limestone_stairs.json -9d4382462376e85c2627b8150b09acd3b063e347 data\create\recipes\polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json -7dd58714cf8fc4614ae2e1c2981471da3a52f06c data\create\recipes\polished_weathered_limestone_wall.json -eae06580a0a5f486cde35426716d50fcb3ba5bb3 data\create\recipes\polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json -d59c68621c78ff5d2c51be4440dea603480efed8 data\create\recipes\scoria_bricks_from_scoria_stonecutting.json -a7a28cf77955c2b4ed3687205dd24162e461aa30 data\create\recipes\scoria_bricks_slab.json -0577ffde98e7a027b21c430cd71cdafdd3cee3a3 data\create\recipes\scoria_bricks_slab_from_scoria_bricks_stonecutting.json -3d4518cc3ea9cfadd6dbfcb38d60f81479649e5f data\create\recipes\scoria_bricks_stairs.json -bdc4ee71382328003362566b253056908e174639 data\create\recipes\scoria_bricks_stairs_from_scoria_bricks_stonecutting.json -8db3d58ada7ff6e8f786134404a9986f4e0c2f0b data\create\recipes\scoria_bricks_wall.json -cbbba807521f37f5fc4b29369ccdcced789fc60c data\create\recipes\scoria_bricks_wall_from_scoria_bricks_stonecutting.json -9bd112689f6ab682abf4a7be5d112e9f93e2096d data\create\recipes\scoria_cobblestone_from_scoria_stonecutting.json -f7b7ff190929ae525297fecb3c116f32fc05fd88 data\create\recipes\scoria_cobblestone_slab.json -9ba4578f0bd402b5af442a4064c61007566c71cb data\create\recipes\scoria_cobblestone_slab_from_scoria_cobblestone_stonecutting.json -21e20f6dbda115545de271e37292bef5fcfacff8 data\create\recipes\scoria_cobblestone_stairs.json -3b761af694be85e5e087d1e4247322dbde37e429 data\create\recipes\scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json -78d3e625d8657b005fa78327aa318278c4ed1a97 data\create\recipes\scoria_cobblestone_wall.json -a9096822db9d12b6014d6d34e52de5821305c03f data\create\recipes\scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json -a513468ce4d55fe3b3919bd76ba2bd5b6fac4d4e data\create\recipes\scoria_pillar.json -2e0ecbd3619f080d0fc6fe48307c5a5bcc2e91b4 data\create\recipes\scoria_pillar_from_scoria_stonecutting.json -7a4e163767827fc8cef3646204c2f2bf0f8aac99 data\create\recipes\spruce_window.json -96d515ff0172dafa04d650ab69d68ed508e99e6f data\create\recipes\spruce_window_pane.json -1f689453146c7dd2d315e8b5fb5e7cdc0aaf0fa2 data\create\recipes\tiled_glass_from_glass_colorless_stonecutting.json -39bd4bcaad003edbe035c91ffde61c51ee1edb87 data\create\recipes\tiled_glass_pane.json -7c6778a30bb670762c3a410cb19d1effc55a7063 data\create\recipes\vertical_framed_glass_from_glass_colorless_stonecutting.json -dc6093427210bd7034a0e2184f6a1630c7b33b3e data\create\recipes\vertical_framed_glass_pane.json -f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data\create\recipes\weathered_limestone_bricks_from_weathered_limestone_stonecutting.json -f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data\create\recipes\weathered_limestone_bricks_slab.json -ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data\create\recipes\weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json -78830f6b06ed83c914c95cf569ae40e00834984d data\create\recipes\weathered_limestone_bricks_stairs.json -bbc1016dd20a324237cf887005383cb92ba6acfb data\create\recipes\weathered_limestone_bricks_stairs_from_weathered_limestone_bricks_stonecutting.json -52afaf129d04be832d57547e1d2c419b1c18ca83 data\create\recipes\weathered_limestone_bricks_wall.json -a80bc42cfed70bb4031cb320fe08eaa778659b79 data\create\recipes\weathered_limestone_bricks_wall_from_weathered_limestone_bricks_stonecutting.json -f67d26c9db68e027282960cae984319c39bdac0d data\create\recipes\weathered_limestone_cobblestone_from_weathered_limestone_stonecutting.json -651c1aa80635e174d6eb6581b3e84dd760cb7493 data\create\recipes\weathered_limestone_cobblestone_slab.json -6750a61430fa1f48bd3b461dbd3a279b1fce80c9 data\create\recipes\weathered_limestone_cobblestone_slab_from_weathered_limestone_cobblestone_stonecutting.json -aad8a7c3352a93c5da437a14e633c327e72ae8fe data\create\recipes\weathered_limestone_cobblestone_stairs.json -f18eb3abd962e80d452ff68eb12e70fa379da2f8 data\create\recipes\weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json -d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data\create\recipes\weathered_limestone_cobblestone_wall.json -0f3c993eb6dd3f37953f304b8fad15bf60469ef4 data\create\recipes\weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json -6eceb25fabbb6b389ca35de3b829ad061c9c456a data\create\recipes\weathered_limestone_pillar.json -11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data\create\recipes\weathered_limestone_pillar_from_weathered_limestone_stonecutting.json -266f08e604d229a9d2b46f7272c0b06ec270bf3d data\create\recipes\zinc_block.json -403576ae5710d4fe731144fe623b1673093076ea data\create\tags\blocks\brittle.json -081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data\create\tags\items\create_ingots.json -d2dc4ff179ef7b2aa9276455c196e15d44aa95a8 data\create\tags\items\crushed_ores.json -16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data\forge\tags\blocks\glass\colorless.json -81ced867d24ec814942909965dd4576eff1db685 data\forge\tags\blocks\glass_panes.json -4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data\forge\tags\blocks\ores\copper.json -d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\blocks\ores\zinc.json -ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\blocks\storage_blocks\brass.json -f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\blocks\storage_blocks\copper.json -7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\blocks\storage_blocks\zinc.json -d9ffc62a496946fc4848934e7c0a6e917337f8be data\forge\tags\items\beacon_payment.json -05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data\forge\tags\items\cobblestone.json -16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data\forge\tags\items\glass\colorless.json -81ced867d24ec814942909965dd4576eff1db685 data\forge\tags\items\glass_panes.json -d9ffc62a496946fc4848934e7c0a6e917337f8be data\forge\tags\items\ingots.json -2dfd21017cb51d4bdc18d977a7d16f103cc3a985 data\forge\tags\items\ingots\brass.json -8e0ca32df10a50544f54fbe3dbfe485971b23315 data\forge\tags\items\ingots\copper.json -2f9ac80569a5cc168061742f9e3c36277d4d056e data\forge\tags\items\ingots\zinc.json -bcf15289cbadd429a48bd9accb4d2d5f75353a61 data\forge\tags\items\nuggets.json -cc82188fe8d986f4457301ed4f75ae833d263601 data\forge\tags\items\nuggets\brass.json -7affb30e30a252566a77467994b0c99331f1076c data\forge\tags\items\nuggets\copper.json -0d8cb5092ee6ec01ea09324c80d649ba05549799 data\forge\tags\items\nuggets\zinc.json -4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data\forge\tags\items\ores\copper.json -d5ea262a0f5fb210612d22521818e26cf08e591a data\forge\tags\items\ores\zinc.json -5d5ec04a61ff2b1ad19210e2859a9c96cc246ef8 data\forge\tags\items\plates.json -39f0d70ec10597e85df7c4783bbc5e0e4a5ffb80 data\forge\tags\items\plates\brass.json -c3dab5fe379bc1b7b10d4a0ba7009eee1b75a27c data\forge\tags\items\plates\copper.json -fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data\forge\tags\items\plates\gold.json -04d947ed7a5066f3cfe75a8dc564fe2dca8a9c93 data\forge\tags\items\plates\iron.json -ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data\forge\tags\items\storage_blocks\brass.json -f6c8f34ceb475546dba5cc6ff288863ea795d20b data\forge\tags\items\storage_blocks\copper.json -7f71a774800111e50b42de0e6159ed2d2a807d32 data\forge\tags\items\storage_blocks\zinc.json -9dadc647e17b6262c13b6d8eda9139e30ce7e7d0 data\minecraft\tags\blocks\rails.json -29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data\minecraft\tags\blocks\slabs.json -0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data\minecraft\tags\blocks\stairs.json -92584f914c53e00c111f9ff5e3894e2e3594946b data\minecraft\tags\blocks\walls.json -29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data\minecraft\tags\items\slabs.json -0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data\minecraft\tags\items\stairs.json -92584f914c53e00c111f9ff5e3894e2e3594946b data\minecraft\tags\items\walls.json +16539ad12ee9e1ee004dec3fd62122b3e17c8e77 assets/create/blockstates/acacia_window.json +f0d6baaabda94151134f569246d61a6e710c35a9 assets/create/blockstates/acacia_window_pane.json +55d57354040f4b5cefa2a9bfaf1cb777350fd699 assets/create/blockstates/adjustable_crate.json +029e6fbb2760f5a93575981372f394ed3f12ce7f assets/create/blockstates/adjustable_pulley.json +79c50afcea3a360783a5b3c73de9823511e9aed9 assets/create/blockstates/adjustable_pulse_repeater.json +1d730df54c9eae94063e37396d224fb3c87517e0 assets/create/blockstates/adjustable_repeater.json +9dd79bf5430f674e7d3e3fc7d59edee3d66e241e assets/create/blockstates/analog_lever.json +aaad1fc11aae17e209b0c3fbc9977c724c50c1ef assets/create/blockstates/andesite_belt_funnel.json +585481e97c5066af63ea12fa5dd658798844d64c assets/create/blockstates/andesite_bricks.json +4e8d61aa2c8490301317ef747f67f0169ebfc2ed assets/create/blockstates/andesite_bricks_slab.json +da63a8be3191d6d72afef6c79e3aea3f607631f9 assets/create/blockstates/andesite_bricks_stairs.json +a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bricks_wall.json +9999a75c7766781eadb12510a09264600bc846e4 assets/create/blockstates/andesite_casing.json +7074f8af642b74edc26464bb627d919516c2de0a assets/create/blockstates/andesite_chute_funnel.json +3af4ea3c44b5ebc7e1e3fb73fb8356faf067a613 assets/create/blockstates/andesite_cobblestone.json +97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json +96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json +82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json +2be950008c00513dfe39021b65c26eea8554ee20 assets/create/blockstates/andesite_funnel.json +398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json +1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json +f9fa6aa530eb0891a74eadfbebc663172a57147a assets/create/blockstates/basin.json +f25693a9429f6337149ff24f27900dc4eb82a7c2 assets/create/blockstates/belt.json +40d10934934ea142d71fc6ce598b1455c3ad47b4 assets/create/blockstates/belt_observer.json +cf9045eb16e5299a1d917c4cb536289f49411276 assets/create/blockstates/birch_window.json +94a1a91403eb4b035fec48071e7fcae57a8a6abd assets/create/blockstates/birch_window_pane.json +58b07d2af6030342f0354f6d3fd0ee128d2d74b4 assets/create/blockstates/black_seat.json +0626725f70103a55dabcda6f87ca943279d45793 assets/create/blockstates/blaze_heater.json +4854d1ef52130a7887aecc60bcaffbd66f0871a8 assets/create/blockstates/blue_seat.json +fba967b1f6e44b34a9d9662e2fedfc13aad7f36c assets/create/blockstates/brass_belt_funnel.json +8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json +b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json +e8583247cc7108c80320b739d7af121a890d79a8 assets/create/blockstates/brass_chute_funnel.json +3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json +672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json +e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.json +26f3b6a8f8249e4e622ab200057d75e228762817 assets/create/blockstates/cart_assembler.json +7299cea212d879d6d5611bd139b24768b9af236f assets/create/blockstates/chiseled_dark_scoria.json +0f01f813388d3e6907c1cfd992e4b21c914e267e assets/create/blockstates/chiseled_dolomite.json +324488e0c228f38f2597b2f76849e962bc1a7d90 assets/create/blockstates/chiseled_gabbro.json +2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json +cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json +291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json +99def0a786714a337e2b1b17db844e4d1aee6234 assets/create/blockstates/chute.json +4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json +1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json +e5e3757e99c139d67b2a70288466d8a74d818841 assets/create/blockstates/cogwheel.json +f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets/create/blockstates/copper_block.json +cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets/create/blockstates/copper_casing.json +3355a852cdc717e257ca19b3db836068964733e3 assets/create/blockstates/copper_ore.json +dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets/create/blockstates/copper_shingles.json +3df0d5d5170a2f6cbab0f8a9bc8f2d64229589af assets/create/blockstates/creative_crate.json +f0031f5e970b3d5695472ed384950b8631b015ed assets/create/blockstates/creative_motor.json +fe2f78b94c20944399101e7369e2d43324297fb6 assets/create/blockstates/crushing_wheel.json +a1dd6cb3daa97ea871290ef7b178d28b564ee2a2 assets/create/blockstates/crushing_wheel_controller.json +b1126c191877cff86b4e2de83e1fcbd151451cb7 assets/create/blockstates/cuckoo_clock.json +4de72f65bff4e5d9c8153fa3adeee6b61d6f912b assets/create/blockstates/cyan_seat.json +1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets/create/blockstates/dark_oak_window.json +50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets/create/blockstates/dark_oak_window_pane.json +21e435ad3baf69970446b0acd3db0d6d02dc9fcb assets/create/blockstates/dark_scoria.json +bfab7d9b2e01183d47a828f2827125771efa97fc assets/create/blockstates/dark_scoria_bricks.json +831fb03aab9223da39dd1d16e9a7e9233dc16871 assets/create/blockstates/dark_scoria_bricks_slab.json +15c4f7b5d64a8d6467a2a18c12649ddb8fdb5805 assets/create/blockstates/dark_scoria_bricks_stairs.json +2f8971e81ea2347e1814812b15119b9662dd64e7 assets/create/blockstates/dark_scoria_bricks_wall.json +3e7a5f7f38490d91902088f9dabe4fbaa57132fd assets/create/blockstates/dark_scoria_cobblestone.json +1ca115df6d2b5a63a1c505bc94d62543f1c0e26a assets/create/blockstates/dark_scoria_cobblestone_slab.json +f86eea3f7df0988fffbe90e29b74141a7203cd15 assets/create/blockstates/dark_scoria_cobblestone_stairs.json +f1020a33fcb1a362b6c55b5aa8ce093e47ebde09 assets/create/blockstates/dark_scoria_cobblestone_wall.json +902778a0f16b7ad009ee7b123bb583eaea32467a assets/create/blockstates/dark_scoria_pillar.json +ac85f55d82d96fc15750e6b954297cfd1e00d04d assets/create/blockstates/deployer.json +3660f44309279a0347347f23ce7444c6ed98cafd assets/create/blockstates/depot.json +c890ec9b3778aebb16c6b2eb2ca79bfbe7bf7435 assets/create/blockstates/diorite_bricks.json +894d5ca00c3765553deaac44b83257983acf502d assets/create/blockstates/diorite_bricks_slab.json +e42f2ebe5a2fdaeed62b9bc289252664a1e8705b assets/create/blockstates/diorite_bricks_stairs.json +22f1c5fa41fa03a515c6aeafe0910c42dc60f22c assets/create/blockstates/diorite_bricks_wall.json +456d4a31a71acd46f2496ad5a17003ce6e33c5b2 assets/create/blockstates/diorite_cobblestone.json +a886ed9f02e54d3cf0bc55710c61f52737953ede assets/create/blockstates/diorite_cobblestone_slab.json +328e6ffb0b0124f497b2e227c814fa2bcccfeb0e assets/create/blockstates/diorite_cobblestone_stairs.json +110cddbea434aa650eac919908880a0296b38a2f assets/create/blockstates/diorite_cobblestone_wall.json +bd24921c0c66deaabbdbf557b7ff9a507402c1e5 assets/create/blockstates/diorite_pillar.json +610435897262bc9a1d98d85ce470a5030411a1d7 assets/create/blockstates/dolomite.json +710f354ec7b11b545bac9c5cb6f181229aa84be9 assets/create/blockstates/dolomite_bricks.json +c681864890ec8c8c9f5ab275957979337539f782 assets/create/blockstates/dolomite_bricks_slab.json +23930bcbda625107810fbd0b32a8a94ba65940eb assets/create/blockstates/dolomite_bricks_stairs.json +a9c4a1a2ba785289f450487b3317012f9b31fa2b assets/create/blockstates/dolomite_bricks_wall.json +a2b7259dacf7b582e3b819e12015b5e18a1768e5 assets/create/blockstates/dolomite_cobblestone.json +5cf01ea02b50229fce2296206b9f0ce1c1b2c9f6 assets/create/blockstates/dolomite_cobblestone_slab.json +e7c1db7226df5858f1884f0cf328a733fec22c3d assets/create/blockstates/dolomite_cobblestone_stairs.json +f63a5816d4bfe643aa098d03c3b54462dd06fe19 assets/create/blockstates/dolomite_cobblestone_wall.json +f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pillar.json +7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json +7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json +db1777f0eff1eb6987b569aee513656ae889ae75 assets/create/blockstates/encased_shaft.json +1442ff1a0e404f99263ba99d734da1dfed03d4e3 assets/create/blockstates/extractor.json +a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json +180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json +d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json +77da6346a42eaef0796b5032de4110e0d49aa388 assets/create/blockstates/fancy_andesite_bricks_wall.json +0212696f17a7758a448b168bc20264757fbde9fe assets/create/blockstates/fancy_dark_scoria_bricks.json +f4dd92847d13d6ceeadc05ab63563490fdcd5f51 assets/create/blockstates/fancy_dark_scoria_bricks_slab.json +09ee11aba5b684608ce7ffcf57ed1bd2ec26c774 assets/create/blockstates/fancy_dark_scoria_bricks_stairs.json +4c48c9692e79a6050f6336d25a3cebbf3b4a4fe9 assets/create/blockstates/fancy_dark_scoria_bricks_wall.json +5a4c65373ccd1ef6cd33cbb35e16c844af5ac8bf assets/create/blockstates/fancy_diorite_bricks.json +36575b9debabb8b9dbe9d6d3c2d124472dfa77e3 assets/create/blockstates/fancy_diorite_bricks_slab.json +aeaa188516efbd5fd7477e0da5dc6dc3bc95dc8b assets/create/blockstates/fancy_diorite_bricks_stairs.json +1af3234a64bd52a18ebe7ed3ea1fae2d8d5ec727 assets/create/blockstates/fancy_diorite_bricks_wall.json +e72c26b8546245499d78620f1ad4eaf6092fc871 assets/create/blockstates/fancy_dolomite_bricks.json +46bd9c9bfcc9de5fad6d33aab2adbc1ac7493802 assets/create/blockstates/fancy_dolomite_bricks_slab.json +d8fc5f08a5c2f215f95b09b32913672535859920 assets/create/blockstates/fancy_dolomite_bricks_stairs.json +7fb5eb31010950290203d4b7012f3b3b963da574 assets/create/blockstates/fancy_dolomite_bricks_wall.json +ac1b22a13434a580f2213c78001590bb4e9793ec assets/create/blockstates/fancy_gabbro_bricks.json +5e74f21623c749ea863d64ebce568da314e0e71b assets/create/blockstates/fancy_gabbro_bricks_slab.json +70eb799df2529c7df6061a6793eabbbea76db77c assets/create/blockstates/fancy_gabbro_bricks_stairs.json +16770e9d377f801cb05a0a404f3888eb1009b6cb assets/create/blockstates/fancy_gabbro_bricks_wall.json +691c985a817ffa6733ea8901b329826da8f94017 assets/create/blockstates/fancy_granite_bricks.json +5f50be00c3b407a46f429776950d82f53df87ba4 assets/create/blockstates/fancy_granite_bricks_slab.json +4e0e1c1186c26e7d345dc8bd006be9f283349813 assets/create/blockstates/fancy_granite_bricks_stairs.json +0fbac68366751b45ff4455039c9630c309153095 assets/create/blockstates/fancy_granite_bricks_wall.json +143d5cb3a6f149da0d11545297d9495b9173d7a0 assets/create/blockstates/fancy_limestone_bricks.json +b4bff88215fa1206ac461e199cc784c916b85479 assets/create/blockstates/fancy_limestone_bricks_slab.json +23f0d926e69b798ea561c0ccd13b4620f9699dda assets/create/blockstates/fancy_limestone_bricks_stairs.json +d704b7e1ef8f5b1d62058044846bace06464aea7 assets/create/blockstates/fancy_limestone_bricks_wall.json +8e5b65b12e46ebc0aace1155d1902780efacecd9 assets/create/blockstates/fancy_scoria_bricks.json +d8dd7ba8280b63f2a1f4c50db1d9b7a6ac7bf80a assets/create/blockstates/fancy_scoria_bricks_slab.json +fc652317e03b57c76e23a805da16a28d15254029 assets/create/blockstates/fancy_scoria_bricks_stairs.json +de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets/create/blockstates/fancy_scoria_bricks_wall.json +5864daf839e54789a0dc8a44505f070bf3e184bc assets/create/blockstates/fancy_weathered_limestone_bricks.json +fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json +b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json +6372fe02ba0065acb0758121c45a15a1a8fdc5de assets/create/blockstates/fancy_weathered_limestone_bricks_wall.json +3df164be441c87d6f869b34b5ab48b6822892ad6 assets/create/blockstates/fluid_pipe.json +f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json +e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json +ac00d40e1ef50a37041c0481afa1a23a14dea78e assets/create/blockstates/framed_glass.json +61df7769fa61f6dd2868a4377e54320fdd473b4e assets/create/blockstates/framed_glass_pane.json +3cf49f4812732f00f578fa73785e14ffdf340f21 assets/create/blockstates/furnace_engine.json +f512b70d7fd0ca10184f21f5bfb71c83ab11f8ef assets/create/blockstates/gabbro.json +d2358eb3d9337741f55339f0b94b2e81d73965c8 assets/create/blockstates/gabbro_bricks.json +a5c87f9f5b8dd1573c1f2f770a5558f3dc244f96 assets/create/blockstates/gabbro_bricks_slab.json +66b9fa3d2c82e9c4d2a7e2b9b3e73dc45c0dd962 assets/create/blockstates/gabbro_bricks_stairs.json +c8f27bfd301a642cdd101f826bc6ba8151588b38 assets/create/blockstates/gabbro_bricks_wall.json +afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobblestone.json +85151aa7583e4752424b2efc1b35d8c9cceb66a7 assets/create/blockstates/gabbro_cobblestone_slab.json +a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json +a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json +a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json +9c48e311be8b959bfb98e16ffaa358210ac8b9dd assets/create/blockstates/gearbox.json +f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json +87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json +d7f4cf7be7e9a3895840d9288245c52cbe25f0bd assets/create/blockstates/granite_bricks_slab.json +ec51efc72eb6b16c5f99399b4cb6284665d5be99 assets/create/blockstates/granite_bricks_stairs.json +9211777c912837af9d328a525248a31608a82bd1 assets/create/blockstates/granite_bricks_wall.json +0d19d78cf035d0183b5268f646bacff2f40e7f7e assets/create/blockstates/granite_cobblestone.json +a4b0337149cb0617cc60061477c7178d37dbb831 assets/create/blockstates/granite_cobblestone_slab.json +d97fdea02187e63f6b63913357c79a18660d676d assets/create/blockstates/granite_cobblestone_stairs.json +9ce66b5a61c3aad398756d26e4efee2b9e12a275 assets/create/blockstates/granite_cobblestone_wall.json +f8659e81cd2a623475a6a9aca59149e82de56b1c assets/create/blockstates/granite_pillar.json +a5ec5401ba9f3e102a2e1b35837f643847afbca4 assets/create/blockstates/gray_seat.json +13059309684db0cc7a0f1f4fce2407cf06cce80a assets/create/blockstates/green_seat.json +6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json +be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json +18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json +5d851c90d23de5087ce546d4bbe509e112b84c49 assets/create/blockstates/jungle_window.json +b15bea757ef981e0ca60f740ca234ee2014eb7b7 assets/create/blockstates/jungle_window_pane.json +f651091db216b009b3379b2f48d56d03481c8675 assets/create/blockstates/large_cogwheel.json +a38184e035c2ebca7471e1714494fea213af259e assets/create/blockstates/layered_andesite.json +0fef29f4bfe8e1258427252ef0ff1a414c194969 assets/create/blockstates/layered_dark_scoria.json +924a0291410406c86ded448f95c97ac3b9d2bd2e assets/create/blockstates/layered_diorite.json +a4cfcdc038af0f93a58d88ea8860b34d73632ff4 assets/create/blockstates/layered_dolomite.json +9d7cac5fe8b61248bdbb5ee63d08151ce03282ce assets/create/blockstates/layered_gabbro.json +8dccf7882a46a3d3eb9df16f324711f5f7809486 assets/create/blockstates/layered_granite.json +038f532f7364c1e793196fcc5856df9ceff93578 assets/create/blockstates/layered_limestone.json +8535d628f8834be62cdf62ef4b60c2ce3a7af99f assets/create/blockstates/layered_scoria.json +419d7fffc5cbd392f10211afa8d17e3eb8df8380 assets/create/blockstates/layered_weathered_limestone.json +2a0a8b1715700bf1e284ee57ef9f7f163c12f3ee assets/create/blockstates/light_blue_seat.json +d9a2551e001bb315d071bb9f1f013323a66a5d09 assets/create/blockstates/light_gray_seat.json +1de3a88c003df03f5006e1bbaa0236589aba08ad assets/create/blockstates/lime_seat.json +c4dcb169bd1dffe8501bff455e3eb6ba979f60ab assets/create/blockstates/limesand.json +e7cb0b25e511610b46dfd219e0cc5ea60a79d56b assets/create/blockstates/limestone.json +e7c7b952137c4cb615988ea59b9f14303c9a4dfe assets/create/blockstates/limestone_bricks.json +4048ef9e001a4036a4c806053b15ed80261c0a2b assets/create/blockstates/limestone_bricks_slab.json +936d0daa91eb725548e634cb3855cee36b7d66dd assets/create/blockstates/limestone_bricks_stairs.json +9dd473902238cb10f0f6eef375dee11a1df46d4b assets/create/blockstates/limestone_bricks_wall.json +728b5b373f3b731f4f7782b68da9a8e572367df3 assets/create/blockstates/limestone_cobblestone.json +19b6a403a126196144d13eafb81e172b87061019 assets/create/blockstates/limestone_cobblestone_slab.json +43532aec1893f7d2f37798d5dbb11ecde0a3bfab assets/create/blockstates/limestone_cobblestone_stairs.json +17c5a6c1dd094c9201ed90fdcebde620a8a39900 assets/create/blockstates/limestone_cobblestone_wall.json +b7506b862d13b3f915c60d38bb7a20afc935f70a assets/create/blockstates/limestone_pillar.json +69790737767e06f000c7824749c46664a123160e assets/create/blockstates/linear_chassis.json +c793ab3aa6cf09d8d6d4136757629689f0365771 assets/create/blockstates/linked_extractor.json +c5422866667331f1d5cf6753c0889747ee02762b assets/create/blockstates/linked_transposer.json +84c494d24cc58af274fdd054896c680e8095d2d0 assets/create/blockstates/magenta_seat.json +3b3250d6e209403a93d025604a8081087965016e assets/create/blockstates/mechanical_arm.json +ddcf4bb281e046fbb1026b8f46a2cf12448598df assets/create/blockstates/mechanical_bearing.json +5586beef2d9183dc34d8e8d2723620c0569592ae assets/create/blockstates/mechanical_crafter.json +044db7d50e19008bae8bf3325eac2ed0eb1ea6d2 assets/create/blockstates/mechanical_drill.json +0fb175e5260ec60e130e589d682a4d3301d7364e assets/create/blockstates/mechanical_harvester.json +d9afcfa27c42df5fd54a7b783acb0eb45ddf5aa5 assets/create/blockstates/mechanical_mixer.json +da612a05f94dc19e07e250efc35a7b2839d2ee76 assets/create/blockstates/mechanical_piston.json +94ec340a50b2406f833735f7501a1840c692e32a assets/create/blockstates/mechanical_piston_head.json +debef0f5dde74103aaf4422de4bc90e4099b0c47 assets/create/blockstates/mechanical_plough.json +92269fe66d7b83095a2e04e121af0be792f55dd6 assets/create/blockstates/mechanical_press.json +b7c4a0ff0c6f16e14d71fc0fb7fc66d032b65cf3 assets/create/blockstates/mechanical_pump.json +1478fc76afb9b186fd3fddc20c29525d60d692bc assets/create/blockstates/mechanical_saw.json +4e48ad0936647065c2322390e7c0fe115c853a98 assets/create/blockstates/millstone.json +468202df0802e17c75fcad0993daf1bc5300ca91 assets/create/blockstates/minecart_anchor.json +6a42f86aaff8ced70aaa6adb9460614ab40c21e5 assets/create/blockstates/mossy_andesite.json +bd49d8df2c3b0e07f599026db5dc1e67f4fa6199 assets/create/blockstates/mossy_dark_scoria.json +d1fad9fa7f6d948fd68a31a86fe1b952bf80817b assets/create/blockstates/mossy_diorite.json +a35b5d1886609672fd19cc5bb52b2b6a9c0d688e assets/create/blockstates/mossy_dolomite.json +dede80b872a3f1212cf492b38473064d73de46e1 assets/create/blockstates/mossy_gabbro.json +a3ae5fb61cb07ae6fcb78ba68435bda8c31d4430 assets/create/blockstates/mossy_granite.json +6bc9137697dc2b3f0aa4b20d1802814885ccb059 assets/create/blockstates/mossy_limestone.json +5b75b8e8e922b00c43ce030740da5472df207868 assets/create/blockstates/mossy_scoria.json +3feafb33a6ba03687a521c1b196536c0427fff77 assets/create/blockstates/mossy_weathered_limestone.json +b1126c191877cff86b4e2de83e1fcbd151451cb7 assets/create/blockstates/mysterious_cuckoo_clock.json +8d56251190c94204fa238ff32734a0761273669f assets/create/blockstates/natural_scoria.json +0f7635a4fec6961ec09788b3c5e3992ed1fdfde7 assets/create/blockstates/nixie_tube.json +36e46e65003a8d0b8555fe5e8f8dc980d6559bc5 assets/create/blockstates/nozzle.json +cf60989f63f02067fc4e4ad25033ac83167cdeb0 assets/create/blockstates/oak_window.json +4a796509c3953171f04f957351282205840b3760 assets/create/blockstates/oak_window_pane.json +5764a24f6c4fa552b61d2a02135adfc7d93c2e10 assets/create/blockstates/orange_seat.json +8e2028e1a0450a592eed5e10276ba19b1195a206 assets/create/blockstates/ornate_iron_window.json +f59198fd966927e21e9bf76e64de533d05ea893b assets/create/blockstates/ornate_iron_window_pane.json +c46f0b62967cf483ec0720a9297c8ccc97f5547d assets/create/blockstates/overgrown_andesite.json +0d3e4d8631f95dd9e18a38d92778ea78e5fc7cea assets/create/blockstates/overgrown_dark_scoria.json +12a00500554f541a0ef4ba31f96a97c515e75834 assets/create/blockstates/overgrown_diorite.json +9cd0331df8622fdc0bcd96d732e35598db96be5e assets/create/blockstates/overgrown_dolomite.json +8eabe022ac1113f22842487eafa906df81d0669e assets/create/blockstates/overgrown_gabbro.json +76ade67226e968db0671645f5316fdf64326f4a4 assets/create/blockstates/overgrown_granite.json +2398939c8be07cac0dcb7ea710eb98e74b408e0c assets/create/blockstates/overgrown_limestone.json +fbb651b8e4a72bf0a17a6bfdbf4eef680e9d4a5c assets/create/blockstates/overgrown_scoria.json +9c8e210bdb29b2ab1535a25762498d7c03156444 assets/create/blockstates/overgrown_weathered_limestone.json +5ab323fefdbfff04aa5c224bf5f0237f0598b3b2 assets/create/blockstates/packager.json +ab93ff18b747607dbc1d8d7311a2737e302b92d1 assets/create/blockstates/paved_andesite.json +89e88a0d2e7df66bac7ab11ac2c7b14812d8675f assets/create/blockstates/paved_andesite_slab.json +f43d947077b3f4a11a9729c58709c56f09859da0 assets/create/blockstates/paved_andesite_stairs.json +71368afa5b2bb1bcda81935b4e5ea52babf2f89d assets/create/blockstates/paved_andesite_wall.json +4c3f3b1083d5ed7dc882ff0c5a8e99fa4e114810 assets/create/blockstates/paved_dark_scoria.json +373ae114d505e64fc1a1101f1c738d690098f4e4 assets/create/blockstates/paved_dark_scoria_slab.json +609ca3c0f01f82b07afddd12399019ea4e83ff0c assets/create/blockstates/paved_dark_scoria_stairs.json +ee62f4da5831042eeb00cec1de5f04d9513c2878 assets/create/blockstates/paved_dark_scoria_wall.json +16e6d4110af2a9ac5a27c1416fa333d125a0c212 assets/create/blockstates/paved_diorite.json +5088c7c493386509739cf78eb043f79a36cc49a2 assets/create/blockstates/paved_diorite_slab.json +7c88703a29614886c193a3e1b7fa1aedc2901626 assets/create/blockstates/paved_diorite_stairs.json +ff683aa224095aa1fddcffbc94e767bf5ed396f8 assets/create/blockstates/paved_diorite_wall.json +7df5d644f113bd7988fc958d1018766ea41e16a5 assets/create/blockstates/paved_dolomite.json +0f007adfc85b2c11600adf457060f3a9a3b0b354 assets/create/blockstates/paved_dolomite_slab.json +77362a0dc9e7dc850a40359580122314c0d48edf assets/create/blockstates/paved_dolomite_stairs.json +161b19cfff4f8fba467d3913b7bde86149f88c45 assets/create/blockstates/paved_dolomite_wall.json +6b408845d667c7ed1490d03ea38db15cf4bdeb0d assets/create/blockstates/paved_gabbro.json +192412bf95174f6c635a5c10e9cb6f26ed9732fa assets/create/blockstates/paved_gabbro_slab.json +2bb34163e982218d0e8734a140445d25ad135afc assets/create/blockstates/paved_gabbro_stairs.json +bf3cbd3f694a01e072524ab398ed4097b6babba8 assets/create/blockstates/paved_gabbro_wall.json +b4c21fbcbfc21ba2aaaa468ddcac322fc3ed4cdf assets/create/blockstates/paved_granite.json +e273711b7e510c1553023c9962c7b66073fa77a8 assets/create/blockstates/paved_granite_slab.json +ad8c79e38ee2b0bdb18e35e9925dc213b4a95008 assets/create/blockstates/paved_granite_stairs.json +95ccf04f5dd38c266263189d2291ab8ef92473c8 assets/create/blockstates/paved_granite_wall.json +67df4368fd671d334702134c4011c85d8a7d1943 assets/create/blockstates/paved_limestone.json +e1eca91fdcf60b8ac0c2b8cdf6674046b0bc55f4 assets/create/blockstates/paved_limestone_slab.json +20c5434a0fb1108d424c27c44213dc89f5ec0027 assets/create/blockstates/paved_limestone_stairs.json +b1b2426f87a7e56e72d93db293b05c570d2bbac6 assets/create/blockstates/paved_limestone_wall.json +1ec5fafef5d6447938d2741c718b7411bf074e27 assets/create/blockstates/paved_scoria.json +10784fd7ad60cece61c5a10e933be0c33eb8e78e assets/create/blockstates/paved_scoria_slab.json +10a5ff1a5e5ae32a656637da8c41103798f3553f assets/create/blockstates/paved_scoria_stairs.json +76b3299e3e002fa942eb657cda1f6b729ec0b1a2 assets/create/blockstates/paved_scoria_wall.json +c17d334e938dcb742550ba8307ca8266a1fc9b49 assets/create/blockstates/paved_weathered_limestone.json +cb23aef25f3106b06c8fa8f152c638bb0d2185d8 assets/create/blockstates/paved_weathered_limestone_slab.json +d62b0992cec1de45dad1f2c273132225f4ef33a0 assets/create/blockstates/paved_weathered_limestone_stairs.json +dba4cf86e82ed4502fffed363fbce226a445e774 assets/create/blockstates/paved_weathered_limestone_wall.json +919a79e4a4a5fab0aac3ef48e1c786017d6aa001 assets/create/blockstates/pink_seat.json +975c97018e9e2419943eaab43aed0970e96feaf7 assets/create/blockstates/piston_extension_pole.json +2f764f460aa1d75ba995da180bc6f8d2bd9db385 assets/create/blockstates/polished_dark_scoria.json +262b22dcf3e151e63f58710f6b6fe4fc4fc2a70c assets/create/blockstates/polished_dark_scoria_slab.json +a0dbcb7651b02a4f5c747ad2c6d35da60f768d9b assets/create/blockstates/polished_dark_scoria_stairs.json +7c8482b4e3f1593f1cf6d0233a57194456602b4f assets/create/blockstates/polished_dark_scoria_wall.json +c197a8c1e80150cf2ef73ed5429b976a6920ee39 assets/create/blockstates/polished_dolomite.json +1c60ab250ae8577fa314b2718d4d8d9885c7a387 assets/create/blockstates/polished_dolomite_slab.json +4ee6fc88ba0b69f144da81c4ec023cd123bb28e1 assets/create/blockstates/polished_dolomite_stairs.json +0ba06e244995d12d9744fe1aa3f619975f374b7a assets/create/blockstates/polished_dolomite_wall.json +c20df6b7240b2aeffd4f66e8b902f71b2a43ea35 assets/create/blockstates/polished_gabbro.json +d760a9e9efac9f81b36be2632b4b309f113004a3 assets/create/blockstates/polished_gabbro_slab.json +f20b78557066023365b0f1f7c4a95ae50724421d assets/create/blockstates/polished_gabbro_stairs.json +7192b0fe69a71bf8295ec4c4f60b8a268f9605bd assets/create/blockstates/polished_gabbro_wall.json +039ed5b957758e9c9266764a7787179e0b74c567 assets/create/blockstates/polished_limestone.json +a31044438e849f216c5bd5960f57645b22c2ca83 assets/create/blockstates/polished_limestone_slab.json +f1bf2d4e4e1dff8cc39652a35f601fc58424e60d assets/create/blockstates/polished_limestone_stairs.json +7e03ef348cff2678f7d6c65bf48806f887647cd2 assets/create/blockstates/polished_limestone_wall.json +35c8f660a49dd2addae6a77283aba7f581a8d042 assets/create/blockstates/polished_scoria.json +a452650af5c929675b0a3c8e8bf23c6cac67152e assets/create/blockstates/polished_scoria_slab.json +8e2c6b205b17dde98e7cc9b4bcea6c75aaaeae80 assets/create/blockstates/polished_scoria_stairs.json +0e76787c4e63635cf6f920bd60130dd453c10a2b assets/create/blockstates/polished_scoria_wall.json +c8467d55bc22d2e2256b8b732c06c9fdc64d336f assets/create/blockstates/polished_weathered_limestone.json +5d811eab3c5e8411f98e2ea98d93d35955ce18fc assets/create/blockstates/polished_weathered_limestone_slab.json +acec6cdebe772ca72de94a85d98199e827495acb assets/create/blockstates/polished_weathered_limestone_stairs.json +f42ad32aefcfa7ccc6287f57ee1a5f092b65126f assets/create/blockstates/polished_weathered_limestone_wall.json +b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets/create/blockstates/portable_storage_interface.json +8296d43d5f1c2113012d127038fb319af83aaee4 assets/create/blockstates/powered_latch.json +e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggle_latch.json +3a739f9d4276828d83f2d2750bf3227c87bcd438 assets/create/blockstates/pulley_magnet.json +469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets/create/blockstates/pulse_repeater.json +92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json +4bb26546ac954604a0317b059f2c36a1123772cb assets/create/blockstates/radial_chassis.json +da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json +8929677f2cc5354aa19ef182af69f9f0b41eb242 assets/create/blockstates/redstone_contact.json +c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets/create/blockstates/redstone_link.json +1eac804cba08aebb5f4646758ae1ef9b32e01365 assets/create/blockstates/reinforced_rail.json +e2990fe70ad5d10437a376e70e167d1856277cc1 assets/create/blockstates/rope.json +e14d5f7252105934295b4e156ec0e6d62d3d6b1c assets/create/blockstates/rope_pulley.json +cc4cf3420fa290cb844f9cf4dfdd836aa9b70500 assets/create/blockstates/rotation_speed_controller.json +7120f29e4b88a1c40125a8cdbe8af3570f4ee352 assets/create/blockstates/schematic_table.json +36592a6542332b35445931e8e9531adf786b63ba assets/create/blockstates/schematicannon.json +a5befc14551f043675e985027609aeb7e6bacc0d assets/create/blockstates/scoria.json +4ccf1fb580ce25835329d50dcf0ba91be19baaeb assets/create/blockstates/scoria_bricks.json +145fb4b57649105c6f188bd2b895ee69d2378b1f assets/create/blockstates/scoria_bricks_slab.json +41066da6ae338c079f506c87c0e36fda788f75e4 assets/create/blockstates/scoria_bricks_stairs.json +6e18096573621955e077731a0dcdf0eb86678c93 assets/create/blockstates/scoria_bricks_wall.json +20c7cdf5d5e62bdbce53541bdb8079836ad74bb0 assets/create/blockstates/scoria_cobblestone.json +be96a5541f211a6929fa04ec3535cb62ce7d4a2d assets/create/blockstates/scoria_cobblestone_slab.json +41d1fbbdfb038e474254bee5284561342fea0fc9 assets/create/blockstates/scoria_cobblestone_stairs.json +b6e50f46a02f833f2f2bafa8585a909b6da5e229 assets/create/blockstates/scoria_cobblestone_wall.json +46641fdbc6bdc05829153bc28efb90cae26a51f8 assets/create/blockstates/scoria_pillar.json +89e10f35b93b5c72dd235eb79e5fc6f3655027a1 assets/create/blockstates/secondary_linear_chassis.json +81931eb1027dfb42ba4b2186185a4c0a36e0dbe4 assets/create/blockstates/sequenced_gearshift.json +79ae6d86a829b9ce82fce68a6377d3810fcfcb10 assets/create/blockstates/shaft.json +e815bfd854c2653f10828bb11950f7fb991d7efc assets/create/blockstates/speedometer.json +d62b7908119fa4f51715a186d0882b388bb25cab assets/create/blockstates/spruce_window.json +8d7dfa60630a8b4bae4e8eca5c66e1cfa34dda1f assets/create/blockstates/spruce_window_pane.json +3d93eabbb327aecc526beae9c62283f1d43eb710 assets/create/blockstates/sticky_mechanical_piston.json +f385988cb6fa9c48b5d59a6942ec50ed2b60c8bf assets/create/blockstates/stockpile_switch.json +e815bfd854c2653f10828bb11950f7fb991d7efc assets/create/blockstates/stressometer.json +8b0c2c7ac72529565b3339aa8df7565858100afa assets/create/blockstates/tiled_glass.json +a2454400b1cf9889f70aebdc89c52a1be25f543c assets/create/blockstates/tiled_glass_pane.json +e122bf687d991dd2d7a05670039da7937f96ca05 assets/create/blockstates/transposer.json +a8094531617e27a545c4815ab2062bf0ffca3633 assets/create/blockstates/turntable.json +d45450255fd7a64cfd2bd8856fd4cff01a49cc8d assets/create/blockstates/vertical_extractor.json +69dfe8afaa8eb6105dae9f76ab8b7847bf90b8c6 assets/create/blockstates/vertical_framed_glass.json +c4db76b9d36cfb098df0d158cb6f8b82768ebe14 assets/create/blockstates/vertical_framed_glass_pane.json +0ecc57db2487ed6b370b9cc43d2a873c61d7c37e assets/create/blockstates/vertical_linked_extractor.json +751b99625aca1b4122a0333bfaf93325d37eb003 assets/create/blockstates/vertical_linked_transposer.json +02199afb5b6ebcbc8e11567df05f39eface39e39 assets/create/blockstates/vertical_transposer.json +d995547bcd71603ba7378d8998098e462030bfd0 assets/create/blockstates/water_wheel.json +f182669f7547964f9f2ef67916568556870def7b assets/create/blockstates/weathered_limestone.json +27e6740834c0f673acc3531371512daa6dcab025 assets/create/blockstates/weathered_limestone_bricks.json +abb74e4f4c2b9851670cb6ad794281b0f7be0f5a assets/create/blockstates/weathered_limestone_bricks_slab.json +3262e838fd36d514dad6b86b83402772c0ddfdc5 assets/create/blockstates/weathered_limestone_bricks_stairs.json +5ebbc4b70baba82da677ade1110277bb012bbe8c assets/create/blockstates/weathered_limestone_bricks_wall.json +f02e0d7738c3c3622d9051db7deca7a9de274868 assets/create/blockstates/weathered_limestone_cobblestone.json +fd7a9c7095372485081436c91489cadb2b0c514e assets/create/blockstates/weathered_limestone_cobblestone_slab.json +47f8c91ff4c3f5cad782ab469a1fe5f4909dc7f1 assets/create/blockstates/weathered_limestone_cobblestone_stairs.json +c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets/create/blockstates/weathered_limestone_cobblestone_wall.json +c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets/create/blockstates/weathered_limestone_pillar.json +4647010162eb4c350fad236d860317eaa1884c77 assets/create/blockstates/white_seat.json +a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.json +7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json +b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json +8701a4473878ef76b77b853b7b5ee0e1570e35b5 assets/create/lang/en_ud.json +28b0c222c3bc23ade20b30acbeba4dff45b8aac6 assets/create/lang/en_us.json +99cfc3bf44135741f3cab754126c7b9020ca6afd assets/create/lang/unfinished/de_de.json +5eaf282418b78d3b642489f12d1d4e39a84c8158 assets/create/lang/unfinished/fr_fr.json +d8a9050112ff115115035e5af996cf67d1c7857f assets/create/lang/unfinished/it_it.json +52d6a899466025fafd1235486e8a142acd650827 assets/create/lang/unfinished/ja_jp.json +67249a783b7bdb3306b2616fa05675f446930cb9 assets/create/lang/unfinished/ko_kr.json +49d048a89d98ec8e15f91155f466f06634656e28 assets/create/lang/unfinished/nl_nl.json +c88f1d0814ddd3c8a7925372ea9d5f5677b2abe8 assets/create/lang/unfinished/pt_br.json +76c6a11afca6c102194f2b32a4e84c83d73e741c assets/create/lang/unfinished/ru_ru.json +e49755abda2b5df4c1a83fc058cf2693940259d1 assets/create/lang/unfinished/zh_cn.json +846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json +1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json +1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json +7d23c8e4543108f5f53b78ccb4908f7a5bb76c54 assets/create/models/block/acacia_window_pane_post.json +3bdcc6bd616a179ffc22e66307aab538e9bcb75f assets/create/models/block/acacia_window_pane_side.json +7b5b6809e3ef685a497ba15b549d3918aeb6c135 assets/create/models/block/acacia_window_pane_side_alt.json +7c81658c8839fdb23429e54f847c2a0aee0e866e assets/create/models/block/adjustable_pulley_end_horizontal.json +20cfb751fc395a0e07c66ce87ab035207f9d1e0e assets/create/models/block/adjustable_pulley_end_horizontal_powered.json +bb02f94b260be8fe1944b801cc4050b4d213f1df assets/create/models/block/adjustable_pulley_end_vertical.json +634b76bd58fe3d485fc2a3212a10a7b3ff6a92a7 assets/create/models/block/adjustable_pulley_end_vertical_powered.json +b3937db45bc7af8eefc0459f5429f9d79490e12e assets/create/models/block/adjustable_pulley_middle_horizontal.json +b0dc21bc9c0e48f4a557f760e351db6c99f34585 assets/create/models/block/adjustable_pulley_middle_horizontal_powered.json +e4cf5269494e614eaa699b0ed104ca5829e86f26 assets/create/models/block/adjustable_pulley_middle_vertical.json +d190170ebddb64c7874ef18e380dc6ece8f46007 assets/create/models/block/adjustable_pulley_middle_vertical_powered.json +9eff0ff2df8f7baf5ad3c0f47730f6d260822e99 assets/create/models/block/adjustable_pulley_single.json +7f731fe96ca538256fb98ba77e8857edb5cd2306 assets/create/models/block/adjustable_pulley_single_powered.json +68ad5cab7a32235aabf060f05d72d5a2dcfd0e74 assets/create/models/block/adjustable_pulse_repeater_powered.json +415d9426fae5e6db7d09c9813d96db940e383eb7 assets/create/models/block/adjustable_pulse_repeater_powered_powering.json +cda6f9761431c5b8538f746db2dc55e5fb57bf01 assets/create/models/block/adjustable_pulse_repeater_powering.json +ce5e0cd1598cf2228bb77a68c304dd210f3848f8 assets/create/models/block/adjustable_repeater_powered.json +c82a31943f5adb4a64c6db4c48c94cbce5d95bc4 assets/create/models/block/adjustable_repeater_powered_powering.json +51cf61f8bc25cf62b0e0c0705c75512809358ff0 assets/create/models/block/adjustable_repeater_powering.json +e4af27010c74bb5b1e79b6fccf1669526e1bb5e3 assets/create/models/block/andesite_belt_funnel_pull_extended.json +502916dc860e5ba971af51c640192b5ac02e574f assets/create/models/block/andesite_belt_funnel_pull_retracted.json +f1ba5c40d5e580d3c46d2eeab37b59263d0b0904 assets/create/models/block/andesite_belt_funnel_push_extended.json +5689f01354dcb8bf1547467c7c5b86468f962bce assets/create/models/block/andesite_belt_funnel_push_retracted.json +4d412de3eb98dfee548a0dcdbae5d0168ac67123 assets/create/models/block/andesite_bricks.json +054ef3fff7f146dbf8adc92dc2b6d169c2bdb7a5 assets/create/models/block/andesite_bricks_slab.json +8784414839f6a5786bf43d6a7dff6c27bdf7fe46 assets/create/models/block/andesite_bricks_slab_top.json +65e606737196fbc94a3a18601db6eeaf7eb18414 assets/create/models/block/andesite_bricks_stairs.json +71e05082703286f237ccfd1f353da86da4f67aeb assets/create/models/block/andesite_bricks_stairs_inner.json +87d60652c7ceb8f03a26c2e0853243d1f397555a assets/create/models/block/andesite_bricks_stairs_outer.json +f0a955282f7abd5ce0b412ec7b59024113ca970a assets/create/models/block/andesite_bricks_wall_post.json +0ed2fa65af49b5c92c4e5c688c155e37d3d6b118 assets/create/models/block/andesite_bricks_wall_side.json +b9943c5585fc081385ea49a4199efeb6c7c22423 assets/create/models/block/andesite_casing.json +d89f1a04622290303729479ce5e19768f296a297 assets/create/models/block/andesite_chute_funnel_pull.json +911cd82e8716a076a7760534de845f60db3534fb assets/create/models/block/andesite_chute_funnel_push.json +77a045e855eb37d2da7ed8f7d27a85b9546c0ab8 assets/create/models/block/andesite_cobblestone.json +7d816d54c85bc7d0cc8db9c68abcba960daa7b43 assets/create/models/block/andesite_cobblestone_slab.json +5179ecd1f926bf3211a1a3f033dfd1d2368eeb20 assets/create/models/block/andesite_cobblestone_slab_top.json +2c0fd862bbbfa1cef2d418661ed180e39b0a3988 assets/create/models/block/andesite_cobblestone_stairs.json +ad255a62a5f54b578db06e89fd7160001f905675 assets/create/models/block/andesite_cobblestone_stairs_inner.json +a033fbac3129bba9211c6c4a0e16c905643afa39 assets/create/models/block/andesite_cobblestone_stairs_outer.json +1c574ee47aeb6fcb305bfc95dd131e153b795a0e assets/create/models/block/andesite_cobblestone_wall_post.json +0ed983628e8868f77301bea1111570d3631f24fb assets/create/models/block/andesite_cobblestone_wall_side.json +9febbf6fb88e726a89573c3788bd8348ba805b6d assets/create/models/block/andesite_funnel.json +b1d0bb538fc8285b7d3fd77a977d78a104b83b62 assets/create/models/block/andesite_pillar.json +aaf2e4259bcfcedd3400e9acb2d64c0cf06f7fb1 assets/create/models/block/andesite_tunnel/cross.json +75f628178fa21a2bd301eea8d1cebf7e94f7d5cc assets/create/models/block/andesite_tunnel/straight.json +c9aec5c30e6821c8f125202cad236afa48f6c358 assets/create/models/block/andesite_tunnel/t_left.json +1dcb8fe81a275ef8a49c04db021ad29abe8b38ae assets/create/models/block/andesite_tunnel/t_right.json +e2801a0c3fe8e1c2485291485b977f581fdc8b7c assets/create/models/block/andesite_tunnel/window.json +e8bfb63e0a4426f9d95cd111640169b218dead1b assets/create/models/block/belt_observer/detect.json +a2e63810eceb028484b193ddf4315e1811950dc8 assets/create/models/block/belt_observer/detect_belt.json +034c308d46def892e6638ac0b3374849a6a88a26 assets/create/models/block/belt_observer/detect_belt_powered.json +0bddcf5449e18abbc11e984f4b125141b14baaf7 assets/create/models/block/belt_observer/detect_powered.json +c521e51b557f4643027fe7a8ec9d4f6a4ade1279 assets/create/models/block/belt_observer/eject.json +79863633fc1fec21241650a5eb3203cf4d3fd210 assets/create/models/block/belt_observer/eject_belt.json +a6d8262629371113147f8b13986a6f72c51fc100 assets/create/models/block/belt_observer/eject_belt_powered.json +2dad3c6bd49c4b608ad7c30567bb3e5845c46cf8 assets/create/models/block/belt_observer/eject_powered.json +e1b801f2f37a78f18a787f4484f7b8ec57671c4f assets/create/models/block/belt_observer/pulse.json +fc6dd3e43af11ede6ef5d402d30715ebf69dac2e assets/create/models/block/belt_observer/pulse_belt.json +7d2490e4228ce4f0ee8875d5ac5fef92eea68015 assets/create/models/block/belt_observer/pulse_belt_powered.json +fa79580db6187c864bc8148a41987ecdd1eb03b7 assets/create/models/block/belt_observer/pulse_powered.json +4f14a279e486242a65b4d6dbcdfc33db9b71942b assets/create/models/block/belt_observer/split.json +670adf5eee3f7a4b99267bd837334be6a8173e4e assets/create/models/block/belt_observer/split_belt.json +819d3107908ce21220ad45b0ae3e1c92c13c601d assets/create/models/block/belt_observer/split_belt_powered.json +76078947044ca9fc7860708ae9717a0ae47ebb1e assets/create/models/block/belt_observer/split_powered.json +87f90e8256060683b834d57d3c11248d5ea84e34 assets/create/models/block/birch_window.json +94317904054cbf651846716d8af3bca618d3130f assets/create/models/block/birch_window_pane_noside.json +7a4cae5b075c4ac96a3113afafa391d024fc117f assets/create/models/block/birch_window_pane_noside_alt.json +3905ced5892afa60009bf26279f9fa4756c273d4 assets/create/models/block/birch_window_pane_post.json +62b3f2edc5ef5d7dabbcff19220921b0e3582376 assets/create/models/block/birch_window_pane_side.json +95d4230eb366f5e7684820c9337e3956ed34042a assets/create/models/block/birch_window_pane_side_alt.json +97d79ab99c0fb278a9b5dc54e1c6563868f87b76 assets/create/models/block/black_seat.json +e58b00a7222152d7facbe0e82f00933b974df747 assets/create/models/block/blue_seat.json +7f2ed408fb662a23a75c29398e75bb9deff4c2b5 assets/create/models/block/brass_belt_funnel_pull_extended.json +242c9972e2dc70671ffef4de15a31a74b800fcb4 assets/create/models/block/brass_belt_funnel_pull_powered_extended.json +3f88752bbf2d4d635cfadb9c7217035a74ff78e3 assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json +da2ae304a1b1e02b1ce03cd0205be66d824e16d6 assets/create/models/block/brass_belt_funnel_pull_retracted.json +91ba57aded6f4a99208a8812650f454b1a44fe8b assets/create/models/block/brass_belt_funnel_push_extended.json +ee79efc65b05d953784b00e573d37602629eb9e8 assets/create/models/block/brass_belt_funnel_push_powered_extended.json +1231141717d6609f0e3c282996b1739a2c790e0c assets/create/models/block/brass_belt_funnel_push_powered_retracted.json +253e88f2c11006abdc87156dd409ed3944bb7295 assets/create/models/block/brass_belt_funnel_push_retracted.json +0934933df6bfbb19a1b14cd0e3cab2c18d5a3ebc assets/create/models/block/brass_block.json +166a5c053a81e6aadc24509ed24dc144a7255969 assets/create/models/block/brass_casing.json +8c42d09a18fb17fe846365138d0f0d58c6a3c05e assets/create/models/block/brass_chute_funnel_pull.json +7b3d2865ee7611940af017161aaabc7cb107225d assets/create/models/block/brass_chute_funnel_pull_powered.json +78122dd0f7b65bd071974030682fa484c31d7ba2 assets/create/models/block/brass_chute_funnel_push.json +7edf6b5c95f61071d8a9243a63e786765d6104a3 assets/create/models/block/brass_chute_funnel_push_powered.json +6c617fc504cb2259263d24fc56c4735e455aac6d assets/create/models/block/brass_funnel.json +2f152b82291b7fc994191b1ffb8ec6d65aec748b assets/create/models/block/brass_funnel_powered.json +520087db8d479c66f85f3483af813fb668f27503 assets/create/models/block/brass_tunnel/cross.json +347ed67bf3426e323354e2d959fc9563dc7eeecd assets/create/models/block/brass_tunnel/straight.json +a959e03ca339badb49fe58ba53d86a84352e91f3 assets/create/models/block/brass_tunnel/t_left.json +0585fbe58da3a8ed0dc98cc7ed79ac067312078d assets/create/models/block/brass_tunnel/t_right.json +a0612a633756433e1b37ddc6d290aa1fc07839ef assets/create/models/block/brass_tunnel/window.json +4eed0ad902f5e84f2b6c160f3283e8028640e77d assets/create/models/block/brown_seat.json +028a07b49c05fe8a93f1d8c229d81e73d887c2df assets/create/models/block/chiseled_dark_scoria.json +b1f9ee4867373dd8f976625bab744a1c72c7fd16 assets/create/models/block/chiseled_dolomite.json +cd7751090cf3d55296b8e415d0af9b6f18d69770 assets/create/models/block/chiseled_gabbro.json +d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets/create/models/block/chiseled_limestone.json +ac07568fa7b2d3fa84d0fe89a498514d30514291 assets/create/models/block/chiseled_scoria.json +ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets/create/models/block/chiseled_weathered_limestone.json +f9a3f0939ea43b404eb2826b94211a25fca5ebc2 assets/create/models/block/clockwork_bearing.json +70406933cc4fa5471af6e562fd84a397347dba17 assets/create/models/block/copper_casing.json +1ef7060b0ca7e9c0bfc8151f98ca08da31862cda assets/create/models/block/crate/brass/bottom.json +4ef2c7c3018f2d219f159a3ce58ceb00610b9c5d assets/create/models/block/crate/brass/left.json +c76cfec1279d307c52f9502fdba3425f38219168 assets/create/models/block/crate/brass/right.json +9e55a49ecb99841627f5c2560e5b3c67310919ee assets/create/models/block/crate/brass/single.json +a09f639bde4c61d68592eb06c807e7a6791ff950 assets/create/models/block/crate/brass/top.json +917914f6b8aa9234bbffb434ba07f706c5d1232a assets/create/models/block/crate/creative/bottom.json +03a56c112a947735ff1682d5d9c3202e7796bce9 assets/create/models/block/crate/creative/left.json +7635211e4d833748acaea37ea48b1f749c32ea5f assets/create/models/block/crate/creative/right.json +a123e3c8a9e2ea1665f268cf3991aa7e4b3119c6 assets/create/models/block/crate/creative/single.json +29ab5cfe7aed1271ede125e91bf78c1372b5f96e assets/create/models/block/crate/creative/top.json +6704782830b3d872321e895b6903709c18e3778f assets/create/models/block/cyan_seat.json +57e70af1da4e971eca075616b787b70104189d60 assets/create/models/block/dark_oak_window.json +c7b06bc1688f3f9417d38c492d83069f493df78e assets/create/models/block/dark_oak_window_pane_noside.json +3cf8adcb5d1c8f53d2144e1a85bebe593522a34e assets/create/models/block/dark_oak_window_pane_noside_alt.json +6060e8256251807871046edb701ae9af057c6b25 assets/create/models/block/dark_oak_window_pane_post.json +6b548c48245d3f9d0cc8340495f0218c8c76968d assets/create/models/block/dark_oak_window_pane_side.json +a021dc24e218a0d12af8c1defd6eb994f3cd52ef assets/create/models/block/dark_oak_window_pane_side_alt.json +e12bf7ec94790c1fef9db1e0a209ba55b026f39e assets/create/models/block/dark_scoria.json +acbf07b2b9518dd10b03f34a46115432b6e9bf18 assets/create/models/block/dark_scoria_bricks.json +04c07c1c83371d21e79e2f54b89bed840b0b373c assets/create/models/block/dark_scoria_bricks_slab.json +b51e13fa3704c6b731062758e1bb0fdbb8d3b501 assets/create/models/block/dark_scoria_bricks_slab_top.json +f054596722c031e05403d1dfa0ebb873549364f3 assets/create/models/block/dark_scoria_bricks_stairs.json +955b30a1010ae5d1923f9759af86dee1a881d061 assets/create/models/block/dark_scoria_bricks_stairs_inner.json +f4ae0b386bdf3173a8cd30c11993395c5ff6557e assets/create/models/block/dark_scoria_bricks_stairs_outer.json +024df9c96f8004418529cfc2558f4f066eeac21a assets/create/models/block/dark_scoria_bricks_wall_post.json +3cdcc41c6b833d14a00942504c49ff2261aada88 assets/create/models/block/dark_scoria_bricks_wall_side.json +4b0850fdf9ace0f10250692c93196d5620b800ba assets/create/models/block/dark_scoria_cobblestone.json +02a39b76219bb3a52d1947cf7f72cbc1df2fd673 assets/create/models/block/dark_scoria_cobblestone_slab.json +87119cdd2e5a5793e83c534128c1da15e5ea639f assets/create/models/block/dark_scoria_cobblestone_slab_top.json +203f4fd2cfaba624620a352f6d65ba58f0412a40 assets/create/models/block/dark_scoria_cobblestone_stairs.json +4a78513a157ee7c5ed7ccaadd2bf8954268c203b assets/create/models/block/dark_scoria_cobblestone_stairs_inner.json +868362ffc0331d24e35407a27b65cbfa94c538af assets/create/models/block/dark_scoria_cobblestone_stairs_outer.json +310c6ec1d83a7731ca4baac0ebddf1b508ce1c70 assets/create/models/block/dark_scoria_cobblestone_wall_post.json +fe7666edd1e5117384c4ff032cc25cd06175df24 assets/create/models/block/dark_scoria_cobblestone_wall_side.json +b29e7589789628ddc180e146aab70ad70a461ccf assets/create/models/block/dark_scoria_pillar.json +b021c62e9c164d37bee0af97a75a0fb91dd1c9ef assets/create/models/block/diorite_bricks.json +2820f2976d73deed740356fcd19cfb4f4f493f9f assets/create/models/block/diorite_bricks_slab.json +5fb8e28b42b803199c6347f27fb06480f2d637bf assets/create/models/block/diorite_bricks_slab_top.json +70fe07eb3b04286b165d5f2e9b5fe1e75e85ad1e assets/create/models/block/diorite_bricks_stairs.json +aa23e5c6f5f3be1e7cb57f03fe044b2c6a4cfea5 assets/create/models/block/diorite_bricks_stairs_inner.json +e8dfebbc0d53bc707daafff42461fa58f4d568c4 assets/create/models/block/diorite_bricks_stairs_outer.json +5b749343983f90edcdfb07412b41014840c2b485 assets/create/models/block/diorite_bricks_wall_post.json +aed9793db091577ca75bfaf496cc9967204cb27a assets/create/models/block/diorite_bricks_wall_side.json +4a1cbe7266099a0433bc341ca5b0f750568b2355 assets/create/models/block/diorite_cobblestone.json +2ad5210a878dbe4b31c6ce5e1962fb3c0fd7f450 assets/create/models/block/diorite_cobblestone_slab.json +0587d7c549648ebd8796ad39b1887497842bbfb9 assets/create/models/block/diorite_cobblestone_slab_top.json +3e959e30e67820f14c2b5afcdd5e710025d60341 assets/create/models/block/diorite_cobblestone_stairs.json +77906d654b5601e58b1485abb4d91b10bee6d665 assets/create/models/block/diorite_cobblestone_stairs_inner.json +7e4c4297dd55ee374ed5b3599c9b86ca2001d952 assets/create/models/block/diorite_cobblestone_stairs_outer.json +98738523c2aaf9ded7f0a23edd3df05d0a1684dd assets/create/models/block/diorite_cobblestone_wall_post.json +0907ef0284c7b8624d627fca66a3bb58d0f8dbb3 assets/create/models/block/diorite_cobblestone_wall_side.json +fc589cad1cee51965d4015404ecfd3c5be7bf9e9 assets/create/models/block/diorite_pillar.json +bc70a14ba2410586e8df5df2f5f367d1160b99ca assets/create/models/block/dolomite.json +bf5a698cb710b7eea9f34224be963fd949e48fd1 assets/create/models/block/dolomite_bricks.json +6fcecec93ca2d956908e3f24e9f9c2b1a9cf6866 assets/create/models/block/dolomite_bricks_slab.json +6f0cee5268aba5a54619c51fd703fcdb5abef317 assets/create/models/block/dolomite_bricks_slab_top.json +e83a06bffddbbc901246c18451057385bbeb4368 assets/create/models/block/dolomite_bricks_stairs.json +3a77383e573704b77952cc757653347edfbea4e2 assets/create/models/block/dolomite_bricks_stairs_inner.json +92f359fa78c7a923c6093abe0e2054364c17ff4a assets/create/models/block/dolomite_bricks_stairs_outer.json +f12601207b1cf723ed84ad07b6fdc54305707689 assets/create/models/block/dolomite_bricks_wall_post.json +227729855743169df83e5795ca98af45cf7ce193 assets/create/models/block/dolomite_bricks_wall_side.json +8dfeac10f0e994714f8528608ec01f165e024e12 assets/create/models/block/dolomite_cobblestone.json +38a7bdd45f3cd806f229ae4f21df45e981c5044a assets/create/models/block/dolomite_cobblestone_slab.json +e0bc8a3e14cdab30f0304d59200392858aac6753 assets/create/models/block/dolomite_cobblestone_slab_top.json +eb3f33f313beb57f05172a60259efbb39b99b64c assets/create/models/block/dolomite_cobblestone_stairs.json +c9f925ee5d38173873e3885d34d9f2a41fb355d4 assets/create/models/block/dolomite_cobblestone_stairs_inner.json +cc6d9300cd26f2323c653dbcc61b7a885be8fa3b assets/create/models/block/dolomite_cobblestone_stairs_outer.json +a101974d906487326dc38916f828d12a278a49ae assets/create/models/block/dolomite_cobblestone_wall_post.json +9c497140dfe73abe1964479eaf1af8f1892de290 assets/create/models/block/dolomite_cobblestone_wall_side.json +999a7cd79a9dc80c47fd6103b65f006b55187402 assets/create/models/block/dolomite_pillar.json +17dae5fdc1a551d8ab1ab8a68cabf7a8c3848d86 assets/create/models/block/fancy_andesite_bricks.json +cfb2cd84a1cbd9226a77ebc1f6c29e8eaa9c577f assets/create/models/block/fancy_andesite_bricks_slab.json +8ee27601996ab577991b6a0f7e9df27db0282cad assets/create/models/block/fancy_andesite_bricks_slab_top.json +07562e409b89e641c65884e52299d01bc7bb5d4c assets/create/models/block/fancy_andesite_bricks_stairs.json +8f4ff7a0dbc504555aa4aa4034a58dac58bfddc8 assets/create/models/block/fancy_andesite_bricks_stairs_inner.json +c1e49595d1608099bbf6be79c277b37ee83cb4d1 assets/create/models/block/fancy_andesite_bricks_stairs_outer.json +ad10259e6b2afe96cf7420f53813dea061654271 assets/create/models/block/fancy_andesite_bricks_wall_post.json +a69dd114a8c6889a8cf84b3c818ec68c823d45a4 assets/create/models/block/fancy_andesite_bricks_wall_side.json +e02e5d3049e414ba2bebcbe0c9e98a7a6f668044 assets/create/models/block/fancy_dark_scoria_bricks.json +8aafa8dcba2f77ffa044d2a1a708ccb7ee9ad150 assets/create/models/block/fancy_dark_scoria_bricks_slab.json +e0349402a5d1ba7ce787cc516568aac0fe6e3a77 assets/create/models/block/fancy_dark_scoria_bricks_slab_top.json +0b70f03aa9d520826bd95848dcc50d42497c2962 assets/create/models/block/fancy_dark_scoria_bricks_stairs.json +0efa7fc5b325be824f314424273ff693eb9c1c5d assets/create/models/block/fancy_dark_scoria_bricks_stairs_inner.json +d6d1354ed26cf6b08f3f1a8d624abcd0a38c88d7 assets/create/models/block/fancy_dark_scoria_bricks_stairs_outer.json +9f622e86a49954e3ec3ad30186e2782595306786 assets/create/models/block/fancy_dark_scoria_bricks_wall_post.json +fce2c713cf10bcf22e5d67a2992e9b2cc6361fa9 assets/create/models/block/fancy_dark_scoria_bricks_wall_side.json +b5262f179a7e16a4ea38e610ad0cb5f542c3ce23 assets/create/models/block/fancy_diorite_bricks.json +613531115eb9da3e62c8f29f7bda070b9636d21d assets/create/models/block/fancy_diorite_bricks_slab.json +5b5e0ffb6dbee224e0b113e28a28cec0400fccc0 assets/create/models/block/fancy_diorite_bricks_slab_top.json +56d4280cdd32d0084891731e77719ae5b12c1343 assets/create/models/block/fancy_diorite_bricks_stairs.json +63f6a321bc330d394b0f4504e43a381ab27052f4 assets/create/models/block/fancy_diorite_bricks_stairs_inner.json +a35cf29224543bea9e410633156c6e7eb9b2cd33 assets/create/models/block/fancy_diorite_bricks_stairs_outer.json +e9c641ee32689729d020a9ec3cdf8b6f323c5d68 assets/create/models/block/fancy_diorite_bricks_wall_post.json +7aea79798d3a28172cfd5dbccbcc1bc27d6e1858 assets/create/models/block/fancy_diorite_bricks_wall_side.json +8d2d5e999618ac31fdece4a629a676e8dc123d92 assets/create/models/block/fancy_dolomite_bricks.json +a619df1e34763ba4c5d07ae09646626b47ec20ea assets/create/models/block/fancy_dolomite_bricks_slab.json +28f7c18f1a991f6ac2feb232c4d8dfacda1147c0 assets/create/models/block/fancy_dolomite_bricks_slab_top.json +76e8f44ed6c65f05e95fa092507a59b0b4ec06a9 assets/create/models/block/fancy_dolomite_bricks_stairs.json +b53c77095b44821e89199e7c060b9b51eeee08fa assets/create/models/block/fancy_dolomite_bricks_stairs_inner.json +7f3a5b2beb22180cc3eeb4c180132f3e909501be assets/create/models/block/fancy_dolomite_bricks_stairs_outer.json +0bb02cea3f7e4835503edaa6d3fb63d22750ebd9 assets/create/models/block/fancy_dolomite_bricks_wall_post.json +dc3433b852df03964bf65e7d1e2f4475741bc35c assets/create/models/block/fancy_dolomite_bricks_wall_side.json +31f49733e5fca173547c6fdb10f76b896fcc5995 assets/create/models/block/fancy_gabbro_bricks.json +b7f39739146673062d537399d3afc82c724b5487 assets/create/models/block/fancy_gabbro_bricks_slab.json +4ff85261739e4252b7d15fd35e87a7a39ba618d6 assets/create/models/block/fancy_gabbro_bricks_slab_top.json +02a8dc9079d62a138343df963c951e5a24be4967 assets/create/models/block/fancy_gabbro_bricks_stairs.json +907c443b1deb4aa1e852d038fbbbccf43439a00c assets/create/models/block/fancy_gabbro_bricks_stairs_inner.json +f573f3310f05385536c4eb285e83844faa8f97ce assets/create/models/block/fancy_gabbro_bricks_stairs_outer.json +16edcdd0330034cc27c34bf4b7962a12a9758584 assets/create/models/block/fancy_gabbro_bricks_wall_post.json +75dc73daac8c47bf032313cc2234bcd6cb1570ce assets/create/models/block/fancy_gabbro_bricks_wall_side.json +4b2759734096cbe5219d62d2f8506aecc19697af assets/create/models/block/fancy_granite_bricks.json +9dbb77b7bab451db81db5d1f4f241c710f186117 assets/create/models/block/fancy_granite_bricks_slab.json +bcface0b5cad3c2498c9bd774676d5d2ad3a7fcb assets/create/models/block/fancy_granite_bricks_slab_top.json +bfd6c7779ab9fa23fae2e3a55924d0831a3e49ca assets/create/models/block/fancy_granite_bricks_stairs.json +bbb97a95452efbc20545d9a275c3d7d45494fb41 assets/create/models/block/fancy_granite_bricks_stairs_inner.json +cfbb7d33ec6313c56731385f8321a3aac9cb0455 assets/create/models/block/fancy_granite_bricks_stairs_outer.json +1a1a92f776c558173bff0e88e736fc8c89d49603 assets/create/models/block/fancy_granite_bricks_wall_post.json +13a94c47fe855532882e22ab3c7e96c4ad101df4 assets/create/models/block/fancy_granite_bricks_wall_side.json +d2c78c1efc32154b5cb7b6994e237b12b11995c7 assets/create/models/block/fancy_limestone_bricks.json +62d3c6f4cbc5e3fb21e8b8ac1a4b6b7d13c71f4f assets/create/models/block/fancy_limestone_bricks_slab.json +c194a63f4c4759c907fdfdeefbc61a7e52b0d98c assets/create/models/block/fancy_limestone_bricks_slab_top.json +2a3524c64c9703f12f713cbb2ac629eeb7387dd7 assets/create/models/block/fancy_limestone_bricks_stairs.json +92e3cc9b274cb1cad33fc0b9a47e220030cfeab4 assets/create/models/block/fancy_limestone_bricks_stairs_inner.json +6c9ac7b68f8d0716ce6929ed4a513b00daa0ec41 assets/create/models/block/fancy_limestone_bricks_stairs_outer.json +b2f3ff1718bd599ceff121b6afa3e4b4a7121c20 assets/create/models/block/fancy_limestone_bricks_wall_post.json +28c828ae08f3a84d65b5d7a28864ea9911cc3cf1 assets/create/models/block/fancy_limestone_bricks_wall_side.json +6da75b5353a49f8c68ebc8e760a1ea9c1bd72cbb assets/create/models/block/fancy_scoria_bricks.json +aa752c7269ee79f584f2fd53b69f38ee407c5b83 assets/create/models/block/fancy_scoria_bricks_slab.json +616215efa32da630dca0e768fd2b2c4f3587ee3b assets/create/models/block/fancy_scoria_bricks_slab_top.json +0d1e864a85aee0a4e0b734d2c6fe7298195e056b assets/create/models/block/fancy_scoria_bricks_stairs.json +2910394962403031789e07ff7ce6cff411ee0d85 assets/create/models/block/fancy_scoria_bricks_stairs_inner.json +fb318bb52c43acfc0f371b69905ba4d286f85754 assets/create/models/block/fancy_scoria_bricks_stairs_outer.json +1888c192a0e765dbd264f64ae658ccbe1aa04a15 assets/create/models/block/fancy_scoria_bricks_wall_post.json +46351521c89870d27c8ed12937f5fdf8f4a234b2 assets/create/models/block/fancy_scoria_bricks_wall_side.json +daa7dca22c363d09a81f01716c80f09b22c65226 assets/create/models/block/fancy_weathered_limestone_bricks.json +857392d468416cdb55fdfa090e2c321c3fdf7024 assets/create/models/block/fancy_weathered_limestone_bricks_slab.json +8a63a56cf3ece060b1804ededdf103376691baa7 assets/create/models/block/fancy_weathered_limestone_bricks_slab_top.json +852a1dbcae18274080f6fe14483c21b8134bf56e assets/create/models/block/fancy_weathered_limestone_bricks_stairs.json +fff01c45f01d2b1c4c0555f2ab4d66442c90148e assets/create/models/block/fancy_weathered_limestone_bricks_stairs_inner.json +1ea72b0ca54c8237351b4be0a7b44b94a8b0bb87 assets/create/models/block/fancy_weathered_limestone_bricks_stairs_outer.json +d7385af6e7c8124fda4d391c2e7fba55cdc9977e assets/create/models/block/fancy_weathered_limestone_bricks_wall_post.json +215671ac8e468015e8d52054c863110465c33fc9 assets/create/models/block/fancy_weathered_limestone_bricks_wall_side.json +71f74388319567d4ab13c508bf3b4d59f1a19b2f assets/create/models/block/fluid_pipe/ld_x.json +bd6b0c6d773e3996d949de55873d20b0e192499d assets/create/models/block/fluid_pipe/ld_y.json +ddba92d010016a0147ceecc30a30c9c1622d3daa assets/create/models/block/fluid_pipe/ld_z.json +451b1d6934cb5dfe24b8adcc3b4a03a0d2be854c assets/create/models/block/fluid_pipe/lr_x.json +0276dc98fdac701d6dd8759325bbb9cab1fd4e9d assets/create/models/block/fluid_pipe/lr_y.json +c7b8990a135f7c85f4c746b9d65ccd12f1c91682 assets/create/models/block/fluid_pipe/lr_z.json +4613bc343fa2989234cca21d407bf23131856729 assets/create/models/block/fluid_pipe/lu_x.json +596ac821bce7ce390ff7db9a8f4e33504b657e78 assets/create/models/block/fluid_pipe/lu_y.json +693cdb2c8673161b2c12a05826ef881293db43d1 assets/create/models/block/fluid_pipe/lu_z.json +05159abc175a1fc9f4909ffa13090d0e142fa526 assets/create/models/block/fluid_pipe/none_x.json +e96e9c244b9392a0b328caa6084dc78bebca8b03 assets/create/models/block/fluid_pipe/none_y.json +85129ba2b9b8794e4e9424ad4428a5d7a5b56c41 assets/create/models/block/fluid_pipe/none_z.json +9d99fcd87fddfdf6f525e4d81cf08f1abfd3c749 assets/create/models/block/fluid_pipe/rd_x.json +4d823bc466fc21d080e2fcac3c8fdeb8f74a5f98 assets/create/models/block/fluid_pipe/rd_y.json +26d9d1c0f249a301d03497a1455335d1654f6db3 assets/create/models/block/fluid_pipe/rd_z.json +7cd3f00c05a2beb1b438c8daa415db258095bf2b assets/create/models/block/fluid_pipe/ru_x.json +c09f2f36e3df4642b48f9e331d5000c4f58047ca assets/create/models/block/fluid_pipe/ru_y.json +690c9c3dd5ad31a5f885ecaac4aa6d3a1ccbf7fe assets/create/models/block/fluid_pipe/ru_z.json +2635da812f9dec0c408fed329b3962bd14972d95 assets/create/models/block/fluid_pipe/ud_x.json +4a0d4fb1aaf05b8f388e4add0f45d2a22dde2ce6 assets/create/models/block/fluid_pipe/ud_y.json +f7d3a9ff5a0d050f5822dba9ec6cb68a2e4cdecf assets/create/models/block/fluid_pipe/ud_z.json +9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/framed_glass.json +d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/framed_glass_pane_noside.json +3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/framed_glass_pane_noside_alt.json +a5938ddd48109f067a19a90a0f9abab655c18821 assets/create/models/block/framed_glass_pane_post.json +41645919ece236df5804a5a73ef682720194de34 assets/create/models/block/framed_glass_pane_side.json +8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets/create/models/block/framed_glass_pane_side_alt.json +af8bceaa94d714ab377ab9cef1a46ec8cd2b6382 assets/create/models/block/gabbro.json +d21fdbd5ae4013fed068e6ae015d68880d4d3d5c assets/create/models/block/gabbro_bricks.json +acdb20098521f67a530dd809190b1c024464749d assets/create/models/block/gabbro_bricks_slab.json +10621d5aecf9d97bbf0ffec5540d6590ba88eb75 assets/create/models/block/gabbro_bricks_slab_top.json +dfb61cb5f05c385fe9a459685804eef7a5961e15 assets/create/models/block/gabbro_bricks_stairs.json +c61f0ee76ba24ecb4f597f83b45ecea3ccb9531a assets/create/models/block/gabbro_bricks_stairs_inner.json +6dc59aaa66608e8d11b67ce2c5432f7b38003113 assets/create/models/block/gabbro_bricks_stairs_outer.json +9b851103cec9334e98008a8955df62f52edeab1f assets/create/models/block/gabbro_bricks_wall_post.json +ca28cec552b4d3401854c2d00d43b3a3e01995f2 assets/create/models/block/gabbro_bricks_wall_side.json +fbdc91941c4694507a759d105dc4284914a2eaa7 assets/create/models/block/gabbro_cobblestone.json +c660c81a9faaf7cd12b50d2a329e52c377cb96a5 assets/create/models/block/gabbro_cobblestone_slab.json +b5c4037b01c2e02eee1275a36d62b2f364a49775 assets/create/models/block/gabbro_cobblestone_slab_top.json +75589542f32d2cdad96afb2348cd6fbff2475b07 assets/create/models/block/gabbro_cobblestone_stairs.json +f278ec09c13f98ccbce1a8488d4d51c72f398ed4 assets/create/models/block/gabbro_cobblestone_stairs_inner.json +094d753164a282b2a5608202ab38bd354abb1a14 assets/create/models/block/gabbro_cobblestone_stairs_outer.json +5e50c62a9db350f3a2c0e4b1c37a8dc0d149f287 assets/create/models/block/gabbro_cobblestone_wall_post.json +820235f51e7c3b4c05a327c3aa66618ea1e89c9c assets/create/models/block/gabbro_cobblestone_wall_side.json +ede9c9209f9cee3d8e1ffc5008b1b8b026aee998 assets/create/models/block/gabbro_pillar.json +392dd57e5b96214335867799347e21ac0d05457a assets/create/models/block/granite_bricks.json +0ee90049ce09f1f1c96063bc7239cd1fadbdb947 assets/create/models/block/granite_bricks_slab.json +37737d6767ba08b6bd96de1ff3b920522dc3cd51 assets/create/models/block/granite_bricks_slab_top.json +e1fe76be531aec81e97a4b28f5e7cd426e48975f assets/create/models/block/granite_bricks_stairs.json +a976ff37a2acc9f84a37c397f06c08edc0a7674f assets/create/models/block/granite_bricks_stairs_inner.json +44189d38e42d2e2ab2c1115e569d60379f9d90a3 assets/create/models/block/granite_bricks_stairs_outer.json +f949f1e763f745f140e763043cc16d68c7ee0f1f assets/create/models/block/granite_bricks_wall_post.json +1d0e735ed822d17825f20270640510a68c835a3f assets/create/models/block/granite_bricks_wall_side.json +6b9e3507606968748e48517f3aa29c2c1ee4b16e assets/create/models/block/granite_cobblestone.json +99b6c148a801868be5b265a3f7a9b86e3bc46718 assets/create/models/block/granite_cobblestone_slab.json +a54dbe2ab2ddca316efb05d8d3094dc146ced339 assets/create/models/block/granite_cobblestone_slab_top.json +d52844bdcf33a2f0111c7664a848b510a0f13b8d assets/create/models/block/granite_cobblestone_stairs.json +e2fc1797ddb503b887cf0871526e7d889df32a05 assets/create/models/block/granite_cobblestone_stairs_inner.json +d25cb5553bfd89cd3fca61ebd2204bf2a44cc3da assets/create/models/block/granite_cobblestone_stairs_outer.json +cf267628d47aa424bc20977e69e255ceda3ddfe4 assets/create/models/block/granite_cobblestone_wall_post.json +a4f50b75a3186829fc5d62ee4e33997cd202dbd5 assets/create/models/block/granite_cobblestone_wall_side.json +349a58ac4e4535d0fe9ea467632ed904da2c6098 assets/create/models/block/granite_pillar.json +6eb5e59e803e1055968b90f3099cd0a17a1d3fd5 assets/create/models/block/gray_seat.json +1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json +9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/horizontal_framed_glass.json +d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json +3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json +a5938ddd48109f067a19a90a0f9abab655c18821 assets/create/models/block/horizontal_framed_glass_pane_post.json +41645919ece236df5804a5a73ef682720194de34 assets/create/models/block/horizontal_framed_glass_pane_side.json +8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets/create/models/block/horizontal_framed_glass_pane_side_alt.json +2536b29d5d87ba7da1d0f29c791572f67d1bd951 assets/create/models/block/jungle_window.json +50ad1922e3fcc045c9ea9fc085fdeeb53ab95c7a assets/create/models/block/jungle_window_pane_noside.json +38e4df0859d04d1a2dd4973b530748eb39c9f6c9 assets/create/models/block/jungle_window_pane_noside_alt.json +bf353e0eb2f8906a14bc35edd4ba0c0100ac211c assets/create/models/block/jungle_window_pane_post.json +41db69ebd3815264bba50a842888d436105a5ebf assets/create/models/block/jungle_window_pane_side.json +45ae3d910768519c5490f0c55c986eb0fef0bccd assets/create/models/block/jungle_window_pane_side_alt.json +08db5db16af40320d5d28f68d0c59bea8ca4d181 assets/create/models/block/layered_andesite.json +072766a01b510ab062c22c811577d15a5822b7dc assets/create/models/block/layered_dark_scoria.json +3592d257cf99bb6aa507a0e4a88fd26bca992e8f assets/create/models/block/layered_diorite.json +e9b639cb29051249a9999dd05e09eb820159cd40 assets/create/models/block/layered_dolomite.json +ff78465839cbd36a356cd4153c721c88b1f0b297 assets/create/models/block/layered_gabbro.json +0fe90b060613a824effaeeff6b3d13399681cbf0 assets/create/models/block/layered_granite.json +8f1014b1fdef246c2ce525f33ade4f03c85d0217 assets/create/models/block/layered_limestone.json +9408ce7ba29a96053c9333b15a05d716752392c6 assets/create/models/block/layered_scoria.json +da71aca99ac5cf3731896be47e15d774397a3330 assets/create/models/block/layered_weathered_limestone.json +1a28b07da68d1461cd04c971ae548d94165e0cf3 assets/create/models/block/light_blue_seat.json +292bec1b9f962b17b29147d982a9b177618b7eb9 assets/create/models/block/light_gray_seat.json +31c9474210d8535c5417021fe042d4cc31e17328 assets/create/models/block/lime_seat.json +ce6fb36a386c895486e021823eb008b0fa4862c3 assets/create/models/block/limesand.json +a2cbc86d24fdd70c5f33c8b30ba52a8928dde63f assets/create/models/block/limestone.json +447686a6861773e03c5c18f2de4bc11d06c65f78 assets/create/models/block/limestone_bricks.json +4aa8f22c5c48b20170f7050ad7ecf65d08c1a6fe assets/create/models/block/limestone_bricks_slab.json +7a890ab6513ead1b4d20b023e7a04a4d4d8b8c3d assets/create/models/block/limestone_bricks_slab_top.json +180c37c3ecec8e036a12840b1440c6b9d7b21cef assets/create/models/block/limestone_bricks_stairs.json +a30fc3563f85b189a16cb4b2af6cbb587b33b354 assets/create/models/block/limestone_bricks_stairs_inner.json +cb8d4ba5a0e1372520f55ddd659ed8f944700730 assets/create/models/block/limestone_bricks_stairs_outer.json +bd46a9a9650fc893b0403a4427dace9fc2c0002a assets/create/models/block/limestone_bricks_wall_post.json +774de72109796d55c5548e4194461ce27083a20d assets/create/models/block/limestone_bricks_wall_side.json +59202c99e39fc26497cd7c27b2e5edc9b1310457 assets/create/models/block/limestone_cobblestone.json +fe6a5228bf9ca394b234afd82467efe65544afc2 assets/create/models/block/limestone_cobblestone_slab.json +d1718b257af8f892a6ed28638399a57cc6c3d8dd assets/create/models/block/limestone_cobblestone_slab_top.json +3a15866b7c6df7e035afcc4b32321d8dad07d5f8 assets/create/models/block/limestone_cobblestone_stairs.json +fd0a970c68c7025040bede0a07fef46c9047f611 assets/create/models/block/limestone_cobblestone_stairs_inner.json +abef3f97c28321ded3bafc90918377981038d7b2 assets/create/models/block/limestone_cobblestone_stairs_outer.json +eee8ae85daa99fcd594da3d4af393726af69493b assets/create/models/block/limestone_cobblestone_wall_post.json +0effd13c1ff224f4c2d7017c6505f48d31815934 assets/create/models/block/limestone_cobblestone_wall_side.json +7336e008b3af80e054c9f15be381b7fe307e97d4 assets/create/models/block/limestone_pillar.json +20432687c62402a4bc0f2415113e7470231cdf03 assets/create/models/block/linear_chassis.json +595bfec2293c44deae49147016cb7971bdd721df assets/create/models/block/linear_chassis_bottom.json +999ce855842170f47db9d1e8e8636c24f7d3ad3d assets/create/models/block/linear_chassis_top.json +b9abbd1dcf71e0a1416fd998a82a560c06cef5a3 assets/create/models/block/linear_chassis_top_bottom.json +cbee001cd1bb1125a97d1bb2d1e6e5a68f129303 assets/create/models/block/magenta_seat.json +0492070642fda75b943080022368505f2d065730 assets/create/models/block/mechanical_bearing.json +edf6ee4e590ebf162c00aa952d992f1bee2cad8a assets/create/models/block/mossy_andesite.json +55256e4df0038a619d80d3e6c50b0f3e3682e90a assets/create/models/block/mossy_dark_scoria.json +7b9609eaf8933de6db1a7114fd6631e7d9a16dd1 assets/create/models/block/mossy_diorite.json +a1846ec94662f06862efdc3f416be07039650d0f assets/create/models/block/mossy_dolomite.json +bc7302226ceac41eea2b857e4c49c00d307f682c assets/create/models/block/mossy_gabbro.json +f2f7cda5de21279ff8e359142c523e07a3377477 assets/create/models/block/mossy_granite.json +de9b0f933881cc735ae0acf2bd71e6eafa732ff8 assets/create/models/block/mossy_limestone.json +f88a9558a20033d4955e7b6de4f8aa23b1a11b9f assets/create/models/block/mossy_scoria.json +8c3296378aa7e5dc1bc7dfdde2f0a436b8bb8b78 assets/create/models/block/mossy_weathered_limestone.json +24cbd7e60a7769a8fc9f530978ef7094ae65a9eb assets/create/models/block/natural_scoria.json +269ec2c32ba22a216b1c6831e6284ef98e78ee75 assets/create/models/block/oak_window.json +f324403f578d724c118055ca04e6bec23607ea90 assets/create/models/block/oak_window_pane_noside.json +e55363147cc27fba84590c7e24460603988118e3 assets/create/models/block/oak_window_pane_noside_alt.json +88883e266828422f86ec71db455a41f0279926fd assets/create/models/block/oak_window_pane_post.json +aa12818d00d1995e5b8a218cb613215ec0161d23 assets/create/models/block/oak_window_pane_side.json +488dfd3f4bd82ab1b5b751b4a46881befb8d6819 assets/create/models/block/oak_window_pane_side_alt.json +fda0628a09ef726e3e8323b2f38b6a3e612dc2ca assets/create/models/block/orange_seat.json +006115bf8e36367c0c409effdeab939a54c20776 assets/create/models/block/ornate_iron_window.json +cc9614e892b12c6053d45a35d534eddf36285cf1 assets/create/models/block/ornate_iron_window_pane_noside.json +6b935d54de7c37f835df48f7b6e5e614a0d12b6e assets/create/models/block/ornate_iron_window_pane_noside_alt.json +19942331411716035d79adabe6d2daadd6025e90 assets/create/models/block/ornate_iron_window_pane_post.json +f400ef18ae2860f52dafaf4fe869146ae87b7ed4 assets/create/models/block/ornate_iron_window_pane_side.json +fddc53d6ead0d834e964e6a0d5b4e3cf2ea2d48b assets/create/models/block/ornate_iron_window_pane_side_alt.json +c5aa882a2f971d5b0c359a2e5fc601192a4b9403 assets/create/models/block/overgrown_andesite.json +46b88c9c94c14de4ceec82dfa6fa3390781e096d assets/create/models/block/overgrown_dark_scoria.json +ca08c15006d65701d72bb88852df884236822522 assets/create/models/block/overgrown_diorite.json +86dc3aaec9ff33d80fa13728ffa160517d5f19ad assets/create/models/block/overgrown_dolomite.json +09cca6819f93b5a941b8de002fd9eec647230ede assets/create/models/block/overgrown_gabbro.json +558b2a0d44d745ae80d4e3a099cc4d457ba786e6 assets/create/models/block/overgrown_granite.json +3368bbdf335c81b9e84adc30afeab9261256279c assets/create/models/block/overgrown_limestone.json +c21c58e982ec0eb1c88948ac53b570b26bf1c9bc assets/create/models/block/overgrown_scoria.json +6d7842c5c0f58a3cb3150e54bee2b51e7138df45 assets/create/models/block/overgrown_weathered_limestone.json +e151c82942df13d7f4296b6b717b12036c4c47fe assets/create/models/block/oxidized/copper_block_0.json +35cb12fe13b6f39d2baad9b5a1638b6c5b364513 assets/create/models/block/oxidized/copper_block_1.json +a7ea046b36c810816dd749727fcc3f1008807c4c assets/create/models/block/oxidized/copper_block_2.json +e06ed91723927def43bd21d9b26230c07e80151b assets/create/models/block/oxidized/copper_block_3.json +45dc4f29c527b614ce3b12706342233a6de82fa4 assets/create/models/block/oxidized/copper_block_4.json +3890ed69f41efe49233c063c572c6bfb8319e37b assets/create/models/block/oxidized/copper_block_5.json +6b681b9829a2493ee5312d4021e9302cb23d7e28 assets/create/models/block/oxidized/copper_block_6.json +b1ed190a331ba21ffeba378e9526364874a22a9d assets/create/models/block/oxidized/copper_block_7.json +375323c5dfaf643cdce4792e2c86ed6033d43412 assets/create/models/block/oxidized/copper_ore_0.json +e5be33b30e6e83ea1cfdf09201fde1255b0f7a11 assets/create/models/block/oxidized/copper_ore_1.json +cf9ab024daedfaab9e4f3f35cb788e259c3616a4 assets/create/models/block/oxidized/copper_ore_2.json +8f24fce14e52cc4082bf292c9ca8043c98023e0a assets/create/models/block/oxidized/copper_ore_3.json +db2990e91a12fd5c5a039b724da9377bb2a861a2 assets/create/models/block/oxidized/copper_ore_4.json +ffc37d15dde98e7e03d189f55fca33ac203bd1e0 assets/create/models/block/oxidized/copper_ore_5.json +4bfbc1352c961f6beeb35ca44bdc8f4084e7edc0 assets/create/models/block/oxidized/copper_ore_6.json +90daa6f691b18a078eab36a21c0a2d6fadfe20c3 assets/create/models/block/oxidized/copper_ore_7.json +2a88da386c48ff915c9a7fb6b1d96bde796020bb assets/create/models/block/oxidized/copper_shingles_0.json +79c45f98817de41f23e2a6a2a2197fdaf3e8ee8b assets/create/models/block/oxidized/copper_shingles_1.json +0085be85c60675694cfc97d39eb595327c953d02 assets/create/models/block/oxidized/copper_shingles_2.json +b4987ed1fbd44719e59cf911d606b964d51a734c assets/create/models/block/oxidized/copper_shingles_3.json +33d060556bd43b1b51f9a990fc802b204f07ceeb assets/create/models/block/oxidized/copper_shingles_4.json +c9f722cd27fb18239f796eb1fa11a73e5339005a assets/create/models/block/oxidized/copper_shingles_5.json +4df00795cde9497a0910584c6a53b62bfb18fef1 assets/create/models/block/oxidized/copper_shingles_6.json +712f8b01330a1aeff2efce5ac1ec2fdd84b622c7 assets/create/models/block/oxidized/copper_shingles_7.json +081d87f990e01211789e9d0dc43acfceb6982aaa assets/create/models/block/paved_andesite.json +30b9aafb43ecfffcbffdf0aa19b5243e38065ff4 assets/create/models/block/paved_andesite_covered.json +ab78afb3c487976c2dc5dcefa12153fd4a064ca8 assets/create/models/block/paved_andesite_slab.json +7883fa378c843ad87593798e8129eb82f6f2e034 assets/create/models/block/paved_andesite_slab_top.json +d2d8c145ee2ae181370d53224d23df7ec2f3a1c1 assets/create/models/block/paved_andesite_stairs.json +7481fc2f5a2b3ee2259b410da2c1f35e9bc0dff8 assets/create/models/block/paved_andesite_stairs_inner.json +1226bf0720fa814125f7718ec5f2216b36e75b81 assets/create/models/block/paved_andesite_stairs_outer.json +8856b9a15c3239be81cd49a25495367eb755bb9c assets/create/models/block/paved_andesite_wall_post.json +c5814ebc7106b7d729f444f782cc03b91ebdf66d assets/create/models/block/paved_andesite_wall_side.json +bee20297f99cb4377b9c478c86db0c10fd59fddc assets/create/models/block/paved_dark_scoria.json +40a4bc726fa798d6c969dcb0fd8a04941c0e18ff assets/create/models/block/paved_dark_scoria_covered.json +c7bcf573bc82403bb84ac8df63bec1c445cd8e30 assets/create/models/block/paved_dark_scoria_slab.json +9f66f54331e40df74c6b63987d6183aca11695d3 assets/create/models/block/paved_dark_scoria_slab_top.json +5fa06fd6002ec820528623d47ffb67d3c7ac71d9 assets/create/models/block/paved_dark_scoria_stairs.json +313a75f8469ed545da798ad922b55188af1f152b assets/create/models/block/paved_dark_scoria_stairs_inner.json +f86a35c6f20a4582311677bd4ed515cfc52f6719 assets/create/models/block/paved_dark_scoria_stairs_outer.json +f4e0b3486f97dfca7dc0508d807afe037d79a40a assets/create/models/block/paved_dark_scoria_wall_post.json +a5201829b4ec5ff4f940c1b8d903f6766cb62f46 assets/create/models/block/paved_dark_scoria_wall_side.json +ed010fd12474e33023399848eaa2560e67fb1786 assets/create/models/block/paved_diorite.json +9f0f979d9e15a87a909cc7ee523c9efa2fee188f assets/create/models/block/paved_diorite_covered.json +4dc52f0705c0d3add4abf4273d1021cf907c5f10 assets/create/models/block/paved_diorite_slab.json +98556b2a6bab79bd34464c5b54b832ae716dccb0 assets/create/models/block/paved_diorite_slab_top.json +b745c52b431c44683ef6f6eb35d29a795323ac71 assets/create/models/block/paved_diorite_stairs.json +4a45dccbf43ffd8a3e6d2afb41156e24bf69c262 assets/create/models/block/paved_diorite_stairs_inner.json +b06dabc15eca7c4d8e41eb784de259a2fb0b32b1 assets/create/models/block/paved_diorite_stairs_outer.json +e3349e5f33144dca393a08fe573b499917a6491b assets/create/models/block/paved_diorite_wall_post.json +727dfa282f0f9c9f462243c6b85edd3b964982d5 assets/create/models/block/paved_diorite_wall_side.json +af2c89fcdaa2e414ca309e3cee25fe316f976269 assets/create/models/block/paved_dolomite.json +2c907a7d85c6f078fd8c7cab25d7fa0fce95cbb8 assets/create/models/block/paved_dolomite_covered.json +cd87ae72be668bf69f61b83ca0e8579963556d69 assets/create/models/block/paved_dolomite_slab.json +a2e38092ec694840be0cd5d0dd632586668166da assets/create/models/block/paved_dolomite_slab_top.json +1257a4336e687c8a8ae083d7277be594d392df49 assets/create/models/block/paved_dolomite_stairs.json +876d6a25ac6bd8a69b3a302ccd9f5db6de20855f assets/create/models/block/paved_dolomite_stairs_inner.json +f352f5468190893ccf05f77fc93c312c1bee75b2 assets/create/models/block/paved_dolomite_stairs_outer.json +0b280906a41d046dd4340f6cfcf9439abbefa388 assets/create/models/block/paved_dolomite_wall_post.json +7dd9db1faa5075f4c024a7150bbaa36aa206a004 assets/create/models/block/paved_dolomite_wall_side.json +bf650bbe4a716461ee6629d55a80e4fdbf186e7d assets/create/models/block/paved_gabbro.json +3b61df4ad67c9dcc732b1af9efa11ae6fe82c8f0 assets/create/models/block/paved_gabbro_covered.json +386cfdccfc679e32a4ef3c298a5b17f079b7f40d assets/create/models/block/paved_gabbro_slab.json +01d58ff2bb85cc74163aa4c6e528ebd5529342a6 assets/create/models/block/paved_gabbro_slab_top.json +52a5f96e46d53261097a4e190510b64f9f2a4f97 assets/create/models/block/paved_gabbro_stairs.json +97101aeefced27810dd89adc753b1a3e9526f3b6 assets/create/models/block/paved_gabbro_stairs_inner.json +648982e8e37f75b4146096dc04e2ce46c69f25dc assets/create/models/block/paved_gabbro_stairs_outer.json +405bf0ad098f7e525b0b46b2e0810a45ec3f22f2 assets/create/models/block/paved_gabbro_wall_post.json +2b03c0f5fa9ff9b5a18fb64eb1963ee49a585236 assets/create/models/block/paved_gabbro_wall_side.json +737ddffd50beb12e64fc651abf6b39eef15678b8 assets/create/models/block/paved_granite.json +6520e67aedc7f09ae1e0ccf249421dbbbc01c410 assets/create/models/block/paved_granite_covered.json +cf9afa3923d1dd6f9082ea2579c671663cb12aa2 assets/create/models/block/paved_granite_slab.json +981101ec1847e17bd7115580995059fcdbb0a39a assets/create/models/block/paved_granite_slab_top.json +a56941299579280b1ac970802b15b91d0f2af60f assets/create/models/block/paved_granite_stairs.json +9f98d88d6194a740afe26fab7b510ad0ba7b612a assets/create/models/block/paved_granite_stairs_inner.json +b1d2b9eaef07034c619ff897d22440a8e3f30624 assets/create/models/block/paved_granite_stairs_outer.json +d5190b5ebfd581f66a63f7c8af191e484851fb25 assets/create/models/block/paved_granite_wall_post.json +1313a39aac0091a92ebdcd67efa5682b0fa8b6c2 assets/create/models/block/paved_granite_wall_side.json +5caa126fbc2aa3e970c04a93b369e43dbe75ba4e assets/create/models/block/paved_limestone.json +598dab6d11f56cce1d98c46855ccde3f8c3a40db assets/create/models/block/paved_limestone_covered.json +40b0930304bfbed399e0fe4a46d6d4ee23015060 assets/create/models/block/paved_limestone_slab.json +7234c2cc3f40224fa881e7347ab72b154e102bb8 assets/create/models/block/paved_limestone_slab_top.json +7b30942c7e504f0d4656a81bcc11eaa83eddbebb assets/create/models/block/paved_limestone_stairs.json +ff51dfa74e7c3f7c7f6c05ccafc39333b6c1e1ad assets/create/models/block/paved_limestone_stairs_inner.json +9e70c6f40945e723ebe1525bfe317c221a1493e6 assets/create/models/block/paved_limestone_stairs_outer.json +0711327be8ecf3dff399a22f10ed4962c311fc9d assets/create/models/block/paved_limestone_wall_post.json +7bf11f179347567575bd839b6df5982c54309a47 assets/create/models/block/paved_limestone_wall_side.json +df6fdefa2a2bdd6ab737244234c907f88cf38070 assets/create/models/block/paved_scoria.json +3041e4b37080bb6ed2ccaa4e7727791bdac14394 assets/create/models/block/paved_scoria_covered.json +c2034068ee2c9a9dfa7d7070df8742891a599576 assets/create/models/block/paved_scoria_slab.json +5d6f360d60157b54c9f676a71390ea5bec4ba1a7 assets/create/models/block/paved_scoria_slab_top.json +ac2017f2746b34b173eef62cf60586d4a3dacbc3 assets/create/models/block/paved_scoria_stairs.json +a07f07b9e03f07fa4681b291191a9c15527f956c assets/create/models/block/paved_scoria_stairs_inner.json +cd54fcdacb9a762bba771ddcfe6d4bd824495e7b assets/create/models/block/paved_scoria_stairs_outer.json +c495e4fee97b022fd1f3c97ff51543c79bab1cab assets/create/models/block/paved_scoria_wall_post.json +7524fedd7bf1283eb2ee2747af8031a2cade5f97 assets/create/models/block/paved_scoria_wall_side.json +651289c401a89ee5a1a21497153067e7e46918cb assets/create/models/block/paved_weathered_limestone.json +afe2c1f8a14119f3746e741214fd0438bf0ed26a assets/create/models/block/paved_weathered_limestone_covered.json +f09a45d1d83aad870018f779472510a9d6201a4b assets/create/models/block/paved_weathered_limestone_slab.json +a36fff1ba5d2b5e40468c106902e083b41a0d20d assets/create/models/block/paved_weathered_limestone_slab_top.json +cc36e21013b80b1dfa041b55047096db127ffa51 assets/create/models/block/paved_weathered_limestone_stairs.json +8589358359ef3a2fbe054ca61da13c4042e2f431 assets/create/models/block/paved_weathered_limestone_stairs_inner.json +743fc37d4c96834f9bd0697ad7990c721436b901 assets/create/models/block/paved_weathered_limestone_stairs_outer.json +34ba32e570e0a54501db071b9f8c38513edea93d assets/create/models/block/paved_weathered_limestone_wall_post.json +daf65510d95730bcf0373d746f2a2dbfe6b44fc0 assets/create/models/block/paved_weathered_limestone_wall_side.json +ecc60ce7ee6b753073a99c597db95d6d9df3d438 assets/create/models/block/pink_seat.json +83a4922d5799a5a1391a2675e9273caa24cde192 assets/create/models/block/polished_dark_scoria.json +3fcab24848791fcd591bf4a2a73147c3391e24b8 assets/create/models/block/polished_dark_scoria_slab.json +7c1b4b3b22c711224a54d55d7c49429c4238d5a7 assets/create/models/block/polished_dark_scoria_slab_double.json +3ea396a641bb21c15badaff996be3bca3076f73d assets/create/models/block/polished_dark_scoria_slab_top.json +9bbd768f40e839ac73f58f8cb5d53ae01c3fdf70 assets/create/models/block/polished_dark_scoria_stairs.json +9d1d2165a7c802518add0defccf6ae97e2d3b3d1 assets/create/models/block/polished_dark_scoria_stairs_inner.json +7b4401d6edb395052d409605a9d475e6345bd001 assets/create/models/block/polished_dark_scoria_stairs_outer.json +bc8ee0c03f6894b38bfa778fe5874d46fc2b6931 assets/create/models/block/polished_dark_scoria_wall_post.json +e2ba5f686d9bd400073073d40f571e7f780f60e9 assets/create/models/block/polished_dark_scoria_wall_side.json +3467c7239bcd6122ce8636f249e29f04dc3bec21 assets/create/models/block/polished_dolomite.json +69307691e26a042a769d9d9d223707083e42efab assets/create/models/block/polished_dolomite_slab.json +b6dadea740a2dec5edd6322994102d5014886d6f assets/create/models/block/polished_dolomite_slab_double.json +1085bcf23b13a587d620cce624546fa287104526 assets/create/models/block/polished_dolomite_slab_top.json +640ad613dce98a4fb37bf1c896fc12bf44762a8b assets/create/models/block/polished_dolomite_stairs.json +2d14ccf702b3d0074d12c04f84cea8a61d122ea3 assets/create/models/block/polished_dolomite_stairs_inner.json +0590c2b945abb66adb859cc85ebe22092f262180 assets/create/models/block/polished_dolomite_stairs_outer.json +298fa4cafd59612cac9cf9f2e8fe20228c02d28d assets/create/models/block/polished_dolomite_wall_post.json +7c52b561d00133ef0ed81036ad5552fbbe10285b assets/create/models/block/polished_dolomite_wall_side.json +ab65a7a8f0c12a441c8653043c59385b834ef71e assets/create/models/block/polished_gabbro.json +2931c767a92c642c7c0d296e38af8f08217263da assets/create/models/block/polished_gabbro_slab.json +f50506b204f2245893df223c86a9245af5ee7cc4 assets/create/models/block/polished_gabbro_slab_double.json +052969eeefba6fd97feb520bcfda97c994dad91d assets/create/models/block/polished_gabbro_slab_top.json +353ab3fa0c2250bff91efd7827f12af5d89f8ad9 assets/create/models/block/polished_gabbro_stairs.json +4c7796d26f3d0bda10244c3243d3e11691a90083 assets/create/models/block/polished_gabbro_stairs_inner.json +fa9f24ab6291189812c5697323c7b66bc960b23a assets/create/models/block/polished_gabbro_stairs_outer.json +bce13297eea7998073f998dffb5dfbd858f3c4ab assets/create/models/block/polished_gabbro_wall_post.json +04b2e4985401f484dfcd226ecb332247773b2f8a assets/create/models/block/polished_gabbro_wall_side.json +77cc6a327584ca4cef6ec3bab9eb1df1053a3fac assets/create/models/block/polished_limestone.json +78b4bc45cb2a89f07d7d012859aae4a995788ec4 assets/create/models/block/polished_limestone_slab.json +d4d74fcd6d6cb63d44392796bd7d8818dd117b57 assets/create/models/block/polished_limestone_slab_double.json +f1204df2a6e31679375045ea57cd07dff1d783ca assets/create/models/block/polished_limestone_slab_top.json +378038e958728919a2239eb0dd65ca5d72112b7f assets/create/models/block/polished_limestone_stairs.json +270091da3f63a2fb2af45ec0cc9200ecb45f5844 assets/create/models/block/polished_limestone_stairs_inner.json +4a7764d8e3aca090ccf34ab53b49941addd30523 assets/create/models/block/polished_limestone_stairs_outer.json +58620d0d6ac6bf70c5cf89951f6de84cf033ad7f assets/create/models/block/polished_limestone_wall_post.json +50b1a7510912db50bca9df368a7f1aade846cee8 assets/create/models/block/polished_limestone_wall_side.json +714126588c571fb7e56eab01b0a638de20f45270 assets/create/models/block/polished_scoria.json +d45780fed06163c231393bfff4ccd70a99e6ff4c assets/create/models/block/polished_scoria_slab.json +f7b96f804379f377038d07af4f1fbf6890ba7f7a assets/create/models/block/polished_scoria_slab_double.json +73d5e1cd975a506f2b07139d0506d5fa1021af75 assets/create/models/block/polished_scoria_slab_top.json +4eb1e9b1235141a2a1c529ca09a3353ee4be5cf8 assets/create/models/block/polished_scoria_stairs.json +0316333eddde04727d7def7c5b7555df6a4a8900 assets/create/models/block/polished_scoria_stairs_inner.json +e4e00e01fa479c6fc9aa450a2e7999ce94504987 assets/create/models/block/polished_scoria_stairs_outer.json +1b9e41ac5b2a89557613c2c8c2cd2c8abcf11af0 assets/create/models/block/polished_scoria_wall_post.json +46227ab60086f0978ba12b8c071b295060e775c2 assets/create/models/block/polished_scoria_wall_side.json +0975a5158ea64238f78c7db8e2a1ddbb4c49d9e6 assets/create/models/block/polished_weathered_limestone.json +8fdfd28ea7b9053b956a93c09d90129ba94baab9 assets/create/models/block/polished_weathered_limestone_slab.json +9243b6fa9210da0fed582b802d0ffc2e1923789a assets/create/models/block/polished_weathered_limestone_slab_double.json +9f3ff426e79bb446a3e913cb7fca0056bed57f0f assets/create/models/block/polished_weathered_limestone_slab_top.json +39bd43b67badad90e1377142facec0ef3e3cbbbb assets/create/models/block/polished_weathered_limestone_stairs.json +1eedeb1b66b7c48c848c66d3ed2d99f4d9e58966 assets/create/models/block/polished_weathered_limestone_stairs_inner.json +97c066d14c3ee37ce4f580d25d3c29ac94a6adf4 assets/create/models/block/polished_weathered_limestone_stairs_outer.json +6d690b231f60496f9b3103e71adda09f8e649158 assets/create/models/block/polished_weathered_limestone_wall_post.json +ba4e86079668f2c03070c99b8d8ef642b60fd634 assets/create/models/block/polished_weathered_limestone_wall_side.json +1c5e97ce8e5b3f5b320873120a4f3084915c0af7 assets/create/models/block/powered_latch.json +3e414b053b973729577a61bb1d73b9a2c2eb56a4 assets/create/models/block/powered_latch_powered.json +f22d7d8263dcabd726aa04784031ae9062633579 assets/create/models/block/powered_toggle_latch_off_powered.json +e6097d9ab9dc9954cbc750020bc33c7a423b73c6 assets/create/models/block/powered_toggle_latch_on_powered.json +622239a3a09fcac7235b9670eb395a530839a59b assets/create/models/block/pulse_repeater_powered.json +0102e253c941904f12de7acdd46b0079ee3ccf69 assets/create/models/block/pulse_repeater_pulsing.json +96adc7865ebe64b43865bc2fe914830c11258856 assets/create/models/block/purple_seat.json +27d64a828607f94296c0b86cdb35fad996bc5d23 assets/create/models/block/radial_chassis_side_x.json +7d1439a0b06e4014e396d498a9e42168f67773a5 assets/create/models/block/radial_chassis_side_x_sticky.json +a9885a3f69e3e2a2812c33bafd9140fcc5cc7c25 assets/create/models/block/radial_chassis_side_y.json +92a48c22cf2af0a3156844322f6bb469883608fb assets/create/models/block/radial_chassis_side_y_sticky.json +522f4733118d6fba172696e9478c8f9fe88b236e assets/create/models/block/radial_chassis_side_z.json +bffca231a146a6ac49e028f3790cdcbf375e98b0 assets/create/models/block/radial_chassis_side_z_sticky.json +12d4f4119b994c5d71c96ab3aa09beb89dad1e10 assets/create/models/block/red_seat.json +c145d8e0d7f8f41afa80b9727a107b2ad2f0c3c9 assets/create/models/block/scoria.json +59c6f6a4ffe43485244a8561d7e8341f796e268b assets/create/models/block/scoria_bricks.json +d86ca38a0c1bac89e545916c59f23f6f0c9f7d7a assets/create/models/block/scoria_bricks_slab.json +ac0731b633bf1d1af38fcb6b5c17dea405a017c8 assets/create/models/block/scoria_bricks_slab_top.json +aefdd0cf03f7b07ecbd20aa9743d8b0c1ac01c7b assets/create/models/block/scoria_bricks_stairs.json +fd93d2aa5e2e1646ddf12c3ca8c011eb0791653d assets/create/models/block/scoria_bricks_stairs_inner.json +54e43e6e17dd9df3696005cfb803fc20d403c1ae assets/create/models/block/scoria_bricks_stairs_outer.json +6e01226f5586ff2885b001a020386dcd9da4cea5 assets/create/models/block/scoria_bricks_wall_post.json +eb72b9a4daf4a045a7583d8187107edbad9d7856 assets/create/models/block/scoria_bricks_wall_side.json +a5feba461b74c57a9583ef855b779142a618a844 assets/create/models/block/scoria_cobblestone.json +b5de7b127d49a69ae57e4be6fa6a0299d9df357b assets/create/models/block/scoria_cobblestone_slab.json +7e5a50dbafa8f3b8e285fa6efb995ad234377242 assets/create/models/block/scoria_cobblestone_slab_top.json +0da9d63d95f0cc05e764c0db65dc9f05d9f6b803 assets/create/models/block/scoria_cobblestone_stairs.json +6fb83d3bfb13d62822fbab12bb991e7fc595c8ad assets/create/models/block/scoria_cobblestone_stairs_inner.json +de66b504054f37eca6e5eeee6245fb8f9db2e1bf assets/create/models/block/scoria_cobblestone_stairs_outer.json +34aa3f34fce851ac6f87be0c276e074dacd9bbf4 assets/create/models/block/scoria_cobblestone_wall_post.json +43cd43cc26ba06f953c52c3fb67841141a99da6e assets/create/models/block/scoria_cobblestone_wall_side.json +0e70dc21ac625a0796ded99c734087c97fa5966b assets/create/models/block/scoria_pillar.json +74cd7c13043f6a5c680a7c73ed46a44a7507b8bf assets/create/models/block/secondary_linear_chassis.json +fbe57e52b0234c2c379d82d6cc425d6ce9492454 assets/create/models/block/secondary_linear_chassis_bottom.json +e439d642f3c2049dce444b7b4bea8532eb22699c assets/create/models/block/secondary_linear_chassis_top.json +5fc7d8839c6de9363d22fd22be7f440aab853121 assets/create/models/block/secondary_linear_chassis_top_bottom.json +3fc9a7ae552095d0f45f8e632e2bf04d1378946f assets/create/models/block/spruce_window.json +f39904a8a73a25e440d6a35fad931f8ce7ef165e assets/create/models/block/spruce_window_pane_noside.json +7446e12a5ba91c008b17fd70484468caa36500b9 assets/create/models/block/spruce_window_pane_noside_alt.json +f15dfc9e4e6b991ee9fe10e8af3d9c98cb3d7e47 assets/create/models/block/spruce_window_pane_post.json +0e8be4d143d1fd8300c00ce709139a0e577cdec3 assets/create/models/block/spruce_window_pane_side.json +aea7061aed39bc8c9ab51c8d7d0d86b11fc9e6b4 assets/create/models/block/spruce_window_pane_side_alt.json +3bda065e24a71b82b92b9c805790ba6d1791ef6a assets/create/models/block/stockpile_switch_0.json +335d6bc2b19d3cdbc9ed8b344142e2e3aa397994 assets/create/models/block/stockpile_switch_1.json +655d5cd249291a550bb3508c97f5a7a3606a7848 assets/create/models/block/stockpile_switch_2.json +cd8242a881e78831f6573c1fef99f9941ecf6ef7 assets/create/models/block/stockpile_switch_3.json +ad1950ba333cb2095c0dba5c0c020517acbfeb28 assets/create/models/block/stockpile_switch_4.json +ba22751c2d11fbe0ee03d90d408250edb4148080 assets/create/models/block/stockpile_switch_5.json +d6a49bf3c26ab83de70190db5f8a9c6dca85df52 assets/create/models/block/stockpile_switch_6.json +43d5aec0654274af2202374a77aab0e74ea7182c assets/create/models/block/tiled_glass.json +57ba644714ec486df776d75692b1793b2bda25db assets/create/models/block/tiled_glass_pane_noside.json +886fa013d1fd3bdefbc1aadf0b62e2777ceff4c9 assets/create/models/block/tiled_glass_pane_noside_alt.json +3d293702831960ba6d924753d1fd35de71256c13 assets/create/models/block/tiled_glass_pane_post.json +efed7cdc64a732129964e8f8a9a20ff015f7d287 assets/create/models/block/tiled_glass_pane_side.json +1384613ed9e7f9cd737190703d932466a7143f35 assets/create/models/block/tiled_glass_pane_side_alt.json +9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/vertical_framed_glass.json +d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/vertical_framed_glass_pane_noside.json +3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/vertical_framed_glass_pane_noside_alt.json +a5938ddd48109f067a19a90a0f9abab655c18821 assets/create/models/block/vertical_framed_glass_pane_post.json +41645919ece236df5804a5a73ef682720194de34 assets/create/models/block/vertical_framed_glass_pane_side.json +8bc0abaabdc62d0c27730dba7eb6da54607b7e96 assets/create/models/block/vertical_framed_glass_pane_side_alt.json +9ad34714c6be52f9277d888b6901e903ddc3f98e assets/create/models/block/weathered_limestone.json +9b4705c62bc8326ca9e53635de5f84c60085fa23 assets/create/models/block/weathered_limestone_bricks.json +732dd7554fe2c7ad4b0cdbc49d9d10de0da91a06 assets/create/models/block/weathered_limestone_bricks_slab.json +f7896fc9d052a29e16b4f4785455bfc276e24732 assets/create/models/block/weathered_limestone_bricks_slab_top.json +334bdfb69c00847f18b5252b310d4bcbe044b3a4 assets/create/models/block/weathered_limestone_bricks_stairs.json +86bc436e8a38db2c152a1f6cc2711de921283f00 assets/create/models/block/weathered_limestone_bricks_stairs_inner.json +e56eb7d2613b0c17cfbf09deba83334741f62812 assets/create/models/block/weathered_limestone_bricks_stairs_outer.json +30eefefe463c64e1b4c185046be157a29e848880 assets/create/models/block/weathered_limestone_bricks_wall_post.json +d6166f98b0260a4abe5b78d207636d061dfd7109 assets/create/models/block/weathered_limestone_bricks_wall_side.json +3edd6331b30b8db34a147ad4a47164359ce6c0d7 assets/create/models/block/weathered_limestone_cobblestone.json +4c6e4f8d29f62e460f38c69ba98d53383a2cbb91 assets/create/models/block/weathered_limestone_cobblestone_slab.json +273c2b0ac70eceea9d29e82d30318c2251f638a8 assets/create/models/block/weathered_limestone_cobblestone_slab_top.json +e75cd38014f3d96fa164e11a526d5dd74851763f assets/create/models/block/weathered_limestone_cobblestone_stairs.json +714c8065714e13b3b19d1411d8fefebc13dfd0fa assets/create/models/block/weathered_limestone_cobblestone_stairs_inner.json +eb838d687f7a925f5b91c4784bfbf33070515e31 assets/create/models/block/weathered_limestone_cobblestone_stairs_outer.json +7b70d26bf88ccc3bb0657e00c6ca50b7149d3643 assets/create/models/block/weathered_limestone_cobblestone_wall_post.json +5a866d7cca51056c15a5f51e171d89598426fade assets/create/models/block/weathered_limestone_cobblestone_wall_side.json +a5b04a1a35735713f51dcd5a80d9e582e6575bbc assets/create/models/block/weathered_limestone_pillar.json +1377e12f56dce1466ce44078d7154870c5cf7b2a assets/create/models/block/white_seat.json +0a0e2cc973e35586ae00ed17b919383868e992e8 assets/create/models/block/yellow_seat.json +c94c60d1d77404af7d74a29a094c7bdf7501b385 assets/create/models/block/zinc_block.json +a3ff06384fff574ac4cd6c253259f0734b025cab assets/create/models/block/zinc_ore.json +67ef6fd6ec26fc216fa5319b8538beb223da1530 assets/create/models/item/acacia_window.json +cbc0ebadda4497663437f99622914de678d0ffaf assets/create/models/item/acacia_window_pane.json +06d8b6e8f050b8ec0bef88b7633f3741baad4571 assets/create/models/item/adjustable_crate.json +10aba4b84af792048d27d3befb42d44b523b5f7d assets/create/models/item/adjustable_pulley.json +96fcec285c0c26a8cb55e126f8c7053c70ad188b assets/create/models/item/adjustable_pulse_repeater.json +30292e874dd36e45eaeebb8d0bb8c4867866a38b assets/create/models/item/adjustable_repeater.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 +851090d21c6e6c67444324d975c6b3270eaf4ff2 assets/create/models/item/andesite_bricks_slab.json +d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bricks_stairs.json +3954907be88f0b6713cec8dcfe0ff665ce33bbd4 assets/create/models/item/andesite_bricks_wall.json +174c9705d25f149052835fdcf7c85626afead90b assets/create/models/item/andesite_casing.json +1fd20e35848e47483f4f3e3ca3376b0519178952 assets/create/models/item/andesite_cobblestone.json +1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json +b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json +4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json +0a9f5f6d552813029474dbbfa31e8443ed91adcd assets/create/models/item/andesite_funnel.json +75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json +c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json +bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets/create/models/item/basin.json +1da382e7e58eaa9788f5b1d92221ccac573e068f assets/create/models/item/belt_connector.json +695a69d5854e2eb134b55d855bd2b7b18808a01d assets/create/models/item/belt_observer.json +9044243882cfd49a2827e1b910a4c9b0e46daa47 assets/create/models/item/birch_window.json +6ed49f59ea91068ef68720f43e67a9237594bdf0 assets/create/models/item/birch_window_pane.json +22632bd681c8a605f0845f7549770389a741156a assets/create/models/item/black_seat.json +fa2761dc44857eb840a94df869de66a91988f0da assets/create/models/item/blaze_heater.json +0e1977585128fc0ecef640f72e5fc5e9fb47ef92 assets/create/models/item/blue_seat.json +17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json +f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json +ab045c951352806c3f632dda7b71573f93f60ac4 assets/create/models/item/brass_funnel.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 +427bef12405e2a99fbf49e27ea5944add244252a assets/create/models/item/brass_tunnel.json +24df6f8391d8ba09cef46e69d65d32ea770745cd assets/create/models/item/brown_seat.json +3e232a103f7f916fc11edb4d541ca99fe7b44181 assets/create/models/item/cart_assembler.json +99d64b76b3baa84c3bd4b96ccd3376ca12425950 assets/create/models/item/chiseled_dark_scoria.json +83d3571eacde52568786802b268f24c6578c1e5d assets/create/models/item/chiseled_dolomite.json +afd697168c9786eb80e54eccdc6a23afa6c7fb0e assets/create/models/item/chiseled_gabbro.json +0cb1692f6cdd007ac690fd1f0222dde3429d136f assets/create/models/item/chiseled_limestone.json +a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json +70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json +fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json +b1531a7bd3f7f27b9587d13e818a93dc2d088bc8 assets/create/models/item/clockwork_bearing.json +0a2a0f0aafeab0088172f77afd40c1fa2cc1f2b8 assets/create/models/item/clutch.json +dcb09deae110077bcddf090996b51cc66e9a7de3 assets/create/models/item/cogwheel.json +965a90a882d85dba93b30af9bce7ecf8e68ce747 assets/create/models/item/copper_block.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 +200ef8378a9c014571c414433d4aef73a204dc01 assets/create/models/item/copper_sheet.json +d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets/create/models/item/copper_shingles.json +4e9126b349d55c65aa5407f05700579e52101c1f assets/create/models/item/crafter_slot_cover.json +7b333dea353afaa27b182aedc647c9e9e34e92ef assets/create/models/item/creative_crate.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 +dae5cffa4e1263d6a113469f79fba8695fa8232a assets/create/models/item/cuckoo_clock.json +3e3edc9ccded444496d3336926b93bbf1234cd84 assets/create/models/item/cyan_seat.json +f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets/create/models/item/dark_oak_window.json +e3e9ebbc694edad1f473e5c3a897d95cc87528ae assets/create/models/item/dark_oak_window_pane.json +f0e98871e4bb68c29954f2de24566a6404f21d9c assets/create/models/item/dark_scoria.json +411a6c77ec3c80b3d9134f6595d1996439c7af27 assets/create/models/item/dark_scoria_bricks.json +d59c7b08b4b246c9795e579ae1f0a4cdfbcea4be assets/create/models/item/dark_scoria_bricks_slab.json +b50e3471476783be80f28bb4e3543f5a426b9eb6 assets/create/models/item/dark_scoria_bricks_stairs.json +28ed58a754a31b6ace92fd0232b025fc6f87df31 assets/create/models/item/dark_scoria_bricks_wall.json +4dc989dde0810acc9631e03c96d53f4df95166ed assets/create/models/item/dark_scoria_cobblestone.json +6346b77a8a6b854ff345b9b256769dec98c9943a assets/create/models/item/dark_scoria_cobblestone_slab.json +e67fe11e9036c81f0f54d368b41a971822a84a32 assets/create/models/item/dark_scoria_cobblestone_stairs.json +59c87e6a439fbcbbbb254e07e7b48209ea31e40c assets/create/models/item/dark_scoria_cobblestone_wall.json +f5b2995929ac9dca9857d4618660ffa7778d5618 assets/create/models/item/dark_scoria_pillar.json +f06f56ffb1cd7c9a2b81c65f7796726692e5cc59 assets/create/models/item/deforester.json +2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets/create/models/item/deployer.json +84d87f715efab45dc7bcb2e3c0870ed56fa20ee9 assets/create/models/item/depot.json +a97ca9b6fc3e10a9c9409b27458a852222045e4e assets/create/models/item/diorite_bricks.json +7a28bb619d37a37ed82509d2ff395d76b4435961 assets/create/models/item/diorite_bricks_slab.json +920804b7380cca2c477d9f901e045597234246d7 assets/create/models/item/diorite_bricks_stairs.json +e266c702b136f20e9196e756bb97fb5c6f73b678 assets/create/models/item/diorite_bricks_wall.json +a215bca75c32124c4cb070065967de1d56c6c57f assets/create/models/item/diorite_cobblestone.json +8950fb51aa22e78c68ae2629e7c276989451ef66 assets/create/models/item/diorite_cobblestone_slab.json +645a16dfb3619cedf2046e1d0869a27394e6460a assets/create/models/item/diorite_cobblestone_stairs.json +a589798ef8b96d6106d0b029711e205a4ef23439 assets/create/models/item/diorite_cobblestone_wall.json +e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets/create/models/item/diorite_pillar.json +1bd32eb16dee4bbf313a8813a7f1461ea5feeffe assets/create/models/item/dolomite.json +4c5e12f1acb8c4abc24b9dd80e5cbbf3a5cbd89c assets/create/models/item/dolomite_bricks.json +ebb596ce665b085e501ee2fd9a5371ce53e40553 assets/create/models/item/dolomite_bricks_slab.json +9308b10e1108023b5bc61defeed1058844cc38c8 assets/create/models/item/dolomite_bricks_stairs.json +ea4f4b85827c0bc8034bb6524236eb0ce6310766 assets/create/models/item/dolomite_bricks_wall.json +8d03066b5fd36bdf017fcb54336cf64294f968cc assets/create/models/item/dolomite_cobblestone.json +f92bc71df40567367d08798a6ea45e7e8d0b07b0 assets/create/models/item/dolomite_cobblestone_slab.json +be7de1e1529fb2a2e842204136520a760676d4e9 assets/create/models/item/dolomite_cobblestone_stairs.json +6b03f2be8fa1e62a89d59859e7d40f9e45ab8b65 assets/create/models/item/dolomite_cobblestone_wall.json +e974cd23a5456baef8b634f2d21fd8c3822931ab assets/create/models/item/dolomite_pillar.json +82b73fafdb8bf4f0706012d5baab44cd0e1aa7bc assets/create/models/item/dough.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 +250bd0716cc1f04b03892ab74eb0b3a0f32a6158 assets/create/models/item/encased_fan.json +e0f9ad7e7d790e9e21a38fa57395fd3ff892359b assets/create/models/item/encased_shaft.json +68833e2a7836c73776551565783a1d175b715c66 assets/create/models/item/extendo_grip.json +956646df2a75ed651eabb403a3f9e1024538cd56 assets/create/models/item/extractor.json +efcbd30ad7a7658c02a3dc3de5fa0f21d7f49b54 assets/create/models/item/fancy_andesite_bricks.json +7ccd312084128c356307c7ca6e52c65d0a18907b assets/create/models/item/fancy_andesite_bricks_slab.json +c8eee9d8df7af227eba051e4b9a7e48a79e682df assets/create/models/item/fancy_andesite_bricks_stairs.json +959d5f3d6d93b46534a3a5c979daacdf0e325612 assets/create/models/item/fancy_andesite_bricks_wall.json +8794524183309b8185476bcd419fb9a59a879d04 assets/create/models/item/fancy_dark_scoria_bricks.json +7ba01ba3cb1215433b4373d6d5de1b9ba0fd78f9 assets/create/models/item/fancy_dark_scoria_bricks_slab.json +d39b008a22a2fbefd509e65eb5165f8a732dc557 assets/create/models/item/fancy_dark_scoria_bricks_stairs.json +a091529129511de51b0c55063a16d61d42dc1b6b assets/create/models/item/fancy_dark_scoria_bricks_wall.json +97b8c3e3125dcb6cfb2ddc55544605caed3baa05 assets/create/models/item/fancy_diorite_bricks.json +2a6ef7a830f95b480d8e36bbafa2d69419688c6f assets/create/models/item/fancy_diorite_bricks_slab.json +38c07a01059d2471f9fe099d0213b06132c67d0b assets/create/models/item/fancy_diorite_bricks_stairs.json +e7a8c9d008539dc05e6f26df48ddd2008ea91399 assets/create/models/item/fancy_diorite_bricks_wall.json +84a475673d8719b14aad1ffa4b960c3915461990 assets/create/models/item/fancy_dolomite_bricks.json +f3f8e870b2368386f006dadd149227d4c4045c2b assets/create/models/item/fancy_dolomite_bricks_slab.json +098130c5b60997962ff49220f8f0a918f0dfc277 assets/create/models/item/fancy_dolomite_bricks_stairs.json +7d27e7419de18c68695cf1c5444414fa80f6026c assets/create/models/item/fancy_dolomite_bricks_wall.json +e4d4aec87e5df25cc32209686fcae439fb47e3cf assets/create/models/item/fancy_gabbro_bricks.json +5842bd64fb9ce5a7893f32d86c1e7d0e52dec9ad assets/create/models/item/fancy_gabbro_bricks_slab.json +21ae57bca0821dc3df192377cfdc9b11de076864 assets/create/models/item/fancy_gabbro_bricks_stairs.json +f4802b85cca42bb3436a871ce9bb9bbdb80da454 assets/create/models/item/fancy_gabbro_bricks_wall.json +fd66acae47031df3de863691d81ed333cf98503e assets/create/models/item/fancy_granite_bricks.json +f4ab29d669c73651503188b8918fa6926d55f1b0 assets/create/models/item/fancy_granite_bricks_slab.json +668555d15f65972fb8b74a469f625e85b99325a3 assets/create/models/item/fancy_granite_bricks_stairs.json +7c778e27c8c48e376954018b5ce0f968aa760e1f assets/create/models/item/fancy_granite_bricks_wall.json +86af2a7d8e88189a86aa21e217006cb111f71173 assets/create/models/item/fancy_limestone_bricks.json +dd122445c8ad8cf65c07a649657ff7341e5aec7c assets/create/models/item/fancy_limestone_bricks_slab.json +5321d0726707859b9a920a6decac2c19f28f97ae assets/create/models/item/fancy_limestone_bricks_stairs.json +68ff3084a8d3efdac209e3ce05d3f52853c689ae assets/create/models/item/fancy_limestone_bricks_wall.json +bcd872f7eeba6512de5c070038fa2e0dc5c54d11 assets/create/models/item/fancy_scoria_bricks.json +3bcf2f856e7c6865a6849c738a7b9eb0b6a9e640 assets/create/models/item/fancy_scoria_bricks_slab.json +37df452fb88f4912e1287d0ec1f699465941b670 assets/create/models/item/fancy_scoria_bricks_stairs.json +ce6ee1fe4a92e26af75c2eaebd5055efdbdff169 assets/create/models/item/fancy_scoria_bricks_wall.json +9b32f3a1144b2e3a85ae416b5ef2d6b6df214eba assets/create/models/item/fancy_weathered_limestone_bricks.json +8fc219b471382cf67d2271edda14d173d40ae661 assets/create/models/item/fancy_weathered_limestone_bricks_slab.json +7c1ed1241d55b105f7acb997d7c0e24b4b945293 assets/create/models/item/fancy_weathered_limestone_bricks_stairs.json +7bdb3d8a59586654df0c2a84d73a346b898d247b assets/create/models/item/fancy_weathered_limestone_bricks_wall.json +e5e6fb6eb182b85b977e1025a7fe84d46de59320 assets/create/models/item/fluid_pipe.json +e7d2097256fed545064a37d233e7b810b04c26a4 assets/create/models/item/fluid_tank.json +8707332c0cb6ee123e7962d08536a60725c64ce8 assets/create/models/item/flywheel.json +d62b93d3c274d280f3eec22a28b5175943411d25 assets/create/models/item/framed_glass.json +1041d462c6e856f7f3f2365c299c0599703d1ed7 assets/create/models/item/framed_glass_pane.json +2465cc82ca324ecc146faf97177cea3d3073fc7f assets/create/models/item/fuel_pellet.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 +c35900cae8508c292a73239e560cebae17980f96 assets/create/models/item/gabbro_bricks.json +b10971277417369f421324b28f0a4b47ce4c8625 assets/create/models/item/gabbro_bricks_slab.json +0b86a2f3ec25fff558429823c6919a5ba081e10b assets/create/models/item/gabbro_bricks_stairs.json +1b234807907063bfe393382ed066d7c59b694d59 assets/create/models/item/gabbro_bricks_wall.json +307ad613fd2cd964544ea742ad32b4c48edebd09 assets/create/models/item/gabbro_cobblestone.json +61e46397848c551a34f941f31685e3c0a20533bb assets/create/models/item/gabbro_cobblestone_slab.json +b3d7398dbc16c450928bd76b772c273382687447 assets/create/models/item/gabbro_cobblestone_stairs.json +5680f24b43838cb6632bfcedba282a244bd24db0 assets/create/models/item/gabbro_cobblestone_wall.json +20950b692eecfccd77d96678bb3d909d51f6d787 assets/create/models/item/gabbro_pillar.json +6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets/create/models/item/gearbox.json +2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets/create/models/item/gearshift.json +52108a61865dab38133b9f916496ca680ae364ea assets/create/models/item/golden_sheet.json +46d813bcb6676078347383295bb7dbda1d9dd060 assets/create/models/item/granite_bricks.json +032a31c66d3de63595d478165d54b4f562e9831d assets/create/models/item/granite_bricks_slab.json +9d7a989d644af91a4ca5985396375863cc5de6a7 assets/create/models/item/granite_bricks_stairs.json +335bf361c82880c2e0be255b6c79c1370ad595b7 assets/create/models/item/granite_bricks_wall.json +085345339f11023b06717a786ab33f32b3902407 assets/create/models/item/granite_cobblestone.json +c1bb87fdbbefaf74e1ead186c43417a051ab3965 assets/create/models/item/granite_cobblestone_slab.json +3c5f83809f945134a861d4ea600a1708de58a422 assets/create/models/item/granite_cobblestone_stairs.json +e2d8561a8048fe6144362d13478bba4825588810 assets/create/models/item/granite_cobblestone_wall.json +b84a947a1b297513c85bb8d2dbbb780304c95e43 assets/create/models/item/granite_pillar.json +e7daa31c1fc445d542bad476dfe1d6a8811f2070 assets/create/models/item/gray_seat.json +1c9c9157a06108bf58967bfc4fb069c35d20e90a assets/create/models/item/green_seat.json +398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json +cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json +dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets/create/models/item/handheld_worldshaper.json +e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets/create/models/item/horizontal_framed_glass.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 +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 +281e2b055c6eb6994ca306c8957fc80a98fb5473 assets/create/models/item/layered_andesite.json +7afeb6170b37cb464ea91be18928d21970d556d3 assets/create/models/item/layered_dark_scoria.json +385e9d787613af2d1079b899315f45efe9eec489 assets/create/models/item/layered_diorite.json +1f00c44adc396a401abc2e9804ee34df7bb6f256 assets/create/models/item/layered_dolomite.json +9a7a528d1cdde1d13dcdf8829ef1b10c95a0d412 assets/create/models/item/layered_gabbro.json +1220b440881e5d794dea2db41bc31f233b13eed1 assets/create/models/item/layered_granite.json +ad40f8eb28bea731131aeaffee55abecb8bc6a56 assets/create/models/item/layered_limestone.json +e7585210cf4754c89b4ba3dc95827b75029f0523 assets/create/models/item/layered_scoria.json +2df30e7f8cacc1efd6e025564d495f782e0dc697 assets/create/models/item/layered_weathered_limestone.json +be2b6d54afc515d93d6d5b3023c506c53cc946f8 assets/create/models/item/light_blue_seat.json +1b36382eae41b35585e5659cda019310731000fc assets/create/models/item/light_gray_seat.json +2127f20dca4421802812e249b3caca6230a37eee assets/create/models/item/lime_seat.json +a29733a916141abf84492a288fe9ac4ed531f47d assets/create/models/item/limesand.json +e0a1c6102acc10a36de5ae87da629dd3d676e204 assets/create/models/item/limestone.json +1c2b99db54863eac4947824f4169e51c25d05bde assets/create/models/item/limestone_bricks.json +b4bb20a01c516b350c770a5e1149de5fda474eb7 assets/create/models/item/limestone_bricks_slab.json +e2445944c220ebadf7e079ba49306c98814cac29 assets/create/models/item/limestone_bricks_stairs.json +f2a1a2cc4bbe48c2b1c77e0eb5ab0322b1ec9881 assets/create/models/item/limestone_bricks_wall.json +58234b12ce29574c89bcbd558e467691fd9be267 assets/create/models/item/limestone_cobblestone.json +c26a0887356e9e55a0bdc3d885838e4722e0c0c2 assets/create/models/item/limestone_cobblestone_slab.json +ebdf23b99b7895e347c29057c8070a6e16e56beb assets/create/models/item/limestone_cobblestone_stairs.json +8cd46904fd9709377d514e0faf9150ca317f6a9f assets/create/models/item/limestone_cobblestone_wall.json +8065de871ad2fbaed711735561b8ed91a2ce0004 assets/create/models/item/limestone_pillar.json +d245aa4994ff197b1ffeb7980d05f96bd20cdeb3 assets/create/models/item/linear_chassis.json +eb0053df13e362e0a05be65252944f0c94eab3db assets/create/models/item/linked_extractor.json +0242f25a8eb02b25f8b03344a1dfaf9ad0ab192c assets/create/models/item/linked_transposer.json +d912be3e87f2beaa8e22747f867739139667241b assets/create/models/item/magenta_seat.json +932facf4bf93b471e8630f4132a4284a9f4d0d39 assets/create/models/item/mechanical_arm.json +49dcc373c33f6fc3760add10eb51bd96cd4fd028 assets/create/models/item/mechanical_bearing.json +65ac4f19973ddeb1bb4d672f57319130e736e116 assets/create/models/item/mechanical_crafter.json +b416a3a2545a63d6839f7f2cb958c58e485a7eb6 assets/create/models/item/mechanical_drill.json +bbf18e5d54128375139c712e93b35ec25f59f2d0 assets/create/models/item/mechanical_harvester.json +06553037470a5ca5386c0d0bb1011d20580c0e76 assets/create/models/item/mechanical_mixer.json +f8d0d4b2a890ea7a69ab0c390947b48fe0478d3f assets/create/models/item/mechanical_piston.json +726ae61699dc379a4f535c1be3ec2672a2f03583 assets/create/models/item/mechanical_plough.json +6c2acb80e53256fbb85f76851f335f9248ace6da assets/create/models/item/mechanical_press.json +4e363477e3e8059dd7b2bad04046521b31923d1b assets/create/models/item/mechanical_pump.json +bca99d467ec8ead10124becb60ac24b39be83de4 assets/create/models/item/mechanical_saw.json +0eb5726c8c0de462f432411c210d6132b2c446a4 assets/create/models/item/millstone.json +1134bc8ecdfefe5d30ee4973c37aa9a349c368b4 assets/create/models/item/minecart_contraption.json +dc43c88dc8ae1f425e1c10f422b09d97719af5bc assets/create/models/item/mossy_andesite.json +4ce9aabf9fa9e9e6af6b4339291e635708bdbcdf assets/create/models/item/mossy_dark_scoria.json +d084f03d068d0b8c3b7c4d00014c168f61836770 assets/create/models/item/mossy_diorite.json +d4743a48222f5c4fad44f940723925f0dccf59fd assets/create/models/item/mossy_dolomite.json +ec459f0f04f75e5c2c27bdad0375adb9768d1ba1 assets/create/models/item/mossy_gabbro.json +95da87eafc51c6ee5a6e93aae6379f47eb9aa46b assets/create/models/item/mossy_granite.json +38d9a51ca24786b85398c4670a1e8cb9dc794037 assets/create/models/item/mossy_limestone.json +055f6c58addfd02d889ef6436d344b4d308a65a6 assets/create/models/item/mossy_scoria.json +f384d2e28309c54207bd1c33abff99d015d698bd assets/create/models/item/mossy_weathered_limestone.json +dae5cffa4e1263d6a113469f79fba8695fa8232a assets/create/models/item/mysterious_cuckoo_clock.json +b5c73d353fbe1d073f6a2901f221f178b858e385 assets/create/models/item/natural_scoria.json +bafe601f186e868819da3d29f7be7dc96f9ba790 assets/create/models/item/nixie_tube.json +366a60447bbbd61eb25aecf191a01e8d9417ad61 assets/create/models/item/nozzle.json +7a336a340f3e4927d7a35f9d79e8a03693b802aa assets/create/models/item/oak_window.json +f274fe391ac584656c9817a5650b1c1e38e44c58 assets/create/models/item/oak_window_pane.json +25dfcc8b6f085722f6b2a0c686b77d437e61542e assets/create/models/item/orange_seat.json +0ffe242e3165d9a0e3fe16ad4c4ca91c7e9828b2 assets/create/models/item/ornate_iron_window.json +7d7da05da6248abc177e89988ed5c2aff1151767 assets/create/models/item/ornate_iron_window_pane.json +db23dec78b3355fc0de3485b8e9d915a20dc1f93 assets/create/models/item/overgrown_andesite.json +cd5c2fbad24dd059c5d93cfb11137a473b36f459 assets/create/models/item/overgrown_dark_scoria.json +5ac708433ee5cc7c13975217d39eb5649dfd44ec assets/create/models/item/overgrown_diorite.json +a74a56fc6442feef3069495d39010d0e051a0bfb assets/create/models/item/overgrown_dolomite.json +c321a885f5794ed0bec47bf70022ee9882bbd3c7 assets/create/models/item/overgrown_gabbro.json +e34c7bbdd4fcaa3a73c61584418bb159db49758b assets/create/models/item/overgrown_granite.json +e73e4be7e7eafdf9635a3d72eb7fa05c2bc1e54b assets/create/models/item/overgrown_limestone.json +a64a649428a2e130059f3f1f8de81b907621589f assets/create/models/item/overgrown_scoria.json +3354b93677c87bfc82807503c8d658fc6ab114e2 assets/create/models/item/overgrown_weathered_limestone.json +15baa926f7208040c437c920ae0c159a06057073 assets/create/models/item/packager.json +014530344c8b7e53531e3c09095b6ed4839d5ab8 assets/create/models/item/paved_andesite.json +bd81aa53b83c2f9683c024989d0305807cf28f5a assets/create/models/item/paved_andesite_slab.json +c61f409eb1a24cf76017b677579cb0423a1951c6 assets/create/models/item/paved_andesite_stairs.json +e4b6edfe2be4af6bd9324ad5ba66d2fc0b93ff45 assets/create/models/item/paved_andesite_wall.json +1e2eba674fed91fe83e55bc8cb3310c8c0ce5a01 assets/create/models/item/paved_dark_scoria.json +2150e84cd4d14e97ef7a0976a01089195a682a6c assets/create/models/item/paved_dark_scoria_slab.json +9e63939b6eb8d9b2e77bbc2258ca20de27322e18 assets/create/models/item/paved_dark_scoria_stairs.json +c0fb691421c1eac99c0e22abcd9a753673825ddc assets/create/models/item/paved_dark_scoria_wall.json +134fb828fb2f4d0d5de6b2cefbe406766c42da2a assets/create/models/item/paved_diorite.json +085769d715a8f27341915a7df1713428090d918a assets/create/models/item/paved_diorite_slab.json +ad0b1dedcc63c77271804b8af6cd0e9594b28558 assets/create/models/item/paved_diorite_stairs.json +9b6db6994f16d4e0d327716004663068ddd5e5de assets/create/models/item/paved_diorite_wall.json +326e2cd1f8d3d5ea46ea915dcae30f4f6fbbce72 assets/create/models/item/paved_dolomite.json +7b7ade8c8fffbcda014c415831298ba8726e01ee assets/create/models/item/paved_dolomite_slab.json +adca0341816b1d9d691d1bfcc0495bd15d5ebdeb assets/create/models/item/paved_dolomite_stairs.json +9e7c423ca9c27f84cbbb352ff950dc1dd57b1bd6 assets/create/models/item/paved_dolomite_wall.json +5aa6212b6b351de46befbe00767953fde8a45c9b assets/create/models/item/paved_gabbro.json +5311533b6285592fe6307c6538ffd3a01235643a assets/create/models/item/paved_gabbro_slab.json +6b2d1f94720eac18bb8e42634692a7984649470e assets/create/models/item/paved_gabbro_stairs.json +d442e64d7c147ecfdde1b0d851be7ad93b3e478a assets/create/models/item/paved_gabbro_wall.json +af3ec306551a5de6dc7ff53cb734fff656de805d assets/create/models/item/paved_granite.json +d231c92be80f3897a944709a0d7745943b250930 assets/create/models/item/paved_granite_slab.json +a2d3f2188637b329d62450485f2fd35cc1f2c7e0 assets/create/models/item/paved_granite_stairs.json +a72d76045cffeefcb490be6b6e8c667ebc1a8d93 assets/create/models/item/paved_granite_wall.json +d60c4fb6e0e68d8f6c137a0c601145c342236c18 assets/create/models/item/paved_limestone.json +25d090c53a7ce13b08be2dfb741cc1cead225498 assets/create/models/item/paved_limestone_slab.json +0eb5aee18a1f4bf64bae7d777f5521cd6ae2dd2e assets/create/models/item/paved_limestone_stairs.json +50edbd411b8998088d5b1e35fece468ad6c95ca5 assets/create/models/item/paved_limestone_wall.json +577490fcf3c1247d2cfc44b3595a704166c8de27 assets/create/models/item/paved_scoria.json +1a31883ef9c3a178d5682e45a9d91deacf60abf0 assets/create/models/item/paved_scoria_slab.json +8fe179c54c4f3dc24736f66889c971b5876448b5 assets/create/models/item/paved_scoria_stairs.json +65f1999459e25bb9f91b3da987184da8f1ec6de2 assets/create/models/item/paved_scoria_wall.json +2040945217d8c3077745812de07ce7444d4904e5 assets/create/models/item/paved_weathered_limestone.json +5ec22c676e301a7004ff7d127d20b46f49063c64 assets/create/models/item/paved_weathered_limestone_slab.json +d81f85aea5e683539a0f3c805c154b76a9d88a9d assets/create/models/item/paved_weathered_limestone_stairs.json +25eaccadfbabb60301f487807b0e839d525f2c80 assets/create/models/item/paved_weathered_limestone_wall.json +9664f171c7856661776c5c4ef0b6880a77db648e assets/create/models/item/pink_seat.json +04ce23dc141bedccc75b4512263da8b498f13205 assets/create/models/item/piston_extension_pole.json +1f7846aa06c3c22614c98cbec9112cc8632fa1b8 assets/create/models/item/polished_dark_scoria.json +c46f1191cfa225fa76973208646e7bd86d7fcb5f assets/create/models/item/polished_dark_scoria_slab.json +db8c0604529f47f7ef50c5a91ec3eab112a649a0 assets/create/models/item/polished_dark_scoria_stairs.json +05327514f1059450bb51cdebd7811100ec5ea430 assets/create/models/item/polished_dark_scoria_wall.json +c9e6ec5d6313e159c751d4f7eee1a1a543e74188 assets/create/models/item/polished_dolomite.json +68db13895c1a4017b036bc839bf4b4d83a4557d3 assets/create/models/item/polished_dolomite_slab.json +07aefeacec36467872e34b14ec4e1a56474decc5 assets/create/models/item/polished_dolomite_stairs.json +2a9597d0831b7cc9e50a1a0590f07fb0c1845158 assets/create/models/item/polished_dolomite_wall.json +bf2dd5b0f0bd6579ae6d8e07d81cb418679bf613 assets/create/models/item/polished_gabbro.json +c65246c4e2a738b7049edf208325482925932315 assets/create/models/item/polished_gabbro_slab.json +183e007e97155fae8dfd897d2f56bde07e915908 assets/create/models/item/polished_gabbro_stairs.json +cee4881472e679583d4ab8c2b3d21280093926af assets/create/models/item/polished_gabbro_wall.json +3ee599a9b8e46e5b6f759eace8d1dca3b3d065f5 assets/create/models/item/polished_limestone.json +6c899db964025a4e61245063ba2b917c5e14e5c0 assets/create/models/item/polished_limestone_slab.json +7b7e357c0d9abd524d267b197c3c7c8a031da493 assets/create/models/item/polished_limestone_stairs.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 +143139799880ed94c0b41bacfe3dc0a821d96c49 assets/create/models/item/polished_scoria_slab.json +e95125318055b8557afd7d108488cf0bdd81fe49 assets/create/models/item/polished_scoria_stairs.json +2ccb8f2eda89345221ec2a103702ee54de1a3b96 assets/create/models/item/polished_scoria_wall.json +8197d4494ff1d8d81be8fac9285246cc1c6bcf54 assets/create/models/item/polished_weathered_limestone.json +68fb04f7a89c8117bb641e347df9bfc1f1248335 assets/create/models/item/polished_weathered_limestone_slab.json +6d92ee7112aa20e8a1adfe73d8933031c299bed1 assets/create/models/item/polished_weathered_limestone_stairs.json +b4995fb4799f33508cd6bf2ded80c0b3e866ad43 assets/create/models/item/polished_weathered_limestone_wall.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 +3a6dfc7f36e31ebfcd650c3144a7f2210e8a4f9f assets/create/models/item/powered_toggle_latch.json +16f363038d5afeae34e0724a6a9f0b8f6e65424a assets/create/models/item/propeller.json +4b8a27ff05ed5331889dfc4b0b4562f3e94b0dfe assets/create/models/item/pulse_repeater.json +a598b2f5eb34b061e81efb8a55267a02f8e08a61 assets/create/models/item/purple_seat.json +469652eb5baa92008dbfc4deec232c3381684af6 assets/create/models/item/radial_chassis.json +ba99e2fdb64892f4f479a8ac51c226cb5f71f659 assets/create/models/item/red_sand_paper.json +3e251514aa698076b73fdbfef720b78b21d3bd93 assets/create/models/item/red_seat.json +b9a4ac219a27e60a82f55129f2df5ae6183981e2 assets/create/models/item/redstone_contact.json +52e561abeb954d0349e640566de92ef80ccbf919 assets/create/models/item/redstone_link.json +d9dd4546f4f4c6ed5fef66de9d272d469db4e81f assets/create/models/item/refined_radiance.json +901f7ad587dd07c9494d95bf7f08f93bb20db774 assets/create/models/item/reinforced_rail.json +6daff6b82b33374d7add65e352e05ecb2fd9ebdd assets/create/models/item/rope_pulley.json +fc54acc37695f21ef650c8310110407647e9a023 assets/create/models/item/rose_quartz.json +acfbf487ee65c2c58d89cb2644e33fda75751fde assets/create/models/item/rotation_speed_controller.json +be86c8156d55d2f128feb66abd70923b3be765cc assets/create/models/item/sand_paper.json +69196df5122a27573112dad49b334dea96aafed0 assets/create/models/item/schematic.json +533483999f61e3b091af567a473875247edaedb3 assets/create/models/item/schematic_and_quill.json +8dd5caa4d7a0ee45bd9b39e09c4503159933d089 assets/create/models/item/schematic_table.json +0a1c4080ca572106c19a0ba6e2df4baba5f45d35 assets/create/models/item/schematicannon.json +22a6dfdc3cbb1b6ac20ec123b490e15c72dfbfcf assets/create/models/item/scoria.json +44a99d0a4ec37dd33ea184e0f4b4bd54289eb19f assets/create/models/item/scoria_bricks.json +403c205f6f253b26287fd4479a1ff4ead3a2c229 assets/create/models/item/scoria_bricks_slab.json +74125ed1dff40e71c796b80ddfff7bfab57c33ae assets/create/models/item/scoria_bricks_stairs.json +845527eaba40dc65c609ea092f5b8a5c685f730a assets/create/models/item/scoria_bricks_wall.json +ff235540c1632a34751bd76e66b2a517f7cbfae9 assets/create/models/item/scoria_cobblestone.json +f4107d5e5a573810873e1a52aaacda674d371e1b assets/create/models/item/scoria_cobblestone_slab.json +fe8c7476b1386fc05a57a93319f71455ba4cf29b assets/create/models/item/scoria_cobblestone_stairs.json +b0061419cf7b7bd2dd548ff00ee28f1227ee2663 assets/create/models/item/scoria_cobblestone_wall.json +1f0cfa084107c05b010556f609371285295a0d12 assets/create/models/item/scoria_pillar.json +083b9fc316cef1d24ea20f06a6aaa4cb52f1ef94 assets/create/models/item/secondary_linear_chassis.json +0df94333da5700f01dcf4ffa46e3f3bf26bb8cf7 assets/create/models/item/sequenced_gearshift.json +da72ccdc893fbdd3efa9c22143b88eb756c20e44 assets/create/models/item/shadow_steel.json +106ae694f7e03a218c37003dca8291b1d39b3c55 assets/create/models/item/shaft.json +d6fb0d38b1b5bcc199b52ac8889eaecd167f6725 assets/create/models/item/speedometer.json +b305e81f1dc5272634745b6e822af40955a2ef28 assets/create/models/item/spruce_window.json +5f622bca8386b8dd077310647e39ac3abb80c6a1 assets/create/models/item/spruce_window_pane.json +891abc24593d53d282773eca5534065056d89b4c assets/create/models/item/sticky_mechanical_piston.json +bbb5773adc23128c70174bfc531af936e6e063e3 assets/create/models/item/stockpile_switch.json +bab8f78c319b2a79ed55c5d2a94b521ddaa44996 assets/create/models/item/stressometer.json +29d571a061e3addf92ee51bfc55d96edc3a517a5 assets/create/models/item/super_glue.json +b1d3d00ff05908feacad06a86800da96cc9bc65d assets/create/models/item/tiled_glass.json +8a2a81a8cbc52b6021e57107d79a32f73b82d8fe assets/create/models/item/tiled_glass_pane.json +a9f6592275a4c8592e3c88a95fbe88bd93de67c6 assets/create/models/item/transposer.json +c081317f106a2b04700aafde12c57445844c20ab assets/create/models/item/tree_fertilizer.json +fb24881c4e92bbb7ffa54a71e0af6b1c66d84829 assets/create/models/item/turntable.json +32f49b724af10c8d7e2ed5a3c82280e83b75f789 assets/create/models/item/vertical_framed_glass.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 +1d097a315c2817d16c241c86f66bd48e5e52f4b4 assets/create/models/item/weathered_limestone.json +fcc8ab312989ec485e2d86b856d81dbafaf0e930 assets/create/models/item/weathered_limestone_bricks.json +7e7abcb63aa5fc0dee50e116c93f8544768d4d95 assets/create/models/item/weathered_limestone_bricks_slab.json +def7382f3216c59d835ab64f534678f3d31ecc51 assets/create/models/item/weathered_limestone_bricks_stairs.json +8b96d6b4be585890211269018ab3814a32f17618 assets/create/models/item/weathered_limestone_bricks_wall.json +015479be1e6b8de4af6c14cc0e9ced5b6e7c1b07 assets/create/models/item/weathered_limestone_cobblestone.json +377fffa39af11eb195b73310efd4b53b8c618c92 assets/create/models/item/weathered_limestone_cobblestone_slab.json +3d26cb5616182ba6926d0bf703119ebfbeacbe31 assets/create/models/item/weathered_limestone_cobblestone_stairs.json +62cba55cef305e8fcbc545363919f75d702a617b assets/create/models/item/weathered_limestone_cobblestone_wall.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 +69328eb4f91c4407fbcad5e3c4b88363f1a9572c assets/create/models/item/white_seat.json +2527b52413965a3e84b4718e08a9b8bb30a741ea assets/create/models/item/wrench.json +4b49bc2418410cded5f0b7da3430f1a22e049f18 assets/create/models/item/yellow_seat.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 +e76041b7ae829fdd7dc0524f6ca4d2f89fca51bb assets/create/sounds.json +187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json +0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json +de37aa79135d560adf1cc5404f86761f97335314 data/create/advancements/basin.json +c7f56a4aca398eabe1c59404ebfabdc0c5e3edc0 data/create/advancements/belt.json +20b23095108e544f9fbf4217448f01f9596af8ea data/create/advancements/brass.json +de13a091928d5ab539d567411dd5c522cdcdd668 data/create/advancements/brass_casing.json +f65b1926e7ef62c15e51b80eda381897d60c64fa data/create/advancements/chromatic_compound.json +6d57b060b0ac92d0dc4109cbe0194d5536204978 data/create/advancements/compact.json +d1015e059a2f2008a364b6d045a011a6d671f20d data/create/advancements/copper_casing.json +5e9fe0e03ba980482645e0d72acb342f46a8db8a data/create/advancements/copper_end.json +e4225555a12384f2607d5ac65e790fb774beecc8 data/create/advancements/crafter.json +d1fbc14303c7327e9fc02e505e7e434591b7f785 data/create/advancements/crushing_wheel.json +0761f3e12d587fec7a2ddf326b43969d262771e3 data/create/advancements/deforester.json +e4e3c1bd7ecf501b40cffc26d8ad145ab4e89118 data/create/advancements/deployer.json +77edd30e3d60b4d492662c673387910f66b5a276 data/create/advancements/dual_extendo_grip.json +04eaf829696d735244c0e4798dd3bdeb26e13a32 data/create/advancements/electron_tube.json +31c9541b0be08cde351b9a07696bd675514bbcb8 data/create/advancements/extendo_grip.json +69e96e926a4d72e59cc6390c25f064166ddb62d2 data/create/advancements/fist_bump.json +62f3610188f7dbd3900ab305edc2d06282705a38 data/create/advancements/goggles.json +7e12b7ccb198ef0db7964b8cbef152d8347e333c data/create/advancements/its_alive.json +3d0fc63191ef507a018ef996ebf9406a523f3976 data/create/advancements/lava_wheel.json +90393cdb6b699c9c0fd4dd9400159c3aa6911a6b data/create/advancements/mechanical_arm.json +786c2058805ceca3cd3970cc6e918560b54747f5 data/create/advancements/mechanical_drill.json +41444ae151ce90d2d68dcda0ed3565f98509c594 data/create/advancements/mechanical_saw.json +9c7f0c2484a84ccf42166704475fafcb1f232ce6 data/create/advancements/millstone.json +704c7fc0ed357b1a116ffdc0b6c64fe64e337a5a data/create/advancements/mixer.json +8085b46ca0dd8c511841cabd88e51bff4baceefd data/create/advancements/musical_arm.json +a135eec618e448f440d9f42cc7a3e6c63fc45a71 data/create/advancements/overstressed.json +72025d8bf73ab8096c29f12d0c8d9a346f09cd64 data/create/advancements/polished_rose_quartz.json +1e3cd82e36fd4bcd053d652a0eead4458ed7f315 data/create/advancements/press.json +b2782692d27ffb105e3167174cebe1ebdd4a9867 data/create/advancements/recipes/create.base/brass_block.json +df6f220e693f5256bb3df8d6c7769bc931820ae5 data/create/advancements/recipes/create.base/copper_block.json +82280c50b78dd7e8c179cb8e8f0c074b26ec9586 data/create/advancements/recipes/create.base/zinc_block.json +909345eb2f5541a2be592a52800319a8765ca345 data/create/advancements/recipes/create.palettes/acacia_window.json +73f99cd857b056da5e19ff8304a4f5eeacc4f8cd data/create/advancements/recipes/create.palettes/acacia_window_pane.json +06479f24d7b2655ee590b5314861a3c9c422ebbe data/create/advancements/recipes/create.palettes/andesite_bricks_from_andesite_stonecutting.json +916ff114deb04257ea18cd68226bfab9fc291d8e data/create/advancements/recipes/create.palettes/andesite_bricks_slab.json +8137bcfe84651a6b8ca323298ca66fedc5486390 data/create/advancements/recipes/create.palettes/andesite_bricks_slab_from_andesite_bricks_stonecutting.json +fc69a56fa928c47522ee3baaa917bcecf2c3b6a1 data/create/advancements/recipes/create.palettes/andesite_bricks_stairs.json +8cd35c4c445646e18ed611f0efff14d5fd716510 data/create/advancements/recipes/create.palettes/andesite_bricks_stairs_from_andesite_bricks_stonecutting.json +070c52fcb5a0b7f0980192ff30d6d220d89a3d23 data/create/advancements/recipes/create.palettes/andesite_bricks_wall.json +a9ddaf81a64ee6b22c8a5fe8edd8b4b0ff5925d7 data/create/advancements/recipes/create.palettes/andesite_bricks_wall_from_andesite_bricks_stonecutting.json +c872706853ca2259ca949106259ad01d77eaf34c data/create/advancements/recipes/create.palettes/andesite_cobblestone_from_andesite_stonecutting.json +cd42aa3e21c0ab5521e4c53df41fc89e4dc2c12c data/create/advancements/recipes/create.palettes/andesite_cobblestone_slab.json +8bfe90204523a0674c253012ff76be8d6b8c3b63 data/create/advancements/recipes/create.palettes/andesite_cobblestone_slab_from_andesite_cobblestone_stonecutting.json +bfb3673a30db807aa298f2fd128ec863a65818af data/create/advancements/recipes/create.palettes/andesite_cobblestone_stairs.json +47cc716674e1741f4115b04a20ac4c4a5b2a6d8a data/create/advancements/recipes/create.palettes/andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json +bd79e63c29d68fbf87ded63ac1eedba3d7287996 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall.json +0ed4c084f05b2bd4c134293ad3554d6e31a1d568 data/create/advancements/recipes/create.palettes/andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json +a453d05704cadb3279318192aac87e623738cdaa data/create/advancements/recipes/create.palettes/andesite_pillar.json +d6f31097aef040e12eb288ab755d459f55269a70 data/create/advancements/recipes/create.palettes/andesite_pillar_from_andesite_stonecutting.json +f10a4369147cc5e36d3ab1b0008d29fd36ffc8f6 data/create/advancements/recipes/create.palettes/birch_window.json +bfea45da3f8df1c63f6c7ff1b63ad7e08c1d44b0 data/create/advancements/recipes/create.palettes/birch_window_pane.json +83d09fdf47ca2b5a70643f9005cbdcdf5ab586b6 data/create/advancements/recipes/create.palettes/chiseled_dark_scoria_from_dark_scoria_stonecutting.json +c31a4d1eacc892a0248315270a12c0b49f5edc63 data/create/advancements/recipes/create.palettes/chiseled_dolomite_from_dolomite_stonecutting.json +74348dc4a1d8a41c67d12ea046772737e9e6d206 data/create/advancements/recipes/create.palettes/chiseled_gabbro_from_gabbro_stonecutting.json +4474c65e52362492fccc901b55773648b2714819 data/create/advancements/recipes/create.palettes/chiseled_limestone_from_limestone_stonecutting.json +b873bd961cd865866a6f5035bee583a400073a3c data/create/advancements/recipes/create.palettes/chiseled_scoria_from_scoria_stonecutting.json +0ace6bef40eab8e365959e529a16cd04d15adfe6 data/create/advancements/recipes/create.palettes/chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json +25991d5667252d551e02c4fbbfa27ebf4353d28d data/create/advancements/recipes/create.palettes/dark_oak_window.json +4819383b1a7885b4401fdc25955d2c51f75b6236 data/create/advancements/recipes/create.palettes/dark_oak_window_pane.json +ebd6413d530325eef6fcf42a0ee0ac840c1f7366 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_from_dark_scoria_stonecutting.json +030ce9b61b8af158cf54e7a9ab673ccb7251483f data/create/advancements/recipes/create.palettes/dark_scoria_bricks_slab.json +ac44d03859cfd4c00ddcbd1dafbb9acc51d849d7 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json +9e13188c79a1b00f3bb33346e520ac666428cc83 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_stairs.json +ebe4042d1fdc31faf2a90589614712f068dc254c data/create/advancements/recipes/create.palettes/dark_scoria_bricks_stairs_from_dark_scoria_bricks_stonecutting.json +24d01f39b9cdee3c0a8b6c2d3702df9fcaa4c582 data/create/advancements/recipes/create.palettes/dark_scoria_bricks_wall.json +2c893abfcb0601bbd6b81b69471109e7a2f286ae data/create/advancements/recipes/create.palettes/dark_scoria_bricks_wall_from_dark_scoria_bricks_stonecutting.json +cbf73236277648935a9e1e2729eae93d3c1717e8 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_from_dark_scoria_stonecutting.json +eef6f85b20fb997af1b0c2383a45100be2e0cd34 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_slab.json +491b8f7398aefd1506982e84b2b69db7d6b6b522 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_slab_from_dark_scoria_cobblestone_stonecutting.json +57c768a80bbd385bb18ca4c9c6462f2ef1394e0b data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_stairs.json +8d44f675237a92513678a77da7a1f329475a3453 data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json +702527e6735770a6fcc3ad446df39d3b1b80709e data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall.json +ce069a666d223f733bfa1cc9ca5e3e5e27de1ebc data/create/advancements/recipes/create.palettes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json +c5d7f1e79302d47ea02cb63b99b286b90ec0287b data/create/advancements/recipes/create.palettes/dark_scoria_pillar.json +f3d6314d272d84c456c5df512dcc555b7694ded2 data/create/advancements/recipes/create.palettes/dark_scoria_pillar_from_dark_scoria_stonecutting.json +83e3c29d5d651a6bc6fd9d5843d8d75f4cda2b77 data/create/advancements/recipes/create.palettes/diorite_bricks_from_diorite_stonecutting.json +4649497555ca4269b1f3859f0275ca1ff7c85377 data/create/advancements/recipes/create.palettes/diorite_bricks_slab.json +1a04dd3845123425a83f51760f9b76557b484082 data/create/advancements/recipes/create.palettes/diorite_bricks_slab_from_diorite_bricks_stonecutting.json +6c815af61dffab6d1f8bfc9ef6c67c5ce3f236f4 data/create/advancements/recipes/create.palettes/diorite_bricks_stairs.json +3d62deacd032b9b442fcd098da74ba8730500f27 data/create/advancements/recipes/create.palettes/diorite_bricks_stairs_from_diorite_bricks_stonecutting.json +57fedaac4b5dfba6198c91ba2358d0e67971e122 data/create/advancements/recipes/create.palettes/diorite_bricks_wall.json +155db0e8e8ac96535ac3ade2a84337f2eb093a9e data/create/advancements/recipes/create.palettes/diorite_bricks_wall_from_diorite_bricks_stonecutting.json +7d2c93cdc55db7e33a4fb7a624d35af83c4316b5 data/create/advancements/recipes/create.palettes/diorite_cobblestone_from_diorite_stonecutting.json +5c425922e7d44cd9ba075b4d10fde92eeef26ab8 data/create/advancements/recipes/create.palettes/diorite_cobblestone_slab.json +1f7dbf4cc9a6daa9467bdbc0d1bd94c5f25c7d0e data/create/advancements/recipes/create.palettes/diorite_cobblestone_slab_from_diorite_cobblestone_stonecutting.json +3eafb105efd55176197d735c791afba65c3caeaa data/create/advancements/recipes/create.palettes/diorite_cobblestone_stairs.json +600c57c4dc3a3741d5db7ec01340e1c6a01d54b4 data/create/advancements/recipes/create.palettes/diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json +8b4990d3657e23a86c3e71eba77370c56692c93b data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall.json +e741ca0e76875ee12beecd45db764444956d5342 data/create/advancements/recipes/create.palettes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json +9edb9886a6b2792dc38d5d61a2be2b7a3fd28eeb data/create/advancements/recipes/create.palettes/diorite_pillar.json +87d34b8ca3dc73a778ab94ef4d852f418112adb3 data/create/advancements/recipes/create.palettes/diorite_pillar_from_diorite_stonecutting.json +dbf201ceafc310f5cc6624c81777d50348844285 data/create/advancements/recipes/create.palettes/dolomite_bricks_from_dolomite_stonecutting.json +6716447628cce96a1f520766d019f09380ec67e5 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab.json +52ae39c6f63860fa5a60c1ae70ef00eca5b961c9 data/create/advancements/recipes/create.palettes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json +e4fa67c3520747bf399b61f4433480be722e9ef5 data/create/advancements/recipes/create.palettes/dolomite_bricks_stairs.json +b80996f626dcc0ffb8bc59e5a928d27ecc05c50c data/create/advancements/recipes/create.palettes/dolomite_bricks_stairs_from_dolomite_bricks_stonecutting.json +e6e2aea69e9b9b7be526fbe4f8e1e7e25e81f80d data/create/advancements/recipes/create.palettes/dolomite_bricks_wall.json +e95638d111629f18ff49a93907f48ebc6c212fbe data/create/advancements/recipes/create.palettes/dolomite_bricks_wall_from_dolomite_bricks_stonecutting.json +e3a82a83a9b2d697d1ef6162f78383690aba6f7d data/create/advancements/recipes/create.palettes/dolomite_cobblestone_from_dolomite_stonecutting.json +cb91483af16a30b8b0db47d6c17967c91a5bc9d7 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_slab.json +cef5f049a1019ef59d6fa7fb61683216f7077ba1 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_slab_from_dolomite_cobblestone_stonecutting.json +a8904096a05eeb7e746563e1a4b97b39173d1708 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_stairs.json +124c586970edc5c15079bec53c734a2beb670130 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json +2e9f1556a11d4d7190233be3af64453396865da9 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall.json +1a1e8764ba05f72ffd7e5872a8f2fc9cf2108308 data/create/advancements/recipes/create.palettes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json +4652a46d4b6590b988d57d855def253ebeb380fe data/create/advancements/recipes/create.palettes/dolomite_pillar.json +a8752ee9bf9afc665c5d940d251c1cf4a83a0ae9 data/create/advancements/recipes/create.palettes/dolomite_pillar_from_dolomite_stonecutting.json +ea981a446d8cc22d6b7fb4667e86dc18a48a4720 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_from_andesite_stonecutting.json +44dc6bc5a7303129db2268a025f49dcb222597a7 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_slab.json +d50519d3f8aa6a9c639595ce875f28a1f0ca9f24 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json +cd9d250da88b716e30d6756a4d36f72f496a9ddf data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_stairs.json +a8aeb67676ada81f73624446bf80394e27308782 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_stairs_from_fancy_andesite_bricks_stonecutting.json +a13a44c1be6f6daf4fc20c19af6ee451c26ff0c1 data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_wall.json +a5d302491934a952e13619a2db0a51e8d629e4fc data/create/advancements/recipes/create.palettes/fancy_andesite_bricks_wall_from_fancy_andesite_bricks_stonecutting.json +8ae66cfd2022a0c1c2525336014e0fe34c3dd1cd data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_from_dark_scoria_stonecutting.json +a26dfcbc16b377b5bb64b24374b176fd9de89d47 data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_slab.json +45068f17f761dba257ab20f5845039d7ec39b1ad data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_slab_from_fancy_dark_scoria_bricks_stonecutting.json +90ead7f9abea29991918e72d3ce7f746e606d0b5 data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_stairs.json +b85e31fcd7be7e1d32d6cee4b60a57f8993058b5 data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_stairs_from_fancy_dark_scoria_bricks_stonecutting.json +25b33b9840a519cee9c8ab040947b8f5ca0c2614 data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_wall.json +673bb65058f9668b8c70ebdfd00cd85a050d1114 data/create/advancements/recipes/create.palettes/fancy_dark_scoria_bricks_wall_from_fancy_dark_scoria_bricks_stonecutting.json +f714c62507b6f29628b821f2244ef021fa333e37 data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_from_diorite_stonecutting.json +756e9f7540fd8e5b8b08204c22d246d9e2488d0f data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_slab.json +a035d2b80243a803fe32a4d8f45342664c010387 data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_slab_from_fancy_diorite_bricks_stonecutting.json +fd55c40ee942d5fbed23ba45b1cd327554c85fb4 data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_stairs.json +01687ce53430a1e9253a99245d63355c8d447b09 data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_stairs_from_fancy_diorite_bricks_stonecutting.json +46d3a856d269600aac1d6de8b18bdc83caed3b11 data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_wall.json +4534a02e200829593fba96ef485f8ca9a2a4bfef data/create/advancements/recipes/create.palettes/fancy_diorite_bricks_wall_from_fancy_diorite_bricks_stonecutting.json +a86241e15bf37acbcafc0f52f42a92d9790827e1 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_from_dolomite_stonecutting.json +a8657bf1879c13b8d5f212c2c54d94de4df9acf4 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_slab.json +c1b98d969be1629c0bdf5c6f46d8c0bcbc1f7788 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_slab_from_fancy_dolomite_bricks_stonecutting.json +50917519b1b451fb8ab10269741ee8ae9f900e8f data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_stairs.json +b45abd3d0f59bc1b6dc83f25132afb6f053470b1 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_stairs_from_fancy_dolomite_bricks_stonecutting.json +ad4ea329069f33abdcd88fadd94c83cc17c3f762 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_wall.json +c6995b2196375401434d017ee731400377591cb4 data/create/advancements/recipes/create.palettes/fancy_dolomite_bricks_wall_from_fancy_dolomite_bricks_stonecutting.json +fe34d30d54ce356a7efe01817a0554db2e1789e0 data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_from_gabbro_stonecutting.json +2389deceb239ecb8527b038ecafc72961641c725 data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_slab.json +38489610c156abe15eff4837a8de4bfa99247e27 data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_slab_from_fancy_gabbro_bricks_stonecutting.json +35534063abf2247b1e2ed3f262c975d3dd589885 data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_stairs.json +7b1965bed313a47b90901e4363bb25db2a2f8bbb data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_stairs_from_fancy_gabbro_bricks_stonecutting.json +c6d781d195bfeac3a8f9d2a2c8f38a623c8959f8 data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_wall.json +06a84396f77580f1f83a2429ea95a799e1252d2d data/create/advancements/recipes/create.palettes/fancy_gabbro_bricks_wall_from_fancy_gabbro_bricks_stonecutting.json +79d9fc03418829c3cf164e6f9bb1f1b026a2d0dc data/create/advancements/recipes/create.palettes/fancy_granite_bricks_from_granite_stonecutting.json +19060d298e2ebf3e4c3e2f1866332cd5d23eca96 data/create/advancements/recipes/create.palettes/fancy_granite_bricks_slab.json +47064e0a76fd1610967b5805af99024c27b82d5d data/create/advancements/recipes/create.palettes/fancy_granite_bricks_slab_from_fancy_granite_bricks_stonecutting.json +7e5e252ac808bcda618244113d925e3e57f28d77 data/create/advancements/recipes/create.palettes/fancy_granite_bricks_stairs.json +7f575653e3507dbe5bfed4e093ad676a2b8a94d8 data/create/advancements/recipes/create.palettes/fancy_granite_bricks_stairs_from_fancy_granite_bricks_stonecutting.json +6f0d3b65923710137fb443b02f4109f9556ee0d4 data/create/advancements/recipes/create.palettes/fancy_granite_bricks_wall.json +595a49a05027809964da8ae4b7d6137bfcfb0034 data/create/advancements/recipes/create.palettes/fancy_granite_bricks_wall_from_fancy_granite_bricks_stonecutting.json +3730534177655140d0efadef9b5a0cf25922038a data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_from_limestone_stonecutting.json +72e12ecc098ad6dd5d517a88725481e6bf79c3db data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_slab.json +10f23ce09d14ff4cd131ca700f7ddc2ab2bf4333 data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_slab_from_fancy_limestone_bricks_stonecutting.json +da855dff16473af4b17ae4b55aac4ef0559b3fef data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_stairs.json +0f0910d3b1cf17d4600342fde2f518c420a0f229 data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_stairs_from_fancy_limestone_bricks_stonecutting.json +2b40437524360252827fadaae168682944037a0d data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_wall.json +c48638ec0beff85a97d57abdaf25ba1ba0fab16b data/create/advancements/recipes/create.palettes/fancy_limestone_bricks_wall_from_fancy_limestone_bricks_stonecutting.json +2e766563ee80a8ca6ad80194e1e6e2fb3618a7a6 data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_from_scoria_stonecutting.json +665bc82e04e6ab832847b41b217e4afd11b44459 data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_slab.json +4f8f0e2c011c7e820378204cc8317d5e23c291eb data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_slab_from_fancy_scoria_bricks_stonecutting.json +535879ff6e399120003bd35ca2e70d64f8285eca data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_stairs.json +859ce60e33280f4519d0e02af8920bfb692313c8 data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_stairs_from_fancy_scoria_bricks_stonecutting.json +371646709052eaf4edf075edd7c4831d5d1a8ad0 data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_wall.json +a92255fcec5aa512e9529601ab75f91fcec344af data/create/advancements/recipes/create.palettes/fancy_scoria_bricks_wall_from_fancy_scoria_bricks_stonecutting.json +c2ccab04f07864fdf01d8637a6d1fe321cd3e001 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_from_weathered_limestone_stonecutting.json +82d5066e0157ea50bfc2d62cfbff2ac3406a66cb data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_slab.json +e76e9b9bba421e846c06bb48c19815bc50c889e2 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_slab_from_fancy_weathered_limestone_bricks_stonecutting.json +98f983a513bcf2767291acaab14ca78e4c8fea2a data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_stairs.json +d51bee4b276805ecf1a93a37ec6d610e75c0117e data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json +767733a2cc9fd2e96302c4e3813da86856e7c418 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_wall.json +17e02efc06d935c094bde5bb73a5127bc98e4758 data/create/advancements/recipes/create.palettes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +05331b5f1701453ecdfd0b3e6429b22ec209ba67 data/create/advancements/recipes/create.palettes/framed_glass_from_glass_colorless_stonecutting.json +605476eaf4e964936c031732cfef534edfdd749a data/create/advancements/recipes/create.palettes/framed_glass_pane.json +b835dd583d670e2d7f6af4dd74e44f5817b03b21 data/create/advancements/recipes/create.palettes/gabbro_bricks_from_gabbro_stonecutting.json +2bfac04754aaf07423b330134984d887ae43f00a data/create/advancements/recipes/create.palettes/gabbro_bricks_slab.json +f05bb35d52866abc7dae9c7f3f5fc85257760564 data/create/advancements/recipes/create.palettes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json +f85f881683789b33813aa57a6c5b64f6a1494e3c data/create/advancements/recipes/create.palettes/gabbro_bricks_stairs.json +02b4d64c2d133c88a7ca229cf2b1ba3fa8e3f88d data/create/advancements/recipes/create.palettes/gabbro_bricks_stairs_from_gabbro_bricks_stonecutting.json +c98e0db97263e63a23304ba531722274fb077ca3 data/create/advancements/recipes/create.palettes/gabbro_bricks_wall.json +4c177eb789d069f2794d975712e061295831df93 data/create/advancements/recipes/create.palettes/gabbro_bricks_wall_from_gabbro_bricks_stonecutting.json +ced85c7dd005d27ae55b92ead9c5e0dfb4a8e7b2 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_from_gabbro_stonecutting.json +a74abfc184d51ae527791749a861bbec4736d072 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_slab.json +c90a07c41b2e034437c8a765de7b517f89383830 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_slab_from_gabbro_cobblestone_stonecutting.json +726ac90a1fec36fd8197074e0a88ee0ca8ecaa61 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_stairs.json +f9d917def55875dcba621246f80dc83904be3d73 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json +b081b91a5e11e8ce9b2455b944eb554f5f2e419e data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall.json +093f372d84c557791cebcb286b3505f32c4dc7c0 data/create/advancements/recipes/create.palettes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json +dacb04ebd8bc20c2a0689a9e75ea67c07e43c56b data/create/advancements/recipes/create.palettes/gabbro_pillar.json +35288551f5146ebbf8dbbe987928dd2a1bdc7ea8 data/create/advancements/recipes/create.palettes/gabbro_pillar_from_gabbro_stonecutting.json +6a9a8b37ec264084ce0481200225017739546025 data/create/advancements/recipes/create.palettes/granite_bricks_from_granite_stonecutting.json +2ac84cb0b8b629bdfd740a6613df2a7e45964bf2 data/create/advancements/recipes/create.palettes/granite_bricks_slab.json +98d7996071eb2d71c34ba942b7ff35bd3910407c data/create/advancements/recipes/create.palettes/granite_bricks_slab_from_granite_bricks_stonecutting.json +ad16c84c418948b1f58172f4ab55277b2a72f422 data/create/advancements/recipes/create.palettes/granite_bricks_stairs.json +2263eeca15ecb0074fbaa3d2355a4e22a0dc4f02 data/create/advancements/recipes/create.palettes/granite_bricks_stairs_from_granite_bricks_stonecutting.json +49bc4ac7bf4cc9175992094f45eab2bb7d21b7de data/create/advancements/recipes/create.palettes/granite_bricks_wall.json +f351b7c42443387613b7d12bcf1a4ce4775ac29d data/create/advancements/recipes/create.palettes/granite_bricks_wall_from_granite_bricks_stonecutting.json +473c4dcadb1a65d5153080bc295475487dd097d7 data/create/advancements/recipes/create.palettes/granite_cobblestone_from_granite_stonecutting.json +3df60ab6fc21672b64f2ef985a7588db3c7a85cc data/create/advancements/recipes/create.palettes/granite_cobblestone_slab.json +5afffb643c77a9e8de977c44b927ab6d94300c8f data/create/advancements/recipes/create.palettes/granite_cobblestone_slab_from_granite_cobblestone_stonecutting.json +c39e86c111a2c76ef9cb7046d2b87262524b06b9 data/create/advancements/recipes/create.palettes/granite_cobblestone_stairs.json +06d3f3150db99f808a5fd4141c0fc6235d979ce5 data/create/advancements/recipes/create.palettes/granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json +6bbc97d2ac655a532eaf345fca64431dbf8af27d data/create/advancements/recipes/create.palettes/granite_cobblestone_wall.json +d6b622a2cf302d0c39e0d38d24b0a17e1461d13b data/create/advancements/recipes/create.palettes/granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json +03c3a88e1a320afe9866a1c09ef34b46763c8ec1 data/create/advancements/recipes/create.palettes/granite_pillar.json +97cc61b1b510849ebc0bf51cf2b8107a5c43fc17 data/create/advancements/recipes/create.palettes/granite_pillar_from_granite_stonecutting.json +cbb40e82dba460ee126966a52f0164e740ac1f11 data/create/advancements/recipes/create.palettes/horizontal_framed_glass_from_glass_colorless_stonecutting.json +29e2e2aeca3800c8ba432be30d54d046a3991217 data/create/advancements/recipes/create.palettes/horizontal_framed_glass_pane.json +4efc9a8c871cf18c8517c82f5a05d4dfec045778 data/create/advancements/recipes/create.palettes/jungle_window.json +995b9cb9c370cd319da3390d8a3a46028bbe7840 data/create/advancements/recipes/create.palettes/jungle_window_pane.json +6b07d0abcfd0710e16a6b7a62fff984a332cbf90 data/create/advancements/recipes/create.palettes/layered_andesite_from_andesite_stonecutting.json +1cf78657f901bea4a27e4e7cf885310f50fa8d00 data/create/advancements/recipes/create.palettes/layered_dark_scoria_from_dark_scoria_stonecutting.json +5ceb87c9142f85f980d5854dab05bf3f97d2f1d9 data/create/advancements/recipes/create.palettes/layered_diorite_from_diorite_stonecutting.json +9a788d2e0bf321f8e00b2705eaccbdeb6895a66b data/create/advancements/recipes/create.palettes/layered_dolomite_from_dolomite_stonecutting.json +544e4b42d4f8c91d304f4fc3a2704258827a0526 data/create/advancements/recipes/create.palettes/layered_gabbro_from_gabbro_stonecutting.json +6cdbca74bf21546eb1c1bd514cc29ddc4616c68c data/create/advancements/recipes/create.palettes/layered_granite_from_granite_stonecutting.json +c0dd961f07e85a183af7b942ed0e4bfe8f775373 data/create/advancements/recipes/create.palettes/layered_limestone_from_limestone_stonecutting.json +5d06584a83074f8a8d1a52d93d13f2718bc99152 data/create/advancements/recipes/create.palettes/layered_scoria_from_scoria_stonecutting.json +b09e64b4989ef08b7ea6b9011681c2fbf780d949 data/create/advancements/recipes/create.palettes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json +52c1902f260173fe610a4a03294a51c4cea3b37b data/create/advancements/recipes/create.palettes/limestone_bricks_from_limestone_stonecutting.json +e6eb6c433541b7c4e3e5b64f240618e6df67ed58 data/create/advancements/recipes/create.palettes/limestone_bricks_slab.json +72f0586690ca4413082b2cbecf7938ba6e4756b4 data/create/advancements/recipes/create.palettes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json +04dfa5ddc043ca816073ee88633a9b1dd360cba3 data/create/advancements/recipes/create.palettes/limestone_bricks_stairs.json +ad2d70de5444c52794c2601e622710f107e9b42a data/create/advancements/recipes/create.palettes/limestone_bricks_stairs_from_limestone_bricks_stonecutting.json +2edc78faeec6e1ccac731793338c148111611ee6 data/create/advancements/recipes/create.palettes/limestone_bricks_wall.json +ffa708ea7b886b20a69425a2134a67354a0b72c5 data/create/advancements/recipes/create.palettes/limestone_bricks_wall_from_limestone_bricks_stonecutting.json +a3c58b950b8c324e9a5862d6047bc0fa81265a02 data/create/advancements/recipes/create.palettes/limestone_cobblestone_from_limestone_stonecutting.json +168a1ec7acc5336f5cf767b249dba3213f059188 data/create/advancements/recipes/create.palettes/limestone_cobblestone_slab.json +d7b36c7fcf429eea7c57f2ae967e73b8e18d0d58 data/create/advancements/recipes/create.palettes/limestone_cobblestone_slab_from_limestone_cobblestone_stonecutting.json +01353f8d33569068376240a971f80f09a1042118 data/create/advancements/recipes/create.palettes/limestone_cobblestone_stairs.json +749936c7c33273c1833154a1eb1e13604ece8565 data/create/advancements/recipes/create.palettes/limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json +c0e3f97a6f807ea8147f58bf4ca002725d1877b6 data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall.json +a01c91b927f50d367c3bfcca5f370002a991d45a data/create/advancements/recipes/create.palettes/limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json +8b1ef23c71f0088230dcdd12374494bfdf700409 data/create/advancements/recipes/create.palettes/limestone_pillar.json +d040f53dfb09a29c39d534d3595e35d058fe5557 data/create/advancements/recipes/create.palettes/limestone_pillar_from_limestone_stonecutting.json +3ee8ab0478344042136058be6cf870289c096bdd data/create/advancements/recipes/create.palettes/mossy_andesite_from_andesite_stonecutting.json +c427e2626e468abee6fb4de83bf76f2d3c051449 data/create/advancements/recipes/create.palettes/mossy_dark_scoria_from_dark_scoria_stonecutting.json +813dec479959bf7a7a428a3ca656c53b67f8fe04 data/create/advancements/recipes/create.palettes/mossy_diorite_from_diorite_stonecutting.json +8f57677ad12ad74265764794a970b31b9643bee2 data/create/advancements/recipes/create.palettes/mossy_dolomite_from_dolomite_stonecutting.json +7ba05e2f27c5fbe0e6fd7626a338ede1a37a2c95 data/create/advancements/recipes/create.palettes/mossy_gabbro_from_gabbro_stonecutting.json +a65d2d91acfb335d22fbafffda91e84827414263 data/create/advancements/recipes/create.palettes/mossy_granite_from_granite_stonecutting.json +7fe51c57ee061b33b25647da030df867c4963a3f data/create/advancements/recipes/create.palettes/mossy_limestone_from_limestone_stonecutting.json +01a3b7a445f9fad73d04f25b5f8c2c1d3ceabe8c data/create/advancements/recipes/create.palettes/mossy_scoria_from_scoria_stonecutting.json +549c1413c986e6abab295a0cd3784b8cf5b21137 data/create/advancements/recipes/create.palettes/mossy_weathered_limestone_from_weathered_limestone_stonecutting.json +6d73c9fb9b80bdb6fcbed9fc22d5d96f2eab9324 data/create/advancements/recipes/create.palettes/oak_window.json +3da6acdecb6de1a0f93cd99766dad34b29abea3d data/create/advancements/recipes/create.palettes/oak_window_pane.json +e8989bcb3be35e7e80fbea52139c5770cca7d63a data/create/advancements/recipes/create.palettes/ornate_iron_window.json +fb6e99d0d4c07a6ffea26e66707b1954f474c4dd data/create/advancements/recipes/create.palettes/ornate_iron_window_pane.json +8a2734dfe0c55b77bb2fb6eeb8baf8c7f77e793f data/create/advancements/recipes/create.palettes/overgrown_andesite_from_andesite_stonecutting.json +ba1ddc8234275e46677c5d8ccd9a52d48d20c166 data/create/advancements/recipes/create.palettes/overgrown_dark_scoria_from_dark_scoria_stonecutting.json +baee20fee4acbf477e35658c7d6d43a03c8594c3 data/create/advancements/recipes/create.palettes/overgrown_diorite_from_diorite_stonecutting.json +f15751cb1ca52d7ad51d5e25afa85789a4c7194b data/create/advancements/recipes/create.palettes/overgrown_dolomite_from_dolomite_stonecutting.json +fb6f39d831bd59e59e1fa42f15c676b49cc0f172 data/create/advancements/recipes/create.palettes/overgrown_gabbro_from_gabbro_stonecutting.json +eee39fd31811b76da16fd5741aa22a91c44da2ed data/create/advancements/recipes/create.palettes/overgrown_granite_from_granite_stonecutting.json +42f7030ab9bbf73459a95dd327408eef315208c8 data/create/advancements/recipes/create.palettes/overgrown_limestone_from_limestone_stonecutting.json +716ff41d50f9e3c2fa508ba7ef575e36c0db89cd data/create/advancements/recipes/create.palettes/overgrown_scoria_from_scoria_stonecutting.json +8990cbe0d0382f77a49857867bf33b87cdc1b675 data/create/advancements/recipes/create.palettes/overgrown_weathered_limestone_from_weathered_limestone_stonecutting.json +d87d9451fdce0a3e51b405364c55e897d5e730ae data/create/advancements/recipes/create.palettes/paved_andesite_from_andesite_stonecutting.json +51458e99d10deefabec0fcd061432856ff433f23 data/create/advancements/recipes/create.palettes/paved_andesite_slab.json +6f332f0bc7ddfea77b05bb68825a53dbf3c693b8 data/create/advancements/recipes/create.palettes/paved_andesite_slab_from_paved_andesite_stonecutting.json +b62ca21e218580b2347defe093e952352ad6df54 data/create/advancements/recipes/create.palettes/paved_andesite_stairs.json +52f706b964e8523779cde3ddfde48890eee60a71 data/create/advancements/recipes/create.palettes/paved_andesite_stairs_from_paved_andesite_stonecutting.json +2a81337b4a9f1aeba89e6da1634e29a6c83d89c5 data/create/advancements/recipes/create.palettes/paved_andesite_wall.json +2bb0837023b56eea532d5d0283c80d61bf719c21 data/create/advancements/recipes/create.palettes/paved_andesite_wall_from_paved_andesite_stonecutting.json +60ef242b3ed4d2e14d1f2655fe990826ede2b3c9 data/create/advancements/recipes/create.palettes/paved_dark_scoria_from_dark_scoria_stonecutting.json +fc913d61b748448ee9c6dd5ee59cf9098acfbc90 data/create/advancements/recipes/create.palettes/paved_dark_scoria_slab.json +aba63e54764a947e2c0101005b7c9813671b1766 data/create/advancements/recipes/create.palettes/paved_dark_scoria_slab_from_paved_dark_scoria_stonecutting.json +896301f44196b730b1885d1e68a1e023c230b4f3 data/create/advancements/recipes/create.palettes/paved_dark_scoria_stairs.json +2344a9c7bfe4e8f84dd522ae6bf60d4ca6cfd1b5 data/create/advancements/recipes/create.palettes/paved_dark_scoria_stairs_from_paved_dark_scoria_stonecutting.json +f5704ec185b6a8372f774686c39479ba40ea9062 data/create/advancements/recipes/create.palettes/paved_dark_scoria_wall.json +9ef8ab62feddd1e43890f08d5745179cfdcbf4cb data/create/advancements/recipes/create.palettes/paved_dark_scoria_wall_from_paved_dark_scoria_stonecutting.json +8aeaa5ab356e79b87cacce1b457cd5487ad6d433 data/create/advancements/recipes/create.palettes/paved_diorite_from_diorite_stonecutting.json +9b32dc419abfd33ec5186ba34e6a9d434a2981e9 data/create/advancements/recipes/create.palettes/paved_diorite_slab.json +c557428e55c819edd7dec54216b094030471502f data/create/advancements/recipes/create.palettes/paved_diorite_slab_from_paved_diorite_stonecutting.json +1a7850b38e3521b8bda636cb76ef1609c2fb8c00 data/create/advancements/recipes/create.palettes/paved_diorite_stairs.json +68365c7376116238444bc138cb940e75054cb77c data/create/advancements/recipes/create.palettes/paved_diorite_stairs_from_paved_diorite_stonecutting.json +2d3b36480a8bad24651499942c5e6f25869e9be6 data/create/advancements/recipes/create.palettes/paved_diorite_wall.json +824a295ee0845fa515b627b7a7bc962fdf17101f data/create/advancements/recipes/create.palettes/paved_diorite_wall_from_paved_diorite_stonecutting.json +69868e7d53236d152c62b1222aec3895591a8927 data/create/advancements/recipes/create.palettes/paved_dolomite_from_dolomite_stonecutting.json +9b563c13e81a8c6376260fdf79344cdc2a230603 data/create/advancements/recipes/create.palettes/paved_dolomite_slab.json +d65009c44026d6df92b4445855d3e6181725d76d data/create/advancements/recipes/create.palettes/paved_dolomite_slab_from_paved_dolomite_stonecutting.json +5450b41d6192e61a4ea8bfa61832cd12de2bdc6c data/create/advancements/recipes/create.palettes/paved_dolomite_stairs.json +2f9162b2cd27211e64b69d946788120869159eb3 data/create/advancements/recipes/create.palettes/paved_dolomite_stairs_from_paved_dolomite_stonecutting.json +1899891c3376205f36723519b6a0491fd5315db9 data/create/advancements/recipes/create.palettes/paved_dolomite_wall.json +5b6bb2f610eb34533a1a8add453d94c41bb61320 data/create/advancements/recipes/create.palettes/paved_dolomite_wall_from_paved_dolomite_stonecutting.json +ade222c92665b26a292796b1996697a80f4ded70 data/create/advancements/recipes/create.palettes/paved_gabbro_from_gabbro_stonecutting.json +8488ca1a2ae08e04855bde8b4ebe0931cc4bb9a7 data/create/advancements/recipes/create.palettes/paved_gabbro_slab.json +7a87a2c3381a4b22a791e8796d44b7553897b588 data/create/advancements/recipes/create.palettes/paved_gabbro_slab_from_paved_gabbro_stonecutting.json +8f42697f89c6e3337723d0a7282c781c8cad6fd9 data/create/advancements/recipes/create.palettes/paved_gabbro_stairs.json +a66e1876f01ccb83510291d371f840536100ae26 data/create/advancements/recipes/create.palettes/paved_gabbro_stairs_from_paved_gabbro_stonecutting.json +db9cb2347bc6e6ca17becbfe9c0da04d2de09d1a data/create/advancements/recipes/create.palettes/paved_gabbro_wall.json +a8bf07dd90519ee6aabb71b58f08600da459e505 data/create/advancements/recipes/create.palettes/paved_gabbro_wall_from_paved_gabbro_stonecutting.json +c0afec6377d978ebac9ef8a5b0585a9bbd78a8f2 data/create/advancements/recipes/create.palettes/paved_granite_from_granite_stonecutting.json +ae2a04a32e8a0ddbdac4de7a6871ff38891b61d9 data/create/advancements/recipes/create.palettes/paved_granite_slab.json +04b16c664831725bf315e252641db2c543629f8a data/create/advancements/recipes/create.palettes/paved_granite_slab_from_paved_granite_stonecutting.json +851f048b7c59e6be3071a4448f2fb3918b50d450 data/create/advancements/recipes/create.palettes/paved_granite_stairs.json +c1779cab42a3ab17a1db629395f47a948a470f0a data/create/advancements/recipes/create.palettes/paved_granite_stairs_from_paved_granite_stonecutting.json +2da5c8319458229c2a30493511b73dccc1a291df data/create/advancements/recipes/create.palettes/paved_granite_wall.json +1ad87946ccea1c44a76be5b61de9a85d787baf31 data/create/advancements/recipes/create.palettes/paved_granite_wall_from_paved_granite_stonecutting.json +c634e051b1554ad2629b5e23388921a1fa2a6d37 data/create/advancements/recipes/create.palettes/paved_limestone_from_limestone_stonecutting.json +94b4542032e38af638247bba0ec81caed75bcf03 data/create/advancements/recipes/create.palettes/paved_limestone_slab.json +be75358f76bc579b013647a4907f287807c22e98 data/create/advancements/recipes/create.palettes/paved_limestone_slab_from_paved_limestone_stonecutting.json +906b2889fd1a1b0a03256734a0abad74cb91bd68 data/create/advancements/recipes/create.palettes/paved_limestone_stairs.json +46f3fec47fb1f4fda4a3164204e5d92d1318d871 data/create/advancements/recipes/create.palettes/paved_limestone_stairs_from_paved_limestone_stonecutting.json +ad09a997f557cd0d507e1aee7ad8c01bb01139c9 data/create/advancements/recipes/create.palettes/paved_limestone_wall.json +b0812a31db9b1e44f1033540894e098b42e61bc4 data/create/advancements/recipes/create.palettes/paved_limestone_wall_from_paved_limestone_stonecutting.json +fa07ab56320800e5f21ad709f4c9afe3e56cbacf data/create/advancements/recipes/create.palettes/paved_scoria_from_scoria_stonecutting.json +e9935db892249ad884eb03f5cd4ee6cb1931111b data/create/advancements/recipes/create.palettes/paved_scoria_slab.json +fbad05d4a443ca09b1a111df1c37d46da7fe9504 data/create/advancements/recipes/create.palettes/paved_scoria_slab_from_paved_scoria_stonecutting.json +746d3108861ffb35fdc1d328f4ff8f7cc8f624df data/create/advancements/recipes/create.palettes/paved_scoria_stairs.json +62e14e81537a13ba502da1f9da92fee9782fee9b data/create/advancements/recipes/create.palettes/paved_scoria_stairs_from_paved_scoria_stonecutting.json +4d373c4428daa64f1e1ef0b031d42b0c84337feb data/create/advancements/recipes/create.palettes/paved_scoria_wall.json +1283823386a36d014460daaea1be43f73634166c data/create/advancements/recipes/create.palettes/paved_scoria_wall_from_paved_scoria_stonecutting.json +c941c582df503992cde742d967b5952bfeb859cf data/create/advancements/recipes/create.palettes/paved_weathered_limestone_from_weathered_limestone_stonecutting.json +31f9c1a655b822ea1a3deec540a36b9237d02aeb data/create/advancements/recipes/create.palettes/paved_weathered_limestone_slab.json +ac95e01fc0fdc4e672c108e9c82584b62227d69a data/create/advancements/recipes/create.palettes/paved_weathered_limestone_slab_from_paved_weathered_limestone_stonecutting.json +8306cf9d81388acead32d89f6fcd4c4d5bd0d862 data/create/advancements/recipes/create.palettes/paved_weathered_limestone_stairs.json +2901607a4573dc39ade929d29c6fa7a3da9a0ecd data/create/advancements/recipes/create.palettes/paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json +37877f00e4d3f11be5ce2a877ed4753879e9834a data/create/advancements/recipes/create.palettes/paved_weathered_limestone_wall.json +abd7628d5d2eda16d560fd489c3b429c788a2760 data/create/advancements/recipes/create.palettes/paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json +06b39410e655585243a10a9e8289537f675c5bf2 data/create/advancements/recipes/create.palettes/polished_dark_scoria.json +0b833dcb8fc5a241a3d2f3ef3f9a2bd64d528062 data/create/advancements/recipes/create.palettes/polished_dark_scoria_from_dark_scoria_stonecutting.json +5fa067c33270aa84c27f919ffe543f196661b6a8 data/create/advancements/recipes/create.palettes/polished_dark_scoria_slab.json +d1bec8dcef19862ecf3ee16c1e7f3b7f4d9952fd data/create/advancements/recipes/create.palettes/polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json +88778854dcfd9149b600dfda13d6927bff99106c data/create/advancements/recipes/create.palettes/polished_dark_scoria_stairs.json +3600a39ac6d724907e25c9186d3ed9eb11c2ca9f data/create/advancements/recipes/create.palettes/polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json +b848bfbcbaf788d63a1c8e40d8d2649c02bd320a data/create/advancements/recipes/create.palettes/polished_dark_scoria_wall.json +537811644f4c918a05e00e387e91b8d71f69ca61 data/create/advancements/recipes/create.palettes/polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json +fbb7e6da5ff92856e99f11903a3ac9e97dde28b3 data/create/advancements/recipes/create.palettes/polished_dolomite.json +c250ad8f804de880bd2a9ade973ca57bc7ab9b5d data/create/advancements/recipes/create.palettes/polished_dolomite_from_dolomite_stonecutting.json +fe87c23cfd8dc0fbe61b3a8e53bfc64a528ba39c data/create/advancements/recipes/create.palettes/polished_dolomite_slab.json +d98c13ada0f8f549befb12e4408b746fe5cf4adc data/create/advancements/recipes/create.palettes/polished_dolomite_slab_from_polished_dolomite_stonecutting.json +bf5d73ecdaec56999cde2c458b5a9266aede1779 data/create/advancements/recipes/create.palettes/polished_dolomite_stairs.json +f601819b1d7d5c022fc5df6c89fac8c3e7294030 data/create/advancements/recipes/create.palettes/polished_dolomite_stairs_from_polished_dolomite_stonecutting.json +046ec7fc7efacd7f91d1176d95bc177fa0f540d4 data/create/advancements/recipes/create.palettes/polished_dolomite_wall.json +f5c5fe1a3318cb9d49af379d318279ab2ad8eb0a data/create/advancements/recipes/create.palettes/polished_dolomite_wall_from_polished_dolomite_stonecutting.json +e98f0c199ec9e71eda3c7be0c315f0e7b6592364 data/create/advancements/recipes/create.palettes/polished_gabbro.json +d767bd8b2732c0309feb0095b1f0cf8227a9f445 data/create/advancements/recipes/create.palettes/polished_gabbro_from_gabbro_stonecutting.json +1298b9734779bca3888f89e3a0fede3f40454cbb data/create/advancements/recipes/create.palettes/polished_gabbro_slab.json +302efe38105e57e9a61cfb9101e81547d8e8c361 data/create/advancements/recipes/create.palettes/polished_gabbro_slab_from_polished_gabbro_stonecutting.json +0580a585d855416bb2bd232b36c1877e412b993d data/create/advancements/recipes/create.palettes/polished_gabbro_stairs.json +b8423cb0e61957e194422102c7d4341f61c34b06 data/create/advancements/recipes/create.palettes/polished_gabbro_stairs_from_polished_gabbro_stonecutting.json +1510bc1446e73929a386f19a254754da7146ed89 data/create/advancements/recipes/create.palettes/polished_gabbro_wall.json +be242ca6735ccdab4fc9ba1713407095fe90bb18 data/create/advancements/recipes/create.palettes/polished_gabbro_wall_from_polished_gabbro_stonecutting.json +635e4c9807769f8bf0ca3778f0ee454189453465 data/create/advancements/recipes/create.palettes/polished_limestone.json +be6c730ca1a9366c64aef8d61b367e555e01a0f6 data/create/advancements/recipes/create.palettes/polished_limestone_from_limestone_stonecutting.json +30c328ad6162c2ce0b0a652fab7c43de7c059d56 data/create/advancements/recipes/create.palettes/polished_limestone_slab.json +3db530fc0116090aecb154c8bb55541a71764889 data/create/advancements/recipes/create.palettes/polished_limestone_slab_from_polished_limestone_stonecutting.json +7b0ce80d5ca52d8b7670cde8171c57c4f7225fcd data/create/advancements/recipes/create.palettes/polished_limestone_stairs.json +8eedf45c50378f0508afdf642f9c2cf4053eacbb data/create/advancements/recipes/create.palettes/polished_limestone_stairs_from_polished_limestone_stonecutting.json +cddfe8e9812cf57096014352a22413e854622dcf data/create/advancements/recipes/create.palettes/polished_limestone_wall.json +77225011d6185bd26f5f4111c98f394e7382a170 data/create/advancements/recipes/create.palettes/polished_limestone_wall_from_polished_limestone_stonecutting.json +35fe45bf268818d6b87a646343cdbdf705c00c77 data/create/advancements/recipes/create.palettes/polished_scoria.json +7d95e67a4bcf8de2090a54b9177b08853409f5b8 data/create/advancements/recipes/create.palettes/polished_scoria_from_scoria_stonecutting.json +16681377b2657813fc157554efc03bc1d5853f6d data/create/advancements/recipes/create.palettes/polished_scoria_slab.json +3f0965d057e1b564a4896d2a31d657500ac16a94 data/create/advancements/recipes/create.palettes/polished_scoria_slab_from_polished_scoria_stonecutting.json +36c1d292e441ab41daaa8fd195e914093dfc21b8 data/create/advancements/recipes/create.palettes/polished_scoria_stairs.json +4d54bc2c8d80c4c90ecd7b12170d7e4f92481e9e data/create/advancements/recipes/create.palettes/polished_scoria_stairs_from_polished_scoria_stonecutting.json +a662b4b7f175c47d9c0dbc033104a49b4bb1da4d data/create/advancements/recipes/create.palettes/polished_scoria_wall.json +2aa2dd503a1bbb2fc398ed32c4c4d8928146e78a data/create/advancements/recipes/create.palettes/polished_scoria_wall_from_polished_scoria_stonecutting.json +79cc516849cb01f9e016edd3b7dfc91ed35faedd data/create/advancements/recipes/create.palettes/polished_weathered_limestone.json +96dbde9aeb865c1c11e4b63434450888315e57b5 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_from_weathered_limestone_stonecutting.json +e46847d02ab7bfb2bc1da1a4ad4b7b54a3a28559 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_slab.json +2e15c08a77341dafd9f9fcaccf840aa734cf6dd1 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json +0debf9d9e419550ba14dcd8d65e8de51dab0bfaa data/create/advancements/recipes/create.palettes/polished_weathered_limestone_stairs.json +75480d0c13a80d9edf93a0eff947e5165db011c1 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json +7b4b27211174e774169132a50da7bfd63ff28b30 data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall.json +81a759d9b069faedee49107642d947ea1bf1ac6c data/create/advancements/recipes/create.palettes/polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json +874023eabafb85aefacc86f395c5d4ef0cc9cfac data/create/advancements/recipes/create.palettes/scoria_bricks_from_scoria_stonecutting.json +a9969fd00f8cba428715d27a8ab6af6ba6473c8a data/create/advancements/recipes/create.palettes/scoria_bricks_slab.json +1d129bb8d359de50344dcb46f77899b0651d7817 data/create/advancements/recipes/create.palettes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json +3344137d23da0c03c74b60e7619a7efb03b64ec9 data/create/advancements/recipes/create.palettes/scoria_bricks_stairs.json +bf35a395a7f459ef4c54293efeeba9cd16140c41 data/create/advancements/recipes/create.palettes/scoria_bricks_stairs_from_scoria_bricks_stonecutting.json +379383047acaa11b179e79f3f03a3baf3cfd4bcf data/create/advancements/recipes/create.palettes/scoria_bricks_wall.json +dc5df4f4feddc24a7c78b25b6ed3e7ed458342f1 data/create/advancements/recipes/create.palettes/scoria_bricks_wall_from_scoria_bricks_stonecutting.json +3efe54b00bc7398875cf81a5317224618b6e0aee data/create/advancements/recipes/create.palettes/scoria_cobblestone_from_scoria_stonecutting.json +1332cd08822ecfdfda973e0ff7ffd5d3f18366cf data/create/advancements/recipes/create.palettes/scoria_cobblestone_slab.json +61b962acdd3be898cc6a85cd9a3982fecbe67a70 data/create/advancements/recipes/create.palettes/scoria_cobblestone_slab_from_scoria_cobblestone_stonecutting.json +487cb55b0d3419f67e371115be89598e478ffe9a data/create/advancements/recipes/create.palettes/scoria_cobblestone_stairs.json +b852a9a59499c113f387ac06fdb27d3d455f18e3 data/create/advancements/recipes/create.palettes/scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json +a43d45efa0fb0d3eaace93c18d80a14d4dcddf38 data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall.json +e340721aa78f260c2666214aa149241a37de216e data/create/advancements/recipes/create.palettes/scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json +53cc5b006a19158e04094308accb66a7c35d2b26 data/create/advancements/recipes/create.palettes/scoria_pillar.json +53712a9ae59976dece952bea7ecaf73b679448f0 data/create/advancements/recipes/create.palettes/scoria_pillar_from_scoria_stonecutting.json +459538728b06d4c72d7e65d8f7c98a75a48f3a52 data/create/advancements/recipes/create.palettes/spruce_window.json +6aaf96cdaa845b63ab67ba4b968ea4d811e2fef5 data/create/advancements/recipes/create.palettes/spruce_window_pane.json +ab0cacba05f8def9cc91b993d464c297babf6fc3 data/create/advancements/recipes/create.palettes/tiled_glass_from_glass_colorless_stonecutting.json +d40c7ce6b79630ace624d17b92667286998d93bc data/create/advancements/recipes/create.palettes/tiled_glass_pane.json +24fafe59013a3e0439a73ea4e0cef114fc9a8e4b data/create/advancements/recipes/create.palettes/vertical_framed_glass_from_glass_colorless_stonecutting.json +cd5ee73117872ee98434be1d24b4f271f7e94a48 data/create/advancements/recipes/create.palettes/vertical_framed_glass_pane.json +ef0d351d13f7e9c633581b537c59bddc1fa4c3a4 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json +1c931e15af3e5b5f78a0a62b8c159fdf9f0d7f3e data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_slab.json +bba639941526cc23570e328e0b5e2a5545667219 data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json +1101f434c85add4fa1c37ab2b80b4e6604ae52bf data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_stairs.json +49489a710e0241bb0b6f4cd85a33f9025bddc6fb data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_stairs_from_weathered_limestone_bricks_stonecutting.json +d3ee4e8db3379532c98508cf5cf8ce4b6424cdfa data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_wall.json +3b903bfb6280dd3ae1962118928054161c88fbda data/create/advancements/recipes/create.palettes/weathered_limestone_bricks_wall_from_weathered_limestone_bricks_stonecutting.json +b77c5aecd0b6dd37a0c69431ab7a4a40fe0770eb data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_from_weathered_limestone_stonecutting.json +6d0c113b3e873193c2f009a4f09d5c563abce0e4 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_slab.json +09eb711ca2cf9dca77f4aef55602a28dd72289b3 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_slab_from_weathered_limestone_cobblestone_stonecutting.json +28c05429880821ed055a938c04b865fa577eeade data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_stairs.json +8ea05c6cdb313ff395d1f21cfb40e2d939dadf20 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json +4d838d8ceaf207a59554444d82b80c31807341bc data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall.json +e548127075559307b767b802f4809ed52eedd543 data/create/advancements/recipes/create.palettes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json +23ba836640a4d543db6f1cb72cc86a6543fe2fbe data/create/advancements/recipes/create.palettes/weathered_limestone_pillar.json +9790a16fd56e47cb5abbfad4062672303c224d9f data/create/advancements/recipes/create.palettes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json +e0b9edc5e59647e7dd99be17369b263dadf407d4 data/create/advancements/refined_radiance.json +fc12b590ab8f5ac901db21c67ba3850f157e1421 data/create/advancements/root.json +8529fc7919b6a3240ede2bb8043906bb72fb7f9e data/create/advancements/shadow_end.json +c1f162e773518f6b1481221e3e63f9ba33fed647 data/create/advancements/shadow_steel.json +290e1248254abcfd7f1e73906be25662331378ec data/create/advancements/shifting_gears.json +fedeed4c9be574d7c5ddd68b4ab74588f345d3c6 data/create/advancements/speedometer.json +44910ea5533c1236fbb185587a58b299a30b0c66 data/create/advancements/stressometer.json +6b815a2e05e3cd09354e05578515a0060675b67a data/create/advancements/upgraded_zapper.json +fe37896bb804d2be9b8abf3744c5b9b7bc1c086e data/create/advancements/wand_of_symmetry.json +50935316d27336ef0858d5a7c5ccc563d288a494 data/create/advancements/water_wheel.json +4513d0c4dd40c948028a3fc8e6f3b4d0356c0a90 data/create/advancements/wrench.json +33c1224f4f6a7bb0a3439eb0f8b8af9341b62574 data/create/advancements/zapper.json +054392b614e410c6d1b37c546b4bfd36f50aec4a data/create/loot_tables/blocks/acacia_window.json +64b95066bf96a3f0de95919d526243ba4f5a3ade data/create/loot_tables/blocks/acacia_window_pane.json +191b117d0a25940248ed54d419ea0bb0afb482d0 data/create/loot_tables/blocks/adjustable_crate.json +3e1314b2ccb1eade4f8ff7caa429ce4b327f0d6b data/create/loot_tables/blocks/adjustable_pulley.json +417da41ebd0520ae22ddc3541eb490daf2af95dd data/create/loot_tables/blocks/adjustable_pulse_repeater.json +d0ba402852cea164f6d279a9b37cc38ac3958574 data/create/loot_tables/blocks/adjustable_repeater.json +0d139e302f4a11438b0acd664c0df15b41040f69 data/create/loot_tables/blocks/analog_lever.json +d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_belt_funnel.json +1d04146c468ce4bf898b596c171b3ba3146d7d66 data/create/loot_tables/blocks/andesite_bricks.json +b67ea51eaed1e847317829636cbf5967522e73d1 data/create/loot_tables/blocks/andesite_bricks_slab.json +0ba4528089294c5229e1904dc3191f604138cf8e data/create/loot_tables/blocks/andesite_bricks_stairs.json +db2d27969cb53d9489e7c7e4bf60864fa89b29f4 data/create/loot_tables/blocks/andesite_bricks_wall.json +cb36b039a511aca643fe674a63de8d6ad8478256 data/create/loot_tables/blocks/andesite_casing.json +d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_chute_funnel.json +906155b0d00438e695d34dd14b374d94e691460d data/create/loot_tables/blocks/andesite_cobblestone.json +6d2f1bd619b131803d5bc9e393a2c67e03c39ff6 data/create/loot_tables/blocks/andesite_cobblestone_slab.json +6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json +36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json +d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json +6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json +317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json +14bf1764b9313893b6a6f57094f9506ac9fa71a8 data/create/loot_tables/blocks/basin.json +c7f81e30c31837a287d6d6040cdb02c7dec11441 data/create/loot_tables/blocks/belt.json +1104e323abb2a8c25769c47dc5d1154965113cc9 data/create/loot_tables/blocks/belt_observer.json +67a8e2513c3cb09e6fe80279fda94f79d5018c37 data/create/loot_tables/blocks/birch_window.json +bf1d5843f93533f84bc4adec5b77da2114fa2025 data/create/loot_tables/blocks/birch_window_pane.json +cccc209d172cc7bac76f1b4ac79085ee90742ab2 data/create/loot_tables/blocks/black_seat.json +798ef290b388dee758df3e779b4b1c9289955f7b data/create/loot_tables/blocks/blaze_heater.json +3834f7ac2bbc42cead02d4973842adb9ad97e6bf data/create/loot_tables/blocks/blue_seat.json +1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json +70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json +8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json +1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_chute_funnel.json +1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json +6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json +d415862a0abe20e8c5c2c8125bb672065330a9bc data/create/loot_tables/blocks/brown_seat.json +0be542fef3bc0e1a0d556883568a1400a8b97df1 data/create/loot_tables/blocks/cart_assembler.json +ab820bbaaf67c6697dfbab33c05fb73b18c70bfb data/create/loot_tables/blocks/chiseled_dark_scoria.json +1f907058afd7d8dbe628c9ab315b8ddbdccfbfda data/create/loot_tables/blocks/chiseled_dolomite.json +53f5d88abfda875b5ec29c2229a7e7371d66503c data/create/loot_tables/blocks/chiseled_gabbro.json +4b09725707bac4c5813e2bb489ff848d0d964ae9 data/create/loot_tables/blocks/chiseled_limestone.json +43f446abd3c1c184a08645979edf620e59955a30 data/create/loot_tables/blocks/chiseled_scoria.json +adde89e46b12de1eee6fd0c5cb98c5f45feefc15 data/create/loot_tables/blocks/chiseled_weathered_limestone.json +07ccc1576a71338cb73c4e06f8c28a2c86843877 data/create/loot_tables/blocks/chute.json +778b53c36d73b6e9c78fd6c091c9c3535c3c18f7 data/create/loot_tables/blocks/clockwork_bearing.json +d76113310fc56eca6382d44df174096f2210d416 data/create/loot_tables/blocks/clutch.json +673ba3a5deae9133b917d16c9eb87fe4c2873c8a data/create/loot_tables/blocks/cogwheel.json +f38802b919c49f162f102d6e5d94113f05bf4ab1 data/create/loot_tables/blocks/copper_block.json +5a65a18ea787130ac7b8f5652bfa5ed187446649 data/create/loot_tables/blocks/copper_casing.json +31a51237763c374b7cdf39b9b62c14e965871047 data/create/loot_tables/blocks/copper_ore.json +a5a7ba88a1d38da83b37bbe842dc7cc0544f37be data/create/loot_tables/blocks/copper_shingles.json +b160899aa785dc54d8c6cc095337f70b81f3e44f data/create/loot_tables/blocks/creative_crate.json +d8f2f8921b9200b1d9476a77ee1be32c25308ac3 data/create/loot_tables/blocks/creative_motor.json +c28fa42746a4d5ca2f824001b67e58673810169e data/create/loot_tables/blocks/crushing_wheel.json +205f5899101262f31f5c1a88bb7d954918d08d04 data/create/loot_tables/blocks/crushing_wheel_controller.json +d370ee874b5b6b98e9a8c368218fe61f644d956d data/create/loot_tables/blocks/cuckoo_clock.json +49a14b9e93abdf02a7aef9c0c4085ac89617fae4 data/create/loot_tables/blocks/cyan_seat.json +fd309e1d39dcbcb25c3361edecd8c9afa0f847d0 data/create/loot_tables/blocks/dark_oak_window.json +58e6307ba0efa65a0715662a391fe7dc6fba0c68 data/create/loot_tables/blocks/dark_oak_window_pane.json +7a40002e4c05f6456b52558b9ee9607cfc868a69 data/create/loot_tables/blocks/dark_scoria.json +502160551afd210c68582a1dfd41a2df720f53a1 data/create/loot_tables/blocks/dark_scoria_bricks.json +5bce6b714e1131ccc11a670f57fa627cbb0f4409 data/create/loot_tables/blocks/dark_scoria_bricks_slab.json +265bb133af68497d9b4ba4bd418a198506caa45b data/create/loot_tables/blocks/dark_scoria_bricks_stairs.json +43fd6e4e2e140416245f7e7e4a680e347a446fc5 data/create/loot_tables/blocks/dark_scoria_bricks_wall.json +ef1beeb856cb30d381fd4f1cb4d2bf62fc444e52 data/create/loot_tables/blocks/dark_scoria_cobblestone.json +3dc33d264a78b21915ee4dcaef9fc8a989a90ae2 data/create/loot_tables/blocks/dark_scoria_cobblestone_slab.json +7b55b57140f7f04e39c951958cd4b62e17621761 data/create/loot_tables/blocks/dark_scoria_cobblestone_stairs.json +76457f3ec7c2d3874866ce8eb894f7bd9cfd59ee data/create/loot_tables/blocks/dark_scoria_cobblestone_wall.json +be851f6643d151ed464e4164bc2b7ca145e5ff82 data/create/loot_tables/blocks/dark_scoria_pillar.json +cf9be747e10a98f3f3aabb95c9753f39d806f73b data/create/loot_tables/blocks/deployer.json +5b46f6003bfe393b43ea0447fffcf7ae3bf969b1 data/create/loot_tables/blocks/depot.json +5c8ca846c3fb348fea628035e1670208e386516b data/create/loot_tables/blocks/diorite_bricks.json +427fea1465652db87a2c192934511b972ecfcedf data/create/loot_tables/blocks/diorite_bricks_slab.json +bdaba62199f7a65e1149b742aaaf0c23a1e149b0 data/create/loot_tables/blocks/diorite_bricks_stairs.json +17c768f01d476fc263ac4c3d2b588412f3c1198e data/create/loot_tables/blocks/diorite_bricks_wall.json +634c0fbb429c8f8350a790fbaf44338a7d3e299e data/create/loot_tables/blocks/diorite_cobblestone.json +1b07173a3b2e57a036fbec2ffac7f4522ad5f1c8 data/create/loot_tables/blocks/diorite_cobblestone_slab.json +5141eec8eebed0feec906618dd3474ea402fbf28 data/create/loot_tables/blocks/diorite_cobblestone_stairs.json +f3c963cfd51069876140373f410e868706744e9b data/create/loot_tables/blocks/diorite_cobblestone_wall.json +fdcf47cddebca81730ac122925b01daeddf9233d data/create/loot_tables/blocks/diorite_pillar.json +7aa075c7fbe97447422bfcb95afb3bbe3b26301c data/create/loot_tables/blocks/dolomite.json +7ecdbfa3ebfc6865833bafed06ed7cd6eef58345 data/create/loot_tables/blocks/dolomite_bricks.json +61d2020cb26b67467711d6dd4f2381c0518acdd9 data/create/loot_tables/blocks/dolomite_bricks_slab.json +699815e110c76bcb793efdfedcb8ac3a5b9b7131 data/create/loot_tables/blocks/dolomite_bricks_stairs.json +fea6a8aa0997360e2713c159b19cb89858ab5982 data/create/loot_tables/blocks/dolomite_bricks_wall.json +cfa4afad6cba1706474ee878b0043aa6cb2c1075 data/create/loot_tables/blocks/dolomite_cobblestone.json +f1d9565dd7e9d57832581a3774084f9390cf23b6 data/create/loot_tables/blocks/dolomite_cobblestone_slab.json +59ff2dc7c0663b0a041a8b4dc66af3a17e117aa4 data/create/loot_tables/blocks/dolomite_cobblestone_stairs.json +d5fc5b3dc612cd748117e9d8b0ecda76e73f4514 data/create/loot_tables/blocks/dolomite_cobblestone_wall.json +6121c99e6e037dda9022af3a414aee444467ac1b data/create/loot_tables/blocks/dolomite_pillar.json +503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json +9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json +b3849bece65e13128fdeb033b156cf6615bc72f8 data/create/loot_tables/blocks/encased_shaft.json +5a47c1535c866184b4ffca65763f5676f319e0aa data/create/loot_tables/blocks/extractor.json +ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json +31f2e6932505c68b28e92221a37144f69161c376 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json +413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json +b51e0f9df7297f6d98d7fc24202c01c8437b613a data/create/loot_tables/blocks/fancy_andesite_bricks_wall.json +1e0f7ab66554911b37ffeeceef4d13ad3c12c7cf data/create/loot_tables/blocks/fancy_dark_scoria_bricks.json +65c7ec7034462ccf9bf4237f3d7a5a07ea613170 data/create/loot_tables/blocks/fancy_dark_scoria_bricks_slab.json +692b7aab0fa9a1610cc87b469172baccd6f206bb data/create/loot_tables/blocks/fancy_dark_scoria_bricks_stairs.json +5600f9afd4271045383332799cae926cae03691e data/create/loot_tables/blocks/fancy_dark_scoria_bricks_wall.json +b272bdf3a70adb5477e73f1a6db112dadf83e750 data/create/loot_tables/blocks/fancy_diorite_bricks.json +b5f76570503a5f77062e529263a9a4cbe0d7bfa6 data/create/loot_tables/blocks/fancy_diorite_bricks_slab.json +686cf8fe6950fd336755ed6a65cd41f611a8cba7 data/create/loot_tables/blocks/fancy_diorite_bricks_stairs.json +a76222e64356951c6038c4b26a28465a1c51f609 data/create/loot_tables/blocks/fancy_diorite_bricks_wall.json +f21cc226848e6d65b1c1167acf6a84be97e22b8a data/create/loot_tables/blocks/fancy_dolomite_bricks.json +fa3123cd6b14bbb4090e2b1cd15d48a8f9c1ff95 data/create/loot_tables/blocks/fancy_dolomite_bricks_slab.json +b1cb60875d96d403734793c848cb48d1af003ebe data/create/loot_tables/blocks/fancy_dolomite_bricks_stairs.json +35ea72b6aa72d027be3f565ffa8315b99d3f55d9 data/create/loot_tables/blocks/fancy_dolomite_bricks_wall.json +6d7ebe8708748780865a8c5c9acd1ea338734951 data/create/loot_tables/blocks/fancy_gabbro_bricks.json +99893d8bd3dac544d447c3023d858f497cb97556 data/create/loot_tables/blocks/fancy_gabbro_bricks_slab.json +dc70fcfb5bd4baf5418b630f5e3a8724e0bdad25 data/create/loot_tables/blocks/fancy_gabbro_bricks_stairs.json +030b562f049fbd403efbc84b88efcb6988e9ed74 data/create/loot_tables/blocks/fancy_gabbro_bricks_wall.json +c9f185553e94cd941a4058ab2194c279919c7778 data/create/loot_tables/blocks/fancy_granite_bricks.json +f15c6758244806514329ab21fb46a763b6785110 data/create/loot_tables/blocks/fancy_granite_bricks_slab.json +70266c8f9d1b150da78c40f3fd5ef51cd9e11090 data/create/loot_tables/blocks/fancy_granite_bricks_stairs.json +04fc099dc4f0e7e1e03a4e162c1c9f8e1443817f data/create/loot_tables/blocks/fancy_granite_bricks_wall.json +a919a7333a2309392ba6908cd2330d014c0b44da data/create/loot_tables/blocks/fancy_limestone_bricks.json +5227c512cf9e75f36eb8a89c2aca8139392d6e7e data/create/loot_tables/blocks/fancy_limestone_bricks_slab.json +01d9d1a53ee36a84b689ea9018ed97b396dadf52 data/create/loot_tables/blocks/fancy_limestone_bricks_stairs.json +7d27790caf8d617c178f7b13cc6424813fad4f1f data/create/loot_tables/blocks/fancy_limestone_bricks_wall.json +03eaefe79ab0b61ad0bd0109db995059ed036d60 data/create/loot_tables/blocks/fancy_scoria_bricks.json +557e9825375f8486f61185bd8ed2433c63f6f845 data/create/loot_tables/blocks/fancy_scoria_bricks_slab.json +5f8f0283601f6abc1e0ee19861fc4eb8dfcd2914 data/create/loot_tables/blocks/fancy_scoria_bricks_stairs.json +664b145ec54ad8e2a26fac4ba64de9dc7c9d92e3 data/create/loot_tables/blocks/fancy_scoria_bricks_wall.json +7580387fd66509a5a265f1a332666b96f9ca2355 data/create/loot_tables/blocks/fancy_weathered_limestone_bricks.json +e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data/create/loot_tables/blocks/fancy_weathered_limestone_bricks_slab.json +1be3aae5c0aa8b3c3750db79699e9350adb12231 data/create/loot_tables/blocks/fancy_weathered_limestone_bricks_stairs.json +6bb505bad78cbb01a5cb5a069435bf4ed0e62adf data/create/loot_tables/blocks/fancy_weathered_limestone_bricks_wall.json +c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/fluid_pipe.json +108d27b697d2ea0719d74a704c6e344a8d63375b data/create/loot_tables/blocks/fluid_tank.json +f37526c092c645045c22674dea6c7b1ec503c9c3 data/create/loot_tables/blocks/flywheel.json +ce0bb978b11935bc2d1218445f8ab18099af6b8a data/create/loot_tables/blocks/framed_glass.json +89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data/create/loot_tables/blocks/framed_glass_pane.json +4063880eda871fe63a4eb549a19daecabce849e5 data/create/loot_tables/blocks/furnace_engine.json +1070cba1c0f46cf7ebe31089f35333f5eadda6e4 data/create/loot_tables/blocks/gabbro.json +0356e003d8890d31b89d0ad98e32aae892da71f9 data/create/loot_tables/blocks/gabbro_bricks.json +dfecc18b03f1037bde2cbf02bc85c5d176b29828 data/create/loot_tables/blocks/gabbro_bricks_slab.json +e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_bricks_stairs.json +7064a46c81963ad06e14c1ed2f5a885a8895c459 data/create/loot_tables/blocks/gabbro_bricks_wall.json +54fb8b5b8ab3a22197e3c1b5b04767b898377da8 data/create/loot_tables/blocks/gabbro_cobblestone.json +986300390270e170b96db152017f5939c0e0653c data/create/loot_tables/blocks/gabbro_cobblestone_slab.json +54879fe6ca3b7271fbb94ec26bef1c3031942d4d data/create/loot_tables/blocks/gabbro_cobblestone_stairs.json +ae19749df10663efc51b8b27af310164f250ed38 data/create/loot_tables/blocks/gabbro_cobblestone_wall.json +e8d09c919e3b8125d7da0f38383c01bcfc61c7a8 data/create/loot_tables/blocks/gabbro_pillar.json +b0109b4a4f0f738cbbe6b5911e8c3c0310b76f99 data/create/loot_tables/blocks/gearbox.json +5f39461c5c9d3ad8d84195b06b9468fe2b0fb269 data/create/loot_tables/blocks/gearshift.json +74371bc2b516ad9742ca081d82dc1b7f642e25b4 data/create/loot_tables/blocks/granite_bricks.json +29f2cbc04f898bb8ff48055a7e43ded85e635bf9 data/create/loot_tables/blocks/granite_bricks_slab.json +6b2c74992f261df4f539ff65919e2f4a58b146ec data/create/loot_tables/blocks/granite_bricks_stairs.json +8916645260d99be1e13421d343980d863a14a695 data/create/loot_tables/blocks/granite_bricks_wall.json +fa0ddf45d108f55550164113cb5cfd002586a9d4 data/create/loot_tables/blocks/granite_cobblestone.json +1889a94c41a2d6bcc24cc7b9546a2d75bd297fbd data/create/loot_tables/blocks/granite_cobblestone_slab.json +feca8a1f62e0e13fcb2252d5f782d74938b84431 data/create/loot_tables/blocks/granite_cobblestone_stairs.json +1d225a68b09d6f389aa7ed48aa05979bdaa482a9 data/create/loot_tables/blocks/granite_cobblestone_wall.json +87a4ac3db5ec80613b940abccc72fc4b37cee0ba data/create/loot_tables/blocks/granite_pillar.json +d014357b3a467b23473c8223f32471a04a9ff94c data/create/loot_tables/blocks/gray_seat.json +a71599eecd3f1179e3d0367623460e798828aa6d data/create/loot_tables/blocks/green_seat.json +9bdc47ea3ffc52f037f12f40f387e6b72a352c4e data/create/loot_tables/blocks/hand_crank.json +22012e7759f1dbccbb06bcaf0311a54190270825 data/create/loot_tables/blocks/horizontal_framed_glass.json +5d3f585539942f13bbc458a0a002849c1f034fc1 data/create/loot_tables/blocks/horizontal_framed_glass_pane.json +cf2bfae903e7f8510962e672b6266c0e74176aae data/create/loot_tables/blocks/jungle_window.json +1a3a19517f95fc632286d3cc693bfee4a59dfa0a data/create/loot_tables/blocks/jungle_window_pane.json +4d948f80fb7a8b6b99897544681f43fe3d2058f0 data/create/loot_tables/blocks/large_cogwheel.json +49cab25e7aa6431d4c1e180cdceb76b6f6f73fe5 data/create/loot_tables/blocks/layered_andesite.json +7610175c7f064bcb3ba95d20d37dfae5f9ca7bac data/create/loot_tables/blocks/layered_dark_scoria.json +03673bb95dcb0a5f2fac2b0dc6b7d6b988787f8b data/create/loot_tables/blocks/layered_diorite.json +bc9a3e6dfa7635e7385c540ebc15716ce04b7071 data/create/loot_tables/blocks/layered_dolomite.json +870016126097f1fcffb3a9f0402667a8b3aa7d9e data/create/loot_tables/blocks/layered_gabbro.json +fa8a5922f7346a15a80b5c7e5dfc26d24ea98728 data/create/loot_tables/blocks/layered_granite.json +197ecf9c00c06f6014ecbec678a5466492902cb0 data/create/loot_tables/blocks/layered_limestone.json +0ec9e366708637a01e600a2a12cc267d81b3f69b data/create/loot_tables/blocks/layered_scoria.json +54816065cd735dfe53b1eb551110ba18c6e3746a data/create/loot_tables/blocks/layered_weathered_limestone.json +b403848d3a4b4ad7a048e70c21e200e40d0c67e3 data/create/loot_tables/blocks/light_blue_seat.json +0cc2b20cb6e2dae6cf9d759c85926663f6066c99 data/create/loot_tables/blocks/light_gray_seat.json +f7893090c6ecb4862c90c408b7f9ce8316f8b608 data/create/loot_tables/blocks/lime_seat.json +7dfd638cc6f0d22bbc8fcbdb7212a3bfc8c85223 data/create/loot_tables/blocks/limesand.json +9d585f677a32a2336df5f17b5b389cdee867939f data/create/loot_tables/blocks/limestone.json +57134f7d3d32fc1c48f2a20c4be84388587092bc data/create/loot_tables/blocks/limestone_bricks.json +cb315814960850b5080598b89ee94c833b5048f7 data/create/loot_tables/blocks/limestone_bricks_slab.json +41ed1d0750e8ddd7e7e75fd7e4cafde6346d1afe data/create/loot_tables/blocks/limestone_bricks_stairs.json +0b8b29ef8b5da9527fb56e676de210f7f5b4c1b4 data/create/loot_tables/blocks/limestone_bricks_wall.json +9fa612159a498b2475489f984ce4fee18f971568 data/create/loot_tables/blocks/limestone_cobblestone.json +837129095bd84142e00c18ed03be39ad178627a9 data/create/loot_tables/blocks/limestone_cobblestone_slab.json +8db1e3f0dac48b91a4839206a7d5a88cef415fdc data/create/loot_tables/blocks/limestone_cobblestone_stairs.json +92fb16606f289ad33860270d098fad2522b24e09 data/create/loot_tables/blocks/limestone_cobblestone_wall.json +371115e5ceb08c07a9ab2371509960c31e0baa8a data/create/loot_tables/blocks/limestone_pillar.json +aa751d2e8a7889907c08c4bec6f6ca266230b6d7 data/create/loot_tables/blocks/linear_chassis.json +dac789cf53b00eed34308848b5e267b7ccec090c data/create/loot_tables/blocks/linked_extractor.json +7af5a13c9e10903b11732fbc01ae3299328216f0 data/create/loot_tables/blocks/linked_transposer.json +9e5e017cd3b4f544f487a5ca22ef610a4addc8ec data/create/loot_tables/blocks/magenta_seat.json +e64c32da44b7e92dbef36fcb448c42b9bd9ae47c data/create/loot_tables/blocks/mechanical_arm.json +90ddf7b5c3b61758a4ad12a1e6ef16fe6ebf7794 data/create/loot_tables/blocks/mechanical_bearing.json +e93872a90e4f4642a003539e7db28fdacfdcd114 data/create/loot_tables/blocks/mechanical_crafter.json +dee1e06d953c0ca4e37799aee9073fdd43a3dc76 data/create/loot_tables/blocks/mechanical_drill.json +95fa2d3e9cf4aacc42617b1f5ddbf25eeb025770 data/create/loot_tables/blocks/mechanical_harvester.json +b12efeeef5682966016ce6ea2d171eecd33d9667 data/create/loot_tables/blocks/mechanical_mixer.json +2599be757a55464af338ef0a01e3772690d7eaf8 data/create/loot_tables/blocks/mechanical_piston.json +1087b6c6d88dc7c71ed81e1d3e180fe065e6d098 data/create/loot_tables/blocks/mechanical_piston_head.json +d9e217fcc668a04ee495968f8ccf9966271b6cea data/create/loot_tables/blocks/mechanical_plough.json +0e0742d066bda87ba5cc835a4028efb99e70b2f2 data/create/loot_tables/blocks/mechanical_press.json +e94a78187bcf7f235244b2c656732ba9a5821dd0 data/create/loot_tables/blocks/mechanical_pump.json +321daee16d6fad25ecc84da1b2830556d67e2a19 data/create/loot_tables/blocks/mechanical_saw.json +efbd4689e7d6740b80357203d1e02196f0752efa data/create/loot_tables/blocks/millstone.json +205f5899101262f31f5c1a88bb7d954918d08d04 data/create/loot_tables/blocks/minecart_anchor.json +53215ac772bee2f88052266b82213aaf668660e9 data/create/loot_tables/blocks/mossy_andesite.json +1bf4a13a44e5cc03d730b2aa537e60426062786e data/create/loot_tables/blocks/mossy_dark_scoria.json +956e6cc0c6314c9c01610b643785eed48d2d9317 data/create/loot_tables/blocks/mossy_diorite.json +726a61c0894bfcb98912118872d152b480ef3148 data/create/loot_tables/blocks/mossy_dolomite.json +be7e00f97bd20f2b8e1fe943e5e8324c2a44d765 data/create/loot_tables/blocks/mossy_gabbro.json +bd4ff2a38643d53cdc63e1af08af90e9adadcc0f data/create/loot_tables/blocks/mossy_granite.json +3f678fb5dd7279af65b8868765d7c8a5ee1023d2 data/create/loot_tables/blocks/mossy_limestone.json +7107b08ed07b23964df537ae689b48af29b80a2f data/create/loot_tables/blocks/mossy_scoria.json +fdff3d59c214ecbcc2ddcaef778ea661df128b56 data/create/loot_tables/blocks/mossy_weathered_limestone.json +fedbee3e023d469c9f3aba9d11d5be6cdae77083 data/create/loot_tables/blocks/mysterious_cuckoo_clock.json +ecd7afac9eb0989075fced6626e1061d5487c2f4 data/create/loot_tables/blocks/natural_scoria.json +d3ea271bb5774c73d44ab2e73195c9d5a4ff9c92 data/create/loot_tables/blocks/nixie_tube.json +6237eb3999181f1db09ca01b08e7785b70722d3b data/create/loot_tables/blocks/nozzle.json +0b2b142cfb3ebe9d4506e498a8e31f48d00db58d data/create/loot_tables/blocks/oak_window.json +90cc4d5857f47c48e2b82f394de9567023c5c8ce data/create/loot_tables/blocks/oak_window_pane.json +2333aaea940816b6bc8454ba24e0c9f52af94ac0 data/create/loot_tables/blocks/orange_seat.json +267e9e24fac93e3496a80fcb6ed8e9d1c329d2d2 data/create/loot_tables/blocks/ornate_iron_window.json +1fe77a16f4c86993b5fb30f1f48362787fd7cd0b data/create/loot_tables/blocks/ornate_iron_window_pane.json +8d91485a5f353c6fb84e16bd0d9d4a55aaeb31ab data/create/loot_tables/blocks/overgrown_andesite.json +2110e98310c61952b98100f01ea348dce062d945 data/create/loot_tables/blocks/overgrown_dark_scoria.json +552fa22bf8265abde5d7426681b18ef89a8f1159 data/create/loot_tables/blocks/overgrown_diorite.json +a7ff6100cb4694804e83f6bb0a5c17442f6ea7d0 data/create/loot_tables/blocks/overgrown_dolomite.json +bab9f6fb35f2ba4aa45fd726a8e94f90ef155bfb data/create/loot_tables/blocks/overgrown_gabbro.json +4725f5810b606bddc62ad288b039b2b28a8ba40d data/create/loot_tables/blocks/overgrown_granite.json +4b4acf9026d68de21b5804903556a505f913a778 data/create/loot_tables/blocks/overgrown_limestone.json +e0fc59a8645dae8f87e62b34c08014077e14de66 data/create/loot_tables/blocks/overgrown_scoria.json +8af10a6b2d07ed1b84ce617502ad68044262e701 data/create/loot_tables/blocks/overgrown_weathered_limestone.json +131cb27de9d0b44d2ec335055558b8039d6d5fb9 data/create/loot_tables/blocks/packager.json +fc529ec8d55abf361ba1b8c38875839530b082c6 data/create/loot_tables/blocks/paved_andesite.json +3658337cb8a5a6cdd7dd19dd8ac399b1397350d5 data/create/loot_tables/blocks/paved_andesite_slab.json +4dbc7c7537e680e4e7c8a5ba4e4ed394d788b10d data/create/loot_tables/blocks/paved_andesite_stairs.json +550795c90bce7ee25d12611ac04333dc2f04c727 data/create/loot_tables/blocks/paved_andesite_wall.json +6e2abd4ccd9f1835237a074ee897306049faeeaf data/create/loot_tables/blocks/paved_dark_scoria.json +d1f6830634cc426761a998bbc13d12be23b35fbc data/create/loot_tables/blocks/paved_dark_scoria_slab.json +c6b0ff8dc016dd42b22c408c3419f6711f1b3080 data/create/loot_tables/blocks/paved_dark_scoria_stairs.json +974783eeb365799e9a506d304ef2933695f28fd4 data/create/loot_tables/blocks/paved_dark_scoria_wall.json +ffbf1aa8e79c473a3c9e23b1b5b47b5b5028d3d1 data/create/loot_tables/blocks/paved_diorite.json +f5ef960992b47a951a711fa106c48f7b8a5b96d4 data/create/loot_tables/blocks/paved_diorite_slab.json +bb07e230483cf3bee30b9d9f6eb4976dabac02d7 data/create/loot_tables/blocks/paved_diorite_stairs.json +a32cc9641d0a5ddc1d0e3203c8b5f889f8c8dfc4 data/create/loot_tables/blocks/paved_diorite_wall.json +3ba353c436a3ff7af9174f103453fb5828c09294 data/create/loot_tables/blocks/paved_dolomite.json +cd25811c174f143b06a37175bfbdd768a2831204 data/create/loot_tables/blocks/paved_dolomite_slab.json +4ae91089463b12b3cd83504b9479f8bf12131523 data/create/loot_tables/blocks/paved_dolomite_stairs.json +54f2b73b5bc1cdfb9967cc8739fdb5964e0823b3 data/create/loot_tables/blocks/paved_dolomite_wall.json +22845a058f1ce2e998bbb9934bd042b3bd6e6b81 data/create/loot_tables/blocks/paved_gabbro.json +592b138171f9a54fa7208269503c9cf42d82b3e1 data/create/loot_tables/blocks/paved_gabbro_slab.json +9bf714ac05d6ab5d2eb64af9b42333180eac3483 data/create/loot_tables/blocks/paved_gabbro_stairs.json +49faaf2df21b468bb033fafc406753c2303e3410 data/create/loot_tables/blocks/paved_gabbro_wall.json +6ce5f4468d05e4458a38ec916b42e45cf1478ae6 data/create/loot_tables/blocks/paved_granite.json +dcad2650b29ef4ebda66a4c8f3af25e8e634e56a data/create/loot_tables/blocks/paved_granite_slab.json +598924af51d35e3a1115896c161a31a72d5f0905 data/create/loot_tables/blocks/paved_granite_stairs.json +8c4a5acdf69eb5d1fa50453592f07dc28e4da813 data/create/loot_tables/blocks/paved_granite_wall.json +32a8d96e95cb0b784656b36078905c72ad51ee70 data/create/loot_tables/blocks/paved_limestone.json +d59bf5bece914869ce3277090ce199881a812bfc data/create/loot_tables/blocks/paved_limestone_slab.json +a16ba0798803221478012d37db8555bb36e0a9ac data/create/loot_tables/blocks/paved_limestone_stairs.json +fde4316b1469c689370264fcdca37ac4929906c4 data/create/loot_tables/blocks/paved_limestone_wall.json +6d832782d9e73ff9f94920aaa0335d7e86aa65e9 data/create/loot_tables/blocks/paved_scoria.json +a0777a7b1d9a25f25d65d8093948c890fed4baec data/create/loot_tables/blocks/paved_scoria_slab.json +3a72097f8e8ff3df80c540f5e8b54435e319c479 data/create/loot_tables/blocks/paved_scoria_stairs.json +7b717c3176a2a55d728f2102c6f9d82cc6305fb2 data/create/loot_tables/blocks/paved_scoria_wall.json +dfeba5c6de20e9ec0252e43b7c4046f017284d3d data/create/loot_tables/blocks/paved_weathered_limestone.json +32eed137f13c25a7b9db2fb457901e0c03cabb16 data/create/loot_tables/blocks/paved_weathered_limestone_slab.json +67b9227237ed2a8c09c4183c0f2ab1b3bd07084b data/create/loot_tables/blocks/paved_weathered_limestone_stairs.json +d3e4ab984aef19ee21a1c5b868eb3fde96c05afd data/create/loot_tables/blocks/paved_weathered_limestone_wall.json +6f32e1217986407e41358e9417de63602c78e810 data/create/loot_tables/blocks/pink_seat.json +1087b6c6d88dc7c71ed81e1d3e180fe065e6d098 data/create/loot_tables/blocks/piston_extension_pole.json +05302657546d8d410e367e84d4d5e01f01523236 data/create/loot_tables/blocks/polished_dark_scoria.json +1b323a883816428ff851462f61d00eaee7255e33 data/create/loot_tables/blocks/polished_dark_scoria_slab.json +a105d9992122370d80d190fcabcadcf167f71bd3 data/create/loot_tables/blocks/polished_dark_scoria_stairs.json +3298bdd51f488399459e9be88610296c8fdbf880 data/create/loot_tables/blocks/polished_dark_scoria_wall.json +9faa9435b97de565947686a8d5ecb29fff5aca8c data/create/loot_tables/blocks/polished_dolomite.json +5d85866fab9c553dd387b2c147d2b8c5f4617c11 data/create/loot_tables/blocks/polished_dolomite_slab.json +25d03f9ad84709dc86ef660b78384c5e6b4a566c data/create/loot_tables/blocks/polished_dolomite_stairs.json +73b2aae50efbef2f69177dfdb55a4fe60c377f71 data/create/loot_tables/blocks/polished_dolomite_wall.json +3963878203d8383de9190ea08bafb85a83f7c6bb data/create/loot_tables/blocks/polished_gabbro.json +1af13e327c6ef6de64d9e220ef8c8960774170d0 data/create/loot_tables/blocks/polished_gabbro_slab.json +d7af796369513af346c7325866433f7e0fea0ab7 data/create/loot_tables/blocks/polished_gabbro_stairs.json +f54e5452a659d452e936424f35e4fdf7b2817843 data/create/loot_tables/blocks/polished_gabbro_wall.json +9f9c0531d0a6fd6041a24390126531c8d8fd5b2e data/create/loot_tables/blocks/polished_limestone.json +cd507b7b5990ec15793c187105359c4b37205757 data/create/loot_tables/blocks/polished_limestone_slab.json +ddad935d589d85c2b2c4666caf4215771fb7dfbc data/create/loot_tables/blocks/polished_limestone_stairs.json +142148b74e61ae778f45465fc1df0aaae59e8fef data/create/loot_tables/blocks/polished_limestone_wall.json +51cbf4f5df6382161121f8b3b773d04cea36636b data/create/loot_tables/blocks/polished_scoria.json +27745995383c4e4d67acd9a55666f3c89a168b5d data/create/loot_tables/blocks/polished_scoria_slab.json +125e1fa323de8b565e17b1eedf1ca779bb2fddf7 data/create/loot_tables/blocks/polished_scoria_stairs.json +c7029af40b6f5dd2cd8f2ae7dfb89b37074624e6 data/create/loot_tables/blocks/polished_scoria_wall.json +6da8efd3289ceeb187f7037397329dcece287683 data/create/loot_tables/blocks/polished_weathered_limestone.json +812be8e20c86013b9336939ecd78a9579ef75a1a data/create/loot_tables/blocks/polished_weathered_limestone_slab.json +6ef650c723d409c7a678ffac45212e22e37581c0 data/create/loot_tables/blocks/polished_weathered_limestone_stairs.json +58715bc033e4740dbb754f91c93a22b9d06828e6 data/create/loot_tables/blocks/polished_weathered_limestone_wall.json +fbe98efcb1a5970b6795fdbbb671fee704c0945f data/create/loot_tables/blocks/portable_storage_interface.json +6a46f00d9de7050eb9748d5dbed182caa6b29949 data/create/loot_tables/blocks/powered_latch.json +a3fb7d3e3bf9dc73ce754002f10c469d57db1f71 data/create/loot_tables/blocks/powered_toggle_latch.json +205f5899101262f31f5c1a88bb7d954918d08d04 data/create/loot_tables/blocks/pulley_magnet.json +e8fb62c91226ac107dee45c5ebc54c8dd0aee224 data/create/loot_tables/blocks/pulse_repeater.json +d7f6caa568e6508177a644fb78dc18ce26c9b2c0 data/create/loot_tables/blocks/purple_seat.json +768420dab8785909891e52c4d77a182d99ba11d3 data/create/loot_tables/blocks/radial_chassis.json +71b0fa3b174efe94a2a735ab2426c376c0ef674a data/create/loot_tables/blocks/red_seat.json +f5907a694206facc01f61f3428f72488486761c7 data/create/loot_tables/blocks/redstone_contact.json +886a0c1386fb12104b736a15689030aaff771270 data/create/loot_tables/blocks/redstone_link.json +97c945de837a6360c0ab7e1371f16ebc1645f6ea data/create/loot_tables/blocks/reinforced_rail.json +205f5899101262f31f5c1a88bb7d954918d08d04 data/create/loot_tables/blocks/rope.json +cecaac07bd275bb1ae9e302f0bf44b581e74105d data/create/loot_tables/blocks/rope_pulley.json +aa6af37356d65105efab2503ffe75f778cfe873b data/create/loot_tables/blocks/rotation_speed_controller.json +069701cb804b6522c18624a0d4f3f949ff8b0281 data/create/loot_tables/blocks/schematic_table.json +c4a89145334addfd0dd1fedf7fa75ba07a7d3490 data/create/loot_tables/blocks/schematicannon.json +af1bbbb8236b4ab05a6a8edc6db960bc758cbdf3 data/create/loot_tables/blocks/scoria.json +bb670ac5dd2fa4c743bc268cd0547926eb6cdb68 data/create/loot_tables/blocks/scoria_bricks.json +93c5165b6d1655f99eb45d708080ae54b1a3a118 data/create/loot_tables/blocks/scoria_bricks_slab.json +58a188f3ebfeb3d19323c3f8dfa3e020a7f6cdc4 data/create/loot_tables/blocks/scoria_bricks_stairs.json +81dae28911c6ff8d8330a597fc1e4eab1e77942d data/create/loot_tables/blocks/scoria_bricks_wall.json +c55969dc0f736f770e3c27d9f2609d20d379fed1 data/create/loot_tables/blocks/scoria_cobblestone.json +18637fc6cd83ed43fed0cda3a9538ca77f3c96e1 data/create/loot_tables/blocks/scoria_cobblestone_slab.json +3205ea5dd97df68f733f54aa3ab3f98a5ce20942 data/create/loot_tables/blocks/scoria_cobblestone_stairs.json +d2139e9daa55c09cd262b15c980d65c554347e45 data/create/loot_tables/blocks/scoria_cobblestone_wall.json +82fb40738f53892571ad83789ff45315e887c811 data/create/loot_tables/blocks/scoria_pillar.json +f70c5b7e7da7abffc82e3d1828499799883bbe85 data/create/loot_tables/blocks/secondary_linear_chassis.json +e4f6dccb8bce21b5214c1d8cfb440fc0ba4159d7 data/create/loot_tables/blocks/sequenced_gearshift.json +b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/shaft.json +70b6e82e9198d3910877e62c2eab86d46ca27089 data/create/loot_tables/blocks/speedometer.json +a23a1e332c9ba84474e3c0588e8a0857afe346e0 data/create/loot_tables/blocks/spruce_window.json +3ee2350936ea82fef716bc58e4cd088a384616f0 data/create/loot_tables/blocks/spruce_window_pane.json +8d2970acd61b96844a4308d87e858b1612d5862e data/create/loot_tables/blocks/sticky_mechanical_piston.json +ec2889e712702644092197a4b41a682fb953817d data/create/loot_tables/blocks/stockpile_switch.json +3479775008a256bc35f98b31655975f7d5c836b2 data/create/loot_tables/blocks/stressometer.json +05e843ca6eb5e299bf41de123977a1045c120ad4 data/create/loot_tables/blocks/tiled_glass.json +e999969f05d2625e61757aa82092d232b99f6e0a data/create/loot_tables/blocks/tiled_glass_pane.json +b201436ae6d2ad5a7d47dca0ee8c7016b4c28fa5 data/create/loot_tables/blocks/transposer.json +7b66ad2c48449bafd0cdbd086ac41218cb73a814 data/create/loot_tables/blocks/turntable.json +5a47c1535c866184b4ffca65763f5676f319e0aa data/create/loot_tables/blocks/vertical_extractor.json +028e293b5cd694017962f67dc80dba719f904e28 data/create/loot_tables/blocks/vertical_framed_glass.json +d0156602dd5f4a274c293df67e19374820c72890 data/create/loot_tables/blocks/vertical_framed_glass_pane.json +dac789cf53b00eed34308848b5e267b7ccec090c data/create/loot_tables/blocks/vertical_linked_extractor.json +7af5a13c9e10903b11732fbc01ae3299328216f0 data/create/loot_tables/blocks/vertical_linked_transposer.json +b201436ae6d2ad5a7d47dca0ee8c7016b4c28fa5 data/create/loot_tables/blocks/vertical_transposer.json +2883c63ceb1273009dbf91cb0693756cadf79a1a data/create/loot_tables/blocks/water_wheel.json +611d6195db52c074de484ec52d7ac9eb96b4ff10 data/create/loot_tables/blocks/weathered_limestone.json +c1f379baad36a20fc767be094db10480a0378184 data/create/loot_tables/blocks/weathered_limestone_bricks.json +d9ab81fb9e2bb348e5bcc0ef2c2adf767493da4d data/create/loot_tables/blocks/weathered_limestone_bricks_slab.json +c2a62f12680d04ed4f586c501bb026e367243dd2 data/create/loot_tables/blocks/weathered_limestone_bricks_stairs.json +1b1016be0cc0bdf599f3e6b84c6663436e8d5835 data/create/loot_tables/blocks/weathered_limestone_bricks_wall.json +2500dc22c1f8793053d223958a5763a0f9554874 data/create/loot_tables/blocks/weathered_limestone_cobblestone.json +8e3f79fe8a06b1b55f347d80f028e040c85c19ab data/create/loot_tables/blocks/weathered_limestone_cobblestone_slab.json +a89f425c47c3831071b556697169a3124370aed7 data/create/loot_tables/blocks/weathered_limestone_cobblestone_stairs.json +e8f3af61d9a2fd1ff5b32c9bb474ed005e6d70c4 data/create/loot_tables/blocks/weathered_limestone_cobblestone_wall.json +54358a64639957cc66ffa5296ff45723f7adf00e data/create/loot_tables/blocks/weathered_limestone_pillar.json +969eda31556feb5a68e350762848d17453275fee data/create/loot_tables/blocks/white_seat.json +37ead431a278928a09b260ae06a448e2c791a73e data/create/loot_tables/blocks/yellow_seat.json +94661e726b3d19271550359ae898a5590939512e data/create/loot_tables/blocks/zinc_block.json +37248ca92d474e440b91c27e3c8e78e568328100 data/create/loot_tables/blocks/zinc_ore.json +b65bac8bc2fbfd476040c1aab1c0588b8bd59ebe data/create/recipes/acacia_window.json +35b4da9c14da60584c32e959efc2223f64bb3ec2 data/create/recipes/acacia_window_pane.json +96bb0bceb7798c96d5cf9b9c24b8ef822080cb1e data/create/recipes/andesite_bricks_from_andesite_stonecutting.json +01867b07039615dc69bad1b9fd217a1d86e69062 data/create/recipes/andesite_bricks_slab.json +376ada0e08cc797c705c22ec35fe54baa5f24efe data/create/recipes/andesite_bricks_slab_from_andesite_bricks_stonecutting.json +c5af0b289a80e863bdc63bd048a667da738d8555 data/create/recipes/andesite_bricks_stairs.json +7909f6c160263b0ebf0b7078f5593f61304d339c data/create/recipes/andesite_bricks_stairs_from_andesite_bricks_stonecutting.json +ec38ebac57252c1236f071309e588f48b39c2357 data/create/recipes/andesite_bricks_wall.json +38983792eb1f8e1c189a2eeb5113f48e014774a8 data/create/recipes/andesite_bricks_wall_from_andesite_bricks_stonecutting.json +c0cc57304d2082913fc596aa273ef83525ddc615 data/create/recipes/andesite_cobblestone_from_andesite_stonecutting.json +518cadbaf9372b6144b91be1bd80770ddbc42948 data/create/recipes/andesite_cobblestone_slab.json +dbed532f975d4cd9b12bb7331520aa6a7ab057ec data/create/recipes/andesite_cobblestone_slab_from_andesite_cobblestone_stonecutting.json +4ed1069d4c484990e73a638d5d70c4b2b102b8eb data/create/recipes/andesite_cobblestone_stairs.json +bb88bb3c7656adb5159910c6c03a0b0d908ff10d data/create/recipes/andesite_cobblestone_stairs_from_andesite_cobblestone_stonecutting.json +555386a3e6d29110aadb762eb1b0a3622c6680b8 data/create/recipes/andesite_cobblestone_wall.json +51fa768e66043a7f5629b19b0bc7a4e95281037f data/create/recipes/andesite_cobblestone_wall_from_andesite_cobblestone_stonecutting.json +a961cdd11e807bc4658bbdba6c278801b5981234 data/create/recipes/andesite_pillar.json +dcdad7a04838ef202b42f84a15243e3d2472b14e data/create/recipes/andesite_pillar_from_andesite_stonecutting.json +2b291b77860254b7ba8500cf2199a04ca1fca7b5 data/create/recipes/birch_window.json +288d80210f7efb4664e2e9c9d9111049863e5f60 data/create/recipes/birch_window_pane.json +d5c30af1052332ff3ef6d837ca2bf51c51e14c8d data/create/recipes/brass_block.json +8851b4a339f22bed4da120c3e34d1f32120d0d66 data/create/recipes/chiseled_dark_scoria_from_dark_scoria_stonecutting.json +66937d62734328f4bff6254e6755b3490d4dfa16 data/create/recipes/chiseled_dolomite_from_dolomite_stonecutting.json +74f565a44400c4abd7b5d6073830b9b46dd71fc6 data/create/recipes/chiseled_gabbro_from_gabbro_stonecutting.json +c323b106e88b7de77fea71ff12494abdbb818d15 data/create/recipes/chiseled_limestone_from_limestone_stonecutting.json +da9a919b476954c1de34826aa7706bf6056a8f12 data/create/recipes/chiseled_scoria_from_scoria_stonecutting.json +09faa4ddcf9f3907dcdb3ab3e8b68c1deb2486e5 data/create/recipes/chiseled_weathered_limestone_from_weathered_limestone_stonecutting.json +386c52f0aad6e2239f31dc85f7e745b47230846b data/create/recipes/copper_block.json +f2c317e03ac4d42fb631e1625607061e10c480fe data/create/recipes/dark_oak_window.json +d9dbae6e237eb38e53a619a0f1b339fca7c59b4d data/create/recipes/dark_oak_window_pane.json +55596a590962e3ddd40949917661f0bd94408274 data/create/recipes/dark_scoria_bricks_from_dark_scoria_stonecutting.json +2489fc29c47d3c9cb63f5f2f09dc79ea1ca1728e data/create/recipes/dark_scoria_bricks_slab.json +86f4d54ebcc5bc8786c72167395d8efee833744c data/create/recipes/dark_scoria_bricks_slab_from_dark_scoria_bricks_stonecutting.json +471d1883452978264af939ccac9b6845ffd569a5 data/create/recipes/dark_scoria_bricks_stairs.json +136967d1939b95f5cc75072eaa17ae47dc89fdad data/create/recipes/dark_scoria_bricks_stairs_from_dark_scoria_bricks_stonecutting.json +bacfaa195752d5688d29eaca78578e51c379aa7f data/create/recipes/dark_scoria_bricks_wall.json +fd94541b20370d88177c798fb4f3e173e5ecd9eb data/create/recipes/dark_scoria_bricks_wall_from_dark_scoria_bricks_stonecutting.json +a45731bfbe8cf6d036e24d71617ca77c2e91ebe0 data/create/recipes/dark_scoria_cobblestone_from_dark_scoria_stonecutting.json +3f00c98949d2a9ee7057c75cfaf10f693d7afe4f data/create/recipes/dark_scoria_cobblestone_slab.json +f1d783d94c378d3ca81531996dd220c01559b4f3 data/create/recipes/dark_scoria_cobblestone_slab_from_dark_scoria_cobblestone_stonecutting.json +d6ca23af29947b474c28987bb8a4b488bfa78363 data/create/recipes/dark_scoria_cobblestone_stairs.json +4758fca3e1888ce298e5c173c62097631843e0fb data/create/recipes/dark_scoria_cobblestone_stairs_from_dark_scoria_cobblestone_stonecutting.json +f3a72b45daef00035ecb17b9cd7f8985a5f9e9ef data/create/recipes/dark_scoria_cobblestone_wall.json +0f2c14d40ed9013d45e331000ea03d39430f9d22 data/create/recipes/dark_scoria_cobblestone_wall_from_dark_scoria_cobblestone_stonecutting.json +31b7e65165cb0dbcd95362a81905b19fe4282cf3 data/create/recipes/dark_scoria_pillar.json +681f45f03b15dc1a8a72cf72042e725d3f0cc7ef data/create/recipes/dark_scoria_pillar_from_dark_scoria_stonecutting.json +25c0fe29d1c2cedcaf21fac6cdfcce45dbf810bf data/create/recipes/diorite_bricks_from_diorite_stonecutting.json +ff4a8687bdff339a10e0b813788bca272332abd9 data/create/recipes/diorite_bricks_slab.json +7c49a389f9222fdfd6653d9fbcb1ca05bf207aa8 data/create/recipes/diorite_bricks_slab_from_diorite_bricks_stonecutting.json +04dfda7e1c02d35a862d5b5974f0e3dbdb7c57e7 data/create/recipes/diorite_bricks_stairs.json +ec6ce026ef13455f384882f5caa49c80dcc39c3a data/create/recipes/diorite_bricks_stairs_from_diorite_bricks_stonecutting.json +e2900dad086daefc7ed843da6f2fe0251b5d9c21 data/create/recipes/diorite_bricks_wall.json +5e80ca479cff8471ea9a08676bdbd04cdcaecbf5 data/create/recipes/diorite_bricks_wall_from_diorite_bricks_stonecutting.json +e8909c42980f4ede1dc8fa46c8b80fb63da0a64d data/create/recipes/diorite_cobblestone_from_diorite_stonecutting.json +f2c95f81b6effb2ca310fb38ee3bbe7eccb3615d data/create/recipes/diorite_cobblestone_slab.json +5df48e568e87ed7c39d0ee4c860d309ab4d5b97f data/create/recipes/diorite_cobblestone_slab_from_diorite_cobblestone_stonecutting.json +24263c12b2a53af6beeb0e7cbd8e6865773b88d0 data/create/recipes/diorite_cobblestone_stairs.json +119741ea88d16a468b5e814459b30981d1212419 data/create/recipes/diorite_cobblestone_stairs_from_diorite_cobblestone_stonecutting.json +f764471aab017775e0d7a6d43a9e36b186db3ac2 data/create/recipes/diorite_cobblestone_wall.json +d3628d5ce836d3b9072be3d4cf30416146cccad2 data/create/recipes/diorite_cobblestone_wall_from_diorite_cobblestone_stonecutting.json +d69d767a77ae62f8e53342dffda4c627906439d7 data/create/recipes/diorite_pillar.json +3019172274fdfcc606ad0f5569db433913231c28 data/create/recipes/diorite_pillar_from_diorite_stonecutting.json +6ee0f10522f4acfe554e4743fa2ba1d8297a12f2 data/create/recipes/dolomite_bricks_from_dolomite_stonecutting.json +88a9b8e89e67455a9c4f1c3dbff813a3c3bd1609 data/create/recipes/dolomite_bricks_slab.json +3adfb9924ada35d58275533425802b4829f058ac data/create/recipes/dolomite_bricks_slab_from_dolomite_bricks_stonecutting.json +13ceb35e0adb6b08958544b89f8d6fa339696d8e data/create/recipes/dolomite_bricks_stairs.json +587deb3d09ff77318d36ec10af67371c141d54e0 data/create/recipes/dolomite_bricks_stairs_from_dolomite_bricks_stonecutting.json +6deb71ec498c99622bf9951e112ef65e38f22522 data/create/recipes/dolomite_bricks_wall.json +8796b485e75cfe021573b1d9d5ef45599f4296f6 data/create/recipes/dolomite_bricks_wall_from_dolomite_bricks_stonecutting.json +a371be60d1ae1bd3f789a140a623d89839256cb1 data/create/recipes/dolomite_cobblestone_from_dolomite_stonecutting.json +abd5079de42a905674cc722d89cfab2d6871bb67 data/create/recipes/dolomite_cobblestone_slab.json +1dd9dd521b281581b203bb08351cc3d40c0bbe5f data/create/recipes/dolomite_cobblestone_slab_from_dolomite_cobblestone_stonecutting.json +ddda28bb6efc43b7e3149756daf53e1664187283 data/create/recipes/dolomite_cobblestone_stairs.json +94de6eeb72977050e6c0b73edad6e46681d2a9af data/create/recipes/dolomite_cobblestone_stairs_from_dolomite_cobblestone_stonecutting.json +0e5f741034bac11c6005410dc559573536201e77 data/create/recipes/dolomite_cobblestone_wall.json +500ecdfdcf34e9d26256948e206aab4f0b79e659 data/create/recipes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json +ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json +b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json +0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json +8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json +c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json +0a9904d4f88187a8029ed2ddebf23b3b83c430f6 data/create/recipes/fancy_andesite_bricks_stairs.json +13395eb48bdeca3c49b805d0cfa6e3fd86281a10 data/create/recipes/fancy_andesite_bricks_stairs_from_fancy_andesite_bricks_stonecutting.json +1594c042f121377fb2b458e6191dff9a2ca1226a data/create/recipes/fancy_andesite_bricks_wall.json +6462def9d5aba9d9a1696c46a2eea67a69c96344 data/create/recipes/fancy_andesite_bricks_wall_from_fancy_andesite_bricks_stonecutting.json +9f33ce41d7f18430afbe6a1c4d5fc02fe06ec453 data/create/recipes/fancy_dark_scoria_bricks_from_dark_scoria_stonecutting.json +18ead8c5d5426ef04c31b381c7c084c76c09fd7c data/create/recipes/fancy_dark_scoria_bricks_slab.json +64239d4d243873d674bd9aae7e8f33bc7bd49b72 data/create/recipes/fancy_dark_scoria_bricks_slab_from_fancy_dark_scoria_bricks_stonecutting.json +275c6078576d15dc00da42af97bb92750b8a4951 data/create/recipes/fancy_dark_scoria_bricks_stairs.json +6507a4d4d88883caafec7ee3b83b2eefd6d7869b data/create/recipes/fancy_dark_scoria_bricks_stairs_from_fancy_dark_scoria_bricks_stonecutting.json +34569b4c4a4847e7aae75a3ac090196813dcb612 data/create/recipes/fancy_dark_scoria_bricks_wall.json +6b75c3559fa97fa857de59a1e8b26a98bd582506 data/create/recipes/fancy_dark_scoria_bricks_wall_from_fancy_dark_scoria_bricks_stonecutting.json +2cc2b560341ceb2b5d30c25a00bb8549b0dd32cc data/create/recipes/fancy_diorite_bricks_from_diorite_stonecutting.json +74f83f0bc12746171a62e27b3073d2ffa11d66f7 data/create/recipes/fancy_diorite_bricks_slab.json +ab577c2f0ace690d8334c09cbe3079da3568603a data/create/recipes/fancy_diorite_bricks_slab_from_fancy_diorite_bricks_stonecutting.json +251748e90839169cd9e7b1b0cf9ddf926a8ee73c data/create/recipes/fancy_diorite_bricks_stairs.json +af23b733b76e3a1d0dcfa69d1153aa7827ead0fa data/create/recipes/fancy_diorite_bricks_stairs_from_fancy_diorite_bricks_stonecutting.json +a7f4b307a84f817228893caf257d07ff118026c6 data/create/recipes/fancy_diorite_bricks_wall.json +d0c75c36c90619fe78b13c00ee807fbf3a49cd71 data/create/recipes/fancy_diorite_bricks_wall_from_fancy_diorite_bricks_stonecutting.json +7ff2a8503f752d07ac447a636c4f13c44c536b9b data/create/recipes/fancy_dolomite_bricks_from_dolomite_stonecutting.json +e37d7449b6ba57c2440ef4a91d4f98c65d06ef3c data/create/recipes/fancy_dolomite_bricks_slab.json +18c31b4e2dfaefacaa3a8b614f7a322197f59221 data/create/recipes/fancy_dolomite_bricks_slab_from_fancy_dolomite_bricks_stonecutting.json +45228000ec1dff7db39e1b3733cadc2d83222c52 data/create/recipes/fancy_dolomite_bricks_stairs.json +cbf50f1b606a14b59b127e8192089e2b54d6632e data/create/recipes/fancy_dolomite_bricks_stairs_from_fancy_dolomite_bricks_stonecutting.json +744168a01a04ee317ec170b0b80f758a00387124 data/create/recipes/fancy_dolomite_bricks_wall.json +46d3f924f2b0b580a257303d99edaba23380f534 data/create/recipes/fancy_dolomite_bricks_wall_from_fancy_dolomite_bricks_stonecutting.json +f2c48a64e4f384cfa69b7c60b0561bc5611d0d64 data/create/recipes/fancy_gabbro_bricks_from_gabbro_stonecutting.json +43368bb227a5c8d3c3b78e65b98a41c10767dd3b data/create/recipes/fancy_gabbro_bricks_slab.json +32a77ff3471fc5a88c5492ef6eb4aadb796648ce data/create/recipes/fancy_gabbro_bricks_slab_from_fancy_gabbro_bricks_stonecutting.json +0388082c982f32858865e2de20c6e088d3c4377d data/create/recipes/fancy_gabbro_bricks_stairs.json +1a47b2f3aedcd98b3ca88f2a0889572e46e794a8 data/create/recipes/fancy_gabbro_bricks_stairs_from_fancy_gabbro_bricks_stonecutting.json +5cdbf50d7ae2a4581b29596e56c4bed54bcd60cf data/create/recipes/fancy_gabbro_bricks_wall.json +d0027afab8d9beaabbf5812d92bc3b01abd14047 data/create/recipes/fancy_gabbro_bricks_wall_from_fancy_gabbro_bricks_stonecutting.json +5fd73258b8d78e35541809e38947da8231cc7b93 data/create/recipes/fancy_granite_bricks_from_granite_stonecutting.json +e2454812e7d81c4c952948cfdb65944107c54988 data/create/recipes/fancy_granite_bricks_slab.json +67a0375b3fb68dac3460b39fcd4b250e8f600176 data/create/recipes/fancy_granite_bricks_slab_from_fancy_granite_bricks_stonecutting.json +516568feeacb1ddd80d6f9d75f452704e8fc1167 data/create/recipes/fancy_granite_bricks_stairs.json +7b6b684b62a81ee4f912590bea46fe61d8ff16ff data/create/recipes/fancy_granite_bricks_stairs_from_fancy_granite_bricks_stonecutting.json +623bc299de4d60e138034c1f94db969bea60244d data/create/recipes/fancy_granite_bricks_wall.json +c8c07ff10ff7388422c8ad2343180e341a9322b0 data/create/recipes/fancy_granite_bricks_wall_from_fancy_granite_bricks_stonecutting.json +58d8db7cd064c9ec8e3baeb4ee6d3e45f13e4aa8 data/create/recipes/fancy_limestone_bricks_from_limestone_stonecutting.json +2aa411470b1ff2c469a6a75fbfd31fe1a3e0c61f data/create/recipes/fancy_limestone_bricks_slab.json +621e1c5408fc144fc63da8d52a61c7d73f4ff7b1 data/create/recipes/fancy_limestone_bricks_slab_from_fancy_limestone_bricks_stonecutting.json +93ea6268c9506edb52ebf6434b34b3664fa7a09d data/create/recipes/fancy_limestone_bricks_stairs.json +e7c974e24144f85b1fea80dafd5bd4215584462b data/create/recipes/fancy_limestone_bricks_stairs_from_fancy_limestone_bricks_stonecutting.json +898e9cbdd86cc44ebab36a34fce01735b469e40c data/create/recipes/fancy_limestone_bricks_wall.json +3d34e5a588a3e3d3de17fca617b158e36d5c6b3d data/create/recipes/fancy_limestone_bricks_wall_from_fancy_limestone_bricks_stonecutting.json +f9b9dea5e973f100d5cd3080740dd574ac0981ac data/create/recipes/fancy_scoria_bricks_from_scoria_stonecutting.json +cbe79cd606b595938ad7607e1b5f19820ab4d003 data/create/recipes/fancy_scoria_bricks_slab.json +1596333d32a1eb6ea282992680e550cc9e62bf65 data/create/recipes/fancy_scoria_bricks_slab_from_fancy_scoria_bricks_stonecutting.json +b61539b7d3d3fbd12d576ce62c64700bab51b29f data/create/recipes/fancy_scoria_bricks_stairs.json +0e62dd47368f6e8f779c3f18bc2a24de43623252 data/create/recipes/fancy_scoria_bricks_stairs_from_fancy_scoria_bricks_stonecutting.json +d56c72aaa827b4f59402fc47521dcd0455f002b6 data/create/recipes/fancy_scoria_bricks_wall.json +afed7fdc479a3510fa92501675643f266933ee0d data/create/recipes/fancy_scoria_bricks_wall_from_fancy_scoria_bricks_stonecutting.json +bd355332d17adcb0460b1d43146ca288efb78395 data/create/recipes/fancy_weathered_limestone_bricks_from_weathered_limestone_stonecutting.json +015e8fd3011cc7b6db64b62ec19d4dccc2a1e58b data/create/recipes/fancy_weathered_limestone_bricks_slab.json +76fe30c9b84f6d7d2210996fc7a522935cf36af3 data/create/recipes/fancy_weathered_limestone_bricks_slab_from_fancy_weathered_limestone_bricks_stonecutting.json +3359e9f3a5190b6c0639b6e648fee50bc06d3166 data/create/recipes/fancy_weathered_limestone_bricks_stairs.json +d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json +36947f27d2b2e57b00440fd5acd06a7554e5a387 data/create/recipes/fancy_weathered_limestone_bricks_wall.json +1d0e41ca98e48073c72adf4077610c96e592f9a5 data/create/recipes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json +d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json +a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json +a19f047fa8507e994eb026795c86bc10ff5c373b data/create/recipes/gabbro_bricks_slab.json +84d83643f7987864eca0e2ca7cda4330ad9f1f86 data/create/recipes/gabbro_bricks_slab_from_gabbro_bricks_stonecutting.json +7254ce767a38462ac9f175ebc9814e20f41a9a2c data/create/recipes/gabbro_bricks_stairs.json +60804fe6f0827d6128ff957850d465e7a0dbda46 data/create/recipes/gabbro_bricks_stairs_from_gabbro_bricks_stonecutting.json +0b864591d74db18aa3436b225933a1e5d6147241 data/create/recipes/gabbro_bricks_wall.json +f5aefaf797566e8d1608f6ce2cb12b424e8fed88 data/create/recipes/gabbro_bricks_wall_from_gabbro_bricks_stonecutting.json +4cefbfd6db877fc636de1468e3a4edcc8cf632c8 data/create/recipes/gabbro_cobblestone_from_gabbro_stonecutting.json +b83eb36d80138a1a92bcc3f8c738ff3a1260a2b1 data/create/recipes/gabbro_cobblestone_slab.json +073095d26cb265459fd04ad00e6075aa783b9f54 data/create/recipes/gabbro_cobblestone_slab_from_gabbro_cobblestone_stonecutting.json +ad96ac7f096bd042729bcebe4e135ebe25a25243 data/create/recipes/gabbro_cobblestone_stairs.json +f7407fd04cfe7558d53c44cb33dfd8ff8a736ae3 data/create/recipes/gabbro_cobblestone_stairs_from_gabbro_cobblestone_stonecutting.json +73c4b5ad4677a380cc904bc6f82537bfe2713713 data/create/recipes/gabbro_cobblestone_wall.json +8171880f4374f9102949b85e9a17e0b313caf3a6 data/create/recipes/gabbro_cobblestone_wall_from_gabbro_cobblestone_stonecutting.json +6e52667c2f9ec62a95ba27676fdc07a8222f1746 data/create/recipes/gabbro_pillar.json +da3743119130ef0946b05b21a84c2fe5926dccd5 data/create/recipes/gabbro_pillar_from_gabbro_stonecutting.json +5664bad03fce4a4724e8fd21c9c02ca6ae900df9 data/create/recipes/granite_bricks_from_granite_stonecutting.json +1c5265828318670a11bd1e439b6a6005edb37487 data/create/recipes/granite_bricks_slab.json +0f460bda24ff799a9ef948933cfb50ef038739d4 data/create/recipes/granite_bricks_slab_from_granite_bricks_stonecutting.json +eb0ee969784d6d655589c84c72bf276c745df4e1 data/create/recipes/granite_bricks_stairs.json +5dbe6ab9bb6cbdf828f731ea87d6000fbe5daa60 data/create/recipes/granite_bricks_stairs_from_granite_bricks_stonecutting.json +da89cd42c12e5da506e9b35be446896d8f7333b9 data/create/recipes/granite_bricks_wall.json +b06a6ba2290d2a12a7774a6b6978fff10c982d72 data/create/recipes/granite_bricks_wall_from_granite_bricks_stonecutting.json +ea30ea610474af708e34042ae1b2af30014fc432 data/create/recipes/granite_cobblestone_from_granite_stonecutting.json +26f1b09623e93372471a653f384eadf3bb140a8c data/create/recipes/granite_cobblestone_slab.json +6a5e9afa1bdc92dc4ba73479ba7ed3bb18bd9f11 data/create/recipes/granite_cobblestone_slab_from_granite_cobblestone_stonecutting.json +99847acc7c4762e5976213e5c82402d8fdf1f0c9 data/create/recipes/granite_cobblestone_stairs.json +fa02e54eaa63121998593403736ecbe86ae03518 data/create/recipes/granite_cobblestone_stairs_from_granite_cobblestone_stonecutting.json +5626c6c9c764c364daf74e3b0db4b8dbad5a7ca2 data/create/recipes/granite_cobblestone_wall.json +c84f7bfa2d901684dbc7c0afa133a9c87e6e9975 data/create/recipes/granite_cobblestone_wall_from_granite_cobblestone_stonecutting.json +41ba9d3b7b1b0eb99a61d69774ccc0490804e5d1 data/create/recipes/granite_pillar.json +d0c541bbefb9f3f861ae5751645493c8e1687b5c data/create/recipes/granite_pillar_from_granite_stonecutting.json +05908d48b6ac0c117da0b4b9ae4ae5e933ed900e data/create/recipes/horizontal_framed_glass_from_glass_colorless_stonecutting.json +4e8d49934f9899f788d45d4347bfc085b2836699 data/create/recipes/horizontal_framed_glass_pane.json +c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data/create/recipes/jungle_window.json +76dab06d0bda78c4247f76d6a849e1aa083fceb1 data/create/recipes/jungle_window_pane.json +fc00b0e336c45698df1f94ad470f9941e19b0e24 data/create/recipes/layered_andesite_from_andesite_stonecutting.json +7d66cee5fc4b1f4a94d05ada6ec731bb3a788d0e data/create/recipes/layered_dark_scoria_from_dark_scoria_stonecutting.json +938b2805fbed7a68afe26e4cf9b20ac5d3c3a91f data/create/recipes/layered_diorite_from_diorite_stonecutting.json +a50ba6bd628a3fec6ccbfd38a8bfb78c3b3bc3eb data/create/recipes/layered_dolomite_from_dolomite_stonecutting.json +b49c314e171f31a39f38aabad767d8d3be613602 data/create/recipes/layered_gabbro_from_gabbro_stonecutting.json +321027b7062a70243b7f24149186630d05f8943b data/create/recipes/layered_granite_from_granite_stonecutting.json +9712031277020c39e8e643690a6a968c5e275a75 data/create/recipes/layered_limestone_from_limestone_stonecutting.json +fdfbe941eb56a98c3d28639154b7bcd4dcc66dfa data/create/recipes/layered_scoria_from_scoria_stonecutting.json +cc070e83594b20cf697aa5dbb8c4e09dbf576d00 data/create/recipes/layered_weathered_limestone_from_weathered_limestone_stonecutting.json +3b43347da62a69c6e76e6a0261f840f46ff90038 data/create/recipes/limestone_bricks_from_limestone_stonecutting.json +aed4b037af6921e9337213dc09a215ab7a18adde data/create/recipes/limestone_bricks_slab.json +7222e1f13c6aec69ea37c84b4aca3e2322ef00d2 data/create/recipes/limestone_bricks_slab_from_limestone_bricks_stonecutting.json +9480a9b8e8aa733df42f80486ce1f251ded417bb data/create/recipes/limestone_bricks_stairs.json +206c116313d0b906de969dd7ece9da82be05d45b data/create/recipes/limestone_bricks_stairs_from_limestone_bricks_stonecutting.json +cd5faabca5e37a2394bde992a4247d925256eff9 data/create/recipes/limestone_bricks_wall.json +08295b9cdfa322ea65368152b7f195825742b99b data/create/recipes/limestone_bricks_wall_from_limestone_bricks_stonecutting.json +5415fb299442e19c38eb883427338aa60aa77d72 data/create/recipes/limestone_cobblestone_from_limestone_stonecutting.json +385b7a83c7f4a0e2a8e2467b3a0ebd31be8744b9 data/create/recipes/limestone_cobblestone_slab.json +4862f534ee6d4638dd47fd344fdaf567a5e840ed data/create/recipes/limestone_cobblestone_slab_from_limestone_cobblestone_stonecutting.json +d583004ff53d2af07c7c21886fe4beacdcd7015f data/create/recipes/limestone_cobblestone_stairs.json +cb5adf8b68b745b4a0addc04c41fa21ae68808cd data/create/recipes/limestone_cobblestone_stairs_from_limestone_cobblestone_stonecutting.json +bbf64f7eb3868e354756e57348493e2b1ae6b0d9 data/create/recipes/limestone_cobblestone_wall.json +88fa2b1ab746d5e13a8afd6e7e7d80ad843e0016 data/create/recipes/limestone_cobblestone_wall_from_limestone_cobblestone_stonecutting.json +327bb8a6535b60bb65d0dda9d5205e988bc82526 data/create/recipes/limestone_pillar.json +c2e15ac0c9109bad3face6d13efc32d7116b4c25 data/create/recipes/limestone_pillar_from_limestone_stonecutting.json +1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json +89929d9cb11b5c589b2ecfa821c61add1ef7b62b data/create/recipes/mossy_dark_scoria_from_dark_scoria_stonecutting.json +4b8b1191dd3a21294293dc5ad237af89b849df28 data/create/recipes/mossy_diorite_from_diorite_stonecutting.json +f343c547a57df1e26d29d1cbb3ffe1ef2cd14817 data/create/recipes/mossy_dolomite_from_dolomite_stonecutting.json +3cbde30612758159b7f6bff90904e2cd048632a1 data/create/recipes/mossy_gabbro_from_gabbro_stonecutting.json +3cd67b80b2d51d1cae8031b6c248f7dff0866e6d data/create/recipes/mossy_granite_from_granite_stonecutting.json +f4ed015bde948b6330cd00f0ae2d05263d4eaa59 data/create/recipes/mossy_limestone_from_limestone_stonecutting.json +1e5efd72a84b858513cf7665334ddc17debbf6a2 data/create/recipes/mossy_scoria_from_scoria_stonecutting.json +2545b5e7501404df697e3856620a51b63ec8cbfc data/create/recipes/mossy_weathered_limestone_from_weathered_limestone_stonecutting.json +4865d07d0e07e22d41b961f0673041e087df7d5f data/create/recipes/oak_window.json +f06c8d1565a1f4d4914436b21e32d147de868d46 data/create/recipes/oak_window_pane.json +850e67f6f890de9cb8e4c6865aa4ecb8a316c240 data/create/recipes/ornate_iron_window.json +4ef1a7279f8deff6e2fd5fe027ec903694656bf9 data/create/recipes/ornate_iron_window_pane.json +d1cd83af24f6086fdc5e2a50bf43fe4e566afa37 data/create/recipes/overgrown_andesite_from_andesite_stonecutting.json +84691017310f584b19cdc492f0317e116c672390 data/create/recipes/overgrown_dark_scoria_from_dark_scoria_stonecutting.json +a5dde9dbbf0e64cc2079ecfc2bef714b001bf53d data/create/recipes/overgrown_diorite_from_diorite_stonecutting.json +2da9b98576904c989bf4400936fc674db097ab18 data/create/recipes/overgrown_dolomite_from_dolomite_stonecutting.json +97398ac8d96eda316a041ffc88ddbc9a776fda34 data/create/recipes/overgrown_gabbro_from_gabbro_stonecutting.json +baa92780173e406436d9ec1f0322281f497de029 data/create/recipes/overgrown_granite_from_granite_stonecutting.json +efb68cc19159266401cc5ab884212e586dc29e90 data/create/recipes/overgrown_limestone_from_limestone_stonecutting.json +55b6b09f363f2006dee94ad39dedeccb0598a1b8 data/create/recipes/overgrown_scoria_from_scoria_stonecutting.json +bef26dcd24e09ed6e9791df99de86b6eebcb2f6b data/create/recipes/overgrown_weathered_limestone_from_weathered_limestone_stonecutting.json +1497610b8e99e3f631f420bba09997c07b6223c5 data/create/recipes/paved_andesite_from_andesite_stonecutting.json +3426f20650b9ac72a5d1afaa96712a5256943c77 data/create/recipes/paved_andesite_slab.json +91b6ad4ca7a643f5741a0555bda3a8227122e702 data/create/recipes/paved_andesite_slab_from_paved_andesite_stonecutting.json +0f9ad9311c0c48c5fd700582211dcb6d22966e5f data/create/recipes/paved_andesite_stairs.json +ec4062997ebb02f0dfd709f45333f107255ba213 data/create/recipes/paved_andesite_stairs_from_paved_andesite_stonecutting.json +3e4d35656d434639217aaf1fb39bf51d1802084e data/create/recipes/paved_andesite_wall.json +6cf4dd767926475e011a9972a75af6a25fcd16f6 data/create/recipes/paved_andesite_wall_from_paved_andesite_stonecutting.json +87a243fba517a911fc99926739c4518ce73a976f data/create/recipes/paved_dark_scoria_from_dark_scoria_stonecutting.json +34c4290525e160b808e77aeef27c16c246ec664c data/create/recipes/paved_dark_scoria_slab.json +6c5fc5bbabbd40b38f2aa6eaf52116b94b2f30ce data/create/recipes/paved_dark_scoria_slab_from_paved_dark_scoria_stonecutting.json +e2115cb4b2f4879033088358c3d5a8f32af38ad1 data/create/recipes/paved_dark_scoria_stairs.json +04889aa4b526e7f2386b4f6f07c846daec1c6edd data/create/recipes/paved_dark_scoria_stairs_from_paved_dark_scoria_stonecutting.json +d08114db883109dc9da7a84584b5d87b4d63d0a7 data/create/recipes/paved_dark_scoria_wall.json +32335784ef65c552bbf679e4faa414d1fd1a34f8 data/create/recipes/paved_dark_scoria_wall_from_paved_dark_scoria_stonecutting.json +a19031440afbf2e93c08b416e1937974415d2f13 data/create/recipes/paved_diorite_from_diorite_stonecutting.json +9217438247650f62b9df022c72f3ce48a021a1c1 data/create/recipes/paved_diorite_slab.json +8362f7271738bbcc51bd1322ed342ae2e837b170 data/create/recipes/paved_diorite_slab_from_paved_diorite_stonecutting.json +7cff89507fa45fdbe60dbd4744c40c3ad59fcb6c data/create/recipes/paved_diorite_stairs.json +1978bcb0dc8b9d1864065a13853b2ed5b3fee9b1 data/create/recipes/paved_diorite_stairs_from_paved_diorite_stonecutting.json +786da65c6559caaa339cb18ed936464356c979dc data/create/recipes/paved_diorite_wall.json +f542866e26ea390b04d52fc2f848c43d4f56c159 data/create/recipes/paved_diorite_wall_from_paved_diorite_stonecutting.json +0c7bab439203680c127de68c469cf301b48b4b49 data/create/recipes/paved_dolomite_from_dolomite_stonecutting.json +d198c3eb0d7577d895773544c06ae98f3da9bb3e data/create/recipes/paved_dolomite_slab.json +3aa094643aa68afcf04ed08274d0180516259b1c data/create/recipes/paved_dolomite_slab_from_paved_dolomite_stonecutting.json +acddf0fb9fe7b312cbcbf7d0270e7f2f8ee6fb8f data/create/recipes/paved_dolomite_stairs.json +3fe979b7197ccbbd1b111a6deaa225a59404943c data/create/recipes/paved_dolomite_stairs_from_paved_dolomite_stonecutting.json +b2de5b85b0f771d6cc4ea7f7a26f5a3330615482 data/create/recipes/paved_dolomite_wall.json +8e68dd0fd5541ff9ceb28abacb05fc398041d30a data/create/recipes/paved_dolomite_wall_from_paved_dolomite_stonecutting.json +132b209951c2682ec37978d09269ff8506c6a0b7 data/create/recipes/paved_gabbro_from_gabbro_stonecutting.json +7234c8b68f58febfd602cb66e9843fe9de8281fd data/create/recipes/paved_gabbro_slab.json +90208da408a9735817f289a0c44bfce000627160 data/create/recipes/paved_gabbro_slab_from_paved_gabbro_stonecutting.json +19de216b47391772fb547619cdd6a37644896354 data/create/recipes/paved_gabbro_stairs.json +40a180ac262296a4fe86883d985f2f859b98fe32 data/create/recipes/paved_gabbro_stairs_from_paved_gabbro_stonecutting.json +6334a275032005ec48fe8f75c9649eda1cf174f6 data/create/recipes/paved_gabbro_wall.json +f0b3edac566b5c58d962120322cc33fbd0ba08b1 data/create/recipes/paved_gabbro_wall_from_paved_gabbro_stonecutting.json +a49df3fa16a75d09f19df4625d812ffbeca32b8f data/create/recipes/paved_granite_from_granite_stonecutting.json +e2abda9b3498b966bd2ad67299fbc3cec6c776ad data/create/recipes/paved_granite_slab.json +6d46326a8528a9d92aaa60d35e336ef0ee62d152 data/create/recipes/paved_granite_slab_from_paved_granite_stonecutting.json +0d2e0c5a2f98b57ffec14758681602e7efe68e48 data/create/recipes/paved_granite_stairs.json +0522b44adad471c2997e73dac55f60812b79dddf data/create/recipes/paved_granite_stairs_from_paved_granite_stonecutting.json +eabf6e8a67df5be460f5f2f67bdf8d7771177be2 data/create/recipes/paved_granite_wall.json +7263491bbdca3b58aaa4cb2969427731051285b3 data/create/recipes/paved_granite_wall_from_paved_granite_stonecutting.json +323d9395aaef33d700d355e7de88217fffbf9200 data/create/recipes/paved_limestone_from_limestone_stonecutting.json +daee9ab598afe8a051d9708cc83c3186494e4276 data/create/recipes/paved_limestone_slab.json +39eb8b265a38cfaa31de94e821da08dc0dc723e9 data/create/recipes/paved_limestone_slab_from_paved_limestone_stonecutting.json +a17e6304ea513508a52c9637997fd1b106d5cc59 data/create/recipes/paved_limestone_stairs.json +94696e5be4ff10f5d535f38b0adb1edf5db560ff data/create/recipes/paved_limestone_stairs_from_paved_limestone_stonecutting.json +8e189b3ada3a9538aa419b4be0367d29b25b6ef1 data/create/recipes/paved_limestone_wall.json +5cde15ebe8cc3a359c9796c170e25f1987d8dd08 data/create/recipes/paved_limestone_wall_from_paved_limestone_stonecutting.json +6d0773e2d7dc6ab1a076fc9260aac36f8cae6307 data/create/recipes/paved_scoria_from_scoria_stonecutting.json +5744b4c159922562f037cd97cb510586d7fbd5de data/create/recipes/paved_scoria_slab.json +562684440f40d975487fb290625a64c5db4fd716 data/create/recipes/paved_scoria_slab_from_paved_scoria_stonecutting.json +061bb8a676a4f613df5501de6f4c9fbf2cf26a5d data/create/recipes/paved_scoria_stairs.json +4932e50c093a6e1da9f8cb98eaf7d40bae67152c data/create/recipes/paved_scoria_stairs_from_paved_scoria_stonecutting.json +8e5ac9208e8d6adfa636d47501b2ad772a95d87a data/create/recipes/paved_scoria_wall.json +afec32d685e7845a8e081f98911a0a05dc77c9ea data/create/recipes/paved_scoria_wall_from_paved_scoria_stonecutting.json +435fbfc17112a12ddb7ad6031aaa6ec5400e98e2 data/create/recipes/paved_weathered_limestone_from_weathered_limestone_stonecutting.json +809d10b264dbba7bb17ff23b826dfda169147bba data/create/recipes/paved_weathered_limestone_slab.json +00b28f6b0eab99a2b91c3db22f9e5f54b0118e3e data/create/recipes/paved_weathered_limestone_slab_from_paved_weathered_limestone_stonecutting.json +f2a140cbaddefd387fd94f0ce94df763a585dd4f data/create/recipes/paved_weathered_limestone_stairs.json +9f02f552173ae1c85750bb16aa6bbbfb87a5a7f1 data/create/recipes/paved_weathered_limestone_stairs_from_paved_weathered_limestone_stonecutting.json +cc4a5a893b10ffdfcc10085323d89d34a1b8f122 data/create/recipes/paved_weathered_limestone_wall.json +d996f6505433a74cd8bdab04c0e0bac1b9a2da16 data/create/recipes/paved_weathered_limestone_wall_from_paved_weathered_limestone_stonecutting.json +57ead6c81e1cff1e8e2c4ebc5d0b5b00475b5ff8 data/create/recipes/polished_dark_scoria.json +753c85bfb84a5d31f9670478042321702a589dc8 data/create/recipes/polished_dark_scoria_from_dark_scoria_stonecutting.json +d3c78c504672fec3316b206505c2cb5fc8daf822 data/create/recipes/polished_dark_scoria_slab.json +bcc5a7325b7f7110e6b382e7ad60fc547222d3ad data/create/recipes/polished_dark_scoria_slab_from_polished_dark_scoria_stonecutting.json +c7d7e5f39099a71482cdfbebe1ef2dfd508ae768 data/create/recipes/polished_dark_scoria_stairs.json +364d77f01b380bbb0036810f6e0df09773ea8e1c data/create/recipes/polished_dark_scoria_stairs_from_polished_dark_scoria_stonecutting.json +396b6c97b5e7f608b293dee51be97717c3430bc4 data/create/recipes/polished_dark_scoria_wall.json +62b0769e0208831db822f6d2b986fff6aee60729 data/create/recipes/polished_dark_scoria_wall_from_polished_dark_scoria_stonecutting.json +50bf55ffedb9fb30b61fbd2921bc84377431aaa9 data/create/recipes/polished_dolomite.json +da91fd1ccaac64f7ef9737f3c773490d0c0b10d1 data/create/recipes/polished_dolomite_from_dolomite_stonecutting.json +75288e75b604eacfbc19cb51cb4d4759bdeaafa5 data/create/recipes/polished_dolomite_slab.json +9a89eaf5f00d8fb10297de61248f8d11dded8c4b data/create/recipes/polished_dolomite_slab_from_polished_dolomite_stonecutting.json +3b8ff952c40e0ff9cc187b055262ded9125ea391 data/create/recipes/polished_dolomite_stairs.json +e2dce404e4bcde076615ed0d0cf6fab769d441d5 data/create/recipes/polished_dolomite_stairs_from_polished_dolomite_stonecutting.json +8f2f4643886d166609b198704dcadb5e87b6323e data/create/recipes/polished_dolomite_wall.json +3b5d553e408a8b6385932e2a8082fcb5bdead0d1 data/create/recipes/polished_dolomite_wall_from_polished_dolomite_stonecutting.json +238a2479668b611b3b3392973b86cb9270510744 data/create/recipes/polished_gabbro.json +ba3e1444b9d1804411cc9c7536c657806dc37c1d data/create/recipes/polished_gabbro_from_gabbro_stonecutting.json +b7d29a29fde4868b4ceef1437e5d00975068bc58 data/create/recipes/polished_gabbro_slab.json +f7a62c1edc74e54fc0c747f23d7da182d49ef7b6 data/create/recipes/polished_gabbro_slab_from_polished_gabbro_stonecutting.json +4a60779ff57969d960e3dab827ec95f8632b877b data/create/recipes/polished_gabbro_stairs.json +7df6fd466badaa3cef5e2ad0e78bbb3b6429805e data/create/recipes/polished_gabbro_stairs_from_polished_gabbro_stonecutting.json +ec70334e13e05cff7e04e7dc6b23be273c235e50 data/create/recipes/polished_gabbro_wall.json +5176a8fe5a48592c7b487518a57c962c24e3e751 data/create/recipes/polished_gabbro_wall_from_polished_gabbro_stonecutting.json +1f62fa5bb5a7ea1a6005ea6df92a425dfd2e17d7 data/create/recipes/polished_limestone.json +0e88c98c9ef0d15523b23b00f8afde71d9d8e3e9 data/create/recipes/polished_limestone_from_limestone_stonecutting.json +135fd40e291c7cfdc73c14496654008da9dd797d data/create/recipes/polished_limestone_slab.json +4ce225832ab45daf6b5bc013c6f8762fdbe9ff0f data/create/recipes/polished_limestone_slab_from_polished_limestone_stonecutting.json +fee3d0ec8d4f27d82acd5d0e3a2a142900e18be3 data/create/recipes/polished_limestone_stairs.json +6780c8bd8747ebb6db7e0adfc486ce00e7e2cf26 data/create/recipes/polished_limestone_stairs_from_polished_limestone_stonecutting.json +44b1f3873fe8150abbacab10ff3cc2033a01b4a0 data/create/recipes/polished_limestone_wall.json +d68a27e463d31ba5eed19181c0335824601b9e68 data/create/recipes/polished_limestone_wall_from_polished_limestone_stonecutting.json +d6c9f925e5059eec29928a8c48a2986862bf1571 data/create/recipes/polished_scoria.json +9d6926822ea6f2bb38ba55204278fe82fd453d16 data/create/recipes/polished_scoria_from_scoria_stonecutting.json +814efd67d3f061d0c0ba104993c868e075a4fd3e data/create/recipes/polished_scoria_slab.json +8696f262927ae55ce72af1a34cae68fd6ccc4050 data/create/recipes/polished_scoria_slab_from_polished_scoria_stonecutting.json +efe648aa4fd0f22faa78c016dbe2d083462e1ad6 data/create/recipes/polished_scoria_stairs.json +ba6dd9ad0c69b088c1a9e33000bd5b9bcedb0ca0 data/create/recipes/polished_scoria_stairs_from_polished_scoria_stonecutting.json +8319042a131a9dcabae016009b807b91c491f8d3 data/create/recipes/polished_scoria_wall.json +bc9a83e7793768723031ff14269e43c83687b9f3 data/create/recipes/polished_scoria_wall_from_polished_scoria_stonecutting.json +839a18a69ec2d1d5171fd830f5af05f92f58ef6d data/create/recipes/polished_weathered_limestone.json +73b468de08f3e0542b7020129faff3a40b3fee67 data/create/recipes/polished_weathered_limestone_from_weathered_limestone_stonecutting.json +c0924d72a856c3182b89996a6ceaffd56930c455 data/create/recipes/polished_weathered_limestone_slab.json +1f5503d22859a08eef824d33f6ed48335f66c423 data/create/recipes/polished_weathered_limestone_slab_from_polished_weathered_limestone_stonecutting.json +d51106184083761635fa902c09c45436c414ddab data/create/recipes/polished_weathered_limestone_stairs.json +9d4382462376e85c2627b8150b09acd3b063e347 data/create/recipes/polished_weathered_limestone_stairs_from_polished_weathered_limestone_stonecutting.json +7dd58714cf8fc4614ae2e1c2981471da3a52f06c data/create/recipes/polished_weathered_limestone_wall.json +eae06580a0a5f486cde35426716d50fcb3ba5bb3 data/create/recipes/polished_weathered_limestone_wall_from_polished_weathered_limestone_stonecutting.json +d59c68621c78ff5d2c51be4440dea603480efed8 data/create/recipes/scoria_bricks_from_scoria_stonecutting.json +a7a28cf77955c2b4ed3687205dd24162e461aa30 data/create/recipes/scoria_bricks_slab.json +0577ffde98e7a027b21c430cd71cdafdd3cee3a3 data/create/recipes/scoria_bricks_slab_from_scoria_bricks_stonecutting.json +3d4518cc3ea9cfadd6dbfcb38d60f81479649e5f data/create/recipes/scoria_bricks_stairs.json +bdc4ee71382328003362566b253056908e174639 data/create/recipes/scoria_bricks_stairs_from_scoria_bricks_stonecutting.json +8db3d58ada7ff6e8f786134404a9986f4e0c2f0b data/create/recipes/scoria_bricks_wall.json +cbbba807521f37f5fc4b29369ccdcced789fc60c data/create/recipes/scoria_bricks_wall_from_scoria_bricks_stonecutting.json +9bd112689f6ab682abf4a7be5d112e9f93e2096d data/create/recipes/scoria_cobblestone_from_scoria_stonecutting.json +f7b7ff190929ae525297fecb3c116f32fc05fd88 data/create/recipes/scoria_cobblestone_slab.json +9ba4578f0bd402b5af442a4064c61007566c71cb data/create/recipes/scoria_cobblestone_slab_from_scoria_cobblestone_stonecutting.json +21e20f6dbda115545de271e37292bef5fcfacff8 data/create/recipes/scoria_cobblestone_stairs.json +3b761af694be85e5e087d1e4247322dbde37e429 data/create/recipes/scoria_cobblestone_stairs_from_scoria_cobblestone_stonecutting.json +78d3e625d8657b005fa78327aa318278c4ed1a97 data/create/recipes/scoria_cobblestone_wall.json +a9096822db9d12b6014d6d34e52de5821305c03f data/create/recipes/scoria_cobblestone_wall_from_scoria_cobblestone_stonecutting.json +a513468ce4d55fe3b3919bd76ba2bd5b6fac4d4e data/create/recipes/scoria_pillar.json +2e0ecbd3619f080d0fc6fe48307c5a5bcc2e91b4 data/create/recipes/scoria_pillar_from_scoria_stonecutting.json +7a4e163767827fc8cef3646204c2f2bf0f8aac99 data/create/recipes/spruce_window.json +96d515ff0172dafa04d650ab69d68ed508e99e6f data/create/recipes/spruce_window_pane.json +1f689453146c7dd2d315e8b5fb5e7cdc0aaf0fa2 data/create/recipes/tiled_glass_from_glass_colorless_stonecutting.json +39bd4bcaad003edbe035c91ffde61c51ee1edb87 data/create/recipes/tiled_glass_pane.json +7c6778a30bb670762c3a410cb19d1effc55a7063 data/create/recipes/vertical_framed_glass_from_glass_colorless_stonecutting.json +dc6093427210bd7034a0e2184f6a1630c7b33b3e data/create/recipes/vertical_framed_glass_pane.json +f75f25d3259dd51c29bee6ada2a4540a7a2bbeab data/create/recipes/weathered_limestone_bricks_from_weathered_limestone_stonecutting.json +f58ef5eb552fc7dcd89f30aa4231286ecef5e00a data/create/recipes/weathered_limestone_bricks_slab.json +ca9b163b3aaa526d6c3b070c2a7e50a56a38c6f4 data/create/recipes/weathered_limestone_bricks_slab_from_weathered_limestone_bricks_stonecutting.json +78830f6b06ed83c914c95cf569ae40e00834984d data/create/recipes/weathered_limestone_bricks_stairs.json +bbc1016dd20a324237cf887005383cb92ba6acfb data/create/recipes/weathered_limestone_bricks_stairs_from_weathered_limestone_bricks_stonecutting.json +52afaf129d04be832d57547e1d2c419b1c18ca83 data/create/recipes/weathered_limestone_bricks_wall.json +a80bc42cfed70bb4031cb320fe08eaa778659b79 data/create/recipes/weathered_limestone_bricks_wall_from_weathered_limestone_bricks_stonecutting.json +f67d26c9db68e027282960cae984319c39bdac0d data/create/recipes/weathered_limestone_cobblestone_from_weathered_limestone_stonecutting.json +651c1aa80635e174d6eb6581b3e84dd760cb7493 data/create/recipes/weathered_limestone_cobblestone_slab.json +6750a61430fa1f48bd3b461dbd3a279b1fce80c9 data/create/recipes/weathered_limestone_cobblestone_slab_from_weathered_limestone_cobblestone_stonecutting.json +aad8a7c3352a93c5da437a14e633c327e72ae8fe data/create/recipes/weathered_limestone_cobblestone_stairs.json +f18eb3abd962e80d452ff68eb12e70fa379da2f8 data/create/recipes/weathered_limestone_cobblestone_stairs_from_weathered_limestone_cobblestone_stonecutting.json +d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone_cobblestone_wall.json +0f3c993eb6dd3f37953f304b8fad15bf60469ef4 data/create/recipes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json +6eceb25fabbb6b389ca35de3b829ad061c9c456a data/create/recipes/weathered_limestone_pillar.json +11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data/create/recipes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json +266f08e604d229a9d2b46f7272c0b06ec270bf3d data/create/recipes/zinc_block.json +4ace4302e3f0ee8ca063c150a046deab06c52710 data/create/tags/blocks/brittle.json +228290109dd691e508cad11547e30d30bf111c3f data/create/tags/blocks/fan_heaters.json +74ad330d6e347b339002a9d83be7061c1c91ae26 data/create/tags/blocks/fan_transparent.json +081f5aa35602fc27af2ca01ea9f2fd5e7eb284dc data/create/tags/items/create_ingots.json +d2dc4ff179ef7b2aa9276455c196e15d44aa95a8 data/create/tags/items/crushed_ores.json +16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/blocks/glass/colorless.json +81ced867d24ec814942909965dd4576eff1db685 data/forge/tags/blocks/glass_panes.json +4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data/forge/tags/blocks/ores/copper.json +d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/blocks/ores/zinc.json +ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json +f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json +7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json +d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json +05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json +16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json +81ced867d24ec814942909965dd4576eff1db685 data/forge/tags/items/glass_panes.json +d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/ingots.json +2dfd21017cb51d4bdc18d977a7d16f103cc3a985 data/forge/tags/items/ingots/brass.json +8e0ca32df10a50544f54fbe3dbfe485971b23315 data/forge/tags/items/ingots/copper.json +2f9ac80569a5cc168061742f9e3c36277d4d056e data/forge/tags/items/ingots/zinc.json +bcf15289cbadd429a48bd9accb4d2d5f75353a61 data/forge/tags/items/nuggets.json +cc82188fe8d986f4457301ed4f75ae833d263601 data/forge/tags/items/nuggets/brass.json +7affb30e30a252566a77467994b0c99331f1076c data/forge/tags/items/nuggets/copper.json +0d8cb5092ee6ec01ea09324c80d649ba05549799 data/forge/tags/items/nuggets/zinc.json +4a0b13a9835106de9a1dd0a71a02372abb48e7b6 data/forge/tags/items/ores/copper.json +d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/items/ores/zinc.json +5d5ec04a61ff2b1ad19210e2859a9c96cc246ef8 data/forge/tags/items/plates.json +39f0d70ec10597e85df7c4783bbc5e0e4a5ffb80 data/forge/tags/items/plates/brass.json +c3dab5fe379bc1b7b10d4a0ba7009eee1b75a27c data/forge/tags/items/plates/copper.json +fb9bfb4c84ed9cf2da8c4b2fbc4cd4d9f37d3016 data/forge/tags/items/plates/gold.json +04d947ed7a5066f3cfe75a8dc564fe2dca8a9c93 data/forge/tags/items/plates/iron.json +ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/items/storage_blocks/brass.json +f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/copper.json +7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/items/storage_blocks/zinc.json +9dadc647e17b6262c13b6d8eda9139e30ce7e7d0 data/minecraft/tags/blocks/rails.json +29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json +0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json +92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json +29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json +0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json +92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json diff --git a/src/generated/resources/assets/create/blockstates/andesite_tunnel.json b/src/generated/resources/assets/create/blockstates/andesite_tunnel.json index 152534c34..c38dbb250 100644 --- a/src/generated/resources/assets/create/blockstates/andesite_tunnel.json +++ b/src/generated/resources/assets/create/blockstates/andesite_tunnel.json @@ -14,18 +14,11 @@ "model": "create:block/andesite_tunnel/window", "y": 90 }, - "axis=x,shape=halfshade": { - "model": "create:block/andesite_tunnel/halfshade" + "axis=x,shape=closed": { + "model": "create:block/andesite_tunnel/straight" }, - "axis=z,shape=halfshade": { - "model": "create:block/andesite_tunnel/halfshade", - "y": 90 - }, - "axis=x,shape=fullshade": { - "model": "create:block/andesite_tunnel/fullshade" - }, - "axis=z,shape=fullshade": { - "model": "create:block/andesite_tunnel/fullshade", + "axis=z,shape=closed": { + "model": "create:block/andesite_tunnel/straight", "y": 90 }, "axis=x,shape=t_left": { diff --git a/src/generated/resources/assets/create/blockstates/belt.json b/src/generated/resources/assets/create/blockstates/belt.json index 2c9de12cc..c09a0cb21 100644 --- a/src/generated/resources/assets/create/blockstates/belt.json +++ b/src/generated/resources/assets/create/blockstates/belt.json @@ -1,7 +1,7 @@ { "variants": { "casing=false,facing=north,part=start,slope=horizontal": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=start,slope=horizontal": { @@ -9,13 +9,13 @@ "y": 180 }, "casing=false,facing=south,part=start,slope=horizontal": { - "model": "create:block/belt/horizontal_start" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=start,slope=horizontal": { "model": "create:block/belt_casing/horizontal_start" }, "casing=false,facing=west,part=start,slope=horizontal": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=start,slope=horizontal": { @@ -23,7 +23,7 @@ "y": 90 }, "casing=false,facing=east,part=start,slope=horizontal": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=start,slope=horizontal": { @@ -31,7 +31,7 @@ "y": 270 }, "casing=false,facing=north,part=middle,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=middle,slope=horizontal": { @@ -39,13 +39,13 @@ "y": 180 }, "casing=false,facing=south,part=middle,slope=horizontal": { - "model": "create:block/belt/horizontal_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=middle,slope=horizontal": { "model": "create:block/belt_casing/horizontal_middle" }, "casing=false,facing=west,part=middle,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=middle,slope=horizontal": { @@ -53,7 +53,7 @@ "y": 90 }, "casing=false,facing=east,part=middle,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=middle,slope=horizontal": { @@ -61,7 +61,7 @@ "y": 270 }, "casing=false,facing=north,part=end,slope=horizontal": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=end,slope=horizontal": { @@ -69,13 +69,13 @@ "y": 180 }, "casing=false,facing=south,part=end,slope=horizontal": { - "model": "create:block/belt/horizontal_end" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=end,slope=horizontal": { "model": "create:block/belt_casing/horizontal_end" }, "casing=false,facing=west,part=end,slope=horizontal": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=end,slope=horizontal": { @@ -83,7 +83,7 @@ "y": 90 }, "casing=false,facing=east,part=end,slope=horizontal": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=end,slope=horizontal": { @@ -91,7 +91,7 @@ "y": 270 }, "casing=false,facing=north,part=pulley,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=pulley,slope=horizontal": { @@ -99,13 +99,13 @@ "y": 180 }, "casing=false,facing=south,part=pulley,slope=horizontal": { - "model": "create:block/belt/horizontal_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=pulley,slope=horizontal": { "model": "create:block/belt_casing/horizontal_pulley" }, "casing=false,facing=west,part=pulley,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=pulley,slope=horizontal": { @@ -113,7 +113,7 @@ "y": 90 }, "casing=false,facing=east,part=pulley,slope=horizontal": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=pulley,slope=horizontal": { @@ -121,127 +121,127 @@ "y": 270 }, "casing=false,facing=north,part=start,slope=upward": { - "model": "create:block/belt/upward_start", - "y": 180 + "model": "create:block/belt/particle" }, "casing=true,facing=north,part=start,slope=upward": { "model": "create:block/belt_casing/diagonal_start" }, "casing=false,facing=south,part=start,slope=upward": { - "model": "create:block/belt/upward_start" + "model": "create:block/belt/particle", + "y": 180 }, "casing=true,facing=south,part=start,slope=upward": { "model": "create:block/belt_casing/diagonal_start", "y": 180 }, "casing=false,facing=west,part=start,slope=upward": { - "model": "create:block/belt/upward_start", - "y": 90 + "model": "create:block/belt/particle", + "y": 270 }, "casing=true,facing=west,part=start,slope=upward": { "model": "create:block/belt_casing/diagonal_start", "y": 270 }, "casing=false,facing=east,part=start,slope=upward": { - "model": "create:block/belt/upward_start", - "y": 270 + "model": "create:block/belt/particle", + "y": 90 }, "casing=true,facing=east,part=start,slope=upward": { "model": "create:block/belt_casing/diagonal_start", "y": 90 }, "casing=false,facing=north,part=middle,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 180 + "model": "create:block/belt/particle" }, "casing=true,facing=north,part=middle,slope=upward": { "model": "create:block/belt_casing/diagonal_middle" }, "casing=false,facing=south,part=middle,slope=upward": { - "model": "create:block/belt/upward_middle" + "model": "create:block/belt/particle", + "y": 180 }, "casing=true,facing=south,part=middle,slope=upward": { "model": "create:block/belt_casing/diagonal_middle", "y": 180 }, "casing=false,facing=west,part=middle,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 90 + "model": "create:block/belt/particle", + "y": 270 }, "casing=true,facing=west,part=middle,slope=upward": { "model": "create:block/belt_casing/diagonal_middle", "y": 270 }, "casing=false,facing=east,part=middle,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 270 + "model": "create:block/belt/particle", + "y": 90 }, "casing=true,facing=east,part=middle,slope=upward": { "model": "create:block/belt_casing/diagonal_middle", "y": 90 }, "casing=false,facing=north,part=end,slope=upward": { - "model": "create:block/belt/upward_end", - "y": 180 + "model": "create:block/belt/particle" }, "casing=true,facing=north,part=end,slope=upward": { "model": "create:block/belt_casing/diagonal_end" }, "casing=false,facing=south,part=end,slope=upward": { - "model": "create:block/belt/upward_end" + "model": "create:block/belt/particle", + "y": 180 }, "casing=true,facing=south,part=end,slope=upward": { "model": "create:block/belt_casing/diagonal_end", "y": 180 }, "casing=false,facing=west,part=end,slope=upward": { - "model": "create:block/belt/upward_end", - "y": 90 + "model": "create:block/belt/particle", + "y": 270 }, "casing=true,facing=west,part=end,slope=upward": { "model": "create:block/belt_casing/diagonal_end", "y": 270 }, "casing=false,facing=east,part=end,slope=upward": { - "model": "create:block/belt/upward_end", - "y": 270 + "model": "create:block/belt/particle", + "y": 90 }, "casing=true,facing=east,part=end,slope=upward": { "model": "create:block/belt_casing/diagonal_end", "y": 90 }, "casing=false,facing=north,part=pulley,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 180 + "model": "create:block/belt/particle" }, "casing=true,facing=north,part=pulley,slope=upward": { "model": "create:block/belt_casing/diagonal_pulley" }, "casing=false,facing=south,part=pulley,slope=upward": { - "model": "create:block/belt/upward_middle" + "model": "create:block/belt/particle", + "y": 180 }, "casing=true,facing=south,part=pulley,slope=upward": { "model": "create:block/belt_casing/diagonal_pulley", "y": 180 }, "casing=false,facing=west,part=pulley,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 90 + "model": "create:block/belt/particle", + "y": 270 }, "casing=true,facing=west,part=pulley,slope=upward": { "model": "create:block/belt_casing/diagonal_pulley", "y": 270 }, "casing=false,facing=east,part=pulley,slope=upward": { - "model": "create:block/belt/upward_middle", - "y": 270 + "model": "create:block/belt/particle", + "y": 90 }, "casing=true,facing=east,part=pulley,slope=upward": { "model": "create:block/belt_casing/diagonal_pulley", "y": 90 }, "casing=false,facing=north,part=start,slope=downward": { - "model": "create:block/belt/downward_start", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=start,slope=downward": { @@ -249,13 +249,13 @@ "y": 180 }, "casing=false,facing=south,part=start,slope=downward": { - "model": "create:block/belt/downward_start" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=start,slope=downward": { "model": "create:block/belt_casing/diagonal_end" }, "casing=false,facing=west,part=start,slope=downward": { - "model": "create:block/belt/downward_start", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=start,slope=downward": { @@ -263,7 +263,7 @@ "y": 90 }, "casing=false,facing=east,part=start,slope=downward": { - "model": "create:block/belt/downward_start", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=start,slope=downward": { @@ -271,7 +271,7 @@ "y": 270 }, "casing=false,facing=north,part=middle,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=middle,slope=downward": { @@ -279,13 +279,13 @@ "y": 180 }, "casing=false,facing=south,part=middle,slope=downward": { - "model": "create:block/belt/downward_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=middle,slope=downward": { "model": "create:block/belt_casing/diagonal_middle" }, "casing=false,facing=west,part=middle,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=middle,slope=downward": { @@ -293,7 +293,7 @@ "y": 90 }, "casing=false,facing=east,part=middle,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=middle,slope=downward": { @@ -301,7 +301,7 @@ "y": 270 }, "casing=false,facing=north,part=end,slope=downward": { - "model": "create:block/belt/downward_end", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=end,slope=downward": { @@ -309,13 +309,13 @@ "y": 180 }, "casing=false,facing=south,part=end,slope=downward": { - "model": "create:block/belt/downward_end" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=end,slope=downward": { "model": "create:block/belt_casing/diagonal_start" }, "casing=false,facing=west,part=end,slope=downward": { - "model": "create:block/belt/downward_end", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=end,slope=downward": { @@ -323,7 +323,7 @@ "y": 90 }, "casing=false,facing=east,part=end,slope=downward": { - "model": "create:block/belt/downward_end", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=end,slope=downward": { @@ -331,7 +331,7 @@ "y": 270 }, "casing=false,facing=north,part=pulley,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 180 }, "casing=true,facing=north,part=pulley,slope=downward": { @@ -339,13 +339,13 @@ "y": 180 }, "casing=false,facing=south,part=pulley,slope=downward": { - "model": "create:block/belt/downward_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=pulley,slope=downward": { "model": "create:block/belt_casing/diagonal_pulley" }, "casing=false,facing=west,part=pulley,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 90 }, "casing=true,facing=west,part=pulley,slope=downward": { @@ -353,7 +353,7 @@ "y": 90 }, "casing=false,facing=east,part=pulley,slope=downward": { - "model": "create:block/belt/downward_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=pulley,slope=downward": { @@ -361,7 +361,7 @@ "y": 270 }, "casing=false,facing=north,part=start,slope=vertical": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "x": 90, "y": 180 }, @@ -371,7 +371,7 @@ "y": 270 }, "casing=false,facing=south,part=start,slope=vertical": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "x": 90 }, "casing=true,facing=south,part=start,slope=vertical": { @@ -380,7 +380,7 @@ "y": 90 }, "casing=false,facing=west,part=start,slope=vertical": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "x": 90, "y": 90 }, @@ -390,7 +390,7 @@ "y": 180 }, "casing=false,facing=east,part=start,slope=vertical": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "x": 90, "y": 270 }, @@ -399,7 +399,7 @@ "x": 90 }, "casing=false,facing=north,part=middle,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 180 }, @@ -409,7 +409,7 @@ "y": 270 }, "casing=false,facing=south,part=middle,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90 }, "casing=true,facing=south,part=middle,slope=vertical": { @@ -418,7 +418,7 @@ "y": 90 }, "casing=false,facing=west,part=middle,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 90 }, @@ -428,7 +428,7 @@ "y": 180 }, "casing=false,facing=east,part=middle,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 270 }, @@ -437,7 +437,7 @@ "x": 90 }, "casing=false,facing=north,part=end,slope=vertical": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "x": 90, "y": 180 }, @@ -447,7 +447,7 @@ "y": 270 }, "casing=false,facing=south,part=end,slope=vertical": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "x": 90 }, "casing=true,facing=south,part=end,slope=vertical": { @@ -456,7 +456,7 @@ "y": 90 }, "casing=false,facing=west,part=end,slope=vertical": { - "model": "create:block/belt/horizontal_start", + "model": "create:block/belt/particle", "x": 90, "y": 90 }, @@ -466,7 +466,7 @@ "y": 180 }, "casing=false,facing=east,part=end,slope=vertical": { - "model": "create:block/belt/horizontal_end", + "model": "create:block/belt/particle", "x": 90, "y": 270 }, @@ -475,7 +475,7 @@ "x": 90 }, "casing=false,facing=north,part=pulley,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 180 }, @@ -485,7 +485,7 @@ "y": 270 }, "casing=false,facing=south,part=pulley,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90 }, "casing=true,facing=south,part=pulley,slope=vertical": { @@ -494,7 +494,7 @@ "y": 90 }, "casing=false,facing=west,part=pulley,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 90 }, @@ -504,7 +504,7 @@ "y": 180 }, "casing=false,facing=east,part=pulley,slope=vertical": { - "model": "create:block/belt/horizontal_middle", + "model": "create:block/belt/particle", "x": 90, "y": 270 }, @@ -513,7 +513,7 @@ "x": 90 }, "casing=false,facing=north,part=start,slope=sideways": { - "model": "create:block/belt/sideways_end", + "model": "create:block/belt/particle", "x": 180, "y": 180 }, @@ -523,13 +523,13 @@ "y": 180 }, "casing=false,facing=south,part=start,slope=sideways": { - "model": "create:block/belt/sideways_start" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=start,slope=sideways": { "model": "create:block/belt_casing/sideways_start" }, "casing=false,facing=west,part=start,slope=sideways": { - "model": "create:block/belt/sideways_end", + "model": "create:block/belt/particle", "x": 180, "y": 90 }, @@ -539,7 +539,7 @@ "y": 90 }, "casing=false,facing=east,part=start,slope=sideways": { - "model": "create:block/belt/sideways_start", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=start,slope=sideways": { @@ -547,7 +547,7 @@ "y": 270 }, "casing=false,facing=north,part=middle,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "x": 180, "y": 180 }, @@ -557,13 +557,13 @@ "y": 180 }, "casing=false,facing=south,part=middle,slope=sideways": { - "model": "create:block/belt/sideways_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=middle,slope=sideways": { "model": "create:block/belt_casing/sideways_middle" }, "casing=false,facing=west,part=middle,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "x": 180, "y": 90 }, @@ -573,7 +573,7 @@ "y": 90 }, "casing=false,facing=east,part=middle,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=middle,slope=sideways": { @@ -581,7 +581,7 @@ "y": 270 }, "casing=false,facing=north,part=end,slope=sideways": { - "model": "create:block/belt/sideways_start", + "model": "create:block/belt/particle", "x": 180, "y": 180 }, @@ -591,13 +591,13 @@ "y": 180 }, "casing=false,facing=south,part=end,slope=sideways": { - "model": "create:block/belt/sideways_end" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=end,slope=sideways": { "model": "create:block/belt_casing/sideways_end" }, "casing=false,facing=west,part=end,slope=sideways": { - "model": "create:block/belt/sideways_start", + "model": "create:block/belt/particle", "x": 180, "y": 90 }, @@ -607,7 +607,7 @@ "y": 90 }, "casing=false,facing=east,part=end,slope=sideways": { - "model": "create:block/belt/sideways_end", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=end,slope=sideways": { @@ -615,7 +615,7 @@ "y": 270 }, "casing=false,facing=north,part=pulley,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "x": 180, "y": 180 }, @@ -625,13 +625,13 @@ "y": 180 }, "casing=false,facing=south,part=pulley,slope=sideways": { - "model": "create:block/belt/sideways_middle" + "model": "create:block/belt/particle" }, "casing=true,facing=south,part=pulley,slope=sideways": { "model": "create:block/belt_casing/sideways_pulley" }, "casing=false,facing=west,part=pulley,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "x": 180, "y": 90 }, @@ -641,7 +641,7 @@ "y": 90 }, "casing=false,facing=east,part=pulley,slope=sideways": { - "model": "create:block/belt/sideways_middle", + "model": "create:block/belt/particle", "y": 270 }, "casing=true,facing=east,part=pulley,slope=sideways": { diff --git a/src/generated/resources/assets/create/blockstates/blaze_heater.json b/src/generated/resources/assets/create/blockstates/blaze_heater.json new file mode 100644 index 000000000..ede37bfd8 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/blaze_heater.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "create:block/blaze_heater/block" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/brass_tunnel.json b/src/generated/resources/assets/create/blockstates/brass_tunnel.json index 05e7de04f..1566c2619 100644 --- a/src/generated/resources/assets/create/blockstates/brass_tunnel.json +++ b/src/generated/resources/assets/create/blockstates/brass_tunnel.json @@ -14,18 +14,11 @@ "model": "create:block/brass_tunnel/window", "y": 90 }, - "axis=x,shape=halfshade": { - "model": "create:block/brass_tunnel/halfshade" + "axis=x,shape=closed": { + "model": "create:block/brass_tunnel/straight" }, - "axis=z,shape=halfshade": { - "model": "create:block/brass_tunnel/halfshade", - "y": 90 - }, - "axis=x,shape=fullshade": { - "model": "create:block/brass_tunnel/fullshade" - }, - "axis=z,shape=fullshade": { - "model": "create:block/brass_tunnel/fullshade", + "axis=z,shape=closed": { + "model": "create:block/brass_tunnel/straight", "y": 90 }, "axis=x,shape=t_left": { diff --git a/src/generated/resources/assets/create/blockstates/fluid_pipe.json b/src/generated/resources/assets/create/blockstates/fluid_pipe.json index 96f2f6808..44255c27a 100644 --- a/src/generated/resources/assets/create/blockstates/fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/fluid_pipe.json @@ -181,10 +181,10 @@ }, { "when": { - "north": "false", - "south": "true", "west": "true", - "east": "false" + "east": "false", + "north": "false", + "south": "true" }, "apply": { "model": "create:block/fluid_pipe/lu_y" @@ -192,10 +192,10 @@ }, { "when": { - "north": "false", - "south": "true", "west": "false", - "east": "true" + "east": "true", + "north": "false", + "south": "true" }, "apply": { "model": "create:block/fluid_pipe/ru_y" @@ -203,10 +203,10 @@ }, { "when": { - "north": "true", - "south": "false", "west": "true", - "east": "false" + "east": "false", + "north": "true", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/ld_y" @@ -214,10 +214,10 @@ }, { "when": { - "north": "true", - "south": "false", "west": "false", - "east": "true" + "east": "true", + "north": "true", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/rd_y" @@ -225,10 +225,10 @@ }, { "when": { + "west": "false", + "east": "false", "north": "true", - "south": "true", - "west": "false", - "east": "false" + "south": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -236,10 +236,10 @@ }, { "when": { + "west": "false", + "east": "false", "north": "false", - "south": "true", - "west": "false", - "east": "false" + "south": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -247,10 +247,10 @@ }, { "when": { + "west": "false", + "east": "false", "north": "true", - "south": "false", - "west": "false", - "east": "false" + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -258,10 +258,10 @@ }, { "when": { - "north": "false", - "south": "false", "west": "true", - "east": "true" + "east": "true", + "north": "false", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -269,10 +269,10 @@ }, { "when": { - "north": "false", - "south": "false", "west": "true", - "east": "false" + "east": "false", + "north": "false", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -280,10 +280,10 @@ }, { "when": { - "north": "false", - "south": "false", "west": "false", - "east": "true" + "east": "true", + "north": "false", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -291,10 +291,10 @@ }, { "when": { - "north": "false", - "south": "false", "west": "false", - "east": "false" + "east": "false", + "north": "false", + "south": "false" }, "apply": { "model": "create:block/fluid_pipe/none_y" @@ -302,10 +302,10 @@ }, { "when": { - "up": "true", "west": "false", - "down": "false", - "east": "true" + "east": "true", + "up": "true", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/lu_z" @@ -313,10 +313,10 @@ }, { "when": { - "up": "true", "west": "true", - "down": "false", - "east": "false" + "east": "false", + "up": "true", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/ru_z" @@ -324,10 +324,10 @@ }, { "when": { - "up": "false", "west": "false", - "down": "true", - "east": "true" + "east": "true", + "up": "false", + "down": "true" }, "apply": { "model": "create:block/fluid_pipe/ld_z" @@ -335,10 +335,10 @@ }, { "when": { - "up": "false", "west": "true", - "down": "true", - "east": "false" + "east": "false", + "up": "false", + "down": "true" }, "apply": { "model": "create:block/fluid_pipe/rd_z" @@ -346,10 +346,10 @@ }, { "when": { + "west": "false", + "east": "false", "up": "true", - "west": "false", - "down": "true", - "east": "false" + "down": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_z" @@ -357,10 +357,10 @@ }, { "when": { + "west": "false", + "east": "false", "up": "true", - "west": "false", - "down": "false", - "east": "false" + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_z" @@ -368,10 +368,10 @@ }, { "when": { - "up": "false", "west": "false", - "down": "true", - "east": "false" + "east": "false", + "up": "false", + "down": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_z" @@ -379,10 +379,10 @@ }, { "when": { - "up": "false", "west": "true", - "down": "false", - "east": "true" + "east": "true", + "up": "false", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_z" @@ -390,10 +390,10 @@ }, { "when": { - "up": "false", "west": "false", - "down": "false", - "east": "true" + "east": "true", + "up": "false", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_z" @@ -401,10 +401,10 @@ }, { "when": { - "up": "false", "west": "true", - "down": "false", - "east": "false" + "east": "false", + "up": "false", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_z" @@ -412,10 +412,10 @@ }, { "when": { - "up": "false", "west": "false", - "down": "false", - "east": "false" + "east": "false", + "up": "false", + "down": "false" }, "apply": { "model": "create:block/fluid_pipe/none_z" diff --git a/src/generated/resources/assets/create/blockstates/fluid_tank.json b/src/generated/resources/assets/create/blockstates/fluid_tank.json index 886701911..ab140d245 100644 --- a/src/generated/resources/assets/create/blockstates/fluid_tank.json +++ b/src/generated/resources/assets/create/blockstates/fluid_tank.json @@ -1,25 +1,76 @@ { - "multipart": [ - { - "when": { - "top": "true" - }, - "apply": { - "model": "create:block/fluid_tank/block_top" - } + "variants": { + "bottom=false,shape=plain,top=false": { + "model": "create:block/fluid_tank/block_middle" }, - { - "apply": { - "model": "create:block/fluid_tank/block_windows" - } + "bottom=true,shape=plain,top=false": { + "model": "create:block/fluid_tank/block_bottom" }, - { - "when": { - "bottom": "true" - }, - "apply": { - "model": "create:block/fluid_tank/block_bottom" - } + "bottom=false,shape=window,top=false": { + "model": "create:block/fluid_tank/block_middle_window" + }, + "bottom=true,shape=window,top=false": { + "model": "create:block/fluid_tank/block_bottom_window" + }, + "bottom=false,shape=window_nw,top=false": { + "model": "create:block/fluid_tank/block_middle_window_nw" + }, + "bottom=true,shape=window_nw,top=false": { + "model": "create:block/fluid_tank/block_bottom_window_nw" + }, + "bottom=false,shape=window_sw,top=false": { + "model": "create:block/fluid_tank/block_middle_window_sw" + }, + "bottom=true,shape=window_sw,top=false": { + "model": "create:block/fluid_tank/block_bottom_window_sw" + }, + "bottom=false,shape=window_ne,top=false": { + "model": "create:block/fluid_tank/block_middle_window_ne" + }, + "bottom=true,shape=window_ne,top=false": { + "model": "create:block/fluid_tank/block_bottom_window_ne" + }, + "bottom=false,shape=window_se,top=false": { + "model": "create:block/fluid_tank/block_middle_window_se" + }, + "bottom=true,shape=window_se,top=false": { + "model": "create:block/fluid_tank/block_bottom_window_se" + }, + "bottom=false,shape=plain,top=true": { + "model": "create:block/fluid_tank/block_top" + }, + "bottom=true,shape=plain,top=true": { + "model": "create:block/fluid_tank/block_single" + }, + "bottom=false,shape=window,top=true": { + "model": "create:block/fluid_tank/block_top_window" + }, + "bottom=true,shape=window,top=true": { + "model": "create:block/fluid_tank/block_single_window" + }, + "bottom=false,shape=window_nw,top=true": { + "model": "create:block/fluid_tank/block_top_window_nw" + }, + "bottom=true,shape=window_nw,top=true": { + "model": "create:block/fluid_tank/block_single_window_nw" + }, + "bottom=false,shape=window_sw,top=true": { + "model": "create:block/fluid_tank/block_top_window_sw" + }, + "bottom=true,shape=window_sw,top=true": { + "model": "create:block/fluid_tank/block_single_window_sw" + }, + "bottom=false,shape=window_ne,top=true": { + "model": "create:block/fluid_tank/block_top_window_ne" + }, + "bottom=true,shape=window_ne,top=true": { + "model": "create:block/fluid_tank/block_single_window_ne" + }, + "bottom=false,shape=window_se,top=true": { + "model": "create:block/fluid_tank/block_top_window_se" + }, + "bottom=true,shape=window_se,top=true": { + "model": "create:block/fluid_tank/block_single_window_se" } - ] + } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index f97d8c8bc..9d00ea8b1 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -29,8 +29,8 @@ }, { "when": { - "axis": "x", - "sticky_south": "true" + "sticky_south": "true", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -39,8 +39,8 @@ }, { "when": { - "axis": "y", - "sticky_south": "true" + "sticky_south": "true", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky" @@ -48,8 +48,8 @@ }, { "when": { - "axis": "z", - "sticky_south": "true" + "sticky_south": "true", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -59,8 +59,8 @@ }, { "when": { - "axis": "x", - "sticky_south": "false" + "sticky_south": "false", + "axis": "x" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -69,8 +69,8 @@ }, { "when": { - "axis": "y", - "sticky_south": "false" + "sticky_south": "false", + "axis": "y" }, "apply": { "model": "create:block/radial_chassis_side_y" @@ -78,8 +78,8 @@ }, { "when": { - "axis": "z", - "sticky_south": "false" + "sticky_south": "false", + "axis": "z" }, "apply": { "model": "create:block/radial_chassis_side_x", diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index c8cd0c956..f114a594d 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -26,6 +26,7 @@ "block.create.birch_window": "\u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA", "block.create.birch_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u0265\u0254\u0279\u0131\u15FA", "block.create.black_seat": "\u0287\u0250\u01DDS \u029E\u0254\u0250\u05DF\u15FA", + "block.create.blaze_heater": "\u0279\u01DD\u0287\u0250\u01DDH \u01DDz\u0250\u05DF\u15FA", "block.create.blue_seat": "\u0287\u0250\u01DDS \u01DDn\u05DF\u15FA", "block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA", "block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA", @@ -355,6 +356,7 @@ "block.create.zinc_block": "\u029E\u0254o\u05DF\u15FA \u0254u\u0131Z", "block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z", "entity.create.contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186", + "entity.create.seat": "\u0287\u0250\u01DDS", "entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S", "entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS", "item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F", @@ -380,6 +382,7 @@ "item.create.empty_schematic": "\u0254\u0131\u0287\u0250\u026F\u01DD\u0265\u0254S \u028E\u0287d\u026F\u018E", "item.create.extendo_grip": "d\u0131\u0279\u2141 opu\u01DD\u0287x\u018E", "item.create.filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132", + "item.create.fuel_pellet": "\u0287\u01DD\u05DF\u05DF\u01DD\u0500 \u05DF\u01DDn\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", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index e6cd764ff..247ee4ec8 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -29,6 +29,7 @@ "block.create.birch_window": "Birch Window", "block.create.birch_window_pane": "Birch Window Pane", "block.create.black_seat": "Black Seat", + "block.create.blaze_heater": "Blaze Heater", "block.create.blue_seat": "Blue Seat", "block.create.brass_belt_funnel": "Brass Belt Funnel", "block.create.brass_block": "Brass Block", @@ -359,6 +360,7 @@ "block.create.zinc_ore": "Zinc Ore", "entity.create.contraption": "Contraption", + "entity.create.seat": "Seat", "entity.create.stationary_contraption": "Stationary Contraption", "entity.create.super_glue": "Super Glue", @@ -385,6 +387,7 @@ "item.create.empty_schematic": "Empty Schematic", "item.create.extendo_grip": "Extendo Grip", "item.create.filter": "Filter", + "item.create.fuel_pellet": "Fuel Pellet", "item.create.furnace_minecart_contraption": "Furnace Minecart Contraption", "item.create.goggles": "Engineer's Goggles", "item.create.golden_sheet": "Golden Sheet", @@ -863,6 +866,7 @@ "create.subtitle.blockzapper_confirm": "Affirmative Ding", "create.subtitle.blockzapper_deny": "Declining Boop", "create.subtitle.block_funnel_eat": "Funnel CHOMPS", + "create.subtitle.blaze_munch": "Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1079,6 +1083,15 @@ "block.create.basin.tooltip": "BASIN", "block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "_Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index 3a6611510..e8795b6a1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 797", + "_": "Missing Localizations: 809", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "UNLOCALIZED: Zinc Ore", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Leerer Bauplan", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Filter", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "UNLOCALIZED: Engineer's Goggles", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative Ding", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining Boop", "create.subtitle.block_funnel_eat": "UNLOCALIZED: Funnel CHOMPS", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "UNLOCALIZED: BASIN", "block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 326d3a3fc..a65280c05 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 400", + "_": "Missing Localizations: 412", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "Minerai de zinc", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Schéma vide", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Filtre", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "Lunettes d'ingénieur", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "Ding d'affirmation", "create.subtitle.blockzapper_deny": "Boop de déclin", "create.subtitle.block_funnel_eat": "Croc d'entonoir", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "BASSIN", "block.create.basin.tooltip.summary": "Un _objet_ _conteneur_ pratique utilisé dans le traitement avec le _mixeur_ _mécanique_ et la _presse_ _mecanique_. Prend en charge les _comparateur_ _de_ _redstone_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 764a30eba..33f8cd547 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 384", + "_": "Missing Localizations: 396", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "Blocco di Ottone", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "Zinco Grezzo", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Schematica Vuota", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Filtro", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "Occhiali da Ingegnere", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "Ding Affermativo", "create.subtitle.blockzapper_deny": "Boop in Calo", "create.subtitle.block_funnel_eat": "CHOMPS a Imbuto", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "BACINELLA", "block.create.basin.tooltip.summary": "Un pratico _contenitore_ _di_ _oggetti_ utilizzato nella lavorazione con il _Miscelatore_ _Meccanico_ e la _Pressa_ _Meccanica_. Supporta i _Comparatori_ _Redstone_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index 0ffc1ade3..dc910a63d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 379", + "_": "Missing Localizations: 391", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "真鍮ブロック", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "亜鉛鉱石", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "空の概略図", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "フィルター", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "エンジニアのゴーグル", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "アファーマティブディン", "create.subtitle.blockzapper_deny": "衰退するブープ", "create.subtitle.block_funnel_eat": "ファンネルCHOMPS", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "鉢", "block.create.basin.tooltip.summary": "_メカニカルミキサー_と_メカニカルプレス_での処理に使用される便利な_アイテムの入れ物_。_レッドストーンコンパレータ_をサポートします。", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index b72075f93..a13eeb763 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 384", + "_": "Missing Localizations: 396", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "황동 블럭", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "아연 광석", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "빈 청사진", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "필터 틀", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "엔지니어의 고글", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "확인 효과음", "create.subtitle.blockzapper_deny": "취소 효과음", "create.subtitle.block_funnel_eat": "깔때기가 흡입함", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "BASIN", "block.create.basin.tooltip.summary": "믹서나 압착기와 같이 쓰이는 간편한 _아이템_ _저장소_입니다. 레드스톤 비교기와 호환됩니다.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index 390a2082e..5c76d94ae 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 734", + "_": "Missing Localizations: 746", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "UNLOCALIZED: Zinc Ore", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Lege bouwtekening", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Filter", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "Ingenieur's Bril", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative Ding", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining Boop", "create.subtitle.block_funnel_eat": "UNLOCALIZED: Funnel CHOMPS", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "UNLOCALIZED: BASIN", "block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index 5fcaac6ce..4472e40cc 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 804", + "_": "Missing Localizations: 816", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "UNLOCALIZED: Zinc Ore", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Esquema vazio", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Filtro", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "UNLOCALIZED: Engineer's Goggles", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative Ding", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining Boop", "create.subtitle.block_funnel_eat": "UNLOCALIZED: Funnel CHOMPS", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "UNLOCALIZED: BASIN", "block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 51f4156fd..72bf40dd8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 798", + "_": "Missing Localizations: 810", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "UNLOCALIZED: Birch Window", "block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "UNLOCALIZED: Brass Block", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "UNLOCALIZED: Zinc Ore", "entity.create.contraption": "UNLOCALIZED: Contraption", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "Пустая схема", "item.create.extendo_grip": "UNLOCALIZED: Extendo Grip", "item.create.filter": "Фильтр", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "UNLOCALIZED: Furnace Minecart Contraption", "item.create.goggles": "UNLOCALIZED: Engineer's Goggles", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "UNLOCALIZED: Affirmative Ding", "create.subtitle.blockzapper_deny": "UNLOCALIZED: Declining Boop", "create.subtitle.block_funnel_eat": "UNLOCALIZED: Funnel CHOMPS", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "UNLOCALIZED: BASIN", "block.create.basin.tooltip.summary": "UNLOCALIZED: A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index 980ed4113..819593e4d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 60", + "_": "Missing Localizations: 72", "_": "->------------------------] Game Elements [------------------------<-", @@ -30,6 +30,7 @@ "block.create.birch_window": "白桦窗户", "block.create.birch_window_pane": "白桦窗户板", "block.create.black_seat": "UNLOCALIZED: Black Seat", + "block.create.blaze_heater": "UNLOCALIZED: Blaze Heater", "block.create.blue_seat": "UNLOCALIZED: Blue Seat", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_block": "黄铜块", @@ -360,6 +361,7 @@ "block.create.zinc_ore": "锌矿石", "entity.create.contraption": "结构", + "entity.create.seat": "UNLOCALIZED: Seat", "entity.create.stationary_contraption": "固定结构", "entity.create.super_glue": "强力胶", @@ -386,6 +388,7 @@ "item.create.empty_schematic": "空白蓝图", "item.create.extendo_grip": "伸缩机械手", "item.create.filter": "过滤器", + "item.create.fuel_pellet": "UNLOCALIZED: Fuel Pellet", "item.create.furnace_minecart_contraption": "装配过的动力矿车", "item.create.goggles": "工程师护目镜", "item.create.golden_sheet": "金板", @@ -864,6 +867,7 @@ "create.subtitle.blockzapper_confirm": "选择方块", "create.subtitle.blockzapper_deny": "放置失败", "create.subtitle.block_funnel_eat": "漏斗吞食", + "create.subtitle.blaze_munch": "UNLOCALIZED: Blaze munches happily", "_": "->------------------------] Item Descriptions [------------------------<-", @@ -1080,6 +1084,15 @@ "block.create.basin.tooltip": "BASIN", "block.create.basin.tooltip.summary": "一种方便的_物品容器_,常常用于_辊压机_和_搅拌机_,可以被_红石比较器_检测", + "block.create.blaze_heater.tooltip": "UNLOCALIZED: BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "UNLOCALIZED: A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "UNLOCALIZED: When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "UNLOCALIZED: _Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "UNLOCALIZED: When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "UNLOCALIZED: Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "UNLOCALIZED: When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "UNLOCALIZED: Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "UNLOCALIZED: REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "UNLOCALIZED: A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/cross.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/cross.json index c36f22472..6fd8e2f9b 100644 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/cross.json +++ b/src/generated/resources/assets/create/models/block/andesite_tunnel/cross.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/cross", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", + "3": "create:block/andesite_tunnel_top_window", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/fullshade.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/fullshade.json deleted file mode 100644 index ea791f982..000000000 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/fullshade.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "create:block/belt_tunnel/fullshade", - "textures": { - "0": "create:block/andesite_tunnel", - "1": "create:block/andesite_tunnel_top", - "particle": "block/polished_andesite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/halfshade.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/halfshade.json deleted file mode 100644 index 9729bac79..000000000 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/halfshade.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "create:block/belt_tunnel/halfshade", - "textures": { - "0": "create:block/andesite_tunnel", - "1": "create:block/andesite_tunnel_top", - "particle": "block/polished_andesite" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/straight.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/straight.json index 6b6d059ef..3e702e96e 100644 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/straight.json +++ b/src/generated/resources/assets/create/models/block/andesite_tunnel/straight.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/straight", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", + "3": "create:block/andesite_tunnel_top_window", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/t_left.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/t_left.json index fabcf7ce3..d75511bec 100644 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/t_left.json +++ b/src/generated/resources/assets/create/models/block/andesite_tunnel/t_left.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/t_left", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", + "3": "create:block/andesite_tunnel_top_window", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/t_right.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/t_right.json index b785de8e9..6326a05e0 100644 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/t_right.json +++ b/src/generated/resources/assets/create/models/block/andesite_tunnel/t_right.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/t_right", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", + "3": "create:block/andesite_tunnel_top_window", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_tunnel/window.json b/src/generated/resources/assets/create/models/block/andesite_tunnel/window.json index bb22e06ca..eb5b2463e 100644 --- a/src/generated/resources/assets/create/models/block/andesite_tunnel/window.json +++ b/src/generated/resources/assets/create/models/block/andesite_tunnel/window.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/window", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", + "3": "create:block/andesite_tunnel_top_window", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/cross.json b/src/generated/resources/assets/create/models/block/brass_tunnel/cross.json index e69d8638e..35f563cc3 100644 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/cross.json +++ b/src/generated/resources/assets/create/models/block/brass_tunnel/cross.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/cross", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/fullshade.json b/src/generated/resources/assets/create/models/block/brass_tunnel/fullshade.json deleted file mode 100644 index 62ebfc72e..000000000 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/fullshade.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "create:block/belt_tunnel/fullshade", - "textures": { - "0": "create:block/brass_tunnel", - "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/halfshade.json b/src/generated/resources/assets/create/models/block/brass_tunnel/halfshade.json deleted file mode 100644 index 73f30d68c..000000000 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/halfshade.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "create:block/belt_tunnel/halfshade", - "textures": { - "0": "create:block/brass_tunnel", - "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_block" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/straight.json b/src/generated/resources/assets/create/models/block/brass_tunnel/straight.json index c9453afcf..219f22257 100644 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/straight.json +++ b/src/generated/resources/assets/create/models/block/brass_tunnel/straight.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/straight", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/t_left.json b/src/generated/resources/assets/create/models/block/brass_tunnel/t_left.json index 6aaa5a249..62165f533 100644 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/t_left.json +++ b/src/generated/resources/assets/create/models/block/brass_tunnel/t_left.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/t_left", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/t_right.json b/src/generated/resources/assets/create/models/block/brass_tunnel/t_right.json index 3747c79b2..a9da1c54a 100644 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/t_right.json +++ b/src/generated/resources/assets/create/models/block/brass_tunnel/t_right.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/t_right", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_tunnel/window.json b/src/generated/resources/assets/create/models/block/brass_tunnel/window.json index de9a58ab9..0c62dcab8 100644 --- a/src/generated/resources/assets/create/models/block/brass_tunnel/window.json +++ b/src/generated/resources/assets/create/models/block/brass_tunnel/window.json @@ -1,8 +1,9 @@ { "parent": "create:block/belt_tunnel/window", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/andesite_tunnel.json b/src/generated/resources/assets/create/models/item/andesite_tunnel.json index 36f34ac32..e96e8c19b 100644 --- a/src/generated/resources/assets/create/models/item/andesite_tunnel.json +++ b/src/generated/resources/assets/create/models/item/andesite_tunnel.json @@ -1,8 +1,8 @@ { "parent": "create:block/belt_tunnel/item", "textures": { - "0": "create:block/andesite_tunnel", "1": "create:block/andesite_tunnel_top", + "2": "create:block/andesite_tunnel", "particle": "block/polished_andesite" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/blaze_heater.json b/src/generated/resources/assets/create/models/item/blaze_heater.json new file mode 100644 index 000000000..40a3c3428 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/blaze_heater.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/blaze_heater/block" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/brass_tunnel.json b/src/generated/resources/assets/create/models/item/brass_tunnel.json index 567f8dd77..b78dea50b 100644 --- a/src/generated/resources/assets/create/models/item/brass_tunnel.json +++ b/src/generated/resources/assets/create/models/item/brass_tunnel.json @@ -1,8 +1,8 @@ { "parent": "create:block/belt_tunnel/item", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", + "2": "create:block/brass_tunnel", "particle": "create:block/brass_block" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/fluid_tank.json b/src/generated/resources/assets/create/models/item/fluid_tank.json index 2d65e11ce..d79ba75a5 100644 --- a/src/generated/resources/assets/create/models/item/fluid_tank.json +++ b/src/generated/resources/assets/create/models/item/fluid_tank.json @@ -1,3 +1,3 @@ { - "parent": "create:block/fluid_tank/item" + "parent": "create:block/fluid_tank/block_single_window" } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/fuel_pellet.json b/src/generated/resources/assets/create/models/item/fuel_pellet.json new file mode 100644 index 000000000..4b15ea930 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/fuel_pellet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/fuel_pellet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/sounds.json b/src/generated/resources/assets/create/sounds.json similarity index 91% rename from src/main/resources/assets/create/sounds.json rename to src/generated/resources/assets/create/sounds.json index 11453a388..a420c4ac2 100644 --- a/src/main/resources/assets/create/sounds.json +++ b/src/generated/resources/assets/create/sounds.json @@ -1,16 +1,16 @@ { - "creeperclock": { - "sounds": [ - "create:creeperclock" - ], - "subtitle": "create.subtitle.creeperclock" - }, "pigclock": { "sounds": [ "create:pigclock" ], "subtitle": "create.subtitle.pigclock" }, + "creeperclock": { + "sounds": [ + "create:creeperclock" + ], + "subtitle": "create.subtitle.creeperclock" + }, "schematicannon_launch_block": { "sounds": [ { @@ -91,5 +91,14 @@ } ], "subtitle": "create.subtitle.block_funnel_eat" + }, + "blaze_munch": { + "sounds": [ + { + "name": "minecraft:entity.generic.eat", + "type": "event" + } + ], + "subtitle": "create.subtitle.blaze_munch" } } \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/blaze_heater.json b/src/generated/resources/data/create/loot_tables/blocks/blaze_heater.json new file mode 100644 index 000000000..291dbd019 --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/blaze_heater.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:blaze_heater" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/blocks/brittle.json b/src/generated/resources/data/create/tags/blocks/brittle.json index c2e37b343..58314746e 100644 --- a/src/generated/resources/data/create/tags/blocks/brittle.json +++ b/src/generated/resources/data/create/tags/blocks/brittle.json @@ -10,6 +10,9 @@ "create:extractor", "create:vertical_extractor", "create:linked_extractor", - "create:vertical_linked_extractor" + "create:vertical_linked_extractor", + "#minecraft:doors", + "minecraft:flower_pot", + "minecraft:bell" ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/blocks/fan_heaters.json b/src/generated/resources/data/create/tags/blocks/fan_heaters.json new file mode 100644 index 000000000..7d6b87f02 --- /dev/null +++ b/src/generated/resources/data/create/tags/blocks/fan_heaters.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "create:blaze_heater", + "minecraft:magma_block", + "minecraft:campfire", + "minecraft:lava", + "minecraft:fire" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/blocks/fan_transparent.json b/src/generated/resources/data/create/tags/blocks/fan_transparent.json new file mode 100644 index 000000000..099a5f090 --- /dev/null +++ b/src/generated/resources/data/create/tags/blocks/fan_transparent.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "create:blaze_heater", + "#minecraft:fences", + "minecraft:iron_bars" + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index b2ccfbad5..6dbff9bca 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -8,8 +8,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.lang3.tuple.Pair; - import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.Iterate; @@ -26,21 +24,31 @@ import net.minecraftforge.client.model.ModelLoader; public class AllBlockPartials { - private static List all = new ArrayList<>(); - - public static final AllBlockPartials - SCHEMATICANNON_CONNECTOR = get("schematicannon/connector"), + private static final List all = new ArrayList<>(); + + public static final AllBlockPartials SCHEMATICANNON_CONNECTOR = get("schematicannon/connector"), SCHEMATICANNON_PIPE = get("schematicannon/pipe"), - SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"), - BELT_PULLEY = get("belt_pulley"), + SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"), SHAFT_HALF = get("shaft_half"), + + BELT_PULLEY = get("belt_pulley"), + BELT_START = get("belt/start"), + BELT_MIDDLE = get("belt/middle"), + BELT_END = get("belt/end"), + BELT_START_BOTTOM = get("belt/start_bottom"), + BELT_MIDDLE_BOTTOM = get("belt/middle_bottom"), + BELT_END_BOTTOM = get("belt/end_bottom"), + BELT_DIAGONAL_START = get("belt/diagonal_start"), + BELT_DIAGONAL_MIDDLE = get("belt/diagonal_middle"), + BELT_DIAGONAL_END = get("belt/diagonal_end"), - ENCASED_FAN_INNER = get("encased_fan/propeller"), - HAND_CRANK_HANDLE = get("hand_crank/handle"), - MECHANICAL_PRESS_HEAD = get("mechanical_press/head"), - MECHANICAL_MIXER_POLE = get("mechanical_mixer/pole"), - MECHANICAL_MIXER_HEAD = get("mechanical_mixer/head"), + ENCASED_FAN_INNER = get("encased_fan/propeller"), HAND_CRANK_HANDLE = get("hand_crank/handle"), + MECHANICAL_PRESS_HEAD = get("mechanical_press/head"), MECHANICAL_MIXER_POLE = get("mechanical_mixer/pole"), + MECHANICAL_MIXER_HEAD = get("mechanical_mixer/head"), BLAZE_HEATER_BLAZE_ONE = get("blaze_heater/blaze/one"), + BLAZE_HEATER_BLAZE_TWO = get("blaze_heater/blaze/two"), + BLAZE_HEATER_BLAZE_THREE = get("blaze_heater/blaze/three"), + BLAZE_HEATER_BLAZE_FOUR = get("blaze_heater/blaze/four"), MECHANICAL_CRAFTER_LID = get("mechanical_crafter/lid"), MECHANICAL_CRAFTER_ARROW = get("mechanical_crafter/arrow"), MECHANICAL_CRAFTER_BELT_FRAME = get("mechanical_crafter/belt"), @@ -63,46 +71,32 @@ public class AllBlockPartials { FLEXPEATER_INDICATOR = get("diodes/indicator"), FLYWHEEL = get("flywheel/wheel"), FLYWHEEL_UPPER_ROTATING = get("flywheel/upper_rotating_connector"), + FLYWHEEL_LOWER_ROTATING = get("flywheel/lower_rotating_connector"), FLYWHEEL_UPPER_SLIDING = get("flywheel/upper_sliding_connector"), FLYWHEEL_LOWER_SLIDING = get("flywheel/lower_sliding_connector"), - FURNACE_GENERATOR_FRAME = get("furnace_engine/frame"), - CUCKOO_MINUTE_HAND = get("cuckoo_clock/minute_hand"), - CUCKOO_HOUR_HAND = get("cuckoo_clock/hour_hand"), - CUCKOO_LEFT_DOOR = get("cuckoo_clock/left_door"), - CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), - CUCKOO_PIG = get("cuckoo_clock/pig"), - CUCKOO_CREEPER = get("cuckoo_clock/creeper"), - ROPE_COIL = get("rope_pulley/rope_coil"), - ROPE_HALF = get("rope_pulley/rope_half"), - ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"), - MILLSTONE_COG = get("millstone/inner"), - PACKAGER_SEALER = get("packager/sealer"), + FURNACE_GENERATOR_FRAME = get("furnace_engine/frame"), CUCKOO_MINUTE_HAND = get("cuckoo_clock/minute_hand"), + CUCKOO_HOUR_HAND = get("cuckoo_clock/hour_hand"), CUCKOO_LEFT_DOOR = get("cuckoo_clock/left_door"), + CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), CUCKOO_PIG = get("cuckoo_clock/pig"), + CUCKOO_CREEPER = get("cuckoo_clock/creeper"), ROPE_COIL = get("rope_pulley/rope_coil"), + ROPE_HALF = get("rope_pulley/rope_half"), ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"), + MILLSTONE_COG = get("millstone/inner"), PACKAGER_SEALER = get("packager/sealer"), - SYMMETRY_PLANE = get("symmetry_effect/plane"), - SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"), + SYMMETRY_PLANE = get("symmetry_effect/plane"), SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"), SYMMETRY_TRIPLEPLANE = get("symmetry_effect/tripleplane"), - ARM_COG = get("mechanical_arm/cog"), - ARM_BASE = get("mechanical_arm/base"), - ARM_LOWER_BODY = get("mechanical_arm/lower_body"), - ARM_UPPER_BODY = get("mechanical_arm/upper_body"), - ARM_HEAD = get("mechanical_arm/head"), - ARM_CLAW_BASE = get("mechanical_arm/claw_base"), - ARM_CLAW_GRIP = get("mechanical_arm/claw_grip"), - - FLAG_SHORT_IN = get("mechanical_arm/flag/short_in"), - FLAG_SHORT_OUT = get("mechanical_arm/flag/short_out"), - FLAG_LONG_IN = get("mechanical_arm/flag/long_in"), - FLAG_LONG_OUT = get("mechanical_arm/flag/long_out"), - - MECHANICAL_PUMP_ARROW = get("mechanical_pump/arrow"), - MECHANICAL_PUMP_COG = get("mechanical_pump/cog"), + ARM_COG = get("mechanical_arm/cog"), ARM_BASE = get("mechanical_arm/base"), + ARM_LOWER_BODY = get("mechanical_arm/lower_body"), ARM_UPPER_BODY = get("mechanical_arm/upper_body"), + ARM_HEAD = get("mechanical_arm/head"), ARM_CLAW_BASE = get("mechanical_arm/claw_base"), + ARM_CLAW_GRIP = get("mechanical_arm/claw_grip"), + + FLAG_SHORT_IN = get("mechanical_arm/flag/short_in"), FLAG_SHORT_OUT = get("mechanical_arm/flag/short_out"), + FLAG_LONG_IN = get("mechanical_arm/flag/long_in"), FLAG_LONG_OUT = get("mechanical_arm/flag/long_out"), + + MECHANICAL_PUMP_ARROW = get("mechanical_pump/arrow"), MECHANICAL_PUMP_COG = get("mechanical_pump/cog"), FLUID_PIPE_CASING = get("fluid_pipe/casing"); public static final Map PIPE_RIMS = map(); - public static final Map, AllBlockPartials> TANK_LID_FILLERS = map(); - public static final Map, AllBlockPartials> TANK_DIAGONAL_FILLERS = map(); static { populateMaps(); @@ -113,27 +107,12 @@ public class AllBlockPartials { private ResourceLocation modelLocation; private IBakedModel bakedModel; - private AllBlockPartials() { - } + private AllBlockPartials() {} private static void populateMaps() { for (Direction d : Iterate.directions) { - boolean horizontal = d.getAxis() - .isHorizontal(); - PIPE_RIMS.put(d, get("fluid_pipe/rim/" + d.getName())); - - if (horizontal) { - for (boolean top : Iterate.trueAndFalse) - TANK_LID_FILLERS.put(Pair.of(top, d), - get("fluid_tank/lid_fillers/" + (top ? "top" : "bottom") + "_" + d.getName())); - } } - - for (boolean north : Iterate.trueAndFalse) - for (boolean east : Iterate.trueAndFalse) - TANK_DIAGONAL_FILLERS.put(Pair.of(north, east), - get("fluid_tank/diagonal_fillers/" + (north ? "north" : "south") + "_" + (east ? "east" : "west"))); } private static Map map() { @@ -184,9 +163,7 @@ public class AllBlockPartials { .rotateY(AngleHelper.horizontalAngle(facing)) .rotateX(AngleHelper.verticalAngle(facing)) .unCentre(); - SuperByteBuffer renderPartial = - CreateClient.bufferCache.renderDirectionalPartial(this, referenceState, facing, ms); - return renderPartial; + return CreateClient.bufferCache.renderDirectionalPartial(this, referenceState, facing, ms); } } diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 2d3398445..c30771a51 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -54,9 +54,13 @@ import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheel import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.FluidPipeModel; import com.simibubi.create.content.contraptions.fluids.FluidTankBlock; +import com.simibubi.create.content.contraptions.fluids.FluidTankGenerator; +import com.simibubi.create.content.contraptions.fluids.FluidTankItem; import com.simibubi.create.content.contraptions.fluids.FluidTankModel; import com.simibubi.create.content.contraptions.fluids.PumpBlock; import com.simibubi.create.content.contraptions.processing.BasinBlock; +import com.simibubi.create.content.contraptions.processing.HeaterBlock; +import com.simibubi.create.content.contraptions.processing.HeaterBlockItem; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock; import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock; import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator; @@ -208,7 +212,7 @@ public class AllBlocks { public static final BlockEntry ENCASED_SHAFT = REGISTRATE.block("encased_shaft", EncasedShaftBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate(BlockStateGen.axisBlockProvider(true)) .item() @@ -217,7 +221,7 @@ public class AllBlocks { public static final BlockEntry GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate(BlockStateGen.axisBlockProvider(true)) .item() @@ -226,7 +230,7 @@ public class AllBlocks { public static final BlockEntry CLUTCH = REGISTRATE.block("clutch", ClutchBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate((c, p) -> BlockStateGen.axisBlock(c, p, AssetLookup.forPowered(c, p))) .item() @@ -235,7 +239,7 @@ public class AllBlocks { public static final BlockEntry GEARSHIFT = REGISTRATE.block("gearshift", GearshiftBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate((c, p) -> BlockStateGen.axisBlock(c, p, AssetLookup.forPowered(c, p))) .item() @@ -245,7 +249,7 @@ public class AllBlocks { public static final BlockEntry ENCASED_BELT = REGISTRATE.block("encased_belt", EncasedBeltBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> p.models() .getExistingFile(p.modLoc("block/" + c.getName() + "/" + suffix))).generate(c, p)) @@ -256,7 +260,7 @@ public class AllBlocks { public static final BlockEntry ADJUSTABLE_PULLEY = REGISTRATE.block("adjustable_pulley", AdjustablePulleyBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> { String powered = state.get(AdjustablePulleyBlock.POWERED) ? "_powered" : ""; @@ -291,7 +295,7 @@ public class AllBlocks { public static final BlockEntry WATER_WHEEL = REGISTRATE.block("water_wheel", WaterWheelBlock::new) .initialProperties(SharedProperties::wooden) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.horizontalWheelProvider(false)) .addLayer(() -> RenderType::getCutoutMipped) .transform(StressConfigDefaults.setCapacity(16.0)) @@ -355,7 +359,7 @@ public class AllBlocks { public static final BlockEntry CRUSHING_WHEEL = REGISTRATE.block("crushing_wheel", CrushingWheelBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.axisBlockProvider(false)) .addLayer(() -> RenderType::getCutoutMipped) .transform(StressConfigDefaults.setImpact(8.0)) @@ -375,7 +379,7 @@ public class AllBlocks { public static final BlockEntry MECHANICAL_PRESS = REGISTRATE.block("mechanical_press", MechanicalPressBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.horizontalBlockProvider(true)) .transform(StressConfigDefaults.setImpact(8.0)) .item(BasinOperatorBlockItem::new) @@ -385,7 +389,7 @@ public class AllBlocks { public static final BlockEntry MECHANICAL_MIXER = REGISTRATE.block("mechanical_mixer", MechanicalMixerBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) .addLayer(() -> RenderType::getCutoutMipped) .transform(StressConfigDefaults.setImpact(4.0)) @@ -399,6 +403,16 @@ public class AllBlocks { .simpleItem() .register(); + public static final BlockEntry HEATER = REGISTRATE.block("blaze_heater", HeaterBlock::new) + .initialProperties(SharedProperties::softMetal) + .properties(p -> p.lightValue(12)) + .addLayer(() -> RenderType::getCutoutMipped) + .tag(AllBlockTags.FAN_TRANSPARENT.tag, AllBlockTags.FAN_HEATERS.tag) + .blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) + .item(HeaterBlockItem::new) + .build() + .register(); + public static final BlockEntry DEPOT = REGISTRATE.block("depot", DepotBlock::new) .initialProperties(SharedProperties::stone) .blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) @@ -450,11 +464,13 @@ public class AllBlocks { public static final BlockEntry FLUID_TANK = REGISTRATE.block("fluid_tank", FluidTankBlock::new) .initialProperties(SharedProperties::softMetal) - .blockstate(BlockStateGen.tank()) + .properties(Block.Properties::nonOpaque) + .blockstate(new FluidTankGenerator()::generate) .onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::new)) .addLayer(() -> RenderType::getCutoutMipped) - .item() - .transform(customItemModel()) + .item(FluidTankItem::new) + .model(AssetLookup.customItemModel("_", "block_single_window")) + .build() .register(); // Contraptions @@ -525,7 +541,7 @@ public class AllBlocks { public static final BlockEntry CART_ASSEMBLER = REGISTRATE.block("cart_assembler", CartAssemblerBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.cartAssembler()) .addLayer(() -> RenderType::getCutoutMipped) .tag(BlockTags.RAILS) @@ -536,7 +552,7 @@ public class AllBlocks { public static final BlockEntry REINFORCED_RAIL = REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.reinforcedRail()) .addLayer(() -> RenderType::getCutoutMipped) .tag(BlockTags.RAILS) @@ -663,7 +679,7 @@ public class AllBlocks { public static final BlockEntry MECHANICAL_CRAFTER = REGISTRATE.block("mechanical_crafter", MechanicalCrafterBlock::new) .initialProperties(SharedProperties::softMetal) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate(BlockStateGen.horizontalBlockProvider(true)) .transform(StressConfigDefaults.setImpact(2.0)) .onRegister(CreateRegistrate.connectedTextures(new CrafterCTBehaviour())) @@ -675,7 +691,7 @@ public class AllBlocks { public static final BlockEntry SEQUENCED_GEARSHIFT = REGISTRATE.block("sequenced_gearshift", SequencedGearshiftBlock::new) .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate(new SequencedGearshiftGenerator()::generate) .item() @@ -684,7 +700,7 @@ public class AllBlocks { public static final BlockEntry FLYWHEEL = REGISTRATE.block("flywheel", FlywheelBlock::new) .initialProperties(SharedProperties::softMetal) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .transform(StressConfigDefaults.setNoImpact()) .blockstate(new FlywheelGenerator()::generate) .item() @@ -835,7 +851,7 @@ public class AllBlocks { public static final BlockEntry PACKAGER = REGISTRATE.block("packager", PackagerBlock::new) .initialProperties(SharedProperties::softMetal) .transform(StressConfigDefaults.setImpact(4.0)) - .properties(p -> p.nonOpaque()) + .properties(Block.Properties::nonOpaque) .blockstate((c, p) -> p.getVariantBuilder(c.get()) .forAllStates(s -> ConfiguredModel.builder() .modelFile(AssetLookup.partialBaseModel(c, p)) diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 33482516b..6ac8e3b60 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -20,6 +20,7 @@ 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.CombustibleItem; import com.simibubi.create.content.curiosities.RefinedRadianceItem; import com.simibubi.create.content.curiosities.ShadowSteelItem; import com.simibubi.create.content.curiosities.TreeFertilizerItem; @@ -175,6 +176,10 @@ public class AllItems { REGISTRATE.item("tree_fertilizer", TreeFertilizerItem::new) .register(); + public static final ItemEntry FUEL_PELLET = REGISTRATE.item("fuel_pellet", CombustibleItem::new) + // .onRegister(item -> item.setBurnTime(2048)) + .register(); + public static final ItemEntry BLOCKZAPPER = REGISTRATE.item("handheld_blockzapper", BlockzapperItem::new) .transform(CreateRegistrate.customRenderedItem(() -> BlockzapperModel::new)) diff --git a/src/main/java/com/simibubi/create/AllParticleTypes.java b/src/main/java/com/simibubi/create/AllParticleTypes.java index 7df7d02b3..387933851 100644 --- a/src/main/java/com/simibubi/create/AllParticleTypes.java +++ b/src/main/java/com/simibubi/create/AllParticleTypes.java @@ -3,11 +3,15 @@ package com.simibubi.create; import java.util.function.Supplier; import com.simibubi.create.content.contraptions.particle.AirFlowParticleData; +import com.simibubi.create.content.contraptions.particle.CubeParticle; +import com.simibubi.create.content.contraptions.particle.CubeParticleData; +import com.simibubi.create.content.contraptions.particle.HeaterParticleData; import com.simibubi.create.content.contraptions.particle.ICustomParticle; import com.simibubi.create.content.contraptions.particle.RotationIndicatorParticleData; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.client.Minecraft; +import net.minecraft.client.particle.IParticleFactory; import net.minecraft.client.particle.ParticleManager; import net.minecraft.particles.IParticleData; import net.minecraft.particles.ParticleType; @@ -22,14 +26,22 @@ public enum AllParticleTypes { ROTATION_INDICATOR(RotationIndicatorParticleData::new), AIR_FLOW(AirFlowParticleData::new), + HEATER_PARTICLE(HeaterParticleData::new), + CUBE(CubeParticleData::dummy, () -> CubeParticle.Factory::new) ; private ParticleEntry entry; - private AllParticleTypes(Supplier> typeFactory) { + AllParticleTypes(Supplier> typeFactory) { String asId = Lang.asId(this.name()); - entry = new ParticleEntry(new ResourceLocation(Create.ID, asId), typeFactory); + entry = new ParticleEntry<>(new ResourceLocation(Create.ID, asId), typeFactory); + } + + AllParticleTypes(Supplier> typeFactory, + Supplier>> particleMetaFactory) { + String asId = Lang.asId(this.name()); + entry = new ParticleEntry<>(new ResourceLocation(Create.ID, asId), typeFactory, particleMetaFactory); } public static void register(RegistryEvent.Register> event) { @@ -40,26 +52,33 @@ public enum AllParticleTypes { @OnlyIn(Dist.CLIENT) public static void registerFactories(ParticleFactoryRegisterEvent event) { ParticleManager particles = Minecraft.getInstance().particles; - for (AllParticleTypes particle : values()) + for (AllParticleTypes particle : values()) particle.entry.registerFactory(particles); } public ParticleType get() { return entry.getType(); } - + public String parameter() { return Lang.asId(name()); } private class ParticleEntry { Supplier> typeFactory; + Supplier>> particleMetaFactory; ParticleType type; ResourceLocation id; - public ParticleEntry(ResourceLocation id, Supplier> typeFactory) { + public ParticleEntry(ResourceLocation id, Supplier> typeFactory, + Supplier>> particleMetaFactory) { this.id = id; this.typeFactory = typeFactory; + this.particleMetaFactory = particleMetaFactory; + } + + public ParticleEntry(ResourceLocation id, Supplier> typeFactory) { + this(id, typeFactory, null); } ParticleType getType() { @@ -74,7 +93,8 @@ public enum AllParticleTypes { void makeType() { if (type == null) { - type = typeFactory.get().createType(); + type = typeFactory.get() + .createType(); type.setRegistryName(id); } } @@ -82,7 +102,11 @@ public enum AllParticleTypes { @OnlyIn(Dist.CLIENT) void registerFactory(ParticleManager particles) { makeType(); - particles.registerFactory(type, typeFactory.get().getFactory()); + if (particleMetaFactory == null) + particles.registerFactory(type, typeFactory.get() + .getFactory()); + else + particles.registerFactory(type, particleMetaFactory.get().get()); } } diff --git a/src/main/java/com/simibubi/create/AllRecipeTypes.java b/src/main/java/com/simibubi/create/AllRecipeTypes.java index 87fcec136..c5d81e469 100644 --- a/src/main/java/com/simibubi/create/AllRecipeTypes.java +++ b/src/main/java/com/simibubi/create/AllRecipeTypes.java @@ -1,7 +1,5 @@ package com.simibubi.create; -import java.util.function.Supplier; - import com.simibubi.create.compat.jei.ConversionRecipe; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCraftingRecipe; import com.simibubi.create.content.contraptions.components.crusher.CrushingRecipe; @@ -12,11 +10,11 @@ import com.simibubi.create.content.contraptions.components.press.PressingRecipe; import com.simibubi.create.content.contraptions.components.saw.CuttingRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer; +import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer.IExtendedRecipeFactory; import com.simibubi.create.content.contraptions.processing.ProcessingRecipeSerializer.IRecipeFactory; import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe; import com.simibubi.create.content.curiosities.zapper.blockzapper.BlockzapperUpgradeRecipe; import com.simibubi.create.foundation.utility.Lang; - import net.minecraft.inventory.IInventory; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.IRecipeSerializer; @@ -26,18 +24,20 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; import net.minecraftforge.event.RegistryEvent; +import java.util.function.Supplier; + public enum AllRecipeTypes { BLOCKZAPPER_UPGRADE(BlockzapperUpgradeRecipe.Serializer::new, IRecipeType.CRAFTING), - MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new), - CRUSHING(processingSerializer(CrushingRecipe::new)), - MILLING(processingSerializer(MillingRecipe::new)), - SPLASHING(processingSerializer(SplashingRecipe::new)), - PRESSING(processingSerializer(PressingRecipe::new)), - CUTTING(processingSerializer(CuttingRecipe::new)), - MIXING(processingSerializer(MixingRecipe::new)), - SANDPAPER_POLISHING(processingSerializer(SandPaperPolishingRecipe::new)), CONVERSION(processingSerializer(ConversionRecipe::new)), + CRUSHING(processingSerializer(CrushingRecipe::new)), + CUTTING(processingSerializer(CuttingRecipe::new)), + MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new), + MILLING(processingSerializer(MillingRecipe::new)), + MIXING(extendedProcessingSerializer(MixingRecipe::new)), + PRESSING(processingSerializer(PressingRecipe::new)), + SANDPAPER_POLISHING(processingSerializer(SandPaperPolishingRecipe::new)), + SPLASHING(processingSerializer(SplashingRecipe::new)), ; @@ -45,34 +45,30 @@ public enum AllRecipeTypes { public Supplier> supplier; public IRecipeType> type; - @SuppressWarnings("unchecked") - public > T getType() { - return (T) type; - } - - private AllRecipeTypes(Supplier> supplier) { + AllRecipeTypes(Supplier> supplier) { this(supplier, null); } - private AllRecipeTypes(Supplier> supplier, - IRecipeType> existingType) { + AllRecipeTypes(Supplier> supplier, + IRecipeType> existingType) { this.supplier = supplier; this.type = existingType; } public static void register(RegistryEvent.Register> event) { ShapedRecipe.setCraftingSize(9, 9); - + for (AllRecipeTypes r : AllRecipeTypes.values()) { if (r.type == null) r.type = customType(Lang.asId(r.name())); - + r.serializer = r.supplier.get(); ResourceLocation location = new ResourceLocation(Create.ID, Lang.asId(r.name())); - event.getRegistry().register(r.serializer.setRegistryName(location)); + event.getRegistry() + .register(r.serializer.setRegistryName(location)); } } - + private static > IRecipeType customType(String id) { return Registry.register(Registry.RECIPE_TYPE, new ResourceLocation(Create.ID, id), new IRecipeType() { public String toString() { @@ -80,10 +76,19 @@ public enum AllRecipeTypes { } }); } - - private static Supplier> processingSerializer(IRecipeFactory> factory) { + + private static Supplier> processingSerializer( + IRecipeFactory> factory) { return () -> new ProcessingRecipeSerializer<>(factory); } + private static Supplier> extendedProcessingSerializer( + IExtendedRecipeFactory> factory) { + return () -> new ProcessingRecipeSerializer<>(factory); + } + @SuppressWarnings("unchecked") + public > T getType() { + return (T) type; + } } diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 095b94753..f3792a945 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -113,7 +113,10 @@ public class AllShapes { BASIN_BLOCK_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 14, 14) .add(2, 0, 2, 14, 2, 14) - .build(), + .build(), HEATER_BLOCK_SHAPE = + shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16) + .build(), + HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(), CRUSHING_WHEEL_COLLISION_SHAPE = cuboid(0, 0, 0, 16, 22, 16), SEAT = cuboid(0, 0, 0, 16, 8, 16), SEAT_COLLISION = cuboid(0, 0, 0, 16, 6, 16), diff --git a/src/main/java/com/simibubi/create/AllSoundEvents.java b/src/main/java/com/simibubi/create/AllSoundEvents.java index e778e611e..a46d188ad 100644 --- a/src/main/java/com/simibubi/create/AllSoundEvents.java +++ b/src/main/java/com/simibubi/create/AllSoundEvents.java @@ -9,6 +9,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.simibubi.create.foundation.utility.Lang; +import net.minecraft.data.DataGenerator; import net.minecraft.data.DirectoryCache; import net.minecraft.data.IDataProvider; import net.minecraft.util.ResourceLocation; @@ -19,8 +20,8 @@ import net.minecraftforge.registries.IForgeRegistry; public enum AllSoundEvents implements IDataProvider { - CUCKOO_PIG("creeperclock"), - CUCKOO_CREEPER("pigclock"), + CUCKOO_PIG("pigclock"), + CUCKOO_CREEPER("creeperclock"), SCHEMATICANNON_LAUNCH_BLOCK(SoundEvents.ENTITY_GENERIC_EXPLODE), SCHEMATICANNON_FINISH(SoundEvents.BLOCK_NOTE_BLOCK_BELL), @@ -31,11 +32,13 @@ public enum AllSoundEvents implements IDataProvider { BLOCKZAPPER_CONFIRM(SoundEvents.BLOCK_NOTE_BLOCK_BELL), BLOCKZAPPER_DENY(SoundEvents.BLOCK_NOTE_BLOCK_BASS), BLOCK_FUNNEL_EAT(SoundEvents.ENTITY_GENERIC_EAT), + BLAZE_MUNCH(SoundEvents.ENTITY_GENERIC_EAT) ; String id; SoundEvent event, child; + private DataGenerator generator; // For adding our own sounds at assets/create/sounds/name.ogg AllSoundEvents() { @@ -62,6 +65,11 @@ public enum AllSoundEvents implements IDataProvider { return id; } + public AllSoundEvents generator(DataGenerator generator){ + this.generator = generator; + return this; + } + public static void register(RegistryEvent.Register event) { IForgeRegistry registry = event.getRegistry(); @@ -107,7 +115,7 @@ public enum AllSoundEvents implements IDataProvider { @Override public void act(DirectoryCache cache) throws IOException { - + generate(generator.getOutputFolder(), cache); } @Override diff --git a/src/main/java/com/simibubi/create/AllSpriteShifts.java b/src/main/java/com/simibubi/create/AllSpriteShifts.java index beeb4fa4e..6927f4de2 100644 --- a/src/main/java/com/simibubi/create/AllSpriteShifts.java +++ b/src/main/java/com/simibubi/create/AllSpriteShifts.java @@ -48,10 +48,12 @@ public class AllSpriteShifts { public static final CTSpriteShiftEntry BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"), - FLUID_TANK = getCT(CTType.OMNIDIRECTIONAL, "fluid_tank"); + FLUID_TANK = getCT(CTType.CROSS, "fluid_tank"); public static final SpriteShiftEntry BELT = SpriteShifter.get("block/belt", "block/belt_animated"), + BELT_OFFSET = SpriteShifter.get("block/belt_offset", "block/belt_animated"), + BELT_DIAGONAL = SpriteShifter.get("block/belt_diagonal", "block/belt_diagonal_animated"), ANDESIDE_BELT_CASING = SpriteShifter.get("block/brass_casing_belt", "block/andesite_casing_belt"), CRAFTER_THINGIES = SpriteShifter.get("block/crafter_thingies", "block/crafter_thingies"); diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java index 72a957c20..7f05d7297 100644 --- a/src/main/java/com/simibubi/create/AllTags.java +++ b/src/main/java/com/simibubi/create/AllTags.java @@ -12,6 +12,7 @@ import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.block.Block; import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -88,28 +89,53 @@ public class AllTags { } public static enum AllBlockTags { - WINDMILL_SAILS, FAN_HEATERS, WINDOWABLE, NON_MOVABLE, BRITTLE + WINDMILL_SAILS, FAN_HEATERS, WINDOWABLE, NON_MOVABLE, BRITTLE, FAN_TRANSPARENT ; public Tag tag; private AllBlockTags() { - this(""); + this(MOD, ""); } - - private AllBlockTags(String path) { + + private AllBlockTags(NameSpace namespace) { + this(namespace, ""); + } + + private AllBlockTags(NameSpace namespace, String path) { tag = new BlockTags.Wrapper( - new ResourceLocation(Create.ID, (path.isEmpty() ? "" : path + "/") + Lang.asId(name()))); + new ResourceLocation(namespace.id, (path.isEmpty() ? "" : path + "/") + Lang.asId(name()))); } public boolean matches(BlockState block) { return tag.contains(block.getBlock()); } + + public void includeIn(AllBlockTags parent) { + REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.getBuilder(parent.tag) + .add(tag)); + } + + public void includeAll(Tag child) { + REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.getBuilder(tag).add(child)); + } + + public void add(Block ...values) { + REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.getBuilder(tag).add(values)); + } } public static void register() { AllItemTags.CREATE_INGOTS.includeIn(AllItemTags.BEACON_PAYMENT); AllItemTags.CREATE_INGOTS.includeIn(AllItemTags.INGOTS); + + AllBlockTags.BRITTLE.includeAll(BlockTags.DOORS); + AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL); + + AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.FENCES); + AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS); + + AllBlockTags.FAN_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.CAMPFIRE, Blocks.LAVA, Blocks.FIRE); } } diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 5e67ace79..f191f5eac 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -49,8 +49,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidTankRenderer; import com.simibubi.create.content.contraptions.fluids.FluidTankTileEntity; import com.simibubi.create.content.contraptions.fluids.PumpRenderer; import com.simibubi.create.content.contraptions.fluids.PumpTileEntity; -import com.simibubi.create.content.contraptions.processing.BasinRenderer; -import com.simibubi.create.content.contraptions.processing.BasinTileEntity; +import com.simibubi.create.content.contraptions.processing.*; 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.sequencer.SequencedGearshiftTileEntity; @@ -201,6 +200,8 @@ public class AllTileEntities { register("deployer", DeployerTileEntity::new, AllBlocks.DEPLOYER); public static final TileEntityEntry BASIN = register("basin", BasinTileEntity::new, AllBlocks.BASIN); + public static final TileEntityEntry HEATER = + register("blaze_heater", HeaterTileEntity::new, AllBlocks.HEATER); public static final TileEntityEntry MECHANICAL_CRAFTER = register("mechanical_crafter", MechanicalCrafterTileEntity::new, AllBlocks.MECHANICAL_CRAFTER); public static final TileEntityEntry SEQUENCED_GEARSHIFT = @@ -300,6 +301,7 @@ public class AllTileEntities { bind(SPEEDOMETER, GaugeRenderer::speed); bind(STRESSOMETER, GaugeRenderer::stress); bind(BASIN, BasinRenderer::new); + bind(HEATER, HeaterRenderer::new); bind(DEPLOYER, DeployerRenderer::new); bind(FLYWHEEL, FlywheelRenderer::new); bind(FURNACE_ENGINE, EngineRenderer::new); diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 0033adc32..64b99568b 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -109,6 +109,7 @@ public class Create { DataGenerator gen = event.getGenerator(); gen.addProvider(new AllAdvancements(gen)); gen.addProvider(new LangMerger(gen)); + gen.addProvider(AllSoundEvents.BLAZE_MUNCH.generator(gen)); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java b/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java index 069783c75..4c838bc55 100644 --- a/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java +++ b/src/main/java/com/simibubi/create/compat/jei/ConversionRecipe.java @@ -1,8 +1,10 @@ package com.simibubi.create.compat.jei; -import java.util.Arrays; +import java.util.Collections; import java.util.List; +import javax.annotation.ParametersAreNonnullByDefault; + import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; @@ -21,23 +23,25 @@ import net.minecraftforge.items.wrapper.RecipeWrapper; * @author simibubi * */ +@ParametersAreNonnullByDefault public class ConversionRecipe extends ProcessingRecipe { public ConversionRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.CONVERSION, id, group, ingredients, results, processingDuration); } static int counter = 0; public static ConversionRecipe create(ItemStack from, ItemStack to) { - List ingredients = Arrays.asList(new ProcessingIngredient(Ingredient.fromStacks(from))); - List outputs = Arrays.asList(new ProcessingOutput(to, 1)); + List ingredients = + Collections.singletonList(new ProcessingIngredient(Ingredient.fromStacks(from))); + List outputs = Collections.singletonList(new ProcessingOutput(to, 1)); return new ConversionRecipe(new ResourceLocation(Create.ID, "conversion_" + counter++), ingredients, outputs); } public ConversionRecipe(ResourceLocation id, List ingredients, - List results) { + List results) { this(id, "conversions", ingredients, results, -1); } diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index d547d67c5..18d414246 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -162,6 +162,7 @@ public class CreateJEI implements IModPlugin { registration.addRecipeCatalyst(new ItemStack(AllItems.BLOCKZAPPER.get()), blockzapperCategory.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.HEATER.get()), mixingCategory.getUid()); registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_SAW.get()), sawingCategory.getUid()); registration.addRecipeCatalyst(new ItemStack(AllBlocks.MECHANICAL_SAW.get()), blockCuttingCategory.getUid()); registration.addRecipeCatalyst(new ItemStack(Blocks.STONECUTTER), blockCuttingCategory.getUid()); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java index 59e5a866d..832841461 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/CreateRecipeCategory.java @@ -59,10 +59,10 @@ public abstract class CreateRecipeCategory> implements IRec if (!(recipe instanceof ProcessingRecipe)) return jeiSlot; ProcessingRecipe processingRecipe = (ProcessingRecipe) recipe; - List rollableResults = processingRecipe.getRollableResults(); + List rollableResults = processingRecipe.getRollableItemResults(); if (rollableResults.size() <= index) return jeiSlot; - if (processingRecipe.getRollableResults().get(index).getChance() == 1) + if (processingRecipe.getRollableItemResults().get(index).getChance() == 1) return jeiSlot; return AllGuiTextures.JEI_CHANCE_SLOT; } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java index 5e95a3c2c..088456e68 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/CrushingCategory.java @@ -41,7 +41,7 @@ public class CrushingCategory extends CreateRecipeCategory results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); int size = results.size(); int offset = -size * 19 / 2; for (int outputIndex = 0; outputIndex < size; outputIndex++) { @@ -54,7 +54,7 @@ public class CrushingCategory extends CreateRecipeCategory results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); AllGuiTextures.JEI_SLOT.draw(50, 2); AllGuiTextures.JEI_DOWN_ARROW.draw(72, 7); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/MillingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/MillingCategory.java index 90ddeacc8..79985ef23 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/MillingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/MillingCategory.java @@ -43,7 +43,7 @@ public class MillingCategory extends CreateRecipeCategory results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); boolean single = results.size() == 1; for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { int xOffset = outputIndex % 2 == 0 ? 0 : 19; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java index 68f30c47c..fd2ada44b 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/MixingCategory.java @@ -10,6 +10,7 @@ import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; +import com.simibubi.create.compat.jei.category.animations.AnimatedBlazeHeater; import com.simibubi.create.compat.jei.category.animations.AnimatedMixer; import com.simibubi.create.content.contraptions.components.mixer.MixingRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; @@ -27,10 +28,11 @@ import net.minecraft.util.NonNullList; public class MixingCategory extends CreateRecipeCategory { private AnimatedMixer mixer = new AnimatedMixer(); + private AnimatedBlazeHeater heater = new AnimatedBlazeHeater(); public MixingCategory() { super("mixing", doubleItemIcon(AllBlocks.MECHANICAL_MIXER.get(), AllBlocks.BASIN.get()), - emptyBackground(177, 70)); + emptyBackground(177, 110)); } @Override @@ -54,8 +56,9 @@ public class MixingCategory extends CreateRecipeCategory { Map catalystIndices = new HashMap<>(9); for (int i = 0; i < actualIngredients.size(); i++) { for (ProcessingIngredient processingIngredient : recipe.getRollableIngredients()) { - if (processingIngredient.isCatalyst() && ItemHelper - .matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i).getKey())) { + if (processingIngredient.isCatalyst() + && ItemHelper.matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i) + .getKey())) { catalystIndices.put(i, processingIngredient.getOutputChance()); break; } @@ -65,20 +68,26 @@ public class MixingCategory extends CreateRecipeCategory { int size = actualIngredients.size(); int xOffset = size < 3 ? (3 - size) * 19 / 2 : 0; int i = 0; + int yOffset = recipe.getHeatLevelRequired() > 0 ? 30 : 10; while (i < size) { Pair ingredient = actualIngredients.get(i); - itemStacks.init(i, true, 16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19); - List asList = Arrays.asList(ingredient.getKey().getMatchingStacks()); - itemStacks.set(i, asList.stream().map(stack -> { - stack = stack.copy(); - stack.setCount(ingredient.getRight().getValue()); - return stack; - }).collect(Collectors.toList())); + itemStacks.init(i, true, 16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19 + yOffset); + List asList = Arrays.asList(ingredient.getKey() + .getMatchingStacks()); + itemStacks.set(i, asList.stream() + .map(stack -> { + stack = stack.copy(); + stack.setCount(ingredient.getRight() + .getValue()); + return stack; + }) + .collect(Collectors.toList())); i++; } - itemStacks.init(i, false, 141, 50); - itemStacks.set(i, recipe.getRecipeOutput().getStack()); + itemStacks.init(i, false, 141, 50 + yOffset); + itemStacks.set(i, recipe.getRecipeOutput() + .getStack()); addCatalystTooltip(itemStacks, catalystIndices); } @@ -89,21 +98,25 @@ public class MixingCategory extends CreateRecipeCategory { int size = actualIngredients.size(); int xOffset = size < 3 ? (3 - size) * 19 / 2 : 0; + int yOffset = recipe.getHeatLevelRequired() > 0 ? 30 : 10; for (int i = 0; i < size; i++) { AllGuiTextures jeiSlot = AllGuiTextures.JEI_SLOT; for (ProcessingIngredient processingIngredient : recipe.getRollableIngredients()) { - if (processingIngredient.isCatalyst() && ItemHelper - .matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i).getKey())) { + if (processingIngredient.isCatalyst() + && ItemHelper.matchIngredients(processingIngredient.getIngredient(), actualIngredients.get(i) + .getKey())) { jeiSlot = AllGuiTextures.JEI_CATALYST_SLOT; break; } } - jeiSlot.draw(16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19); + jeiSlot.draw(16 + xOffset + (i % 3) * 19, 50 - (i / 3) * 19 + yOffset); } - AllGuiTextures.JEI_SLOT.draw(141, 50); - AllGuiTextures.JEI_DOWN_ARROW.draw(136, 32); - AllGuiTextures.JEI_SHADOW.draw(81, 57); - mixer.draw(getBackground().getWidth() / 2 + 3, 25); + AllGuiTextures.JEI_SLOT.draw(141, 50 + yOffset); + AllGuiTextures.JEI_DOWN_ARROW.draw(136, 32 + yOffset); + AllGuiTextures.JEI_SHADOW.draw(81, 57 + yOffset); + if (recipe.getHeatLevelRequired() > 0) + heater.drawWithHeatLevel(getBackground().getWidth() / 2 + 3, 55, recipe.getHeatLevelRequired()); + mixer.draw(getBackground().getWidth() / 2 + 3, 34); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java index 42a1cdde0..36514730c 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/MysteriousItemConversionCategory.java @@ -41,7 +41,7 @@ public class MysteriousItemConversionCategory extends CreateRecipeCategory results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); itemStacks.init(0, true, 26, 16); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); itemStacks.init(1, false, 131, 16); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java index 3b3399f27..0fd563557 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java @@ -43,7 +43,7 @@ public class PolishingCategory extends CreateRecipeCategory results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); itemStacks.init(0, true, 26, 28); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java index f1260b4fd..b635f5625 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/PressingCategory.java @@ -41,7 +41,7 @@ public class PressingCategory extends CreateRecipeCategory { itemStacks.init(0, true, 26, 50); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { itemStacks.init(outputIndex + 1, false, 131 + 19 * outputIndex, 50); itemStacks.set(outputIndex + 1, results.get(outputIndex).getStack()); @@ -54,7 +54,7 @@ public class PressingCategory extends CreateRecipeCategory { public void draw(PressingRecipe recipe, double mouseX, double mouseY) { AllGuiTextures.JEI_SLOT.draw(26, 50); getRenderedSlot(recipe, 0).draw(131, 50); - if (recipe.getRollableResults().size() > 1) + if (recipe.getRollableItemResults().size() > 1) getRenderedSlot(recipe, 1).draw(131 + 19, 50); AllGuiTextures.JEI_SHADOW.draw(61, 41); AllGuiTextures.JEI_LONG_ARROW.draw(52, 54); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java index 52de5db32..c5b331f8c 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SawingCategory.java @@ -40,7 +40,7 @@ public class SawingCategory extends CreateRecipeCategory { itemStacks.init(0, true, 43, 4); itemStacks.set(0, Arrays.asList(recipe.getIngredients().get(0).getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { int xOffset = outputIndex % 2 == 0 ? 0 : 19; int yOffset = (outputIndex / 2) * -19; @@ -55,7 +55,7 @@ public class SawingCategory extends CreateRecipeCategory { @Override public void draw(CuttingRecipe recipe, double mouseX, double mouseY) { AllGuiTextures.JEI_SLOT.draw(43, 4); - int size = recipe.getRollableResults().size(); + int size = recipe.getRollableItemResults().size(); for (int i = 0; i < size; i++) { int xOffset = i % 2 == 0 ? 0 : 19; int yOffset = (i / 2) * -19; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java index 9fe2eb3c6..89ca987c2 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java @@ -42,7 +42,7 @@ public class SplashingCategory extends ProcessingViaFanCategory .get(0) .getMatchingStacks())); - List results = recipe.getRollableResults(); + List results = recipe.getRollableItemResults(); boolean single = results.size() == 1; for (int outputIndex = 0; outputIndex < results.size(); outputIndex++) { int xOffset = outputIndex % 2 == 0 ? 0 : 19; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeHeater.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeHeater.java new file mode 100644 index 000000000..84483c08a --- /dev/null +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeHeater.java @@ -0,0 +1,57 @@ +package com.simibubi.create.compat.jei.category.animations; + +import java.util.HashMap; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.foundation.gui.GuiGameElement; + +import mezz.jei.api.gui.drawable.IDrawable; + +public class AnimatedBlazeHeater implements IDrawable { + private static final HashMap blazeModelMap = new HashMap<>(); + + public AnimatedBlazeHeater() { + super(); + blazeModelMap.put(2, AllBlockPartials.BLAZE_HEATER_BLAZE_TWO); + blazeModelMap.put(3, AllBlockPartials.BLAZE_HEATER_BLAZE_THREE); + blazeModelMap.put(4, AllBlockPartials.BLAZE_HEATER_BLAZE_FOUR); + } + + @Override + public void draw(int xOffset, int yOffset) { + drawWithHeatLevel(xOffset, yOffset, 3); + } + + public void drawWithHeatLevel(int xOffset, int yOffset, int heatLevel) { + RenderSystem.pushMatrix(); + RenderSystem.translatef(xOffset, yOffset, 200); + RenderSystem.rotatef(-15.5f, 1, 0, 0); + RenderSystem.rotatef(22.5f, 0, 1, 0); + int scale = 23; + + GuiGameElement.of(AllBlocks.HEATER.getDefaultState()) + .atLocal(0, 1.65, 0) + .scale(scale) + .render(); + + GuiGameElement.of(blazeModelMap.getOrDefault(heatLevel, AllBlockPartials.BLAZE_HEATER_BLAZE_ONE)) + .atLocal(1, 1.65, 1) + .rotate(0, 180, 0) + .scale(scale) + .render(); + + RenderSystem.popMatrix(); + } + + @Override + public int getWidth() { + return 50; + } + + @Override + public int getHeight() { + return 50; + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/AbstractCrushingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/AbstractCrushingRecipe.java index 2ee5d5f1d..bd99f7740 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/AbstractCrushingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/AbstractCrushingRecipe.java @@ -13,7 +13,7 @@ import net.minecraftforge.items.wrapper.RecipeWrapper; public abstract class AbstractCrushingRecipe extends ProcessingRecipe { public AbstractCrushingRecipe(AllRecipeTypes recipeType, ResourceLocation id, String group, - List ingredients, List results, int processingDuration) { + List ingredients, List results, int processingDuration) { super(recipeType, id, group, ingredients, results, processingDuration); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingRecipe.java index 9f77db133..5f5ff519c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingRecipe.java @@ -1,19 +1,20 @@ package com.simibubi.create.content.contraptions.components.crusher; -import java.util.List; - import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; - import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.items.wrapper.RecipeWrapper; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; + +@ParametersAreNonnullByDefault public class CrushingRecipe extends AbstractCrushingRecipe { public CrushingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.CRUSHING, id, group, ingredients, results, processingDuration); } @@ -21,9 +22,10 @@ public class CrushingRecipe extends AbstractCrushingRecipe { public boolean matches(RecipeWrapper inv, World worldIn) { if (inv.isEmpty()) return false; - return ingredients.get(0).test(inv.getStackInSlot(0)); + return ingredients.get(0) + .test(inv.getStackInSlot(0)); } - + @Override protected int getMaxOutputCount() { return 7; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java index 8141fcf36..3f5eeec54 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crusher/CrushingWheelControllerTileEntity.java @@ -191,7 +191,7 @@ public class CrushingWheelControllerTileEntity extends SmartTileEntity { inventory.clear(); for (int roll = 0; roll < rolls; roll++) { List rolledResults = recipe.get() - .rollResults(); + .rollResults().getItemStacks(); for (int i = 0; i < rolledResults.size(); i++) { ItemStack stack = rolledResults.get(i); ItemHelper.addToList(stack, list); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFakePlayer.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFakePlayer.java index 677b05ce3..9d632361b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFakePlayer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerFakePlayer.java @@ -108,11 +108,14 @@ public class DeployerFakePlayer extends FakePlayer { if (trueSource != null && trueSource instanceof DeployerFakePlayer) { DeployerFakePlayer fakePlayer = (DeployerFakePlayer) trueSource; event.getDrops() - .forEach(stack -> fakePlayer.inventory.placeItemBackInInventory(trueSource.world, stack.getItem())); + .forEach(stack -> fakePlayer.inventory.placeItemBackInInventory(trueSource.world, stack.getItem())); event.setCanceled(true); } } + @Override + protected void playEquipSound(ItemStack p_184606_1_) {} + @Override public void remove(boolean keepData) { if (blockBreakingProgress != null && !world.isRemote) @@ -156,13 +159,11 @@ public class DeployerFakePlayer extends FakePlayer { } @Override - public void sendPacket(IPacket packetIn) { - } + public void sendPacket(IPacket packetIn) {} @Override public void sendPacket(IPacket packetIn, - GenericFutureListener> futureListeners) { - } + GenericFutureListener> futureListeners) {} } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java index d9bf3a889..8331bcf87 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import com.simibubi.create.AllTags; import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.content.contraptions.particle.AirFlowParticleData; @@ -304,11 +305,7 @@ public class AirCurrent { } private static boolean shouldAlwaysPass(BlockState state) { - if (state.isIn(Tags.Blocks.FENCES)) - return true; - if (state.getBlock() == Blocks.IRON_BARS) - return true; - return false; + return AllTags.AllBlockTags.FAN_TRANSPARENT.matches(state); } public InWorldProcessing.Type getSegmentAt(float offset) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java index 899edfb69..0b08cfb3e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/EncasedFanTileEntity.java @@ -2,10 +2,11 @@ package com.simibubi.create.content.contraptions.components.fan; import com.simibubi.create.AllTags.AllBlockTags; import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity; +import com.simibubi.create.content.contraptions.processing.HeaterBlock; import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.CKinetics; - +import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundNBT; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; @@ -72,9 +73,20 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity { } public boolean blockBelowIsHot() { - return world.getBlockState(pos.down()) - .getBlock() - .isIn(AllBlockTags.FAN_HEATERS.tag); + if (world == null) + return false; + BlockState checkState = world.getBlockState(pos.down()); + + if (!checkState.getBlock().isIn(AllBlockTags.FAN_HEATERS.tag)) + return false; + + if (checkState.has(HeaterBlock.BLAZE_LEVEL) && !checkState.get(HeaterBlock.BLAZE_LEVEL).min(HeaterBlock.HeatLevel.FADING)) + return false; + + if (checkState.has(BlockStateProperties.LIT) && !checkState.get(BlockStateProperties.LIT)) + return false; + + return true; } public float getMaxDistance() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/SplashingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/SplashingRecipe.java index 47da85aa0..2ff2c545a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/SplashingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/SplashingRecipe.java @@ -1,21 +1,22 @@ package com.simibubi.create.content.contraptions.components.fan; -import java.util.List; - import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.content.logistics.InWorldProcessing; import com.simibubi.create.content.logistics.InWorldProcessing.SplashingInv; - import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; + +@ParametersAreNonnullByDefault public class SplashingRecipe extends ProcessingRecipe { public SplashingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.SPLASHING, id, group, ingredients, results, processingDuration); } @@ -23,9 +24,10 @@ public class SplashingRecipe extends ProcessingRecipe ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.MILLING, id, group, ingredients, results, processingDuration); } @@ -22,12 +23,12 @@ public class MillingRecipe extends AbstractCrushingRecipe { public boolean matches(RecipeWrapper inv, World worldIn) { if (inv.isEmpty()) return false; - return ingredients.get(0).test(inv.getStackInSlot(0)); + return ingredients.get(0) + .test(inv.getStackInSlot(0)); } - + @Override protected int getMaxOutputCount() { return 4; } - } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java index bccc88d6d..434c6883c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/millstone/MillstoneTileEntity.java @@ -94,7 +94,7 @@ public class MillstoneTileEntity extends KineticTileEntity { ItemStack stackInSlot = inputInv.getStackInSlot(0); stackInSlot.shrink(1); inputInv.setStackInSlot(0, stackInSlot); - lastRecipe.rollResults().forEach(stack -> ItemHandlerHelper.insertItemStacked(outputInv, stack, false)); + lastRecipe.rollResults().forEachItemStack(stack -> ItemHandlerHelper.insertItemStacked(outputInv, stack, false)); sendData(); markDirty(); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java index 9d89b97d3..6cf5041bd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java @@ -1,20 +1,24 @@ package com.simibubi.create.content.contraptions.components.mixer; -import java.util.ArrayList; import java.util.Comparator; import java.util.LinkedList; import java.util.List; import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.AllTags; import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity; +import com.simibubi.create.content.contraptions.fluids.CombinedFluidHandler; import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory; +import com.simibubi.create.content.contraptions.processing.CombinedItemFluidList; +import com.simibubi.create.content.contraptions.processing.HeaterBlock; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueBehaviour; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.VecHelper; +import net.minecraft.block.BlockState; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; @@ -31,6 +35,8 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraftforge.items.IItemHandler; +import static com.simibubi.create.content.contraptions.processing.HeaterBlock.getHeaterLevel; + public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { private static final Object shapelessOrMixingRecipesKey = new Object(); @@ -65,7 +71,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { } public float getRenderedHeadOffset(float partialTicks) { - int localTick = 0; + int localTick; float offset = 0; if (running) { if (runningTicks < 20) { @@ -121,7 +127,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { @Override public void lazyTick() { super.lazyTick(); - if (world.isRemote && running && !basinItemInv.isPresent()) + if (world != null && world.isRemote && running && !basinItemInv.isPresent()) updateBasin(); } @@ -163,7 +169,7 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { public void renderParticles() { IItemHandler itemHandler = basinItemInv.orElse(null); BasinInventory inv = (BasinInventory) itemHandler; - if (inv == null) + if (inv == null || world == null) return; for (int slot = 0; slot < inv.getInputHandler() @@ -204,14 +210,16 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { .allMatch(ingredient -> (ingredient.isSimple() || ingredient.getMatchingStacks().length == 1))) return false; - List remaining = new ArrayList<>(); + CombinedItemFluidList remaining = new CombinedItemFluidList(); inputs.forEachItemStack(stack -> remaining.add(stack.copy())); + basinFluidInv.ifPresent( + fluidInv -> ((CombinedFluidHandler) fluidInv).forEachTank(fluidStack -> remaining.add(fluidStack.copy()))); // sort by leniency List sortedIngredients = new LinkedList<>(ingredients); sortedIngredients.sort(Comparator.comparingInt(i -> i.getMatchingStacks().length)); Ingredients: for (Ingredient ingredient : sortedIngredients) { - for (ItemStack stack : remaining) { + for (ItemStack stack : remaining.getItemStacks()) { if (stack.isEmpty()) continue; if (ingredient.test(stack)) { @@ -221,7 +229,10 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { } return false; } - return true; + + if (!(recipe instanceof MixingRecipe)) + return true; + return ((MixingRecipe) recipe).getHeatLevelRequired() <= getHeatLevelApplied().ordinal(); } @Override @@ -258,4 +269,12 @@ public class MechanicalMixerTileEntity extends BasinOperatingTileEntity { return running; } + private HeaterBlock.HeatLevel getHeatLevelApplied() { + if (world == null) + return HeaterBlock.HeatLevel.NONE; + BlockState state = world.getBlockState(pos.down(3)); + if (state.has(HeaterBlock.BLAZE_LEVEL)) + return state.get(HeaterBlock.BLAZE_LEVEL); + return AllTags.AllBlockTags.FAN_HEATERS.matches(state) ? HeaterBlock.HeatLevel.SMOULDERING : HeaterBlock.HeatLevel.NONE; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixingRecipe.java index 58ee10ff0..80aa7b53b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixingRecipe.java @@ -1,52 +1,58 @@ package com.simibubi.create.content.contraptions.components.mixer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - 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.ProcessingOutput; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; - import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import net.minecraftforge.fluids.FluidStack; + +import javax.annotation.Nonnull; +import java.util.*; public class MixingRecipe extends ProcessingRecipe { public MixingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { - super(AllRecipeTypes.MIXING, id, group, ingredients, results, processingDuration); + List results, int processingDuration, List fluidIngredients, + List fluidResults, int requiredHeat) { + super(AllRecipeTypes.MIXING, id, group, ingredients, results, processingDuration, fluidIngredients, + fluidResults, requiredHeat); + } + + public static MixingRecipe of(IRecipe recipe) { + return new MixingRecipe(recipe.getId(), recipe.getGroup(), ProcessingIngredient.list(recipe.getIngredients()), + Collections.singletonList(new ProcessingOutput(recipe.getRecipeOutput(), 1)), -1, null, null, 0); } @Override protected int getMaxInputCount() { return 9; } - + @Override protected int getMaxOutputCount() { return 1; } - + @Override protected boolean canHaveCatalysts() { return true; } - + @Override - public boolean matches(BasinInputInventory inv, World worldIn) { + public boolean matches(BasinInputInventory inv, @Nonnull World worldIn) { if (inv.isEmpty()) return false; - NonNullList ingredients = getIngredients(); - if (!ingredients.stream().allMatch(Ingredient::isSimple)) + NonNullList ingredients = this.getIngredients(); + if (!ingredients.stream() + .allMatch(Ingredient::isSimple)) return false; List remaining = new ArrayList<>(); @@ -59,7 +65,7 @@ public class MixingRecipe extends ProcessingRecipe { // sort by leniency List sortedIngredients = new LinkedList<>(ingredients); - sortedIngredients.sort((i1, i2) -> i1.getMatchingStacks().length - i2.getMatchingStacks().length); + sortedIngredients.sort(Comparator.comparingInt(i -> i.getMatchingStacks().length)); Ingredients: for (Ingredient ingredient : sortedIngredients) { for (ItemStack stack : remaining) { if (stack.isEmpty()) @@ -74,9 +80,22 @@ public class MixingRecipe extends ProcessingRecipe { return true; } - public static MixingRecipe of(IRecipe recipe) { - return new MixingRecipe(recipe.getId(), recipe.getGroup(), ProcessingIngredient.list(recipe.getIngredients()), - Arrays.asList(new ProcessingOutput(recipe.getRecipeOutput(), 1)), -1); + @Override + protected boolean canHaveFluidIngredient() { + return true; } + @Override + protected boolean canHaveFluidOutput() { + return true; + } + + @Override + protected boolean requiresHeating() { + return this.requiredHeat > 0; + } + + public int getHeatLevelRequired() { + return requiredHeat; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java index e35e23ae7..94ffcfdd2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/MechanicalPressTileEntity.java @@ -6,8 +6,10 @@ import java.util.Optional; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.content.contraptions.fluids.CombinedFluidHandler; import com.simibubi.create.content.contraptions.processing.BasinOperatingTileEntity; import com.simibubi.create.content.contraptions.processing.BasinTileEntity.BasinInventory; +import com.simibubi.create.content.contraptions.processing.CombinedItemFluidList; import com.simibubi.create.content.logistics.InWorldProcessing; import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.item.ItemHelper; @@ -297,11 +299,12 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity { .allMatch(Ingredient::isSimple)) return false; - List remaining = new ArrayList<>(); + CombinedItemFluidList remaining = new CombinedItemFluidList(); inputs.forEachItemStack(stack -> remaining.add(stack.copy())); + basinFluidInv.ifPresent(fluidInv -> ((CombinedFluidHandler) fluidInv).forEachTank(fluidStack -> remaining.add(fluidStack.copy()))); Ingredients: for (Ingredient ingredient : ingredients) { - for (ItemStack stack : remaining) { + for (ItemStack stack : remaining.getItemStacks()) { if (stack.isEmpty()) continue; if (ingredient.test(stack)) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingRecipe.java index c8efe3b34..3ff546dd5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressingRecipe.java @@ -1,20 +1,21 @@ package com.simibubi.create.content.contraptions.components.press; -import java.util.List; - import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.components.press.MechanicalPressTileEntity.PressingInv; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; - import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; + +@ParametersAreNonnullByDefault public class PressingRecipe extends ProcessingRecipe { public PressingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.PRESSING, id, group, ingredients, results, processingDuration); } @@ -22,12 +23,12 @@ public class PressingRecipe extends ProcessingRecipe { public CuttingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.CUTTING, id, group, ingredients, results, processingDuration); } @@ -22,9 +23,10 @@ public class CuttingRecipe extends ProcessingRecipe { public boolean matches(RecipeWrapper inv, World worldIn) { if (inv.isEmpty()) return false; - return ingredients.get(0).test(inv.getStackInSlot(0)); + return ingredients.get(0) + .test(inv.getStackInSlot(0)); } - + @Override protected int getMaxOutputCount() { return 4; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java index 9fd313749..e127b162b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java @@ -248,7 +248,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity { for (int roll = 0; roll < rolls; roll++) { List results = new LinkedList(); if (recipe instanceof CuttingRecipe) - results = ((CuttingRecipe) recipe).rollResults(); + results = ((CuttingRecipe) recipe).rollResults().getItemStacks(); else if (recipe instanceof StonecuttingRecipe) results.add(recipe.getRecipeOutput() .copy()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java index 822f86505..c2ec41026 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java @@ -1,140 +1,194 @@ package com.simibubi.create.content.contraptions.fluids; -import com.simibubi.create.AllBlocks; -import com.simibubi.create.AllShapes; import com.simibubi.create.AllTileEntities; +import com.simibubi.create.content.contraptions.wrench.IWrenchable; +import com.simibubi.create.foundation.block.ITE; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.fluid.FluidHelper.FluidExchange; +import com.simibubi.create.foundation.utility.Lang; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.item.BlockItemUseContext; +import net.minecraft.block.SoundType; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.fluid.Fluid; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.particles.BlockParticleData; +import net.minecraft.particles.ParticleTypes; import net.minecraft.state.BooleanProperty; +import net.minecraft.state.EnumProperty; import net.minecraft.state.StateContainer.Builder; +import net.minecraft.tags.FluidTags; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Direction; -import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.IStringSerializable; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.SoundEvent; +import net.minecraft.util.SoundEvents; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.shapes.ISelectionContext; -import net.minecraft.util.math.shapes.VoxelShape; -import net.minecraft.util.math.shapes.VoxelShapes; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; import net.minecraft.world.IBlockReader; -import net.minecraft.world.ILightReader; -import net.minecraft.world.IWorld; +import net.minecraft.world.IWorldReader; import net.minecraft.world.World; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.fluids.FluidAttributes; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandlerItem; -public class FluidTankBlock extends Block { +public class FluidTankBlock extends Block implements IWrenchable, ITE { public static final BooleanProperty TOP = BooleanProperty.create("top"); public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom"); - + public static final EnumProperty SHAPE = EnumProperty.create("shape", Shape.class); public FluidTankBlock(Properties p_i48440_1_) { super(p_i48440_1_); setDefaultState(getDefaultState().with(TOP, true) - .with(BOTTOM, true)); - } - - public static boolean shouldDrawDiagonalFiller(ILightReader world, BlockPos pos, BlockState state, boolean north, - boolean east) { - if (!isTank(state)) - return false; - int northOffset = north ? 1 : -1; - int eastOffset = east ? 1 : -1; - if (!isTank(world.getBlockState(pos.north(northOffset)))) - return false; - if (!isTank(world.getBlockState(pos.east(eastOffset)))) - return false; - return !isTank(world.getBlockState(pos.east(eastOffset) - .north(northOffset))); - } - - public static boolean shouldDrawCapFiller(ILightReader world, BlockPos pos, BlockState state, Direction direction, - boolean top) { - if (!isTank(state)) - return false; - if (top && !state.get(TOP)) - return false; - if (!top && !state.get(BOTTOM)) - return false; - BlockPos adjacentPos = pos.offset(direction); - BlockState adjacentState = world.getBlockState(adjacentPos); - if (!isTank(adjacentState)) - return false; - if (top && adjacentState.get(TOP)) - return false; - return top || !adjacentState.get(BOTTOM); + .with(BOTTOM, true) + .with(SHAPE, Shape.WINDOW)); } public static boolean isTank(BlockState state) { return state.getBlock() instanceof FluidTankBlock; } + @Override + public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean p_220082_5_) { + if (oldState.getBlock() == state.getBlock()) + return; + withTileEntityDo(world, pos, FluidTankTileEntity::updateConnectivity); + } + @Override protected void fillStateContainer(Builder p_206840_1_) { - p_206840_1_.add(TOP, BOTTOM); + p_206840_1_.add(TOP, BOTTOM, SHAPE); } @Override - public BlockState getStateForPlacement(BlockItemUseContext p_196258_1_) { - World world = p_196258_1_.getWorld(); - BlockPos pos = p_196258_1_.getPos(); - BlockState state = super.getStateForPlacement(p_196258_1_); - state = updateState(state, world, pos, Direction.UP); - state = updateState(state, world, pos, Direction.DOWN); - return state; - } - - private boolean isTankToDirection(IBlockReader world, BlockPos pos, Direction direction) { - return world.getBlockState(pos.offset(direction)).getBlock() instanceof FluidTankBlock; - } - - public AxisAlignedBB getTankShape(IBlockReader world, BlockPos pos) { - return new AxisAlignedBB((isTankToDirection(world, pos, Direction.WEST) ? 0 : 2) / 16f, - (isTankToDirection(world, pos, Direction.DOWN) ? 0 : 4) / 16f, - (isTankToDirection(world, pos, Direction.NORTH) ? 0 : 2) / 16f, - (isTankToDirection(world, pos, Direction.EAST) ? 16 : 14) / 16f, - (isTankToDirection(world, pos, Direction.UP) ? 16 : 12) / 16f, - (isTankToDirection(world, pos, Direction.SOUTH) ? 16 : 14) / 16f); - - } - - public AxisAlignedBB getBodyShape(IBlockReader world, BlockPos pos) { - return new AxisAlignedBB((isTankToDirection(world, pos, Direction.WEST) ? 0 : 1) / 16f, - 0, - (isTankToDirection(world, pos, Direction.NORTH) ? 0 : 1) / 16f, - (isTankToDirection(world, pos, Direction.EAST) ? 16 : 15) / 16f, - 1, - (isTankToDirection(world, pos, Direction.SOUTH) ? 16 : 15) / 16f); + public int getLightValue(BlockState state, IBlockReader world, BlockPos pos) { + FluidTankTileEntity tankAt = FluidTankConnectivityHandler.tankAt(world, pos); + if (tankAt == null) + return 0; + FluidTankTileEntity controllerTE = tankAt.getControllerTE(); + if (controllerTE == null || !controllerTE.window) + return 0; + return tankAt.luminosity; } @Override - public VoxelShape getShape(BlockState state, IBlockReader world, BlockPos pos, - ISelectionContext p_220053_4_) { - boolean top = state.get(TOP); - boolean bottom = state.get(BOTTOM); - return VoxelShapes.or(top ? bottom ? AllShapes.TANK_TOP_BOTTOM : AllShapes.TANK_TOP - : bottom ? AllShapes.TANK_BOTTOM : AllShapes.TANK, VoxelShapes.create(getBodyShape(world, pos))); + public ActionResultType onWrenched(BlockState state, ItemUseContext context) { + withTileEntityDo(context.getWorld(), context.getPos(), FluidTankTileEntity::toggleWindows); + return ActionResultType.SUCCESS; } @Override - public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState p_196271_3_, IWorld world, - BlockPos pos, BlockPos p_196271_6_) { - return updateState(state, world, pos, direction); - } + public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, + BlockRayTraceResult ray) { + ItemStack heldItem = player.getHeldItem(hand); - private BlockState updateState(BlockState state, ILightReader reader, BlockPos pos, Direction direction) { - if (direction.getAxis() - .isHorizontal()) - return state; - return state.with(direction == Direction.UP ? TOP : BOTTOM, - !AllBlocks.FLUID_TANK.has(reader.getBlockState(pos.offset(direction)))); - } + ItemStack copy = heldItem.copy(); + copy.setCount(1); + LazyOptional capability = + copy.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY); + if (!capability.isPresent()) + return ActionResultType.PASS; - @Override - @OnlyIn(Dist.CLIENT) - public boolean isSideInvisible(BlockState state, BlockState adjacentBlockState, Direction side) { - return adjacentBlockState.getBlock() == this; + TileEntity te = world.getTileEntity(pos); + LazyOptional tankCapability = + te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, ray.getFace()); + if (!tankCapability.isPresent()) + return ActionResultType.PASS; + boolean onClient = world.isRemote; + + IFluidHandlerItem fluidItem = capability.orElse(null); + IFluidHandler fluidTank = tankCapability.orElse(null); + FluidStack prevFluidInTank = fluidTank.getFluidInTank(0) + .copy(); + + FluidExchange exchange = FluidHelper.exchange(fluidTank, fluidItem, FluidExchange.TANK_TO_ITEM, 1000); + + FluidStack fluidInTank = fluidTank.getFluidInTank(0); + if (!player.isCreative() && !onClient) { + if (heldItem.getCount() > 1) { + heldItem.shrink(1); + player.addItemStackToInventory(fluidItem.getContainer()); + } else { + player.setHeldItem(hand, fluidItem.getContainer()); + } + } + + SoundEvent soundevent = null; + BlockState fluidState = null; + + if (exchange == FluidExchange.ITEM_TO_TANK) { + Fluid fluid = fluidInTank.getFluid(); + fluidState = fluid.getDefaultState() + .getBlockState(); + FluidAttributes attributes = fluid.getAttributes(); + soundevent = attributes.getEmptySound(); + if (soundevent == null) + soundevent = + fluid.isIn(FluidTags.LAVA) ? SoundEvents.ITEM_BUCKET_EMPTY_LAVA : SoundEvents.ITEM_BUCKET_EMPTY; + } + if (exchange == FluidExchange.TANK_TO_ITEM) { + Fluid fluid = prevFluidInTank.getFluid(); + fluidState = fluid.getDefaultState() + .getBlockState(); + soundevent = fluid.getAttributes() + .getFillSound(); + if (soundevent == null) + soundevent = + fluid.isIn(FluidTags.LAVA) ? SoundEvents.ITEM_BUCKET_FILL_LAVA : SoundEvents.ITEM_BUCKET_FILL; + } + + if (soundevent != null && !onClient) { + float pitch = MathHelper + .clamp(1 - (1f * fluidInTank.getAmount() / (FluidTankTileEntity.getCapacityMultiplier() * 16)), 0, 1); + pitch /= 1.5f; + pitch += .5f; + pitch += (world.rand.nextFloat() - .5f) / 4f; + world.playSound(null, pos, soundevent, SoundCategory.BLOCKS, .5f, pitch); + } + + if (!fluidInTank.isFluidStackIdentical(prevFluidInTank)) { + if (te instanceof FluidTankTileEntity) { + FluidTankTileEntity controllerTE = ((FluidTankTileEntity) te).getControllerTE(); + if (controllerTE != null) { + if (fluidState != null && onClient) { + BlockParticleData blockParticleData = new BlockParticleData(ParticleTypes.BLOCK, fluidState); + float level = (float) fluidInTank.getAmount() / fluidTank.getTankCapacity(0); + + boolean reversed = fluidInTank.getFluid() + .getAttributes() + .isLighterThanAir(); + if (reversed) + level = 1 - level; + + Vec3d vec = ray.getHitVec(); + vec = new Vec3d(vec.x, controllerTE.getPos() + .getY() + level * (controllerTE.height - .5f) + .25f, vec.z); + Vec3d motion = player.getPositionVec() + .subtract(vec) + .scale(1 / 20f); + vec = vec.add(motion); + world.addParticle(blockParticleData, vec.x, vec.y, vec.z, motion.x, motion.y, motion.z); + return ActionResultType.SUCCESS; + } + + controllerTE.sendData(); + controllerTE.markDirty(); + } + } + } + + return ActionResultType.SUCCESS; } @Override @@ -142,8 +196,48 @@ public class FluidTankBlock extends Block { return true; } + @Override + public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) { + if (state.hasTileEntity() && (state.getBlock() != newState.getBlock() || !newState.hasTileEntity())) { + TileEntity te = world.getTileEntity(pos); + if (!(te instanceof FluidTankTileEntity)) + return; + FluidTankTileEntity tankTE = (FluidTankTileEntity) te; + world.removeTileEntity(pos); + FluidTankConnectivityHandler.splitTank(tankTE); + } + } + @Override public TileEntity createTileEntity(BlockState state, IBlockReader world) { return AllTileEntities.FLUID_TANK.create(); } + + @Override + public Class getTileEntityClass() { + return FluidTankTileEntity.class; + } + + public enum Shape implements IStringSerializable { + PLAIN, WINDOW, WINDOW_NW, WINDOW_SW, WINDOW_NE, WINDOW_SE; + + @Override + public String getName() { + return Lang.asId(name()); + } + } + + // Tanks are less noisy when placed in batch + public static final SoundType SILENCED_METAL = + new SoundType(0.1F, 1.5F, SoundEvents.BLOCK_METAL_BREAK, SoundEvents.BLOCK_METAL_STEP, + SoundEvents.BLOCK_METAL_PLACE, SoundEvents.BLOCK_METAL_HIT, SoundEvents.BLOCK_METAL_FALL); + + @Override + public SoundType getSoundType(BlockState state, IWorldReader world, BlockPos pos, Entity entity) { + SoundType soundType = super.getSoundType(state, world, pos, entity); + if (entity != null && entity.getPersistentData() + .contains("SilenceTankSound")) + return SILENCED_METAL; + return soundType; + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java index 237e00795..56c954a50 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java @@ -13,8 +13,7 @@ public class FluidTankCTBehaviour extends HorizontalCTBehaviour { public FluidTankCTBehaviour(CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) { super(layerShift, topShift); } - - @Override + public boolean buildContextForOccludedDirections() { return true; } @@ -22,7 +21,6 @@ public class FluidTankCTBehaviour extends HorizontalCTBehaviour { @Override public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, Direction face) { - // TODO only if TEs are actually connected - return state.getBlock() == other.getBlock(); + return state.getBlock() == other.getBlock() && FluidTankConnectivityHandler.isConnected(reader, pos, otherPos); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankConnectivityHandler.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankConnectivityHandler.java new file mode 100644 index 000000000..4bae43f1a --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankConnectivityHandler.java @@ -0,0 +1,347 @@ +package com.simibubi.create.content.contraptions.fluids; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.PriorityQueue; +import java.util.Set; + +import javax.annotation.Nullable; + +import org.apache.commons.lang3.tuple.Pair; + +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.block.BlockState; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Direction; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.Direction.AxisDirection; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.World; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; + +public class FluidTankConnectivityHandler { + + public static void formTanks(FluidTankTileEntity te) { + TankSearchCache cache = new TankSearchCache(); + List frontier = new ArrayList<>(); + frontier.add(te); + formTanks(te.getWorld(), cache, frontier); + } + + private static void formTanks(IBlockReader world, TankSearchCache cache, List frontier) { + PriorityQueue> creationQueue = makeCreationQueue(); + Set visited = new HashSet<>(); + + int minX = Integer.MAX_VALUE; + int minZ = Integer.MAX_VALUE; + for (FluidTankTileEntity fluidTankTileEntity : frontier) { + BlockPos pos = fluidTankTileEntity.getPos(); + minX = Math.min(pos.getX(), minX); + minZ = Math.min(pos.getZ(), minZ); + } + minX -= FluidTankTileEntity.getMaxSize(); + minZ -= FluidTankTileEntity.getMaxSize(); + + while (!frontier.isEmpty()) { + FluidTankTileEntity tank = frontier.remove(0); + BlockPos tankPos = tank.getPos(); + if (visited.contains(tankPos)) + continue; + + visited.add(tankPos); + + int amount = tryToFormNewTank(tank, cache, true); + if (amount > 1) + creationQueue.add(Pair.of(amount, tank)); + + for (Axis axis : Iterate.axes) { + Direction d = Direction.getFacingFromAxis(AxisDirection.NEGATIVE, axis); + BlockPos next = tankPos.offset(d); + + if (next.getX() <= minX || next.getZ() <= minZ) + continue; + if (visited.contains(next)) + continue; + FluidTankTileEntity nextTank = tankAt(world, next); + if (nextTank == null) + continue; + if (nextTank.isRemoved()) + continue; + frontier.add(nextTank); + } + } + + visited.clear(); + + while (!creationQueue.isEmpty()) { + Pair next = creationQueue.poll(); + FluidTankTileEntity toCreate = next.getValue(); + if (visited.contains(toCreate.getPos())) + continue; + visited.add(toCreate.getPos()); + tryToFormNewTank(toCreate, cache, false); + } + + } + + public static void splitTank(FluidTankTileEntity te) { + splitTankAndInvalidate(te, null, false); + } + + private static int tryToFormNewTank(FluidTankTileEntity te, TankSearchCache cache, boolean simulate) { + int bestWidth = 1; + int bestAmount = -1; + + if (!te.isController()) + return 0; + + for (int w = 1; w <= FluidTankTileEntity.getMaxSize(); w++) { + int amount = tryToFormNewTankOfWidth(te, w, cache, true); + if (amount < bestAmount) + continue; + bestWidth = w; + bestAmount = amount; + } + + if (!simulate) { + if (te.width == bestWidth && te.width * te.width * te.height == bestAmount) + return bestAmount; + + splitTankAndInvalidate(te, cache, false); + te.applyFluidTankSize(bestAmount); + tryToFormNewTankOfWidth(te, bestWidth, cache, simulate); + te.updateConnectivity = false; + te.width = bestWidth; + te.height = bestAmount / bestWidth / bestWidth; + + BlockState state = te.getBlockState(); + if (FluidTankBlock.isTank(state)) { + state = state.with(FluidTankBlock.BOTTOM, true); + state = state.with(FluidTankBlock.TOP, te.height == 1); + te.getWorld() + .setBlockState(te.getPos(), state, 22); + } + + te.setWindows(te.window); + te.onFluidStackChanged(te.tankInventory.getFluid()); + te.markDirty(); + } + + return bestAmount; + } + + private static int tryToFormNewTankOfWidth(FluidTankTileEntity te, int width, TankSearchCache cache, + boolean simulate) { + int amount = 0; + int height = 0; + World world = te.getWorld(); + BlockPos origin = te.getPos(); + FluidStack fluid = te.getTankInventory() + .getFluid(); + + Search: + + for (int yOffset = 0; yOffset < FluidTankTileEntity.getMaxHeight(); yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + + BlockPos pos = origin.add(xOffset, yOffset, zOffset); + Optional tank = cache.getOrCache(world, pos); + if (!tank.isPresent()) + break Search; + + FluidTankTileEntity controller = tank.get(); + int otherWidth = controller.width; + if (otherWidth > width) + break Search; + + BlockPos controllerPos = controller.getPos(); + if (!controllerPos.equals(origin)) { + if (controllerPos.getX() < origin.getX()) + break Search; + if (controllerPos.getZ() < origin.getZ()) + break Search; + if (controllerPos.getX() + otherWidth > origin.getX() + width) + break Search; + if (controllerPos.getZ() + otherWidth > origin.getZ() + width) + break Search; + } + + FluidStack otherFluid = controller.getTankInventory() + .getFluid(); + if (!fluid.isEmpty() && !otherFluid.isEmpty() && !fluid.isFluidEqual(otherFluid)) + break Search; + + } + } + + amount += width * width; + height++; + } + + if (simulate) + return amount; + + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = origin.add(xOffset, yOffset, zOffset); + FluidTankTileEntity tank = tankAt(world, pos); + if (tank == te) + continue; + + if (tank.isController()) { + te.tankInventory.fill(tank.tankInventory.getFluid(), FluidAction.EXECUTE); + tank.tankInventory.setFluid(FluidStack.EMPTY); + } + + splitTankAndInvalidate(tank, cache, false); + tank.setController(origin); + tank.updateConnectivity = false; + cache.put(pos, te); + + BlockState state = world.getBlockState(pos); + if (!FluidTankBlock.isTank(state)) + continue; + state = state.with(FluidTankBlock.BOTTOM, yOffset == 0); + state = state.with(FluidTankBlock.TOP, yOffset == height - 1); + world.setBlockState(pos, state, 22); + } + } + } + + return amount; + } + + private static void splitTankAndInvalidate(FluidTankTileEntity te, @Nullable TankSearchCache cache, + boolean tryReconnect) { + // tryReconnect helps whenever only few tanks have been removed + + te = te.getControllerTE(); + if (te == null) + return; + + int height = te.height; + int width = te.width; + if (width == 1 && height == 1) + return; + + World world = te.getWorld(); + BlockPos origin = te.getPos(); + List frontier = new ArrayList<>(); + FluidStack toDistribute = te.tankInventory.getFluid() + .copy(); + int maxCapacity = FluidTankTileEntity.getCapacityMultiplier(); + if (!toDistribute.isEmpty()) + toDistribute.shrink(maxCapacity); + + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + + BlockPos pos = origin.add(xOffset, yOffset, zOffset); + FluidTankTileEntity tankAt = tankAt(world, pos); + if (tankAt == null) + continue; + if (!tankAt.getController() + .equals(origin)) + continue; + FluidTankTileEntity controllerTE = tankAt.getControllerTE(); + tankAt.window = controllerTE == null || controllerTE.window; + tankAt.removeController(); + + if (!toDistribute.isEmpty() && tankAt != te) { + int split = Math.min(maxCapacity, toDistribute.getAmount()); + FluidStack copy = toDistribute.copy(); + copy.setAmount(split); + toDistribute.shrink(split); + tankAt.tankInventory.fill(copy, FluidAction.EXECUTE); + } + + if (tryReconnect) { + frontier.add(tankAt); + tankAt.updateConnectivity = false; + } + if (cache != null) + cache.put(pos, tankAt); + } + } + } + + if (tryReconnect) + formTanks(world, cache == null ? new TankSearchCache() : cache, frontier); + } + + private static PriorityQueue> makeCreationQueue() { + return new PriorityQueue<>(new Comparator>() { + @Override + public int compare(Pair o1, Pair o2) { + return o2.getKey() - o1.getKey(); + } + }); + } + + @Nullable + public static FluidTankTileEntity tankAt(IBlockReader world, BlockPos pos) { + TileEntity te = world.getTileEntity(pos); + if (te instanceof FluidTankTileEntity) + return (FluidTankTileEntity) te; + return null; + } + + private static class TankSearchCache { + Map> controllerMap; + + public TankSearchCache() { + controllerMap = new HashMap<>(); + } + + void put(BlockPos pos, FluidTankTileEntity target) { + controllerMap.put(pos, Optional.of(target)); + } + + void putEmpty(BlockPos pos) { + controllerMap.put(pos, Optional.empty()); + } + + boolean hasVisited(BlockPos pos) { + return controllerMap.containsKey(pos); + } + + Optional getOrCache(IBlockReader world, BlockPos pos) { + if (hasVisited(pos)) + return controllerMap.get(pos); + FluidTankTileEntity tankAt = tankAt(world, pos); + if (tankAt == null) { + putEmpty(pos); + return Optional.empty(); + } + FluidTankTileEntity controller = tankAt.getControllerTE(); + if (controller == null) { + putEmpty(pos); + return Optional.empty(); + } + put(pos, controller); + return Optional.of(controller); + } + + } + + public static boolean isConnected(IBlockReader world, BlockPos tankPos, BlockPos otherTankPos) { + TileEntity te1 = world.getTileEntity(tankPos); + TileEntity te2 = world.getTileEntity(otherTankPos); + if (!(te1 instanceof FluidTankTileEntity) || !(te2 instanceof FluidTankTileEntity)) + return false; + return ((FluidTankTileEntity) te1).getController() + .equals(((FluidTankTileEntity) te2).getController()); + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankGenerator.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankGenerator.java new file mode 100644 index 000000000..455d01f14 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankGenerator.java @@ -0,0 +1,44 @@ +package com.simibubi.create.content.contraptions.fluids; + +import com.simibubi.create.content.contraptions.fluids.FluidTankBlock.Shape; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.SpecialBlockStateGen; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateBlockstateProvider; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraftforge.client.model.generators.ModelFile; + +public class FluidTankGenerator extends SpecialBlockStateGen { + + @Override + protected int getXRotation(BlockState state) { + return 0; + } + + @Override + protected int getYRotation(BlockState state) { + return 0; + } + + @Override + public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, + BlockState state) { + Boolean top = state.get(FluidTankBlock.TOP); + Boolean bottom = state.get(FluidTankBlock.BOTTOM); + Shape shape = state.get(FluidTankBlock.SHAPE); + + String shapeName = "middle"; + if (top && bottom) + shapeName = "single"; + else if (top) + shapeName = "top"; + else if (bottom) + shapeName = "bottom"; + + return AssetLookup.partialBaseModel(ctx, prov, + shapeName + (shape == Shape.PLAIN ? "" : "_" + shape.getName())); + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankItem.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankItem.java new file mode 100644 index 000000000..2ab8bc72a --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankItem.java @@ -0,0 +1,97 @@ +package com.simibubi.create.content.contraptions.fluids; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItem; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +public class FluidTankItem extends BlockItem { + + public FluidTankItem(Block p_i48527_1_, Properties p_i48527_2_) { + super(p_i48527_1_, p_i48527_2_); + } + + @Override + public ActionResultType tryPlace(BlockItemUseContext ctx) { + ActionResultType initialResult = super.tryPlace(ctx); + if (initialResult != ActionResultType.SUCCESS) + return initialResult; + tryMultiPlace(ctx); + return initialResult; + } + + private void tryMultiPlace(BlockItemUseContext ctx) { + PlayerEntity player = ctx.getPlayer(); + if (player == null) + return; + if (player.isSneaking()) + return; + Direction face = ctx.getFace(); + if (!face.getAxis() + .isVertical()) + return; + ItemStack stack = ctx.getItem(); + World world = ctx.getWorld(); + BlockPos pos = ctx.getPos(); + BlockPos placedOnPos = pos.offset(face.getOpposite()); + BlockState placedOnState = world.getBlockState(placedOnPos); + + if (!FluidTankBlock.isTank(placedOnState)) + return; + FluidTankTileEntity tankAt = FluidTankConnectivityHandler.tankAt(world, placedOnPos); + if (tankAt == null) + return; + FluidTankTileEntity controllerTE = tankAt.getControllerTE(); + if (controllerTE == null) + return; + + int width = controllerTE.width; + if (width == 1) + return; + + int tanksToPlace = 0; + BlockPos startPos = face == Direction.DOWN ? controllerTE.getPos() + .down() + : controllerTE.getPos() + .up(controllerTE.height); + + if (startPos.getY() != pos.getY()) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.add(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (FluidTankBlock.isTank(blockState)) + continue; + if (!blockState.getMaterial() + .isReplaceable()) + return; + tanksToPlace++; + } + } + + if (!player.isCreative() && stack.getCount() < tanksToPlace) + return; + + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos offsetPos = startPos.add(xOffset, 0, zOffset); + BlockState blockState = world.getBlockState(offsetPos); + if (FluidTankBlock.isTank(blockState)) + continue; + BlockItemUseContext context = BlockItemUseContext.func_221536_a(ctx, offsetPos, face); + player.getPersistentData().putBoolean("SilenceTankSound", true); + super.tryPlace(context); + player.getPersistentData().remove("SilenceTankSound"); + } + } + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java index bc6ed510b..be89fd152 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java @@ -1,12 +1,11 @@ package com.simibubi.create.content.contraptions.fluids; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Random; -import org.apache.commons.lang3.tuple.Pair; - -import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.foundation.block.connected.CTModel; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; @@ -19,86 +18,63 @@ import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ILightReader; import net.minecraftforge.client.model.data.IModelData; -import net.minecraftforge.client.model.data.ModelDataMap; import net.minecraftforge.client.model.data.ModelProperty; public class FluidTankModel extends CTModel { - private static ModelProperty TANK_PROPERTY = new ModelProperty<>(); - private static ConnectedTextureBehaviour ctBehaviour = + protected static ModelProperty CULL_PROPERTY = new ModelProperty<>(); + static ConnectedTextureBehaviour CT_BEHAVIOUR = new FluidTankCTBehaviour(AllSpriteShifts.FLUID_TANK, AllSpriteShifts.COPPER_CASING); - public FluidTankModel(IBakedModel model) { - super(model, ctBehaviour); + public FluidTankModel(IBakedModel originalModel) { + super(originalModel, CT_BEHAVIOUR); } @Override public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { - TankModelData data = new TankModelData(); - for (boolean top : Iterate.trueAndFalse) - for (Direction d : Iterate.horizontalDirections) - data.setCapFiller(d, top, FluidTankBlock.shouldDrawCapFiller(world, pos, state, d, top)); - for (boolean north : Iterate.trueAndFalse) - for (boolean east : Iterate.trueAndFalse) - data.setDiagonalFiller(north, east, - FluidTankBlock.shouldDrawDiagonalFiller(world, pos, state, north, east)); - return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)) - .withInitial(TANK_PROPERTY, data) + CullData cullData = new CullData(); + for (Direction d : Iterate.horizontalDirections) + cullData.setCulled(d, FluidTankConnectivityHandler.isConnected(world, pos, pos.offset(d))); + return getCTDataMapBuilder(world, pos, state).withInitial(CULL_PROPERTY, cullData) .build(); } @Override - public List getQuads(BlockState state, Direction side, Random rand, IModelData data) { - List quads = super.getQuads(state, side, rand, data); - if (data instanceof ModelDataMap) { - ModelDataMap modelDataMap = (ModelDataMap) data; - if (modelDataMap.hasProperty(TANK_PROPERTY)) - addQuads(quads, state, side, rand, modelDataMap, modelDataMap.getData(TANK_PROPERTY)); + public List getQuads(BlockState state, Direction side, Random rand, IModelData extraData) { + if (side != null) + return Collections.emptyList(); + + List quads = new ArrayList<>(); + for (Direction d : Iterate.directions) { + if (extraData.hasProperty(CULL_PROPERTY) && extraData.getData(CULL_PROPERTY) + .isCulled(d)) + continue; + quads.addAll(super.getQuads(state, d, rand, extraData)); } + quads.addAll(super.getQuads(state, null, rand, extraData)); return quads; } - private void addQuads(List quads, BlockState state, Direction side, Random rand, IModelData data, - TankModelData pipeData) { - for (boolean top : Iterate.trueAndFalse) - for (Direction d : Iterate.horizontalDirections) - if (pipeData.getCapFiller(d, top)) - quads.addAll(AllBlockPartials.TANK_LID_FILLERS.get(Pair.of(top, d)) - .get() - .getQuads(state, side, rand, data)); - for (boolean north : Iterate.trueAndFalse) - for (boolean east : Iterate.trueAndFalse) - if (pipeData.getDiagonalFiller(north, east)) - quads.addAll(AllBlockPartials.TANK_DIAGONAL_FILLERS.get(Pair.of(north, east)) - .get() - .getQuads(state, side, rand, data)); - } + private class CullData { + boolean[] culledFaces; - private class TankModelData { - boolean[] capFillers; - boolean[] diagonalFillers; - - public TankModelData() { - capFillers = new boolean[2 * 4]; - diagonalFillers = new boolean[2 * 2]; - Arrays.fill(capFillers, false); - Arrays.fill(diagonalFillers, false); + public CullData() { + culledFaces = new boolean[4]; + Arrays.fill(culledFaces, false); } - public void setCapFiller(Direction face, boolean top, boolean filler) { - capFillers[(top ? 0 : 4) + face.getHorizontalIndex()] = filler; + void setCulled(Direction face, boolean cull) { + if (face.getAxis() + .isVertical()) + return; + culledFaces[face.getHorizontalIndex()] = cull; } - public void setDiagonalFiller(boolean north, boolean east, boolean filler) { - diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)] = filler; - } - - public boolean getCapFiller(Direction face, boolean top) { - return capFillers[(top ? 0 : 4) + face.getHorizontalIndex()]; - } - - public boolean getDiagonalFiller(boolean north, boolean east) { - return diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)]; + boolean isCulled(Direction face) { + if (face.getAxis() + .isVertical()) + return false; + return culledFaces[face.getHorizontalIndex()]; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankRenderer.java index 54405a81e..829f8ba7b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankRenderer.java @@ -1,216 +1,68 @@ package com.simibubi.create.content.contraptions.fluids; import com.mojang.blaze3d.matrix.MatrixStack; -import com.mojang.blaze3d.vertex.IVertexBuilder; +import com.simibubi.create.foundation.fluid.FluidRenderer; +import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.IRenderTypeBuffer; -import net.minecraft.client.renderer.Matrix4f; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.texture.AtlasTexture; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; -import net.minecraft.fluid.Fluid; -import net.minecraft.util.Direction; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraftforge.fluids.IFluidTank; -import java.util.Collections; -import java.util.List; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.util.math.MathHelper; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.templates.FluidTank; public class FluidTankRenderer extends SafeTileEntityRenderer { - public FluidTankRenderer(TileEntityRendererDispatcher dispatcher) { - super(dispatcher); - } + public FluidTankRenderer(TileEntityRendererDispatcher dispatcher) { + super(dispatcher); + } - private static int[] decomposeColor(int color) { - int[] res = new int[4]; - res[0] = color >> 24 & 0xff; - res[1] = color >> 16 & 0xff; - res[2] = color >> 8 & 0xff; - res[3] = color & 0xff; - return res; - } + @Override + protected void renderSafe(FluidTankTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, + int light, int overlay) { + if (!te.isController()) + return; + if (!te.window) + return; - @Override - protected void renderSafe(FluidTankTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, - int light, int overlay) { - renderFluid(te, ms, buffer, light); - } + InterpolatedChasingValue fluidLevel = te.fluidLevel; + if (fluidLevel == null) + return; - private void renderFluid(FluidTankTileEntity te, MatrixStack ms, IRenderTypeBuffer buffer, - int light) { - if (te.getWorld() != null && te.getWorld().isAreaLoaded(te.getPos(), 0)) { - IVertexBuilder builder = buffer.getBuffer(RenderType.getTranslucent()); + float capHeight = 1 / 4f; + float tankHullWidth = 1 / 16f + 1 / 128f; + float minPuddleHeight = 1 / 16f; + float totalHeight = te.height - 2 * capHeight - minPuddleHeight; - Matrix4f posMat = ms.peek().getModel(); - for (FluidTankRenderInfo tankRenderInfo : getTanksToRender(te)) { - doRender(builder, tankRenderInfo, posMat, light); - } - } - } + float level = fluidLevel.get(partialTicks); + if (level < 1 / (512f * totalHeight)) + return; + float clamp = MathHelper.clamp(level * totalHeight, 0, totalHeight); - private void doRender(IVertexBuilder builder, FluidTankRenderInfo tankRenderInfo, Matrix4f posMat, int combinedLight) { - IFluidTank tank = tankRenderInfo.getTank(); - if (tank.getFluidAmount() == 0) return; + FluidTank tank = te.tankInventory; + FluidStack fluidStack = tank.getFluid(); - Fluid fluid = tank.getFluid().getFluid(); - ResourceLocation texture = fluid.getAttributes().getStillTexture(tank.getFluid()); + boolean top = fluidStack.getFluid() + .getAttributes() + .isLighterThanAir(); - @SuppressWarnings("deprecation") - TextureAtlasSprite still = Minecraft.getInstance().getSpriteAtlas(AtlasTexture.LOCATION_BLOCKS_TEXTURE).apply(texture); - int[] cols = decomposeColor(fluid.getAttributes().getColor(tank.getFluid())); + float xMin = tankHullWidth; + float xMax = xMin + te.width - 2 * tankHullWidth; + float yMin = totalHeight + capHeight + minPuddleHeight - clamp; + float yMax = yMin + clamp; - AxisAlignedBB bounds = getRenderBounds(tank, tankRenderInfo.getBounds()); - float x1 = (float) bounds.minX; - float x2 = (float) bounds.maxX; - float y1 = (float) bounds.minY; - float y2 = (float) bounds.maxY; - float z1 = (float) bounds.minZ; - float z2 = (float) bounds.maxZ; - double bx1 = bounds.minX * 16; - double bx2 = bounds.maxX * 16; - double by1 = bounds.minY * 16; - double by2 = bounds.maxY * 16; - double bz1 = bounds.minZ * 16; - double bz2 = bounds.maxZ * 16; + if (top) { + yMin += totalHeight - clamp; + yMax += totalHeight - clamp; + } - if (tankRenderInfo.shouldRender(Direction.DOWN)) { - float u1 = still.getInterpolatedU(bx1); - float u2 = still.getInterpolatedU(bx2); - float v1 = still.getInterpolatedV(bz1); - float v2 = still.getInterpolatedV(bz2); - renderDown(builder, posMat, combinedLight, cols, x1, y1, z1, z2, u1, v1, v2); - renderDown(builder, posMat, combinedLight, cols, x2, y1, z2, z1, u2, v2, v1); - } + float zMin = tankHullWidth; + float zMax = zMin + te.width - 2 * tankHullWidth; - if (tankRenderInfo.shouldRender(Direction.UP)) { - float u1 = still.getInterpolatedU(bx1); - float u2 = still.getInterpolatedU(bx2); - float v1 = still.getInterpolatedV(bz1); - float v2 = still.getInterpolatedV(bz2); - renderUp(builder, posMat, combinedLight, cols, x2, x1, y2, z2, u2, u1, v2); - renderUp(builder, posMat, combinedLight, cols, x1, x2, y2, z1, u1, u2, v1); - } + ms.push(); + ms.translate(0, clamp - totalHeight, 0); + FluidRenderer.renderTiledFluidBB(fluidStack, xMin, yMin, zMin, xMax, yMax, zMax, buffer, ms, light, false); + ms.pop(); + } - if (tankRenderInfo.shouldRender(Direction.NORTH)) { - float u1 = still.getInterpolatedU(bx1); - float u2 = still.getInterpolatedU(bx2); - float v1 = still.getInterpolatedV(by1); - float v2 = still.getInterpolatedV(by2); - renderNorth(builder, posMat, combinedLight, cols, x1, y1, y2, z1, u1, v1, v2); - renderNorth(builder, posMat, combinedLight, cols, x2, y2, y1, z1, u2, v2, v1); - } - - if (tankRenderInfo.shouldRender(Direction.SOUTH)) { - float u1 = still.getInterpolatedU(bx1); - float u2 = still.getInterpolatedU(bx2); - float v1 = still.getInterpolatedV(by1); - float v2 = still.getInterpolatedV(by2); - renderSouth(builder, posMat, combinedLight, cols, x2, y1, y2, z2, u2, v1, v2); - renderSouth(builder, posMat, combinedLight, cols, x1, y2, y1, z2, u1, v2, v1); - } - - if (tankRenderInfo.shouldRender(Direction.WEST)) { - float u1 = still.getInterpolatedU(by1); - float u2 = still.getInterpolatedU(by2); - float v1 = still.getInterpolatedV(bz1); - float v2 = still.getInterpolatedV(bz2); - renderWest(builder, posMat, combinedLight, cols, x1, y1, y2, z2, u1, u2, v2); - renderWest(builder, posMat, combinedLight, cols, x1, y2, y1, z1, u2, u1, v1); - } - - if (tankRenderInfo.shouldRender(Direction.EAST)) { - float u1 = still.getInterpolatedU(by1); - float u2 = still.getInterpolatedU(by2); - float v1 = still.getInterpolatedV(bz1); - float v2 = still.getInterpolatedV(bz2); - renderEast(builder, posMat, combinedLight, cols, x2, y1, y2, z1, u1, u2, v1); - renderEast(builder, posMat, combinedLight, cols, x2, y2, y1, z2, u2, u1, v2); - } - } - - private void renderEast(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x2, float y1, float y2, float z1, float u1, float u2, float v1) { - builder.vertex(posMat, x2, y1, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v1).light(combinedLight).normal(1f, 0f, 0f).endVertex(); - builder.vertex(posMat, x2, y2, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u2, v1).light(combinedLight).normal(1f, 0f, 0f).endVertex(); - } - - private void renderWest(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x1, float y1, float y2, float z2, float u1, float u2, float v2) { - builder.vertex(posMat, x1, y1, z2).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v2).light(combinedLight).normal(-1f, 0f, 0f).endVertex(); - builder.vertex(posMat, x1, y2, z2).color(cols[1], cols[2], cols[3], cols[0]).texture(u2, v2).light(combinedLight).normal(-1f, 0f, 0f).endVertex(); - } - - private void renderSouth(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x2, float y1, float y2, float z2, float u2, float v1, float v2) { - builder.vertex(posMat, x2, y1, z2).color(cols[1], cols[2], cols[3], cols[0]).texture(u2, v1).light(combinedLight).normal(0f, 0f, 1f).endVertex(); - builder.vertex(posMat, x2, y2, z2).color(cols[1], cols[2], cols[3], cols[0]).texture(u2, v2).light(combinedLight).normal(0f, 0f, 1f).endVertex(); - } - - private void renderNorth(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x1, float y1, float y2, float z1, float u1, float v1, float v2) { - builder.vertex(posMat, x1, y1, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v1).light(combinedLight).normal(0f, 0f, -1f).endVertex(); - builder.vertex(posMat, x1, y2, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v2).light(combinedLight).normal(0f, 0f, -1f).endVertex(); - } - - private void renderUp(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x1, float x2, float y2, float z1, float u1, float u2, float v1) { - builder.vertex(posMat, x2, y2, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u2, v1).light(combinedLight).normal(0f, 1f, 0f).endVertex(); - builder.vertex(posMat, x1, y2, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v1).light(combinedLight).normal(0f, 1f, 0f).endVertex(); - } - - private void renderDown(IVertexBuilder builder, Matrix4f posMat, int combinedLight, int[] cols, float x1, float y1, float z1, float z2, float u1, float v1, float v2) { - builder.vertex(posMat, x1, y1, z2).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v2).light(combinedLight).normal(0f, -1f, 0f).endVertex(); - builder.vertex(posMat, x1, y1, z1).color(cols[1], cols[2], cols[3], cols[0]).texture(u1, v1).light(combinedLight).normal(0f, -1f, 0f).endVertex(); - } - - private AxisAlignedBB getRenderBounds(IFluidTank tank, AxisAlignedBB tankBounds) { - double percent = (double) tank.getFluidAmount() / (double) tank.getCapacity(); - double y1 = tankBounds.minY; - double y2 = tank.getFluidAmount() < tank.getCapacity() ? (4 + 8 * percent) / 16f : 1f; - if (tank.getFluid().getFluid().getAttributes().isLighterThanAir()) { - double yOff = tankBounds.maxY - y2; // FIXME: lighter than air fluids move to the top of the tank, add behavior in TE - y1 += yOff; - y2 += yOff; - } - return new AxisAlignedBB(tankBounds.minX, y1, tankBounds.minZ, tankBounds.maxX, y2, tankBounds.maxZ); - } - - private List getTanksToRender(FluidTankTileEntity te) { - return Collections.singletonList(new FluidTankRenderInfo(te, ((FluidTankBlock) te.getBlockState().getBlock()).getTankShape(te.getWorld(), te.getPos()))); - } - - private static class FluidTankRenderInfo { - private final IFluidTank tank; - private final AxisAlignedBB bounds; - private final FluidTankTileEntity te; - - FluidTankRenderInfo(FluidTankTileEntity te, AxisAlignedBB bounds) { - this.te = te; - this.bounds = bounds; - this.tank = te.getTank(); - } - - public boolean shouldRender(Direction face) { - FluidTankTileEntity offsetTE = te.getOtherFluidTankTileEntity(face); - switch (face) { - case UP: - return (offsetTE != null && (offsetTE.getTank().getFluidAmount() == 0 || te.getTank().getFluid().getRawFluid() != offsetTE.getTank().getFluid().getRawFluid())) - || getTank().getFluidAmount() < getTank().getCapacity() - && !getTank().getFluid().getFluid().getAttributes().isLighterThanAir(); - case DOWN: - return (offsetTE != null && (offsetTE.getTank().getFluidAmount() < offsetTE.getTank().getCapacity() || te.getTank().getFluid().getRawFluid() != offsetTE.getTank().getFluid().getRawFluid())) - || getTank().getFluidAmount() < getTank().getCapacity() - && getTank().getFluid().getFluid().getAttributes().isLighterThanAir(); - default: - return offsetTE == null || te.getTank().getFluid().getRawFluid() != offsetTE.getTank().getFluid().getRawFluid(); - } - } - - public IFluidTank getTank() { - return tank; - } - - public AxisAlignedBB getBounds() { - return bounds; - } - } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankTileEntity.java index 1ffc9692e..d80742da6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankTileEntity.java @@ -1,158 +1,361 @@ package com.simibubi.create.content.contraptions.fluids; -import com.simibubi.create.foundation.tileEntity.SmartTileEntity; -import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; -import net.minecraft.nbt.CompoundNBT; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityType; -import net.minecraft.util.Direction; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; -import net.minecraftforge.fluids.capability.templates.FluidTank; +import static java.lang.Math.abs; + +import java.util.List; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import java.util.List; + +import com.simibubi.create.content.contraptions.fluids.FluidTankBlock.Shape; +import com.simibubi.create.foundation.config.AllConfigs; +import com.simibubi.create.foundation.fluid.SmartFluidTank; +import com.simibubi.create.foundation.gui.widgets.InterpolatedChasingValue; +import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; + +import net.minecraft.block.BlockState; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.nbt.NBTUtil; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityType; +import net.minecraft.util.Direction; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.fluids.FluidAttributes; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidTank; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; +import net.minecraftforge.fluids.capability.templates.FluidTank; public class FluidTankTileEntity extends SmartTileEntity { - LazyOptional fluid = LazyOptional.of(this::createFluidHandler); - private int priority = 1000; + private static final int MAX_SIZE = 3; - public FluidTankTileEntity(TileEntityType tileEntityTypeIn) { - super(tileEntityTypeIn); - } + protected LazyOptional fluidCapability; + protected boolean forceFluidLevelUpdate; + protected FluidTank tankInventory; + protected BlockPos controller; + protected boolean updateConnectivity; + protected boolean window; + protected int luminosity; + protected int width; + protected int height; - private int calculateDrainAmount(FluidTankTileEntity other, int delta) { - boolean roundDirection = other.getPriority() < this.getPriority(); - return (int) Math.abs(roundDirection ? Math.floor(delta / 2f) : Math.ceil(delta / 2f)); - } + // For rendering purposes only + InterpolatedChasingValue fluidLevel; - @Override - public void tick() { - super.tick(); - updatePriority(); + public FluidTankTileEntity(TileEntityType tileEntityTypeIn) { + super(tileEntityTypeIn); + tankInventory = new SmartFluidTank(getCapacityMultiplier(), this::onFluidStackChanged); + fluidCapability = LazyOptional.of(() -> tankInventory); + forceFluidLevelUpdate = true; + updateConnectivity = false; + window = true; + height = 1; + width = 1; + } - FluidTankTileEntity other; + protected void updateConnectivity() { + updateConnectivity = false; + if (world.isRemote) + return; + if (!isController()) + return; + FluidTankConnectivityHandler.formTanks(this); + } - other = getOtherFluidTankTileEntity(Direction.NORTH); - - if (other != null && other.getTank().isFluidValid(this.getTank().getFluid())) { - int delta = other.getTank().getFluidAmount() - this.getTank().getFluidAmount(); - if (delta > 0) { - this.getTank().fill(other.getTank().drain(calculateDrainAmount(other, delta), FluidAction.EXECUTE), FluidAction.EXECUTE); - other.markDirty(); - this.markDirty(); - other.sendData(); - sendData(); - } else if (delta < 0) { - other.getTank().fill(this.getTank().drain(calculateDrainAmount(other, delta), FluidAction.EXECUTE), FluidAction.EXECUTE); - other.markDirty(); - this.markDirty(); - other.sendData(); - sendData(); - } - } + @Override + public void tick() { + super.tick(); + if (updateConnectivity) + updateConnectivity(); + if (fluidLevel != null) + fluidLevel.tick(); + } + public boolean isController() { + return controller == null || controller.equals(pos); + } - other = getOtherFluidTankTileEntity(Direction.WEST); - if (other != null && other.getTank().isFluidValid(this.getTank().getFluid())) { - int delta = other.getTank().getFluidAmount() - this.getTank().getFluidAmount(); - if (delta > 0) { - this.getTank().fill(other.getTank().drain(calculateDrainAmount(other, delta), FluidAction.EXECUTE), FluidAction.EXECUTE); - other.markDirty(); - this.markDirty(); - other.sendData(); - sendData(); - } else if (delta < 0) { - other.getTank().fill(this.getTank().drain(calculateDrainAmount(other, delta), FluidAction.EXECUTE), FluidAction.EXECUTE); - other.markDirty(); - this.markDirty(); - other.sendData(); - sendData(); - } - } + @Override + public void initialize() { + super.initialize(); + sendData(); + } - other = getOtherFluidTankTileEntity(Direction.UP); - if (other != null && other.getTank().isFluidValid(this.getTank().getFluid())) { - int space = this.getTank().getCapacity() - this.getTank().getFluidAmount(); - if (space > 0 && other.getTank().getFluidAmount() > 0) { - this.getTank().fill(other.getTank().drain(space, FluidAction.EXECUTE), FluidAction.EXECUTE); - other.markDirty(); - this.markDirty(); - other.sendData(); - sendData(); - } - } - } + protected void onFluidStackChanged(FluidStack newFluidStack) { + if (!hasWorld()) + return; - @Nullable - public FluidTankTileEntity getOtherFluidTankTileEntity(Direction direction) { - TileEntity otherTE = world.getTileEntity(pos.offset(direction)); - if (otherTE instanceof FluidTankTileEntity) - return (FluidTankTileEntity) otherTE; - return null; - } + FluidAttributes attributes = newFluidStack.getFluid() + .getAttributes(); + int luminosity = attributes.getLuminosity(newFluidStack) / 2; + boolean reversed = attributes.isLighterThanAir(); + int maxY = (int) ((getFillState() * height) + 1); - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { - return fluid.cast(); - } - return super.getCapability(cap, side); - } + for (int yOffset = 0; yOffset < height; yOffset++) { + boolean isBright = reversed ? (height - yOffset <= maxY) : (yOffset < maxY); + int actualLuminosity = isBright ? luminosity : luminosity > 0 ? 1 : 0; - @Override - public void read(CompoundNBT tag) { - fluid.ifPresent(h -> h.readFromNBT(tag)); - super.read(tag); - } + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = this.pos.add(xOffset, yOffset, zOffset); + FluidTankTileEntity tankAt = FluidTankConnectivityHandler.tankAt(world, pos); + if (tankAt == null) + continue; + if (tankAt.luminosity == actualLuminosity) + continue; + tankAt.setLuminosity(actualLuminosity); + } + } + } + } - @Override - public CompoundNBT write(CompoundNBT tag) { - fluid.ifPresent(h -> h.writeToNBT(tag)); - return super.write(tag); - } + protected void setLuminosity(int luminosity) { + if (world.isRemote) + return; + if (this.luminosity == luminosity) + return; + this.luminosity = luminosity; + sendData(); + } - @Override - public void addBehaviours(List behaviours) { - } + public FluidTankTileEntity getControllerTE() { + if (isController()) + return this; + TileEntity tileEntity = world.getTileEntity(controller); + if (tileEntity instanceof FluidTankTileEntity) + return (FluidTankTileEntity) tileEntity; + return null; + } - @Nonnull - public FluidTank createFluidHandler() { - return new FluidTank(16000); - } + public void applyFluidTankSize(int blocks) { + tankInventory.setCapacity(blocks * getCapacityMultiplier()); + int overflow = tankInventory.getFluidAmount() - tankInventory.getCapacity(); + if (overflow > 0) + tankInventory.drain(overflow, FluidAction.EXECUTE); + forceFluidLevelUpdate = true; + } - public IFluidTank getTank() { - return fluid.orElseGet(this::createFluidHandler); - } + public void removeController() { + if (world.isRemote) + return; + updateConnectivity = true; + applyFluidTankSize(1); + controller = null; + width = 1; + height = 1; + onFluidStackChanged(tankInventory.getFluid()); - private void updatePriority() { - FluidTankTileEntity other = getOtherFluidTankTileEntity(Direction.DOWN); - priority = 1000; - if (other != null) { - priority = 0; - return; - } + BlockState state = getBlockState(); + if (FluidTankBlock.isTank(state)) { + state = state.with(FluidTankBlock.BOTTOM, true); + state = state.with(FluidTankBlock.TOP, true); + state = state.with(FluidTankBlock.SHAPE, window ? Shape.WINDOW : Shape.PLAIN); + getWorld().setBlockState(pos, state, 22); + } - updatePriorityFrom(Direction.SOUTH); - updatePriorityFrom(Direction.NORTH); - updatePriorityFrom(Direction.WEST); - updatePriorityFrom(Direction.EAST); - } + markDirty(); + sendData(); + } - private void updatePriorityFrom(Direction direction) { - FluidTankTileEntity other = getOtherFluidTankTileEntity(direction); - if (other != null && other.getPriority() + 1 < priority) { - priority = other.getPriority() + 1; - } - } + public void toggleWindows() { + FluidTankTileEntity te = getControllerTE(); + if (te == null) + return; + te.setWindows(!te.window); + } + + public void setWindows(boolean window) { + this.window = window; + for (int yOffset = 0; yOffset < height; yOffset++) { + for (int xOffset = 0; xOffset < width; xOffset++) { + for (int zOffset = 0; zOffset < width; zOffset++) { + + BlockPos pos = this.pos.add(xOffset, yOffset, zOffset); + BlockState blockState = world.getBlockState(pos); + if (!FluidTankBlock.isTank(blockState)) + continue; + + Shape shape = Shape.PLAIN; + if (window) { + // SIZE 1: Every tank has a window + if (width == 1) + shape = Shape.WINDOW; + // SIZE 2: Every tank has a corner window + if (width == 2) + shape = xOffset == 0 ? zOffset == 0 ? Shape.WINDOW_NW : Shape.WINDOW_SW + : zOffset == 0 ? Shape.WINDOW_NE : Shape.WINDOW_SE; + // SIZE 3: Tanks in the center have a window + if (width == 3 && abs(abs(xOffset) - abs(zOffset)) == 1) + shape = Shape.WINDOW; + } + + world.setBlockState(pos, blockState.with(FluidTankBlock.SHAPE, shape), 22); + world.getChunkProvider() + .getLightManager() + .checkBlock(pos); + } + } + } + } + + public void setController(BlockPos controller) { + if (world.isRemote) + return; + if (controller.equals(this.controller)) + return; + this.controller = controller; + markDirty(); + sendData(); + } + + public BlockPos getController() { + return isController() ? pos : controller; + } + + @Override + @OnlyIn(Dist.CLIENT) + public AxisAlignedBB getRenderBoundingBox() { + return super.getRenderBoundingBox().expand(width - 1, height - 1, width - 1); + } + + @Nullable + public FluidTankTileEntity getOtherFluidTankTileEntity(Direction direction) { + TileEntity otherTE = world.getTileEntity(pos.offset(direction)); + if (otherTE instanceof FluidTankTileEntity) + return (FluidTankTileEntity) otherTE; + return null; + } + + @Override + public void read(CompoundNBT tag) { + super.read(tag); + updateConnectivity = tag.contains("Uninitialized"); + luminosity = tag.getInt("Luminosity"); + controller = null; + + if (tag.contains("Controller")) + controller = NBTUtil.readBlockPos(tag.getCompound("Controller")); + + if (isController()) { + window = tag.getBoolean("Window"); + width = tag.getInt("Size"); + height = tag.getInt("Height"); + tankInventory.setCapacity(getTotalTankSize() * getCapacityMultiplier()); + tankInventory.readFromNBT(tag.getCompound("TankContent")); + if (tankInventory.getSpace() < 0) + tankInventory.drain(-tankInventory.getSpace(), FluidAction.EXECUTE); + } + + if (tag.contains("ForceFluidLevel") || fluidLevel == null) + fluidLevel = new InterpolatedChasingValue().start(getFillState()) + .withSpeed(1 / 2f); + } + + @Override + public void readClientUpdate(CompoundNBT tag) { + BlockPos controllerBefore = controller; + int prevSize = width; + int prevHeight = height; + int prevLum = luminosity; + + super.readClientUpdate(tag); + + boolean changeOfController = + controllerBefore == null ? controller != null : !controllerBefore.equals(controller); + if (changeOfController || prevSize != width || prevHeight != height) { + if (hasWorld()) + world.notifyBlockUpdate(getPos(), getBlockState(), getBlockState(), 16); + if (isController()) + tankInventory.setCapacity(getCapacityMultiplier() * getTotalTankSize()); + } + if (isController()) { + float fillState = getFillState(); + if (tag.contains("ForceFluidLevel") || fluidLevel == null) + fluidLevel = new InterpolatedChasingValue().start(fillState) + .withSpeed(1 / 2f); + fluidLevel.target(fillState); + } + if (luminosity != prevLum && hasWorld()) + world.getChunkProvider() + .getLightManager() + .checkBlock(pos); + } + + protected float getFillState() { + return (float) tankInventory.getFluidAmount() / tankInventory.getCapacity(); + } + + @Override + public CompoundNBT write(CompoundNBT tag) { + if (updateConnectivity) + tag.putBoolean("Uninitialized", true); + if (!isController()) + tag.put("Controller", NBTUtil.writeBlockPos(controller)); + if (isController()) { + tag.putBoolean("Window", window); + tag.put("TankContent", tankInventory.writeToNBT(new CompoundNBT())); + tag.putInt("Size", width); + tag.putInt("Height", height); + } + tag.putInt("Luminosity", luminosity); + return super.write(tag); + } + + @Override + public CompoundNBT writeToClient(CompoundNBT compound) { + if (forceFluidLevelUpdate) + compound.putBoolean("ForceFluidLevel", true); + forceFluidLevelUpdate = false; + return super.writeToClient(compound); + } + + @Nonnull + @Override + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) { + FluidTankTileEntity controller = getControllerTE(); + if (controller != null) + return controller.fluidCapability.cast(); + } + return super.getCapability(cap, side); + } + + @Override + public void remove() { + super.remove(); + fluidCapability.invalidate(); + } + + @Override + public void addBehaviours(List behaviours) {} + + public IFluidTank getTankInventory() { + return tankInventory; + } + + public int getTotalTankSize() { + return width * width * height; + } + + public static int getMaxSize() { + return MAX_SIZE; + } + + protected static int getCapacityMultiplier() { + return AllConfigs.SERVER.fluids.fluidTankCapacity.get() * 1000; + } + + public static int getMaxHeight() { + return AllConfigs.SERVER.fluids.fluidTankMaxHeight.get(); + } - public int getPriority() { - return priority; - } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticle.java b/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticle.java new file mode 100644 index 000000000..2de6857b9 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticle.java @@ -0,0 +1,152 @@ +package com.simibubi.create.content.contraptions.particle; + +import org.lwjgl.opengl.GL11; + +import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.IVertexBuilder; + +import net.minecraft.client.particle.IParticleFactory; +import net.minecraft.client.particle.IParticleRenderType; +import net.minecraft.client.particle.Particle; +import net.minecraft.client.renderer.ActiveRenderInfo; +import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; + +public class CubeParticle extends Particle { + + public static final Vec3d[] CUBE = { + // TOP + new Vec3d(1, 1, -1), new Vec3d(1, 1, 1), new Vec3d(-1, 1, 1), new Vec3d(-1, 1, -1), + + // BOTTOM + new Vec3d(-1, -1, -1), new Vec3d(-1, -1, 1), new Vec3d(1, -1, 1), new Vec3d(1, -1, -1), + + // FRONT + new Vec3d(-1, -1, 1), new Vec3d(-1, 1, 1), new Vec3d(1, 1, 1), new Vec3d(1, -1, 1), + + // BACK + new Vec3d(1, -1, -1), new Vec3d(1, 1, -1), new Vec3d(-1, 1, -1), new Vec3d(-1, -1, -1), + + // LEFT + new Vec3d(-1, -1, -1), new Vec3d(-1, 1, -1), new Vec3d(-1, 1, 1), new Vec3d(-1, -1, 1), + + // RIGHT + new Vec3d(1, -1, 1), new Vec3d(1, 1, 1), new Vec3d(1, 1, -1), new Vec3d(1, -1, -1) }; + + public static final Vec3d[] CUBE_NORMALS = { + // modified normals for the sides + new Vec3d(0, 1, 0), new Vec3d(0, -1, 0), new Vec3d(0, 0, 1), new Vec3d(0, 0, 1), new Vec3d(0, 0, 1), + new Vec3d(0, 0, 1), + + /* + * new Vec3d(0, 1, 0), new Vec3d(0, -1, 0), new Vec3d(0, 0, 1), new Vec3d(0, 0, + * -1), new Vec3d(-1, 0, 0), new Vec3d(1, 0, 0) + */ + }; + + private static final IParticleRenderType renderType = new IParticleRenderType() { + @Override + public void beginRender(BufferBuilder builder, TextureManager textureManager) { + RenderSystem.disableTexture(); + + // transparent, additive blending + RenderSystem.depthMask(false); + RenderSystem.enableBlend(); + RenderSystem.blendFunc(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); + RenderSystem.enableLighting(); + RenderSystem.enableColorMaterial(); + + // opaque +// RenderSystem.depthMask(true); +// RenderSystem.disableBlend(); +// RenderSystem.enableLighting(); + + builder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); + } + + @Override + public void finishRender(Tessellator tessellator) { + tessellator.draw(); + RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, + GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.enableTexture(); + } + }; + + protected float scale; + + public CubeParticle(World world, double x, double y, double z, double motionX, double motionY, double motionZ) { + super(world, x, y, z); + this.motionX = motionX; + this.motionY = motionY; + this.motionZ = motionZ; + + setScale(0.2F); + } + + public void setScale(float scale) { + this.scale = scale; + this.setSize(scale, scale); + } + + public void averageAge(int age) { + this.maxAge = (int) (age + (rand.nextDouble() * 2D - 1D) * 8); + } + + @Override + public void buildGeometry(IVertexBuilder builder, ActiveRenderInfo renderInfo, float p_225606_3_) { + Vec3d projectedView = renderInfo.getProjectedView(); + float lerpedX = (float) (MathHelper.lerp(p_225606_3_, this.prevPosX, this.posX) - projectedView.getX()); + float lerpedY = (float) (MathHelper.lerp(p_225606_3_, this.prevPosY, this.posY) - projectedView.getY()); + float lerpedZ = (float) (MathHelper.lerp(p_225606_3_, this.prevPosZ, this.posZ) - projectedView.getZ()); + + // int light = getBrightnessForRender(p_225606_3_); + int light = 15728880;// 15<<20 && 15<<4 + double ageMultiplier = 1 - Math.pow(age, 3) / Math.pow(maxAge, 3); + + for (int i = 0; i < 6; i++) { + // 6 faces to a cube + for (int j = 0; j < 4; j++) { + Vec3d vec = CUBE[i * 4 + j]; + vec = vec + /* .rotate(?) */ + .scale(scale * ageMultiplier) + .add(lerpedX, lerpedY, lerpedZ); + + Vec3d normal = CUBE_NORMALS[i]; + builder.vertex(vec.x, vec.y, vec.z) + .color(particleRed, particleGreen, particleBlue, particleAlpha) + .texture(0, 0) + .light(light) + .normal((float) normal.x, (float) normal.y, (float) normal.z) + .endVertex(); + } + } + } + + @Override + public IParticleRenderType getRenderType() { + return renderType; + } + + public static class Factory implements IParticleFactory { + + public Factory() {} + + @Override + public Particle makeParticle(CubeParticleData data, World world, double x, double y, double z, double motionX, + double motionY, double motionZ) { + CubeParticle particle = new CubeParticle(world, x, y, z, motionX, motionY, motionZ); + particle.setColor(data.r, data.g, data.b); + particle.setScale(data.scale); + particle.averageAge(data.avgAge); + return particle; + } + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticleData.java b/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticleData.java new file mode 100644 index 000000000..7e2ec3279 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/CubeParticleData.java @@ -0,0 +1,87 @@ +package com.simibubi.create.content.contraptions.particle; + +import java.util.Locale; + +import com.mojang.brigadier.StringReader; +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import com.simibubi.create.AllParticleTypes; + +import net.minecraft.client.particle.ParticleManager; +import net.minecraft.network.PacketBuffer; +import net.minecraft.particles.IParticleData; +import net.minecraft.particles.ParticleType; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +public class CubeParticleData implements IParticleData, ICustomParticle { + + public static final IParticleData.IDeserializer DESERIALIZER = new IParticleData.IDeserializer() { + @Override + public CubeParticleData deserialize(ParticleType type, StringReader reader) throws CommandSyntaxException { + reader.expect(' '); + float r = reader.readFloat(); + reader.expect(' '); + float g = reader.readFloat(); + reader.expect(' '); + float b = reader.readFloat(); + reader.expect(' '); + float scale = reader.readFloat(); + reader.expect(' '); + int avgAge = reader.readInt(); + return new CubeParticleData(r, g, b, scale, avgAge); + } + + @Override + public CubeParticleData read(ParticleType type, PacketBuffer buffer) { + return new CubeParticleData(buffer.readFloat(), buffer.readFloat(), buffer.readFloat(), buffer.readFloat(), buffer.readInt()); + } + }; + + final float r; + final float g; + final float b; + final float scale; + final int avgAge; + + public CubeParticleData(float r, float g, float b, float scale, int avgAge) { + this.r = r; + this.g = g; + this.b = b; + this.scale = scale; + this.avgAge = avgAge; + } + + public static CubeParticleData dummy() { + return new CubeParticleData(0, 0, 0, 0, 0); + } + + @Override + public IDeserializer getDeserializer() { + return DESERIALIZER; + } + + @Override + @OnlyIn(Dist.CLIENT) + public ParticleManager.IParticleMetaFactory getFactory() { + return null; + } + + @Override + public ParticleType getType() { + return AllParticleTypes.CUBE.get(); + } + + @Override + public void write(PacketBuffer buffer) { + buffer.writeFloat(r); + buffer.writeFloat(g); + buffer.writeFloat(b); + buffer.writeFloat(scale); + buffer.writeInt(avgAge); + } + + @Override + public String getParameters() { + return String.format(Locale.ROOT, "%s %f %f %f %f %d", AllParticleTypes.CUBE.parameter(), r, g, b, scale, avgAge); + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticle.java b/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticle.java new file mode 100644 index 000000000..1543ab12d --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticle.java @@ -0,0 +1,110 @@ +package com.simibubi.create.content.contraptions.particle; + +import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.client.particle.IAnimatedSprite; +import net.minecraft.client.particle.IParticleFactory; +import net.minecraft.client.particle.IParticleRenderType; +import net.minecraft.client.particle.Particle; +import net.minecraft.client.particle.SimpleAnimatedParticle; +import net.minecraft.util.math.MathHelper; +import net.minecraft.world.World; + +import javax.annotation.ParametersAreNonnullByDefault; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class HeaterParticle extends SimpleAnimatedParticle { + + private final IAnimatedSprite animatedSprite; + + public HeaterParticle(World worldIn, float r, float g, float b, double x, double y, double z, double vx, double vy, + double vz, IAnimatedSprite spriteSet) { + super(worldIn, x, y, z, spriteSet, worldIn.rand.nextFloat() * .5f); + + this.animatedSprite = spriteSet; + + this.motionX = this.motionX * (double) 0.01F + vx; + this.motionY = this.motionY * (double) 0.01F + vy; + this.motionZ = this.motionZ * (double) 0.01F + vz; + + this.particleRed = r; + this.particleGreen = g; + this.particleBlue = b; + + this.posX += (this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F; + this.posY += (this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F; + this.posZ += (this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F; + + this.maxAge = (int) (8.0D / (Math.random() * 0.8D + 0.2D)) + 4; + this.particleScale *= 1.875F; + this.selectSpriteWithAge(animatedSprite); + + } + + @Override + public IParticleRenderType getRenderType() { + return IParticleRenderType.PARTICLE_SHEET_LIT; + } + + @Override + public float getScale(float p_217561_1_) { + float f = ((float) this.age + p_217561_1_) / (float) this.maxAge; + return this.particleScale * (1.0F - f * f * 0.5F); + } + + @Override + public void move(double x, double y, double z) { + this.setBoundingBox(this.getBoundingBox() + .offset(x, y, z)); + this.resetPositionToBB(); + } + + @Override + public int getBrightnessForRender(float p_189214_1_) { + float f = ((float) this.age + p_189214_1_) / (float) this.maxAge; + f = MathHelper.clamp(f, 0.0F, 1.0F); + int i = super.getBrightnessForRender(p_189214_1_); + int j = i & 255; + int k = i >> 16 & 255; + j = j + (int) (f * 15.0F * 16.0F); + if (j > 240) { + j = 240; + } + + return j | k << 16; + } + + @Override + public void tick() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + if (this.age++ >= this.maxAge) { + this.setExpired(); + } else { + this.selectSpriteWithAge(animatedSprite); + this.move(this.motionX, this.motionY, this.motionZ); + this.motionX *= (double) 0.96F; + this.motionY *= (double) 0.96F; + this.motionZ *= (double) 0.96F; + if (this.onGround) { + this.motionX *= (double) 0.7F; + this.motionZ *= (double) 0.7F; + } + } + } + + public static class Factory implements IParticleFactory { + private final IAnimatedSprite spriteSet; + + public Factory(IAnimatedSprite animatedSprite) { + this.spriteSet = animatedSprite; + } + + @Override + public Particle makeParticle(HeaterParticleData data, World worldIn, double x, double y, double z, double vx, + double vy, double vz) { + return new HeaterParticle(worldIn, data.r, data.g, data.b, x, y, z, vx, vy, vz, this.spriteSet); + } + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticleData.java b/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticleData.java new file mode 100644 index 000000000..54d5e1626 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/particle/HeaterParticleData.java @@ -0,0 +1,85 @@ +package com.simibubi.create.content.contraptions.particle; + +import java.util.Locale; + +import javax.annotation.ParametersAreNonnullByDefault; + +import com.mojang.brigadier.StringReader; +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import com.simibubi.create.AllParticleTypes; + +import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.client.particle.ParticleManager.IParticleMetaFactory; +import net.minecraft.network.PacketBuffer; +import net.minecraft.particles.IParticleData; +import net.minecraft.particles.ParticleType; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class HeaterParticleData implements IParticleData, ICustomParticle { + + public static final IParticleData.IDeserializer DESERIALIZER = + new IParticleData.IDeserializer() { + @Override + public HeaterParticleData deserialize(ParticleType arg0, StringReader reader) + throws CommandSyntaxException { + reader.expect(' '); + float r = reader.readFloat(); + reader.expect(' '); + float g = reader.readFloat(); + reader.expect(' '); + float b = reader.readFloat(); + return new HeaterParticleData(r, g, b); + } + + @Override + public HeaterParticleData read(ParticleType type, PacketBuffer buffer) { + return new HeaterParticleData(buffer.readFloat(), buffer.readFloat(), buffer.readFloat()); + } + }; + + final float r; + final float g; + final float b; + + public HeaterParticleData(float r, float g, float b) { + this.r = r; + this.g = g; + this.b = b; + } + + public HeaterParticleData() { + this(0, 0, 0); + } + + @Override + public IDeserializer getDeserializer() { + return DESERIALIZER; + } + + @Override + @OnlyIn(Dist.CLIENT) + public IParticleMetaFactory getFactory() { + return HeaterParticle.Factory::new; + } + + @Override + public String getParameters() { + return String.format(Locale.ROOT, "%s %f %f %f", AllParticleTypes.HEATER_PARTICLE.parameter(), r, g, b); + } + + @Override + public ParticleType getType() { + return AllParticleTypes.HEATER_PARTICLE.get(); + } + + @Override + public void write(PacketBuffer buffer) { + buffer.writeFloat(r); + buffer.writeFloat(g); + buffer.writeFloat(b); + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java index 492c3f106..18645dedd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinOperatingTileEntity.java @@ -37,7 +37,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { protected IRecipe lastRecipe; protected LazyOptional basinItemInv = LazyOptional.empty(); protected LazyOptional basinFluidInv = LazyOptional.empty(); - protected MultiIngredientTypeList inputs; + protected CombinedItemFluidList inputs; public BasinOperatingTileEntity(TileEntityType typeIn) { super(typeIn); @@ -59,7 +59,7 @@ public abstract class BasinOperatingTileEntity extends KineticTileEntity { } public void gatherInputs() { - inputs = new MultiIngredientTypeList(); + inputs = new CombinedItemFluidList(); basinItemInv.ifPresent(inv -> { IItemHandlerModifiable inputHandler = ((BasinInventory) inv).getInputHandler(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java index 78f4d7b95..f96fc6384 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/BasinTileEntity.java @@ -3,6 +3,8 @@ package com.simibubi.create.content.contraptions.processing; import java.util.List; import java.util.Optional; +import javax.annotation.Nonnull; + import com.simibubi.create.content.contraptions.fluids.CombinedFluidHandler; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; @@ -10,6 +12,7 @@ import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputB import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.nbt.ListNBT; import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityType; @@ -24,8 +27,6 @@ import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.CombinedInvWrapper; import net.minecraftforge.items.wrapper.RecipeWrapper; -import javax.annotation.Nonnull; - public class BasinTileEntity extends SmartTileEntity implements ITickableTileEntity { public boolean contentsChanged; @@ -121,7 +122,7 @@ public class BasinTileEntity extends SmartTileEntity implements ITickableTileEnt super.read(compound); inputItemInventory.deserializeNBT(compound.getCompound("InputItems")); outputItemInventory.deserializeNBT(compound.getCompound("OutputItems")); - if (compound.hasUniqueId("fluids")) + if (compound.contains("fluids")) fluidInventory .ifPresent(combinedFluidHandler -> combinedFluidHandler.readFromNBT(compound.getList("fluids", 10))); } @@ -131,7 +132,10 @@ public class BasinTileEntity extends SmartTileEntity implements ITickableTileEnt super.write(compound); compound.put("InputItems", inputItemInventory.serializeNBT()); compound.put("OutputItems", outputItemInventory.serializeNBT()); - fluidInventory.ifPresent(combinedFuidHandler -> compound.put("fluids", combinedFuidHandler.getListNBT())); + fluidInventory.ifPresent(combinedFuidHandler -> { + ListNBT nbt = combinedFuidHandler.getListNBT(); + compound.put("fluids", nbt); + }); return compound; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/MultiIngredientTypeList.java b/src/main/java/com/simibubi/create/content/contraptions/processing/CombinedItemFluidList.java similarity index 50% rename from src/main/java/com/simibubi/create/content/contraptions/processing/MultiIngredientTypeList.java rename to src/main/java/com/simibubi/create/content/contraptions/processing/CombinedItemFluidList.java index 1206bc283..f5eac96d6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/MultiIngredientTypeList.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/CombinedItemFluidList.java @@ -6,23 +6,31 @@ import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; import java.util.function.Consumer; -public class MultiIngredientTypeList { - private final ArrayList itemIngredients = new ArrayList<>(); - private final ArrayList fluidIngredients = new ArrayList<>(); +public class CombinedItemFluidList { + private final ArrayList itemStacks = new ArrayList<>(); + private final ArrayList fluidStacks = new ArrayList<>(); public void add(ItemStack itemstack) { - itemIngredients.add(itemstack); + itemStacks.add(itemstack); } public void add(FluidStack fluidStack) { - fluidIngredients.add(fluidStack); + fluidStacks.add(fluidStack); } public void forEachItemStack(Consumer itemStackConsumer) { - itemIngredients.forEach(itemStackConsumer); + itemStacks.forEach(itemStackConsumer); } public void forEachFluidStack(Consumer fluidStackConsumer) { - fluidIngredients.forEach(fluidStackConsumer); + fluidStacks.forEach(fluidStackConsumer); + } + + public ArrayList getItemStacks() { + return itemStacks; + } + + public ArrayList getFluidStacks() { + return fluidStacks; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlock.java new file mode 100644 index 000000000..f5721df2e --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlock.java @@ -0,0 +1,144 @@ +package com.simibubi.create.content.contraptions.processing; + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; + +import com.simibubi.create.AllShapes; +import com.simibubi.create.AllTileEntities; +import com.simibubi.create.foundation.block.ITE; + +import com.simibubi.create.foundation.utility.Lang; +import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.state.EnumProperty; +import net.minecraft.state.IProperty; +import net.minecraft.state.StateContainer.Builder; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.util.IStringSerializable; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.BlockRayTraceResult; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.World; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +public class HeaterBlock extends Block implements ITE { + + //public static IProperty BLAZE_LEVEL = IntegerProperty.create("blaze_level", 0, 4); + public static IProperty BLAZE_LEVEL = EnumProperty.create("blaze", HeatLevel.class); + + public HeaterBlock(Properties properties) { + super(properties); + setDefaultState(super.getDefaultState().with(BLAZE_LEVEL, HeatLevel.NONE)); + } + + @Override + protected void fillStateContainer(Builder builder) { + super.fillStateContainer(builder); + builder.add(BLAZE_LEVEL); + } + + @Override + public boolean hasTileEntity(BlockState state) { + return state.get(BLAZE_LEVEL).min(HeatLevel.SMOULDERING); + } + + @Nullable + @Override + public TileEntity createTileEntity(BlockState state, IBlockReader world) { + return AllTileEntities.HEATER.create(); + } + + @Override + public Class getTileEntityClass() { + return HeaterTileEntity.class; + } + + @Override + public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult blockRayTraceResult) { + if (!hasTileEntity(state)) + return ActionResultType.PASS; + + TileEntity te = world.getTileEntity(pos); + if (!(te instanceof HeaterTileEntity)) + return ActionResultType.PASS; + + if (!((HeaterTileEntity) te).tryUpdateFuel(player.getHeldItem(hand), player)) + return ActionResultType.PASS; + + if (!player.isCreative()) + player.getHeldItem(hand).shrink(1); + + return ActionResultType.SUCCESS; + } + + @Override + public BlockState getStateForPlacement(BlockItemUseContext context) { + if (!context.getItem().hasTag()) + return getDefaultState(); + + CompoundNBT tag = context.getItem().getTag(); + if (!tag.contains("has_blaze")) + return getDefaultState(); + + if (tag.getBoolean("has_blaze")) + return getDefaultState().with(BLAZE_LEVEL, HeatLevel.SMOULDERING); + + return getDefaultState(); + } + + @Override + public VoxelShape getShape(BlockState state, IBlockReader reader, BlockPos pos, ISelectionContext context) { + return AllShapes.HEATER_BLOCK_SHAPE; + } + + @Override + public VoxelShape getCollisionShape(BlockState p_220071_1_, IBlockReader p_220071_2_, BlockPos p_220071_3_, ISelectionContext p_220071_4_) { + if (p_220071_4_ == ISelectionContext.dummy()) + return AllShapes.HEATER_BLOCK_SPECIAL_COLLISION_SHAPE; + + return super.getShape(p_220071_1_, p_220071_2_, p_220071_3_, p_220071_4_); + } + + @Override + public int getLightValue(BlockState state, IBlockReader world, BlockPos pos) { + return MathHelper.clamp(state.get(BLAZE_LEVEL).ordinal() * 4 - 1, 0, 15); + } + + static void setBlazeLevel(@Nullable World world, BlockPos pos, HeatLevel blazeLevel) { + if (world != null) + world.setBlockState(pos, world.getBlockState(pos).with(BLAZE_LEVEL, blazeLevel)); + } + + public static HeatLevel getHeaterLevel(BlockState blockState) { + return blockState.has(HeaterBlock.BLAZE_LEVEL) ? blockState.get(HeaterBlock.BLAZE_LEVEL) : HeatLevel.NONE; + } + + public enum HeatLevel implements IStringSerializable { + NONE, + SMOULDERING, + FADING, + KINDLED, + SEETHING, + //if you think you have better names let me know :) + ; + + @Override + public String getName() { + return Lang.asId(name()); + } + + public boolean min(HeatLevel heatLevel) { + return this.ordinal() >= heatLevel.ordinal(); + } + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlockItem.java b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlockItem.java new file mode 100644 index 000000000..88be8b0f2 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlockItem.java @@ -0,0 +1,73 @@ +package com.simibubi.create.content.contraptions.processing; + +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; +import mcp.MethodsReturnNonnullByDefault; + +import net.minecraft.block.Block; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.monster.BlazeEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItem; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemUseContext; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.tileentity.MobSpawnerTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; +import net.minecraft.util.Hand; +import net.minecraft.world.World; +import net.minecraftforge.common.util.FakePlayer; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +public class HeaterBlockItem extends BlockItem { + public HeaterBlockItem(Block block, Properties properties) { + super(block, properties); + } + + @Override + public ActionResultType onItemUse(ItemUseContext context) { + TileEntity te = context.getWorld() + .getTileEntity(context.getPos()); + if (te instanceof MobSpawnerTileEntity && ((MobSpawnerTileEntity) te).getSpawnerBaseLogic() + .getCachedEntity() instanceof BlazeEntity) { + ItemStack itemWithBlaze = withBlaze(context.getItem()); + context.getItem() + .shrink(1); + dropOrPlaceBack(context.getWorld(), context.getPlayer(), itemWithBlaze); + return ActionResultType.SUCCESS; + } + return super.onItemUse(context); + } + + @Override + public boolean itemInteractionForEntity(ItemStack heldItem, PlayerEntity player, LivingEntity entity, Hand hand) { + if (entity instanceof BlazeEntity) { + ItemStack itemWithBlaze = withBlaze(heldItem); + heldItem.shrink(1); + dropOrPlaceBack(player.getEntityWorld(), player, itemWithBlaze); + entity.remove(); + return true; + } + return super.itemInteractionForEntity(heldItem, player, entity, hand); + } + + private static ItemStack withBlaze(ItemStack base) { + ItemStack newItem = new ItemStack(base.getItem(), 1); + CompoundNBT tag = new CompoundNBT(); + tag.putBoolean("has_blaze", true); + newItem.setTag(tag); + return newItem; + } + + private static void dropOrPlaceBack(@Nullable World world, @Nullable PlayerEntity player, ItemStack item) { + if (player == null) + return; + if (player instanceof FakePlayer || world == null) { + player.dropItem(item, false, false); + } else { + player.inventory.placeItemBackInInventory(world, item); + } + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterRenderer.java new file mode 100644 index 000000000..bb4750280 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterRenderer.java @@ -0,0 +1,52 @@ +package com.simibubi.create.content.contraptions.processing; + +import com.mojang.blaze3d.matrix.MatrixStack; +import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.foundation.utility.SuperByteBuffer; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.Vector3f; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.util.Direction; + +import java.util.HashMap; + +public class HeaterRenderer extends SafeTileEntityRenderer { + private static final Minecraft INSTANCE = Minecraft.getInstance(); + private static final HashMap blazeModelMap = new HashMap<>(); + + public HeaterRenderer(TileEntityRendererDispatcher dispatcher) { + super(dispatcher); + blazeModelMap.put(HeaterBlock.HeatLevel.FADING, AllBlockPartials.BLAZE_HEATER_BLAZE_TWO); + blazeModelMap.put(HeaterBlock.HeatLevel.KINDLED, AllBlockPartials.BLAZE_HEATER_BLAZE_THREE); + blazeModelMap.put(HeaterBlock.HeatLevel.SEETHING, AllBlockPartials.BLAZE_HEATER_BLAZE_FOUR); + } + + @Override + protected void renderSafe(HeaterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, + int light, int overlay) { + AllBlockPartials blazeModel = + blazeModelMap.getOrDefault(te.getHeatLevel(), AllBlockPartials.BLAZE_HEATER_BLAZE_ONE); + + float angle; + if (INSTANCE.player == null) { + angle = 0; + } else { + Vector3f difference = new Vector3f(INSTANCE.player.getPositionVector() + .subtract(te.getPos() + .getX() + 0.5, 0, + te.getPos() + .getZ() + 0.5) + .mul(1, 0, 1)); + difference.normalize(); + angle = (float) ((difference.getX() < 0 ? 1 : -1) * Math.acos(Direction.NORTH.getUnitVector() + .dot(difference))); + } + SuperByteBuffer blazeBuffer = blazeModel.renderOn(te.getBlockState()); + blazeBuffer.rotateCentered(Direction.UP, angle); + blazeBuffer.renderInto(ms, buffer.getBuffer(RenderType.getSolid())); + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterTileEntity.java new file mode 100644 index 000000000..cae5645e7 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/HeaterTileEntity.java @@ -0,0 +1,239 @@ +package com.simibubi.create.content.contraptions.processing; + +import java.util.List; +import java.util.Random; + +import com.simibubi.create.AllItems; +import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.content.contraptions.components.deployer.DeployerFakePlayer; +import com.simibubi.create.content.contraptions.particle.CubeParticleData; +import com.simibubi.create.foundation.tileEntity.SmartTileEntity; +import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; +import com.simibubi.create.foundation.utility.ColorHelper; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.entity.projectile.EggEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.particles.IParticleData; +import net.minecraft.tileentity.TileEntityType; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.event.entity.ProjectileImpactEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; + +@Mod.EventBusSubscriber +public class HeaterTileEntity extends SmartTileEntity { + + private final static int[][] heatParticleColors = { + {0x3B141A, 0x47141A, 0x7A3B24, 0x854D26}, + {0x2A0103, 0x741B0A, 0xC38246, 0xCCBD78}, + {0x630B03, 0x8B3503, 0xBC8200, 0xCCC849}, + {0x1C6378, 0x4798B5, 0x4DA6C0, 0xBAC8CE} + }; + + private static final int maxHeatCapacity = 10000; + + private int remainingBurnTime; + private FuelType activeFuel; + + public HeaterTileEntity(TileEntityType tileEntityTypeIn) { + super(tileEntityTypeIn); + activeFuel = FuelType.NONE; + remainingBurnTime = 0; + setLazyTickRate(40); + } + + @Override + public void tick() { + super.tick(); + + spawnParticles(getHeatLevel()); + + if (remainingBurnTime <= 0) { + return; + } + remainingBurnTime--; + if (remainingBurnTime == 0) + if (activeFuel == FuelType.SPECIAL) { + activeFuel = FuelType.NORMAL; + remainingBurnTime = maxHeatCapacity / 2; + updateHeatLevel(); + } else { + activeFuel = FuelType.NONE; + updateHeatLevel(); + } + markDirty(); + } + + @Override + public void lazyTick() { + super.lazyTick(); + //using lazy ticks to transition between kindled and fading, this doesn't need to happen instantly at the threshold + updateHeatLevel(); + } + + @Override + public void addBehaviours(List behaviours) {} + + @Override + public CompoundNBT write(CompoundNBT compound) { + compound.putInt("fuelLevel", activeFuel.ordinal()); + compound.putInt("burnTimeRemaining", remainingBurnTime); + return super.write(compound); + } + + @Override + public void read(CompoundNBT compound) { + activeFuel = FuelType.values()[compound.getInt("fuelLevel")]; + remainingBurnTime = compound.getInt("burnTimeRemaining"); + super.read(compound); + updateHeatLevel(); + } + + /** + * @return true if the heater updated its burn time and a item should be consumed + */ + boolean tryUpdateFuel(ItemStack itemStack, PlayerEntity player) { + FuelType newFuel = FuelType.NONE; + int burnTick = ForgeHooks.getBurnTime(itemStack); + if (burnTick > 0) + newFuel = FuelType.NORMAL; + if (itemStack.getItem() == AllItems.FUEL_PELLET.get()) { + burnTick = 1000; + newFuel = FuelType.SPECIAL; + } + + if (newFuel == FuelType.NONE || newFuel.ordinal() < activeFuel.ordinal()) + return false; + + if (newFuel == activeFuel) { + if (remainingBurnTime + burnTick > maxHeatCapacity && player instanceof DeployerFakePlayer) + return false; + + remainingBurnTime = MathHelper.clamp(remainingBurnTime + burnTick, 0, maxHeatCapacity); + } else { + activeFuel = newFuel; + remainingBurnTime = burnTick; + } + + updateHeatLevel(); + return true; + } + + public HeaterBlock.HeatLevel getHeatLevel() { + return HeaterBlock.getHeaterLevel(getBlockState()); + } + + private void updateHeatLevel() { + switch (activeFuel) { + case SPECIAL: + HeaterBlock.setBlazeLevel(world, pos, HeaterBlock.HeatLevel.SEETHING); + break; + case NORMAL: + boolean lowPercent = (double) remainingBurnTime / maxHeatCapacity < 0.1; + HeaterBlock.setBlazeLevel(world, pos, lowPercent ? HeaterBlock.HeatLevel.FADING : HeaterBlock.HeatLevel.KINDLED); + break; + case NONE: + HeaterBlock.setBlazeLevel(world, pos, HeaterBlock.HeatLevel.SMOULDERING); + } + } + + private void spawnParticles(HeaterBlock.HeatLevel heatLevel) { + if (world == null) + return; + + if (heatLevel == HeaterBlock.HeatLevel.NONE) + return; + + Random r = world.getRandom(); + if (heatLevel == HeaterBlock.HeatLevel.SMOULDERING) { + if (r.nextDouble() > 0.25) + return; + + Vec3d color = randomColor(heatLevel); + spawnParticle(new CubeParticleData((float) color.x,(float) color.y,(float) color.z, 0.03F, 15), 0.015, 0.1); + } else if (heatLevel == HeaterBlock.HeatLevel.FADING) { + if (r.nextDouble() > 0.5) + return; + + Vec3d color = randomColor(heatLevel); + spawnParticle(new CubeParticleData((float) color.x,(float) color.y,(float) color.z, 0.035F, 18), 0.03, 0.15); + } else if (heatLevel == HeaterBlock.HeatLevel.KINDLED) { + Vec3d color = randomColor(heatLevel); + spawnParticle(new CubeParticleData((float) color.x,(float) color.y,(float) color.z, 0.04F, 21), 0.05, 0.2); + }else if (heatLevel == HeaterBlock.HeatLevel.SEETHING) { + for (int i = 0; i < 2; i++) { + if (r.nextDouble() > 0.6) + return; + Vec3d color = randomColor(heatLevel); + spawnParticle(new CubeParticleData((float) color.x,(float) color.y,(float) color.z, 0.045F, 24), 0.06, 0.22); + } + } + } + + private void spawnParticle(IParticleData particleData, double speed, double spread) { + Random random = world.getRandom(); + + world.addOptionalParticle( + particleData, + (double) pos.getX() + 0.5D + (random.nextDouble() * 2.0 - 1D) * spread, + (double) pos.getY() + 0.6D + random.nextDouble() / 10.0, + (double) pos.getZ() + 0.5D + (random.nextDouble() * 2.0 - 1D) * spread, + 0.0D, + speed, + 0.0D); + } + + private static Vec3d randomColor(HeaterBlock.HeatLevel heatLevel) { + if (heatLevel == HeaterBlock.HeatLevel.NONE) + return new Vec3d(0,0,0); + + return ColorHelper.getRGB(heatParticleColors[heatLevel.ordinal()-1][(int) (Math.random()*4)]); + } + + @SubscribeEvent + public static void eggsGetEaten(ProjectileImpactEvent.Throwable event) { + if (!(event.getThrowable() instanceof EggEntity)) + return; + + if (event.getRayTraceResult().getType() != RayTraceResult.Type.BLOCK) + return; + + TileEntity tile = event.getThrowable().world.getTileEntity(new BlockPos(event.getRayTraceResult().getHitVec())); + if (!(tile instanceof HeaterTileEntity)) { + return; + } + + event.setCanceled(true); + event.getThrowable().setMotion(Vec3d.ZERO); + event.getThrowable().remove(); + + HeaterTileEntity heater = (HeaterTileEntity) tile; + if (heater.activeFuel != FuelType.SPECIAL) { + heater.activeFuel = FuelType.NORMAL; + heater.remainingBurnTime = MathHelper.clamp(heater.remainingBurnTime + 80, 0, maxHeatCapacity); + heater.markDirty(); + } + + World world = event.getThrowable().world; + if (world.isRemote) + return; + + world.playSound(null, heater.getPos(), AllSoundEvents.BLAZE_MUNCH.get(), SoundCategory.BLOCKS, .5F, 1F); + + + } + + private enum FuelType { + NONE, + NORMAL, + SPECIAL + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java index aacc6d39c..186cf0b72 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingOutput.java @@ -7,9 +7,9 @@ import net.minecraft.network.PacketBuffer; public class ProcessingOutput { - private static Random r = new Random(); - private ItemStack stack; - private float chance; + private static final Random r = new Random(); + private final ItemStack stack; + private final float chance; public ProcessingOutput(ItemStack stack, float chance) { this.stack = stack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipe.java index ae665072a..8134ee208 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipe.java @@ -1,12 +1,8 @@ package com.simibubi.create.content.contraptions.processing; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; - import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.Create; - +import mcp.MethodsReturnNonnullByDefault; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; @@ -15,18 +11,35 @@ import net.minecraft.item.crafting.IRecipeType; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fluids.FluidStack; +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; +import java.util.stream.Collectors; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public abstract class ProcessingRecipe implements IRecipe { protected final List ingredients; - private final List results; - private final IRecipeType type; - private final IRecipeSerializer serializer; protected final ResourceLocation id; protected final String group; protected final int processingDuration; + protected final List fluidIngredients; + protected final List fluidResults; + protected final int requiredHeat; + private final List results; + private final IRecipeType type; + private final IRecipeSerializer serializer; public ProcessingRecipe(AllRecipeTypes recipeType, ResourceLocation id, String group, - List ingredients, List results, int processingDuration) { + List ingredients, List results, int processingDuration) { + this(recipeType, id, group, ingredients, results, processingDuration, null, null, 0); + } + + public ProcessingRecipe(AllRecipeTypes recipeType, ResourceLocation id, String group, + List ingredients, List results, int processingDuration, + @Nullable List fluidIngredients, @Nullable List fluidResults, int requiredHeat) { this.type = recipeType.type; this.serializer = recipeType.serializer; this.id = id; @@ -34,20 +47,23 @@ public abstract class ProcessingRecipe implements IRecipe< this.ingredients = ingredients; this.results = results; this.processingDuration = processingDuration; + this.fluidIngredients = fluidIngredients; + this.fluidResults = fluidResults; + this.requiredHeat = requiredHeat; validate(recipeType); } private void validate(AllRecipeTypes recipeType) { if (ingredients.size() > getMaxInputCount()) Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() + ") has more inputs (" - + ingredients.size() + ") than supported (" + getMaxInputCount() + ")."); + + ingredients.size() + ") than supported (" + getMaxInputCount() + ")."); if (results.size() > getMaxOutputCount()) Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() + ") has more outputs (" - + results.size() + ") than supported (" + getMaxOutputCount() + ")."); + + results.size() + ") than supported (" + getMaxOutputCount() + ")."); ingredients.forEach(i -> { if (i.isCatalyst() && !canHaveCatalysts()) Create.logger.warn("Your custom " + recipeType.name() + " recipe (" + id.toString() - + ") has a catalyst ingredient, which act like a regular ingredient in this type."); + + ") has a catalyst ingredient, which act like a regular ingredient in this type."); }); } @@ -62,14 +78,14 @@ public abstract class ProcessingRecipe implements IRecipe< return processingDuration; } - public List rollResults() { - List stacks = new ArrayList<>(); - for (ProcessingOutput output : getRollableResults()) { + public CombinedItemFluidList rollResults() { + CombinedItemFluidList results = new CombinedItemFluidList(); + for (ProcessingOutput output : getRollableItemResults()) { ItemStack stack = output.rollOutput(); if (!stack.isEmpty()) - stacks.add(stack); + results.add(stack); } - return stacks; + return results; } @Override @@ -84,7 +100,9 @@ public abstract class ProcessingRecipe implements IRecipe< @Override public ItemStack getRecipeOutput() { - return getRollableResults().isEmpty() ? ItemStack.EMPTY : getRollableResults().get(0).getStack(); + return getRollableItemResults().isEmpty() ? ItemStack.EMPTY + : getRollableItemResults().get(0) + .getStack(); } @Override @@ -119,15 +137,29 @@ public abstract class ProcessingRecipe implements IRecipe< return false; } - public List getRollableResults() { + public List getRollableItemResults() { return results; } - + public List getRollableIngredients() { return ingredients; } public List getPossibleOutputs() { - return getRollableResults().stream().map(output -> output.getStack()).collect(Collectors.toList()); + return getRollableItemResults().stream() + .map(ProcessingOutput::getStack) + .collect(Collectors.toList()); + } + + protected boolean canHaveFluidIngredient() { + return false; + } + + protected boolean canHaveFluidOutput() { + return false; + } + + protected boolean requiresHeating() { + return false; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeSerializer.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeSerializer.java index aff3b800f..3c8de24d8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeSerializer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeSerializer.java @@ -1,20 +1,27 @@ package com.simibubi.create.content.contraptions.processing; -import java.util.ArrayList; -import java.util.List; - import com.google.gson.JsonElement; import com.google.gson.JsonObject; - +import mcp.MethodsReturnNonnullByDefault; +import net.minecraft.fluid.Fluid; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipeSerializer; import net.minecraft.network.PacketBuffer; import net.minecraft.util.JSONUtils; import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.registries.ForgeRegistries; +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.ArrayList; +import java.util.List; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public class ProcessingRecipeSerializer> - extends net.minecraftforge.registries.ForgeRegistryEntry> implements IRecipeSerializer { + extends net.minecraftforge.registries.ForgeRegistryEntry> implements IRecipeSerializer { protected final IRecipeFactory factory; @@ -27,32 +34,59 @@ public class ProcessingRecipeSerializer> String s = JSONUtils.getString(json, "group", ""); List ingredients = new ArrayList<>(); + List fluidIngredients = new ArrayList<>(); for (JsonElement e : JSONUtils.getJsonArray(json, "ingredients")) { - int count = 1; - if (JSONUtils.hasField((JsonObject) e, "count")) { - count = JSONUtils.getInt(e.getAsJsonObject().get("count"), "count"); - } - for(int i = 0; i < count; i++) { - ingredients.add(ProcessingIngredient.parse(e.getAsJsonObject())); + JsonObject entry = e.getAsJsonObject(); + if (JSONUtils.hasField(entry, "fluid")) { + addFluidToList(fluidIngredients, entry); + } else { + int count = 1; + if (JSONUtils.hasField(entry, "count")) { + count = JSONUtils.getInt(entry, "count"); + } + for (int i = 0; i < count; i++) { + ingredients.add(ProcessingIngredient.parse(entry)); + } } } List results = new ArrayList<>(); + List fluidResults = new ArrayList<>(); for (JsonElement e : JSONUtils.getJsonArray(json, "results")) { - String s1 = JSONUtils.getString(e.getAsJsonObject().get("item"), "item"); - int i = JSONUtils.getInt(e.getAsJsonObject().get("count"), "count"); - float chance = 1; - if (JSONUtils.hasField((JsonObject) e, "chance")) - chance = JSONUtils.getFloat(e.getAsJsonObject().get("chance"), "chance"); - ItemStack itemstack = new ItemStack(Registry.ITEM.getOrDefault(new ResourceLocation(s1)), i); - results.add(new ProcessingOutput(itemstack, chance)); + JsonObject entry = e.getAsJsonObject(); + if (JSONUtils.hasField(entry, "fluid")) { + addFluidToList(fluidResults, entry); + } else { + String s1 = JSONUtils.getString(entry, "item"); + int i = JSONUtils.getInt(entry, "count"); + float chance = 1; + if (JSONUtils.hasField(entry, "chance")) + chance = JSONUtils.getFloat(entry, "chance"); + ItemStack itemstack = new ItemStack(Registry.ITEM.getOrDefault(new ResourceLocation(s1)), i); + results.add(new ProcessingOutput(itemstack, chance)); + } } int duration = -1; if (JSONUtils.hasField(json, "processingTime")) duration = JSONUtils.getInt(json, "processingTime"); - return this.factory.create(recipeId, s, ingredients, results, duration); + int requiredHeat = 0; + if (JSONUtils.hasField(json, "requiredHeat")) + requiredHeat = JSONUtils.getInt(json, "requiredHeat"); + + return this.factory.create(recipeId, s, ingredients, results, duration, fluidIngredients, fluidResults, + requiredHeat); + } + + private void addFluidToList(List fluidStacks, JsonObject entry) { + Fluid fluid = ForgeRegistries.FLUIDS.getValue(ResourceLocation.tryCreate(JSONUtils.getString(entry, "fluid"))); + int amount = 1; + if (JSONUtils.hasField(entry, "amount")) { + amount = JSONUtils.getInt(entry, "amount"); + } + if (fluid != null && amount > 0) + fluidStacks.add(new FluidStack(fluid, amount)); } public T read(ResourceLocation recipeId, PacketBuffer buffer) { @@ -63,14 +97,26 @@ public class ProcessingRecipeSerializer> for (int i = 0; i < ingredientCount; i++) ingredients.add(ProcessingIngredient.parse(buffer)); + int fluidInputCount = buffer.readInt(); + List fluidIngredients = new ArrayList<>(); + for (int i = 0; i < fluidInputCount; i++) + fluidIngredients.add(FluidStack.readFromPacket(buffer)); + List results = new ArrayList<>(); int outputCount = buffer.readInt(); for (int i = 0; i < outputCount; i++) results.add(ProcessingOutput.read(buffer)); - int duration = buffer.readInt(); + int fluidOutputCount = buffer.readInt(); + List fluidResults = new ArrayList<>(); + for (int i = 0; i < fluidOutputCount; i++) + fluidResults.add(FluidStack.readFromPacket(buffer)); - return this.factory.create(recipeId, s, ingredients, results, duration); + int duration = buffer.readInt(); + int requiredHeat = buffer.readInt(); + + return this.factory.create(recipeId, s, ingredients, results, duration, fluidIngredients, fluidResults, + requiredHeat); } public void write(PacketBuffer buffer, T recipe) { @@ -78,16 +124,49 @@ public class ProcessingRecipeSerializer> buffer.writeInt(recipe.ingredients.size()); recipe.ingredients.forEach(i -> i.write(buffer)); + if (recipe.canHaveFluidIngredient() && recipe.fluidIngredients != null) { + buffer.writeInt(recipe.fluidIngredients.size()); + recipe.fluidIngredients.forEach(fluidStack -> fluidStack.writeToPacket(buffer)); + } else { + buffer.writeInt(0); + } - buffer.writeInt(recipe.getRollableResults().size()); - recipe.getRollableResults().forEach(i -> i.write(buffer)); + buffer.writeInt(recipe.getRollableItemResults() + .size()); + recipe.getRollableItemResults() + .forEach(i -> i.write(buffer)); + if (recipe.canHaveFluidOutput() && recipe.fluidResults != null) { + buffer.writeInt(recipe.fluidResults.size()); + recipe.fluidResults.forEach(fluidStack -> fluidStack.writeToPacket(buffer)); + } else { + buffer.writeInt(0); + } buffer.writeInt(recipe.processingDuration); + buffer.writeInt(recipe.requiredHeat); } public interface IRecipeFactory> { - T create(ResourceLocation id, String group, List ingredients, List results, - int duration); + default T create(ResourceLocation recipeId, String s, List ingredients, + List results, int duration, @Nullable List fluidIngredients, + @Nullable List fluidResults, int requiredHeat) { + return create(recipeId, s, ingredients, results, duration); + } + + T create(ResourceLocation recipeId, String s, List ingredients, + List results, int duration); } + public interface IExtendedRecipeFactory> extends IRecipeFactory { + @Override + T create(ResourceLocation recipeId, String s, List ingredients, + List results, int duration, @Nullable List fluidIngredients, + @Nullable List fluidResults, int requiredHeat); + + @Override + default T create(ResourceLocation recipeId, String s, List ingredients, + List results, int duration) { + throw new IllegalStateException("Incorrect recipe creation function used: " + recipeId); + } + } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltGenerator.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltGenerator.java index 7b5164156..7a9dd7708 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltGenerator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltGenerator.java @@ -26,7 +26,7 @@ public class BeltGenerator extends SpecialBlockStateGen { Boolean casing = state.get(BeltBlock.CASING); BeltSlope slope = state.get(BeltBlock.SLOPE); - boolean flip = casing && slope == BeltSlope.UPWARD; + boolean flip = slope == BeltSlope.UPWARD; boolean rotate = casing && slope == BeltSlope.VERTICAL; Direction direction = state.get(BeltBlock.HORIZONTAL_FACING); return horizontalAngle(direction) + (flip ? 180 : 0) + (rotate ? 90 : 0); @@ -36,6 +36,11 @@ public class BeltGenerator extends SpecialBlockStateGen { public ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { Boolean casing = state.get(BeltBlock.CASING); + + if (!casing) + return prov.models() + .getExistingFile(prov.modLoc("block/belt/particle")); + BeltPart part = state.get(BeltBlock.PART); Direction direction = state.get(BeltBlock.HORIZONTAL_FACING); BeltSlope slope = state.get(BeltBlock.SLOPE); @@ -49,7 +54,7 @@ public class BeltGenerator extends SpecialBlockStateGen { if (!casing && pulley) part = BeltPart.MIDDLE; - if ((vertical && negative || casing && downward || sideways && negative) && part != BeltPart.MIDDLE && !pulley) + if ((vertical && negative || downward || sideways && negative) && part != BeltPart.MIDDLE && !pulley) part = part == BeltPart.END ? BeltPart.START : BeltPart.END; if (!casing && vertical) @@ -61,7 +66,7 @@ public class BeltGenerator extends SpecialBlockStateGen { String slopeName = slope.getName(); String partName = part.getName(); - if (casing && diagonal) + if (diagonal) slopeName = "diagonal"; ResourceLocation location = prov.modLoc(path + slopeName + "_" + partName); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java index fc42ce225..c8ddacd8d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java @@ -1,7 +1,5 @@ package com.simibubi.create.content.contraptions.relays.belt; -import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING; - import java.util.Random; import com.mojang.blaze3d.matrix.MatrixStack; @@ -10,11 +8,13 @@ import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.CreateClient; -import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; +import com.simibubi.create.foundation.block.render.SpriteShiftEntry; import com.simibubi.create.foundation.tileEntity.renderer.SafeTileEntityRenderer; +import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.AnimationTickHolder; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.MatrixStacker; import com.simibubi.create.foundation.utility.ShadowRenderHelper; import com.simibubi.create.foundation.utility.SuperByteBuffer; @@ -25,7 +25,6 @@ import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Vector3f; -import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.util.Direction; @@ -49,45 +48,86 @@ public class BeltRenderer extends SafeTileEntityRenderer { if (!AllBlocks.BELT.has(blockState)) return; - BlockState renderedState = getBeltState(te); - SuperByteBuffer beltBuffer = - CreateClient.bufferCache.renderBlockIn(KineticTileEntityRenderer.KINETIC_TILE, renderedState); + BeltSlope beltSlope = blockState.get(BeltBlock.SLOPE); + BeltPart part = blockState.get(BeltBlock.PART); + Direction facing = blockState.get(BeltBlock.HORIZONTAL_FACING); + AxisDirection axisDirection = facing.getAxisDirection(); + + boolean downward = beltSlope == BeltSlope.DOWNWARD; + boolean upward = beltSlope == BeltSlope.UPWARD; + boolean diagonal = downward || upward; + boolean start = part == BeltPart.START; + boolean end = part == BeltPart.END; + boolean sideways = beltSlope == BeltSlope.SIDEWAYS; + boolean alongX = facing.getAxis() == Axis.X; - beltBuffer.color(te.color == -1 ? 0x808080 : te.color); + MatrixStacker msr = MatrixStacker.of(ms); + IVertexBuilder vb = buffer.getBuffer(RenderType.getSolid()); + float renderTick = AnimationTickHolder.getRenderTick(); - // UV shift - float speed = te.getSpeed(); - if (speed != 0) { - float time = AnimationTickHolder.getRenderTick() * blockState.get(HORIZONTAL_FACING) - .getAxisDirection() - .getOffset(); - Direction facing = renderedState.get(BeltBlock.HORIZONTAL_FACING); - if (facing.getAxis() == Axis.X && renderedState.get(BeltBlock.SLOPE) != BeltSlope.SIDEWAYS) - speed = -speed; - int textureIndex = (int) ((speed * time / 36) % 16); - if (textureIndex < 0) - textureIndex += 16; + ms.push(); + msr.centre(); + msr.rotateY(AngleHelper.horizontalAngle(facing) + (upward ? 180 : 0) + (sideways ? 270 : 0)); + msr.rotateZ(sideways ? 90 : 0); + msr.rotateX(!diagonal && beltSlope != BeltSlope.HORIZONTAL ? 90 : 0); + msr.unCentre(); - beltBuffer.shiftUVtoSheet(AllSpriteShifts.BELT, (textureIndex % 4) / 4f, (textureIndex / 4) / 4f, 4); - } else { - beltBuffer.dontShiftUV(); + if (downward || beltSlope == BeltSlope.VERTICAL && axisDirection == AxisDirection.POSITIVE) { + boolean b = start; + start = end; + end = b; } - IVertexBuilder vb = buffer.getBuffer(RenderType.getSolid()); + for (boolean bottom : Iterate.trueAndFalse) { - int packedLightmapCoords = WorldRenderer.getLightmapCoordinates(te.getWorld(), blockState, te.getPos()); - beltBuffer.light(packedLightmapCoords) - .renderInto(ms, vb); + AllBlockPartials beltPartial = diagonal + ? start ? AllBlockPartials.BELT_DIAGONAL_START + : end ? AllBlockPartials.BELT_DIAGONAL_END : AllBlockPartials.BELT_DIAGONAL_MIDDLE + : bottom + ? start ? AllBlockPartials.BELT_START_BOTTOM + : end ? AllBlockPartials.BELT_END_BOTTOM : AllBlockPartials.BELT_MIDDLE_BOTTOM + : start ? AllBlockPartials.BELT_START + : end ? AllBlockPartials.BELT_END : AllBlockPartials.BELT_MIDDLE; + + SuperByteBuffer beltBuffer = beltPartial.renderOn(blockState) + .light(light); + SpriteShiftEntry spriteShift = + diagonal ? AllSpriteShifts.BELT_DIAGONAL : bottom ? AllSpriteShifts.BELT_OFFSET : AllSpriteShifts.BELT; + int cycleLength = diagonal ? 12 : 16; + int cycleOffset = bottom ? 8 : 0; + + // UV shift + float speed = te.getSpeed(); + if (speed != 0) { + float time = renderTick * axisDirection.getOffset(); + if (diagonal && (downward ^ alongX) || !sideways && !diagonal && alongX + || sideways && axisDirection == AxisDirection.NEGATIVE) + speed = -speed; + int textureIndex = (int) (((speed * time / 36) + cycleOffset) % cycleLength); + if (textureIndex < 0) + textureIndex += cycleLength; + + beltBuffer.shiftUVtoSheet(spriteShift, (textureIndex % 4) / 4f, (textureIndex / 4) / 4f, 4); + } else { + beltBuffer.dontShiftUV(); + } + + beltBuffer.renderInto(ms, vb); + + // Diagonal belt do not have a separate bottom model + if (diagonal) + break; + } + ms.pop(); if (te.hasPulley()) { // TODO 1.15 find a way to cache this model matrix computation MatrixStack modelTransform = new MatrixStack(); Direction dir = blockState.get(BeltBlock.HORIZONTAL_FACING) .rotateY(); - if (blockState.get(BeltBlock.SLOPE) == BeltSlope.SIDEWAYS) + if (sideways) dir = Direction.UP; - MatrixStacker msr = MatrixStacker.of(modelTransform); - + msr = MatrixStacker.of(modelTransform); msr.centre(); if (dir.getAxis() == Axis.X) msr.rotateY(90); @@ -144,7 +184,8 @@ public class BeltRenderer extends SafeTileEntityRenderer { verticalMovement = verticalMovement * (Math.min(offset, te.beltLength - .5f) - .5f); Vec3d offsetVec = new Vec3d(directionVec).scale(offset) .add(0, verticalMovement, 0); - boolean onSlope = slope != BeltSlope.HORIZONTAL && MathHelper.clamp(offset, .5f, te.beltLength - .5f) == offset; + boolean onSlope = + slope != BeltSlope.HORIZONTAL && MathHelper.clamp(offset, .5f, te.beltLength - .5f) == offset; boolean tiltForward = (slope == BeltSlope.DOWNWARD ^ te.getBeltFacing() .getAxisDirection() == AxisDirection.POSITIVE) == (te.getBeltFacing() .getAxis() == Axis.Z); @@ -204,9 +245,4 @@ public class BeltRenderer extends SafeTileEntityRenderer { ms.pop(); } - protected BlockState getBeltState(KineticTileEntity te) { - return te.getBlockState() - .with(BeltBlock.CASING, false); - } - } diff --git a/src/main/java/com/simibubi/create/content/curiosities/CombustibleItem.java b/src/main/java/com/simibubi/create/content/curiosities/CombustibleItem.java new file mode 100644 index 000000000..a92cb727d --- /dev/null +++ b/src/main/java/com/simibubi/create/content/curiosities/CombustibleItem.java @@ -0,0 +1,21 @@ +package com.simibubi.create.content.curiosities; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class CombustibleItem extends Item { + private int burnTime = -1; + + public CombustibleItem(Properties properties) { + super(properties); + } + + public void setBurnTime(int burnTime) { + this.burnTime = burnTime; + } + + @Override + public int getBurnTime(ItemStack itemStack) { + return this.burnTime; + } +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItem.java b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItem.java index c1c4c7f0f..d06c16b4c 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItem.java @@ -2,6 +2,7 @@ package com.simibubi.create.content.curiosities.tools; import com.simibubi.create.foundation.utility.VecHelper; +import mcp.MethodsReturnNonnullByDefault; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.item.ItemEntity; @@ -24,6 +25,10 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; +import javax.annotation.ParametersAreNonnullByDefault; + +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault public class SandPaperItem extends Item { public SandPaperItem(Properties properties) { @@ -68,8 +73,6 @@ public class SandPaperItem extends Item { return FAIL; BlockRayTraceResult ray = (BlockRayTraceResult) raytraceresult; Vec3d hitVec = ray.getHitVec(); - if (hitVec == null) - return FAIL; AxisAlignedBB bb = new AxisAlignedBB(hitVec, hitVec).grow(1f); ItemEntity pickUp = null; diff --git a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperPolishingRecipe.java b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperPolishingRecipe.java index b4e588e8a..c2a752b41 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperPolishingRecipe.java +++ b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperPolishingRecipe.java @@ -1,28 +1,26 @@ package com.simibubi.create.content.curiosities.tools; -import java.util.List; - import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.processing.ProcessingIngredient; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.content.curiosities.tools.SandPaperPolishingRecipe.SandPaperInv; - import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.RecipeWrapper; +import javax.annotation.ParametersAreNonnullByDefault; +import java.util.List; + +@ParametersAreNonnullByDefault public class SandPaperPolishingRecipe extends ProcessingRecipe { - public static DamageSource CURSED_POLISHING = new DamageSource("create.curse_polish").setExplosion(); - public SandPaperPolishingRecipe(ResourceLocation id, String group, List ingredients, - List results, int processingDuration) { + List results, int processingDuration) { super(AllRecipeTypes.SANDPAPER_POLISHING, id, group, ingredients, results, processingDuration); } @@ -33,18 +31,21 @@ public class SandPaperPolishingRecipe extends ProcessingRecipe { public static ItemStack applyPolish(World world, Vec3d position, ItemStack stack, ItemStack sandPaperStack) { List> matchingRecipes = getMatchingRecipes(world, stack); if (!matchingRecipes.isEmpty()) - return matchingRecipes.get(0).getCraftingResult(new SandPaperInv(stack)).copy(); + return matchingRecipes.get(0) + .getCraftingResult(new SandPaperInv(stack)) + .copy(); return stack; } + public static List> getMatchingRecipes(World world, ItemStack stack) { + return world.getRecipeManager() + .getRecipes(AllRecipeTypes.SANDPAPER_POLISHING.getType(), new SandPaperInv(stack), world); + } + @Override public boolean matches(SandPaperInv inv, World worldIn) { - return ingredients.get(0).test(inv.getStackInSlot(0)); - } - - public static List> getMatchingRecipes(World world, ItemStack stack) { - return world.getRecipeManager().getRecipes(AllRecipeTypes.SANDPAPER_POLISHING.getType(), new SandPaperInv(stack), - world); + return ingredients.get(0) + .test(inv.getStackInSlot(0)); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/InWorldProcessing.java b/src/main/java/com/simibubi/create/content/logistics/InWorldProcessing.java index b2765dd7d..ccae9be56 100644 --- a/src/main/java/com/simibubi/create/content/logistics/InWorldProcessing.java +++ b/src/main/java/com/simibubi/create/content/logistics/InWorldProcessing.java @@ -7,6 +7,7 @@ import java.util.Optional; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.content.contraptions.components.fan.SplashingRecipe; +import com.simibubi.create.content.contraptions.processing.HeaterBlock; import com.simibubi.create.content.contraptions.processing.ProcessingRecipe; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.config.AllConfigs; @@ -39,6 +40,8 @@ import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; import net.minecraftforge.items.wrapper.RecipeWrapper; +import static com.simibubi.create.content.contraptions.processing.HeaterBlock.getHeaterLevel; + public class InWorldProcessing { public static class SplashingInv extends RecipeWrapper { @@ -60,9 +63,9 @@ public class InWorldProcessing { if (fluidState.getFluid() == Fluids.WATER || fluidState.getFluid() == Fluids.FLOWING_WATER) return Type.SPLASHING; if (blockState.getBlock() == Blocks.FIRE - || (blockState.getBlock() == Blocks.CAMPFIRE && blockState.get(CampfireBlock.LIT))) + || (blockState.getBlock() == Blocks.CAMPFIRE && blockState.get(CampfireBlock.LIT)) || getHeaterLevel(blockState) == HeaterBlock.HeatLevel.SMOULDERING) return Type.SMOKING; - if (blockState.getBlock() == Blocks.LAVA) + if (blockState.getBlock() == Blocks.LAVA || getHeaterLevel(blockState).min(HeaterBlock.HeatLevel.FADING)) return Type.BLASTING; return null; } @@ -263,7 +266,7 @@ public class InWorldProcessing { if (recipe instanceof ProcessingRecipe) { stacks = new ArrayList<>(); for (int i = 0; i < stackIn.getCount(); i++) { - List rollResults = ((ProcessingRecipe) recipe).rollResults(); + List rollResults = ((ProcessingRecipe) recipe).rollResults().getItemStacks(); for (ItemStack stack : rollResults) { for (ItemStack previouslyRolled : stacks) { if (stack.isEmpty()) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java index b9690831c..35b8f287d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelBlock.java @@ -45,7 +45,7 @@ public class BeltTunnelBlock extends Block implements ITE, } public enum Shape implements IStringSerializable { - STRAIGHT, WINDOW, HALFSHADE, FULLSHADE, T_LEFT, T_RIGHT, CROSS; + STRAIGHT, WINDOW, CLOSED, T_LEFT, T_RIGHT, CROSS; @Override public String getName() { @@ -88,8 +88,7 @@ public class BeltTunnelBlock extends Block implements ITE, } public static boolean hasWindow(BlockState state) { - Shape shape = state.get(SHAPE); - return shape == Shape.WINDOW || shape == Shape.HALFSHADE || shape == Shape.FULLSHADE; + return state.get(SHAPE) == Shape.WINDOW || state.get(SHAPE) == Shape.CLOSED; } public static boolean isStraight(BlockState state) { @@ -157,27 +156,33 @@ public class BeltTunnelBlock extends Block implements ITE, state = state.with(SHAPE, Shape.T_RIGHT); if (state.get(SHAPE) == Shape.STRAIGHT) { - Direction fw = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); - BlockState blockState1 = reader.getBlockState(pos.offset(fw)); - BlockState blockState2 = reader.getBlockState(pos.offset(fw.getOpposite())); - boolean funnel1 = blockState1.getBlock() instanceof BeltFunnelBlock - && blockState1.get(BeltFunnelBlock.HORIZONTAL_FACING) == fw.getOpposite(); - boolean funnel2 = blockState2.getBlock() instanceof BeltFunnelBlock - && blockState2.get(BeltFunnelBlock.HORIZONTAL_FACING) == fw; - boolean valid1 = blockState1.getBlock() instanceof BeltTunnelBlock || funnel1; - boolean valid2 = blockState2.getBlock() instanceof BeltTunnelBlock || funnel2; - - if (valid1 && valid2 && !(funnel1 && funnel2)) + boolean canHaveWindow = canHaveWindow(reader, pos, axis); + if (canHaveWindow) state = state.with(SHAPE, Shape.WINDOW); } return state; } + protected boolean canHaveWindow(IBlockReader reader, BlockPos pos, Axis axis) { + Direction fw = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); + BlockState blockState1 = reader.getBlockState(pos.offset(fw)); + BlockState blockState2 = reader.getBlockState(pos.offset(fw.getOpposite())); + boolean funnel1 = blockState1.getBlock() instanceof BeltFunnelBlock + && blockState1.get(BeltFunnelBlock.HORIZONTAL_FACING) == fw.getOpposite(); + boolean funnel2 = blockState2.getBlock() instanceof BeltFunnelBlock + && blockState2.get(BeltFunnelBlock.HORIZONTAL_FACING) == fw; + boolean valid1 = blockState1.getBlock() instanceof BeltTunnelBlock || funnel1; + boolean valid2 = blockState2.getBlock() instanceof BeltTunnelBlock || funnel2; + boolean canHaveWindow = valid1 && valid2 && !(funnel1 && funnel2); + return canHaveWindow; + } + private boolean hasValidOutput(IBlockReader world, BlockPos pos, Direction side) { BlockState blockState = world.getBlockState(pos.offset(side)); if (AllBlocks.BELT.has(blockState)) - return blockState.get(BeltBlock.HORIZONTAL_FACING).getAxis() == side.getAxis(); + return blockState.get(BeltBlock.HORIZONTAL_FACING) + .getAxis() == side.getAxis(); DirectBeltInputBehaviour behaviour = TileEntityBehaviour.get(world, pos.offset(side), DirectBeltInputBehaviour.TYPE); return behaviour != null && behaviour.canInsertFromSide(side); @@ -189,23 +194,11 @@ public class BeltTunnelBlock extends Block implements ITE, return ActionResultType.PASS; // Toggle windows - Shape next = state.get(SHAPE); - switch (state.get(SHAPE)) { - case FULLSHADE: - next = Shape.WINDOW; - break; - case HALFSHADE: - next = Shape.FULLSHADE; - break; - case WINDOW: - next = Shape.HALFSHADE; - break; - default: - break; - } - if (!context.getWorld().isRemote) - context.getWorld() - .setBlockState(context.getPos(), state.with(SHAPE, next), 2); + Shape shape = state.get(SHAPE); + shape = shape == Shape.CLOSED ? Shape.WINDOW : Shape.CLOSED; + World world = context.getWorld(); + if (!world.isRemote) + world.setBlockState(context.getPos(), state.with(SHAPE, shape), 2); return ActionResultType.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java index 8a7b11b11..943837c91 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelRenderer.java @@ -4,17 +4,18 @@ import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.foundation.tileEntity.renderer.SmartTileEntityRenderer; +import com.simibubi.create.foundation.utility.AngleHelper; +import com.simibubi.create.foundation.utility.MatrixStacker; import com.simibubi.create.foundation.utility.SuperByteBuffer; +import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; +import net.minecraft.util.math.Vec3d; public class BeltTunnelRenderer extends SmartTileEntityRenderer { @@ -27,41 +28,42 @@ public class BeltTunnelRenderer extends SmartTileEntityRenderer 0) + flapAngle *= .5f; - IVertexBuilder vb = buffer.getBuffer(RenderType.getSolid()); - flapBuffer.rotateCentered(Direction.UP, (float) (horizontalAngle / 180f * Math.PI)); - flapBuffer.translate(-flapPivotX, -flapPivotY, -flapPivotZ) - .rotate(Direction.SOUTH, flapAngle) - .translate(flapPivotX, flapPivotY, flapPivotZ); - flapBuffer.translate(0, 0, -segment * 3 / 16f); - flapBuffer.light(WorldRenderer.getLightmapCoordinates(world, te.getBlockState(), pos)) + msr.translate(pivot) + .rotateX(flapAngle) + .translateBack(pivot); + flapBuffer.light(light) .renderInto(ms, vb); + + ms.pop(); + ms.translate(-3 / 16f, 0, 0); } + ms.pop(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelShapes.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelShapes.java index 201a77b40..6bc3e60fe 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelShapes.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BeltTunnelShapes.java @@ -15,7 +15,7 @@ public class BeltTunnelShapes { private static VoxelShape block = makeCuboidShape(0, -5, 0, 16, 16, 16); - private static VoxelShaper opening = VoxelShaper.forHorizontal(makeCuboidShape(2, -5, 14, 14, 8, 16), + private static VoxelShaper opening = VoxelShaper.forHorizontal(makeCuboidShape(2, -5, 14, 14, 10, 16), Direction.SOUTH); private static final VoxelShaper STRAIGHT = VoxelShaper.forHorizontalAxis(VoxelShapes.combineAndSimplify(block, diff --git a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java index 874747623..df15d1d3c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/belts/tunnel/BrassTunnelFilterSlot.java @@ -9,7 +9,7 @@ public class BrassTunnelFilterSlot extends ValueBoxTransform.Sided { @Override protected Vec3d getSouthLocation() { - return VecHelper.voxelSpace(8, 12, 15.5f); + return VecHelper.voxelSpace(8, 13, 15.5f); } } diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java index bd6aa2e3e..6a76326b2 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java @@ -19,6 +19,7 @@ import net.minecraft.world.ILightReader; import net.minecraftforge.client.model.BakedModelWrapper; import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.ModelDataMap; +import net.minecraftforge.client.model.data.ModelDataMap.Builder; import net.minecraftforge.client.model.data.ModelProperty; public class CTModel extends BakedModelWrapper { @@ -50,8 +51,11 @@ public class CTModel extends BakedModelWrapper { @Override public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { - return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)) - .build(); + return getCTDataMapBuilder(world, pos, state).build(); + } + + protected Builder getCTDataMapBuilder(ILightReader world, BlockPos pos, BlockState state) { + return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)); } protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) { diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShiftEntry.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShiftEntry.java index 19a296058..41741eb5b 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShiftEntry.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShiftEntry.java @@ -8,7 +8,7 @@ import com.simibubi.create.foundation.utility.SuperByteBuffer; public abstract class CTSpriteShiftEntry extends SpriteShiftEntry { int textureSheetSize; - + public CTSpriteShiftEntry(int sheetSize) { this.textureSheetSize = sheetSize; } @@ -16,16 +16,17 @@ public abstract class CTSpriteShiftEntry extends SpriteShiftEntry { public float getTargetU(float localU, int index) { float uOffset = (index % textureSheetSize); return getTarget().getInterpolatedU( - (SuperByteBuffer.getUnInterpolatedU(getOriginal(), localU) + (uOffset * 16)) / ((float) textureSheetSize)); + (SuperByteBuffer.getUnInterpolatedU(getOriginal(), localU) + (uOffset * 16)) / ((float) textureSheetSize)); } public float getTargetV(float localV, int index) { float vOffset = (index / textureSheetSize); return getTarget().getInterpolatedV( - (SuperByteBuffer.getUnInterpolatedV(getOriginal(), localV) + (vOffset * 16)) / ((float) textureSheetSize)); + (SuperByteBuffer.getUnInterpolatedV(getOriginal(), localV) + (vOffset * 16)) / ((float) textureSheetSize)); } public abstract int getTextureIndex(CTContext context); + public abstract CTType getType(); public static class Horizontal extends CTSpriteShiftEntry { @@ -64,6 +65,24 @@ public abstract class CTSpriteShiftEntry extends SpriteShiftEntry { } + public static class Cross extends CTSpriteShiftEntry { + + public Cross() { + super(4); + } + + @Override + public int getTextureIndex(CTContext context) { + return (context.up ? 1 : 0) + (context.down ? 2 : 0) + (context.left ? 4 : 0) + (context.right ? 8 : 0); + } + + @Override + public CTType getType() { + return CTType.CROSS; + } + + } + public static class Omnidirectional extends CTSpriteShiftEntry { public Omnidirectional() { @@ -125,7 +144,7 @@ public abstract class CTSpriteShiftEntry extends SpriteShiftEntry { if (borders == 2) { if ((c.up && c.left && c.topLeft) || (c.down && c.left && c.bottomLeft) - || (c.up && c.right && c.topRight) || (c.down && c.right && c.bottomRight)) + || (c.up && c.right && c.topRight) || (c.down && c.right && c.bottomRight)) tileX += 3; } diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShifter.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShifter.java index a80f416a8..2b09a995a 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShifter.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTSpriteShifter.java @@ -8,7 +8,7 @@ import net.minecraft.util.ResourceLocation; public class CTSpriteShifter extends SpriteShifter { public enum CTType { - OMNIDIRECTIONAL, HORIZONTAL, VERTICAL; + OMNIDIRECTIONAL, HORIZONTAL, VERTICAL, CROSS; } public static CTSpriteShiftEntry getCT(CTType type, String blockTextureName) { @@ -42,6 +42,8 @@ public class CTSpriteShifter extends SpriteShifter { return new CTSpriteShiftEntry.Omnidirectional(); case VERTICAL: return new CTSpriteShiftEntry.Vertical(); + case CROSS: + return new CTSpriteShiftEntry.Cross(); default: return null; } diff --git a/src/main/java/com/simibubi/create/foundation/config/CFluids.java b/src/main/java/com/simibubi/create/foundation/config/CFluids.java new file mode 100644 index 000000000..580fec6ad --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/config/CFluids.java @@ -0,0 +1,20 @@ +package com.simibubi.create.foundation.config; + +public class CFluids extends ConfigBase { + + public ConfigInt fluidTankCapacity = i(8, 1, "fluidTankCapacity", Comments.buckets, Comments.fluidTankCapacity); + public ConfigInt fluidTankMaxHeight = i(32, 1, "fluidTankMaxHeight", Comments.blocks, Comments.fluidTankMaxHeight); + + @Override + public String getName() { + return "fluids"; + } + + private static class Comments { + static String blocks = "[in Blocks]"; + static String buckets = "[in Buckets]"; + static String fluidTankCapacity = "The amount of liquid a tank can hold per block."; + static String fluidTankMaxHeight = "The maximum height a fluid tank can reach."; + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/config/CServer.java b/src/main/java/com/simibubi/create/foundation/config/CServer.java index 7b0b3e95c..5534e8df7 100644 --- a/src/main/java/com/simibubi/create/foundation/config/CServer.java +++ b/src/main/java/com/simibubi/create/foundation/config/CServer.java @@ -7,6 +7,7 @@ public class CServer extends ConfigBase { i(20, 5, "tickrateSyncTimer", "[in Ticks]", Comments.tickrateSyncTimer, Comments.tickrateSyncTimer2); public CKinetics kinetics = nested(0, CKinetics::new, Comments.kinetics); + public CFluids fluids = nested(0, CFluids::new, Comments.fluids); public CLogistics logistics = nested(0, CLogistics::new, Comments.logistics); public CSchematics schematics = nested(0, CSchematics::new, Comments.schematics); public CCuriosities curiosities = nested(0, CCuriosities::new, Comments.curiosities); @@ -20,6 +21,7 @@ public class CServer extends ConfigBase { private static class Comments { static String schematics = "Everything related to Schematic tools"; static String kinetics = "Parameters and abilities of Create's kinetic mechanisms"; + static String fluids = "Create's liquid manipulation tools"; static String logistics = "Tweaks for logistical components"; static String curiosities = "Gadgets and other Shenanigans added by Create"; static String control = "You can try inhibiting related game mechanics for troubleshooting repeated crashes."; diff --git a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java index 4b0c993a8..4216d5c04 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java @@ -20,7 +20,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.mou import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock; -import com.simibubi.create.content.contraptions.fluids.FluidTankBlock; +import com.simibubi.create.content.contraptions.processing.HeaterBlock; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock; import com.simibubi.create.content.palettes.PavedBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -212,6 +212,10 @@ public class BlockStateGen { .build(); }); } + + public static NonNullBiConsumer, RegistrateBlockstateProvider> blazeHeater(){ + return (c, p) -> ConfiguredModel.builder().modelFile(p.models().getExistingFile(p.modLoc("block/" + c.getName() + "/block"))).build(); + } public static NonNullBiConsumer, RegistrateBlockstateProvider> reinforcedRail() { return (c, p) -> p.getVariantBuilder(c.get()) @@ -470,23 +474,4 @@ public class BlockStateGen { .end(); } - public static

NonNullBiConsumer, RegistrateBlockstateProvider> tank() { - return (c, p) -> { - p.getMultipartBuilder(c.get()) - .part() - .modelFile(AssetLookup.partialBaseModel(c, p, "top")) - .addModel() - .condition(FluidTankBlock.TOP, true) - .end() - .part() - .modelFile(AssetLookup.partialBaseModel(c, p, "windows")) - .addModel() - .end() - .part() - .modelFile(AssetLookup.partialBaseModel(c, p, "bottom")) - .addModel() - .condition(FluidTankBlock.BOTTOM, true) - .end(); - }; - } } diff --git a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java index ad37336ba..ad2624a80 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java +++ b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java @@ -10,6 +10,7 @@ import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; +import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem; import com.simibubi.create.content.logistics.block.funnel.FunnelBlock; import com.simibubi.create.content.logistics.block.funnel.FunnelItem; @@ -51,8 +52,8 @@ public class BuilderTransformers { .simpleItem(); } - public static NonNullUnaryOperator> funnel( - String type, ResourceLocation particleTexture) { + public static NonNullUnaryOperator> funnel(String type, + ResourceLocation particleTexture) { return b -> { return b.blockstate((c, p) -> { Function model = s -> { @@ -86,13 +87,16 @@ public class BuilderTransformers { .blockstate((c, p) -> p.getVariantBuilder(c.get()) .forAllStates(state -> { String id = "block/" + type + "_tunnel"; - String shapeName = state.get(BeltTunnelBlock.SHAPE) - .getName(); + Shape shape = state.get(BeltTunnelBlock.SHAPE); + if (shape == BeltTunnelBlock.Shape.CLOSED) + shape = BeltTunnelBlock.Shape.STRAIGHT; + String shapeName = shape.getName(); return ConfiguredModel.builder() .modelFile(p.models() .withExistingParent(id + "/" + shapeName, p.modLoc("block/belt_tunnel/" + shapeName)) - .texture("0", p.modLoc(id)) .texture("1", p.modLoc(id + "_top")) + .texture("2", p.modLoc(id)) + .texture("3", p.modLoc(id + "_top_window")) .texture("particle", particleTexture)) .rotationY(state.get(BeltTunnelBlock.HORIZONTAL_AXIS) == Axis.X ? 0 : 90) .build(); @@ -101,8 +105,8 @@ public class BuilderTransformers { .model((c, p) -> { String id = type + "_tunnel"; p.withExistingParent("item/" + id, p.modLoc("block/belt_tunnel/item")) - .texture("0", p.modLoc("block/" + id)) .texture("1", p.modLoc("block/" + id + "_top")) + .texture("2", p.modLoc("block/" + id)) .texture("particle", particleTexture); }) .build(); diff --git a/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java b/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java index 2c25c51bd..f5f82a7f6 100644 --- a/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java +++ b/src/main/java/com/simibubi/create/foundation/data/SharedProperties.java @@ -1,13 +1,15 @@ package com.simibubi.create.foundation.data; +import mcp.MethodsReturnNonnullByDefault; + import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.block.material.Material; import net.minecraft.block.material.MaterialColor; import net.minecraft.block.material.PushReaction; +@MethodsReturnNonnullByDefault public class SharedProperties { - public static Material beltMaterial = new Material(MaterialColor.GRAY, false, true, true, true, true, false, false, PushReaction.NORMAL); @@ -22,5 +24,4 @@ public class SharedProperties { public static Block wooden() { return Blocks.STRIPPED_SPRUCE_WOOD; } - } diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java new file mode 100644 index 000000000..ad9fb00a6 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidHelper.java @@ -0,0 +1,91 @@ +package com.simibubi.create.foundation.fluid; + +import javax.annotation.Nullable; + +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction; +import net.minecraftforge.fluids.capability.IFluidHandlerItem; + +public class FluidHelper { + + public static enum FluidExchange { + ITEM_TO_TANK, TANK_TO_ITEM; + } + + @Nullable + public static FluidExchange exchange(IFluidHandler fluidTank, IFluidHandlerItem fluidItem, FluidExchange preferred, + int maxAmount) { + return exchange(fluidTank, fluidItem, preferred, true, maxAmount); + } + + @Nullable + public static FluidExchange exchangeAll(IFluidHandler fluidTank, IFluidHandlerItem fluidItem, + FluidExchange preferred) { + return exchange(fluidTank, fluidItem, preferred, false, Integer.MAX_VALUE); + } + + @Nullable + private static FluidExchange exchange(IFluidHandler fluidTank, IFluidHandlerItem fluidItem, FluidExchange preferred, + boolean singleOp, int maxTransferAmountPerTank) { + + // Locks in the transfer direction of this operation + FluidExchange lockedExchange = null; + + for (int tankSlot = 0; tankSlot < fluidTank.getTanks(); tankSlot++) { + for (int slot = 0; slot < fluidItem.getTanks(); slot++) { + + FluidStack fluidInTank = fluidTank.getFluidInTank(tankSlot); + int tankCapacity = fluidTank.getTankCapacity(tankSlot) - fluidInTank.getAmount(); + boolean tankEmpty = fluidInTank.isEmpty(); + + FluidStack fluidInItem = fluidItem.getFluidInTank(tankSlot); + int itemCapacity = fluidItem.getTankCapacity(tankSlot) - fluidInItem.getAmount(); + boolean itemEmpty = fluidInItem.isEmpty(); + + boolean undecided = lockedExchange == null; + boolean canMoveToTank = (undecided || lockedExchange == FluidExchange.ITEM_TO_TANK) && tankCapacity > 0; + boolean canMoveToItem = (undecided || lockedExchange == FluidExchange.TANK_TO_ITEM) && itemCapacity > 0; + + // Incompatible Liquids + if (!tankEmpty && !itemEmpty && !fluidInItem.isFluidEqual(fluidInTank)) + continue; + + // Transfer liquid to tank + if (((tankEmpty || itemCapacity <= 0) && canMoveToTank) + || undecided && preferred == FluidExchange.ITEM_TO_TANK) { + + int amount = fluidTank.fill( + fluidItem.drain(Math.min(maxTransferAmountPerTank, tankCapacity), FluidAction.EXECUTE), + FluidAction.EXECUTE); + if (amount > 0) { + lockedExchange = FluidExchange.ITEM_TO_TANK; + if (singleOp) + return lockedExchange; + continue; + } + } + + // Transfer liquid from tank + if (((itemEmpty || tankCapacity <= 0) && canMoveToItem) + || undecided && preferred == FluidExchange.TANK_TO_ITEM) { + + int amount = fluidItem.fill( + fluidTank.drain(Math.min(maxTransferAmountPerTank, itemCapacity), FluidAction.EXECUTE), + FluidAction.EXECUTE); + if (amount > 0) { + lockedExchange = FluidExchange.TANK_TO_ITEM; + if (singleOp) + return lockedExchange; + continue; + } + + } + + } + } + + return null; + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java new file mode 100644 index 000000000..4e5e7c41e --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java @@ -0,0 +1,157 @@ +package com.simibubi.create.foundation.fluid; + +import com.mojang.blaze3d.matrix.MatrixStack; +import com.mojang.blaze3d.matrix.MatrixStack.Entry; +import com.mojang.blaze3d.vertex.IVertexBuilder; +import com.simibubi.create.foundation.utility.Iterate; +import com.simibubi.create.foundation.utility.MatrixStacker; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; +import net.minecraft.fluid.Fluid; +import net.minecraft.inventory.container.PlayerContainer; +import net.minecraft.util.Direction; +import net.minecraft.util.Direction.Axis; +import net.minecraft.util.Direction.AxisDirection; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.Vec3i; +import net.minecraftforge.fluids.FluidAttributes; +import net.minecraftforge.fluids.FluidStack; + +public class FluidRenderer { + + public static void renderTiledFluidBB(FluidStack fluidStack, float xMin, float yMin, float zMin, float xMax, + float yMax, float zMax, IRenderTypeBuffer buffer, MatrixStack ms, int light, boolean renderBottom) { + Fluid fluid = fluidStack.getFluid(); + FluidAttributes fluidAttributes = fluid.getAttributes(); + TextureAtlasSprite fluidTexture = Minecraft.getInstance() + .getSpriteAtlas(PlayerContainer.BLOCK_ATLAS_TEXTURE) + .apply(fluidAttributes.getStillTexture(fluidStack)); + + int color = fluidAttributes.getColor(fluidStack); + IVertexBuilder builder = buffer.getBuffer(RenderType.getTranslucent()); + MatrixStacker msr = MatrixStacker.of(ms); + Vec3d center = new Vec3d(xMin + (xMax - xMin) / 2, yMin + (yMax - yMin) / 2, zMin + (zMax - zMin) / 2); + + int blockLightIn = (light >> 4) & 0xf; + int luminosity = Math.max(blockLightIn, fluidAttributes.getLuminosity(fluidStack)); + light = (light & 0xf00000) | luminosity << 4; + + ms.push(); + if (fluidStack.getFluid() + .getAttributes() + .isLighterThanAir()) + MatrixStacker.of(ms) + .translate(center) + .rotateX(180) + .translateBack(center); + + for (Direction side : Iterate.directions) { + if (side == Direction.DOWN && !renderBottom) + continue; + + if (side.getAxis() + .isHorizontal()) { + ms.push(); + + if (side.getAxisDirection() == AxisDirection.NEGATIVE) + msr.translate(center) + .rotateY(180) + .translateBack(center); + + boolean X = side.getAxis() == Axis.X; + renderTiledHorizontalFace(X ? xMax : zMax, side, X ? zMin : xMin, yMin, X ? zMax : xMax, yMax, builder, + ms, light, color, fluidTexture); + + ms.pop(); + continue; + } + + renderTiledVerticalFace(side == Direction.UP ? yMax : yMin, side, xMin, zMin, xMax, zMax, builder, ms, + light, color, fluidTexture); + } + + ms.pop(); + + } + + private static void renderTiledVerticalFace(float y, Direction face, float xMin, float zMin, float xMax, float zMax, + IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) { + float x2 = 0; + float z2 = 0; + for (float x1 = xMin; x1 < xMax; x1 = x2) { + x2 = Math.min((int) (x1 + 1), xMax); + for (float z1 = zMin; z1 < zMax; z1 = z2) { + z2 = Math.min((int) (z1 + 1), zMax); + + float u1 = texture.getInterpolatedU(local(x1) * 16); + float v1 = texture.getInterpolatedV(local(z1) * 16); + float u2 = texture.getInterpolatedU(x2 == xMax ? local(x2) * 16 : 16); + float v2 = texture.getInterpolatedV(z2 == zMax ? local(z2) * 16 : 16); + + putVertex(builder, ms, x1, y, z2, color, u1, v2, face, light); + putVertex(builder, ms, x2, y, z2, color, u2, v2, face, light); + putVertex(builder, ms, x2, y, z1, color, u2, v1, face, light); + putVertex(builder, ms, x1, y, z1, color, u1, v1, face, light); + } + } + } + + private static void renderTiledHorizontalFace(float h, Direction face, float hMin, float yMin, float hMax, + float yMax, IVertexBuilder builder, MatrixStack ms, int light, int color, TextureAtlasSprite texture) { + boolean X = face.getAxis() == Axis.X; + + float h2 = 0; + float y2 = 0; + + for (float h1 = hMin; h1 < hMax; h1 = h2) { + h2 = Math.min((int) (h1 + 1), hMax); + for (float y1 = yMin; y1 < yMax; y1 = y2) { + y2 = Math.min((int) (y1 + 1), yMax); + + float u1 = texture.getInterpolatedU(local(h1) * 16); + float v1 = texture.getInterpolatedV(local(y1) * 16); + float u2 = texture.getInterpolatedU(h2 == hMax ? local(h2) * 16 : 16); + float v2 = texture.getInterpolatedV(y2 == yMax ? local(y2) * 16 : 16); + + float x1 = X ? h : h1; + float x2 = X ? h : h2; + float z1 = X ? h1 : h; + float z2 = X ? h2 : h; + + putVertex(builder, ms, x2, y2, z1, color, u1, v2, face, light); + putVertex(builder, ms, x1, y2, z2, color, u2, v2, face, light); + putVertex(builder, ms, x1, y1, z2, color, u2, v1, face, light); + putVertex(builder, ms, x2, y1, z1, color, u1, v1, face, light); + } + } + } + + private static float local(float f) { + if (f < 0) + f += 10; + return f - ((int) f); + } + + private static void putVertex(IVertexBuilder builder, MatrixStack ms, float x, float y, float z, int color, float u, + float v, Direction face, int light) { + + Vec3i n = face.getDirectionVec(); + Entry peek = ms.peek(); + int ff = 0xff; + int a = color >> 24 & ff; + int r = color >> 16 & ff; + int g = color >> 8 & ff; + int b = color & ff; + + builder.vertex(peek.getModel(), x, y, z) + .color(r, g, b, a) + .texture(u, v) + .light(light) + .normal(n.getX(), n.getY(), n.getZ()) + .endVertex(); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/fluid/SmartFluidTank.java b/src/main/java/com/simibubi/create/foundation/fluid/SmartFluidTank.java new file mode 100644 index 000000000..a9a79d132 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/fluid/SmartFluidTank.java @@ -0,0 +1,29 @@ +package com.simibubi.create.foundation.fluid; + +import java.util.function.Consumer; + +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.capability.templates.FluidTank; + +public class SmartFluidTank extends FluidTank { + + private Consumer updateCallback; + + public SmartFluidTank(int capacity, Consumer updateCallback) { + super(capacity); + this.updateCallback = updateCallback; + } + + @Override + protected void onContentsChanged() { + super.onContentsChanged(); + updateCallback.accept(getFluid()); + } + + @Override + public void setFluid(FluidStack stack) { + super.setFluid(stack); + updateCallback.accept(stack); + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/utility/MatrixStacker.java b/src/main/java/com/simibubi/create/foundation/utility/MatrixStacker.java index ed4bf8f40..545d41a50 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/MatrixStacker.java +++ b/src/main/java/com/simibubi/create/foundation/utility/MatrixStacker.java @@ -74,6 +74,8 @@ public class MatrixStacker { } private MatrixStacker multiply(Vector3f axis, double angle) { + if (angle == 0) + return this; ms.multiply(axis.getDegreesQuaternion((float) angle)); return this; } diff --git a/src/main/resources/assets/create/lang/default/messages.json b/src/main/resources/assets/create/lang/default/messages.json index 04933d1bf..bd91c8762 100644 --- a/src/main/resources/assets/create/lang/default/messages.json +++ b/src/main/resources/assets/create/lang/default/messages.json @@ -368,6 +368,7 @@ "create.subtitle.blockzapper_place": "Blocks zap into place", "create.subtitle.blockzapper_confirm": "Affirmative Ding", "create.subtitle.blockzapper_deny": "Declining Boop", - "create.subtitle.block_funnel_eat": "Funnel CHOMPS" - + "create.subtitle.block_funnel_eat": "Funnel CHOMPS", + "create.subtitle.blaze_munch": "Blaze munches happily" + } \ No newline at end of file diff --git a/src/main/resources/assets/create/lang/default/tooltips.json b/src/main/resources/assets/create/lang/default/tooltips.json index c0db1db39..ffe31ce5f 100644 --- a/src/main/resources/assets/create/lang/default/tooltips.json +++ b/src/main/resources/assets/create/lang/default/tooltips.json @@ -212,6 +212,15 @@ "block.create.basin.tooltip": "BASIN", "block.create.basin.tooltip.summary": "A handy _item_ _container_ used in processing with the _Mechanical_ _Mixer_ and the _Mechanical_ _Press_. Supports _Redstone_ _Comparators_.", + "block.create.blaze_heater.tooltip": "BLAZE HEATER", + "block.create.blaze_heater.tooltip.summary": "A block to heat a basin when housing a tamed blaze.", + "block.create.blaze_heater.tooltip.condition1": "When using on a blaze or blaze spawner", + "block.create.blaze_heater.tooltip.behaviour1": "_Captures_ a blaze in the item", + "block.create.blaze_heater.tooltip.condition2": "When placed below a basin", + "block.create.blaze_heater.tooltip.behaviour2": "Provides _heat_ to basin recipes.", + "block.create.blaze_heater.tooltip.condition3": "When fuel is used on the blaze heater", + "block.create.blaze_heater.tooltip.behaviour3": "Increases the remaining burn time by the furnace brn time of the used item. Consumes the item. Use _special_ _fuel_ for best results.", + "block.create.reinforced_rail.tooltip": "REINFORCED RAIL", "block.create.reinforced_rail.tooltip.summary": "A timber stabilized rail, _does_ _not_ _need_ _supports_.", diff --git a/src/main/resources/assets/create/models/block/belt/diagonal_end.json b/src/main/resources/assets/create/models/block/belt/diagonal_end.json new file mode 100644 index 000000000..5a73025f5 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/diagonal_end.json @@ -0,0 +1,123 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt_diagonal", + "particle": "create:block/belt_diagonal" + }, + "elements": [ + { + "name": "Bottom", + "from": [0.9, 3, 1], + "to": [15.1, 5, 6.8], + "faces": { + "north": {"uv": [1, 6, 15, 7], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 0, 16, 6], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 0, 2, 6], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 0, 15, 6], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 0, 15, 6], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [2.9, 5, 2], + "to": [13.1, 6, 6.8], + "faces": { + "east": {"uv": [3, 0, 4, 5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12, 0, 13, 5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 0, 13, 5], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top", + "from": [0.9, 11, 1], + "to": [15.1, 13, 10.1], + "faces": { + "north": {"uv": [1, 6, 15, 5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 6, 16, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 6, 2, 15], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 6, 15, 15], "texture": "#0"}, + "down": {"uv": [1, 6, 15, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top", + "from": [2.9, 10, 2], + "to": [13.1, 11, 10.1], + "faces": { + "east": {"uv": [3, 7, 4, 15], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 7, 13, 15], "rotation": 270, "texture": "#0"}, + "down": {"uv": [3, 7, 13, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Side", + "from": [1, 4, 0], + "to": [15, 12, 2], + "faces": { + "north": {"uv": [1, 8, 15, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [1, 8, 15, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 8, 2, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [1, 4, 15, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 7, 15, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Side", + "from": [2.9, 6, 2], + "to": [13.1, 10, 3], + "faces": { + "east": {"uv": [3, 10, 4, 14], "rotation": 180, "texture": "#0"}, + "south": {"uv": [3, 10, 13, 14], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12, 10, 13, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [1, 3, 9.25], + "to": [15, 5, 19.328], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 5, 16, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 4, 15, 14], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 4, 15, 14], "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [3, 5, 9.25], + "to": [13, 6, 19.328], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [3, 4, 4, 14], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 14], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 4, 13, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [1, 11, 5.9], + "to": [15, 13, 19.328], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 3, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 3, 2, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 3, 15, 16], "texture": "#0"}, + "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [3, 10, 6.9], + "to": [13, 11, 19.328], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [3, 4, 4, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 16], "rotation": 270, "texture": "#0"}, + "down": {"uv": [3, 4, 13, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/diagonal_middle.json b/src/main/resources/assets/create/models/block/belt/diagonal_middle.json new file mode 100644 index 000000000..2855a73c1 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/diagonal_middle.json @@ -0,0 +1,118 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt_diagonal", + "particle": "create:block/belt_diagonal" + }, + "elements": [ + { + "name": "Top Diagonal First", + "from": [3, 10, -3.305], + "to": [13, 11, 8.02], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [3, 4, 4, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 0, 15, 10], "texture": "#0"}, + "down": {"uv": [3, 4, 13, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal First", + "from": [1, 11, -3.3], + "to": [15, 13, 8.02], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 4, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 4, 15, 16], "texture": "#0"}, + "down": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [3, 10, 8], + "to": [13, 11, 19.325], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [3, 4, 4, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 3, 15, 16], "texture": "#0"}, + "down": {"uv": [3, 4, 13, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [1, 11, 8], + "to": [15, 13, 19.325], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 4, 16, 16], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 4, 15, 16], "texture": "#0"}, + "down": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal First", + "from": [3, -3.305, 5], + "to": [13, 8.02, 6], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 4, 4, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [3, 4, 13, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal First", + "from": [1, -3.3, 3], + "to": [15, 8.02, 5], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 4, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [3, 8, 5], + "to": [13, 19.325, 6], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [3, 4, 4, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [3, 4, 13, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [1, 8, 3], + "to": [15, 19.325, 5], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [14, 4, 16, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [1, 4, 15, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 16], "rotation": 180, "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Top", + "origin": [8, 8, 8], + "children": [0, 1, 2, 3] + }, + { + "name": "Bottom", + "origin": [8, 8, 8], + "children": [4, 5, 6, 7] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/diagonal_start.json b/src/main/resources/assets/create/models/block/belt/diagonal_start.json new file mode 100644 index 000000000..0ae5d7615 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/diagonal_start.json @@ -0,0 +1,123 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt_diagonal", + "particle": "create:block/belt_diagonal" + }, + "elements": [ + { + "name": "Top", + "from": [0.9, 11, 9.2], + "to": [15.1, 13, 15], + "faces": { + "east": {"uv": [14, 0, 16, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1, 6, 15, 7], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 0, 15, 6], "texture": "#0"}, + "down": {"uv": [1, 0, 15, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top", + "from": [2.9, 10, 9.2], + "to": [13.1, 11, 14], + "faces": { + "east": {"uv": [3, 0, 4, 5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 0, 13, 5], "rotation": 270, "texture": "#0"}, + "down": {"uv": [3, 0, 13, 4.8], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0.9, 3, 5.9], + "to": [15.1, 5, 15], + "faces": { + "east": {"uv": [14, 6, 16, 15], "rotation": 270, "texture": "#0"}, + "south": {"uv": [1, 5, 15, 6], "texture": "#0"}, + "west": {"uv": [0, 6, 2, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 6, 15, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 6, 15, 15], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [2.9, 5, 5.9], + "to": [13.1, 6, 14], + "faces": { + "east": {"uv": [3, 7, 4, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12, 7, 13, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 7, 13, 15], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Side", + "from": [1, 4, 14], + "to": [15, 12, 16], + "faces": { + "north": {"uv": [1, 8, 15, 16], "texture": "#0"}, + "east": {"uv": [14, 8, 16, 16], "texture": "#0"}, + "south": {"uv": [1, 8, 15, 16], "texture": "#0"}, + "west": {"uv": [0, 8, 2, 16], "texture": "#0"}, + "up": {"uv": [1, 7, 15, 8], "texture": "#0"}, + "down": {"uv": [1, 4, 15, 5], "texture": "#0"} + } + }, + { + "name": "Side", + "from": [2.9, 6, 13], + "to": [13.1, 10, 14], + "faces": { + "north": {"uv": [3, 10, 13, 14], "texture": "#0"}, + "east": {"uv": [3, 10, 4, 14], "texture": "#0"}, + "west": {"uv": [12, 10, 13, 14], "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [1, 11, -3.325], + "to": [15, 13, 6.8], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 4, 16, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 4, 2, 14], "rotation": 270, "texture": "#0"}, + "up": {"uv": [1, 4, 15, 14], "texture": "#0"}, + "down": {"uv": [1, 4, 15, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Top Diagonal", + "from": [3, 10, -3.325], + "to": [13, 11, 6.8], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [3, 4, 4, 14], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12, 4, 13, 14], "rotation": 270, "texture": "#0"}, + "down": {"uv": [3, 4, 13, 14], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [1, 3, -3.325], + "to": [15, 5, 10.1], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [14, 3, 16, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0, 3, 2, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 3, 15, 16], "texture": "#0"} + } + }, + { + "name": "Bottom Diagonal", + "from": [3, 5, -3.325], + "to": [13, 6, 10.1], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, + "faces": { + "east": {"uv": [2, 3, 3, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [13, 3, 14, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [3, 3, 13, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/downward_end.json b/src/main/resources/assets/create/models/block/belt/downward_end.json deleted file mode 100644 index af1981e69..000000000 --- a/src/main/resources/assets/create/models/block/belt/downward_end.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Top", - "from": [0.9, 11, 9.2], - "to": [15.1, 13, 15], - "faces": { - "east": {"uv": [0, 1, 2, 7], "rotation": 270, "texture": "#0"}, - "south": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 7], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 6.8], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 1, 15, 6.8], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [2.9, 10, 9.2], - "to": [13.1, 11, 14], - "faces": { - "east": {"uv": [2, 2, 3, 7], "rotation": 270, "texture": "#0"}, - "south": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "west": {"uv": [13, 2, 14, 7], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 6.8], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3, 2, 13, 7], "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [0.9, 3, 5.9], - "to": [15.1, 5, 15], - "faces": { - "east": {"uv": [0, 6, 2, 15], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 5, 15, 3], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 6, 16, 15], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 6, 15, 15], "texture": "#0"}, - "down": {"uv": [1, 6, 15, 15], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [2.9, 5, 5.9], - "to": [13.1, 6, 14], - "faces": { - "east": {"uv": [2, 6, 3, 14], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 5, 15, 3], "rotation": 180, "texture": "#0"}, - "west": {"uv": [13, 6, 14, 14], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 7, 13, 15], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1, 4, 14], - "to": [15, 12, 16], - "faces": { - "north": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "rotation": 180, "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "rotation": 180, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [2.9, 6, 13], - "to": [13.1, 10, 14], - "faces": { - "north": {"uv": [3, 6, 13, 10], "rotation": 180, "texture": "#0"}, - "east": {"uv": [2, 6, 3, 10], "rotation": 180, "texture": "#0"}, - "west": {"uv": [13, 6, 14, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, -3.325], - "to": [15, 13, 6.7], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 7, 15, 9], "texture": "#0"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 6, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 6, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 5.8, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, -3.325], - "to": [13, 11, 6.7], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [2, 6, 3, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [13, 6, 14, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 5.8, 13, 16], "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [1, 3, -3.325], - "to": [15, 5, 10.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 7, 15, 9], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 13], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 13], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 13], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 13], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, -3.325], - "to": [13, 6, 9.1], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [2, 0, 3, 12], "rotation": 90, "texture": "#0"}, - "west": {"uv": [13, 0, 14, 12], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 12], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/downward_middle.json b/src/main/resources/assets/create/models/block/belt/downward_middle.json deleted file mode 100644 index 1b81b5db9..000000000 --- a/src/main/resources/assets/create/models/block/belt/downward_middle.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom Diagonal", - "from": [1, 3, -3.325], - "to": [15, 5, 6.6], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, -3.325], - "to": [13, 6, 6.6], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 10], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, -3.325], - "to": [15, 13, 10], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, -3.325], - "to": [13, 11, 10], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 3, 14, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 3, 3, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 3, 13, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal First", - "from": [1, 11, 10], - "to": [15, 13, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10.2], "texture": "#0"} - } - }, - { - "name": "Top Diagonal First", - "from": [3, 10, 10], - "to": [13, 11, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 0, 13, 10], "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal First", - "from": [1, 3, 6.6], - "to": [15, 5, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal First", - "from": [3, 5, 6.6], - "to": [13, 6, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 3, 14, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 3, 3, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 3, 13, 16], "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/downward_start.json b/src/main/resources/assets/create/models/block/belt/downward_start.json deleted file mode 100644 index d2654a350..000000000 --- a/src/main/resources/assets/create/models/block/belt/downward_start.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [0.9, 3, 1], - "to": [15.1, 5, 6.8], - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 1, 2, 7], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 7], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 6.8], "texture": "#0"}, - "down": {"uv": [1, 1, 15, 6.8], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [2.9, 5, 2], - "to": [13.1, 6, 6.8], - "faces": { - "east": {"uv": [2, 2, 3, 7], "rotation": 90, "texture": "#0"}, - "west": {"uv": [13, 2, 14, 7], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 2, 13, 7], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [0.9, 11, 1], - "to": [15.1, 13, 10.1], - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 6, 2, 15], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 6, 16, 15], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 6, 15, 15], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 6, 15, 15], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [2.9, 10, 2], - "to": [13.1, 11, 10.1], - "faces": { - "east": {"uv": [13, 6, 14, 14], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 6, 3, 14], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 6, 13, 14], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1, 4, 0], - "to": [15, 12, 2], - "faces": { - "north": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [2.9, 6, 2], - "to": [13.1, 10, 3], - "faces": { - "east": {"uv": [2, 6, 3, 10], "texture": "#0"}, - "south": {"uv": [3, 6, 13, 10], "texture": "#0"}, - "west": {"uv": [13, 6, 14, 10], "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [1, 3, 9.2], - "to": [15, 5, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 1, 2, 11], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 11], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 11.1], "texture": "#0"}, - "down": {"uv": [1, 1, 15, 11], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, 9.2], - "to": [13, 6, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 1, 14, 11], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 1, 3, 11], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 1, 13, 11.1], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, 5.9], - "to": [15, 13, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 13], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 13], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 13], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 0, 15, 13], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, 6.9], - "to": [13, 11, 19.3], - "rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 12], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 12], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 0, 13, 12], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/end.json b/src/main/resources/assets/create/models/block/belt/end.json new file mode 100644 index 000000000..142f58c71 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/end.json @@ -0,0 +1,54 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt" + }, + "elements": [ + { + "name": "Top", + "from": [1, 11, 0], + "to": [15, 13, 15], + "faces": { + "east": {"uv": [0, 1, 2, 16], "rotation": 270, "texture": "#0"}, + "south": {"uv": [1, 1, 15, 0], "texture": "#0"}, + "west": {"uv": [14, 1, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 1, 15, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 1, 15, 16], "texture": "#0"} + } + }, + { + "name": "Top", + "from": [3, 10, 0], + "to": [13, 11, 14], + "faces": { + "east": {"uv": [3, 2, 4, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12, 2, 13, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 2, 13, 16], "texture": "#0"} + } + }, + { + "name": "Side", + "from": [1.1, 4, 14], + "to": [14.9, 12, 16], + "faces": { + "north": {"uv": [1, 8, 15, 16], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 8, 2, 16], "rotation": 180, "texture": "#0"}, + "south": {"uv": [1, 8, 15, 16], "rotation": 180, "texture": "#0"}, + "west": {"uv": [14, 8, 16, 16], "rotation": 180, "texture": "#0"}, + "up": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 8, 15, 9], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Side", + "from": [3, 6, 13], + "to": [13, 10, 14], + "faces": { + "north": {"uv": [3, 10, 13, 14], "rotation": 180, "texture": "#0"}, + "east": {"uv": [12, 10, 13, 14], "rotation": 180, "texture": "#0"}, + "west": {"uv": [3, 10, 4, 14], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/end_bottom.json b/src/main/resources/assets/create/models/block/belt/end_bottom.json new file mode 100644 index 000000000..1947f8302 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/end_bottom.json @@ -0,0 +1,31 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/belt_offset" + }, + "elements": [ + { + "name": "Bottom", + "from": [1, 3, 0], + "to": [15, 5, 15], + "faces": { + "east": {"uv": [0, 0, 2, 15], "rotation": 90, "texture": "#1"}, + "south": {"uv": [1, 15, 15, 16], "rotation": 180, "texture": "#1"}, + "west": {"uv": [14, 0, 16, 15], "rotation": 270, "texture": "#1"}, + "up": {"uv": [1, 0, 15, 15], "texture": "#1"}, + "down": {"uv": [1, 0, 15, 15], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [3, 5, 0], + "to": [13, 6, 14], + "faces": { + "east": {"uv": [3, 0, 4, 14], "rotation": 90, "texture": "#1"}, + "west": {"uv": [12, 0, 13, 14], "rotation": 270, "texture": "#1"}, + "up": {"uv": [3, 0, 13, 14], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/horizontal_end.json b/src/main/resources/assets/create/models/block/belt/horizontal_end.json deleted file mode 100644 index 180675f62..000000000 --- a/src/main/resources/assets/create/models/block/belt/horizontal_end.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [1, 3, 0], - "to": [15, 5, 15], - "faces": { - "east": {"uv": [0, 0, 2, 15], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 15], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 15], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 15], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [3, 5, 0], - "to": [13, 6, 14], - "faces": { - "east": {"uv": [2, 0, 3, 14], "rotation": 90, "texture": "#0"}, - "west": {"uv": [13, 0, 14, 14], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 14], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [1, 11, 0], - "to": [15, 13, 15], - "faces": { - "east": {"uv": [0, 1, 2, 16], "rotation": 270, "texture": "#0"}, - "south": {"uv": [1, 5, 15, 3], "texture": "#0"}, - "west": {"uv": [14, 1, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 1, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 10, 0], - "to": [13, 11, 14], - "faces": { - "east": {"uv": [2, 2, 3, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [13, 2, 14, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 2, 13, 16], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1.1, 4, 14], - "to": [14.9, 12, 16], - "faces": { - "north": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "rotation": 180, "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "rotation": 180, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [3, 6, 13], - "to": [13, 10, 14], - "faces": { - "north": {"uv": [3, 6, 13, 10], "rotation": 180, "texture": "#0"}, - "east": {"uv": [2, 6, 3, 10], "rotation": 180, "texture": "#0"}, - "west": {"uv": [13, 6, 14, 10], "rotation": 180, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/horizontal_middle.json b/src/main/resources/assets/create/models/block/belt/horizontal_middle.json deleted file mode 100644 index 2c2a87512..000000000 --- a/src/main/resources/assets/create/models/block/belt/horizontal_middle.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [1, 3, 0], - "to": [15, 5, 16], - "faces": { - "east": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 16], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [3, 5, 0], - "to": [13, 6, 16], - "faces": { - "east": {"uv": [13, 0, 14, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [1, 11, 0], - "to": [15, 13, 16], - "faces": { - "east": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 0, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 10, 0], - "to": [13, 11, 16], - "faces": { - "east": {"uv": [13, 0, 14, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [13, 0, 14, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 0, 13, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/horizontal_start.json b/src/main/resources/assets/create/models/block/belt/horizontal_start.json deleted file mode 100644 index e58a1b2f9..000000000 --- a/src/main/resources/assets/create/models/block/belt/horizontal_start.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [1, 3, 1], - "to": [15, 5, 16], - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 1, 2, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 16], "texture": "#0"}, - "down": {"uv": [1, 1, 15, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [3, 5, 2], - "to": [13, 6, 16], - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [13, 2, 14, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 2, 3, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [3, 2, 13, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 10, 2], - "to": [13, 11, 16], - "faces": { - "east": {"uv": [2, 2, 3, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [13, 2, 14, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 2, 13, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [1, 11, 1], - "to": [15, 13, 16], - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 15], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 15], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 15], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 1, 15, 16], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1.1, 4, 0], - "to": [14.9, 12, 2], - "faces": { - "north": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [3, 6, 2], - "to": [13, 10, 3], - "faces": { - "east": {"uv": [2, 6, 3, 10], "texture": "#0"}, - "south": {"uv": [3, 6, 13, 10], "texture": "#0"}, - "west": {"uv": [13, 6, 14, 10], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/middle.json b/src/main/resources/assets/create/models/block/belt/middle.json new file mode 100644 index 000000000..3db35509a --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/middle.json @@ -0,0 +1,30 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt" + }, + "elements": [ + { + "name": "Top", + "from": [1, 11, 0], + "to": [15, 13, 16], + "faces": { + "east": {"uv": [0, 0, 2, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [14, 0, 16, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 0, 15, 16], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 0, 15, 16], "texture": "#0"} + } + }, + { + "name": "Top", + "from": [3, 10, 0], + "to": [13, 11, 16], + "faces": { + "east": {"uv": [12, 0, 13, 16], "rotation": 270, "texture": "#0"}, + "west": {"uv": [3, 0, 4, 16], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 0, 13, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/middle_bottom.json b/src/main/resources/assets/create/models/block/belt/middle_bottom.json new file mode 100644 index 000000000..64454f09c --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/middle_bottom.json @@ -0,0 +1,30 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/belt_offset" + }, + "elements": [ + { + "name": "Bottom", + "from": [1, 3, 0], + "to": [15, 5, 16], + "faces": { + "east": {"uv": [0, 0, 2, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [14, 0, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [1, 0, 15, 16], "texture": "#1"}, + "down": {"uv": [1, 0, 15, 16], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [3, 5, 0], + "to": [13, 6, 16], + "faces": { + "east": {"uv": [12, 0, 13, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [3, 0, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/particle.json b/src/main/resources/assets/create/models/block/belt/particle.json new file mode 100644 index 000000000..abb3be97e --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/particle.json @@ -0,0 +1,7 @@ +{ + "textures": { + "particle": "create:block/belt" + }, + "elements": [ + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/sideways_end.json b/src/main/resources/assets/create/models/block/belt/sideways_end.json deleted file mode 100644 index b4a5bd46d..000000000 --- a/src/main/resources/assets/create/models/block/belt/sideways_end.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [11, 1, 0], - "to": [13, 15, 15], - "faces": { - "east": {"uv": [1, 0, 15, 15], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 3, 15, 5], "rotation": 90, "texture": "#0"}, - "west": {"uv": [1, 0, 15, 15], "rotation": 270, "texture": "#0"}, - "up": {"uv": [0, 0, 2, 15], "texture": "#0"}, - "down": {"uv": [14, 0, 16, 15], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [10, 3, 0], - "to": [11, 13, 14], - "faces": { - "west": {"uv": [3, 0, 13, 14], "rotation": 270, "texture": "#0"}, - "up": {"uv": [2, 0, 3, 14], "texture": "#0"}, - "down": {"uv": [13, 0, 14, 14], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 1, 0], - "to": [5, 15, 15], - "faces": { - "east": {"uv": [1, 1, 15, 16], "rotation": 270, "texture": "#0"}, - "south": {"uv": [1, 5, 15, 3], "rotation": 270, "texture": "#0"}, - "west": {"uv": [1, 1, 15, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 1, 2, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [14, 1, 16, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [5, 3, 0], - "to": [6, 13, 14], - "faces": { - "east": {"uv": [3, 2, 13, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [2, 2, 3, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [13, 2, 14, 16], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [4, 1.1, 14], - "to": [12, 14.9, 16], - "faces": { - "north": {"uv": [1, 4, 15, 12], "rotation": 270, "texture": "#0"}, - "east": {"uv": [1, 11, 15, 13], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "rotation": 90, "texture": "#0"}, - "west": {"uv": [1, 3, 15, 5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 4, 2, 12], "rotation": 90, "texture": "#0"}, - "down": {"uv": [14, 4, 16, 12], "rotation": 90, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [6, 3, 13], - "to": [10, 13, 14], - "faces": { - "north": {"uv": [3, 6, 13, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [2, 6, 3, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [13, 6, 14, 10], "rotation": 90, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/sideways_middle.json b/src/main/resources/assets/create/models/block/belt/sideways_middle.json deleted file mode 100644 index ed352bba5..000000000 --- a/src/main/resources/assets/create/models/block/belt/sideways_middle.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [11, 1, 0], - "to": [13, 15, 16], - "faces": { - "east": {"uv": [1, 0, 15, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [1, 0, 15, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [0, 0, 2, 16], "texture": "#0"}, - "down": {"uv": [14, 0, 16, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [10, 3, 0], - "to": [11, 13, 16], - "faces": { - "west": {"uv": [3, 0, 13, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [13, 0, 14, 16], "texture": "#0"}, - "down": {"uv": [2, 0, 3, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 1, 0], - "to": [5, 15, 16], - "faces": { - "east": {"uv": [1, 0, 15, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [1, 0, 15, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 0, 2, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [14, 0, 16, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [5, 3, 0], - "to": [6, 13, 16], - "faces": { - "east": {"uv": [3, 0, 13, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [13, 0, 14, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [13, 0, 14, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/sideways_start.json b/src/main/resources/assets/create/models/block/belt/sideways_start.json deleted file mode 100644 index 6ab8c2414..000000000 --- a/src/main/resources/assets/create/models/block/belt/sideways_start.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [11, 1, 1], - "to": [13, 15, 16], - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 270, "texture": "#0"}, - "east": {"uv": [1, 1, 15, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [1, 1, 15, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [0, 1, 2, 16], "texture": "#0"}, - "down": {"uv": [14, 1, 16, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [10, 3, 2], - "to": [11, 13, 16], - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 270, "texture": "#0"}, - "west": {"uv": [3, 2, 13, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [13, 2, 14, 16], "texture": "#0"}, - "down": {"uv": [2, 2, 3, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [5, 3, 2], - "to": [6, 13, 16], - "faces": { - "east": {"uv": [3, 2, 13, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [2, 2, 3, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [13, 2, 14, 16], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [3, 1, 1], - "to": [5, 15, 16], - "faces": { - "north": {"uv": [1, 3, 15, 5], "rotation": 90, "texture": "#0"}, - "east": {"uv": [1, 1, 15, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [1, 0, 15, 15], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 0, 2, 15], "rotation": 180, "texture": "#0"}, - "down": {"uv": [14, 0, 16, 15], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [4, 1.1, 0], - "to": [12, 14.9, 2], - "faces": { - "north": {"uv": [1, 4, 15, 12], "rotation": 90, "texture": "#0"}, - "east": {"uv": [1, 11, 15, 13], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "rotation": 270, "texture": "#0"}, - "west": {"uv": [1, 3, 15, 5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 4, 2, 12], "rotation": 270, "texture": "#0"}, - "down": {"uv": [14, 4, 16, 12], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [6, 3, 2], - "to": [10, 13, 3], - "faces": { - "south": {"uv": [3, 6, 13, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [2, 6, 3, 10], "rotation": 270, "texture": "#0"}, - "down": {"uv": [13, 6, 14, 10], "rotation": 270, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/start.json b/src/main/resources/assets/create/models/block/belt/start.json new file mode 100644 index 000000000..ff4a6eed9 --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/start.json @@ -0,0 +1,54 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/belt" + }, + "elements": [ + { + "name": "Top", + "from": [3, 10, 2], + "to": [13, 11, 16], + "faces": { + "east": {"uv": [3, 0, 4, 14], "rotation": 270, "texture": "#0"}, + "west": {"uv": [12, 0, 13, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [3, 0, 13, 14], "texture": "#0"} + } + }, + { + "name": "Top", + "from": [1, 11, 1], + "to": [15, 13, 16], + "faces": { + "north": {"uv": [1, 15, 15, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 15], "rotation": 270, "texture": "#0"}, + "west": {"uv": [14, 0, 16, 15], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1, 0, 15, 15], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 0, 15, 15], "texture": "#0"} + } + }, + { + "name": "Side", + "from": [1.1, 4, 0], + "to": [14.9, 12, 2], + "faces": { + "north": {"uv": [1, 0, 15, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 8], "texture": "#0"}, + "south": {"uv": [1, 0, 15, 8], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 8], "texture": "#0"}, + "up": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [1, 7, 15, 8], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Side", + "from": [3, 6, 2], + "to": [13, 10, 3], + "faces": { + "east": {"uv": [3, 6, 4, 10], "rotation": 180, "texture": "#0"}, + "south": {"uv": [3, 2, 13, 6], "texture": "#0"}, + "west": {"uv": [12, 6, 13, 10], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/start_bottom.json b/src/main/resources/assets/create/models/block/belt/start_bottom.json new file mode 100644 index 000000000..cecb17d1d --- /dev/null +++ b/src/main/resources/assets/create/models/block/belt/start_bottom.json @@ -0,0 +1,31 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/belt_offset" + }, + "elements": [ + { + "name": "Bottom", + "from": [1, 3, 1], + "to": [15, 5, 16], + "faces": { + "north": {"uv": [1, 0, 15, 1], "rotation": 180, "texture": "#1"}, + "east": {"uv": [0, 1, 2, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [14, 1, 16, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [1, 1, 15, 16], "texture": "#1"}, + "down": {"uv": [1, 1, 15, 16], "rotation": 180, "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [3, 5, 2], + "to": [13, 6, 16], + "faces": { + "east": {"uv": [12, 2, 13, 16], "rotation": 90, "texture": "#1"}, + "west": {"uv": [3, 2, 4, 16], "rotation": 270, "texture": "#1"}, + "up": {"uv": [3, 2, 13, 16], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/upward_end.json b/src/main/resources/assets/create/models/block/belt/upward_end.json deleted file mode 100644 index 3e7cc8f0d..000000000 --- a/src/main/resources/assets/create/models/block/belt/upward_end.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom", - "from": [0.9, 3, 9.2], - "to": [15.1, 5, 15], - "faces": { - "east": {"uv": [0, 9, 2, 15], "rotation": 90, "texture": "#0"}, - "south": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 9, 16, 15], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 9, 15, 15], "texture": "#0"}, - "down": {"uv": [1, 9, 15, 14.8], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [2.9, 5, 9.2], - "to": [13.1, 6, 14], - "faces": { - "east": {"uv": [13, 9, 14, 14], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 9, 3, 14], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 9, 13, 14], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [0.9, 11, 5.9], - "to": [15.1, 13, 15], - "faces": { - "east": {"uv": [0, 1, 2, 10], "rotation": 270, "texture": "#0"}, - "south": {"uv": [1, 13, 15, 11], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 1, 15, 10], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [2.9, 10, 5.9], - "to": [13.1, 11, 14], - "faces": { - "east": {"uv": [13, 2, 14, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 2, 3, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 2, 13, 10], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1, 4, 14], - "to": [15, 12, 16], - "faces": { - "north": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "rotation": 180, "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "rotation": 180, "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "rotation": 180, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [2.9, 6, 13], - "to": [13.1, 10, 14], - "faces": { - "north": {"uv": [3, 6, 13, 10], "rotation": 180, "texture": "#0"}, - "east": {"uv": [13, 6, 14, 10], "rotation": 180, "texture": "#0"}, - "west": {"uv": [2, 6, 3, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [1, 3, -3.328], - "to": [15, 5, 6.75], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10.2], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, -3.328], - "to": [13, 6, 6.75], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 10], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, -3.328], - "to": [15, 13, 10.1], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, -3.328], - "to": [13, 11, 9.1], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 4, 14, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 4, 3, 16], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 4, 13, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/upward_middle.json b/src/main/resources/assets/create/models/block/belt/upward_middle.json deleted file mode 100644 index 19fbdcb55..000000000 --- a/src/main/resources/assets/create/models/block/belt/upward_middle.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Bottom Diagonal", - "from": [1, 3, -3.325], - "to": [15, 5, 6.6], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, -3.325], - "to": [13, 6, 6.6], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 0, 13, 10], "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, -3.325], - "to": [15, 13, 10], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, -3.325], - "to": [13, 11, 10], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 3, 14, 16], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 3, 3, 16], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3, 3, 13, 16], "texture": "#0"} - } - }, - { - "name": "Top Diagonal First", - "from": [1, 11, 9.98], - "to": [15, 13, 19.3], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "texture": "#0"} - } - }, - { - "name": "Top Diagonal First", - "from": [3, 10, 9.98], - "to": [13, 11, 19.3], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [3, 0, 13, 10], "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal First", - "from": [1, 3, 6.58], - "to": [15, 5, 19.3], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal First", - "from": [3, 5, 6.58], - "to": [13, 6, 19.3], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 3, 14, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 3, 3, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 3, 13, 16], "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt/upward_start.json b/src/main/resources/assets/create/models/block/belt/upward_start.json deleted file mode 100644 index 84dddff12..000000000 --- a/src/main/resources/assets/create/models/block/belt/upward_start.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/belt", - "particle": "create:block/belt" - }, - "elements": [ - { - "name": "Top", - "from": [0.9, 11, 1], - "to": [15.1, 13, 6.8], - "faces": { - "north": {"uv": [1, 11, 15, 13], "texture": "#0"}, - "east": {"uv": [0, 1, 2, 7], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 7], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 7], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 1, 15, 6.8], "texture": "#0"} - } - }, - { - "name": "Top", - "from": [2.9, 10, 2], - "to": [13.1, 11, 6.8], - "faces": { - "east": {"uv": [13, 2, 14, 7], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 2, 3, 7], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 2, 13, 6.8], "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [0.9, 3, 1], - "to": [15.1, 5, 10.1], - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 1, 2, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 1, 16, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 1, 15, 10], "texture": "#0"}, - "down": {"uv": [1, 1, 15, 10], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom", - "from": [2.9, 5, 2], - "to": [13.1, 6, 10.1], - "faces": { - "east": {"uv": [13, 2, 14, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 2, 3, 10], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 2, 13, 10], "texture": "#0"} - } - }, - { - "name": "Side", - "from": [1, 4, 0], - "to": [15, 12, 2], - "faces": { - "north": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "east": {"uv": [0, 4, 2, 12], "texture": "#0"}, - "south": {"uv": [1, 4, 15, 12], "texture": "#0"}, - "west": {"uv": [14, 4, 16, 12], "texture": "#0"}, - "up": {"uv": [1, 3, 15, 5], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Side", - "from": [2.9, 6, 2], - "to": [13.1, 10, 3], - "faces": { - "east": {"uv": [13, 6, 14, 10], "texture": "#0"}, - "south": {"uv": [3, 6, 13, 10], "texture": "#0"}, - "west": {"uv": [2, 6, 3, 10], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [1, 11, 9.2], - "to": [15, 13, 19.325], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 11, 15, 13], "rotation": 180, "texture": "#0"}, - "east": {"uv": [0, 0, 2, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [14, 0, 16, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [1, 0, 15, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [1, 0, 15, 10], "texture": "#0"} - } - }, - { - "name": "Top Diagonal", - "from": [3, 10, 9.2], - "to": [13, 11, 19.325], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 0, 14, 10], "rotation": 270, "texture": "#0"}, - "west": {"uv": [2, 0, 3, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [3, 0, 13, 10], "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [1, 3, 5.9], - "to": [15, 5, 19.325], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "north": {"uv": [1, 3, 15, 5], "texture": "#0"}, - "east": {"uv": [0, 3, 2, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [14, 3, 16, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [1, 3, 15, 16], "texture": "#0"}, - "down": {"uv": [1, 3, 15, 16], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "Bottom Diagonal", - "from": [3, 5, 5.9], - "to": [13, 6, 19.325], - "rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 8]}, - "faces": { - "east": {"uv": [13, 3, 14, 16], "rotation": 90, "texture": "#0"}, - "west": {"uv": [2, 3, 3, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [3, 3, 13, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/cross.json b/src/main/resources/assets/create/models/block/belt_tunnel/cross.json index 8e83eda53..4f161e41a 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/cross.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/cross.json @@ -2,23 +2,21 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" + "2": "create:block/brass_tunnel", + "particle": "create:block/brass_block" }, "elements": [ { "name": "LeftWall", - "from": [2, 8, 0], + "from": [2, 10, 0], "to": [14, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, "faces": { - "north": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 6], "texture": "#0"}, - "south": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 6], "texture": "#0"}, + "north": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "south": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.75, 4, 3.5, 4.5], "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "texture": "#2"} } }, { @@ -37,10 +35,10 @@ "to": [2, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [7.5, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 0, 16, 2], "rotation": 180, "texture": "#1"} } }, @@ -50,10 +48,10 @@ "to": [2, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 14, 16, 16], "rotation": 180, "texture": "#1"} } }, @@ -63,10 +61,10 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 4.5, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#1"} } }, @@ -76,10 +74,10 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#1"} } }, @@ -89,10 +87,10 @@ "to": [1, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { @@ -101,10 +99,10 @@ "to": [1, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -113,10 +111,10 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { @@ -125,46 +123,46 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "TTop", - "from": [2, 8, 14], + "from": [2, 10, 14], "to": [14, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "south": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "north": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "south": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "texture": "#2"} } }, { "name": "BackTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } } ], diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/flap.json b/src/main/resources/assets/create/models/block/belt_tunnel/flap.json index 17626fed4..a79b4102f 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/flap.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/flap.json @@ -1,31 +1,22 @@ { "credit": "Made with Blockbench", - "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", - "particle": "create:block/brass_tunnel" + "4": "create:block/brass_tunnel" }, "elements": [ { "name": "F4", - "from": [14.5, -2.5, 11], - "to": [15.5, 8.5, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 8]}, + "from": [11, -3, 1], + "to": [14, 10, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 9]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 1.25, 4.75, 1.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 1, 4.75, 1.25], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#4"}, + "east": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#4"}, + "south": {"uv": [9.5, 16, 16, 14.5], "rotation": 90, "texture": "#4"}, + "west": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#4"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 270, "texture": "#4"}, + "down": {"uv": [9.5, 14.5, 10, 16], "rotation": 270, "texture": "#4"} } } - ], - "groups": [ - { - "name": "Flap", - "origin": [8, 8, 8], - "children": [0] - } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/fullshade.json b/src/main/resources/assets/create/models/block/belt_tunnel/fullshade.json deleted file mode 100644 index ac691ace7..000000000 --- a/src/main/resources/assets/create/models/block/belt_tunnel/fullshade.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/brass_tunnel", - "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" - }, - "elements": [ - { - "name": "LeftWall", - "from": [0, -3, 0], - "to": [16, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, - "faces": { - "north": {"uv": [12, 8.25, 16, 13], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [12, 8.25, 16, 13], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} - } - }, - { - "name": "TopPiece", - "from": [2, 14, 2], - "to": [14, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [7, -24, 8]}, - "faces": { - "up": {"uv": [12.5, 0.25, 15.5, 3.25], "rotation": 180, "texture": "#0"}, - "down": {"uv": [12.5, 0.25, 15.5, 3.25], "rotation": 180, "texture": "#0"} - } - }, - { - "name": "RightWall", - "from": [0, -3, 14], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, - "faces": { - "north": {"uv": [12, 8.25, 16, 13], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [12, 8.25, 16, 13], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} - } - }, - { - "name": "LeftRail", - "from": [0, -5, 0], - "to": [16, -3, 1], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, - "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} - } - }, - { - "name": "RightRail", - "from": [0, -5, 15], - "to": [16, -3, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, - "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [3.75, 7.25, 4, 7.75], "texture": "#0"} - } - }, - { - "name": "FrontTop", - "from": [0, 8, 2], - "to": [2, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, - "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "BackTop", - "from": [14, 8, 2], - "to": [16, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, - "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} - } - } - ], - "groups": [ - { - "name": "Cover", - "origin": [8, 8, 8], - "children": [0, 1, 2, 3, 4, 5, 6] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/halfshade.json b/src/main/resources/assets/create/models/block/belt_tunnel/halfshade.json deleted file mode 100644 index 80896ef75..000000000 --- a/src/main/resources/assets/create/models/block/belt_tunnel/halfshade.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/brass_tunnel", - "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" - }, - "elements": [ - { - "name": "LeftWall", - "from": [0, -3, 0], - "to": [16, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, - "faces": { - "north": {"uv": [8, 3.5, 12, 8.25], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [8, 3.5, 12, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} - } - }, - { - "name": "TopPiece", - "from": [2, 14, 2], - "to": [14, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [7, -24, 8]}, - "faces": { - "up": {"uv": [8.5, 0.25, 11.5, 3.25], "rotation": 180, "texture": "#0"}, - "down": {"uv": [8.5, 0.25, 11.5, 3.25], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "RightWall", - "from": [0, -3, 14], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, - "faces": { - "north": {"uv": [8, 3.5, 12, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [8, 3.5, 12, 8.25], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} - } - }, - { - "name": "LeftRail", - "from": [0, -5, 0], - "to": [16, -3, 1], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, - "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} - } - }, - { - "name": "RightRail", - "from": [0, -5, 15], - "to": [16, -3, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, - "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [3.75, 7.25, 4, 7.75], "texture": "#0"} - } - }, - { - "name": "FrontTop", - "from": [0, 8, 2], - "to": [2, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, - "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "BackTop", - "from": [14, 8, 2], - "to": [16, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, - "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} - } - } - ], - "groups": [ - { - "name": "Cover", - "origin": [8, 8, 8], - "children": [0, 1, 2, 3, 4, 5, 6] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/item.json b/src/main/resources/assets/create/models/block/belt_tunnel/item.json index 9ff7c583a..7a0e31101 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/item.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/item.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" + "2": "create:block/brass_tunnel", + "particle": "create:block/brass_block" }, "elements": [ { @@ -13,10 +13,10 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} } }, @@ -36,10 +36,10 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9], "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} } }, @@ -49,10 +49,10 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -61,146 +61,146 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [3.75, 7.25, 4, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "BackTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "F1", - "from": [14.5, -2.5, 11], - "to": [15.5, 8.5, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 8]}, + "from": [0.5, -2.5, 2], + "to": [1.5, 10.5, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -5.5, 2]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} } }, { "name": "F2", - "from": [0.5, -2.5, 11], - "to": [1.5, 8.5, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -7.5, 8]}, - "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "F3", - "from": [14.5, -2.5, 5], - "to": [15.5, 8.5, 8], - "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 2]}, - "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "F4", "from": [0.5, -2.5, 5], - "to": [1.5, 8.5, 8], - "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -7.5, 2]}, + "to": [1.5, 10.5, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -5.5, 5]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} - } - }, - { - "name": "F2", - "from": [14.5, -2.5, 8], - "to": [15.5, 8.5, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 8]}, - "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} } }, { "name": "F3", "from": [0.5, -2.5, 8], - "to": [1.5, 8.5, 11], - "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -7.5, 8]}, + "to": [1.5, 10.5, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -5.5, 8]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} } }, { "name": "F4", - "from": [14.5, -2.5, 2], - "to": [15.5, 8.5, 5], - "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 2]}, + "from": [0.5, -2.5, 11], + "to": [1.5, 10.5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -5.5, 11]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} } }, { "name": "F5", - "from": [0.5, -2.5, 2], - "to": [1.5, 8.5, 5], - "rotation": {"angle": 0, "axis": "y", "origin": [-38.5, -7.5, 2]}, + "from": [14.5, -2.5, 11], + "to": [15.5, 10.5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -5.5, 11]}, "faces": { - "north": {"uv": [4, 0, 4.25, 2.5], "texture": "#0"}, - "east": {"uv": [4, 0, 4.75, 2.5], "rotation": 180, "texture": "#0"}, - "south": {"uv": [4.5, 0, 4.75, 2.5], "texture": "#0"}, - "west": {"uv": [4, 0, 4.75, 2.5], "texture": "#0"}, - "up": {"uv": [4, 0.25, 4.75, 0.5], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 2.25, 4.75, 2.5], "rotation": 270, "texture": "#0"} + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} + } + }, + { + "name": "F6", + "from": [14.5, -2.5, 8], + "to": [15.5, 10.5, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -5.5, 8]}, + "faces": { + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} + } + }, + { + "name": "F7", + "from": [14.5, -2.5, 5], + "to": [15.5, 10.5, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -5.5, 5]}, + "faces": { + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} + } + }, + { + "name": "F8", + "from": [14.5, -2.5, 2], + "to": [15.5, 10.5, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -5.5, 2]}, + "faces": { + "north": {"uv": [9.5, 15.5, 16, 16], "rotation": 90, "texture": "#2"}, + "east": {"uv": [9.5, 14.5, 16, 16], "rotation": 270, "texture": "#2"}, + "south": {"uv": [9.5, 14.5, 16, 15], "rotation": 90, "texture": "#2"}, + "west": {"uv": [9.5, 14.5, 16, 16], "rotation": 90, "texture": "#2"}, + "up": {"uv": [15.5, 14.5, 16, 16], "rotation": 180, "texture": "#2"}, + "down": {"uv": [15.5, 14.5, 16, 16], "texture": "#2"} } } ], diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/straight.json b/src/main/resources/assets/create/models/block/belt_tunnel/straight.json index ad748b321..ba208112f 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/straight.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/straight.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel_top" + "2": "create:block/brass_tunnel", + "particle": "create:block/brass_block" }, "elements": [ { @@ -13,10 +13,10 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} } }, @@ -36,10 +36,10 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9], "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} } }, @@ -49,10 +49,10 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -61,37 +61,74 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [3.75, 7.25, 4, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "BackTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } } ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3.25, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [0, 90, 0] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 1.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, "groups": [ { "name": "Cover", diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/t_left.json b/src/main/resources/assets/create/models/block/belt_tunnel/t_left.json index 09187e938..c95cbabae 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/t_left.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/t_left.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" + "2": "create:block/brass_tunnel", + "particle": "create:block/brass_block" }, "elements": [ { @@ -13,10 +13,10 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} } }, @@ -36,10 +36,10 @@ "to": [2, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [7.5, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 0, 16, 2], "rotation": 180, "texture": "#1"} } }, @@ -49,10 +49,10 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 4.5, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 0, 2, 2], "rotation": 180, "texture": "#1"} } }, @@ -62,10 +62,10 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -74,10 +74,10 @@ "to": [1, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { @@ -86,46 +86,46 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "TTop", - "from": [2, 8, 14], + "from": [2, 10, 14], "to": [14, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "south": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "north": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "south": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "texture": "#2"} } }, { "name": "BackTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } } ], diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/t_right.json b/src/main/resources/assets/create/models/block/belt_tunnel/t_right.json index 070464014..8946156e8 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/t_right.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/t_right.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" + "2": "create:block/brass_tunnel", + "particle": "create:block/brass_block" }, "elements": [ { @@ -13,10 +13,10 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, + "north": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 0, 8, 9.5], "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} } }, @@ -36,10 +36,10 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [7.5, 3.5, 8, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [0, 14, 2, 16], "rotation": 180, "texture": "#1"} } }, @@ -49,10 +49,10 @@ "to": [2, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [4, 3.5, 4.5, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, + "north": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 14, 16, 16], "rotation": 180, "texture": "#1"} } }, @@ -62,10 +62,10 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { @@ -74,10 +74,10 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -86,46 +86,46 @@ "to": [1, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "west": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"} + "north": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 90, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 90, "texture": "#2"} } }, { "name": "TTop", - "from": [2, 8, 0], + "from": [2, 10, 0], "to": [14, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "north": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "south": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, + "north": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "south": {"uv": [0, 13, 6, 16], "texture": "#2"}, "up": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 180, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 180, "texture": "#2"} } }, { "name": "BackTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [9, -24, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 90, "texture": "#0"} + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 90, "texture": "#2"} } } ], diff --git a/src/main/resources/assets/create/models/block/belt_tunnel/window.json b/src/main/resources/assets/create/models/block/belt_tunnel/window.json index 3fd4275f9..0d65fed25 100644 --- a/src/main/resources/assets/create/models/block/belt_tunnel/window.json +++ b/src/main/resources/assets/create/models/block/belt_tunnel/window.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/brass_tunnel", - "1": "create:block/brass_tunnel_top", - "particle": "create:block/brass_tunnel" + "2": "create:block/brass_tunnel", + "3": "create:block/brass_tunnel_top_window", + "particle": "create:block/brass_block" }, "elements": [ { @@ -13,11 +13,11 @@ "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [-9, -24, 8]}, "faces": { - "north": {"uv": [12, 3.5, 16, 8.25], "texture": "#0"}, - "east": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "south": {"uv": [12, 3.5, 16, 8.25], "texture": "#0"}, - "west": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#1"} + "north": {"uv": [8, 0, 16, 9.5], "texture": "#2"}, + "east": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8, 0, 16, 9.5], "texture": "#2"}, + "west": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#3"} } }, { @@ -26,8 +26,8 @@ "to": [14, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [7, -24, 8]}, "faces": { - "up": {"uv": [8.5, 0.25, 11.5, 3.25], "rotation": 180, "texture": "#0"}, - "down": {"uv": [8.5, 0.25, 11.5, 3.25], "rotation": 270, "texture": "#0"} + "up": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#3"}, + "down": {"uv": [2, 2, 14, 14], "rotation": 270, "texture": "#3"} } }, { @@ -36,11 +36,11 @@ "to": [16, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [12, 3.5, 16, 8.25], "texture": "#0"}, - "east": {"uv": [0, 4, 0.5, 8.75], "texture": "#0"}, - "south": {"uv": [12, 3.5, 16, 8.25], "texture": "#0"}, - "west": {"uv": [3.5, 4, 4, 8.75], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#1"} + "north": {"uv": [8, 0, 16, 9.5], "texture": "#2"}, + "east": {"uv": [0, 9.5, 9.5, 10.5], "rotation": 90, "texture": "#2"}, + "south": {"uv": [8, 0, 16, 9], "texture": "#2"}, + "west": {"uv": [0, 10.5, 9.5, 11.5], "rotation": 90, "texture": "#2"}, + "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#3"} } }, { @@ -49,10 +49,10 @@ "to": [16, -3, 1], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 8]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [7.75, 8.25, 8, 8.75], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [4, 7.25, 4.25, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"} } }, { @@ -61,37 +61,74 @@ "to": [16, -3, 16], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -24, 23]}, "faces": { - "north": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "east": {"uv": [4, 8, 4.25, 8.5], "texture": "#0"}, - "south": {"uv": [4, 8.25, 8, 8.75], "texture": "#0"}, - "west": {"uv": [3.75, 7.25, 4, 7.75], "texture": "#0"} + "north": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "east": {"uv": [0, 12.5, 0.5, 13.5], "texture": "#2"}, + "south": {"uv": [0, 11.5, 8, 12.5], "texture": "#2"}, + "west": {"uv": [7.5, 12.5, 8, 13.5], "texture": "#2"} } }, { "name": "FrontTop", - "from": [0, 8, 2], + "from": [0, 10, 2], "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "west": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 5.5, 3.5, 6], "rotation": 270, "texture": "#0"} + "east": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "west": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#3"}, + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } }, { "name": "BackTop", - "from": [14, 8, 2], + "from": [14, 10, 2], "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, 8]}, "faces": { - "east": {"uv": [0.5, 4, 3.5, 6], "texture": "#0"}, - "west": {"uv": [0.5, 6, 3.5, 8], "texture": "#0"}, - "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0.5, 4, 3.5, 4.5], "rotation": 270, "texture": "#0"} + "east": {"uv": [10, 9.5, 16, 12.5], "texture": "#2"}, + "west": {"uv": [0, 13, 6, 16], "texture": "#2"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#3"}, + "down": {"uv": [10, 13.5, 16, 14.5], "rotation": 270, "texture": "#2"} } } ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3.25, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 1, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "rotation": [0, 90, 0] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 1.5, 0], + "scale": [0.5, 0.5, 0.5] + } + }, "groups": [ { "name": "Cover", diff --git a/src/main/resources/assets/create/models/block/blaze_heater/blaze/four.json b/src/main/resources/assets/create/models/block/blaze_heater/blaze/four.json new file mode 100644 index 000000000..cc0f8c54f --- /dev/null +++ b/src/main/resources/assets/create/models/block/blaze_heater/blaze/four.json @@ -0,0 +1,29 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "create:block/tamed_blaze" + }, + "elements": [ + { + "name": "Blaze 4", + "from": [4, 6, 4], + "to": [12, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "up": {"uv": [8, 4, 12, 8], "texture": "#1"}, + "down": {"uv": [12, 4, 16, 8], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "Blazes", + "origin": [8, 8, 8], + "children": [15, 16, 17, 18] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/blaze_heater/blaze/one.json b/src/main/resources/assets/create/models/block/blaze_heater/blaze/one.json new file mode 100644 index 000000000..b0b318ff6 --- /dev/null +++ b/src/main/resources/assets/create/models/block/blaze_heater/blaze/one.json @@ -0,0 +1,28 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "create:block/tamed_blaze" + }, + "elements": [ + { + "name": "Blaze 1", + "from": [6, 6, 6], + "to": [10, 10, 10], + "faces": { + "north": {"uv": [8, 8, 10, 10], "texture": "#1"}, + "east": {"uv": [6, 8, 8, 10], "texture": "#1"}, + "south": {"uv": [6, 8, 8, 10], "texture": "#1"}, + "west": {"uv": [6, 8, 8, 10], "texture": "#1"}, + "up": {"uv": [6, 10, 8, 12], "texture": "#1"}, + "down": {"uv": [8, 10, 10, 12], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "Blazes", + "origin": [8, 8, 8], + "children": [15, 16, 17, 18] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/blaze_heater/blaze/three.json b/src/main/resources/assets/create/models/block/blaze_heater/blaze/three.json new file mode 100644 index 000000000..a9d78104f --- /dev/null +++ b/src/main/resources/assets/create/models/block/blaze_heater/blaze/three.json @@ -0,0 +1,29 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "create:block/tamed_blaze" + }, + "elements": [ + { + "name": "Blaze 3", + "from": [4, 6, 4], + "to": [12, 14, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 6, 6]}, + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 4, 4, 8], "texture": "#1"}, + "down": {"uv": [4, 4, 8, 8], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "Blazes", + "origin": [8, 8, 8], + "children": [15, 16, 17, 18] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/blaze_heater/blaze/two.json b/src/main/resources/assets/create/models/block/blaze_heater/blaze/two.json new file mode 100644 index 000000000..ab5e5aea4 --- /dev/null +++ b/src/main/resources/assets/create/models/block/blaze_heater/blaze/two.json @@ -0,0 +1,29 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "1": "create:block/tamed_blaze" + }, + "elements": [ + { + "name": "Blaze 2", + "from": [5, 6, 5], + "to": [11, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 7, 7]}, + "faces": { + "north": {"uv": [3, 8, 6, 11], "texture": "#1"}, + "east": {"uv": [0, 8, 3, 11], "texture": "#1"}, + "south": {"uv": [0, 8, 3, 11], "texture": "#1"}, + "west": {"uv": [0, 8, 3, 11], "texture": "#1"}, + "up": {"uv": [0, 11, 3, 14], "texture": "#1"}, + "down": {"uv": [3, 11, 6, 14], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "Blazes", + "origin": [8, 8, 8], + "children": [15, 16, 17, 18] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/blaze_heater/block.json b/src/main/resources/assets/create/models/block/blaze_heater/block.json new file mode 100644 index 000000000..135de425a --- /dev/null +++ b/src/main/resources/assets/create/models/block/blaze_heater/block.json @@ -0,0 +1,174 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/blaze_heater_brazier", + "particle": "create:block/blaze_heater_brazier" + }, + "elements": [ + { + "name": "Brazier Sides 1", + "from": [2, 5, 2], + "to": [14, 14, 14], + "faces": { + "north": {"uv": [1, 1, 7, 5.5], "texture": "#0"}, + "east": {"uv": [1, 1, 7, 5.5], "texture": "#0"}, + "south": {"uv": [1, 1, 7, 5.5], "texture": "#0"}, + "west": {"uv": [1, 1, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Brazier Sides 2", + "from": [2, 5, 14], + "to": [14, 14, 15], + "faces": { + "north": {"uv": [1, 1, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Brazier Sides 3", + "from": [1, 5, 2], + "to": [2, 14, 14], + "faces": { + "east": {"uv": [1, 1, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Brazier Sides 4", + "from": [2, 5, 1], + "to": [14, 14, 2], + "faces": { + "south": {"uv": [1, 1, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Brazier Sides 5", + "from": [14, 5, 2], + "to": [15, 14, 14], + "faces": { + "west": {"uv": [1, 1, 7, 5.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 1", + "from": [2, 14, 13], + "to": [14, 17, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]}, + "faces": { + "south": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 2", + "from": [2, 14, 2], + "to": [3, 17, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]}, + "faces": { + "west": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 3", + "from": [2, 14, 2], + "to": [14, 17, 3], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]}, + "faces": { + "north": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 4", + "from": [13, 14, 2], + "to": [14, 17, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]}, + "faces": { + "east": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 1b", + "from": [2, 14, 14], + "to": [14, 17, 15], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 14, 14]}, + "faces": { + "north": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 2b", + "from": [1, 14, 2], + "to": [2, 17, 14], + "rotation": {"angle": 45, "axis": "z", "origin": [2, 14, 8]}, + "faces": { + "east": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 3b", + "from": [2, 14, 1], + "to": [14, 17, 2], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 14, 2]}, + "faces": { + "south": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Brazier Spikes 4b", + "from": [14, 14, 2], + "to": [15, 17, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [14, 14, 8]}, + "faces": { + "west": {"uv": [8, 8, 14, 9.5], "texture": "#0"} + } + }, + { + "name": "Base", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0.5, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 6, 8, 8], "texture": "#0", "cullface": "north"}, + "east": {"uv": [0, 6, 8, 8], "texture": "#0", "cullface": "east"}, + "south": {"uv": [0, 6, 8, 8], "texture": "#0", "cullface": "south"}, + "west": {"uv": [0, 6, 8, 8], "texture": "#0", "cullface": "west"}, + "up": {"uv": [8, 0, 16, 8], "texture": "#0"}, + "down": {"uv": [0, 8, 8, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "Brazier bottom", + "from": [2, 4, 2], + "to": [14, 5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 8, 2.5]}, + "faces": { + "north": {"uv": [1, 5.5, 7, 6], "texture": "#0"}, + "east": {"uv": [1, 5.5, 7, 6], "texture": "#0"}, + "south": {"uv": [1, 5.5, 7, 6], "texture": "#0"}, + "west": {"uv": [1, 5.5, 7, 6], "texture": "#0"}, + "up": {"uv": [9, 1, 15, 7], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "Brazier", + "origin": [0.5, 0.5, 0.5], + "children": [ + { + "name": "Brazier Sides", + "origin": [0.5, 0.5, 0.5], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "Brazier Spikes", + "origin": [0.5, 0.5, 0.5], + "children": [5, 6, 7, 8, 9, 10, 11, 12] + }, 13, 14] + }, + { + "name": "Blazes", + "origin": [8, 8, 8], + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json index c681ac969..5b7108e2b 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [3, -1, 3], - "to": [13, 1, 13], + "from": [3.1, -1.1, 3.1], + "to": [12.9, 1, 12.9], "faces": { "north": {"uv": [6, 6, 11, 5], "texture": "#0"}, "east": {"uv": [11, 5, 6, 6], "rotation": 180, "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json index 351515e89..e1083fa1d 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [15, 3, 3], - "to": [17, 13, 13], + "from": [15, 3.1, 3.1], + "to": [17.1, 12.9, 12.9], "faces": { "north": {"uv": [6, 6, 11, 5], "rotation": 90, "texture": "#0"}, "east": {"uv": [11, 0, 6, 5], "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json index 64b17013a..01fccd96e 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [3, 3, -1], - "to": [13, 13, 1], + "from": [3.1, 3.1, -1.1], + "to": [12.9, 12.9, 1], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -5]}, "faces": { "north": {"uv": [6, 0, 11, 5], "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json index 2e5a6c774..232f4f172 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [3, 3, 15], - "to": [13, 13, 17], + "from": [3.1, 3.1, 15], + "to": [12.9, 12.9, 17.1], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 21]}, "faces": { "north": {"uv": [6, 0, 11, 5], "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json index 4cd638449..3e6661e40 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [3, 15, 3], - "to": [13, 17, 13], + "from": [3.1, 15, 3.1], + "to": [12.9, 17.1, 12.9], "faces": { "north": {"uv": [6, 5, 11, 6], "texture": "#0"}, "east": {"uv": [11, 6, 6, 5], "rotation": 180, "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json index a175058fd..5b164d994 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json @@ -6,8 +6,8 @@ }, "elements": [ { - "from": [-1, 3, 3], - "to": [1, 13, 13], + "from": [-1.1, 3.1, 3.1], + "to": [1, 12.9, 12.9], "faces": { "north": {"uv": [6, 5, 11, 6], "rotation": 90, "texture": "#0"}, "east": {"uv": [6, 0, 11, 5], "texture": "#0"}, diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json index 6312f2eb7..b7ca78d34 100644 --- a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json @@ -3,23 +3,70 @@ "parent": "block/block", "textures": { "0": "create:block/copper_casing", - "2": "create:block/fluid_tank", - "3": "create:block/oxidized/copper_block_0", - "particle": "create:block/copper_casing" + "1": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" }, "elements": [ { - "name": "bottom", + "name": "Lid", "from": [0, 0, 0], "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, "faces": { - "north": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "east": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "south": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "west": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window.json new file mode 100644 index 000000000..bb8bc0859 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window.json @@ -0,0 +1,152 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 1], + "to": [12, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 4], + "to": [15, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15], + "to": [12, 16, 15], + "faces": { + "north": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 4], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 4, 8, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_ne.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_ne.json new file mode 100644 index 000000000..b8292e6a9 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_ne.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [4, 16, 1], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 4, 12], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_nw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_nw.json new file mode 100644 index 000000000..eba200f6d --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_nw.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 12], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 4, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_se.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_se.json new file mode 100644 index 000000000..818121858 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_se.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [4, 16, 15], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "south": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_sw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_sw.json new file mode 100644 index 000000000..1ad709653 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom_window_sw.json @@ -0,0 +1,71 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [4, 4, 8, 16], "texture": "#3"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [0, 4, 4, 16], "texture": "#3"}, + "west": {"uv": [4, 4, 8, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle.json new file mode 100644 index 000000000..7815ab94b --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle.json @@ -0,0 +1,57 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window.json new file mode 100644 index 000000000..5f62b589c --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window.json @@ -0,0 +1,137 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 1], + "to": [12, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 4], + "to": [15, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15], + "to": [12, 16, 15], + "faces": { + "north": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"}, + "south": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 4], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"}, + "west": {"uv": [8, 0, 16, 16], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_ne.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_ne.json new file mode 100644 index 000000000..bca53a94d --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_ne.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [4, 16, 1], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 12], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 0, 4, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_nw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_nw.json new file mode 100644 index 000000000..56e4f161f --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_nw.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 16, 1], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 12], + "to": [1, 16, 16], + "faces": { + "east": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 1], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 16, 12], + "faces": { + "east": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_se.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_se.json new file mode 100644 index 000000000..2ae7111a1 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_se.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [4, 16, 15], + "faces": { + "north": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_sw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_sw.json new file mode 100644 index 000000000..44ff9e1a0 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_middle_window_sw.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 16, 16], + "faces": { + "north": {"uv": [12, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [8, 0, 12, 16], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 16, 4], + "faces": { + "east": {"uv": [8, 0, 12, 16], "texture": "#3"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 16, 16], + "faces": { + "north": {"uv": [4, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 12, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single.json new file mode 100644 index 000000000..fff031667 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 12, 8]}, + "faces": { + "east": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 12], "texture": "#1", "cullface": "north"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [] + }, + { + "name": "block_middle", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [] + } + ] + }, + { + "name": "block_bottom", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [4, 5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single_window.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window.json new file mode 100644 index 000000000..10732b44a --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window.json @@ -0,0 +1,166 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "5": "create:block/fluid_tank_window_single", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 4, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 4, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 4, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 4, 4], + "to": [15, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 4, 15], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 4, 4], + "to": [1, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 8], "texture": "#5", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 12], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 12], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_ne.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_ne.json new file mode 100644 index 000000000..796adf27f --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_ne.json @@ -0,0 +1,100 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "4": "create:block/fluid_tank_window_single", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 4, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 4, 1], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#4"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + }, + { + "name": "Window", + "from": [15, 4, 12], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#4"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#4"} + } + }, + { + "name": "SideLeft", + "from": [4, 4, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_nw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_nw.json new file mode 100644 index 000000000..555cbf4ac --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_nw.json @@ -0,0 +1,100 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "4": "create:block/fluid_tank_window_single", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 4, 12], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 8], "texture": "#4"}, + "west": {"uv": [0, 0, 4, 8], "texture": "#4"} + } + }, + { + "name": "Window", + "from": [12, 4, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#4"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#4"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_se.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_se.json new file mode 100644 index 000000000..8987474f8 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_se.json @@ -0,0 +1,100 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "4": "create:block/fluid_tank_window_single", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 4, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 4, 0], + "to": [15, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + }, + { + "name": "Window", + "from": [0, 4, 15], + "to": [4, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 8], "texture": "#4"}, + "south": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + }, + { + "name": "SideLeft", + "from": [15, 4, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_sw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_sw.json new file mode 100644 index 000000000..84fc2e862 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_single_window_sw.json @@ -0,0 +1,100 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "4": "create:block/fluid_tank_window_single", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 4, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 12], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 12], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 12], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 4, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 8], "texture": "#4"}, + "south": {"uv": [0, 0, 4, 8], "texture": "#4"} + } + }, + { + "name": "Window", + "from": [1, 4, 0], + "to": [1, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 8], "texture": "#4"}, + "west": {"uv": [4, 0, 8, 8], "texture": "#4"} + } + }, + { + "name": "SideLeft", + "from": [0, 4, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 12], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 12], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 12], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "Bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + }, + { + "name": "block_bottom_centered_window", + "origin": [8, 8, 8], + "children": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [5] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top.json index 7253e97c4..c82bca162 100644 --- a/src/main/resources/assets/create/models/block/fluid_tank/block_top.json +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top.json @@ -3,24 +3,67 @@ "parent": "block/block", "textures": { "0": "create:block/copper_casing", - "2": "create:block/fluid_tank", - "3": "create:block/oxidized/copper_block_0", - "particle": "create:block/copper_casing" + "1": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" }, "elements": [ { - "name": "top", + "name": "Lid", "from": [0, 12, 0], "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, "faces": { - "north": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "east": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "south": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "west": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, "down": {"uv": [0, 0, 16, 16], "texture": "#0"} } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [1, 12, 16], + "faces": { + "east": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top_window.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window.json new file mode 100644 index 000000000..9c1e436a8 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window.json @@ -0,0 +1,152 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "Lid", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "north"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "east"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "south"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1", "cullface": "west"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideRight", + "from": [12, 0, 15], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideRight", + "from": [0, 0, 12], + "to": [1, 12, 16], + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1", "cullface": "west"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"} + } + }, + { + "name": "Window", + "from": [4, 0, 1], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "north"} + } + }, + { + "name": "Window", + "from": [15, 0, 4], + "to": [15, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "east"} + } + }, + { + "name": "Window", + "from": [4, 0, 15], + "to": [12, 12, 15], + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "south"} + } + }, + { + "name": "Window", + "from": [1, 0, 4], + "to": [1, 12, 12], + "faces": { + "east": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"}, + "west": {"uv": [0, 0, 8, 12], "texture": "#3", "cullface": "west"} + } + }, + { + "name": "SideLeft", + "from": [12, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "north"}, + "south": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "north"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "north"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 12], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "east": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "east"}, + "west": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "east"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [4, 12, 16], + "faces": { + "north": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "south"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "south"}, + "south": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "south"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 4], + "faces": { + "east": {"uv": [12, 4, 16, 16], "texture": "#1", "cullface": "west"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1", "cullface": "west"}, + "west": {"uv": [0, 4, 4, 16], "texture": "#1", "cullface": "west"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_ne.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_ne.json new file mode 100644 index 000000000..ea6698cc5 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_ne.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [15, 0, 0], + "to": [16, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [0, 0, 1], + "to": [4, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [15, 0, 12], + "to": [15, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [4, 0, 0], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [3, 4, 4, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-23, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_nw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_nw.json new file mode 100644 index 000000000..aac6384ff --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_nw.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 0], + "to": [12, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [1, 0, 12], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "west": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [12, 0, 1], + "to": [16, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 0], + "to": [1, 12, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "south": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "west": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 39]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_se.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_se.json new file mode 100644 index 000000000..bfa61d2f8 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_se.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [4, 0, 15], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "south": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "west": {"uv": [12, 4, 13, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [15, 0, 0], + "to": [15, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [0, 0, 15], + "to": [4, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "south": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [15, 0, 4], + "to": [16, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -23]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_sw.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_sw.json new file mode 100644 index 000000000..7e7d07038 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top_window_sw.json @@ -0,0 +1,75 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "1": "create:block/fluid_tank", + "3": "create:block/fluid_tank_window", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "name": "SideRight", + "from": [0, 0, 4], + "to": [1, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [12, 4, 13, 16], "texture": "#1"}, + "east": {"uv": [0, 4, 12, 16], "texture": "#1"}, + "west": {"uv": [4, 4, 16, 16], "texture": "#1"} + } + }, + { + "name": "Window", + "from": [12, 0, 15], + "to": [16, 12, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 0, 8, 12], "texture": "#3"}, + "south": {"uv": [0, 0, 4, 12], "texture": "#3"} + } + }, + { + "name": "Window", + "from": [1, 0, 0], + "to": [1, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "east": {"uv": [0, 0, 4, 12], "texture": "#3"}, + "west": {"uv": [4, 0, 8, 12], "texture": "#3"} + } + }, + { + "name": "SideLeft", + "from": [0, 0, 15], + "to": [12, 12, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, 8]}, + "faces": { + "north": {"uv": [4, 4, 16, 16], "texture": "#1"}, + "east": {"uv": [3, 4, 4, 16], "texture": "#1"}, + "south": {"uv": [0, 4, 12, 16], "texture": "#1"} + } + }, + { + "name": "Bottom", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [39, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "tank", + "origin": [8, 8, -23], + "children": [0, 1, 2, 3, 4] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json b/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json deleted file mode 100644 index eca23948b..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "2": "create:block/fluid_tank", - "particle": "create:block/copper_casing" - }, - "elements": [ - { - "from": [1, 0, 0], - "to": [15, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]}, - "faces": { - "east": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "east"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "west"} - } - }, - { - "from": [0, 0, 1], - "to": [16, 16, 15], - "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "north"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "south"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json deleted file mode 100644 index 72066ac6b..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [15, 0, 1], - "to": [16, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, - "faces": { - "north": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - }, - { - "from": [14, 0, 0], - "to": [15, 16, 1], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]}, - "faces": { - "east": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json deleted file mode 100644 index 96f39cca5..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [1, 0, 0], - "to": [2, 16, 1], - "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, - "faces": { - "west": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - }, - { - "from": [0, 0, 1], - "to": [1, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, - "faces": { - "north": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json deleted file mode 100644 index 8aeb2deab..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [14, 0, 15], - "to": [15, 16, 16], - "faces": { - "east": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - }, - { - "from": [15, 0, 14], - "to": [16, 16, 15], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, - "faces": { - "south": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json deleted file mode 100644 index 59198e276..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [0, 0, 14], - "to": [1, 16, 15], - "faces": { - "south": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - }, - { - "from": [1, 0, 15], - "to": [2, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, - "faces": { - "west": {"uv": [14, 0, 15, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/item.json b/src/main/resources/assets/create/models/block/fluid_tank/item.json deleted file mode 100644 index 211256bf2..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/item.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "credit": "Made with Blockbench", - "parent": "block/block", - "textures": { - "0": "create:block/copper_casing", - "2": "create:block/fluid_tank", - "3": "create:block/oxidized/copper_block_0", - "particle": "create:block/copper_casing" - }, - "elements": [ - { - "name": "bottom", - "from": [0, 0, 0], - "to": [16, 4, 16], - "faces": { - "north": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "east": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "south": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "west": {"uv": [0, 12, 16, 16], "texture": "#2"}, - "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, - "down": {"uv": [0, 0, 16, 16], "texture": "#3"} - } - }, - { - "name": "top", - "from": [0, 12, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]}, - "faces": { - "north": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "east": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "south": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "west": {"uv": [0, 0, 16, 4], "texture": "#2"}, - "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, - "down": {"uv": [0, 0, 16, 16], "texture": "#0"} - } - }, - { - "from": [1, 0, 0], - "to": [15, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]}, - "faces": { - "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, - "west": {"uv": [0, 0, 16, 16], "texture": "#2"} - } - }, - { - "from": [0, 0, 1], - "to": [16, 16, 15], - "faces": { - "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, - "south": {"uv": [0, 0, 16, 16], "texture": "#2"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json deleted file mode 100644 index 12da2aeeb..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [16, 0, 0], - "to": [17, 4, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, - "faces": { - "north": {"uv": [15, 12, 16, 16], "texture": "#0"}, - "east": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "south": {"uv": [0, 12, 1, 16], "texture": "#0"}, - "west": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "up": {"uv": [0, 12, 16, 13], "rotation": 90, "texture": "#0"}, - "down": {"uv": [0, 15, 16, 16], "rotation": 270, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json deleted file mode 100644 index c55207a3a..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [0, 0, -1], - "to": [16, 4, 0], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, - "faces": { - "north": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "east": {"uv": [0, 12, 1, 16], "texture": "#0"}, - "south": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "west": {"uv": [15, 12, 16, 16], "texture": "#0"}, - "up": {"uv": [0, 12, 16, 13], "texture": "#0"}, - "down": {"uv": [0, 15, 16, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json deleted file mode 100644 index 9c5957945..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [0, 0, 16], - "to": [16, 4, 17], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, - "faces": { - "north": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "east": {"uv": [15, 12, 16, 16], "texture": "#0"}, - "south": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "west": {"uv": [0, 12, 1, 16], "texture": "#0"}, - "up": {"uv": [0, 12, 16, 13], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 15, 16, 16], "rotation": 180, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json deleted file mode 100644 index 22421a92e..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [-1, 0, 0], - "to": [0, 4, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]}, - "faces": { - "north": {"uv": [0, 12, 1, 16], "texture": "#0"}, - "east": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "south": {"uv": [15, 12, 16, 16], "texture": "#0"}, - "west": {"uv": [0, 12, 16, 16], "texture": "#0"}, - "up": {"uv": [0, 12, 16, 13], "rotation": 270, "texture": "#0"}, - "down": {"uv": [0, 15, 16, 16], "rotation": 90, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json deleted file mode 100644 index 81be350ef..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [16, 12, 0], - "to": [17, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [9, 20, 8]}, - "faces": { - "north": {"uv": [15, 0, 16, 4], "texture": "#0"}, - "east": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, - "west": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 1], "rotation": 90, "texture": "#0"}, - "down": {"uv": [0, 3, 16, 4], "rotation": 270, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json deleted file mode 100644 index 7c8e95315..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [0, 12, -1], - "to": [16, 16, 0], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 7]}, - "faces": { - "north": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "east": {"uv": [0, 0, 1, 4], "texture": "#0"}, - "south": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "west": {"uv": [15, 0, 16, 4], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, - "down": {"uv": [0, 3, 16, 4], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json deleted file mode 100644 index 2ec5b9ddb..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [0, 12, 16], - "to": [16, 16, 17], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 9]}, - "faces": { - "north": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "east": {"uv": [15, 0, 16, 4], "texture": "#0"}, - "south": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "west": {"uv": [0, 0, 1, 4], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 1], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 3, 16, 4], "rotation": 180, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json deleted file mode 100644 index 680787058..000000000 --- a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "create:block/fluid_tank", - "particle": "create:block/fluid_tank" - }, - "elements": [ - { - "from": [-1, 12, 0], - "to": [0, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [7, 20, 8]}, - "faces": { - "north": {"uv": [0, 0, 1, 4], "texture": "#0"}, - "east": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "south": {"uv": [15, 0, 16, 4], "texture": "#0"}, - "west": {"uv": [0, 0, 16, 4], "texture": "#0"}, - "up": {"uv": [0, 0, 16, 1], "rotation": 270, "texture": "#0"}, - "down": {"uv": [0, 3, 16, 4], "rotation": 90, "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/create/particles/cube.json b/src/main/resources/assets/create/particles/cube.json new file mode 100644 index 000000000..0e0dcd235 --- /dev/null +++ b/src/main/resources/assets/create/particles/cube.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/src/main/resources/assets/create/particles/heater_particle.json b/src/main/resources/assets/create/particles/heater_particle.json new file mode 100644 index 000000000..f3ae8cda7 --- /dev/null +++ b/src/main/resources/assets/create/particles/heater_particle.json @@ -0,0 +1,5 @@ +{ + "textures": [ + "minecraft:flame" + ] +} diff --git a/src/main/resources/assets/create/textures/block/andesite_tunnel.png b/src/main/resources/assets/create/textures/block/andesite_tunnel.png index 3e3042ec0..a9991dfa1 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_tunnel.png and b/src/main/resources/assets/create/textures/block/andesite_tunnel.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_tunnel_top_window.png b/src/main/resources/assets/create/textures/block/andesite_tunnel_top_window.png new file mode 100644 index 000000000..7392a227f Binary files /dev/null and b/src/main/resources/assets/create/textures/block/andesite_tunnel_top_window.png differ diff --git a/src/main/resources/assets/create/textures/block/belt.png b/src/main/resources/assets/create/textures/block/belt.png index 68b626dd1..80df740f2 100644 Binary files a/src/main/resources/assets/create/textures/block/belt.png and b/src/main/resources/assets/create/textures/block/belt.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_animated.png b/src/main/resources/assets/create/textures/block/belt_animated.png index 28b236d4b..527b162fa 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_animated.png and b/src/main/resources/assets/create/textures/block/belt_animated.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_diagonal.png b/src/main/resources/assets/create/textures/block/belt_diagonal.png new file mode 100644 index 000000000..e311d5553 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/belt_diagonal.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_diagonal_animated.png b/src/main/resources/assets/create/textures/block/belt_diagonal_animated.png new file mode 100644 index 000000000..29a5552d5 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/belt_diagonal_animated.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_detect.png b/src/main/resources/assets/create/textures/block/belt_observer_detect.png index 52b6b9180..4faaaaf6e 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_detect.png and b/src/main/resources/assets/create/textures/block/belt_observer_detect.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_detect_powered.png b/src/main/resources/assets/create/textures/block/belt_observer_detect_powered.png index af9a00ace..cfbcbd3f9 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_detect_powered.png and b/src/main/resources/assets/create/textures/block/belt_observer_detect_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_eject.png b/src/main/resources/assets/create/textures/block/belt_observer_eject.png index bfc4beaef..2af7bb033 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_eject.png and b/src/main/resources/assets/create/textures/block/belt_observer_eject.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_eject_powered.png b/src/main/resources/assets/create/textures/block/belt_observer_eject_powered.png index b315be0f8..0ba27e18e 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_eject_powered.png and b/src/main/resources/assets/create/textures/block/belt_observer_eject_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_front.png b/src/main/resources/assets/create/textures/block/belt_observer_front.png index bb78e4ec7..d5f96f355 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_front.png and b/src/main/resources/assets/create/textures/block/belt_observer_front.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_pulse.png b/src/main/resources/assets/create/textures/block/belt_observer_pulse.png index ff8622be3..4335c723e 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_pulse.png and b/src/main/resources/assets/create/textures/block/belt_observer_pulse.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_pulse_powered.png b/src/main/resources/assets/create/textures/block/belt_observer_pulse_powered.png index e0872d4b2..bc43d342c 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_pulse_powered.png and b/src/main/resources/assets/create/textures/block/belt_observer_pulse_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_split.png b/src/main/resources/assets/create/textures/block/belt_observer_split.png index 9522f1eb9..ba7c764f0 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_split.png and b/src/main/resources/assets/create/textures/block/belt_observer_split.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_observer_split_powered.png b/src/main/resources/assets/create/textures/block/belt_observer_split_powered.png index fd825ceae..85599beba 100644 Binary files a/src/main/resources/assets/create/textures/block/belt_observer_split_powered.png and b/src/main/resources/assets/create/textures/block/belt_observer_split_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/belt_offset.png b/src/main/resources/assets/create/textures/block/belt_offset.png new file mode 100644 index 000000000..84d1001dd Binary files /dev/null and b/src/main/resources/assets/create/textures/block/belt_offset.png differ diff --git a/src/main/resources/assets/create/textures/block/blaze_heater_brazier.png b/src/main/resources/assets/create/textures/block/blaze_heater_brazier.png new file mode 100644 index 000000000..c74da74a3 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/blaze_heater_brazier.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_block.png b/src/main/resources/assets/create/textures/block/brass_block.png index 51415fb3e..68b6bf1e6 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_block.png and b/src/main/resources/assets/create/textures/block/brass_block.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_casing.png b/src/main/resources/assets/create/textures/block/brass_casing.png index cd2a94b07..fb657ce47 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_casing.png and b/src/main/resources/assets/create/textures/block/brass_casing.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_casing_belt.png b/src/main/resources/assets/create/textures/block/brass_casing_belt.png index b916b9e74..5c0c6cfd3 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_casing_belt.png and b/src/main/resources/assets/create/textures/block/brass_casing_belt.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_casing_connected.png b/src/main/resources/assets/create/textures/block/brass_casing_connected.png index 4ab6c99bb..d972ce31d 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_casing_connected.png and b/src/main/resources/assets/create/textures/block/brass_casing_connected.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_casing_side.png b/src/main/resources/assets/create/textures/block/brass_casing_side.png index bab9e0489..8574a3421 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_casing_side.png and b/src/main/resources/assets/create/textures/block/brass_casing_side.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel.png b/src/main/resources/assets/create/textures/block/brass_funnel.png index cd380a8b9..ff5b11607 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel.png and b/src/main/resources/assets/create/textures/block/brass_funnel.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_back.png b/src/main/resources/assets/create/textures/block/brass_funnel_back.png index 4723126a0..638481460 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_back.png and b/src/main/resources/assets/create/textures/block/brass_funnel_back.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_plating.png b/src/main/resources/assets/create/textures/block/brass_funnel_plating.png index c65e8626c..4653ff14c 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_plating.png and b/src/main/resources/assets/create/textures/block/brass_funnel_plating.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_powered.png b/src/main/resources/assets/create/textures/block/brass_funnel_powered.png index eb51c22fe..26a0d0c52 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_powered.png and b/src/main/resources/assets/create/textures/block/brass_funnel_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_pull.png b/src/main/resources/assets/create/textures/block/brass_funnel_pull.png index dbb3fab83..ebc52fde6 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_pull.png and b/src/main/resources/assets/create/textures/block/brass_funnel_pull.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_pull_powered.png b/src/main/resources/assets/create/textures/block/brass_funnel_pull_powered.png index cb757e00f..d66a2d4aa 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_pull_powered.png and b/src/main/resources/assets/create/textures/block/brass_funnel_pull_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_push.png b/src/main/resources/assets/create/textures/block/brass_funnel_push.png index 4e31e327f..e214fb94f 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_push.png and b/src/main/resources/assets/create/textures/block/brass_funnel_push.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_push_powered.png b/src/main/resources/assets/create/textures/block/brass_funnel_push_powered.png index 203afe626..b470004c1 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_push_powered.png and b/src/main/resources/assets/create/textures/block/brass_funnel_push_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_gearbox.png b/src/main/resources/assets/create/textures/block/brass_gearbox.png index c84dbf172..e7c0d57a6 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_gearbox.png and b/src/main/resources/assets/create/textures/block/brass_gearbox.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_tunnel.png b/src/main/resources/assets/create/textures/block/brass_tunnel.png index acc1814cd..f877d926f 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_tunnel.png and b/src/main/resources/assets/create/textures/block/brass_tunnel.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_tunnel_top.png b/src/main/resources/assets/create/textures/block/brass_tunnel_top.png index 508d6c0aa..737430df3 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_tunnel_top.png and b/src/main/resources/assets/create/textures/block/brass_tunnel_top.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_tunnel_top_connected.png b/src/main/resources/assets/create/textures/block/brass_tunnel_top_connected.png index deeb28a42..f7da3317b 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_tunnel_top_connected.png and b/src/main/resources/assets/create/textures/block/brass_tunnel_top_connected.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_tunnel_top_window.png b/src/main/resources/assets/create/textures/block/brass_tunnel_top_window.png new file mode 100644 index 000000000..df7c9d8e4 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/brass_tunnel_top_window.png differ diff --git a/src/main/resources/assets/create/textures/block/clockwork_bearing_side.png b/src/main/resources/assets/create/textures/block/clockwork_bearing_side.png index abb92596d..453894657 100644 Binary files a/src/main/resources/assets/create/textures/block/clockwork_bearing_side.png and b/src/main/resources/assets/create/textures/block/clockwork_bearing_side.png differ diff --git a/src/main/resources/assets/create/textures/block/contact_front.png b/src/main/resources/assets/create/textures/block/contact_front.png index 5691912b6..38f90a6ed 100644 Binary files a/src/main/resources/assets/create/textures/block/contact_front.png and b/src/main/resources/assets/create/textures/block/contact_front.png differ diff --git a/src/main/resources/assets/create/textures/block/contact_side.png b/src/main/resources/assets/create/textures/block/contact_side.png index 490905260..84bf79386 100644 Binary files a/src/main/resources/assets/create/textures/block/contact_side.png and b/src/main/resources/assets/create/textures/block/contact_side.png differ diff --git a/src/main/resources/assets/create/textures/block/contact_side_powered.png b/src/main/resources/assets/create/textures/block/contact_side_powered.png index 82240c3ed..a69505c23 100644 Binary files a/src/main/resources/assets/create/textures/block/contact_side_powered.png and b/src/main/resources/assets/create/textures/block/contact_side_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/copper_casing.png b/src/main/resources/assets/create/textures/block/copper_casing.png index 77ddc6db7..c4c96d8ae 100644 Binary files a/src/main/resources/assets/create/textures/block/copper_casing.png and b/src/main/resources/assets/create/textures/block/copper_casing.png differ diff --git a/src/main/resources/assets/create/textures/block/copper_casing_connected.png b/src/main/resources/assets/create/textures/block/copper_casing_connected.png index 095f37327..b972e9bc6 100644 Binary files a/src/main/resources/assets/create/textures/block/copper_casing_connected.png and b/src/main/resources/assets/create/textures/block/copper_casing_connected.png differ diff --git a/src/main/resources/assets/create/textures/block/crafter_side.png b/src/main/resources/assets/create/textures/block/crafter_side.png index b8f204444..7d5eb19af 100644 Binary files a/src/main/resources/assets/create/textures/block/crafter_side.png and b/src/main/resources/assets/create/textures/block/crafter_side.png differ diff --git a/src/main/resources/assets/create/textures/block/crafter_side_connected.png b/src/main/resources/assets/create/textures/block/crafter_side_connected.png index 85670c63d..08c6d9c56 100644 Binary files a/src/main/resources/assets/create/textures/block/crafter_side_connected.png and b/src/main/resources/assets/create/textures/block/crafter_side_connected.png differ diff --git a/src/main/resources/assets/create/textures/block/crafter_thingies.png b/src/main/resources/assets/create/textures/block/crafter_thingies.png index 89501d9c8..dd227b267 100644 Binary files a/src/main/resources/assets/create/textures/block/crafter_thingies.png and b/src/main/resources/assets/create/textures/block/crafter_thingies.png differ diff --git a/src/main/resources/assets/create/textures/block/crafter_top.png b/src/main/resources/assets/create/textures/block/crafter_top.png index 89d4f7e20..7c28826ba 100644 Binary files a/src/main/resources/assets/create/textures/block/crafter_top.png and b/src/main/resources/assets/create/textures/block/crafter_top.png differ diff --git a/src/main/resources/assets/create/textures/block/crafter_topunderside.png b/src/main/resources/assets/create/textures/block/crafter_topunderside.png index 3d0b68797..1a9e08188 100644 Binary files a/src/main/resources/assets/create/textures/block/crafter_topunderside.png and b/src/main/resources/assets/create/textures/block/crafter_topunderside.png differ diff --git a/src/main/resources/assets/create/textures/block/crate_brass.png b/src/main/resources/assets/create/textures/block/crate_brass.png index 23309fb6f..df5e9cf40 100644 Binary files a/src/main/resources/assets/create/textures/block/crate_brass.png and b/src/main/resources/assets/create/textures/block/crate_brass.png differ diff --git a/src/main/resources/assets/create/textures/block/crate_brass_side.png b/src/main/resources/assets/create/textures/block/crate_brass_side.png index abe67bd3c..c2c13254a 100644 Binary files a/src/main/resources/assets/create/textures/block/crate_brass_side.png and b/src/main/resources/assets/create/textures/block/crate_brass_side.png differ diff --git a/src/main/resources/assets/create/textures/block/crate_copper.png b/src/main/resources/assets/create/textures/block/crate_copper.png index 291bafc0e..cfc1e351c 100644 Binary files a/src/main/resources/assets/create/textures/block/crate_copper.png and b/src/main/resources/assets/create/textures/block/crate_copper.png differ diff --git a/src/main/resources/assets/create/textures/block/crate_copper_side.png b/src/main/resources/assets/create/textures/block/crate_copper_side.png index 8977a997a..73fa47256 100644 Binary files a/src/main/resources/assets/create/textures/block/crate_copper_side.png and b/src/main/resources/assets/create/textures/block/crate_copper_side.png differ diff --git a/src/main/resources/assets/create/textures/block/extractor.png b/src/main/resources/assets/create/textures/block/extractor.png index afeae9e5d..07a6b06fe 100644 Binary files a/src/main/resources/assets/create/textures/block/extractor.png and b/src/main/resources/assets/create/textures/block/extractor.png differ diff --git a/src/main/resources/assets/create/textures/block/extractor_powered.png b/src/main/resources/assets/create/textures/block/extractor_powered.png index 4a4c14dce..a7f0cf6c3 100644 Binary files a/src/main/resources/assets/create/textures/block/extractor_powered.png and b/src/main/resources/assets/create/textures/block/extractor_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/fan_side.png b/src/main/resources/assets/create/textures/block/fan_side.png index 836e4b628..d191c5f31 100644 Binary files a/src/main/resources/assets/create/textures/block/fan_side.png and b/src/main/resources/assets/create/textures/block/fan_side.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_pipe.png b/src/main/resources/assets/create/textures/block/fluid_pipe.png index d20660b19..16b475d5e 100644 Binary files a/src/main/resources/assets/create/textures/block/fluid_pipe.png and b/src/main/resources/assets/create/textures/block/fluid_pipe.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_tank.png b/src/main/resources/assets/create/textures/block/fluid_tank.png index be50240aa..fbcc5a2fa 100644 Binary files a/src/main/resources/assets/create/textures/block/fluid_tank.png and b/src/main/resources/assets/create/textures/block/fluid_tank.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_tank_connected.png b/src/main/resources/assets/create/textures/block/fluid_tank_connected.png index c8a1824bf..2ce847acb 100644 Binary files a/src/main/resources/assets/create/textures/block/fluid_tank_connected.png and b/src/main/resources/assets/create/textures/block/fluid_tank_connected.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_tank_window.png b/src/main/resources/assets/create/textures/block/fluid_tank_window.png new file mode 100644 index 000000000..3c7bbdfab Binary files /dev/null and b/src/main/resources/assets/create/textures/block/fluid_tank_window.png differ diff --git a/src/main/resources/assets/create/textures/block/fluid_tank_window_single.png b/src/main/resources/assets/create/textures/block/fluid_tank_window_single.png new file mode 100644 index 000000000..aa8a3bb58 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/fluid_tank_window_single.png differ diff --git a/src/main/resources/assets/create/textures/block/furnace_cylinder.png b/src/main/resources/assets/create/textures/block/furnace_cylinder.png index cffb1fcae..3a894c105 100644 Binary files a/src/main/resources/assets/create/textures/block/furnace_cylinder.png and b/src/main/resources/assets/create/textures/block/furnace_cylinder.png differ diff --git a/src/main/resources/assets/create/textures/block/linear_chassis_side.png b/src/main/resources/assets/create/textures/block/linear_chassis_side.png index 798edee9e..d395ef06f 100644 Binary files a/src/main/resources/assets/create/textures/block/linear_chassis_side.png and b/src/main/resources/assets/create/textures/block/linear_chassis_side.png differ diff --git a/src/main/resources/assets/create/textures/block/mechanical_arm.png b/src/main/resources/assets/create/textures/block/mechanical_arm.png index 113380983..c01a1ca7f 100644 Binary files a/src/main/resources/assets/create/textures/block/mechanical_arm.png and b/src/main/resources/assets/create/textures/block/mechanical_arm.png differ diff --git a/src/main/resources/assets/create/textures/block/nixie_tube.png b/src/main/resources/assets/create/textures/block/nixie_tube.png index 3574f8f1f..63202b6a6 100644 Binary files a/src/main/resources/assets/create/textures/block/nixie_tube.png and b/src/main/resources/assets/create/textures/block/nixie_tube.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_0.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_0.png index 8488751f7..ee40eba88 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_0.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_0.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_1.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_1.png index 5edf2e8aa..bf7280aef 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_1.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_1.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_2.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_2.png index f2be5bd4f..712b37d02 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_2.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_2.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_3.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_3.png index 26dee4532..9f3b7959b 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_3.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_3.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_4.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_4.png index 39c727abb..a42ed99bf 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_4.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_4.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_5.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_5.png index 349cd141a..7f82a42c6 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_5.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_5.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_6.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_6.png index 48c2f7e45..70286ad9e 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_6.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_6.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_block_7.png b/src/main/resources/assets/create/textures/block/oxidized/copper_block_7.png index 7b5b9643b..6aacfa9df 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_block_7.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_block_7.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_0.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_0.png index 5e0c26108..e619d8508 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_0.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_0.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_1.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_1.png index 2d0028a3b..3fb1de8d8 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_1.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_1.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_2.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_2.png index d0a2de081..074f39f12 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_2.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_2.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_3.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_3.png index d8dbccbe4..28cf0f840 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_3.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_3.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_4.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_4.png index af98ee136..3b1c1c150 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_4.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_4.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_5.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_5.png index d84e2ac15..cf817c3bc 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_5.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_5.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_6.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_6.png index 28b4c4dbc..06b434f29 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_6.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_6.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_7.png b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_7.png index 57faad8b2..cbb66a8eb 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_ore_7.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_ore_7.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_0.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_0.png index 6d60275e8..385718f7e 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_0.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_0.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_1.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_1.png index f9062bf16..98fdc0f94 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_1.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_1.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_2.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_2.png index d988bad1c..e65b87f63 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_2.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_2.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_3.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_3.png index c996e3f64..99b350e0a 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_3.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_3.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_4.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_4.png index ec2b2623b..c9a6cf7b8 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_4.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_4.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_5.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_5.png index b390f752a..703ec58af 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_5.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_5.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_6.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_6.png index aa6679836..6292f78f9 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_6.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_6.png differ diff --git a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_7.png b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_7.png index d37cf7798..05878b644 100644 Binary files a/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_7.png and b/src/main/resources/assets/create/textures/block/oxidized/copper_shingles_7.png differ diff --git a/src/main/resources/assets/create/textures/block/pump.png b/src/main/resources/assets/create/textures/block/pump.png index 602d2a942..78ee40591 100644 Binary files a/src/main/resources/assets/create/textures/block/pump.png and b/src/main/resources/assets/create/textures/block/pump.png differ diff --git a/src/main/resources/assets/create/textures/block/radial_chassis_end.png b/src/main/resources/assets/create/textures/block/radial_chassis_end.png index a4eef9d8a..22d1c7bfa 100644 Binary files a/src/main/resources/assets/create/textures/block/radial_chassis_end.png and b/src/main/resources/assets/create/textures/block/radial_chassis_end.png differ diff --git a/src/main/resources/assets/create/textures/block/radial_chassis_side.png b/src/main/resources/assets/create/textures/block/radial_chassis_side.png index bf9d01277..19d319769 100644 Binary files a/src/main/resources/assets/create/textures/block/radial_chassis_side.png and b/src/main/resources/assets/create/textures/block/radial_chassis_side.png differ diff --git a/src/main/resources/assets/create/textures/block/radial_chassis_side_sticky.png b/src/main/resources/assets/create/textures/block/radial_chassis_side_sticky.png index 9f48bdcd4..62f163bb6 100644 Binary files a/src/main/resources/assets/create/textures/block/radial_chassis_side_sticky.png and b/src/main/resources/assets/create/textures/block/radial_chassis_side_sticky.png differ diff --git a/src/main/resources/assets/create/textures/block/redstone_bridge.png b/src/main/resources/assets/create/textures/block/redstone_bridge.png index e0cd2900c..d930f4f74 100644 Binary files a/src/main/resources/assets/create/textures/block/redstone_bridge.png and b/src/main/resources/assets/create/textures/block/redstone_bridge.png differ diff --git a/src/main/resources/assets/create/textures/block/redstone_bridge_powered.png b/src/main/resources/assets/create/textures/block/redstone_bridge_powered.png index f44545e2d..d5acd8580 100644 Binary files a/src/main/resources/assets/create/textures/block/redstone_bridge_powered.png and b/src/main/resources/assets/create/textures/block/redstone_bridge_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/redstone_bridge_side.png b/src/main/resources/assets/create/textures/block/redstone_bridge_side.png index 772f9f8b6..45aa45b8b 100644 Binary files a/src/main/resources/assets/create/textures/block/redstone_bridge_side.png and b/src/main/resources/assets/create/textures/block/redstone_bridge_side.png differ diff --git a/src/main/resources/assets/create/textures/block/redstone_bridge_side_powered.png b/src/main/resources/assets/create/textures/block/redstone_bridge_side_powered.png index 82d8928ce..b60247090 100644 Binary files a/src/main/resources/assets/create/textures/block/redstone_bridge_side_powered.png and b/src/main/resources/assets/create/textures/block/redstone_bridge_side_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/secondary_linear_chassis_side.png b/src/main/resources/assets/create/textures/block/secondary_linear_chassis_side.png index bd2ef1607..2eb50a89c 100644 Binary files a/src/main/resources/assets/create/textures/block/secondary_linear_chassis_side.png and b/src/main/resources/assets/create/textures/block/secondary_linear_chassis_side.png differ diff --git a/src/main/resources/assets/create/textures/block/sequenced_gearshift.png b/src/main/resources/assets/create/textures/block/sequenced_gearshift.png index cb48df541..1e0a9443c 100644 Binary files a/src/main/resources/assets/create/textures/block/sequenced_gearshift.png and b/src/main/resources/assets/create/textures/block/sequenced_gearshift.png differ diff --git a/src/main/resources/assets/create/textures/block/sequenced_gearshift_1.png b/src/main/resources/assets/create/textures/block/sequenced_gearshift_1.png index 972947432..7a0d375d6 100644 Binary files a/src/main/resources/assets/create/textures/block/sequenced_gearshift_1.png and b/src/main/resources/assets/create/textures/block/sequenced_gearshift_1.png differ diff --git a/src/main/resources/assets/create/textures/block/sequenced_gearshift_2.png b/src/main/resources/assets/create/textures/block/sequenced_gearshift_2.png index 0de7980a4..c6f63c365 100644 Binary files a/src/main/resources/assets/create/textures/block/sequenced_gearshift_2.png and b/src/main/resources/assets/create/textures/block/sequenced_gearshift_2.png differ diff --git a/src/main/resources/assets/create/textures/block/sequenced_gearshift_3.png b/src/main/resources/assets/create/textures/block/sequenced_gearshift_3.png index 5e43c4250..0ed6ea628 100644 Binary files a/src/main/resources/assets/create/textures/block/sequenced_gearshift_3.png and b/src/main/resources/assets/create/textures/block/sequenced_gearshift_3.png differ diff --git a/src/main/resources/assets/create/textures/block/sequenced_gearshift_4.png b/src/main/resources/assets/create/textures/block/sequenced_gearshift_4.png index e0ede7442..8c4e19434 100644 Binary files a/src/main/resources/assets/create/textures/block/sequenced_gearshift_4.png and b/src/main/resources/assets/create/textures/block/sequenced_gearshift_4.png differ diff --git a/src/main/resources/assets/create/textures/block/steam_engine_wheel.png b/src/main/resources/assets/create/textures/block/steam_engine_wheel.png index 252e6dbd2..13f9ea368 100644 Binary files a/src/main/resources/assets/create/textures/block/steam_engine_wheel.png and b/src/main/resources/assets/create/textures/block/steam_engine_wheel.png differ diff --git a/src/main/resources/assets/create/textures/block/tamed_blaze.png b/src/main/resources/assets/create/textures/block/tamed_blaze.png new file mode 100644 index 000000000..ba3918be1 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/tamed_blaze.png differ diff --git a/src/main/resources/assets/create/textures/block/transposer.png b/src/main/resources/assets/create/textures/block/transposer.png index 056e2a6f0..e2c0dd6db 100644 Binary files a/src/main/resources/assets/create/textures/block/transposer.png and b/src/main/resources/assets/create/textures/block/transposer.png differ diff --git a/src/main/resources/assets/create/textures/item/brass_ingot.png b/src/main/resources/assets/create/textures/item/brass_ingot.png index ea33f846b..d6a6d1787 100644 Binary files a/src/main/resources/assets/create/textures/item/brass_ingot.png and b/src/main/resources/assets/create/textures/item/brass_ingot.png differ diff --git a/src/main/resources/assets/create/textures/item/brass_nugget.png b/src/main/resources/assets/create/textures/item/brass_nugget.png index 006e82a65..8c5dde366 100644 Binary files a/src/main/resources/assets/create/textures/item/brass_nugget.png and b/src/main/resources/assets/create/textures/item/brass_nugget.png differ diff --git a/src/main/resources/assets/create/textures/item/brass_sheet.png b/src/main/resources/assets/create/textures/item/brass_sheet.png index e2bfe58df..24544270b 100644 Binary files a/src/main/resources/assets/create/textures/item/brass_sheet.png and b/src/main/resources/assets/create/textures/item/brass_sheet.png differ diff --git a/src/main/resources/assets/create/textures/item/copper_ingot.png b/src/main/resources/assets/create/textures/item/copper_ingot.png index 4819b12c9..c143bb2b7 100644 Binary files a/src/main/resources/assets/create/textures/item/copper_ingot.png and b/src/main/resources/assets/create/textures/item/copper_ingot.png differ diff --git a/src/main/resources/assets/create/textures/item/copper_nugget.png b/src/main/resources/assets/create/textures/item/copper_nugget.png index 47639a21c..06e7f0cce 100644 Binary files a/src/main/resources/assets/create/textures/item/copper_nugget.png and b/src/main/resources/assets/create/textures/item/copper_nugget.png differ diff --git a/src/main/resources/assets/create/textures/item/copper_sheet.png b/src/main/resources/assets/create/textures/item/copper_sheet.png index ca75ea491..0b6a554b3 100644 Binary files a/src/main/resources/assets/create/textures/item/copper_sheet.png and b/src/main/resources/assets/create/textures/item/copper_sheet.png differ diff --git a/src/main/resources/assets/create/textures/item/crafter_slot_cover.png b/src/main/resources/assets/create/textures/item/crafter_slot_cover.png index ed3c701dc..e7e4e0400 100644 Binary files a/src/main/resources/assets/create/textures/item/crafter_slot_cover.png and b/src/main/resources/assets/create/textures/item/crafter_slot_cover.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_brass.png b/src/main/resources/assets/create/textures/item/crushed_brass.png index 5b55b00ff..af3f2ed8f 100644 Binary files a/src/main/resources/assets/create/textures/item/crushed_brass.png and b/src/main/resources/assets/create/textures/item/crushed_brass.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_copper_ore.png b/src/main/resources/assets/create/textures/item/crushed_copper_ore.png index 2adce76cf..1ea9c05a9 100644 Binary files a/src/main/resources/assets/create/textures/item/crushed_copper_ore.png and b/src/main/resources/assets/create/textures/item/crushed_copper_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_gold_ore.png b/src/main/resources/assets/create/textures/item/crushed_gold_ore.png index 14b46b062..cc381b534 100644 Binary files a/src/main/resources/assets/create/textures/item/crushed_gold_ore.png and b/src/main/resources/assets/create/textures/item/crushed_gold_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_iron_ore.png b/src/main/resources/assets/create/textures/item/crushed_iron_ore.png index 1f2b11ea7..19900aedc 100644 Binary files a/src/main/resources/assets/create/textures/item/crushed_iron_ore.png and b/src/main/resources/assets/create/textures/item/crushed_iron_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/crushed_zinc_ore.png b/src/main/resources/assets/create/textures/item/crushed_zinc_ore.png index 933718473..b57536391 100644 Binary files a/src/main/resources/assets/create/textures/item/crushed_zinc_ore.png and b/src/main/resources/assets/create/textures/item/crushed_zinc_ore.png differ diff --git a/src/main/resources/assets/create/textures/item/electron_tube.png b/src/main/resources/assets/create/textures/item/electron_tube.png index 3dac82c2a..3bf2cfbed 100644 Binary files a/src/main/resources/assets/create/textures/item/electron_tube.png and b/src/main/resources/assets/create/textures/item/electron_tube.png differ diff --git a/src/main/resources/assets/create/textures/item/fuel_pellet.png b/src/main/resources/assets/create/textures/item/fuel_pellet.png new file mode 100644 index 000000000..01aaf3919 Binary files /dev/null and b/src/main/resources/assets/create/textures/item/fuel_pellet.png differ diff --git a/src/main/resources/assets/create/textures/item/golden_sheet.png b/src/main/resources/assets/create/textures/item/golden_sheet.png index 5464e5813..2d2261b26 100644 Binary files a/src/main/resources/assets/create/textures/item/golden_sheet.png and b/src/main/resources/assets/create/textures/item/golden_sheet.png differ diff --git a/src/main/resources/assets/create/textures/item/integrated_circuit.png b/src/main/resources/assets/create/textures/item/integrated_circuit.png index eb593d240..7080487ca 100644 Binary files a/src/main/resources/assets/create/textures/item/integrated_circuit.png and b/src/main/resources/assets/create/textures/item/integrated_circuit.png differ diff --git a/src/main/resources/assets/create/textures/item/iron_sheet.png b/src/main/resources/assets/create/textures/item/iron_sheet.png index 788f22798..e7042ef09 100644 Binary files a/src/main/resources/assets/create/textures/item/iron_sheet.png and b/src/main/resources/assets/create/textures/item/iron_sheet.png differ diff --git a/src/main/resources/assets/create/textures/item/lapis_sheet.png b/src/main/resources/assets/create/textures/item/lapis_sheet.png index fedd11d78..ad9a988fd 100644 Binary files a/src/main/resources/assets/create/textures/item/lapis_sheet.png and b/src/main/resources/assets/create/textures/item/lapis_sheet.png differ diff --git a/src/main/resources/assets/create/textures/item/polished_rose_quartz.png b/src/main/resources/assets/create/textures/item/polished_rose_quartz.png index 5991ce35e..db75387db 100644 Binary files a/src/main/resources/assets/create/textures/item/polished_rose_quartz.png and b/src/main/resources/assets/create/textures/item/polished_rose_quartz.png differ diff --git a/src/main/resources/assets/create/textures/item/refined_radiance.png b/src/main/resources/assets/create/textures/item/refined_radiance.png index e07427beb..2dba5b0bf 100644 Binary files a/src/main/resources/assets/create/textures/item/refined_radiance.png and b/src/main/resources/assets/create/textures/item/refined_radiance.png differ diff --git a/src/main/resources/assets/create/textures/item/rose_quartz.png b/src/main/resources/assets/create/textures/item/rose_quartz.png index 833ec96af..a4daf8102 100644 Binary files a/src/main/resources/assets/create/textures/item/rose_quartz.png and b/src/main/resources/assets/create/textures/item/rose_quartz.png differ diff --git a/src/main/resources/assets/create/textures/item/shadow_steel.png b/src/main/resources/assets/create/textures/item/shadow_steel.png index 21cca5e1b..af2575c77 100644 Binary files a/src/main/resources/assets/create/textures/item/shadow_steel.png and b/src/main/resources/assets/create/textures/item/shadow_steel.png differ diff --git a/src/main/resources/assets/create/textures/item/zinc_ingot.png b/src/main/resources/assets/create/textures/item/zinc_ingot.png index b30689d60..a74549d58 100644 Binary files a/src/main/resources/assets/create/textures/item/zinc_ingot.png and b/src/main/resources/assets/create/textures/item/zinc_ingot.png differ diff --git a/src/main/resources/assets/create/textures/item/zinc_nugget.png b/src/main/resources/assets/create/textures/item/zinc_nugget.png index f483f9c6d..1470f83fe 100644 Binary files a/src/main/resources/assets/create/textures/item/zinc_nugget.png and b/src/main/resources/assets/create/textures/item/zinc_nugget.png differ diff --git a/src/main/resources/data/create/recipes/mixing/brass_ingot.json b/src/main/resources/data/create/recipes/mixing/brass_ingot.json index cf03e301b..3a2e2f3d1 100644 --- a/src/main/resources/data/create/recipes/mixing/brass_ingot.json +++ b/src/main/resources/data/create/recipes/mixing/brass_ingot.json @@ -6,15 +6,13 @@ }, { "tag": "forge:ingots/zinc" - }, - { - "item": "minecraft:blaze_powder" - } + } ], "results": [ { "item": "create:brass_ingot", "count": 2 } - ] + ], + "requiredHeat": 3 } \ No newline at end of file diff --git a/src/main/resources/data/create/tags/blocks/brittle.json b/src/main/resources/data/create/tags/blocks/brittle.json deleted file mode 100644 index 4308e5b7c..000000000 --- a/src/main/resources/data/create/tags/blocks/brittle.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "replace": false, - "values": [ - "#minecraft:doors", - "minecraft:flower_pot", - "minecraft:bell" - ], - "optional": [ - - ] -} \ No newline at end of file diff --git a/src/main/resources/data/create/tags/blocks/fan_heaters.json b/src/main/resources/data/create/tags/blocks/fan_heaters.json deleted file mode 100644 index 2e38dca24..000000000 --- a/src/main/resources/data/create/tags/blocks/fan_heaters.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:fire", "minecraft:campfire", "minecraft:lava", "minecraft:magma_block" - ] -} \ No newline at end of file