diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 2a50961a2..33942da90 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -5,7 +5,7 @@ f0d6baaabda94151134f569246d61a6e710c35a9 assets/create/blockstates/acacia_window 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 +0a172dea0746027be3676e87271615f1307245a6 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 @@ -15,7 +15,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bric 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 +11908c2f8603e61bec88010bc6d0890e6339c6b1 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 @@ -382,10 +382,14 @@ cda6f9761431c5b8538f746db2dc55e5fb57bf01 assets/create/models/block/adjustable_p 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 +4b8c1db868de612ae6a49d9133db700ac6a3d688 assets/create/models/block/andesite_belt_funnel_pull_extended.json +eb7f1bfcd856bf302cb24dda09994ceef280fca2 assets/create/models/block/andesite_belt_funnel_pull_powered_extended.json +d5d7c62b16aa3cfb279b4e3100f910c1782b5846 assets/create/models/block/andesite_belt_funnel_pull_powered_retracted.json +2d228eae550d573f4cad06ed6f6d51e4975fdde6 assets/create/models/block/andesite_belt_funnel_pull_retracted.json +2a3b929e3c24f70a0842b9ce56c175c4383e2598 assets/create/models/block/andesite_belt_funnel_push_extended.json +56a4d2e099fb285fd04ef095ced3bd7046835711 assets/create/models/block/andesite_belt_funnel_push_powered_extended.json +8a73d43517d64f873896631fbe7fccd085e1603a assets/create/models/block/andesite_belt_funnel_push_powered_retracted.json +aff112cb4ca73f3b1f71e98ccd984ee286da2930 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 @@ -403,7 +407,8 @@ ad255a62a5f54b578db06e89fd7160001f905675 assets/create/models/block/andesite_cob 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 +51e851b15870c0922cfbe911ef1a2f22062969f3 assets/create/models/block/andesite_funnel.json +f28da6703691f1b08cfb49208f0f7bb0c5ca816d assets/create/models/block/andesite_funnel_powered.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 @@ -434,18 +439,18 @@ fa79580db6187c864bc8148a41987ecdd1eb03b7 assets/create/models/block/belt_observe 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 +24dff9a8d22c9a88286d2b7d08384ac9f281a512 assets/create/models/block/brass_belt_funnel_pull_extended.json +c9c5f53c9d4f6cf6f509452e91cab1ba5b57f807 assets/create/models/block/brass_belt_funnel_pull_powered_extended.json +addcf821a2348c0985bf9a72229355cfab818069 assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json +332c7b8bf2feb635290b05788b61ead0b2cc813a assets/create/models/block/brass_belt_funnel_pull_retracted.json +094a5aedd53295aaa9b78deedf7899f9875dc5d8 assets/create/models/block/brass_belt_funnel_push_extended.json +44d2cf63398e5e4c39f43412a00d7f0213d8703c assets/create/models/block/brass_belt_funnel_push_powered_extended.json +07eb19291e5c6108e9e25f57f512747bc48352dd assets/create/models/block/brass_belt_funnel_push_powered_retracted.json +6ff63956c71363f198588aca3fd849ad4e0c8863 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 -6c617fc504cb2259263d24fc56c4735e455aac6d assets/create/models/block/brass_funnel.json -2f152b82291b7fc994191b1ffb8ec6d65aec748b assets/create/models/block/brass_funnel_powered.json +838e7ab4c0c9d89eacfa078daf64995e505db896 assets/create/models/block/brass_funnel.json +6099ba0366065d15d3b2821474850a1ae85485ea 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 @@ -1018,7 +1023,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric 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 +7490819e7e5445019b6b8cb2538f12a5b6717a46 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 @@ -1031,7 +1036,7 @@ bf1fc6bdf7fca6f1958a2d3e96202c1cecb50669 assets/create/models/item/basin.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 +099961ca4a75b6ecfddd1db6dd29909276759f3b 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 diff --git a/src/generated/resources/assets/create/blockstates/andesite_belt_funnel.json b/src/generated/resources/assets/create/blockstates/andesite_belt_funnel.json index 750bc272b..369be6128 100644 --- a/src/generated/resources/assets/create/blockstates/andesite_belt_funnel.json +++ b/src/generated/resources/assets/create/blockstates/andesite_belt_funnel.json @@ -1,64 +1,124 @@ { "variants": { - "facing=north,pushing=false,shape=retracted": { + "facing=north,powered=false,pushing=false,shape=retracted": { "model": "create:block/andesite_belt_funnel_pull_retracted" }, - "facing=south,pushing=false,shape=retracted": { + "facing=south,powered=false,pushing=false,shape=retracted": { "model": "create:block/andesite_belt_funnel_pull_retracted", "y": 180 }, - "facing=west,pushing=false,shape=retracted": { + "facing=west,powered=false,pushing=false,shape=retracted": { "model": "create:block/andesite_belt_funnel_pull_retracted", "y": 270 }, - "facing=east,pushing=false,shape=retracted": { + "facing=east,powered=false,pushing=false,shape=retracted": { "model": "create:block/andesite_belt_funnel_pull_retracted", "y": 90 }, - "facing=north,pushing=true,shape=retracted": { + "facing=north,powered=true,pushing=false,shape=retracted": { + "model": "create:block/andesite_belt_funnel_pull_powered_retracted" + }, + "facing=south,powered=true,pushing=false,shape=retracted": { + "model": "create:block/andesite_belt_funnel_pull_powered_retracted", + "y": 180 + }, + "facing=west,powered=true,pushing=false,shape=retracted": { + "model": "create:block/andesite_belt_funnel_pull_powered_retracted", + "y": 270 + }, + "facing=east,powered=true,pushing=false,shape=retracted": { + "model": "create:block/andesite_belt_funnel_pull_powered_retracted", + "y": 90 + }, + "facing=north,powered=false,pushing=true,shape=retracted": { "model": "create:block/andesite_belt_funnel_push_retracted" }, - "facing=south,pushing=true,shape=retracted": { + "facing=south,powered=false,pushing=true,shape=retracted": { "model": "create:block/andesite_belt_funnel_push_retracted", "y": 180 }, - "facing=west,pushing=true,shape=retracted": { + "facing=west,powered=false,pushing=true,shape=retracted": { "model": "create:block/andesite_belt_funnel_push_retracted", "y": 270 }, - "facing=east,pushing=true,shape=retracted": { + "facing=east,powered=false,pushing=true,shape=retracted": { "model": "create:block/andesite_belt_funnel_push_retracted", "y": 90 }, - "facing=north,pushing=false,shape=extended": { + "facing=north,powered=true,pushing=true,shape=retracted": { + "model": "create:block/andesite_belt_funnel_push_powered_retracted" + }, + "facing=south,powered=true,pushing=true,shape=retracted": { + "model": "create:block/andesite_belt_funnel_push_powered_retracted", + "y": 180 + }, + "facing=west,powered=true,pushing=true,shape=retracted": { + "model": "create:block/andesite_belt_funnel_push_powered_retracted", + "y": 270 + }, + "facing=east,powered=true,pushing=true,shape=retracted": { + "model": "create:block/andesite_belt_funnel_push_powered_retracted", + "y": 90 + }, + "facing=north,powered=false,pushing=false,shape=extended": { "model": "create:block/andesite_belt_funnel_pull_extended" }, - "facing=south,pushing=false,shape=extended": { + "facing=south,powered=false,pushing=false,shape=extended": { "model": "create:block/andesite_belt_funnel_pull_extended", "y": 180 }, - "facing=west,pushing=false,shape=extended": { + "facing=west,powered=false,pushing=false,shape=extended": { "model": "create:block/andesite_belt_funnel_pull_extended", "y": 270 }, - "facing=east,pushing=false,shape=extended": { + "facing=east,powered=false,pushing=false,shape=extended": { "model": "create:block/andesite_belt_funnel_pull_extended", "y": 90 }, - "facing=north,pushing=true,shape=extended": { + "facing=north,powered=true,pushing=false,shape=extended": { + "model": "create:block/andesite_belt_funnel_pull_powered_extended" + }, + "facing=south,powered=true,pushing=false,shape=extended": { + "model": "create:block/andesite_belt_funnel_pull_powered_extended", + "y": 180 + }, + "facing=west,powered=true,pushing=false,shape=extended": { + "model": "create:block/andesite_belt_funnel_pull_powered_extended", + "y": 270 + }, + "facing=east,powered=true,pushing=false,shape=extended": { + "model": "create:block/andesite_belt_funnel_pull_powered_extended", + "y": 90 + }, + "facing=north,powered=false,pushing=true,shape=extended": { "model": "create:block/andesite_belt_funnel_push_extended" }, - "facing=south,pushing=true,shape=extended": { + "facing=south,powered=false,pushing=true,shape=extended": { "model": "create:block/andesite_belt_funnel_push_extended", "y": 180 }, - "facing=west,pushing=true,shape=extended": { + "facing=west,powered=false,pushing=true,shape=extended": { "model": "create:block/andesite_belt_funnel_push_extended", "y": 270 }, - "facing=east,pushing=true,shape=extended": { + "facing=east,powered=false,pushing=true,shape=extended": { "model": "create:block/andesite_belt_funnel_push_extended", "y": 90 + }, + "facing=north,powered=true,pushing=true,shape=extended": { + "model": "create:block/andesite_belt_funnel_push_powered_extended" + }, + "facing=south,powered=true,pushing=true,shape=extended": { + "model": "create:block/andesite_belt_funnel_push_powered_extended", + "y": 180 + }, + "facing=west,powered=true,pushing=true,shape=extended": { + "model": "create:block/andesite_belt_funnel_push_powered_extended", + "y": 270 + }, + "facing=east,powered=true,pushing=true,shape=extended": { + "model": "create:block/andesite_belt_funnel_push_powered_extended", + "y": 90 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/andesite_funnel.json b/src/generated/resources/assets/create/blockstates/andesite_funnel.json index 29e935e43..9056622b7 100644 --- a/src/generated/resources/assets/create/blockstates/andesite_funnel.json +++ b/src/generated/resources/assets/create/blockstates/andesite_funnel.json @@ -1,30 +1,56 @@ { "variants": { - "facing=down": { + "facing=down,powered=false": { "model": "create:block/andesite_funnel", "x": 180 }, - "facing=up": { + "facing=up,powered=false": { "model": "create:block/andesite_funnel" }, - "facing=north": { + "facing=north,powered=false": { "model": "create:block/andesite_funnel", "x": 90 }, - "facing=south": { + "facing=south,powered=false": { "model": "create:block/andesite_funnel", "x": 90, "y": 180 }, - "facing=west": { + "facing=west,powered=false": { "model": "create:block/andesite_funnel", "x": 90, "y": 270 }, - "facing=east": { + "facing=east,powered=false": { "model": "create:block/andesite_funnel", "x": 90, "y": 90 + }, + "facing=down,powered=true": { + "model": "create:block/andesite_funnel_powered", + "x": 180 + }, + "facing=up,powered=true": { + "model": "create:block/andesite_funnel_powered" + }, + "facing=north,powered=true": { + "model": "create:block/andesite_funnel_powered", + "x": 90 + }, + "facing=south,powered=true": { + "model": "create:block/andesite_funnel_powered", + "x": 90, + "y": 180 + }, + "facing=west,powered=true": { + "model": "create:block/andesite_funnel_powered", + "x": 90, + "y": 270 + }, + "facing=east,powered=true": { + "model": "create:block/andesite_funnel_powered", + "x": 90, + "y": 90 } } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_extended.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_extended.json index da858b2fc..f79ae5977 100644 --- a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_extended.json +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/andesite_casing", + "particle": "block/polished_andesite", "2": "create:block/andesite_funnel_pull", "3": "create:block/andesite_funnel_back", - "4": "create:block/andesite_funnel_plating" + "5": "create:block/andesite_funnel_tall", + "6": "create:block/andesite_funnel", + "7": "create:block/andesite_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_extended.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_extended.json new file mode 100644 index 000000000..4475b476b --- /dev/null +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_extended.json @@ -0,0 +1,11 @@ +{ + "parent": "create:block/belt_funnel/block_extended", + "textures": { + "particle": "block/polished_andesite", + "2": "create:block/andesite_funnel_pull", + "3": "create:block/andesite_funnel_back", + "5": "create:block/andesite_funnel_tall_powered", + "6": "create:block/andesite_funnel_powered", + "7": "create:block/andesite_funnel_plating" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_retracted.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_retracted.json new file mode 100644 index 000000000..4ade59fc5 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_powered_retracted.json @@ -0,0 +1,11 @@ +{ + "parent": "create:block/belt_funnel/block_retracted", + "textures": { + "particle": "block/polished_andesite", + "2": "create:block/andesite_funnel_pull", + "3": "create:block/andesite_funnel_back", + "5": "create:block/andesite_funnel_tall_powered", + "6": "create:block/andesite_funnel_powered", + "7": "create:block/andesite_funnel_plating" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_retracted.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_retracted.json index 67b96635e..f77372c76 100644 --- a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_retracted.json +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_pull_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/andesite_casing", + "particle": "block/polished_andesite", "2": "create:block/andesite_funnel_pull", "3": "create:block/andesite_funnel_back", - "4": "create:block/andesite_funnel_plating" + "5": "create:block/andesite_funnel_tall", + "6": "create:block/andesite_funnel", + "7": "create:block/andesite_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_extended.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_extended.json index 105a02ccb..75b27092e 100644 --- a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_extended.json +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/andesite_casing", + "particle": "block/polished_andesite", "2": "create:block/andesite_funnel_push", "3": "create:block/andesite_funnel_back", - "4": "create:block/andesite_funnel_plating" + "5": "create:block/andesite_funnel_tall", + "6": "create:block/andesite_funnel", + "7": "create:block/andesite_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_extended.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_extended.json new file mode 100644 index 000000000..9921a4309 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_extended.json @@ -0,0 +1,11 @@ +{ + "parent": "create:block/belt_funnel/block_extended", + "textures": { + "particle": "block/polished_andesite", + "2": "create:block/andesite_funnel_push", + "3": "create:block/andesite_funnel_back", + "5": "create:block/andesite_funnel_tall_powered", + "6": "create:block/andesite_funnel_powered", + "7": "create:block/andesite_funnel_plating" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_retracted.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_retracted.json new file mode 100644 index 000000000..38a2f735a --- /dev/null +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_powered_retracted.json @@ -0,0 +1,11 @@ +{ + "parent": "create:block/belt_funnel/block_retracted", + "textures": { + "particle": "block/polished_andesite", + "2": "create:block/andesite_funnel_push", + "3": "create:block/andesite_funnel_back", + "5": "create:block/andesite_funnel_tall_powered", + "6": "create:block/andesite_funnel_powered", + "7": "create:block/andesite_funnel_plating" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_retracted.json b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_retracted.json index 1284e8489..91e243db3 100644 --- a/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_retracted.json +++ b/src/generated/resources/assets/create/models/block/andesite_belt_funnel_push_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/andesite_casing", + "particle": "block/polished_andesite", "2": "create:block/andesite_funnel_push", "3": "create:block/andesite_funnel_back", - "4": "create:block/andesite_funnel_plating" + "5": "create:block/andesite_funnel_tall", + "6": "create:block/andesite_funnel", + "7": "create:block/andesite_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_funnel.json b/src/generated/resources/assets/create/models/block/andesite_funnel.json index d16aeb312..1161539b1 100644 --- a/src/generated/resources/assets/create/models/block/andesite_funnel.json +++ b/src/generated/resources/assets/create/models/block/andesite_funnel.json @@ -1,9 +1,9 @@ { "parent": "create:block/funnel/block", "textures": { - "2": "create:block/andesite_funnel_back", - "3": "create:block/andesite_funnel", - "4": "create:block/andesite_funnel_plating", - "particle": "create:block/andesite_casing" + "0": "create:block/andesite_funnel_plating", + "1": "create:block/andesite_casing", + "2": "create:block/andesite_funnel", + "3": "create:block/andesite_funnel_back" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/andesite_funnel_powered.json b/src/generated/resources/assets/create/models/block/andesite_funnel_powered.json new file mode 100644 index 000000000..a2a451715 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/andesite_funnel_powered.json @@ -0,0 +1,9 @@ +{ + "parent": "create:block/funnel/block", + "textures": { + "0": "create:block/andesite_funnel_plating", + "1": "create:block/andesite_casing", + "2": "create:block/andesite_funnel_powered", + "3": "create:block/andesite_funnel_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_extended.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_extended.json index 744a196ce..fadd65788 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_extended.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/brass_casing", + "particle": "create:block/brass_block", "2": "create:block/brass_funnel_pull", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_extended.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_extended.json index aa5aa7d49..5133a0a73 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_extended.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/brass_casing", - "2": "create:block/brass_funnel_pull_powered", + "particle": "create:block/brass_block", + "2": "create:block/brass_funnel_pull", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall_powered", + "6": "create:block/brass_funnel_powered", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json index 6bdee09e6..d64a5168c 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_powered_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/brass_casing", - "2": "create:block/brass_funnel_pull_powered", + "particle": "create:block/brass_block", + "2": "create:block/brass_funnel_pull", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall_powered", + "6": "create:block/brass_funnel_powered", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_retracted.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_retracted.json index 8121dc133..b4e776036 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_retracted.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_pull_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/brass_casing", + "particle": "create:block/brass_block", "2": "create:block/brass_funnel_pull", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_extended.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_extended.json index a52556ff0..98a177099 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_extended.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/brass_casing", + "particle": "create:block/brass_block", "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_extended.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_extended.json index aa3f44366..455499d7f 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_extended.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_extended.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_extended", "textures": { - "particle": "create:block/brass_casing", - "2": "create:block/brass_funnel_push_powered", + "particle": "create:block/brass_block", + "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall_powered", + "6": "create:block/brass_funnel_powered", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_retracted.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_retracted.json index fc08d9de8..c5d444dd5 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_retracted.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_powered_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/brass_casing", - "2": "create:block/brass_funnel_push_powered", + "particle": "create:block/brass_block", + "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall_powered", + "6": "create:block/brass_funnel_powered", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_retracted.json b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_retracted.json index 9dcab1608..4f23ee54f 100644 --- a/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_retracted.json +++ b/src/generated/resources/assets/create/models/block/brass_belt_funnel_push_retracted.json @@ -1,9 +1,11 @@ { "parent": "create:block/belt_funnel/block_retracted", "textures": { - "particle": "create:block/brass_casing", + "particle": "create:block/brass_block", "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating" + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_funnel.json b/src/generated/resources/assets/create/models/block/brass_funnel.json index 959b75b9a..82a6b28f3 100644 --- a/src/generated/resources/assets/create/models/block/brass_funnel.json +++ b/src/generated/resources/assets/create/models/block/brass_funnel.json @@ -1,9 +1,9 @@ { "parent": "create:block/funnel/block", "textures": { - "2": "create:block/brass_funnel_back", - "3": "create:block/brass_funnel", - "4": "create:block/brass_funnel_plating", - "particle": "create:block/brass_casing" + "0": "create:block/brass_funnel_plating", + "1": "create:block/brass_casing", + "2": "create:block/brass_funnel", + "3": "create:block/brass_funnel_back" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/brass_funnel_powered.json b/src/generated/resources/assets/create/models/block/brass_funnel_powered.json index d1e5a5f36..6085c2466 100644 --- a/src/generated/resources/assets/create/models/block/brass_funnel_powered.json +++ b/src/generated/resources/assets/create/models/block/brass_funnel_powered.json @@ -1,9 +1,9 @@ { "parent": "create:block/funnel/block", "textures": { - "2": "create:block/brass_funnel_back", - "3": "create:block/brass_funnel_powered", - "4": "create:block/brass_funnel_plating", - "particle": "create:block/brass_casing" + "0": "create:block/brass_funnel_plating", + "1": "create:block/brass_casing", + "2": "create:block/brass_funnel_powered", + "3": "create:block/brass_funnel_back" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/andesite_funnel.json b/src/generated/resources/assets/create/models/item/andesite_funnel.json index b3601a41f..f0e8e8481 100644 --- a/src/generated/resources/assets/create/models/item/andesite_funnel.json +++ b/src/generated/resources/assets/create/models/item/andesite_funnel.json @@ -1,9 +1,9 @@ { "parent": "create:block/funnel/item", "textures": { - "2": "create:block/andesite_funnel_back", - "3": "create:block/andesite_funnel", - "4": "create:block/andesite_funnel_plating", - "particle": "create:block/andesite_casing" + "0": "create:block/andesite_funnel_plating", + "1": "create:block/andesite_casing", + "2": "create:block/andesite_funnel", + "3": "create:block/andesite_funnel_back" } } \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/brass_funnel.json b/src/generated/resources/assets/create/models/item/brass_funnel.json index 3e7642b35..82e8d4035 100644 --- a/src/generated/resources/assets/create/models/item/brass_funnel.json +++ b/src/generated/resources/assets/create/models/item/brass_funnel.json @@ -1,9 +1,9 @@ { "parent": "create:block/funnel/item", "textures": { - "2": "create:block/brass_funnel_back", - "3": "create:block/brass_funnel", - "4": "create:block/brass_funnel_plating", - "particle": "create:block/brass_casing" + "0": "create:block/brass_funnel_plating", + "1": "create:block/brass_casing", + "2": "create:block/brass_funnel", + "3": "create:block/brass_funnel_back" } } \ 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 19ea74364..cc08122af 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -64,7 +64,7 @@ public class AllBlockPartials { 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"), + MILLSTONE_COG = get("millstone/inner"), SYMMETRY_PLANE = get("symmetry_effect/plane"), SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"), SYMMETRY_TRIPLEPLANE = get("symmetry_effect/tripleplane"), @@ -79,10 +79,8 @@ public class AllBlockPartials { MECHANICAL_PUMP_ARROW = get("mechanical_pump/arrow"), MECHANICAL_PUMP_COG = get("mechanical_pump/cog"), FLUID_PIPE_CASING = get("fluid_pipe/casing"), - - SPOUT_TOP = get("spout/top"), - SPOUT_MIDDLE = get("spout/middle"), - SPOUT_BOTTOM = get("spout/bottom"), + + SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"), COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"), COUPLING_RING = getEntity("minecart_coupling/ring"), diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 4b3ffde0e..cab3ae747 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -843,7 +843,7 @@ public class AllBlocks { public static final BlockEntry ANDESITE_BELT_FUNNEL = REGISTRATE.block("andesite_belt_funnel", AndesiteBeltFunnelBlock::new) .initialProperties(SharedProperties::stone) - .blockstate(new BeltFunnelGenerator("andesite")::generate) + .blockstate(new BeltFunnelGenerator("andesite", new ResourceLocation("block/polished_andesite"))::generate) .loot((p, b) -> p.registerDropping(b, ANDESITE_FUNNEL.get())) .register(); @@ -857,7 +857,7 @@ public class AllBlocks { public static final BlockEntry BRASS_BELT_FUNNEL = REGISTRATE.block("brass_belt_funnel", BrassBeltFunnelBlock::new) .initialProperties(SharedProperties::softMetal) - .blockstate(new BeltFunnelGenerator("brass")::generate) + .blockstate(new BeltFunnelGenerator("brass", Create.asResource("block/brass_block"))::generate) .loot((p, b) -> p.registerDropping(b, BRASS_FUNNEL.get())) .register(); diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 38b6daf44..7b1739db2 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -60,18 +60,22 @@ public class AllShapes { NIXIE_TUBE_CEILING = shape(0, 12, 0, 16, 16, 16).add(9, 1, 5, 15, 16, 11) .add(1, 1, 5, 7, 16, 11) .forHorizontalAxis(), - FUNNEL = shape(3, -2, 3, 13, 2, 13).add(2, 2, 2, 14, 6, 14) - .add(1, 6, 1, 15, 10, 15) + FUNNEL = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13) + .add(2, 6, 2, 14, 10, 14) .add(0, 10, 0, 16, 16, 16) .forDirectional(UP), - FUNNEL_COLLISION = shape(3, -2, 3, 13, 2, 13).add(2, 2, 2, 14, 6, 14) - .add(1, 6, 1, 15, 10, 15) + FUNNEL_COLLISION = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13) + .add(2, 6, 2, 14, 10, 14) .add(0, 10, 0, 16, 13, 16) .forDirectional(UP), - BELT_FUNNEL_RETRACTED = shape(3, -5, 14, 13, 13, 19).add(0, -5, 8, 16, 16, 14) + BELT_FUNNEL_RETRACTED = + shape(2, -5, 14, 12, 14, 18) + .add(0, -5, 8, 16, 16, 14) .forHorizontal(NORTH), - BELT_FUNNEL_EXTENDED = shape(3, -4, 6, 13, 13, 17).add(2, -4, 10, 14, 14, 14) - .add(1, -4, 6, 15, 15, 10) + BELT_FUNNEL_EXTENDED = + shape(2, -4, 14, 14, 14, 18) + .add(3, -4, 10, 13, 13, 14) + .add(2, -4, 6, 14, 14, 10) .add(0, -5, 0, 16, 16, 6) .forHorizontal(NORTH), PUMP = shape(2, 0, 2, 14, 5, 14).add(4, 0, 4, 12, 16, 12) diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java index 4a33392d5..aa332a1f6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/dispenser/MovedProjectileDispenserBehaviour.java @@ -22,7 +22,7 @@ public abstract class MovedProjectileDispenserBehaviour extends MovedDefaultDisp double x = pos.getX() + facing.x * .7 + .5; double y = pos.getY() + facing.y * .7 + .5; double z = pos.getZ() + facing.z * .7 + .5; - IProjectile iprojectile = this.getProjectileEntity(context.world, x, y, z, itemStack); + IProjectile iprojectile = this.getProjectileEntity(context.world, x, y, z, itemStack.copy()); if (iprojectile == null) return itemStack; Vec3d effectiveMovementVec = facing.scale(getProjectileVelocity()).add(context.motion); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index cbbca28be..6a88cc1a0 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -17,11 +17,11 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; -import com.simibubi.create.AllMovementBehaviours; import org.apache.commons.lang3.tuple.MutablePair; import org.apache.commons.lang3.tuple.Pair; import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllMovementBehaviours; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.components.actors.SeatBlock; import com.simibubi.create.content.contraptions.components.actors.SeatEntity; @@ -503,36 +503,29 @@ public abstract class Contraption { }); superglue.clear(); - nbt.getList("Superglue", 10) - .forEach(c -> { - CompoundNBT comp = (CompoundNBT) c; - superglue.add(Pair.of(NBTUtil.readBlockPos(comp.getCompound("Pos")), - Direction.byIndex(comp.getByte("Direction")))); - }); + NBTHelper.iterateCompoundList(nbt.getList("Superglue", NBT.TAG_COMPOUND), c -> superglue + .add(Pair.of(NBTUtil.readBlockPos(c.getCompound("Pos")), Direction.byIndex(c.getByte("Direction"))))); + + seats.clear(); + NBTHelper.iterateCompoundList(nbt.getList("Seats", NBT.TAG_COMPOUND), c -> seats.add(NBTUtil.readBlockPos(c))); + + seatMapping.clear(); + NBTHelper.iterateCompoundList(nbt.getList("Passengers", NBT.TAG_COMPOUND), + c -> seatMapping.put(NBTUtil.readUniqueId(c.getCompound("Id")), c.getInt("Seat"))); storage.clear(); - nbt.getList("Storage", 10) - .forEach(c -> { - CompoundNBT comp = (CompoundNBT) c; - storage.put(NBTUtil.readBlockPos(comp.getCompound("Pos")), - new MountedStorage(comp.getCompound("Data"))); - }); - List list = storage.values() - .stream() - .map(MountedStorage::getItemHandler) - .collect(Collectors.toList()); - inventory = new CombinedInvWrapper(Arrays.copyOf(list.toArray(), list.size(), IItemHandlerModifiable[].class)); + NBTHelper.iterateCompoundList(nbt.getList("Storage", NBT.TAG_COMPOUND), c -> storage + .put(NBTUtil.readBlockPos(c.getCompound("Pos")), MountedStorage.deserialize(c.getCompound("Data")))); + + IItemHandlerModifiable[] handlers = new IItemHandlerModifiable[storage.size()]; + int index = 0; + for (MountedStorage mountedStorage : storage.values()) + handlers[index++] = mountedStorage.getItemHandler(); + inventory = new CombinedInvWrapper(handlers); if (nbt.contains("BoundsFront")) bounds = NBTHelper.readAABB(nbt.getList("BoundsFront", 5)); - getSeats().clear(); - NBTHelper.iterateCompoundList(nbt.getList("Seats", NBT.TAG_COMPOUND), - c -> getSeats().add(NBTUtil.readBlockPos(c))); - getSeatMapping().clear(); - NBTHelper.iterateCompoundList(nbt.getList("Passengers", NBT.TAG_COMPOUND), - c -> getSeatMapping().put(NBTUtil.readUniqueId(c.getCompound("Id")), c.getInt("Seat"))); - stalled = nbt.getBoolean("Stalled"); anchor = NBTUtil.readBlockPos(nbt.getCompound("Anchor")); } @@ -572,7 +565,7 @@ public abstract class Contraption { for (BlockPos pos : storage.keySet()) { CompoundNBT c = new CompoundNBT(); MountedStorage mountedStorage = storage.get(pos); - if (!mountedStorage.isWorking()) + if (!mountedStorage.isValid()) continue; c.put("Pos", NBTUtil.writeBlockPos(pos)); c.put("Data", mountedStorage.serialize()); @@ -612,7 +605,7 @@ public abstract class Contraption { public void removeBlocksFromWorld(IWorld world, BlockPos offset) { storage.values() - .forEach(MountedStorage::empty); + .forEach(MountedStorage::removeStorageFromWorld); glueToRemove.forEach(SuperGlueEntity::remove); for (boolean brittles : Iterate.trueAndFalse) { @@ -710,8 +703,8 @@ public abstract class Contraption { if (storage.containsKey(block.pos)) { MountedStorage mountedStorage = storage.get(block.pos); - if (mountedStorage.isWorking()) - mountedStorage.fill(tileEntity); + if (mountedStorage.isValid()) + mountedStorage.addStorageToWorld(tileEntity); } } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java index a6329a37a..e64dfc2df 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/MountedStorage.java @@ -2,6 +2,8 @@ package com.simibubi.create.content.contraptions.components.structureMovement; import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock; +import com.simibubi.create.content.logistics.block.inventories.BottomlessItemHandler; +import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.block.ChestBlock; import net.minecraft.item.ItemStack; @@ -18,21 +20,41 @@ import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; +//FIXME: More dynamic mounted storage in .4 public class MountedStorage { private static final ItemStackHandler dummyHandler = new ItemStackHandler(); ItemStackHandler handler; - boolean working; + boolean valid; private TileEntity te; + public static boolean canUseAsStorage(TileEntity te) { + if (te == null) + return false; + + if (AllTileEntities.ADJUSTABLE_CRATE.is(te)) + return true; + if (AllTileEntities.CREATIVE_CRATE.is(te)) + return true; + if (te instanceof ShulkerBoxTileEntity) + return true; + if (te instanceof ChestTileEntity) + return true; + if (te instanceof BarrelTileEntity) + return true; + + LazyOptional capability = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); + return capability.orElse(null) instanceof ItemStackHandler; + } + public MountedStorage(TileEntity te) { this.te = te; handler = dummyHandler; } - public void empty() { - working = false; + public void removeStorageFromWorld() { + valid = false; if (te == null) return; @@ -64,7 +86,7 @@ public class MountedStorage { // te uses ItemStackHandler if (teHandler instanceof ItemStackHandler) { handler = (ItemStackHandler) teHandler; - working = true; + valid = true; return; } @@ -76,27 +98,25 @@ public class MountedStorage { handler.setStackInSlot(slot, inv.getStackInSlot(slot)); inv.setStackInSlot(slot, ItemStack.EMPTY); } - working = true; + valid = true; return; } } - public MountedStorage(CompoundNBT nbt) { - handler = new ItemStackHandler(); - working = nbt != null; - if (working) - handler.deserializeNBT(nbt); - } + public void addStorageToWorld(TileEntity te) { + // FIXME: More dynamic mounted storage in .4 + if (handler instanceof BottomlessItemHandler) + return; - public void fill(TileEntity te) { - IItemHandler teHandler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) - .orElse(dummyHandler); - if (teHandler != dummyHandler && teHandler instanceof IItemHandlerModifiable) { - IItemHandlerModifiable inv = (IItemHandlerModifiable) teHandler; - for (int slot = 0; slot < Math.min(inv.getSlots(), handler.getSlots()); slot++) - inv.setStackInSlot(slot, handler.getStackInSlot(slot)); - } + LazyOptional capability = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); + IItemHandler teHandler = capability.orElse(null); + if (!(teHandler instanceof IItemHandlerModifiable)) + return; + + IItemHandlerModifiable inv = (IItemHandlerModifiable) teHandler; + for (int slot = 0; slot < Math.min(inv.getSlots(), handler.getSlots()); slot++) + inv.setStackInSlot(slot, handler.getStackInSlot(slot)); } public IItemHandlerModifiable getItemHandler() { @@ -104,28 +124,38 @@ public class MountedStorage { } public CompoundNBT serialize() { - return working ? handler.serializeNBT() : null; + if (!valid) + return null; + CompoundNBT tag = handler.serializeNBT(); + + if (handler instanceof BottomlessItemHandler) { + NBTHelper.putMarker(tag, "Bottomless"); + tag.put("ProvidedStack", handler.getStackInSlot(0) + .serializeNBT()); + } + + return tag; } - public boolean isWorking() { - return working; + public static MountedStorage deserialize(CompoundNBT nbt) { + MountedStorage storage = new MountedStorage(null); + storage.handler = new ItemStackHandler(); + if (nbt == null) + return storage; + storage.valid = true; + + if (nbt.contains("Bottomless")) { + ItemStack providedStack = ItemStack.read(nbt.getCompound("ProvidedStack")); + storage.handler = new BottomlessItemHandler(() -> providedStack); + return storage; + } + + storage.handler.deserializeNBT(nbt); + return storage; } - public static boolean canUseAsStorage(TileEntity te) { - if (te == null) - return false; - if (AllTileEntities.ADJUSTABLE_CRATE.is(te)) - return true; - if (te instanceof ShulkerBoxTileEntity) - return true; - if (te instanceof ChestTileEntity) - return true; - if (te instanceof BarrelTileEntity) - return true; - LazyOptional capability = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY); - if (capability.isPresent() && capability.orElse(null) instanceof ItemStackHandler) - return true; - return false; + public boolean isValid() { + return valid; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index 7e6c28f9e..db898b03c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -519,28 +519,28 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE ModelFile getModel(DataGenContext ctx, RegistrateBlockstateProvider prov, BlockState state) { boolean pushing = state.get(BeltFunnelBlock.PUSHING); - boolean powered = state.has(BeltFunnelBlock.POWERED) && state.get(BeltFunnelBlock.POWERED); + boolean powered = state.has(BlockStateProperties.POWERED) && state.get(BeltFunnelBlock.POWERED); String shapeName = state.get(BeltFunnelBlock.SHAPE) .getName(); - String suffix = (pushing ? "push" : "pull") + (powered ? "_powered" : ""); - String name = ctx.getName() + "_" + suffix; - String textureName = type + "_funnel_" + suffix; + + String pushingSuffix = (pushing ? "push" : "pull") ; + String poweredSuffix = powered ? "_powered" : ""; + String name = ctx.getName() + "_" + pushingSuffix + poweredSuffix; + String textureName = type + "_funnel_" + pushingSuffix; + return prov.models() .withExistingParent(name + "_" + shapeName, prov.modLoc("block/belt_funnel/block_" + shapeName)) - .texture("particle", prov.modLoc("block/" + type + "_casing")) + .texture("particle", materialBlockTexture) .texture("2", prov.modLoc("block/" + textureName)) .texture("3", prov.modLoc("block/" + type + "_funnel_back")) - .texture("4", prov.modLoc("block/" + type + "_funnel_plating")); + .texture("5", prov.modLoc("block/" + type + "_funnel_tall" + poweredSuffix)) + .texture("6", prov.modLoc("block/" + type + "_funnel" + poweredSuffix)) + .texture("7", prov.modLoc("block/" + type + "_funnel_plating")); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BrassFunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BrassFunnelBlock.java index 971b62232..6ad5e81f0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/BrassFunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/BrassFunnelBlock.java @@ -2,50 +2,15 @@ package com.simibubi.create.content.logistics.block.funnel; import com.simibubi.create.AllBlocks; -import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.item.BlockItemUseContext; -import net.minecraft.state.BooleanProperty; -import net.minecraft.state.StateContainer.Builder; -import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; public class BrassFunnelBlock extends FunnelBlock { - public static final BooleanProperty POWERED = BlockStateProperties.POWERED; - public BrassFunnelBlock(Properties p_i48415_1_) { super(p_i48415_1_); - setDefaultState(getDefaultState().with(POWERED, false)); - } - - @Override - public BlockState getStateForPlacement(BlockItemUseContext context) { - return super.getStateForPlacement(context).with(POWERED, context.getWorld() - .isBlockPowered(context.getPos())); - } - - @Override - protected boolean canInsertIntoFunnel(BlockState state) { - return super.canInsertIntoFunnel(state) && !state.get(POWERED); - } - - @Override - protected void fillStateContainer(Builder builder) { - super.fillStateContainer(builder.add(POWERED)); - } - - @Override - public void neighborChanged(BlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, - boolean isMoving) { - if (worldIn.isRemote) - return; - boolean previouslyPowered = state.get(POWERED); - if (previouslyPowered != worldIn.isBlockPowered(pos)) - worldIn.setBlockState(pos, state.cycle(POWERED), 2); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java index 57fddc094..4ad08eea1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelBlock.java @@ -5,7 +5,6 @@ import javax.annotation.Nullable; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.logistics.block.chute.ChuteBlock; import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.ProperDirectionalBlock; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; @@ -20,6 +19,8 @@ import net.minecraft.entity.item.ItemEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.ItemStack; +import net.minecraft.state.BooleanProperty; +import net.minecraft.state.StateContainer.Builder; import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; @@ -38,24 +39,35 @@ import net.minecraft.world.World; public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE { + public static final BooleanProperty POWERED = BlockStateProperties.POWERED; + public FunnelBlock(Properties p_i48415_1_) { super(p_i48415_1_); + setDefaultState(getDefaultState().with(POWERED, false)); } @Override public BlockState getStateForPlacement(BlockItemUseContext context) { Direction facing = context.getFace(); - if (facing.getAxis() - .isVertical() - && context.getWorld() - .getBlockState(context.getPos() - .offset(facing.getOpposite())) - .getBlock() instanceof ChuteBlock) - facing = facing.getOpposite(); - return getDefaultState().with(FACING, facing); - + return getDefaultState().with(FACING, facing).with(POWERED, context.getWorld() + .isBlockPowered(context.getPos())); } + @Override + protected void fillStateContainer(Builder builder) { + super.fillStateContainer(builder.add(POWERED)); + } + + @Override + public void neighborChanged(BlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos, + boolean isMoving) { + if (worldIn.isRemote) + return; + boolean previouslyPowered = state.get(POWERED); + if (previouslyPowered != worldIn.isBlockPowered(pos)) + worldIn.setBlockState(pos, state.cycle(POWERED), 2); + } + @Override public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { @@ -183,7 +195,7 @@ public abstract class FunnelBlock extends ProperDirectionalBlock implements ITE< } protected boolean canInsertIntoFunnel(BlockState state) { - return true; + return !state.get(POWERED); } @Nullable diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java index c36ef6245..ea72f1ccf 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java @@ -19,21 +19,44 @@ public class FunnelFilterSlotPositioning extends ValueBoxTransform.Sided { @Override protected Vec3d getLocalOffset(BlockState state) { + Direction side = getSide(); + float horizontalAngle = AngleHelper.horizontalAngle(side); + Direction funnelFacing = FunnelBlock.getFunnelFacing(state); + float stateAngle = AngleHelper.horizontalAngle(funnelFacing); + if (AllBlocks.BRASS_BELT_FUNNEL.has(state)) if (state.get(BeltFunnelBlock.SHAPE) == Shape.RETRACTED) - return VecHelper.rotateCentered(VecHelper.voxelSpace(8, 13, 7.5f), - AngleHelper.horizontalAngle(getSide()), Axis.Y); + return VecHelper.rotateCentered(VecHelper.voxelSpace(8, 13, 7.5f), horizontalAngle, Axis.Y); + else + return VecHelper.rotateCentered(VecHelper.voxelSpace(8, 15.5f, 13), stateAngle, Axis.Y); - Vec3d localOffset = - getSide() == Direction.UP ? VecHelper.voxelSpace(8, 14.5f, 8) : VecHelper.voxelSpace(8, 1.5f, 8); - - if (getSide().getAxis() + if (!funnelFacing.getAxis() .isHorizontal()) { - Vec3d southLocation = VecHelper.voxelSpace(8, 8, 14.5f); - localOffset = VecHelper.rotateCentered(southLocation, AngleHelper.horizontalAngle(getSide()), Axis.Y); + Vec3d southLocation = VecHelper.voxelSpace(8, 13, 15.5f); + return VecHelper.rotateCentered(southLocation, horizontalAngle, Axis.Y); } - return localOffset; + Direction verticalDirection = DirectionHelper.rotateAround(getSide(), funnelFacing.rotateY() + .getAxis()); + if (funnelFacing.getAxis() == Axis.Z) + verticalDirection = verticalDirection.getOpposite(); + boolean reverse = state.getBlock() instanceof HorizontalInteractionFunnelBlock + && !state.get(HorizontalInteractionFunnelBlock.PUSHING); + float yRot = -AngleHelper.horizontalAngle(verticalDirection) + 180; + float xRot = -90; + boolean alongX = funnelFacing.getAxis() == Axis.X; + float zRotLast = alongX ^ funnelFacing.getAxisDirection() == AxisDirection.POSITIVE ? 180 : 0; + if (reverse) + zRotLast += 180; + + Vec3d vec = VecHelper.voxelSpace(8, 13, .5f); + vec = vec.subtract(.5, .5, .5); + vec = VecHelper.rotate(vec, zRotLast, Axis.Z); + vec = VecHelper.rotate(vec, yRot, Axis.Y); + vec = VecHelper.rotate(vec, alongX ? 0 : xRot, Axis.X); + vec = VecHelper.rotate(vec, alongX ? xRot : 0, Axis.Z); + vec = vec.add(.5, .5, .5); + return vec; } @Override @@ -78,7 +101,7 @@ public class FunnelFilterSlotPositioning extends ValueBoxTransform.Sided { if (AllBlocks.BRASS_BELT_FUNNEL.has(state)) return state.get(BeltFunnelBlock.SHAPE) == Shape.RETRACTED ? direction == facing - : direction != Direction.DOWN && direction.getAxis() != facing.getAxis(); + : direction == Direction.UP; return direction.getAxis() != facing.getAxis(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java index 0f2541fc1..69f9e19c5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelTileEntity.java @@ -55,6 +55,7 @@ public class FunnelTileEntity extends SmartTileEntity { @Override public void tick() { super.tick(); + flap.tick(); Mode mode = determineCurrentMode(); if (mode == Mode.BELT) tickAsBeltFunnel(); @@ -65,7 +66,6 @@ public class FunnelTileEntity extends SmartTileEntity { public void tickAsBeltFunnel() { BlockState blockState = getBlockState(); Direction facing = blockState.get(BeltFunnelBlock.HORIZONTAL_FACING); - flap.tick(); if (world.isRemote) return; @@ -134,13 +134,17 @@ public class FunnelTileEntity extends SmartTileEntity { private boolean supportsDirectBeltInput(Direction side) { BlockState blockState = getBlockState(); - return blockState != null && blockState.getBlock() instanceof FunnelBlock - && blockState.get(FunnelBlock.FACING) == Direction.UP; + if (blockState == null) + return false; + if (!(blockState.getBlock() instanceof FunnelBlock)) + return false; + Direction direction = blockState.get(FunnelBlock.FACING); + return direction == Direction.UP || direction == side.getOpposite(); } private boolean supportsFiltering() { BlockState blockState = getBlockState(); - return blockState != null && blockState.has(BlockStateProperties.POWERED); + return AllBlocks.BRASS_BELT_FUNNEL.has(blockState) || AllBlocks.BRASS_FUNNEL.has(blockState); } private ItemStack handleDirectBeltInput(TransportedItemStack stack, Direction side, boolean simulate) { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateInventory.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/BottomlessItemHandler.java similarity index 73% rename from src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateInventory.java rename to src/main/java/com/simibubi/create/content/logistics/block/inventories/BottomlessItemHandler.java index 9b6736fef..36cc8906d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateInventory.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/BottomlessItemHandler.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.logistics.block.inventories; -import javax.annotation.Nullable; +import java.util.function.Supplier; + import javax.annotation.ParametersAreNonnullByDefault; import mcp.MethodsReturnNonnullByDefault; @@ -10,12 +11,12 @@ import net.minecraftforge.items.ItemStackHandler; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class CreativeCrateInventory extends ItemStackHandler { +public class BottomlessItemHandler extends ItemStackHandler { - private final CreativeCrateTileEntity te; + private Supplier suppliedItemStack; - public CreativeCrateInventory(@Nullable CreativeCrateTileEntity te) { - this.te = te; + public BottomlessItemHandler(Supplier suppliedItemStack) { + this.suppliedItemStack = suppliedItemStack; } @Override @@ -25,7 +26,7 @@ public class CreativeCrateInventory extends ItemStackHandler { @Override public ItemStack getStackInSlot(int slot) { - ItemStack stack = getProvidedItem(); + ItemStack stack = suppliedItemStack.get(); if (slot == 1) return ItemStack.EMPTY; if (stack == null) @@ -42,7 +43,7 @@ public class CreativeCrateInventory extends ItemStackHandler { @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { - ItemStack stack = getProvidedItem(); + ItemStack stack = suppliedItemStack.get(); if (slot == 1) return ItemStack.EMPTY; if (stack == null) @@ -56,11 +57,4 @@ public class CreativeCrateInventory extends ItemStackHandler { public boolean isItemValid(int slot, ItemStack stack) { return true; } - - @Nullable - public ItemStack getProvidedItem() { - if (te != null) - return te.filter.getFilter(); - return ItemStack.EMPTY; - } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java index af0fba545..c7fe450ca 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/inventories/CreativeCrateTileEntity.java @@ -24,20 +24,18 @@ public class CreativeCrateTileEntity extends CrateTileEntity { public CreativeCrateTileEntity(TileEntityType type) { super(type); - inv = new CreativeCrateInventory(this); + inv = new BottomlessItemHandler(filtering::getFilter); itemHandler = LazyOptional.of(() -> inv); } - FilteringBehaviour filter; + FilteringBehaviour filtering; LazyOptional itemHandler; - private CreativeCrateInventory inv; + private BottomlessItemHandler inv; @Override public void addBehaviours(List behaviours) { - filter = createFilter(); - filter.onlyActiveWhen(this::filterVisible); - filter.withCallback(this::filterChanged); - behaviours.add(filter); + behaviours.add(filtering = createFilter().onlyActiveWhen(this::filterVisible) + .withCallback(this::filterChanged)); } private boolean filterVisible() { @@ -52,13 +50,14 @@ public class CreativeCrateTileEntity extends CrateTileEntity { CreativeCrateTileEntity otherCrate = getOtherCrate(); if (otherCrate == null) return; - if (ItemStack.areItemsEqual(filter, otherCrate.filter.getFilter())) + if (ItemStack.areItemsEqual(filter, otherCrate.filtering.getFilter())) return; - otherCrate.filter.setFilter(filter); + otherCrate.filtering.setFilter(filter); } @Override public void remove() { + super.remove(); if (itemHandler != null) itemHandler.invalidate(); } @@ -79,10 +78,10 @@ public class CreativeCrateTileEntity extends CrateTileEntity { if (otherCrate == null) return; - filter.withCallback($ -> { + filtering.withCallback($ -> { }); - filter.setFilter(otherCrate.filter.getFilter()); - filter.withCallback(this::filterChanged); + filtering.setFilter(otherCrate.filtering.getFilter()); + filtering.withCallback(this::filterChanged); } @Override 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 ad2624a80..e437fba6b 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java +++ b/src/main/java/com/simibubi/create/foundation/data/BuilderTransformers.java @@ -61,20 +61,20 @@ public class BuilderTransformers { s.has(BlockStateProperties.POWERED) && s.get(BlockStateProperties.POWERED) ? "_powered" : ""; return p.models() .withExistingParent("block/" + type + "_funnel" + powered, p.modLoc("block/funnel/block")) - .texture("2", p.modLoc("block/" + type + "_funnel_back")) - .texture("3", p.modLoc("block/" + type + "_funnel" + powered)) - .texture("4", p.modLoc("block/" + type + "_funnel_plating")) - .texture("particle", particleTexture); + .texture("0", p.modLoc("block/" + type + "_funnel_plating")) + .texture("1", particleTexture) + .texture("2", p.modLoc("block/" + type + "_funnel" + powered)) + .texture("3", p.modLoc("block/" + type + "_funnel_back")); }; p.directionalBlock(c.get(), model); }) .item(FunnelItem::new) .model((c, p) -> { p.withExistingParent("item/" + type + "_funnel", p.modLoc("block/funnel/item")) - .texture("2", p.modLoc("block/" + type + "_funnel_back")) - .texture("3", p.modLoc("block/" + type + "_funnel")) - .texture("4", p.modLoc("block/" + type + "_funnel_plating")) - .texture("particle", particleTexture); + .texture("0", p.modLoc("block/" + type + "_funnel_plating")) + .texture("1", particleTexture) + .texture("2", p.modLoc("block/" + type + "_funnel")) + .texture("3", p.modLoc("block/" + type + "_funnel_back")); }) .build(); }; diff --git a/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java b/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java index cdb413a78..37d6d532c 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java @@ -13,6 +13,10 @@ import net.minecraft.util.math.AxisAlignedBB; public class NBTHelper { + public static void putMarker(CompoundNBT nbt, String marker) { + nbt.putBoolean(marker, true); + } + public static > T readEnum(CompoundNBT nbt, String key, Class enumClass) { T[] enumConstants = enumClass.getEnumConstants(); String name = nbt.getString(key); diff --git a/src/main/resources/assets/create/models/block/belt_funnel/block_extended.json b/src/main/resources/assets/create/models/block/belt_funnel/block_extended.json index 769dac047..8971e7e74 100644 --- a/src/main/resources/assets/create/models/block/belt_funnel/block_extended.json +++ b/src/main/resources/assets/create/models/block/belt_funnel/block_extended.json @@ -4,7 +4,9 @@ "textures": { "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating", + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating", "particle": "create:block/brass_block" }, "elements": [ @@ -14,9 +16,9 @@ "to": [16, 0, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [8, 13.5, 9, 15], "texture": "#4"}, + "north": {"uv": [0, 8, 1, 9.5], "texture": "#7"}, "east": {"uv": [13, 0, 16, 6], "rotation": 90, "texture": "#2"}, - "south": {"uv": [15, 13.5, 16, 15], "texture": "#4"}, + "south": {"uv": [15, 8, 16, 9.5], "texture": "#7"}, "west": {"uv": [13, 0, 16, 6], "rotation": 90, "texture": "#2"} } }, @@ -26,9 +28,9 @@ "to": [2, 0, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [15, 13.5, 16, 15], "texture": "#4"}, + "north": {"uv": [7, 8, 8, 9.5], "texture": "#7"}, "east": {"uv": [13, 6, 16, 0], "rotation": 90, "texture": "#2"}, - "south": {"uv": [16, 13.5, 15, 15], "texture": "#4"}, + "south": {"uv": [8, 7.5, 9, 9], "texture": "#7"}, "west": {"uv": [13, 6, 16, 0], "rotation": 90, "texture": "#2"} } }, @@ -38,9 +40,9 @@ "to": [16, 16, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [8, 5.5, 9, 13.5], "texture": "#4"}, + "north": {"uv": [0, 0, 1, 8], "texture": "#7"}, "east": {"uv": [0, 6, 16, 12], "rotation": 90, "texture": "#2"}, - "south": {"uv": [15, 5.5, 16, 13.5], "texture": "#4"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#7"}, "west": {"uv": [0, 12, 16, 6], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 0, 16, 6], "texture": "#2"} } @@ -51,9 +53,9 @@ "to": [2, 16, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [15, 5.5, 16, 13.5], "texture": "#4"}, + "north": {"uv": [7, 0, 8, 8], "texture": "#7"}, "east": {"uv": [0, 6, 16, 12], "rotation": 90, "texture": "#2"}, - "south": {"uv": [16, 5.5, 15, 13.5], "texture": "#4"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#7"}, "west": {"uv": [0, 12, 16, 6], "rotation": 90, "texture": "#2"}, "up": {"uv": [16, 0, 14, 6], "texture": "#2"} } @@ -64,10 +66,10 @@ "to": [14, 16, 6], "rotation": {"angle": 0, "axis": "y", "origin": [6, -8, 0]}, "faces": { - "north": {"uv": [9, 5.5, 15, 8.5], "texture": "#4"}, - "south": {"uv": [9, 5.5, 15, 8.5], "texture": "#4"}, - "up": {"uv": [2, 0, 14, 6], "texture": "#2"}, - "down": {"uv": [2, 0, 14, 6], "texture": "#particle"} + "north": {"uv": [1, 0, 7, 3], "texture": "#7"}, + "south": {"uv": [9, 0, 15, 3], "texture": "#7"}, + "up": {"uv": [1, 0, 7, 3], "texture": "#7"}, + "down": {"uv": [2, 0, 14, 6], "rotation": 180, "texture": "#2"} } }, { @@ -76,9 +78,9 @@ "to": [16, -3, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [8, 15, 8.5, 16], "texture": "#4"}, - "east": {"uv": [5, 15, 8, 16], "texture": "#4"}, - "west": {"uv": [5, 15, 8, 16], "texture": "#4"} + "north": {"uv": [0, 9.5, 0.5, 10.5], "texture": "#7"}, + "east": {"uv": [5, 15, 8, 16], "texture": "#7"}, + "west": {"uv": [5, 15, 8, 16], "texture": "#7"} } }, { @@ -87,60 +89,61 @@ "to": [1, -3, 6], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 0]}, "faces": { - "north": {"uv": [15.5, 15, 16, 16], "texture": "#4"}, - "east": {"uv": [8, 15, 5, 16], "texture": "#4"}, - "west": {"uv": [8, 15, 5, 16], "texture": "#4"} + "north": {"uv": [7.5, 9.5, 8, 10.5], "texture": "#7"}, + "east": {"uv": [8, 15, 5, 16], "texture": "#7"}, + "west": {"uv": [8, 15, 5, 16], "texture": "#7"} } }, { "name": "BackExtension", - "from": [2, -2, 10], - "to": [14, 14, 14], + "from": [3, -2, 10], + "to": [13, 13, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "east": {"uv": [9, 8, 11, 16], "texture": "#3"}, + "east": {"uv": [9, 6, 16, 8], "rotation": 90, "texture": "#3"}, "south": {"uv": [0, 0.5, 8, 6.5], "rotation": 90, "texture": "#3"}, - "west": {"uv": [9, 8, 11, 16], "texture": "#3"}, - "up": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#3"} + "west": {"uv": [9, 6, 16, 8], "rotation": 270, "texture": "#3"}, + "up": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"} } }, { "name": "MidExtension", - "from": [1, -2, 6], - "to": [15, 15, 10], + "from": [2, -2, 6], + "to": [14, 14, 10], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "north": {"uv": [0, 7.5, 7, 16], "texture": "#3"}, - "east": {"uv": [7, 7.5, 9, 16], "rotation": 180, "texture": "#3"}, - "south": {"uv": [0, 0, 8.5, 7], "rotation": 270, "texture": "#3"}, - "west": {"uv": [7, 7.5, 9, 16], "rotation": 180, "texture": "#3"}, - "up": {"uv": [11, 9, 13, 16], "rotation": 270, "texture": "#3"} + "north": {"uv": [0, 6, 6, 14], "texture": "#3"}, + "east": {"uv": [1, 6, 9, 8], "rotation": 90, "texture": "#3"}, + "south": {"uv": [8, 0, 16, 6], "rotation": 270, "texture": "#3"}, + "west": {"uv": [1, 8, 9, 6], "rotation": 90, "texture": "#3"}, + "up": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"} } }, { "name": "BackBottom", - "from": [3.9, -3, 16], - "to": [12.1, 7, 26], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, -5, 17]}, + "from": [3.9, -2, 18], + "to": [12.1, 2, 26], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 17]}, "faces": { - "east": {"uv": [9.5, 11, 14.5, 16], "rotation": 270, "texture": "#4"}, - "south": {"uv": [1.5, 10, 6.5, 14], "rotation": 90, "texture": "#4"}, - "west": {"uv": [9.5, 11, 14.5, 16], "rotation": 270, "texture": "#4"}, - "up": {"uv": [2.5, 10, 7.5, 14], "rotation": 270, "texture": "#4"}, - "down": {"uv": [0, 10, 5, 14], "rotation": 270, "texture": "#4"} + "east": {"uv": [12, 12, 14, 16], "rotation": 270, "texture": "#7"}, + "south": {"uv": [8, 13, 12, 15], "rotation": 180, "texture": "#7"}, + "west": {"uv": [12, 12, 14, 16], "rotation": 270, "texture": "#7"}, + "up": {"uv": [8, 12, 12, 16], "rotation": 180, "texture": "#7"}, + "down": {"uv": [8, 12, 12, 16], "rotation": 180, "texture": "#7"} } }, { "name": "Back", - "from": [2.9, -4.1, 14], - "to": [13.1, 13.1, 17], + "from": [2.1, -2.1, 14], + "to": [13.9, 13.9, 17.9], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "east": {"uv": [5, 0, 6.5, 8.5], "texture": "#4"}, - "south": {"uv": [0, 0, 5, 8.5], "texture": "#4"}, - "west": {"uv": [5, 0, 6.5, 8.5], "texture": "#4"}, - "up": {"uv": [0, 8.5, 5, 10], "texture": "#4"}, - "down": {"uv": [0, 8.5, 5, 10], "texture": "#4"} + "north": {"uv": [0, 4, 16, 16], "rotation": 90, "texture": "#5"}, + "east": {"uv": [0, 0, 16, 4], "rotation": 90, "texture": "#5"}, + "south": {"uv": [9, 1, 15, 9], "texture": "#7"}, + "west": {"uv": [0, 0, 16, 4], "rotation": 270, "texture": "#5"}, + "up": {"uv": [0, 0, 12, 4], "texture": "#6"}, + "down": {"uv": [0, 0, 12, 4], "rotation": 180, "texture": "#6"} } }, { @@ -150,7 +153,7 @@ "rotation": {"angle": 0, "axis": "y", "origin": [7, -8, 8]}, "faces": { "north": {"uv": [1, 13, 15, 16], "texture": "#particle"}, - "south": {"uv": [0.5, 14.5, 7.5, 16], "texture": "#4"}, + "south": {"uv": [0.5, 13, 7.5, 14.5], "texture": "#7"}, "up": {"uv": [1, 5, 15, 16], "texture": "#particle"} } }, @@ -160,9 +163,9 @@ "to": [16, -2, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "east": {"uv": [0, 14.5, 5, 16], "texture": "#4"}, - "south": {"uv": [7.5, 14.5, 8, 16], "texture": "#4"}, - "up": {"uv": [0, 14.5, 5.5, 15], "rotation": 270, "texture": "#4"} + "east": {"uv": [0, 14.5, 5, 16], "texture": "#7"}, + "south": {"uv": [7.5, 14.5, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 14.5, 5.5, 15], "rotation": 270, "texture": "#7"} } }, { @@ -171,49 +174,12 @@ "to": [1, -2, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "south": {"uv": [0, 14.5, 0.5, 16], "texture": "#4"}, - "west": {"uv": [5, 14.5, 0, 16], "texture": "#4"}, - "up": {"uv": [0, 15, 5.5, 14.5], "rotation": 270, "texture": "#4"} + "south": {"uv": [0, 14.5, 0.5, 16], "texture": "#7"}, + "west": {"uv": [5, 14.5, 0, 16], "texture": "#7"}, + "up": {"uv": [0, 15, 5.5, 14.5], "rotation": 270, "texture": "#7"} } } ], - "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": "BeltFunnel", diff --git a/src/main/resources/assets/create/models/block/belt_funnel/block_retracted.json b/src/main/resources/assets/create/models/block/belt_funnel/block_retracted.json index ee59d4be2..dc7f6c86c 100644 --- a/src/main/resources/assets/create/models/block/belt_funnel/block_retracted.json +++ b/src/main/resources/assets/create/models/block/belt_funnel/block_retracted.json @@ -4,7 +4,9 @@ "textures": { "2": "create:block/brass_funnel_push", "3": "create:block/brass_funnel_back", - "4": "create:block/brass_funnel_plating", + "5": "create:block/brass_funnel_tall", + "6": "create:block/brass_funnel", + "7": "create:block/brass_funnel_plating", "particle": "create:block/brass_block" }, "elements": [ @@ -14,9 +16,9 @@ "to": [16, 0, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [8, 13.5, 9, 15], "texture": "#4"}, + "north": {"uv": [0, 8, 1, 9.5], "texture": "#7"}, "east": {"uv": [13, 0, 16, 6], "rotation": 90, "texture": "#2"}, - "south": {"uv": [15, 13.5, 16, 15], "texture": "#4"}, + "south": {"uv": [15, 8, 16, 9.5], "texture": "#7"}, "west": {"uv": [13, 0, 16, 6], "rotation": 90, "texture": "#2"} } }, @@ -26,9 +28,9 @@ "to": [2, 0, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [15, 13.5, 16, 15], "texture": "#4"}, + "north": {"uv": [7, 8, 8, 9.5], "texture": "#7"}, "east": {"uv": [13, 6, 16, 0], "rotation": 90, "texture": "#2"}, - "south": {"uv": [16, 13.5, 15, 15], "texture": "#4"}, + "south": {"uv": [8, 7.5, 9, 9], "texture": "#7"}, "west": {"uv": [13, 6, 16, 0], "rotation": 90, "texture": "#2"} } }, @@ -38,9 +40,9 @@ "to": [16, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [8, 5.5, 9, 13.5], "texture": "#4"}, + "north": {"uv": [0, 0, 1, 8], "texture": "#7"}, "east": {"uv": [0, 6, 16, 12], "rotation": 90, "texture": "#2"}, - "south": {"uv": [15, 5.5, 16, 13.5], "texture": "#4"}, + "south": {"uv": [15, 0, 16, 8], "texture": "#7"}, "west": {"uv": [0, 12, 16, 6], "rotation": 90, "texture": "#2"}, "up": {"uv": [14, 0, 16, 6], "texture": "#2"} } @@ -51,9 +53,9 @@ "to": [2, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [15, 5.5, 16, 13.5], "texture": "#4"}, + "north": {"uv": [7, 0, 8, 8], "texture": "#7"}, "east": {"uv": [0, 6, 16, 12], "rotation": 90, "texture": "#2"}, - "south": {"uv": [16, 5.5, 15, 13.5], "texture": "#4"}, + "south": {"uv": [8, 0, 9, 8], "texture": "#7"}, "west": {"uv": [0, 12, 16, 6], "rotation": 90, "texture": "#2"}, "up": {"uv": [16, 0, 14, 6], "texture": "#2"} } @@ -64,10 +66,20 @@ "to": [14, 16, 14], "rotation": {"angle": 0, "axis": "y", "origin": [6, -8, 8]}, "faces": { - "north": {"uv": [9, 5.5, 15, 8.5], "texture": "#4"}, - "south": {"uv": [9, 5.5, 15, 8.5], "texture": "#4"}, + "north": {"uv": [1, 0, 7, 3], "texture": "#7"}, + "south": {"uv": [9, 0, 15, 3], "texture": "#7"}, "up": {"uv": [2, 0, 14, 6], "texture": "#2"}, - "down": {"uv": [2, 0, 14, 6], "texture": "#particle"} + "down": {"uv": [2, 0, 14, 6], "rotation": 180, "texture": "#2"} + } + }, + { + "name": "Top", + "from": [2, -2, 12], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [6, -14, 8]}, + "faces": { + "north": {"uv": [0, 8, 6, 14], "texture": "#3"}, + "south": {"uv": [9, 3, 15, 9.5], "texture": "#7"} } }, { @@ -76,9 +88,9 @@ "to": [16, -3, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [8, 15, 8.5, 16], "texture": "#4"}, - "east": {"uv": [5, 15, 8, 16], "texture": "#4"}, - "west": {"uv": [5, 15, 8, 16], "texture": "#4"} + "north": {"uv": [0, 9.5, 0.5, 10.5], "texture": "#7"}, + "east": {"uv": [5, 15, 8, 16], "texture": "#7"}, + "west": {"uv": [5, 15, 8, 16], "texture": "#7"} } }, { @@ -87,61 +99,35 @@ "to": [1, -3, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [15.5, 15, 16, 16], "texture": "#4"}, - "east": {"uv": [8, 15, 5, 16], "texture": "#4"}, - "west": {"uv": [8, 15, 5, 16], "texture": "#4"} - } - }, - { - "name": "BackExtension", - "from": [2, -2, 12], - "to": [14, 14, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, - "faces": { - "east": {"uv": [9, 8, 11, 16], "texture": "#3"}, - "south": {"uv": [0, 0.5, 8, 6.5], "rotation": 90, "texture": "#3"}, - "west": {"uv": [9, 8, 11, 16], "texture": "#3"}, - "up": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#3"} - } - }, - { - "name": "MidExtension", - "from": [1, -2, 11], - "to": [15, 15, 15], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, - "faces": { - "north": {"uv": [0, 7.5, 7, 16], "texture": "#3"}, - "east": {"uv": [7, 7.5, 9, 16], "rotation": 180, "texture": "#3"}, - "south": {"uv": [0, 0, 8.5, 7], "rotation": 270, "texture": "#3"}, - "west": {"uv": [7, 7.5, 9, 16], "rotation": 180, "texture": "#3"}, - "up": {"uv": [11, 9, 13, 16], "rotation": 270, "texture": "#3"} + "north": {"uv": [7.5, 9.5, 8, 10.5], "texture": "#7"}, + "east": {"uv": [8, 15, 5, 16], "texture": "#7"}, + "west": {"uv": [8, 15, 5, 16], "texture": "#7"} } }, { "name": "BackBottom", - "from": [3.9, -5, 16], - "to": [12.1, 5, 26], - "rotation": {"angle": -22.5, "axis": "x", "origin": [8, -5, 17]}, + "from": [3.9, -2, 18], + "to": [12.1, 2, 26], + "rotation": {"angle": -22.5, "axis": "x", "origin": [8, -4, 17]}, "faces": { - "north": {"uv": [1.5, 10, 6.5, 14], "rotation": 90, "texture": "#4"}, - "east": {"uv": [9.5, 11, 14.5, 16], "rotation": 270, "texture": "#4"}, - "south": {"uv": [1.5, 10, 6.5, 14], "rotation": 90, "texture": "#4"}, - "west": {"uv": [9.5, 11, 14.5, 16], "rotation": 270, "texture": "#4"}, - "up": {"uv": [2.5, 10, 7.5, 14], "rotation": 270, "texture": "#4"}, - "down": {"uv": [1, 10, 6, 14], "rotation": 270, "texture": "#4"} + "east": {"uv": [12, 12, 14, 16], "rotation": 270, "texture": "#7"}, + "south": {"uv": [8, 13, 12, 15], "rotation": 180, "texture": "#7"}, + "west": {"uv": [12, 12, 14, 16], "rotation": 270, "texture": "#7"}, + "up": {"uv": [8, 12, 12, 16], "rotation": 180, "texture": "#7"}, + "down": {"uv": [8, 12, 12, 16], "rotation": 180, "texture": "#7"} } }, { "name": "Back", - "from": [2.9, -4.1, 16], - "to": [13.1, 13.1, 19], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, + "from": [2.1, -2.1, 14], + "to": [13.9, 13.9, 17.9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -8.1, 6]}, "faces": { - "east": {"uv": [5, 0, 6.5, 8.5], "texture": "#4"}, - "south": {"uv": [0, 0, 5, 8.5], "texture": "#4"}, - "west": {"uv": [5, 0, 6.5, 8.5], "texture": "#4"}, - "up": {"uv": [0, 8.5, 5, 10], "texture": "#4"}, - "down": {"uv": [0, 8.5, 5, 10], "texture": "#4"} + "east": {"uv": [0, 0, 16, 4], "rotation": 90, "texture": "#5"}, + "south": {"uv": [9, 1, 15, 9], "texture": "#7"}, + "west": {"uv": [0, 0, 16, 4], "rotation": 270, "texture": "#5"}, + "up": {"uv": [0, 0, 12, 4], "texture": "#6"}, + "down": {"uv": [0, 0, 12, 4], "rotation": 180, "texture": "#6"} } }, { @@ -151,7 +137,7 @@ "rotation": {"angle": 0, "axis": "y", "origin": [7, -8, 8]}, "faces": { "north": {"uv": [1, 13, 15, 16], "texture": "#particle"}, - "south": {"uv": [0.5, 14.5, 7.5, 16], "texture": "#4"}, + "south": {"uv": [0.5, 13, 7.5, 14.5], "texture": "#7"}, "up": {"uv": [1, 10, 15, 16], "texture": "#particle"} } }, @@ -159,62 +145,36 @@ "name": "BackPlateLeft", "from": [15, -5, 14], "to": [16, -2, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "east": {"uv": [0, 14.5, 1, 16], "texture": "#4"}, - "south": {"uv": [7.5, 14.5, 8, 16], "texture": "#4"}, - "up": {"uv": [0, 14.5, 1, 15], "rotation": 270, "texture": "#4"} + "east": {"uv": [0, 14.5, 1, 16], "texture": "#7"}, + "south": {"uv": [7.5, 14.5, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 14.5, 5.5, 15], "rotation": 270, "texture": "#7"} } }, { "name": "BackPlateLeft", "from": [0, -5, 14], "to": [1, -2, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 6]}, "faces": { - "south": {"uv": [0, 14.5, 0.5, 16], "texture": "#4"}, - "west": {"uv": [1, 14.5, 0, 16], "texture": "#4"}, - "up": {"uv": [0, 15, 1, 14.5], "rotation": 270, "texture": "#4"} + "south": {"uv": [0, 14.5, 0.5, 16], "texture": "#7"}, + "west": {"uv": [1, 14.5, 0, 16], "texture": "#7"}, + "up": {"uv": [0, 15, 5.5, 14.5], "rotation": 270, "texture": "#7"} + } + }, + { + "from": [1, -2, 14], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 6, 22]}, + "faces": { + "east": {"uv": [1, 6, 9, 6.5], "rotation": 90, "texture": "#3"}, + "south": {"uv": [8, 0, 16, 6], "rotation": 90, "texture": "#3"}, + "west": {"uv": [1, 6, 9, 6.5], "rotation": 90, "texture": "#3"}, + "up": {"uv": [6, 0, 6.5, 6], "rotation": 90, "texture": "#3"} } } ], - "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": "BeltFunnel", @@ -223,19 +183,13 @@ { "name": "FrontSection", "origin": [9, -4, 8], - "children": [0, 1, 2, 3, 4, 5, 6] - }, - { - "name": "Extension", - "origin": [9, -4, 8], - "children": [7, 8] + "children": [0, 1, 2, 3, 4, 5, 6, 7] }, { "name": "Base", "origin": [9, -4, 8], - "children": [9, 10, 11, 12, 13] + "children": [8, 9, 10, 11, 12] } ] - } - ] + }, 13] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/belt_funnel/flap.json b/src/main/resources/assets/create/models/block/belt_funnel/flap.json index 328a8a1f5..2cc22b0b7 100644 --- a/src/main/resources/assets/create/models/block/belt_funnel/flap.json +++ b/src/main/resources/assets/create/models/block/belt_funnel/flap.json @@ -1,6 +1,7 @@ { + "credit": "Made with Blockbench", "textures": { - "4": "create:block/brass_funnel_plating" + "4": "create:block/brass_funnel_back" }, "elements": [ { @@ -9,12 +10,12 @@ "to": [14, 10, 10], "rotation": {"angle": 0, "axis": "y", "origin": [-24.5, -7.5, 9]}, "faces": { - "north": {"uv": [6.5, 0, 8, 6.5], "texture": "#4"}, - "east": {"uv": [6.5, 0, 7, 6.5], "texture": "#4"}, - "south": {"uv": [6.5, 0, 8, 6.5], "texture": "#4"}, - "west": {"uv": [7.5, 0, 8, 6.5], "texture": "#4"}, - "up": {"uv": [6.5, 0, 8, 0.5], "rotation": 180, "texture": "#4"}, - "down": {"uv": [6.5, 6, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [14, 8.5, 12.5, 15], "texture": "#4"}, + "east": {"uv": [13.5, 8.5, 14, 15], "texture": "#4"}, + "south": {"uv": [12.5, 8.5, 14, 15], "texture": "#4"}, + "west": {"uv": [12.5, 8.5, 13, 15], "texture": "#4"}, + "up": {"uv": [12.5, 8.5, 14, 9], "texture": "#4"}, + "down": {"uv": [12.5, 14.5, 14, 15], "texture": "#4"} } } ] diff --git a/src/main/resources/assets/create/models/block/funnel/block.json b/src/main/resources/assets/create/models/block/funnel/block.json index c9dab296d..9f46b9da0 100644 --- a/src/main/resources/assets/create/models/block/funnel/block.json +++ b/src/main/resources/assets/create/models/block/funnel/block.json @@ -2,210 +2,104 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "2": "create:block/brass_funnel_back", - "3": "create:block/brass_funnel", - "4": "create:block/brass_funnel_plating", - "particle": "create:block/brass_block" + "0": "create:block/brass_funnel_plating", + "1": "create:block/brass_block", + "2": "create:block/brass_funnel", + "3": "create:block/brass_funnel_back", + "particle": "#1" }, "elements": [ { - "name": "RightWall", - "from": [0, 10, 0], - "to": [2, 16, 16], + "from": [2.1, -1.9, 2.1], + "to": [13.9, 2, 13.9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 7, 10]}, "faces": { - "north": {"uv": [14, 0, 16, 6], "texture": "#3"}, - "east": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "south": {"uv": [0, 0, 2, 6], "texture": "#3"}, - "west": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "up": {"uv": [14, 0, 16, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [0, 0, 2, 16], "texture": "#particle"} + "north": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "south": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "up": {"uv": [0, 4, 12, 16], "texture": "#2"}, + "down": {"uv": [6, 8, 12, 14], "texture": "#3"} } }, { - "name": "LeftWall", - "from": [14, 10, 0], - "to": [16, 16, 16], - "faces": { - "north": {"uv": [0, 0, 2, 6], "texture": "#3"}, - "east": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "south": {"uv": [14, 0, 16, 6], "texture": "#3"}, - "west": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "up": {"uv": [0, 0, 2, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [14, 0, 16, 16], "texture": "#particle"} - } - }, - { - "name": "Top", "from": [2, 10, 14], "to": [14, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 19, 12]}, "faces": { - "north": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "south": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [2, 0, 14, 2], "texture": "#particle"} + "north": {"uv": [2, 1, 14, 7], "texture": "#1"}, + "south": {"uv": [1, 0, 7, 3], "texture": "#0"}, + "up": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "down": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#1"} } }, { - "name": "Top", "from": [2, 10, 0], "to": [14, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 19, -2]}, "faces": { - "north": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "south": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "up": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [2, 14, 14, 16], "texture": "#particle"} + "north": {"uv": [1, 0, 7, 3], "texture": "#0"}, + "south": {"uv": [2, 1, 14, 7], "texture": "#1"}, + "up": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "down": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#1"} } }, { - "name": "F4", - "from": [11, 14, 1.5], - "to": [14, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [14, 8.5, 8]}, + "from": [0, 10, 0], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, 19, -2]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [7, 0, 8, 3], "texture": "#0"}, + "east": {"uv": [0, 1, 16, 7], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#1"} } }, { - "name": "F5", - "from": [5, 14, 1.5], - "to": [8, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 8]}, + "from": [14, 10, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 19, -2]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#0"}, + "south": {"uv": [7, 0, 8, 3], "texture": "#0"}, + "west": {"uv": [0, 1, 16, 7], "texture": "#1"}, + "up": {"uv": [14, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [14, 0, 16, 16], "texture": "#1"} } }, { - "name": "F5", - "from": [8, 14, 1.5], - "to": [11, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [14, 8.5, 8]}, + "from": [2, 6, 2], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 15, 10]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#3"} } }, { - "name": "F6", - "from": [2, 14, 1.5], - "to": [5, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 8]}, + "from": [2, 11, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 20, 10]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "up": {"uv": [0, 8, 6, 14], "texture": "#3"} } }, { - "name": "BackExtension", - "from": [2, 2, 2], - "to": [14, 6, 14], + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 11, 10]}, "faces": { - "north": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "east": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "south": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "west": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "down": {"uv": [9, 0.5, 15, 6.5], "texture": "#2"} + "north": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "east": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "south": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "west": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"} } - }, - { - "name": "MidExtension", - "from": [1, 6, 1], - "to": [15, 10, 15], - "faces": { - "north": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "east": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "south": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "west": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "up": {"uv": [0, 9, 7, 16], "rotation": 180, "texture": "#2"}, - "down": {"uv": [8.5, 0, 15.5, 7], "texture": "#2"} - } - }, - { - "name": "Back", - "from": [3.1, -1.9, 3.1], - "to": [12.9, 2, 12.9], - "faces": { - "north": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "east": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "south": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "west": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "down": {"uv": [9.5, 11, 14.5, 16], "texture": "#4"} - } - } - ], - "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": "BeltFunnel", - "origin": [9, -4, 8], - "children": [ - { - "name": "FrontSection", - "origin": [9, -4, 8], - "children": [0, 1, 2, 3, - { - "name": "Flap", - "origin": [8, 8, 8], - "children": [4, 5, 6, 7] - } - ] - }, - { - "name": "Extension", - "origin": [9, -4, 8], - "children": [8, 9] - }, - { - "name": "DELETABLEEXTENSION", - "origin": [9, -4, 8], - "children": [] - }, - { - "name": "DELETABLEEXTESNIONMID", - "origin": [35, 12, 4], - "children": [] - }, - { - "name": "Base", - "origin": [9, -4, 8], - "children": [10] - } - ] } ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/funnel/item.json b/src/main/resources/assets/create/models/block/funnel/item.json index e6d6c804e..62aa61fe0 100644 --- a/src/main/resources/assets/create/models/block/funnel/item.json +++ b/src/main/resources/assets/create/models/block/funnel/item.json @@ -2,133 +2,103 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "2": "create:block/brass_funnel_back", - "3": "create:block/brass_funnel", - "4": "create:block/brass_funnel_plating", - "particle": "create:block/brass_block" + "0": "create:block/brass_funnel_plating", + "1": "create:block/brass_block", + "2": "create:block/brass_funnel", + "3": "create:block/brass_funnel_back", + "particle": "#1" }, "elements": [ { - "name": "RightWall", - "from": [0, 10, 0], - "to": [2, 16, 16], + "from": [2.1, -1.9, 2.1], + "to": [13.9, 2, 13.9], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 7, 10]}, "faces": { - "north": {"uv": [14, 0, 16, 6], "texture": "#3"}, - "east": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "south": {"uv": [0, 0, 2, 6], "texture": "#3"}, - "west": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "up": {"uv": [14, 0, 16, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [0, 0, 2, 16], "texture": "#particle"} + "north": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "south": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 12, 4], "texture": "#2"}, + "up": {"uv": [0, 4, 12, 16], "texture": "#2"}, + "down": {"uv": [6, 8, 12, 14], "texture": "#3"} } }, { - "name": "LeftWall", - "from": [14, 10, 0], - "to": [16, 16, 16], - "faces": { - "north": {"uv": [0, 0, 2, 6], "texture": "#3"}, - "east": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "south": {"uv": [14, 0, 16, 6], "texture": "#3"}, - "west": {"uv": [0, 0, 16, 6], "texture": "#3"}, - "up": {"uv": [0, 0, 2, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [14, 0, 16, 16], "texture": "#particle"} - } - }, - { - "name": "Top", "from": [2, 10, 14], "to": [14, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 19, 12]}, "faces": { - "north": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "south": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [2, 0, 14, 2], "texture": "#particle"} + "north": {"uv": [2, 1, 14, 7], "texture": "#1"}, + "south": {"uv": [1, 0, 7, 3], "texture": "#0"}, + "up": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "down": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#1"} } }, { - "name": "Top", "from": [2, 10, 0], "to": [14, 16, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [6, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 19, -2]}, "faces": { - "north": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "south": {"uv": [2, 0, 14, 6], "texture": "#3"}, - "up": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#particle"}, - "down": {"uv": [2, 14, 14, 16], "texture": "#particle"} + "north": {"uv": [1, 0, 7, 3], "texture": "#0"}, + "south": {"uv": [2, 1, 14, 7], "texture": "#1"}, + "up": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "down": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#1"} } }, { - "name": "F4", - "from": [11, 14, 1.5], - "to": [14, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [14, 8.5, 8]}, + "from": [0, 10, 0], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-2, 19, -2]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [7, 0, 8, 3], "texture": "#0"}, + "east": {"uv": [0, 1, 16, 7], "texture": "#1"}, + "south": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 2, 16], "texture": "#1"} } }, { - "name": "F5", - "from": [5, 14, 1.5], - "to": [8, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 8]}, + "from": [14, 10, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [12, 19, -2]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [0, 0, 1, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 3], "texture": "#0"}, + "south": {"uv": [7, 0, 8, 3], "texture": "#0"}, + "west": {"uv": [0, 1, 16, 7], "texture": "#1"}, + "up": {"uv": [14, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [14, 0, 16, 16], "texture": "#1"} } }, { - "name": "F5", - "from": [8, 14, 1.5], - "to": [11, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [14, 8.5, 8]}, + "from": [2, 6, 2], + "to": [14, 10, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 15, 10]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "north": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "east": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "south": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "west": {"uv": [6, 0, 8, 6], "rotation": 90, "texture": "#3"}, + "down": {"uv": [0, 0, 6, 6], "texture": "#3"} } }, { - "name": "F6", - "from": [2, 14, 1.5], - "to": [5, 15, 14.5], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.5, 8]}, + "from": [2, 11, 2], + "to": [14, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 20, 10]}, "faces": { - "up": {"uv": [6.5, 0, 8, 6.5], "rotation": 180, "texture": "#4"} + "up": {"uv": [0, 8, 6, 14], "texture": "#3"} } }, { - "name": "BackExtension", - "from": [2, 2, 2], - "to": [14, 6, 14], + "from": [3, 2, 3], + "to": [13, 6, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 11, 10]}, "faces": { - "north": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "east": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "south": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "west": {"uv": [13, 10, 15, 16], "rotation": 270, "texture": "#2"}, - "down": {"uv": [9, 0.5, 15, 6.5], "texture": "#2"} - } - }, - { - "name": "MidExtension", - "from": [1, 6, 1], - "to": [15, 10, 15], - "faces": { - "north": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "east": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "south": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "west": {"uv": [11, 9, 13, 16], "rotation": 90, "texture": "#2"}, - "up": {"uv": [0, 9, 7, 16], "rotation": 180, "texture": "#2"}, - "down": {"uv": [8.5, 0, 15.5, 7], "texture": "#2"} - } - }, - { - "name": "Back", - "from": [3, -2, 3], - "to": [13, 2, 13], - "faces": { - "north": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "east": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "south": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "west": {"uv": [9.5, 9, 14.5, 11], "texture": "#4"}, - "down": {"uv": [9.5, 11, 14.5, 16], "texture": "#4"} + "north": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "east": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "south": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"}, + "west": {"uv": [9.5, 2, 14.5, 4], "texture": "#3"} } } ], @@ -165,44 +135,5 @@ "fixed": { "scale": [0.5, 0.5, 0.5] } - }, - "groups": [ - { - "name": "BeltFunnel", - "origin": [9, -4, 8], - "children": [ - { - "name": "FrontSection", - "origin": [9, -4, 8], - "children": [0, 1, 2, 3, - { - "name": "Flap", - "origin": [8, 8, 8], - "children": [4, 5, 6, 7] - } - ] - }, - { - "name": "Extension", - "origin": [9, -4, 8], - "children": [8, 9] - }, - { - "name": "DELETABLEEXTENSION", - "origin": [9, -4, 8], - "children": [] - }, - { - "name": "DELETABLEEXTESNIONMID", - "origin": [35, 12, 4], - "children": [] - }, - { - "name": "Base", - "origin": [9, -4, 8], - "children": [10] - } - ] - } - ] + } } \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel.png b/src/main/resources/assets/create/textures/block/andesite_funnel.png index 9d4f35ea9..9f795dc7b 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_funnel.png and b/src/main/resources/assets/create/textures/block/andesite_funnel.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_back.png b/src/main/resources/assets/create/textures/block/andesite_funnel_back.png index 0cf540404..3936bfd3b 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_funnel_back.png and b/src/main/resources/assets/create/textures/block/andesite_funnel_back.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_plating.png b/src/main/resources/assets/create/textures/block/andesite_funnel_plating.png index 2d24fe731..71aacc4f3 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_funnel_plating.png and b/src/main/resources/assets/create/textures/block/andesite_funnel_plating.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_powered.png b/src/main/resources/assets/create/textures/block/andesite_funnel_powered.png new file mode 100644 index 000000000..d10762084 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/andesite_funnel_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_pull.png b/src/main/resources/assets/create/textures/block/andesite_funnel_pull.png index 4207c9e96..bf0abd43f 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_funnel_pull.png and b/src/main/resources/assets/create/textures/block/andesite_funnel_pull.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_push.png b/src/main/resources/assets/create/textures/block/andesite_funnel_push.png index e9648ef74..ede3d171e 100644 Binary files a/src/main/resources/assets/create/textures/block/andesite_funnel_push.png and b/src/main/resources/assets/create/textures/block/andesite_funnel_push.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_tall.png b/src/main/resources/assets/create/textures/block/andesite_funnel_tall.png new file mode 100644 index 000000000..f6adf3328 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/andesite_funnel_tall.png differ diff --git a/src/main/resources/assets/create/textures/block/andesite_funnel_tall_powered.png b/src/main/resources/assets/create/textures/block/andesite_funnel_tall_powered.png new file mode 100644 index 000000000..38e04735c Binary files /dev/null and b/src/main/resources/assets/create/textures/block/andesite_funnel_tall_powered.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 ff5b11607..473c3219b 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 638481460..66bccd230 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 09ffc1e0d..e8a3ca30e 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 26a0d0c52..da9e0c48d 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 ebc52fde6..f8fe8e44b 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 deleted file mode 100644 index d66a2d4aa..000000000 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_pull_powered.png and /dev/null 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 e214fb94f..18eb09320 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 deleted file mode 100644 index b470004c1..000000000 Binary files a/src/main/resources/assets/create/textures/block/brass_funnel_push_powered.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_tall.png b/src/main/resources/assets/create/textures/block/brass_funnel_tall.png new file mode 100644 index 000000000..8e5c56b33 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/brass_funnel_tall.png differ diff --git a/src/main/resources/assets/create/textures/block/brass_funnel_tall_powered.png b/src/main/resources/assets/create/textures/block/brass_funnel_tall_powered.png new file mode 100644 index 000000000..97543ea4d Binary files /dev/null and b/src/main/resources/assets/create/textures/block/brass_funnel_tall_powered.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 70e1df0a3..127e492d0 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 737430df3..0501e0c2b 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 f7da3317b..7897cdaac 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 index df7c9d8e4..bdfc76596 100644 Binary files a/src/main/resources/assets/create/textures/block/brass_tunnel_top_window.png and b/src/main/resources/assets/create/textures/block/brass_tunnel_top_window.png differ