diff --git a/src/main/java/ru/betterend/blocks/BlockHelixTreeLeaves.java b/src/main/java/ru/betterend/blocks/BlockHelixTreeLeaves.java index 7e78f511..8408ead7 100644 --- a/src/main/java/ru/betterend/blocks/BlockHelixTreeLeaves.java +++ b/src/main/java/ru/betterend/blocks/BlockHelixTreeLeaves.java @@ -4,6 +4,7 @@ import java.util.Collections; import java.util.List; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; @@ -28,6 +29,7 @@ public class BlockHelixTreeLeaves extends BlockBase implements IColorProvider { public BlockHelixTreeLeaves() { super(FabricBlockSettings.of(Material.LEAVES) .strength(0.2F) + .breakByTool(FabricToolTags.SHEARS) .sounds(BlockSoundGroup.GRASS) .materialColor(MaterialColor.ORANGE)); } diff --git a/src/main/java/ru/betterend/blocks/BlockHelixTreeLuminophor.java b/src/main/java/ru/betterend/blocks/BlockHelixTreeLuminophor.java new file mode 100644 index 00000000..4097916e --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockHelixTreeLuminophor.java @@ -0,0 +1,19 @@ +package ru.betterend.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.Material; +import net.minecraft.block.MaterialColor; +import net.minecraft.sound.BlockSoundGroup; +import ru.betterend.blocks.basis.BlockBase; + +public class BlockHelixTreeLuminophor extends BlockBase { + public BlockHelixTreeLuminophor() { + super(FabricBlockSettings.of(Material.LEAVES) + .materialColor(MaterialColor.ORANGE) + .breakByTool(FabricToolTags.SHEARS) + .sounds(BlockSoundGroup.GRASS) + .strength(0.2F) + .luminance(15)); + } +} diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 340c0eb6..1c052c0e 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -29,6 +29,7 @@ import ru.betterend.blocks.BlockEndLotusStem; import ru.betterend.blocks.BlockEndstoneDust; import ru.betterend.blocks.BlockGlowingMoss; import ru.betterend.blocks.BlockHelixTreeLeaves; +import ru.betterend.blocks.BlockHelixTreeLuminophor; import ru.betterend.blocks.BlockHelixTreeSapling; import ru.betterend.blocks.BlockHydralux; import ru.betterend.blocks.BlockHydraluxPetal; @@ -157,6 +158,7 @@ public class EndBlocks { public static final Block HELIX_TREE_SAPLING = registerBlock("helix_tree_sapling", new BlockHelixTreeSapling()); public static final Block HELIX_TREE_LEAVES = registerBlock("helix_tree_leaves", new BlockHelixTreeLeaves()); + public static final Block HELIX_TREE_LUMINOPHOR = registerBlock("helix_tree_luminophor", new BlockHelixTreeLuminophor()); public static final WoodenMaterial HELIX_TREE = new WoodenMaterial("helix_tree", MaterialColor.GRAY, MaterialColor.ORANGE); // Small Plants // diff --git a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java index d9107a38..842c8a41 100644 --- a/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/HelixTreeFeature.java @@ -31,6 +31,7 @@ public class HelixTreeFeature extends DefaultFeature { @Override public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig config) { if (!world.getBlockState(pos.down()).getBlock().isIn(EndTags.END_GROUND)) return false; + BlocksHelper.setWithoutUpdate(world, pos, AIR); float angle = random.nextFloat() * MHelper.PI2; float radiusRange = MHelper.randRange(4.5F, 6F, random); @@ -137,9 +138,9 @@ public class HelixTreeFeature extends DefaultFeature { Mutable bPos = new Mutable(); for (int i = 0; i < count; i++) { + bPos.set(x + pos.getX(), y + pos.getY(), z + pos.getZ()); int color = MHelper.floor((float) i / (float) count * 7F + 0.5F) + offset; color = MathHelper.clamp(color, 0, 7); - bPos.set(x + pos.getX(), y + pos.getY(), z + pos.getZ()); if (world.getBlockState(bPos).getMaterial().isReplaceable()) { BlocksHelper.setWithoutUpdate(world, bPos, state.with(BlockHelixTreeLeaves.COLOR, color)); } diff --git a/src/main/resources/assets/betterend/blockstates/helix_tree_luminophor.json b/src/main/resources/assets/betterend/blockstates/helix_tree_luminophor.json new file mode 100644 index 00000000..9e8a627a --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/helix_tree_luminophor.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "betterend:block/helix_tree_luminophor" + } + } +} diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index 9ac83d8a..4b2f0a66 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -455,5 +455,6 @@ "block.betterend.helix_tree_trapdoor": "Helix Tree Trapdoor", "block.betterend.lanceleaf": "Lanceleaf", "block.betterend.lanceleaf_seed": "Lanceleaf Seed", - "block.betterend.hydralux": "Hydralux" + "block.betterend.hydralux": "Hydralux", + "block.betterend.helix_tree_luminophor": "Helix Tree Luminophor" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 0193b0e8..4136fcd3 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -457,5 +457,6 @@ "block.betterend.helix_tree_trapdoor": "Люк из закрученного дерева", "block.betterend.lanceleaf": "Ланцелист", "block.betterend.lanceleaf_seed": "Семечко ланцелиста", - "block.betterend.hydralux": "Гидралюкс" + "block.betterend.hydralux": "Гидралюкс", + "block.betterend.helix_tree_luminophor": "Люминофор закрученного дерева" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/block/amber_grass.json b/src/main/resources/assets/betterend/materialmaps/block/amber_grass.json new file mode 100644 index 00000000..352de84b --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/amber_grass.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:waving_floor" +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/helix_tree_luminophor.json b/src/main/resources/assets/betterend/materialmaps/block/helix_tree_luminophor.json new file mode 100644 index 00000000..a72e6e79 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/helix_tree_luminophor.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:glow_all" +} diff --git a/src/main/resources/assets/betterend/materialmaps/block/lanceleaf.json b/src/main/resources/assets/betterend/materialmaps/block/lanceleaf.json new file mode 100644 index 00000000..74b62733 --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/lanceleaf.json @@ -0,0 +1,26 @@ +{ + "defaultMap": { + "spriteMap": [ + { + "sprite": "betterend:block/lanceleaf_stem", + "material": "betterend:waving_floor" + }, + { + "sprite": "betterend:block/lanceleaf_leaf_bottom", + "material": "betterend:waving" + }, + { + "sprite": "betterend:block/lanceleaf_leaf_middle", + "material": "betterend:waving" + }, + { + "sprite": "betterend:block/lanceleaf_leaf_pre_top", + "material": "betterend:waving" + }, + { + "sprite": "betterend:block/lanceleaf_leaf_top", + "material": "betterend:waving" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/materialmaps/block/lanceleaf_seed.json b/src/main/resources/assets/betterend/materialmaps/block/lanceleaf_seed.json new file mode 100644 index 00000000..352de84b --- /dev/null +++ b/src/main/resources/assets/betterend/materialmaps/block/lanceleaf_seed.json @@ -0,0 +1,3 @@ +{ + "defaultMaterial": "betterend:waving_floor" +} diff --git a/src/main/resources/assets/betterend/models/block/helix_tree_luminophor.json b/src/main/resources/assets/betterend/models/block/helix_tree_luminophor.json new file mode 100644 index 00000000..633bd7fc --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/helix_tree_luminophor.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cube_noshade", + "textures": { + "texture": "betterend:block/helix_tree_luminophor" + } +} diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png b/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png index 50e459a2..632c9dab 100644 Binary files a/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png and b/src/main/resources/assets/betterend/textures/block/helix_tree_leaves.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_luminophor.png b/src/main/resources/assets/betterend/textures/block/helix_tree_luminophor.png new file mode 100644 index 00000000..833f6b61 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_luminophor.png differ