very poorly half-implement some decorations
This commit is contained in:
parent
e52f1e9b41
commit
d944186fac
42 changed files with 310 additions and 43 deletions
|
@ -1,7 +1,18 @@
|
||||||
|
6467be85f85137aa17be8b03ee96c224839a9e25 assets/hexcasting/blockstates/amethyst_dust_block.json
|
||||||
|
1d17548d44b3169d43663d1cbc7699d75ccc8a54 assets/hexcasting/blockstates/amethyst_sconce.json
|
||||||
|
aed50918bad8a7b00cd26e45d67eb509a04c9f6c assets/hexcasting/blockstates/amethyst_tiles.json
|
||||||
|
27cedb7c1bb8fe4bc1c9b0ecb69678999ca08377 assets/hexcasting/blockstates/ancient_scroll_paper.json
|
||||||
|
080fce1ae9fb8eeb7fc0cb7ad0a2db05b2ca3dc5 assets/hexcasting/blockstates/ancient_scroll_paper_lantern.json
|
||||||
4d62b41c90cb0c5b94697e151c4aad964fb56727 assets/hexcasting/blockstates/empty_impetus.json
|
4d62b41c90cb0c5b94697e151c4aad964fb56727 assets/hexcasting/blockstates/empty_impetus.json
|
||||||
8d7c7bfdca1def0205714465422d327dbcc00539 assets/hexcasting/blockstates/impetus_rightclick.json
|
8d7c7bfdca1def0205714465422d327dbcc00539 assets/hexcasting/blockstates/impetus_rightclick.json
|
||||||
|
1c138caef4d5964cba77dc2b5dc3febe28ab65b7 assets/hexcasting/blockstates/scroll_paper.json
|
||||||
|
77e723163f415795437b810fe87c348c96a989be assets/hexcasting/blockstates/scroll_paper_lantern.json
|
||||||
5cb63493ae07f5ab5d8f686e3553c97a85105931 assets/hexcasting/blockstates/slate.json
|
5cb63493ae07f5ab5d8f686e3553c97a85105931 assets/hexcasting/blockstates/slate.json
|
||||||
043abd5bbfd1186415049d24d185d4e4395320f9 assets/hexcasting/blockstates/slate_block.json
|
043abd5bbfd1186415049d24d185d4e4395320f9 assets/hexcasting/blockstates/slate_block.json
|
||||||
|
de50477d8d34bbd69db98249cc6c878be8bc80f3 assets/hexcasting/models/block/amethyst_dust_block.json
|
||||||
|
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
|
||||||
880e730e120c4f427b0839e754b2369a9b3b4482 assets/hexcasting/models/block/empty_impetus_dim_down.json
|
880e730e120c4f427b0839e754b2369a9b3b4482 assets/hexcasting/models/block/empty_impetus_dim_down.json
|
||||||
6bd0ed320b8f5c411c36cf0fce2e88f4881327c1 assets/hexcasting/models/block/empty_impetus_dim_east.json
|
6bd0ed320b8f5c411c36cf0fce2e88f4881327c1 assets/hexcasting/models/block/empty_impetus_dim_east.json
|
||||||
9f46c1d18dbb34b1f643f9385308c35493437503 assets/hexcasting/models/block/empty_impetus_dim_north.json
|
9f46c1d18dbb34b1f643f9385308c35493437503 assets/hexcasting/models/block/empty_impetus_dim_north.json
|
||||||
|
@ -26,9 +37,16 @@ bd394ea4742625276b3640abef34c7fa39f3880a assets/hexcasting/models/block/impetus_
|
||||||
159204f86618a2981500a127f627dfffc6624e4e assets/hexcasting/models/block/impetus_rightclick_lit_south.json
|
159204f86618a2981500a127f627dfffc6624e4e assets/hexcasting/models/block/impetus_rightclick_lit_south.json
|
||||||
fe7e16c7178aa1ac3ecfa8750d095cbd3838189b assets/hexcasting/models/block/impetus_rightclick_lit_up.json
|
fe7e16c7178aa1ac3ecfa8750d095cbd3838189b assets/hexcasting/models/block/impetus_rightclick_lit_up.json
|
||||||
eca0d28d0c44af31e28baff46061ac72463bbc28 assets/hexcasting/models/block/impetus_rightclick_lit_west.json
|
eca0d28d0c44af31e28baff46061ac72463bbc28 assets/hexcasting/models/block/impetus_rightclick_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
|
d51541b464840530f4e734db1f67ed20e811ad14 assets/hexcasting/models/block/slate_block.json
|
||||||
60c0f39882d22c2634cf738b0fe4e956eaa2adbe assets/hexcasting/models/item/abacus.json
|
60c0f39882d22c2634cf738b0fe4e956eaa2adbe assets/hexcasting/models/item/abacus.json
|
||||||
eb78f6a2b68dd772a5016fc5a3db10488a65abfa assets/hexcasting/models/item/amethyst_dust.json
|
eb78f6a2b68dd772a5016fc5a3db10488a65abfa assets/hexcasting/models/item/amethyst_dust.json
|
||||||
|
6a60e6e92414f63e7e045f2893e5cd7b503d08dd assets/hexcasting/models/item/amethyst_dust_block.json
|
||||||
|
0d0695c9a96cadec55d905a42d0ba966f8697c41 assets/hexcasting/models/item/amethyst_sconce.json
|
||||||
|
bf5723194c8880e48789b6e258382be841d59b36 assets/hexcasting/models/item/amethyst_tiles.json
|
||||||
|
e25ece4006bb922294a5fdfd596c211ad822f8e4 assets/hexcasting/models/item/ancient_scroll_paper.json
|
||||||
|
11a30eb238c6391cc6a2f912be8777c35e69b1d6 assets/hexcasting/models/item/ancient_scroll_paper_lantern.json
|
||||||
df940dd798240fac6fde700c57f8ae6aa43d1c9e assets/hexcasting/models/item/artifact.json
|
df940dd798240fac6fde700c57f8ae6aa43d1c9e assets/hexcasting/models/item/artifact.json
|
||||||
1a66f279c030ebd5ed6a596f63205094b2529819 assets/hexcasting/models/item/artifact_filled.json
|
1a66f279c030ebd5ed6a596f63205094b2529819 assets/hexcasting/models/item/artifact_filled.json
|
||||||
1b3a4bd9dd3c2af2894e0acc1d9d3c74d16c7625 assets/hexcasting/models/item/battery.json
|
1b3a4bd9dd3c2af2894e0acc1d9d3c74d16c7625 assets/hexcasting/models/item/battery.json
|
||||||
|
@ -101,6 +119,8 @@ e7b88cde507911c0ad1bf60976dcc43a319d498d assets/hexcasting/models/item/pride_col
|
||||||
352169689d1b82d670142478b67a1515bd71d93d assets/hexcasting/models/item/pride_colorizer_9.json
|
352169689d1b82d670142478b67a1515bd71d93d assets/hexcasting/models/item/pride_colorizer_9.json
|
||||||
9ef07e2885063ed1ffe1cb8f7728f26cb7c9881e assets/hexcasting/models/item/scroll.json
|
9ef07e2885063ed1ffe1cb8f7728f26cb7c9881e assets/hexcasting/models/item/scroll.json
|
||||||
297b05008b9ab37b5881820a0f5c99f7441a9dfe assets/hexcasting/models/item/scroll_ancient.json
|
297b05008b9ab37b5881820a0f5c99f7441a9dfe assets/hexcasting/models/item/scroll_ancient.json
|
||||||
|
7bc2499b363ab4bef749393f2984fae9e76ea982 assets/hexcasting/models/item/scroll_paper.json
|
||||||
|
0035d989e895429c71363acfebb987625b3ecaf5 assets/hexcasting/models/item/scroll_paper_lantern.json
|
||||||
91765bdc3a764f3a3f10131e452a0030b207b03d assets/hexcasting/models/item/scroll_pristine.json
|
91765bdc3a764f3a3f10131e452a0030b207b03d assets/hexcasting/models/item/scroll_pristine.json
|
||||||
d06214a759ea5db686cdc5982baa74e1bd678815 assets/hexcasting/models/item/slate.json
|
d06214a759ea5db686cdc5982baa74e1bd678815 assets/hexcasting/models/item/slate.json
|
||||||
e7aa1f9b9eaf20cbeb19eaf9cb96f3276eca6dfd assets/hexcasting/models/item/slate_blank.json
|
e7aa1f9b9eaf20cbeb19eaf9cb96f3276eca6dfd assets/hexcasting/models/item/slate_blank.json
|
||||||
|
@ -225,4 +245,6 @@ d14cf2f8f0895a5b6dc09b7582c0abf1c2514adf data/hexcasting/recipes/sub_sandwich.js
|
||||||
33b9d3a5e65343fc0e442e17d55a1eaa08943c8f data/hexcasting/recipes/trinket.json
|
33b9d3a5e65343fc0e442e17d55a1eaa08943c8f data/hexcasting/recipes/trinket.json
|
||||||
14d6be5d47b54676a349564ea32c045c76c39b45 data/hexcasting/recipes/uuid_colorizer.json
|
14d6be5d47b54676a349564ea32c045c76c39b45 data/hexcasting/recipes/uuid_colorizer.json
|
||||||
0521d57838cb3e9795fc02ce47aa58db3b0188f9 data/hexcasting/recipes/wand.json
|
0521d57838cb3e9795fc02ce47aa58db3b0188f9 data/hexcasting/recipes/wand.json
|
||||||
1d891cd7bbbd24f4fe36eff375cdbc3e3e34fc8f data/minecraft/tags/blocks/mineable/pickaxe.json
|
f930dbc5b41d42150d388e39b29b940229658809 data/minecraft/tags/blocks/crystal_sound_blocks.json
|
||||||
|
6ac1852c49b696a3f31bbd83a686b348da86b003 data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||||
|
f55afc2c05d93b5a44bc9fd73c5e81e71b183965 data/minecraft/tags/blocks/mineable/shovel.json
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/amethyst_dust_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/amethyst_sconce"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/amethyst_tiles"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/ancient_scroll_paper"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/ancient_scroll_paper_lantern"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/scroll_paper"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "hexcasting:block/scroll_paper_lantern"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/amethyst_dust_block"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/amethyst_tiles"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/ancient_scroll_paper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/ancient_scroll_paper_lantern"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/scroll_paper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "hexcasting:block/scroll_paper_lantern"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/amethyst_dust_block"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/amethyst_sconce"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/amethyst_tiles"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/ancient_scroll_paper"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/ancient_scroll_paper_lantern"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/scroll_paper"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "hexcasting:block/scroll_paper_lantern"
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"hexcasting:conjured",
|
||||||
|
"hexcasting:amethyst_tiles",
|
||||||
|
"hexcasting:amethyst_sconce"
|
||||||
|
]
|
||||||
|
}
|
|
@ -4,6 +4,8 @@
|
||||||
"hexcasting:slate_block",
|
"hexcasting:slate_block",
|
||||||
"hexcasting:slate",
|
"hexcasting:slate",
|
||||||
"hexcasting:empty_impetus",
|
"hexcasting:empty_impetus",
|
||||||
"hexcasting:impetus_rightclick"
|
"hexcasting:impetus_rightclick",
|
||||||
|
"hexcasting:amethyst_tiles",
|
||||||
|
"hexcasting:amethyst_sconce"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"hexcasting:amethyst_dust_block"
|
||||||
|
]
|
||||||
|
}
|
|
@ -42,7 +42,7 @@ public class HexTooltips {
|
||||||
tag.contains(ItemScroll.TAG_OP_ID)
|
tag.contains(ItemScroll.TAG_OP_ID)
|
||||||
? PatternTooltipGreeble.ANCIENT_BG : PatternTooltipGreeble.PRISTINE_BG)));
|
? PatternTooltipGreeble.ANCIENT_BG : PatternTooltipGreeble.PRISTINE_BG)));
|
||||||
}
|
}
|
||||||
} else if (stack.is(HexItems.Blocks.SLATE.get()) && ItemSlate.hasPattern(stack)) {
|
} else if (stack.is(HexItems.SLATE.get()) && ItemSlate.hasPattern(stack)) {
|
||||||
var tag = stack.getOrCreateTag()
|
var tag = stack.getOrCreateTag()
|
||||||
.getCompound("BlockEntityTag")
|
.getCompound("BlockEntityTag")
|
||||||
.getCompound(BlockEntitySlate.TAG_PATTERN);
|
.getCompound(BlockEntitySlate.TAG_PATTERN);
|
||||||
|
|
|
@ -33,6 +33,7 @@ import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||||
import net.minecraftforge.client.event.EntityRenderersEvent;
|
import net.minecraftforge.client.event.EntityRenderersEvent;
|
||||||
|
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||||
import net.minecraftforge.client.event.ParticleFactoryRegisterEvent;
|
import net.minecraftforge.client.event.ParticleFactoryRegisterEvent;
|
||||||
import net.minecraftforge.eventbus.api.EventPriority;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
@ -94,7 +95,7 @@ public class RegisterClientStuff {
|
||||||
ItemProperties.register(HexItems.SCROLL.get(), ItemScroll.ANCIENT_PREDICATE,
|
ItemProperties.register(HexItems.SCROLL.get(), ItemScroll.ANCIENT_PREDICATE,
|
||||||
(stack, level, holder, holderID) -> stack.getOrCreateTag().contains(ItemScroll.TAG_OP_ID) ? 1f : 0f);
|
(stack, level, holder, holderID) -> stack.getOrCreateTag().contains(ItemScroll.TAG_OP_ID) ? 1f : 0f);
|
||||||
|
|
||||||
ItemProperties.register(HexItems.Blocks.SLATE.get(), ItemSlate.WRITTEN_PRED,
|
ItemProperties.register(HexItems.SLATE.get(), ItemSlate.WRITTEN_PRED,
|
||||||
(stack, level, holder, holderID) -> ItemSlate.hasPattern(stack) ? 1f : 0f);
|
(stack, level, holder, holderID) -> ItemSlate.hasPattern(stack) ? 1f : 0f);
|
||||||
|
|
||||||
HexTooltips.init();
|
HexTooltips.init();
|
||||||
|
@ -145,4 +146,9 @@ public class RegisterClientStuff {
|
||||||
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers evt) {
|
public static void registerRenderers(EntityRenderersEvent.RegisterRenderers evt) {
|
||||||
evt.registerBlockEntityRenderer(HexBlocks.SLATE_TILE.get(), BlockEntitySlate.Renderer::new);
|
evt.registerBlockEntityRenderer(HexBlocks.SLATE_TILE.get(), BlockEntitySlate.Renderer::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void onModelRegister(ModelRegistryEvent evt) {
|
||||||
|
ItemBlockRenderTypes.setRenderLayer(HexBlocks.SCONCE.get(), RenderType.cutout());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,10 @@ import at.petrak.hexcasting.common.blocks.circles.BlockSlate;
|
||||||
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockAbstractImpetus;
|
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockAbstractImpetus;
|
||||||
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockEntityRightClickImpetus;
|
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockEntityRightClickImpetus;
|
||||||
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockRightClickImpetus;
|
import at.petrak.hexcasting.common.blocks.circles.impetuses.BlockRightClickImpetus;
|
||||||
import net.minecraft.world.level.block.Block;
|
import at.petrak.hexcasting.common.blocks.decoration.BlockSconce;
|
||||||
import net.minecraft.world.level.block.SoundType;
|
import at.petrak.hexcasting.common.items.HexItems;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.level.block.*;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
import net.minecraft.world.level.material.Material;
|
import net.minecraft.world.level.material.Material;
|
||||||
|
@ -17,6 +19,8 @@ import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class HexBlocks {
|
public class HexBlocks {
|
||||||
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, HexMod.MOD_ID);
|
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, HexMod.MOD_ID);
|
||||||
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister.create(
|
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister.create(
|
||||||
|
@ -39,19 +43,45 @@ public class HexBlocks {
|
||||||
.strength(4f, 4f);
|
.strength(4f, 4f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static BlockBehaviour.Properties papery() {
|
||||||
|
return BlockBehaviour.Properties
|
||||||
|
.of(Material.PLANT, MaterialColor.TERRACOTTA_WHITE)
|
||||||
|
.sound(SoundType.GRASS)
|
||||||
|
.instabreak();
|
||||||
|
}
|
||||||
|
|
||||||
public static final RegistryObject<BlockSlate> SLATE = BLOCKS.register("slate",
|
public static final RegistryObject<BlockSlate> SLATE = BLOCKS.register("slate",
|
||||||
() -> new BlockSlate(slateish()));
|
() -> new BlockSlate(slateish()));
|
||||||
|
|
||||||
public static final RegistryObject<BlockEmptyImpetus> EMPTY_IMPETUS = BLOCKS.register("empty_impetus",
|
public static final RegistryObject<BlockEmptyImpetus> EMPTY_IMPETUS = blockItem("empty_impetus",
|
||||||
() -> new BlockEmptyImpetus(slateish()));
|
() -> new BlockEmptyImpetus(slateish()));
|
||||||
public static final RegistryObject<BlockRightClickImpetus> IMPETUS_RIGHTCLICK = BLOCKS.register(
|
public static final RegistryObject<BlockRightClickImpetus> IMPETUS_RIGHTCLICK = blockItem(
|
||||||
"impetus_rightclick",
|
"impetus_rightclick",
|
||||||
() -> new BlockRightClickImpetus(slateish()
|
() -> new BlockRightClickImpetus(slateish()
|
||||||
.lightLevel(bs -> bs.getValue(BlockAbstractImpetus.ENERGIZED) ? 15 : 0)));
|
.lightLevel(bs -> bs.getValue(BlockAbstractImpetus.ENERGIZED) ? 15 : 0)));
|
||||||
|
|
||||||
// Decoration?!
|
// Decoration?!
|
||||||
public static final RegistryObject<Block> SLATE_BLOCK = BLOCKS.register("slate_block",
|
public static final RegistryObject<Block> SLATE_BLOCK = blockItem("slate_block",
|
||||||
() -> new Block(slateish().strength(2f, 4f)));
|
() -> new Block(slateish().strength(2f, 4f)));
|
||||||
|
public static final RegistryObject<SandBlock> AMETHYST_DUST_BLOCK = blockItem("amethyst_dust_block",
|
||||||
|
() -> new SandBlock(0xff_b38ef3, BlockBehaviour.Properties.of(Material.SAND, MaterialColor.COLOR_PURPLE)
|
||||||
|
.strength(0.5f).sound(SoundType.SAND)));
|
||||||
|
public static final RegistryObject<AmethystBlock> AMETHYST_TILES = blockItem("amethyst_tiles",
|
||||||
|
() -> new AmethystBlock(BlockBehaviour.Properties.copy(Blocks.AMETHYST_BLOCK)));
|
||||||
|
public static final RegistryObject<Block> SCROLL_PAPER = blockItem("scroll_paper",
|
||||||
|
() -> new Block(papery()));
|
||||||
|
public static final RegistryObject<Block> ANCIENT_SCROLL_PAPER = blockItem("ancient_scroll_paper",
|
||||||
|
() -> new Block(papery()));
|
||||||
|
public static final RegistryObject<Block> SCROLL_PAPER_LANTERN = blockItem("scroll_paper_lantern",
|
||||||
|
() -> new Block(papery().lightLevel($ -> 15)));
|
||||||
|
public static final RegistryObject<Block> ANCIENT_SCROLL_PAPER_LANTERN = blockItem(
|
||||||
|
"ancient_scroll_paper_lantern",
|
||||||
|
() -> new Block(papery().lightLevel($ -> 12)));
|
||||||
|
public static final RegistryObject<BlockSconce> SCONCE = blockItem("amethyst_sconce",
|
||||||
|
() -> new BlockSconce(BlockBehaviour.Properties.of(Material.AMETHYST, MaterialColor.COLOR_PURPLE)
|
||||||
|
.sound(SoundType.AMETHYST)
|
||||||
|
.strength(1f)
|
||||||
|
.lightLevel($ -> 15)));
|
||||||
|
|
||||||
public static final RegistryObject<BlockEntityType<BlockEntityConjured>> CONJURED_TILE = BLOCK_ENTITIES.register(
|
public static final RegistryObject<BlockEntityType<BlockEntityConjured>> CONJURED_TILE = BLOCK_ENTITIES.register(
|
||||||
"conjured_tile",
|
"conjured_tile",
|
||||||
|
@ -67,4 +97,11 @@ public class HexBlocks {
|
||||||
private static boolean never(Object... args) {
|
private static boolean never(Object... args) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static <T extends Block> RegistryObject<T> blockItem(String name, Supplier<T> block) {
|
||||||
|
var out = BLOCKS.register(name, block);
|
||||||
|
HexItems.ITEMS.register(name, () -> new BlockItem(out.get(), HexItems.props()));
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
package at.petrak.hexcasting.common.blocks.decoration;
|
||||||
|
|
||||||
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.sounds.SoundEvents;
|
||||||
|
import net.minecraft.sounds.SoundSource;
|
||||||
|
import net.minecraft.world.level.BlockGetter;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.level.block.AmethystBlock;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||||
|
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class BlockSconce extends AmethystBlock {
|
||||||
|
protected static VoxelShape AABB = Block.box(4, 0, 4, 12, 1, 12);
|
||||||
|
|
||||||
|
public BlockSconce(Properties p_49795_) {
|
||||||
|
super(p_49795_);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) {
|
||||||
|
return AABB;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void animateTick(BlockState pState, Level pLevel, BlockPos pPos, Random pRandom) {
|
||||||
|
if (pRandom.nextFloat() < 0.8f) {
|
||||||
|
pLevel.playSound(null, pPos, SoundEvents.AMETHYST_BLOCK_CHIME, SoundSource.BLOCKS, 1.0F,
|
||||||
|
0.5F + pRandom.nextFloat() * 1.2F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,7 +29,7 @@ object OpWrite : SpellOperator {
|
||||||
} else if (datum.payload is HexPattern) {
|
} else if (datum.payload is HexPattern) {
|
||||||
if (handStack.`is`(HexItems.SCROLL.get()) && !tag.contains(ItemScroll.TAG_PATTERN)) {
|
if (handStack.`is`(HexItems.SCROLL.get()) && !tag.contains(ItemScroll.TAG_PATTERN)) {
|
||||||
true
|
true
|
||||||
} else if (handStack.`is`(HexItems.Blocks.SLATE.get())) {
|
} else if (handStack.`is`(HexItems.SLATE.get())) {
|
||||||
val hasBET = tag.contains("BlockEntityTag")
|
val hasBET = tag.contains("BlockEntityTag")
|
||||||
if (hasBET) {
|
if (hasBET) {
|
||||||
tag.getCompound("BlockEntityTag").contains(BlockEntitySlate.TAG_PATTERN)
|
tag.getCompound("BlockEntityTag").contains(BlockEntitySlate.TAG_PATTERN)
|
||||||
|
@ -61,7 +61,7 @@ object OpWrite : SpellOperator {
|
||||||
handItem.writeDatum(tag, datum)
|
handItem.writeDatum(tag, datum)
|
||||||
} else if (handItem == HexItems.SCROLL.get() && !tag.contains(ItemScroll.TAG_PATTERN) && datum.payload is HexPattern) {
|
} else if (handItem == HexItems.SCROLL.get() && !tag.contains(ItemScroll.TAG_PATTERN) && datum.payload is HexPattern) {
|
||||||
tag.put(ItemScroll.TAG_PATTERN, datum.payload.serializeToNBT())
|
tag.put(ItemScroll.TAG_PATTERN, datum.payload.serializeToNBT())
|
||||||
} else if (handItem == HexItems.Blocks.SLATE.get() && datum.payload is HexPattern) {
|
} else if (handItem == HexItems.SLATE.get() && datum.payload is HexPattern) {
|
||||||
val bet = tag.getCompound("BlockEntityTag")
|
val bet = tag.getCompound("BlockEntityTag")
|
||||||
bet.put(BlockEntitySlate.TAG_PATTERN, datum.payload.serializeToNBT())
|
bet.put(BlockEntitySlate.TAG_PATTERN, datum.payload.serializeToNBT())
|
||||||
// Just in case it's brand new
|
// Just in case it's brand new
|
||||||
|
|
|
@ -10,7 +10,10 @@ import at.petrak.hexcasting.common.items.magic.ItemManaBattery;
|
||||||
import at.petrak.hexcasting.common.items.magic.ItemTrinket;
|
import at.petrak.hexcasting.common.items.magic.ItemTrinket;
|
||||||
import net.minecraft.core.NonNullList;
|
import net.minecraft.core.NonNullList;
|
||||||
import net.minecraft.world.food.FoodProperties;
|
import net.minecraft.world.food.FoodProperties;
|
||||||
import net.minecraft.world.item.*;
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
|
import net.minecraft.world.item.DyeColor;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
@ -98,27 +101,9 @@ public class HexItems {
|
||||||
public static final RegistryObject<Item> SUBMARINE_SANDWICH = ITEMS.register("sub_sandwich",
|
public static final RegistryObject<Item> SUBMARINE_SANDWICH = ITEMS.register("sub_sandwich",
|
||||||
() -> new Item(props().food(new FoodProperties.Builder().nutrition(14).saturationMod(1.2f).build())));
|
() -> new Item(props().food(new FoodProperties.Builder().nutrition(14).saturationMod(1.2f).build())));
|
||||||
|
|
||||||
static {
|
|
||||||
// Force it to reify all the statics inside
|
|
||||||
new Blocks();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Blocks {
|
|
||||||
public static final RegistryObject<BlockItem> CONJURED = ITEMS.register("conjured",
|
|
||||||
() -> new BlockItem(HexBlocks.CONJURED.get(), new Item.Properties()));
|
|
||||||
|
|
||||||
public static final RegistryObject<ItemSlate> SLATE = ITEMS.register("slate",
|
public static final RegistryObject<ItemSlate> SLATE = ITEMS.register("slate",
|
||||||
() -> new ItemSlate(HexBlocks.SLATE.get(), props()));
|
() -> new ItemSlate(HexBlocks.SLATE.get(), props()));
|
||||||
|
|
||||||
public static final RegistryObject<BlockItem> EMPTY_IMPETUS = ITEMS.register("empty_impetus",
|
|
||||||
() -> new BlockItem(HexBlocks.EMPTY_IMPETUS.get(), props()));
|
|
||||||
public static final RegistryObject<BlockItem> IMPETUS_RIGHTCLICK = ITEMS.register("impetus_rightclick",
|
|
||||||
() -> new BlockItem(HexBlocks.IMPETUS_RIGHTCLICK.get(), props()));
|
|
||||||
|
|
||||||
public static final RegistryObject<BlockItem> SLATE_BLOCK = ITEMS.register("slate_block",
|
|
||||||
() -> new BlockItem(HexBlocks.SLATE_BLOCK.get(), props()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Item.Properties props() {
|
public static Item.Properties props() {
|
||||||
return new Item.Properties().tab(TAB);
|
return new Item.Properties().tab(TAB);
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,16 @@ public class HexBlockStatesAndModels extends BlockStateProvider {
|
||||||
slateTex);
|
slateTex);
|
||||||
|
|
||||||
blockAndItem(HexBlocks.SLATE_BLOCK.get(), models().cubeAll("slate_block", modLoc("block/slate")));
|
blockAndItem(HexBlocks.SLATE_BLOCK.get(), models().cubeAll("slate_block", modLoc("block/slate")));
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.AMETHYST_DUST_BLOCK.get(), "amethyst_dust_block");
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.AMETHYST_TILES.get(), "amethyst_tiles");
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.SCROLL_PAPER.get(), "scroll_paper");
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.ANCIENT_SCROLL_PAPER.get(), "ancient_scroll_paper");
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.SCROLL_PAPER_LANTERN.get(), "scroll_paper_lantern");
|
||||||
|
reallySimpleBlockAndItem(HexBlocks.ANCIENT_SCROLL_PAPER_LANTERN.get(), "ancient_scroll_paper_lantern");
|
||||||
|
|
||||||
|
var sconceModel = models().getExistingFile(modLoc("amethyst_sconce"));
|
||||||
|
simpleBlock(HexBlocks.SCONCE.get(), sconceModel);
|
||||||
|
simpleBlockItem(HexBlocks.SCONCE.get(), sconceModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void blockAndItem(Block block, BlockModelBuilder model) {
|
private void blockAndItem(Block block, BlockModelBuilder model) {
|
||||||
|
@ -53,6 +63,10 @@ public class HexBlockStatesAndModels extends BlockStateProvider {
|
||||||
simpleBlockItem(block, model);
|
simpleBlockItem(block, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void reallySimpleBlockAndItem(Block block, String name) {
|
||||||
|
blockAndItem(block, models().cubeAll(name, modLoc("block/" + name)));
|
||||||
|
}
|
||||||
|
|
||||||
private void arrowCircleBlock(Block block, String name, String stub, ResourceLocation particle) {
|
private void arrowCircleBlock(Block block, String name, String stub, ResourceLocation particle) {
|
||||||
getVariantBuilder(block).forAllStates(bs -> {
|
getVariantBuilder(block).forAllStates(bs -> {
|
||||||
var isLit = bs.getValue(BlockCircleComponent.ENERGIZED);
|
var isLit = bs.getValue(BlockCircleComponent.ENERGIZED);
|
||||||
|
|
|
@ -17,9 +17,14 @@ public class HexBlockTags extends BlockTagsProvider {
|
||||||
@Override
|
@Override
|
||||||
protected void addTags() {
|
protected void addTags() {
|
||||||
tag(BlockTags.MINEABLE_WITH_PICKAXE)
|
tag(BlockTags.MINEABLE_WITH_PICKAXE)
|
||||||
.add(HexBlocks.SLATE_BLOCK.get())
|
.add(HexBlocks.SLATE_BLOCK.get(), HexBlocks.SLATE.get(), HexBlocks.EMPTY_IMPETUS.get(),
|
||||||
.add(HexBlocks.SLATE.get())
|
HexBlocks.IMPETUS_RIGHTCLICK.get(),
|
||||||
.add(HexBlocks.EMPTY_IMPETUS.get())
|
HexBlocks.AMETHYST_TILES.get(), HexBlocks.SCONCE.get());
|
||||||
.add(HexBlocks.IMPETUS_RIGHTCLICK.get());
|
|
||||||
|
tag(BlockTags.MINEABLE_WITH_SHOVEL)
|
||||||
|
.add(HexBlocks.AMETHYST_DUST_BLOCK.get());
|
||||||
|
|
||||||
|
tag(BlockTags.CRYSTAL_SOUND_BLOCKS)
|
||||||
|
.add(HexBlocks.CONJURED.get(), HexBlocks.AMETHYST_TILES.get(), HexBlocks.SCONCE.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ public class HexItemModels extends ItemModelProvider {
|
||||||
|
|
||||||
simpleItem(modLoc("slate_blank"));
|
simpleItem(modLoc("slate_blank"));
|
||||||
simpleItem(modLoc("slate_written"));
|
simpleItem(modLoc("slate_written"));
|
||||||
getBuilder(HexItems.Blocks.SLATE.getId().getPath()).override()
|
getBuilder(HexItems.SLATE.getId().getPath()).override()
|
||||||
.predicate(ItemSlate.WRITTEN_PRED, 0)
|
.predicate(ItemSlate.WRITTEN_PRED, 0)
|
||||||
.model(new ModelFile.UncheckedModelFile(modLoc("item/slate_blank")))
|
.model(new ModelFile.UncheckedModelFile(modLoc("item/slate_blank")))
|
||||||
.end()
|
.end()
|
||||||
|
|
|
@ -182,7 +182,7 @@ public class HexRecipes extends RecipeProvider {
|
||||||
.pattern("PP ")
|
.pattern("PP ")
|
||||||
.unlockedBy("has_item", has(Items.AMETHYST_SHARD)).save(recipes);
|
.unlockedBy("has_item", has(Items.AMETHYST_SHARD)).save(recipes);
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(HexItems.Blocks.SLATE.get(), 6)
|
ShapedRecipeBuilder.shaped(HexItems.SLATE.get(), 6)
|
||||||
.define('S', Items.DEEPSLATE)
|
.define('S', Items.DEEPSLATE)
|
||||||
.define('A', HexItems.AMETHYST_DUST.get())
|
.define('A', HexItems.AMETHYST_DUST.get())
|
||||||
.pattern(" A ")
|
.pattern(" A ")
|
||||||
|
@ -190,10 +190,10 @@ public class HexRecipes extends RecipeProvider {
|
||||||
.unlockedBy("has_item", has(HexItems.AMETHYST_DUST.get())).save(recipes);
|
.unlockedBy("has_item", has(HexItems.AMETHYST_DUST.get())).save(recipes);
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(HexBlocks.SLATE_BLOCK.get())
|
ShapedRecipeBuilder.shaped(HexBlocks.SLATE_BLOCK.get())
|
||||||
.define('S', HexItems.Blocks.SLATE.get())
|
.define('S', HexItems.SLATE.get())
|
||||||
.pattern("S")
|
.pattern("S")
|
||||||
.pattern("S")
|
.pattern("S")
|
||||||
.unlockedBy("has_item", has(HexItems.Blocks.SLATE.get()))
|
.unlockedBy("has_item", has(HexItems.SLATE.get()))
|
||||||
.save(recipes, modLoc("slate_block_from_slates"));
|
.save(recipes, modLoc("slate_block_from_slates"));
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(HexBlocks.SLATE_BLOCK.get(), 8)
|
ShapedRecipeBuilder.shaped(HexBlocks.SLATE_BLOCK.get(), 8)
|
||||||
|
@ -202,7 +202,7 @@ public class HexRecipes extends RecipeProvider {
|
||||||
.pattern("SSS")
|
.pattern("SSS")
|
||||||
.pattern("SAS")
|
.pattern("SAS")
|
||||||
.pattern("SSS")
|
.pattern("SSS")
|
||||||
.unlockedBy("has_item", has(HexItems.Blocks.SLATE.get())).save(recipes);
|
.unlockedBy("has_item", has(HexItems.SLATE.get())).save(recipes);
|
||||||
|
|
||||||
var enlightenment = new OvercastTrigger.Instance(EntityPredicate.Composite.ANY,
|
var enlightenment = new OvercastTrigger.Instance(EntityPredicate.Composite.ANY,
|
||||||
MinMaxBounds.Ints.ANY,
|
MinMaxBounds.Ints.ANY,
|
||||||
|
|
|
@ -394,6 +394,10 @@
|
||||||
"hexcasting.page.pigments.3": "Pigments all the colors of the rainbow.",
|
"hexcasting.page.pigments.3": "Pigments all the colors of the rainbow.",
|
||||||
"hexcasting.page.pigments.4": "And finally, a pigment with a color wholly unique to me.$(br2)$(italic)And all the colors I am inside have not been invented yet./$",
|
"hexcasting.page.pigments.4": "And finally, a pigment with a color wholly unique to me.$(br2)$(italic)And all the colors I am inside have not been invented yet./$",
|
||||||
|
|
||||||
|
"hexcasting.entry.decoration": "Decorative Blocks",
|
||||||
|
"hexcasting.page.decoration.1": "In the course of my studies I have discovered some building blocks and trifles that I may find aesthetically pleasing. I've compiled the methods of making them here.",
|
||||||
|
"hexcasting.page.decoration.3": "",
|
||||||
|
|
||||||
|
|
||||||
"_comment": "The Work",
|
"_comment": "The Work",
|
||||||
|
|
||||||
|
|
|
@ -71,5 +71,42 @@
|
||||||
"down": {"uv": [0, 0, 2, 3], "texture": "#missing"}
|
"down": {"uv": [0, 0, 2, 3], "texture": "#missing"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"display": {
|
||||||
|
"thirdperson_righthand": {
|
||||||
|
"rotation": [75, 45, 0],
|
||||||
|
"translation": [0, 2.5, 2.75],
|
||||||
|
"scale": [0.375, 0.375, 0.375]
|
||||||
|
},
|
||||||
|
"thirdperson_lefthand": {
|
||||||
|
"rotation": [75, 45, 0],
|
||||||
|
"translation": [0, 2.5, 2.75],
|
||||||
|
"scale": [0.375, 0.375, 0.375]
|
||||||
|
},
|
||||||
|
"firstperson_righthand": {
|
||||||
|
"rotation": [0, 45, 0],
|
||||||
|
"translation": [0, 2.5, 0],
|
||||||
|
"scale": [0.4, 0.4, 0.4]
|
||||||
|
},
|
||||||
|
"firstperson_lefthand": {
|
||||||
|
"rotation": [0, 225, 0],
|
||||||
|
"translation": [0, 2.5, 0],
|
||||||
|
"scale": [0.4, 0.4, 0.4]
|
||||||
|
},
|
||||||
|
"ground": {
|
||||||
|
"translation": [0, 3, 0],
|
||||||
|
"scale": [0.25, 0.25, 0.25]
|
||||||
|
},
|
||||||
|
"gui": {
|
||||||
|
"rotation": [30, 225, 0],
|
||||||
|
"scale": [0.625, 0.625, 0.625]
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"rotation": [0, 180, 0],
|
||||||
|
"translation": [0, 13, 7]
|
||||||
|
},
|
||||||
|
"fixed": {
|
||||||
|
"scale": [0.5, 0.5, 0.5]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Binary file not shown.
After Width: | Height: | Size: 298 B |
Binary file not shown.
After Width: | Height: | Size: 331 B |
Binary file not shown.
After Width: | Height: | Size: 239 B |
Binary file not shown.
After Width: | Height: | Size: 283 B |
Binary file not shown.
Before Width: | Height: | Size: 881 B After Width: | Height: | Size: 831 B |
|
@ -10,7 +10,7 @@
|
||||||
"text": "hexcasting.page.decoration.1"
|
"text": "hexcasting.page.decoration.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "patchouli:recipe",
|
"type": "patchouli:crafting",
|
||||||
"recipe": "hexcasting:slate_block",
|
"recipe": "hexcasting:slate_block",
|
||||||
"recipe2": "hexcasting:slate_block_from_slates"
|
"recipe2": "hexcasting:slate_block_from_slates"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue