actually, according to the latin roots, the plural is 'directapodes'

This commit is contained in:
gamma-delta 2022-03-26 23:44:29 -05:00
parent 92f652b800
commit e27cc37c6c
83 changed files with 916 additions and 57 deletions

View file

@ -35,9 +35,9 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(17)
// Adds the Kotlin Gradle plugin
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10"
// OPTIONAL Kotlin Serialization plugin
classpath 'org.jetbrains.kotlin:kotlin-serialization:1.6.0'
classpath 'org.jetbrains.kotlin:kotlin-serialization:1.6.10'
}
}
apply plugin: 'kotlin'

View file

@ -3,10 +3,12 @@
aed50918bad8a7b00cd26e45d67eb509a04c9f6c assets/hexcasting/blockstates/amethyst_tiles.json
27cedb7c1bb8fe4bc1c9b0ecb69678999ca08377 assets/hexcasting/blockstates/ancient_scroll_paper.json
080fce1ae9fb8eeb7fc0cb7ad0a2db05b2ca3dc5 assets/hexcasting/blockstates/ancient_scroll_paper_lantern.json
2834b4ef19393aabf44d659d032d0cabe2c36a4f assets/hexcasting/blockstates/empty_directrix.json
4d62b41c90cb0c5b94697e151c4aad964fb56727 assets/hexcasting/blockstates/empty_impetus.json
6ed9718a95e195cd19dcca317e653e83f830f1d1 assets/hexcasting/blockstates/impetus_look.json
8d7c7bfdca1def0205714465422d327dbcc00539 assets/hexcasting/blockstates/impetus_rightclick.json
0c9402bc7269b1069a2d39f960b2e3095d5c1733 assets/hexcasting/blockstates/impetus_storedplayer.json
73febb72e52a34e4d7abaf243a69c2e22c644ee2 assets/hexcasting/blockstates/redstone_directrix.json
1c138caef4d5964cba77dc2b5dc3febe28ab65b7 assets/hexcasting/blockstates/scroll_paper.json
77e723163f415795437b810fe87c348c96a989be assets/hexcasting/blockstates/scroll_paper_lantern.json
5cb63493ae07f5ab5d8f686e3553c97a85105931 assets/hexcasting/blockstates/slate.json
@ -15,6 +17,12 @@ de50477d8d34bbd69db98249cc6c878be8bc80f3 assets/hexcasting/models/block/amethyst
df994438c20d9dec9009c9c56de74860a847681b assets/hexcasting/models/block/amethyst_tiles.json
4e65ad75eeee22fa1d2c899fc86ac8b7b9a43701 assets/hexcasting/models/block/ancient_scroll_paper.json
2a03847eb4ce6679219784cd1e29408e9cdb2c0b assets/hexcasting/models/block/ancient_scroll_paper_lantern.json
dee605b03de1e145b8fe1b5e57cbc86cc8ceae9e assets/hexcasting/models/block/empty_directrix_dim_x.json
f23e20b75d407758c1def44d7f7a6c648fac3d59 assets/hexcasting/models/block/empty_directrix_dim_y.json
f5f34f91c22a91e479a038cedd383fa807385d20 assets/hexcasting/models/block/empty_directrix_dim_z.json
bb82eb5e96b56726bdc2146e3d5ee9259c404b66 assets/hexcasting/models/block/empty_directrix_lit_x.json
73c931554d691d679b4ac4f35f7d4b37c947310c assets/hexcasting/models/block/empty_directrix_lit_y.json
085b773f8f362754ac773a8a1b3c6d8f5661b914 assets/hexcasting/models/block/empty_directrix_lit_z.json
94c2f39fc0e4d53acbc0e8b378b0b00d0f0db7ab assets/hexcasting/models/block/empty_impetus_dim_down.json
d4d59f1e508715190a69baeb23068e3297c8e6d0 assets/hexcasting/models/block/empty_impetus_dim_east.json
c55a466e8878d6144b7b1da08eb4a6db7e12aefb assets/hexcasting/models/block/empty_impetus_dim_north.json
@ -63,6 +71,30 @@ bae9e764c5cd4faa1fb91b12e95e0cb3fa23b1e2 assets/hexcasting/models/block/impetus_
2e3426d3f3a530168b92a7276cbc2169f0c0a620 assets/hexcasting/models/block/impetus_storedplayer_lit_south.json
b13533d0c0085a5965d2143535e5004281b06f8b assets/hexcasting/models/block/impetus_storedplayer_lit_up.json
f7e114f1cb8bf4c8de3fc7bd3238a30bfdca99a5 assets/hexcasting/models/block/impetus_storedplayer_lit_west.json
81cb2a01937c3aed1e6a8091bdb2e0287297075f assets/hexcasting/models/block/redstone_directrix_powered_dim_down.json
deb0e05ddd90fe3f724a2faa9b466660a130bb0a assets/hexcasting/models/block/redstone_directrix_powered_dim_east.json
959a401d73e8ac85ae4d54a6de2d436816210e4b assets/hexcasting/models/block/redstone_directrix_powered_dim_north.json
75d6c73cf1d1771c8317f1d243d26a6a293614cd assets/hexcasting/models/block/redstone_directrix_powered_dim_south.json
82aad82e1720d8d0cdd668205967a811076d1e9a assets/hexcasting/models/block/redstone_directrix_powered_dim_up.json
479686ac2701b69fa308920e1d7ebebc1edc51c1 assets/hexcasting/models/block/redstone_directrix_powered_dim_west.json
50a7d9e5453e9daa6e998fe26f4d1ecef3f554f2 assets/hexcasting/models/block/redstone_directrix_powered_lit_down.json
3f8bc7677d54d35b38919306c8c746d0f18699f7 assets/hexcasting/models/block/redstone_directrix_powered_lit_east.json
1ad98d64732d64f7585e7d64fb7d509e819dbfdb assets/hexcasting/models/block/redstone_directrix_powered_lit_north.json
26fc3ab6a2aff5bf1e3af4844a81e89d576d2815 assets/hexcasting/models/block/redstone_directrix_powered_lit_south.json
72a1b531e11859621ee2f7fb1237d8b6df2e4ce1 assets/hexcasting/models/block/redstone_directrix_powered_lit_up.json
8854054092eabce17ad2c9b52257d6e9369e21d2 assets/hexcasting/models/block/redstone_directrix_powered_lit_west.json
f1aa939c0e5359ebb5a2e6e605443aeae8e7190a assets/hexcasting/models/block/redstone_directrix_unpowered_dim_down.json
44bc26b6062d9639ad9df8058a4a578c89167497 assets/hexcasting/models/block/redstone_directrix_unpowered_dim_east.json
4d8dd7edf79d124fe7534d403176f0987c38f2bc assets/hexcasting/models/block/redstone_directrix_unpowered_dim_north.json
6f2cade3581d4814be37a9fdc600b6feb6e60e36 assets/hexcasting/models/block/redstone_directrix_unpowered_dim_south.json
273488e8738ba3ae133434765ce3dc008d97320b assets/hexcasting/models/block/redstone_directrix_unpowered_dim_up.json
15e7f499cf6f31f69059758d2c38a73822aa6874 assets/hexcasting/models/block/redstone_directrix_unpowered_dim_west.json
982e76b746ccfd1389892a05d59de9a760777beb assets/hexcasting/models/block/redstone_directrix_unpowered_lit_down.json
a752ca73fe255f4cb2d062cba4447190985a795c assets/hexcasting/models/block/redstone_directrix_unpowered_lit_east.json
7b0f2db78d809b4c26b72c97b0f1e1d402a78ce5 assets/hexcasting/models/block/redstone_directrix_unpowered_lit_north.json
52ddbb9ce734899ede3b4c51611ce7efbad53790 assets/hexcasting/models/block/redstone_directrix_unpowered_lit_south.json
69fad01ca4978a584fe1fc76e49bda284b5bbc41 assets/hexcasting/models/block/redstone_directrix_unpowered_lit_up.json
510f136cd3bbdb9571e2f90b54678b50808ba41b assets/hexcasting/models/block/redstone_directrix_unpowered_lit_west.json
649a5d560534d6f9502ed4f2d0fd88e3afecfa24 assets/hexcasting/models/block/scroll_paper.json
9327633bd23735970a1ffe9811593a668e05947d assets/hexcasting/models/block/scroll_paper_lantern.json
d51541b464840530f4e734db1f67ed20e811ad14 assets/hexcasting/models/block/slate_block.json
@ -95,6 +127,7 @@ c2ceb08a8662a7e4a311401b0baced1add6f2e35 assets/hexcasting/models/item/dye_color
f41fb9405b869644333872cd1ece40b1b07410d2 assets/hexcasting/models/item/dye_colorizer_red.json
5894e7a1cc38ae5b09c651791c65c983d984d20c assets/hexcasting/models/item/dye_colorizer_white.json
07959b86ed25559b4960c5f4aa7bab88bf9b5bf1 assets/hexcasting/models/item/dye_colorizer_yellow.json
2d92703e675e4e5b1c2ee6ec4e9d4ca592bf1b40 assets/hexcasting/models/item/empty_directrix.json
0a552831b1ae261666bf1c8f76af55582becddaa assets/hexcasting/models/item/empty_impetus.json
f7f98a306a8a0529a54446b4876e624201525a1d assets/hexcasting/models/item/focus.json
0146e90177ed71b25d2936ff3b2d9975e47c5142 assets/hexcasting/models/item/focus_double.json
@ -145,6 +178,7 @@ fd858303001437d5aee2f134b4dce56fb8afb0aa assets/hexcasting/models/item/pride_col
e7b88cde507911c0ad1bf60976dcc43a319d498d assets/hexcasting/models/item/pride_colorizer_7.json
372ebac400778d51f5f3d32d98b1021b52da6f09 assets/hexcasting/models/item/pride_colorizer_8.json
352169689d1b82d670142478b67a1515bd71d93d assets/hexcasting/models/item/pride_colorizer_9.json
81c0a8098b595f9704e3b7b65f240bdd48457289 assets/hexcasting/models/item/redstone_directrix.json
9ef07e2885063ed1ffe1cb8f7728f26cb7c9881e assets/hexcasting/models/item/scroll.json
297b05008b9ab37b5881820a0f5c99f7441a9dfe assets/hexcasting/models/item/scroll_ancient.json
7bc2499b363ab4bef749393f2984fae9e76ea982 assets/hexcasting/models/item/scroll_paper.json
@ -240,8 +274,12 @@ afecba3144e00505977a4ab4de7940f949ab7818 data/hexcasting/loot_modifiers/scroll_d
79421f4528355837d12fbfcccb19e08a1eb40bff data/hexcasting/loot_tables/blocks/amethyst_tiles.json
558ce469f2bcbf8f0498815b6b4c1fd4f2bfbc2b data/hexcasting/loot_tables/blocks/ancient_scroll_paper.json
4ba256a96d6794214775c6ea94074f03ace6cb90 data/hexcasting/loot_tables/blocks/ancient_scroll_paper_lantern.json
41834ac09febbefdca79bdbb404d42c91a4de2e5 data/hexcasting/loot_tables/blocks/empty_directrix.json
5944235a01e31fbe3f2799f667b6deb2f8a62ca6 data/hexcasting/loot_tables/blocks/empty_impetus.json
9d882c43431b33de256f2bc0acb831a393ab4740 data/hexcasting/loot_tables/blocks/impetus_look.json
c87dcdb39d1d9cb0429763bbd32631cbf15047aa data/hexcasting/loot_tables/blocks/impetus_rightclick.json
4c65e5287cefeec17703cb4959e12546b753d26b data/hexcasting/loot_tables/blocks/impetus_storedplayer.json
e56bb2096532f216855128d5ad15085415ed9931 data/hexcasting/loot_tables/blocks/redstone_directrix.json
e66ddc68e90e5e779f273a8d081c2f63e81d6698 data/hexcasting/loot_tables/blocks/scroll_paper.json
fd662ce6977b96065bd438ff332bc5b9f62560e6 data/hexcasting/loot_tables/blocks/scroll_paper_lantern.json
17e53b980127473558a1a544e59d329a4701e7cc data/hexcasting/loot_tables/blocks/slate.json
@ -307,5 +345,5 @@ d14cf2f8f0895a5b6dc09b7582c0abf1c2514adf data/hexcasting/recipes/sub_sandwich.js
14d6be5d47b54676a349564ea32c045c76c39b45 data/hexcasting/recipes/uuid_colorizer.json
0521d57838cb3e9795fc02ce47aa58db3b0188f9 data/hexcasting/recipes/wand.json
f930dbc5b41d42150d388e39b29b940229658809 data/minecraft/tags/blocks/crystal_sound_blocks.json
6ac1852c49b696a3f31bbd83a686b348da86b003 data/minecraft/tags/blocks/mineable/pickaxe.json
f5c40ef0f3aaaa7e51f6407e96d7524bde741175 data/minecraft/tags/blocks/mineable/pickaxe.json
f55afc2c05d93b5a44bc9fd73c5e81e71b183965 data/minecraft/tags/blocks/mineable/shovel.json

View file

@ -0,0 +1,22 @@
{
"variants": {
"axis=x,energized=false": {
"model": "hexcasting:block/empty_directrix_dim_x"
},
"axis=y,energized=false": {
"model": "hexcasting:block/empty_directrix_dim_y"
},
"axis=z,energized=false": {
"model": "hexcasting:block/empty_directrix_dim_z"
},
"axis=x,energized=true": {
"model": "hexcasting:block/empty_directrix_lit_x"
},
"axis=y,energized=true": {
"model": "hexcasting:block/empty_directrix_lit_y"
},
"axis=z,energized=true": {
"model": "hexcasting:block/empty_directrix_lit_z"
}
}
}

View file

@ -0,0 +1,76 @@
{
"variants": {
"energized=false,facing=down,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_down"
},
"energized=true,facing=down,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_down"
},
"energized=false,facing=up,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_up"
},
"energized=true,facing=up,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_up"
},
"energized=false,facing=north,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_north"
},
"energized=true,facing=north,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_north"
},
"energized=false,facing=south,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_south"
},
"energized=true,facing=south,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_south"
},
"energized=false,facing=west,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_west"
},
"energized=true,facing=west,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_west"
},
"energized=false,facing=east,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_dim_east"
},
"energized=true,facing=east,powered=false": {
"model": "hexcasting:block/redstone_directrix_unpowered_lit_east"
},
"energized=false,facing=down,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_down"
},
"energized=true,facing=down,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_down"
},
"energized=false,facing=up,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_up"
},
"energized=true,facing=up,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_up"
},
"energized=false,facing=north,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_north"
},
"energized=true,facing=north,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_north"
},
"energized=false,facing=south,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_south"
},
"energized=true,facing=south,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_south"
},
"energized=false,facing=west,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_west"
},
"energized=true,facing=west,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_west"
},
"energized=false,facing=east,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_dim_east"
},
"energized=true,facing=east,powered=true": {
"model": "hexcasting:block/redstone_directrix_powered_lit_east"
}
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/horiz_dim",
"up": "hexcasting:block/directrix/empty/horiz_dim",
"north": "hexcasting:block/directrix/empty/horiz_dim",
"south": "hexcasting:block/directrix/empty/horiz_dim",
"east": "hexcasting:block/directrix/empty/end_dim",
"west": "hexcasting:block/directrix/empty/end_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/end_dim",
"up": "hexcasting:block/directrix/empty/end_dim",
"north": "hexcasting:block/directrix/empty/vert_dim",
"south": "hexcasting:block/directrix/empty/vert_dim",
"east": "hexcasting:block/directrix/empty/vert_dim",
"west": "hexcasting:block/directrix/empty/vert_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/vert_dim",
"up": "hexcasting:block/directrix/empty/vert_dim",
"north": "hexcasting:block/directrix/empty/end_dim",
"south": "hexcasting:block/directrix/empty/end_dim",
"east": "hexcasting:block/directrix/empty/horiz_dim",
"west": "hexcasting:block/directrix/empty/horiz_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/horiz_lit",
"up": "hexcasting:block/directrix/empty/horiz_lit",
"north": "hexcasting:block/directrix/empty/horiz_lit",
"south": "hexcasting:block/directrix/empty/horiz_lit",
"east": "hexcasting:block/directrix/empty/end_lit",
"west": "hexcasting:block/directrix/empty/end_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/end_lit",
"up": "hexcasting:block/directrix/empty/end_lit",
"north": "hexcasting:block/directrix/empty/vert_lit",
"south": "hexcasting:block/directrix/empty/vert_lit",
"east": "hexcasting:block/directrix/empty/vert_lit",
"west": "hexcasting:block/directrix/empty/vert_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/empty/vert_lit",
"up": "hexcasting:block/directrix/empty/vert_lit",
"north": "hexcasting:block/directrix/empty/end_lit",
"south": "hexcasting:block/directrix/empty/end_lit",
"east": "hexcasting:block/directrix/empty/horiz_lit",
"west": "hexcasting:block/directrix/empty/horiz_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/front_dim",
"up": "hexcasting:block/directrix/redstone/back_powered",
"north": "hexcasting:block/directrix/redstone/down_powered_dim",
"south": "hexcasting:block/directrix/redstone/down_powered_dim",
"east": "hexcasting:block/directrix/redstone/down_powered_dim",
"west": "hexcasting:block/directrix/redstone/down_powered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/right_powered_dim",
"up": "hexcasting:block/directrix/redstone/right_powered_dim",
"north": "hexcasting:block/directrix/redstone/left_powered_dim",
"south": "hexcasting:block/directrix/redstone/right_powered_dim",
"east": "hexcasting:block/directrix/redstone/front_dim",
"west": "hexcasting:block/directrix/redstone/back_powered",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/down_powered_dim",
"up": "hexcasting:block/directrix/redstone/up_powered_dim",
"north": "hexcasting:block/directrix/redstone/front_dim",
"south": "hexcasting:block/directrix/redstone/back_powered",
"east": "hexcasting:block/directrix/redstone/right_powered_dim",
"west": "hexcasting:block/directrix/redstone/left_powered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/up_powered_dim",
"up": "hexcasting:block/directrix/redstone/down_powered_dim",
"north": "hexcasting:block/directrix/redstone/back_powered",
"south": "hexcasting:block/directrix/redstone/front_dim",
"east": "hexcasting:block/directrix/redstone/left_powered_dim",
"west": "hexcasting:block/directrix/redstone/right_powered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/back_powered",
"up": "hexcasting:block/directrix/redstone/front_dim",
"north": "hexcasting:block/directrix/redstone/up_powered_dim",
"south": "hexcasting:block/directrix/redstone/up_powered_dim",
"east": "hexcasting:block/directrix/redstone/up_powered_dim",
"west": "hexcasting:block/directrix/redstone/up_powered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/left_powered_dim",
"up": "hexcasting:block/directrix/redstone/left_powered_dim",
"north": "hexcasting:block/directrix/redstone/right_powered_dim",
"south": "hexcasting:block/directrix/redstone/left_powered_dim",
"east": "hexcasting:block/directrix/redstone/back_powered",
"west": "hexcasting:block/directrix/redstone/front_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/front_lit",
"up": "hexcasting:block/directrix/redstone/back_powered",
"north": "hexcasting:block/directrix/redstone/down_powered_lit",
"south": "hexcasting:block/directrix/redstone/down_powered_lit",
"east": "hexcasting:block/directrix/redstone/down_powered_lit",
"west": "hexcasting:block/directrix/redstone/down_powered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/right_powered_lit",
"up": "hexcasting:block/directrix/redstone/right_powered_lit",
"north": "hexcasting:block/directrix/redstone/left_powered_lit",
"south": "hexcasting:block/directrix/redstone/right_powered_lit",
"east": "hexcasting:block/directrix/redstone/front_lit",
"west": "hexcasting:block/directrix/redstone/back_powered",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/down_powered_lit",
"up": "hexcasting:block/directrix/redstone/up_powered_lit",
"north": "hexcasting:block/directrix/redstone/front_lit",
"south": "hexcasting:block/directrix/redstone/back_powered",
"east": "hexcasting:block/directrix/redstone/right_powered_lit",
"west": "hexcasting:block/directrix/redstone/left_powered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/up_powered_lit",
"up": "hexcasting:block/directrix/redstone/down_powered_lit",
"north": "hexcasting:block/directrix/redstone/back_powered",
"south": "hexcasting:block/directrix/redstone/front_lit",
"east": "hexcasting:block/directrix/redstone/left_powered_lit",
"west": "hexcasting:block/directrix/redstone/right_powered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/back_powered",
"up": "hexcasting:block/directrix/redstone/front_lit",
"north": "hexcasting:block/directrix/redstone/up_powered_lit",
"south": "hexcasting:block/directrix/redstone/up_powered_lit",
"east": "hexcasting:block/directrix/redstone/up_powered_lit",
"west": "hexcasting:block/directrix/redstone/up_powered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/left_powered_lit",
"up": "hexcasting:block/directrix/redstone/left_powered_lit",
"north": "hexcasting:block/directrix/redstone/right_powered_lit",
"south": "hexcasting:block/directrix/redstone/left_powered_lit",
"east": "hexcasting:block/directrix/redstone/back_powered",
"west": "hexcasting:block/directrix/redstone/front_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/front_dim",
"up": "hexcasting:block/directrix/redstone/back_unpowered",
"north": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"south": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"east": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"west": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"up": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"north": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"south": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"east": "hexcasting:block/directrix/redstone/front_dim",
"west": "hexcasting:block/directrix/redstone/back_unpowered",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"up": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"north": "hexcasting:block/directrix/redstone/front_dim",
"south": "hexcasting:block/directrix/redstone/back_unpowered",
"east": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"west": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"up": "hexcasting:block/directrix/redstone/down_unpowered_dim",
"north": "hexcasting:block/directrix/redstone/back_unpowered",
"south": "hexcasting:block/directrix/redstone/front_dim",
"east": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"west": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/back_unpowered",
"up": "hexcasting:block/directrix/redstone/front_dim",
"north": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"south": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"east": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"west": "hexcasting:block/directrix/redstone/up_unpowered_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"up": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"north": "hexcasting:block/directrix/redstone/right_unpowered_dim",
"south": "hexcasting:block/directrix/redstone/left_unpowered_dim",
"east": "hexcasting:block/directrix/redstone/back_unpowered",
"west": "hexcasting:block/directrix/redstone/front_dim",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/front_lit",
"up": "hexcasting:block/directrix/redstone/back_unpowered",
"north": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"south": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"east": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"west": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"up": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"north": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"south": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"east": "hexcasting:block/directrix/redstone/front_lit",
"west": "hexcasting:block/directrix/redstone/back_unpowered",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"up": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"north": "hexcasting:block/directrix/redstone/front_lit",
"south": "hexcasting:block/directrix/redstone/back_unpowered",
"east": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"west": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"up": "hexcasting:block/directrix/redstone/down_unpowered_lit",
"north": "hexcasting:block/directrix/redstone/back_unpowered",
"south": "hexcasting:block/directrix/redstone/front_lit",
"east": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"west": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/back_unpowered",
"up": "hexcasting:block/directrix/redstone/front_lit",
"north": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"south": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"east": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"west": "hexcasting:block/directrix/redstone/up_unpowered_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,12 @@
{
"parent": "minecraft:block/cube",
"textures": {
"down": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"up": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"north": "hexcasting:block/directrix/redstone/right_unpowered_lit",
"south": "hexcasting:block/directrix/redstone/left_unpowered_lit",
"east": "hexcasting:block/directrix/redstone/back_unpowered",
"west": "hexcasting:block/directrix/redstone/front_lit",
"particle": "hexcasting:block/slate"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "hexcasting:block/empty_directrix_dim_z"
}

View file

@ -0,0 +1,3 @@
{
"parent": "hexcasting:block/redstone_directrix_unpowered_dim_north"
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "empty_directrix",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "hexcasting:empty_directrix"
}
]
}
]
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "impetus_look",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "hexcasting:impetus_look"
}
]
}
]
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "impetus_storedplayer",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "hexcasting:impetus_storedplayer"
}
]
}
]
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "redstone_directrix",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "hexcasting:redstone_directrix"
}
]
}
]
}

View file

@ -3,8 +3,12 @@
"values": [
"hexcasting:slate_block",
"hexcasting:slate",
"hexcasting:empty_directrix",
"hexcasting:redstone_directrix",
"hexcasting:empty_impetus",
"hexcasting:impetus_rightclick",
"hexcasting:impetus_look",
"hexcasting:impetus_storedplayer",
"hexcasting:amethyst_tiles",
"hexcasting:amethyst_sconce"
]

View file

@ -5,6 +5,8 @@ import at.petrak.hexcasting.api.circle.BlockAbstractImpetus;
import at.petrak.hexcasting.common.blocks.circles.BlockEmptyImpetus;
import at.petrak.hexcasting.common.blocks.circles.BlockEntitySlate;
import at.petrak.hexcasting.common.blocks.circles.BlockSlate;
import at.petrak.hexcasting.common.blocks.circles.directrix.BlockEmptyDirectrix;
import at.petrak.hexcasting.common.blocks.circles.directrix.BlockRedstoneDirectrix;
import at.petrak.hexcasting.common.blocks.circles.impetuses.*;
import at.petrak.hexcasting.common.blocks.decoration.BlockSconce;
import at.petrak.hexcasting.common.items.HexItems;
@ -57,6 +59,11 @@ public class HexBlocks {
public static final RegistryObject<BlockEmptyImpetus> EMPTY_IMPETUS = blockItem("empty_impetus",
() -> new BlockEmptyImpetus(slateish()));
public static final RegistryObject<BlockEmptyDirectrix> EMPTY_DIRECTRIX = blockItem("empty_directrix",
() -> new BlockEmptyDirectrix(slateish()));
public static final RegistryObject<BlockRedstoneDirectrix> DIRECTRIX_REDSTONE = blockItem("redstone_directrix",
() -> new BlockRedstoneDirectrix(slateish()));
public static final RegistryObject<BlockRightClickImpetus> IMPETUS_RIGHTCLICK = blockItem(
"impetus_rightclick",
() -> new BlockRightClickImpetus(slateish()

View file

@ -0,0 +1,79 @@
package at.petrak.hexcasting.common.blocks.circles.directrix;
import at.petrak.hexcasting.api.circle.BlockCircleComponent;
import at.petrak.hexcasting.hexmath.HexPattern;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.level.material.PushReaction;
import org.jetbrains.annotations.Nullable;
import java.util.EnumSet;
public class BlockEmptyDirectrix extends BlockCircleComponent {
public static final EnumProperty<Direction.Axis> AXIS = BlockStateProperties.AXIS;
public BlockEmptyDirectrix(Properties p_49795_) {
super(p_49795_);
this.registerDefaultState(this.stateDefinition.any()
.setValue(ENERGIZED, false)
.setValue(AXIS, Direction.Axis.X));
}
@Override
public boolean canEnterFromDirection(Direction enterDir, Direction normalDir, BlockPos pos, BlockState bs,
Level world) {
return true;
}
@Override
public EnumSet<Direction> exitDirections(BlockPos pos, BlockState bs, Level world) {
var sign = world.random.nextBoolean() ? Direction.AxisDirection.POSITIVE : Direction.AxisDirection.NEGATIVE;
return EnumSet.of(Direction.fromAxisAndDirection(bs.getValue(AXIS), sign));
}
@Override
public @Nullable HexPattern getPattern(BlockPos pos, BlockState bs, Level world) {
return null;
}
@Override
public Direction normalDir(BlockPos pos, BlockState bs, Level world, int recursionLeft) {
return Direction.UP;
}
@Override
public float particleHeight(BlockPos pos, BlockState bs, Level world) {
return 0.5f;
}
@Override
public PushReaction getPistonPushReaction(BlockState pState) {
return PushReaction.BLOCK;
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(AXIS);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext pContext) {
return this.defaultBlockState().setValue(AXIS, pContext.getNearestLookingDirection().getAxis());
}
@Override
public BlockState rotate(BlockState pState, Rotation pRot) {
return pState.setValue(AXIS,
pRot.rotate(Direction.get(Direction.AxisDirection.POSITIVE, pState.getValue(AXIS))).getAxis());
}
}

View file

@ -0,0 +1,127 @@
package at.petrak.hexcasting.common.blocks.circles.directrix;
import at.petrak.hexcasting.api.circle.BlockCircleComponent;
import at.petrak.hexcasting.hexmath.HexPattern;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.DustParticleOptions;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.material.PushReaction;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.Nullable;
import java.util.EnumSet;
import java.util.Random;
public class BlockRedstoneDirectrix extends BlockCircleComponent {
public static final DirectionProperty FACING = BlockStateProperties.FACING;
public static final BooleanProperty REDSTONE_POWERED = BlockStateProperties.POWERED;
public BlockRedstoneDirectrix(Properties p_49795_) {
super(p_49795_);
this.registerDefaultState(this.stateDefinition.any()
.setValue(REDSTONE_POWERED, false)
.setValue(ENERGIZED, false)
.setValue(FACING, Direction.NORTH));
}
@Override
public boolean canEnterFromDirection(Direction enterDir, Direction normalDir, BlockPos pos, BlockState bs,
Level world) {
return enterDir != getRealFacing(bs);
}
@Override
public EnumSet<Direction> exitDirections(BlockPos pos, BlockState bs, Level world) {
return EnumSet.of(getRealFacing(bs));
}
@Override
public @Nullable HexPattern getPattern(BlockPos pos, BlockState bs, Level world) {
return null;
}
@Override
public Direction normalDir(BlockPos pos, BlockState bs, Level world, int recursionLeft) {
return normalDirOfOther(pos.relative(getRealFacing(bs)), world, recursionLeft);
}
@Override
public float particleHeight(BlockPos pos, BlockState bs, Level world) {
return 0.5f;
}
protected Direction getRealFacing(BlockState bs) {
var facing = bs.getValue(FACING);
if (bs.getValue(REDSTONE_POWERED)) {
return facing.getOpposite();
} else {
return facing;
}
}
@Override
public void neighborChanged(BlockState pState, Level pLevel, BlockPos pPos, Block pBlock, BlockPos pFromPos,
boolean pIsMoving) {
super.neighborChanged(pState, pLevel, pPos, pBlock, pFromPos, pIsMoving);
if (!pLevel.isClientSide) {
boolean currentlyPowered = pState.getValue(REDSTONE_POWERED);
if (currentlyPowered != pLevel.hasNeighborSignal(pPos)) {
pLevel.setBlock(pPos, pState.setValue(REDSTONE_POWERED, !currentlyPowered), 2);
}
}
}
@Override
public void animateTick(BlockState bs, Level pLevel, BlockPos pos, Random rand) {
if (bs.getValue(REDSTONE_POWERED)) {
for (int i = 0; i < 2; i++) {
var step = bs.getValue(FACING).getOpposite().step();
var center = Vec3.atCenterOf(pos).add(step.x() * 0.5, step.y() * 0.5, step.z() * 0.5);
double x = center.x + (rand.nextDouble() - 0.5) * 0.5D;
double y = center.y + (rand.nextDouble() - 0.5) * 0.5D;
double z = center.z + (rand.nextDouble() - 0.5) * 0.5D;
pLevel.addParticle(DustParticleOptions.REDSTONE, x, y, z,
step.x() * 0.1, step.y() * 0.1, step.z() * 0.1);
}
}
}
@Override
public PushReaction getPistonPushReaction(BlockState pState) {
return PushReaction.BLOCK;
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(REDSTONE_POWERED, FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext pContext) {
return this.defaultBlockState().setValue(FACING, pContext.getNearestLookingDirection());
}
@Override
public BlockState rotate(BlockState pState, Rotation pRot) {
return pState.setValue(FACING, pRot.rotate(pState.getValue(FACING)));
}
@Override
public BlockState mirror(BlockState pState, Mirror pMirror) {
return pState.rotate(pMirror.getRotation(pState.getValue(FACING)));
}
}

View file

@ -4,6 +4,7 @@ import at.petrak.hexcasting.HexMod;
import at.petrak.hexcasting.api.circle.BlockCircleComponent;
import at.petrak.hexcasting.common.blocks.HexBlocks;
import at.petrak.hexcasting.common.blocks.circles.BlockSlate;
import at.petrak.hexcasting.common.blocks.circles.directrix.BlockRedstoneDirectrix;
import at.petrak.paucal.api.datagen.PaucalBlockStateAndModelProvider;
import net.minecraft.core.Direction;
import net.minecraft.data.DataGenerator;
@ -51,6 +52,72 @@ public class HexBlockStatesAndModels extends PaucalBlockStateAndModelProvider {
"impetus/right_empty"
);
// auugh
getVariantBuilder(HexBlocks.DIRECTRIX_REDSTONE.get()).forAllStates(bs -> {
var isLit = bs.getValue(BlockCircleComponent.ENERGIZED);
var litness = isLit ? "lit" : "dim";
var isPowered = bs.getValue(BlockRedstoneDirectrix.REDSTONE_POWERED);
var poweredness = isPowered ? "powered" : "unpowered";
var dir = bs.getValue(BlockStateProperties.FACING);
var up = modLoc("block/directrix/redstone/up_" + poweredness + "_" + litness);
var left = modLoc("block/directrix/redstone/left_" + poweredness + "_" + litness);
var right = modLoc("block/directrix/redstone/right_" + poweredness + "_" + litness);
var down = modLoc("block/directrix/redstone/down_" + poweredness + "_" + litness);
var front = modLoc("block/directrix/redstone/front_" + litness);
var back = modLoc("block/directrix/redstone/back_" + poweredness);
var routing = routeReslocsForArrowBlock(dir, front, back, up, down, left, right);
var modelName = "redstone_directrix_" + poweredness + "_" + litness + "_" + dir.getName();
var model = models().cube(modelName, routing[0], routing[1], routing[2], routing[3], routing[4], routing[5])
.texture("particle", modLoc("block/slate"));
if (!isLit && !isPowered && dir == Direction.NORTH) {
simpleBlockItem(HexBlocks.DIRECTRIX_REDSTONE.get(), model);
}
return ConfiguredModel.builder()
.modelFile(model)
.build();
});
getVariantBuilder(HexBlocks.EMPTY_DIRECTRIX.get()).forAllStates(bs -> {
var isLit = bs.getValue(BlockCircleComponent.ENERGIZED);
var litness = isLit ? "lit" : "dim";
var axis = bs.getValue(BlockStateProperties.AXIS);
var horiz = modLoc("block/directrix/empty/horiz_" + litness);
var vert = modLoc("block/directrix/empty/vert_" + litness);
var end = modLoc("block/directrix/empty/end_" + litness);
ResourceLocation x = null, y = null, z = null;
switch (axis) {
case X -> {
x = end;
y = horiz;
z = horiz;
}
case Y -> {
x = vert;
y = end;
z = vert;
}
case Z -> {
x = horiz;
y = vert;
z = end;
}
}
var modelName = "empty_directrix_" + litness + "_" + axis.getName();
var model = models().cube(modelName, y, y, z, z, x, x)
.texture("particle", modLoc("block/slate"));
if (!isLit && axis == Direction.Axis.Z) {
simpleBlockItem(HexBlocks.EMPTY_DIRECTRIX.get(), model);
}
return ConfiguredModel.builder()
.modelFile(model)
.build();
});
blockAndItem(HexBlocks.SLATE_BLOCK.get(), models().cubeAll("slate_block", modLoc("block/slate")));
cubeBlockAndItem(HexBlocks.AMETHYST_DUST_BLOCK.get(), "amethyst_dust_block");
cubeBlockAndItem(HexBlocks.AMETHYST_TILES.get(), "amethyst_tiles");
@ -89,54 +156,10 @@ public class HexBlockStatesAndModels extends PaucalBlockStateAndModelProvider {
var right = modLoc("block/" + rightStub + "_" + litness);
var down = modLoc("block/" + downStub + "_" + litness);
ResourceLocation bottom = null, top = null, north = null, south = null, east = null, west = null;
switch (dir) {
case UP -> {
top = front;
bottom = back;
north = east = south = west = up;
}
case DOWN -> {
bottom = front;
top = back;
north = east = south = west = down;
}
case NORTH -> {
north = front;
south = back;
west = left;
east = right;
top = up;
bottom = down;
}
case SOUTH -> {
south = front;
north = back;
west = right;
east = left;
top = down;
bottom = up;
}
case WEST -> {
west = front;
east = back;
north = right;
south = left;
top = left;
bottom = left;
}
case EAST -> {
east = front;
west = back;
north = left;
south = right;
top = right;
bottom = right;
}
}
var routing = routeReslocsForArrowBlock(dir, front, back, up, down, left, right);
var modelName = name + "_" + litness + "_" + dir.getName();
var model = models().cube(modelName, bottom, top, north, south, east, west)
var model = models().cube(modelName, routing[0], routing[1], routing[2], routing[3], routing[4], routing[5])
.texture("particle", particle);
// Ordinarily i would use north, because north is the lower-right direction in the inv
// and that's where other blocks face.
@ -150,4 +173,56 @@ public class HexBlockStatesAndModels extends PaucalBlockStateAndModelProvider {
.build();
});
}
private static ResourceLocation[] routeReslocsForArrowBlock(Direction dir, ResourceLocation front,
ResourceLocation back,
ResourceLocation up, ResourceLocation down,
ResourceLocation left, ResourceLocation right) {
ResourceLocation bottom = null, top = null, north = null, south = null, east = null, west = null;
switch (dir) {
case UP -> {
top = front;
bottom = back;
north = east = south = west = up;
}
case DOWN -> {
bottom = front;
top = back;
north = east = south = west = down;
}
case NORTH -> {
north = front;
south = back;
west = left;
east = right;
top = up;
bottom = down;
}
case SOUTH -> {
south = front;
north = back;
west = right;
east = left;
top = down;
bottom = up;
}
case WEST -> {
west = front;
east = back;
north = right;
south = left;
top = left;
bottom = left;
}
case EAST -> {
east = front;
west = back;
north = left;
south = right;
top = right;
bottom = right;
}
}
return new ResourceLocation[]{bottom, top, north, south, east, west};
}
}

View file

@ -17,8 +17,10 @@ public class HexBlockTags extends BlockTagsProvider {
@Override
protected void addTags() {
tag(BlockTags.MINEABLE_WITH_PICKAXE)
.add(HexBlocks.SLATE_BLOCK.get(), HexBlocks.SLATE.get(), HexBlocks.EMPTY_IMPETUS.get(),
HexBlocks.IMPETUS_RIGHTCLICK.get(),
.add(HexBlocks.SLATE_BLOCK.get(), HexBlocks.SLATE.get(),
HexBlocks.EMPTY_DIRECTRIX.get(), HexBlocks.DIRECTRIX_REDSTONE.get(),
HexBlocks.EMPTY_IMPETUS.get(),
HexBlocks.IMPETUS_RIGHTCLICK.get(), HexBlocks.IMPETUS_LOOK.get(), HexBlocks.IMPETUS_STOREDPLAYER.get(),
HexBlocks.AMETHYST_TILES.get(), HexBlocks.SCONCE.get());
tag(BlockTags.MINEABLE_WITH_SHOVEL)

View file

@ -3,8 +3,6 @@ package at.petrak.hexcasting.datagen;
import at.petrak.hexcasting.common.blocks.HexBlocks;
import at.petrak.hexcasting.common.blocks.circles.BlockEntitySlate;
import at.petrak.paucal.api.datagen.PaucalLootTableProvider;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.minecraft.data.DataGenerator;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.storage.loot.LootPool;
@ -19,16 +17,15 @@ import java.util.Map;
// https://github.com/XuulMedia/Flint-Age/blob/4638289130ef80dafe9b6a3fdcb461a72688100f/src/main/java/xuul/flint/datagen/BaseLootTableProvider.java#L61
// auugh mojang whyyyy
public class HexLootTables extends PaucalLootTableProvider {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
public HexLootTables(DataGenerator pGenerator) {
super(pGenerator);
}
@Override
protected void makeLootTables(Map<Block, LootTable.Builder> lootTables) {
dropSelfTable(lootTables, HexBlocks.EMPTY_IMPETUS, HexBlocks.IMPETUS_RIGHTCLICK,
dropSelfTable(lootTables, HexBlocks.EMPTY_IMPETUS,
HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_STOREDPLAYER,
HexBlocks.DIRECTRIX_REDSTONE, HexBlocks.EMPTY_DIRECTRIX,
HexBlocks.SLATE_BLOCK, HexBlocks.AMETHYST_DUST_BLOCK, HexBlocks.AMETHYST_TILES, HexBlocks.SCROLL_PAPER,
HexBlocks.ANCIENT_SCROLL_PAPER, HexBlocks.SCROLL_PAPER_LANTERN, HexBlocks.ANCIENT_SCROLL_PAPER_LANTERN,
HexBlocks.SCONCE);

View file

@ -52,6 +52,8 @@
"block.hexcasting.slate.blank": "Blank Slate",
"block.hexcasting.slate.written": "Patterned Slate",
"block.hexcasting.empty_impetus": "Empty Impetus",
"block.hexcasting.redstone_directrix": "Redstone Directrix",
"block.hexcasting.empty_directrix": "Empty Directrix",
"block.hexcasting.impetus_rightclick": "Toolsmith Impetus",
"block.hexcasting.impetus_look": "Fletcher Impetus",
"block.hexcasting.impetus_storedplayer": "Cleric Impetus",

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 B

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 422 B

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 482 B

After

Width:  |  Height:  |  Size: 557 B