actually, according to the latin roots, the plural is 'directapodes'
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "hexcasting:block/empty_directrix_dim_z"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "hexcasting:block/redstone_directrix_unpowered_dim_north"
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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"
|
||||
]
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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)));
|
||||
}
|
||||
}
|
|
@ -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};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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",
|
||||
|
|
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 500 B |
After Width: | Height: | Size: 486 B |
After Width: | Height: | Size: 585 B |
After Width: | Height: | Size: 474 B |
After Width: | Height: | Size: 572 B |
After Width: | Height: | Size: 458 B |
After Width: | Height: | Size: 459 B |
After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 606 B |
After Width: | Height: | Size: 609 B |
After Width: | Height: | Size: 607 B |
After Width: | Height: | Size: 491 B |
After Width: | Height: | Size: 497 B |
After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 619 B |
After Width: | Height: | Size: 615 B |
After Width: | Height: | Size: 626 B |
After Width: | Height: | Size: 628 B |
After Width: | Height: | Size: 628 B |
After Width: | Height: | Size: 629 B |
After Width: | Height: | Size: 644 B |
After Width: | Height: | Size: 613 B |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 457 B After Width: | Height: | Size: 497 B |
Before Width: | Height: | Size: 476 B After Width: | Height: | Size: 575 B |
Before Width: | Height: | Size: 422 B After Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 525 B After Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 580 B |
After Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 482 B After Width: | Height: | Size: 557 B |