diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java index 64bdaf1fb..04f7b65c9 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java @@ -61,6 +61,8 @@ private static Settings permafrost() { public static final Block LIVERWORT = add("liverwort", new Block(copy(MOSS_BLOCK).sounds(BlockSoundGroup.AZALEA_LEAVES))); public static final CarpetBlock LIVERWORT_CARPET = add("liverwort_carpet", new CarpetBlock(copy(MOSS_BLOCK).sounds(BlockSoundGroup.AZALEA_LEAVES))); + public static final SimpleBlockSet THATCH_SET = registerSimpleBlockSet("thatch", create().mapColor(MapColor.PALE_YELLOW).strength(0.3f).sounds(BlockSoundGroup.GRASS)); + // Clouds private static Settings cloud() { @@ -282,6 +284,7 @@ private static Settings cherineTorch() { // Usables public static final IncubatorBlock INCUBATOR = add("incubator", new IncubatorBlock(create().mapColor(MapColor.DULL_RED).strength(2.5f).sounds(BlockSoundGroup.WOOD).nonOpaque()), cutoutMippedRenderLayer); + public static final IncubatorBlock NEST = add("nest", new IncubatorBlock(create().mapColor(MapColor.PALE_YELLOW).strength(0.3f).sounds(BlockSoundGroup.GRASS).nonOpaque(), 0.35F), cutoutMippedRenderLayer); public static final FoodBowlBlock FOOD_BOWL = add("food_bowl", new FoodBowlBlock(create().mapColor(MapColor.DULL_RED).strength(2.5f).sounds(BlockSoundGroup.WOOD).nonOpaque()), cutoutMippedRenderLayer); public static final Block TREE_TAP = add("tree_tap", new TreeTapBlock(create().mapColor(MapColor.SPRUCE_BROWN).strength(2.5f).sounds(BlockSoundGroup.WOOD).nonOpaque().ticksRandomly()), cutoutRenderLayer); public static final NitraBlock NITRA_BUNCH = add("nitra_bunch", new NitraBlock(create().mapColor(MapColor.PALE_YELLOW).strength(0.5f).sounds(BlockSoundGroup.WET_GRASS))); diff --git a/src/main/java/net/id/paradiselost/blocks/blockentity/IncubatorBlockEntity.java b/src/main/java/net/id/paradiselost/blocks/blockentity/IncubatorBlockEntity.java index f40ef7f30..02e8a8e9b 100644 --- a/src/main/java/net/id/paradiselost/blocks/blockentity/IncubatorBlockEntity.java +++ b/src/main/java/net/id/paradiselost/blocks/blockentity/IncubatorBlockEntity.java @@ -30,16 +30,23 @@ public class IncubatorBlockEntity extends BlockEntity { private UUID owner; private int hatchTicks = 100; private ItemStack egg; + private float offsetHeight; + + public IncubatorBlockEntity(BlockPos pos, BlockState state, float offsetHeight) { + super(ParadiseLostBlockEntityTypes.INCUBATOR, pos, state); + this.egg = ItemStack.EMPTY; + this.offsetHeight = offsetHeight; + } public IncubatorBlockEntity(BlockPos pos, BlockState state) { super(ParadiseLostBlockEntityTypes.INCUBATOR, pos, state); this.egg = ItemStack.EMPTY; + this.offsetHeight = 0.55F; } public static void tickServer(World world, BlockPos pos, BlockState state, T entity) { IncubatorBlockEntity incubator = (IncubatorBlockEntity) entity; if (incubator.egg.getItem() == ParadiseLostItems.MOA_EGG) { - if (world.getTime() % 10 == 0) { if (world.getBlockState(pos.up(2)).isIn(INCUBATOR_WARMER_LIGHTS) || world.getBlockState(pos.up(1)).isIn(INCUBATOR_WARMER_LIGHTS)) { //Split tags, think I did it right incubator.hatchTicks -= 2; @@ -57,12 +64,13 @@ public static void tickServer(World world, BlockPos pos, world.playSound(null, pos, ParadiseLostSoundEvents.ENTITY_MOA_EGG_HATCH, SoundCategory.BLOCKS, 0.8F, 0.5F); world.spawnEntity(moa); incubator.egg = ItemStack.EMPTY; - incubator.markDirty(); } + incubator.markDirty(); } } public void handleUse(PlayerEntity player, Hand hand, ItemStack handStack) { + markDirty(); owner = player.getUuid(); ItemStack stored = egg.copy(); egg = handStack.copy(); @@ -77,6 +85,9 @@ public boolean hasItem() { public ItemStack getItem() { return egg; } + public float getOffsetHeight() { + return offsetHeight; + } @Override public void writeNbt(NbtCompound nbt, RegistryWrapper.WrapperLookup registryLookup) { diff --git a/src/main/java/net/id/paradiselost/blocks/blockentity/ParadiseLostBlockEntityTypes.java b/src/main/java/net/id/paradiselost/blocks/blockentity/ParadiseLostBlockEntityTypes.java index 89caf56ec..deca19b0c 100644 --- a/src/main/java/net/id/paradiselost/blocks/blockentity/ParadiseLostBlockEntityTypes.java +++ b/src/main/java/net/id/paradiselost/blocks/blockentity/ParadiseLostBlockEntityTypes.java @@ -11,7 +11,7 @@ public class ParadiseLostBlockEntityTypes { public static final BlockEntityType FOOD_BOWL = create(FoodBowlBlockEntity::new, ParadiseLostBlocks.FOOD_BOWL).build(); - public static final BlockEntityType INCUBATOR = create(IncubatorBlockEntity::new, ParadiseLostBlocks.INCUBATOR).build(); + public static final BlockEntityType INCUBATOR = create(IncubatorBlockEntity::new, ParadiseLostBlocks.INCUBATOR, ParadiseLostBlocks.NEST).build(); public static final BlockEntityType CHERINE_CAMPFIRE = create(CherineCampfireBlockEntity::new, ParadiseLostBlocks.CHERINE_CAMPFIRE).build(); public static final BlockEntityType TREE_TAP = create(TreeTapBlockEntity::new, ParadiseLostBlocks.TREE_TAP).build(); public static final BlockEntityType SIGN = create(ParadiseSignBlockEntity::new, diff --git a/src/main/java/net/id/paradiselost/blocks/mechanical/IncubatorBlock.java b/src/main/java/net/id/paradiselost/blocks/mechanical/IncubatorBlock.java index 9450b0498..2015b9ff5 100644 --- a/src/main/java/net/id/paradiselost/blocks/mechanical/IncubatorBlock.java +++ b/src/main/java/net/id/paradiselost/blocks/mechanical/IncubatorBlock.java @@ -24,9 +24,16 @@ public class IncubatorBlock extends ParadiseLostBlockWithEntity { public static final MapCodec CODEC = createCodec(IncubatorBlock::new); private static final VoxelShape SHAPE = Block.createCuboidShape(0, 0, 0, 16, 5, 16); + private float offsetHeight; public IncubatorBlock(Settings settings) { super(settings, true); + this.offsetHeight = 0.55F; + } + + public IncubatorBlock(Settings settings, float offsetHeight) { + super(settings, true); + this.offsetHeight = offsetHeight; } @Override @@ -57,6 +64,6 @@ public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos po @Nullable @Override public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { - return new IncubatorBlockEntity(pos, state); + return new IncubatorBlockEntity(pos, state, this.offsetHeight); } } diff --git a/src/main/java/net/id/paradiselost/client/rendering/block/IncubatorBlockEntityRenderer.java b/src/main/java/net/id/paradiselost/client/rendering/block/IncubatorBlockEntityRenderer.java index 0b39309d1..aed61e0ad 100644 --- a/src/main/java/net/id/paradiselost/client/rendering/block/IncubatorBlockEntityRenderer.java +++ b/src/main/java/net/id/paradiselost/client/rendering/block/IncubatorBlockEntityRenderer.java @@ -26,14 +26,14 @@ public void render(IncubatorBlockEntity entity, float tickDelta, MatrixStack mat if (entity.hasItem()) { if (isMoaEggInIncubator(entity)) { matrices.push(); - matrices.translate(0.5, 0.55, 0.5); + matrices.translate(0.5, entity.getOffsetHeight(), 0.5); matrices.scale(1F, 1F, 5F); //Thick egg MinecraftClient.getInstance().getItemRenderer().renderItem(entity.getItem(), ModelTransformationMode.FIXED, light, overlay, matrices, vertexConsumers, null, 0); matrices.pop(); } else { matrices.push(); - matrices.translate(0.5, 0.55, 0.5); + matrices.translate(0.5, entity.getOffsetHeight(), 0.5); matrices.scale(0.9F, 0.9F, 0.9F); MinecraftClient.getInstance().getItemRenderer().renderItem(entity.getItem(), ModelTransformationMode.FIXED, light, overlay, matrices, vertexConsumers, null, 0); matrices.pop(); diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItemGroups.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItemGroups.java index 24f6e484a..e0c0a4747 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItemGroups.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItemGroups.java @@ -76,6 +76,9 @@ public class ParadiseLostItemGroups { entries.add(WISTERIA_TRAPDOOR); entries.add(WISTERIA_PRESSURE_PLATE); entries.add(WISTERIA_BUTTON); + entries.add(THATCH_BLOCK); + entries.add(THATCH_STAIRS); + entries.add(THATCH_SLAB); // Stone / stonelike entries.add(FLOESTONE); entries.add(FLOESTONE_STAIRS); @@ -140,6 +143,9 @@ public class ParadiseLostItemGroups { entries.add(LIVERWORT); entries.add(LIVERWORT_CARPET); entries.add(LEVITA); + entries.add(THATCH_BLOCK); + entries.add(THATCH_STAIRS); + entries.add(THATCH_SLAB); // "packed" blocks entries.add(PACKED_SWEDROOT); entries.add(AMADRYS_BUNDLE); @@ -218,6 +224,7 @@ public class ParadiseLostItemGroups { entries.add(LEVITATOR); entries.add(LEVITA_RAIL); entries.add(INCUBATOR); + entries.add(NEST); entries.add(FOOD_BOWL); entries.add(TREE_TAP); entries.add(AUREL_SIGN); diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index 6b0822f4d..628f3cbc8 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -372,6 +372,10 @@ private static Settings food(FoodComponent foodComponent) { public static final BlockItem LIVERWORT = add(ParadiseLostBlocks.LIVERWORT, compostable100, fuel(150)); public static final BlockItem LIVERWORT_CARPET = add(ParadiseLostBlocks.LIVERWORT_CARPET, compostable65, fuel(100)); + public static final BlockItem THATCH_BLOCK = add(ParadiseLostBlocks.THATCH_SET.block(), compostable15, fuel(100)); + public static final BlockItem THATCH_STAIRS = add(ParadiseLostBlocks.THATCH_SET.stairs(), compostable15, fuel(100)); + public static final BlockItem THATCH_SLAB = add(ParadiseLostBlocks.THATCH_SET.slab(), compostable15, fuel(50)); + public static final BlockItem ROOTCAP = add(ParadiseLostBlocks.ROOTCAP, compostable65); public static final BlockItem BROWN_SPORECAP = add(ParadiseLostBlocks.BROWN_SPORECAP, compostable65); public static final BlockItem PINK_SPORECAP = add(ParadiseLostBlocks.PINK_SPORECAP, compostable65); @@ -391,6 +395,7 @@ private static Settings food(FoodComponent foodComponent) { // util blocks (enchanter, freezer, etc.) public static final BlockItem CHERINE_CAMPFIRE = add(ParadiseLostBlocks.CHERINE_CAMPFIRE); public static final BlockItem INCUBATOR = add(ParadiseLostBlocks.INCUBATOR, fuel(300)); + public static final BlockItem NEST = add(ParadiseLostBlocks.NEST, fuel(300)); public static final BlockItem FOOD_BOWL = add(ParadiseLostBlocks.FOOD_BOWL, fuel(300)); public static final BlockItem TREE_TAP = add(ParadiseLostBlocks.TREE_TAP, fuel(300)); diff --git a/src/main/resources/asset_helper.py b/src/main/resources/asset_helper.py index 2702d4df1..e762362c4 100644 --- a/src/main/resources/asset_helper.py +++ b/src/main/resources/asset_helper.py @@ -80,7 +80,9 @@ def generate_slab_block(block_id, base_block_id, texture): -generate_slab_block("flaxweave_cushion_slab", "flaxweave_cushion_double_slab", "flaxweave_cushion") - +generate_standard_block("thatch") +generate_stairs_block("thatch_stairs", "thatch") +generate_slab_block("thatch_slab", "thatch", "thatch") +generate_standard_block("nest") diff --git a/src/main/resources/assets/paradise_lost/blockstates/nest.json b/src/main/resources/assets/paradise_lost/blockstates/nest.json new file mode 100644 index 000000000..579dc71e5 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/nest.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/nest" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/blockstates/thatch.json b/src/main/resources/assets/paradise_lost/blockstates/thatch.json new file mode 100644 index 000000000..854284c37 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/thatch.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/thatch" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/blockstates/thatch_slab.json b/src/main/resources/assets/paradise_lost/blockstates/thatch_slab.json new file mode 100644 index 000000000..de83b83ca --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/thatch_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "paradise_lost:block/thatch_slab" + }, + "type=double": { + "model": "paradise_lost:block/thatch" + }, + "type=top": { + "model": "paradise_lost:block/thatch_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/blockstates/thatch_stairs.json b/src/main/resources/assets/paradise_lost/blockstates/thatch_stairs.json new file mode 100644 index 000000000..57625256e --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/thatch_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "paradise_lost:block/thatch_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "paradise_lost:block/thatch_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "paradise_lost:block/thatch_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "paradise_lost:block/thatch_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/lang/en_us.json b/src/main/resources/assets/paradise_lost/lang/en_us.json index 74d91548a..3680a7cda 100644 --- a/src/main/resources/assets/paradise_lost/lang/en_us.json +++ b/src/main/resources/assets/paradise_lost/lang/en_us.json @@ -187,6 +187,9 @@ "block.paradise_lost.honey_nettle": "Honey Nettle", "block.paradise_lost.liverwort": "Liverwort", "block.paradise_lost.liverwort_carpet": "Liverwort Carpet", + "block.paradise_lost.thatch": "Thatch", + "block.paradise_lost.thatch_stairs": "Thatch Stairs", + "block.paradise_lost.thatch_slab": "Thatch Slab", "block.paradise_lost.rootcap": "Rootcap", "block.paradise_lost.brown_sporecap": "Brown Sporecap", @@ -231,6 +234,7 @@ "block.paradise_lost.golden_amber_bars": "Golden Amber Bars", "block.paradise_lost.incubator": "Incubator", + "block.paradise_lost.nest": "Moa Nest", "block.paradise_lost.food_bowl": "Feeding Trough", "block.paradise_lost.tree_tap": "Tree Tap", "block.paradise_lost.nitra_bunch": "Nitra Bunch", diff --git a/src/main/resources/assets/paradise_lost/models/block/nest.json b/src/main/resources/assets/paradise_lost/models/block/nest.json new file mode 100644 index 000000000..ec34005a7 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/nest.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/coral_fan", + "textures": { + "fan": "paradise_lost:block/thatch_fan" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch.json b/src/main/resources/assets/paradise_lost/models/block/thatch.json new file mode 100644 index 000000000..909746e5f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch_slab.json b/src/main/resources/assets/paradise_lost/models/block/thatch_slab.json new file mode 100644 index 000000000..ae47516d8 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "paradise_lost:block/thatch", + "top": "paradise_lost:block/thatch", + "side": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch_slab_top.json b/src/main/resources/assets/paradise_lost/models/block/thatch_slab_top.json new file mode 100644 index 000000000..f4885b93c --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "paradise_lost:block/thatch", + "top": "paradise_lost:block/thatch", + "side": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch_stairs.json b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs.json new file mode 100644 index 000000000..dbb63e09f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "paradise_lost:block/thatch", + "top": "paradise_lost:block/thatch", + "side": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_inner.json b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_inner.json new file mode 100644 index 000000000..727f39fa1 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "paradise_lost:block/thatch", + "top": "paradise_lost:block/thatch", + "side": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_outer.json b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_outer.json new file mode 100644 index 000000000..59341a86e --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/thatch_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "paradise_lost:block/thatch", + "top": "paradise_lost:block/thatch", + "side": "paradise_lost:block/thatch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/nest.json b/src/main/resources/assets/paradise_lost/models/item/nest.json new file mode 100644 index 000000000..b46d57fb3 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/nest.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "paradise_lost:block/thatch_fan" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/thatch.json b/src/main/resources/assets/paradise_lost/models/item/thatch.json new file mode 100644 index 000000000..8b47a070c --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/thatch.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/thatch" +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/thatch_slab.json b/src/main/resources/assets/paradise_lost/models/item/thatch_slab.json new file mode 100644 index 000000000..cc9879327 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/thatch_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/thatch_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/thatch_stairs.json b/src/main/resources/assets/paradise_lost/models/item/thatch_stairs.json new file mode 100644 index 000000000..bdd5b3dfc --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/thatch_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/thatch_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/textures/block/incubator_top.png b/src/main/resources/assets/paradise_lost/textures/block/incubator_top.png index 3fe777336..ba02001fd 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/incubator_top.png and b/src/main/resources/assets/paradise_lost/textures/block/incubator_top.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/incubator_tuft.png b/src/main/resources/assets/paradise_lost/textures/block/incubator_tuft.png index 0bef6528a..7a964f6c2 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/incubator_tuft.png and b/src/main/resources/assets/paradise_lost/textures/block/incubator_tuft.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/thatch.png b/src/main/resources/assets/paradise_lost/textures/block/thatch.png new file mode 100644 index 000000000..e72636035 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/thatch.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/thatch_fan.png b/src/main/resources/assets/paradise_lost/textures/block/thatch_fan.png new file mode 100644 index 000000000..870f62bee Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/thatch_fan.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/popom/popom_fur.png b/src/main/resources/assets/paradise_lost/textures/entity/popom/popom_fur.png deleted file mode 100644 index 356d6719c..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/popom/popom_fur.png and /dev/null differ diff --git a/src/main/resources/data/minecraft/tags/block/mineable/axe.json b/src/main/resources/data/minecraft/tags/block/mineable/axe.json index e34291ff5..c8259199f 100644 --- a/src/main/resources/data/minecraft/tags/block/mineable/axe.json +++ b/src/main/resources/data/minecraft/tags/block/mineable/axe.json @@ -10,6 +10,10 @@ "paradise_lost:rootcap_block", "paradise_lost:brown_sporecap_block", "paradise_lost:pink_sporecap_block", + "paradise_lost:thatch", + "paradise_lost:thatch_stairs", + "paradise_lost:thatch_slab", + "paradise_lost:nest", "#paradise_lost:hollow_logs" ] } \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/loot_table/blocks/nest.json b/src/main/resources/data/paradise_lost/loot_table/blocks/nest.json new file mode 100644 index 000000000..ca193694b --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_table/blocks/nest.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "items": "minecraft:shears" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:nest" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/loot_table/blocks/thatch.json b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch.json new file mode 100644 index 000000000..3e5450eba --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:thatch" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_slab.json b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_slab.json new file mode 100644 index 000000000..7e98d357b --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_slab.json @@ -0,0 +1,34 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "paradise_lost:thatch_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "paradise_lost:thatch_slab" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_stairs.json b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_stairs.json new file mode 100644 index 000000000..d2e4fbd4e --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_table/blocks/thatch_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:thatch_stairs" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipe/thatch.json b/src/main/resources/data/paradise_lost/recipe/thatch.json new file mode 100644 index 000000000..1cf8b572d --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipe/thatch.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "boat", + "pattern": [ + "#X", + "X#" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "tag": "minecraft:leaves" + } + }, + "result": { + "id": "paradise_lost:thatch", + "count": 4 + } +} diff --git a/src/main/resources/data/paradise_lost/recipe/thatch_mirrored.json b/src/main/resources/data/paradise_lost/recipe/thatch_mirrored.json new file mode 100644 index 000000000..078b54375 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipe/thatch_mirrored.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "boat", + "pattern": [ + "X#", + "#X" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "tag": "minecraft:leaves" + } + }, + "result": { + "id": "paradise_lost:thatch", + "count": 4 + } +} diff --git a/src/main/resources/data/paradise_lost/recipe/thatch_slab.json b/src/main/resources/data/paradise_lost/recipe/thatch_slab.json new file mode 100644 index 000000000..7b3e16fc7 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipe/thatch_slab.json @@ -0,0 +1,17 @@ + +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "paradise_lost:thatch" + } + }, + "result": { + "id": "paradise_lost:thatch_slab", + "count": 6 + } +} + \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipe/thatch_stairs.json b/src/main/resources/data/paradise_lost/recipe/thatch_stairs.json new file mode 100644 index 000000000..81afd472c --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipe/thatch_stairs.json @@ -0,0 +1,19 @@ + +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": { + "item": "paradise_lost:thatch" + } + }, + "result": { + "id": "paradise_lost:thatch_stairs", + "count": 4 + } +} + \ No newline at end of file