mirror of
https://github.com/wisplite/crystalline-sky.git
synced 2026-10-30 13:32:18 -05:00
Porting II
This commit is contained in:
@@ -1,48 +1,44 @@
|
|||||||
// 1.21.8 -999999999-01-01T00:00:00 Crystalline Sky/Model Definitions
|
// 1.21.1 2026-04-04T17:09:36.734955339 Crystalline Sky/Model Definitions
|
||||||
e832366c216102270b75085db7a7169881b853b3 assets/crystalline_sky/blockstates/sky.json
|
|
||||||
ecc125a24d3e2c86d922352d8449f26a4e06d122 assets/crystalline_sky/blockstates/sky_light.json
|
|
||||||
03e2eb768bc34fbeaabffbff8ed3a2a3044a6db1 assets/crystalline_sky/blockstates/weeping_sky.json
|
|
||||||
9b3d01168a1cc29b99cf69fe225ad69b0923c9fe assets/crystalline_sky/blockstates/weeping_sky_light.json
|
|
||||||
c0168359bc7e3978778cee2d000b21c3889c235c assets/crystalline_sky/items/sky.json
|
|
||||||
c9ebbcbf9d632aeab6bfab2014d7c225f2b290d9 assets/crystalline_sky/items/sky_light.json
|
|
||||||
2371c7a720a552589983925a24677fd3d1b649b4 assets/crystalline_sky/items/weeping_sky.json
|
|
||||||
b14b5a0b951ae24fb4b79df59416163b1303d32e assets/crystalline_sky/items/weeping_sky_light.json
|
|
||||||
6d1e10716c05150e73b2b9e254091125264a7a3d assets/crystalline_sky/models/block/sky.json
|
|
||||||
3183aeb9fff78d0c65f1ddd0dfb599420573e281 assets/crystalline_sky/models/block/sky_light_00.json
|
|
||||||
7eaa4c3d4913e0cb117585204dd1dd9e58402b83 assets/crystalline_sky/models/block/sky_light_01.json
|
|
||||||
59463cef438e58b137e5ce27402acf42a3a0ae87 assets/crystalline_sky/models/block/sky_light_02.json
|
|
||||||
ee9cb7604922cdb2ad71d021a593ca82f0baf493 assets/crystalline_sky/models/block/sky_light_03.json
|
|
||||||
317f9881c20b1aaa3902b3999dd1c76d00afbde6 assets/crystalline_sky/models/block/sky_light_04.json
|
|
||||||
2ce612b8445da92c6cecd07bd5364a25bcfb127f assets/crystalline_sky/models/block/sky_light_05.json
|
|
||||||
19859c3124196f3788bfbae1ec2bcd4d1e46db2e assets/crystalline_sky/models/block/sky_light_06.json
|
|
||||||
fceb0c59b7f6d431200764ccf87596541bacb17f assets/crystalline_sky/models/block/sky_light_07.json
|
fceb0c59b7f6d431200764ccf87596541bacb17f assets/crystalline_sky/models/block/sky_light_07.json
|
||||||
c0d693e4f78ce15c238909130382909abda4c922 assets/crystalline_sky/models/block/sky_light_08.json
|
|
||||||
ef9e5aca345b59cb4692a7bcfaac539aed6f6889 assets/crystalline_sky/models/block/sky_light_09.json
|
|
||||||
9c6ba4d90f2c4f2a9beb910c1b32023e49445749 assets/crystalline_sky/models/block/sky_light_10.json
|
|
||||||
e91808daecfc454b784f5fb27003c58bb0caedce assets/crystalline_sky/models/block/sky_light_11.json
|
|
||||||
e2c7bebd9eca446bb06fff866ec4d4996917e7e4 assets/crystalline_sky/models/block/sky_light_12.json
|
|
||||||
0b4015acca6117ea633ae3cdaf3fe40fcab6b628 assets/crystalline_sky/models/block/sky_light_13.json
|
|
||||||
0ac5351c3a01e0f9e76517452918e12770b3b54b assets/crystalline_sky/models/block/sky_light_14.json
|
|
||||||
a87d8988452529a1f5af5662ad636223fdd98fec assets/crystalline_sky/models/block/sky_light_15.json
|
|
||||||
14508173fcca14cb42755d47374c94d3eace42ce assets/crystalline_sky/models/block/weeping_sky.json
|
|
||||||
508ffb97ee711b53767b9d33659596197f69ee20 assets/crystalline_sky/models/block/weeping_sky_light.json
|
|
||||||
008a0d0a76a34d8f375fa355452a5d0f93f9af3b assets/crystalline_sky/models/item/sky.json
|
|
||||||
2fedd8aff557d4e559ffa8166b4e5ac78136046d assets/crystalline_sky/models/item/sky_light.json
|
|
||||||
9f0d9fe5dfb05bbe18177db5c40e600c5b256858 assets/crystalline_sky/models/item/sky_light_00.json
|
|
||||||
0e8a96cfb88f4c58679709cc9397b5700878a9c4 assets/crystalline_sky/models/item/sky_light_01.json
|
|
||||||
ed5894de7afa66f73c72093f2dd7d046cf647070 assets/crystalline_sky/models/item/sky_light_02.json
|
|
||||||
b29c14f77a08da7a6994cff4c6801d6f04b12ec0 assets/crystalline_sky/models/item/sky_light_03.json
|
|
||||||
51fa40ff02afcec303e7a18478cbae5375dfb140 assets/crystalline_sky/models/item/sky_light_04.json
|
|
||||||
42f8b696ba0f511edce656b9055764ed13013221 assets/crystalline_sky/models/item/sky_light_05.json
|
|
||||||
910c51120a0931851db6b75b337bc21241165c2f assets/crystalline_sky/models/item/sky_light_06.json
|
|
||||||
dff33a68a694de0f3ef177886c002204ffe49a8c assets/crystalline_sky/models/item/sky_light_07.json
|
dff33a68a694de0f3ef177886c002204ffe49a8c assets/crystalline_sky/models/item/sky_light_07.json
|
||||||
89582890605d371d936384a83950af603d2fe495 assets/crystalline_sky/models/item/sky_light_08.json
|
51fa40ff02afcec303e7a18478cbae5375dfb140 assets/crystalline_sky/models/item/sky_light_04.json
|
||||||
7115b88da2cc0bfdc68646d034de8d14f181eb01 assets/crystalline_sky/models/item/sky_light_09.json
|
14508173fcca14cb42755d47374c94d3eace42ce assets/crystalline_sky/models/block/weeping_sky.json
|
||||||
9c6c61b7f805a614d2d15d8dde390ed068913182 assets/crystalline_sky/models/item/sky_light_10.json
|
317f9881c20b1aaa3902b3999dd1c76d00afbde6 assets/crystalline_sky/models/block/sky_light_04.json
|
||||||
04f1e4eba184b8e7b1669fc61006e3d00e09d164 assets/crystalline_sky/models/item/sky_light_11.json
|
9b3d01168a1cc29b99cf69fe225ad69b0923c9fe assets/crystalline_sky/blockstates/weeping_sky_light.json
|
||||||
|
a87d8988452529a1f5af5662ad636223fdd98fec assets/crystalline_sky/models/block/sky_light_15.json
|
||||||
|
0e8a96cfb88f4c58679709cc9397b5700878a9c4 assets/crystalline_sky/models/item/sky_light_01.json
|
||||||
|
ecc125a24d3e2c86d922352d8449f26a4e06d122 assets/crystalline_sky/blockstates/sky_light.json
|
||||||
b8795df31017499b35a5b37a4dfbe555a8242cb0 assets/crystalline_sky/models/item/sky_light_12.json
|
b8795df31017499b35a5b37a4dfbe555a8242cb0 assets/crystalline_sky/models/item/sky_light_12.json
|
||||||
25f0831f8c64db0e5c08fc968445e329f1e3a91c assets/crystalline_sky/models/item/sky_light_13.json
|
|
||||||
58349dc5dedb8016fb0bc958fcd4a9ccde13a1cd assets/crystalline_sky/models/item/sky_light_14.json
|
|
||||||
d500e56057c0c2f3c948894694e2826f1726fd9e assets/crystalline_sky/models/item/sky_light_15.json
|
d500e56057c0c2f3c948894694e2826f1726fd9e assets/crystalline_sky/models/item/sky_light_15.json
|
||||||
15c0a47d504ddd41bbecd4ac58c0c8ccd0f37943 assets/crystalline_sky/models/item/weeping_sky.json
|
0b4015acca6117ea633ae3cdaf3fe40fcab6b628 assets/crystalline_sky/models/block/sky_light_13.json
|
||||||
|
7115b88da2cc0bfdc68646d034de8d14f181eb01 assets/crystalline_sky/models/item/sky_light_09.json
|
||||||
|
910c51120a0931851db6b75b337bc21241165c2f assets/crystalline_sky/models/item/sky_light_06.json
|
||||||
|
59463cef438e58b137e5ce27402acf42a3a0ae87 assets/crystalline_sky/models/block/sky_light_02.json
|
||||||
|
9c6ba4d90f2c4f2a9beb910c1b32023e49445749 assets/crystalline_sky/models/block/sky_light_10.json
|
||||||
|
ef5afdbcc8401a27029b6f0a29fa1117761c620d assets/crystalline_sky/models/item/sky_light.json
|
||||||
|
9f0d9fe5dfb05bbe18177db5c40e600c5b256858 assets/crystalline_sky/models/item/sky_light_00.json
|
||||||
|
b29c14f77a08da7a6994cff4c6801d6f04b12ec0 assets/crystalline_sky/models/item/sky_light_03.json
|
||||||
|
19859c3124196f3788bfbae1ec2bcd4d1e46db2e assets/crystalline_sky/models/block/sky_light_06.json
|
||||||
|
508ffb97ee711b53767b9d33659596197f69ee20 assets/crystalline_sky/models/block/weeping_sky_light.json
|
||||||
|
ef9e5aca345b59cb4692a7bcfaac539aed6f6889 assets/crystalline_sky/models/block/sky_light_09.json
|
||||||
|
04f1e4eba184b8e7b1669fc61006e3d00e09d164 assets/crystalline_sky/models/item/sky_light_11.json
|
||||||
|
0ac5351c3a01e0f9e76517452918e12770b3b54b assets/crystalline_sky/models/block/sky_light_14.json
|
||||||
|
58349dc5dedb8016fb0bc958fcd4a9ccde13a1cd assets/crystalline_sky/models/item/sky_light_14.json
|
||||||
|
03e2eb768bc34fbeaabffbff8ed3a2a3044a6db1 assets/crystalline_sky/blockstates/weeping_sky.json
|
||||||
be0be7e1d7ce1ccabed01ef09c6499a2a7f2b132 assets/crystalline_sky/models/item/weeping_sky_light.json
|
be0be7e1d7ce1ccabed01ef09c6499a2a7f2b132 assets/crystalline_sky/models/item/weeping_sky_light.json
|
||||||
|
e91808daecfc454b784f5fb27003c58bb0caedce assets/crystalline_sky/models/block/sky_light_11.json
|
||||||
|
3183aeb9fff78d0c65f1ddd0dfb599420573e281 assets/crystalline_sky/models/block/sky_light_00.json
|
||||||
|
ee9cb7604922cdb2ad71d021a593ca82f0baf493 assets/crystalline_sky/models/block/sky_light_03.json
|
||||||
|
c0d693e4f78ce15c238909130382909abda4c922 assets/crystalline_sky/models/block/sky_light_08.json
|
||||||
|
2ce612b8445da92c6cecd07bd5364a25bcfb127f assets/crystalline_sky/models/block/sky_light_05.json
|
||||||
|
25f0831f8c64db0e5c08fc968445e329f1e3a91c assets/crystalline_sky/models/item/sky_light_13.json
|
||||||
|
15c0a47d504ddd41bbecd4ac58c0c8ccd0f37943 assets/crystalline_sky/models/item/weeping_sky.json
|
||||||
|
ed5894de7afa66f73c72093f2dd7d046cf647070 assets/crystalline_sky/models/item/sky_light_02.json
|
||||||
|
42f8b696ba0f511edce656b9055764ed13013221 assets/crystalline_sky/models/item/sky_light_05.json
|
||||||
|
9c6c61b7f805a614d2d15d8dde390ed068913182 assets/crystalline_sky/models/item/sky_light_10.json
|
||||||
|
6d1e10716c05150e73b2b9e254091125264a7a3d assets/crystalline_sky/models/block/sky.json
|
||||||
|
e2c7bebd9eca446bb06fff866ec4d4996917e7e4 assets/crystalline_sky/models/block/sky_light_12.json
|
||||||
|
e832366c216102270b75085db7a7169881b853b3 assets/crystalline_sky/blockstates/sky.json
|
||||||
|
7eaa4c3d4913e0cb117585204dd1dd9e58402b83 assets/crystalline_sky/models/block/sky_light_01.json
|
||||||
|
89582890605d371d936384a83950af603d2fe495 assets/crystalline_sky/models/item/sky_light_08.json
|
||||||
|
008a0d0a76a34d8f375fa355452a5d0f93f9af3b assets/crystalline_sky/models/item/sky.json
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
// 1.21.8 -999999999-01-01T00:00:00 Crystalline Sky/Tags for minecraft:block
|
// 1.21.1 2026-04-04T17:09:36.733906405 Crystalline Sky/Tags for minecraft:block
|
||||||
1389c0b812f7a6e4d5dd00edac1dc07beb5f9552 data/crystalline_sky/tags/block/sky_light_emitters.json
|
|
||||||
606477607a09045ff2830cbc036e744d6a728bbd data/minecraft/tags/block/crystal_sound_blocks.json
|
606477607a09045ff2830cbc036e744d6a728bbd data/minecraft/tags/block/crystal_sound_blocks.json
|
||||||
|
1389c0b812f7a6e4d5dd00edac1dc07beb5f9552 data/crystalline_sky/tags/block/sky_light_emitters.json
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
// 1.21.8 -999999999-01-01T00:00:00 Crystalline Sky/Block Loot Tables
|
// 1.21.1 2026-04-04T17:09:36.73618123 Crystalline Sky/Block Loot Tables
|
||||||
6a9b7a08424cbd3d699dfd3252d432517254aa45 data/crystalline_sky/loot_table/blocks/sky.json
|
|
||||||
337de0acfc1b9b86adde0705e342ed1d4b5c9c4e data/crystalline_sky/loot_table/blocks/weeping_sky.json
|
337de0acfc1b9b86adde0705e342ed1d4b5c9c4e data/crystalline_sky/loot_table/blocks/weeping_sky.json
|
||||||
|
6a9b7a08424cbd3d699dfd3252d432517254aa45 data/crystalline_sky/loot_table/blocks/sky.json
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:select",
|
|
||||||
"block_state_property": "level",
|
|
||||||
"cases": [
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_00"
|
|
||||||
},
|
|
||||||
"when": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_01"
|
|
||||||
},
|
|
||||||
"when": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_02"
|
|
||||||
},
|
|
||||||
"when": "2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_03"
|
|
||||||
},
|
|
||||||
"when": "3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_04"
|
|
||||||
},
|
|
||||||
"when": "4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_05"
|
|
||||||
},
|
|
||||||
"when": "5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_06"
|
|
||||||
},
|
|
||||||
"when": "6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_07"
|
|
||||||
},
|
|
||||||
"when": "7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_08"
|
|
||||||
},
|
|
||||||
"when": "8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_09"
|
|
||||||
},
|
|
||||||
"when": "9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_10"
|
|
||||||
},
|
|
||||||
"when": "10"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_11"
|
|
||||||
},
|
|
||||||
"when": "11"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_12"
|
|
||||||
},
|
|
||||||
"when": "12"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_13"
|
|
||||||
},
|
|
||||||
"when": "13"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_14"
|
|
||||||
},
|
|
||||||
"when": "14"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light_15"
|
|
||||||
},
|
|
||||||
"when": "15"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fallback": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/sky_light"
|
|
||||||
},
|
|
||||||
"property": "minecraft:block_state"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/weeping_sky"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "crystalline_sky:item/weeping_sky_light"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,103 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "minecraft:item/generated",
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_00",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_01",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.0625
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_02",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_03",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.1875
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_04",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.25
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_05",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.3125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_06",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.375
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_07",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.4375
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_08",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_09",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.5625
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_10",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.625
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_11",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.6875
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_12",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.75
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_13",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.8125
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_14",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.875
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"model": "crystalline_sky:item/sky_light_15",
|
||||||
|
"predicate": {
|
||||||
|
"level": 0.9375
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "crystalline_sky:item/sky_light"
|
"layer0": "crystalline_sky:item/sky_light"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,22 @@ package io.github.slimeistdev.crystalline_sky;
|
|||||||
|
|
||||||
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.DebugRenderer_Duck;
|
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.DebugRenderer_Duck;
|
||||||
import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks;
|
import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems;
|
||||||
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers;
|
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers;
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||||
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
||||||
|
import net.minecraft.block.LightBlock;
|
||||||
|
import net.minecraft.client.item.ModelPredicateProviderRegistry;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
import net.minecraft.client.util.InputUtil;
|
import net.minecraft.client.util.InputUtil;
|
||||||
|
import net.minecraft.component.DataComponentTypes;
|
||||||
|
import net.minecraft.component.type.BlockStateComponent;
|
||||||
import net.minecraft.screen.ScreenTexts;
|
import net.minecraft.screen.ScreenTexts;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Formatting;
|
import net.minecraft.util.Formatting;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
import org.lwjgl.glfw.GLFW;
|
import org.lwjgl.glfw.GLFW;
|
||||||
|
|
||||||
public class CrystallineSkyClient implements ClientModInitializer {
|
public class CrystallineSkyClient implements ClientModInitializer {
|
||||||
@@ -38,6 +44,13 @@ public class CrystallineSkyClient implements ClientModInitializer {
|
|||||||
client.inGameHud.getChatHud().addMessage(message);
|
client.inGameHud.getChatHud().addMessage(message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ModelPredicateProviderRegistry.register(CrystallineItems.SKY_LIGHT, Identifier.ofVanilla("level"),
|
||||||
|
(stack, world, entity, seed) -> {
|
||||||
|
BlockStateComponent blockStateComponent = stack.getOrDefault(DataComponentTypes.BLOCK_STATE, BlockStateComponent.DEFAULT);
|
||||||
|
Integer integer = blockStateComponent.getValue(LightBlock.LEVEL_15);
|
||||||
|
return integer != null ? integer / 16.0F : 1.0F;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("SameParameterValue")
|
@SuppressWarnings("SameParameterValue")
|
||||||
|
|||||||
+26
@@ -1,5 +1,7 @@
|
|||||||
package io.github.slimeistdev.crystalline_sky.datagen.providers;
|
package io.github.slimeistdev.crystalline_sky.datagen.providers;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks;
|
import io.github.slimeistdev.crystalline_sky.registry.CrystallineBlocks;
|
||||||
import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems;
|
import io.github.slimeistdev.crystalline_sky.registry.CrystallineItems;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
@@ -44,6 +46,7 @@ public class CrystallineSkyModelProvider extends FabricModelProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void registerSkyLightBlock(BlockStateModelGenerator gen, Block block, Item item) {
|
private void registerSkyLightBlock(BlockStateModelGenerator gen, Block block, Item item) {
|
||||||
|
gen.excludeFromSimpleItemModelGeneration(block);
|
||||||
BlockStateVariantMap.SingleProperty<Integer> singleProperty = BlockStateVariantMap.create(Properties.LEVEL_15);
|
BlockStateVariantMap.SingleProperty<Integer> singleProperty = BlockStateVariantMap.create(Properties.LEVEL_15);
|
||||||
|
|
||||||
for (int level = 0; level <= 15; level++) {
|
for (int level = 0; level <= 15; level++) {
|
||||||
@@ -62,6 +65,29 @@ public class CrystallineSkyModelProvider extends FabricModelProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO generate root-level item model itself
|
// TODO generate root-level item model itself
|
||||||
|
Models.GENERATED.upload(
|
||||||
|
ModelIds.getItemModelId(item),
|
||||||
|
TextureMap.layer0(item),
|
||||||
|
gen.modelCollector,
|
||||||
|
(id, textures) -> {
|
||||||
|
JsonObject base = Models.GENERATED.createJson(id, textures);
|
||||||
|
var overrides = new JsonArray();
|
||||||
|
for (int level = 0; level <= 15; level++) {
|
||||||
|
JsonObject override = new JsonObject();
|
||||||
|
|
||||||
|
JsonObject predicate = new JsonObject();
|
||||||
|
predicate.addProperty("level", level / 16f);
|
||||||
|
override.add("predicate", predicate);
|
||||||
|
|
||||||
|
String suffix = String.format(Locale.ROOT, "_%02d", level);
|
||||||
|
Identifier model = TextureMap.getSubId(item, suffix);
|
||||||
|
override.addProperty("model", model.toString());
|
||||||
|
|
||||||
|
overrides.add(override);
|
||||||
|
}
|
||||||
|
base.add("overrides", overrides);
|
||||||
|
return base;
|
||||||
|
});
|
||||||
gen.blockStateCollector.accept(VariantsBlockStateSupplier.create(block).coordinate(singleProperty));
|
gen.blockStateCollector.accept(VariantsBlockStateSupplier.create(block).coordinate(singleProperty));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -17,11 +17,10 @@ import java.util.function.Consumer;
|
|||||||
|
|
||||||
@Mixin(GameRenderer.class)
|
@Mixin(GameRenderer.class)
|
||||||
public class GameRendererMixin {
|
public class GameRendererMixin {
|
||||||
@SuppressWarnings("InvalidInjectorMethodSignature")
|
|
||||||
@WrapOperation(method = "loadPrograms", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 0))
|
@WrapOperation(method = "loadPrograms", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 0))
|
||||||
private <E extends Pair<ShaderProgram, Consumer<ShaderProgram>>> boolean loadSkyProgram(
|
private <E extends Pair<ShaderProgram, Consumer<ShaderProgram>>> boolean loadSkyProgram(
|
||||||
List<E> instance,
|
List<E> instance,
|
||||||
E e,
|
Object e,
|
||||||
Operation<Boolean> original,
|
Operation<Boolean> original,
|
||||||
ResourceFactory factory
|
ResourceFactory factory
|
||||||
) throws IOException {
|
) throws IOException {
|
||||||
|
|||||||
+16
-12
@@ -1,21 +1,25 @@
|
|||||||
package io.github.slimeistdev.crystalline_sky.mixin.client;
|
package io.github.slimeistdev.crystalline_sky.mixin.client;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderLayer_Duck;
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
|
||||||
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderLayers;
|
|
||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import org.objectweb.asm.Opcodes;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.Mutable;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
|
||||||
@Mixin(RenderLayer.class)
|
@Mixin(RenderLayer.class)
|
||||||
public class RenderLayerMixin {
|
public class RenderLayerMixin implements RenderLayer_Duck {
|
||||||
@WrapOperation(method = "<clinit>", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/RenderLayer;BLOCK_LAYERS:Lcom/google/common/collect/ImmutableList;", opcode = Opcodes.PUTSTATIC))
|
@Shadow
|
||||||
private static void addSkyToBlockLayers(ImmutableList<RenderLayer> value, Operation<Void> original) {
|
@Final
|
||||||
original.call(ImmutableList.<RenderLayer>builder()
|
@Mutable
|
||||||
.addAll(value)
|
private static ImmutableList<RenderLayer> BLOCK_LAYERS;
|
||||||
.add(CrystallineRenderLayers.SKY)
|
|
||||||
.build());
|
@Override
|
||||||
|
public void crystalline_sky$markAsBlockLayer() {
|
||||||
|
BLOCK_LAYERS = ImmutableList.<RenderLayer>builder()
|
||||||
|
.addAll(BLOCK_LAYERS)
|
||||||
|
.add((RenderLayer) (Object) this)
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
package io.github.slimeistdev.crystalline_sky.mixin_ducks.client;
|
||||||
|
|
||||||
|
public interface RenderLayer_Duck {
|
||||||
|
void crystalline_sky$markAsBlockLayer();
|
||||||
|
}
|
||||||
+6
@@ -1,6 +1,7 @@
|
|||||||
package io.github.slimeistdev.crystalline_sky.registry.client;
|
package io.github.slimeistdev.crystalline_sky.registry.client;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.RenderLayer_Duck;
|
||||||
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.WorldRenderer_Duck;
|
import io.github.slimeistdev.crystalline_sky.mixin_ducks.client.WorldRenderer_Duck;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
@@ -32,6 +33,11 @@ public class CrystallineRenderLayers {
|
|||||||
.build(true)
|
.build(true)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static {
|
||||||
|
//noinspection DataFlowIssue
|
||||||
|
((RenderLayer_Duck) SKY).crystalline_sky$markAsBlockLayer();
|
||||||
|
}
|
||||||
|
|
||||||
private static class SkyBufferTexture extends RenderPhase.TextureBase {
|
private static class SkyBufferTexture extends RenderPhase.TextureBase {
|
||||||
public SkyBufferTexture() {
|
public SkyBufferTexture() {
|
||||||
super(() -> {
|
super(() -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user