diff --git a/src/main/java/ru/betterend/blocks/AeterniumBlock.java b/src/main/java/ru/betterend/blocks/AeterniumBlock.java index a1f5dff6..e5e11578 100644 --- a/src/main/java/ru/betterend/blocks/AeterniumBlock.java +++ b/src/main/java/ru/betterend/blocks/AeterniumBlock.java @@ -3,14 +3,12 @@ package ru.betterend.blocks; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import net.minecraft.block.BlockState; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.math.BlockPos; import net.minecraft.world.BlockView; - import ru.betterend.blocks.basis.BlockBase; public class AeterniumBlock extends BlockBase { diff --git a/src/main/java/ru/betterend/blocks/BlockHydraluxPetal.java b/src/main/java/ru/betterend/blocks/BlockHydraluxPetal.java new file mode 100644 index 00000000..9fa569a2 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockHydraluxPetal.java @@ -0,0 +1,30 @@ +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.entity.Entity; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import ru.betterend.blocks.basis.BlockBase; + +public class BlockHydraluxPetal extends BlockBase { + public BlockHydraluxPetal() { + this(FabricBlockSettings.of(Material.PLANT) + .materialColor(MaterialColor.SPRUCE) + .sounds(BlockSoundGroup.WART_BLOCK) + .breakByTool(FabricToolTags.AXES) + .hardness(1) + .resistance(1) + .breakByHand(true)); + } + + public BlockHydraluxPetal(FabricBlockSettings settings) { + super(settings); + } + + @Override + public void onLandedUpon(World world, BlockPos pos, Entity entity, float distance) {} +} diff --git a/src/main/java/ru/betterend/blocks/BlockHydraluxPetalColored.java b/src/main/java/ru/betterend/blocks/BlockHydraluxPetalColored.java new file mode 100644 index 00000000..a0ab719a --- /dev/null +++ b/src/main/java/ru/betterend/blocks/BlockHydraluxPetalColored.java @@ -0,0 +1,47 @@ +package ru.betterend.blocks; + +import java.io.Reader; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.client.color.block.BlockColorProvider; +import net.minecraft.client.color.item.ItemColorProvider; +import net.minecraft.util.Identifier; +import ru.betterend.interfaces.IColorProvider; +import ru.betterend.patterns.Patterns; + +public class BlockHydraluxPetalColored extends BlockHydraluxPetal implements IColorProvider { + public BlockHydraluxPetalColored(FabricBlockSettings settings) { + super(settings); + } + + @Override + public BlockColorProvider getProvider() { + return (state, world, pos, tintIndex) -> { + return this.getDefaultMaterialColor().color; + }; + } + + @Override + public ItemColorProvider getItemProvider() { + return (stack, tintIndex) -> { + return this.getDefaultMaterialColor().color; + }; + } + + @Override + public String getStatesPattern(Reader data) { + String path = "betterend:block/block_petal_colored"; + return Patterns.createJson(data, path, path); + } + + @Override + public String getModelPattern(String block) { + String path = "betterend:block/block_petal_colored"; + return Patterns.createJson(Patterns.BLOCK_PETAL_COLORED, path, path); + } + + @Override + public Identifier statePatternId() { + return Patterns.STATE_DIRECT; + } +} diff --git a/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java b/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java deleted file mode 100644 index 3c939594..00000000 --- a/src/main/java/ru/betterend/blocks/HydraluxPetalBlock.java +++ /dev/null @@ -1,17 +0,0 @@ -package ru.betterend.blocks; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.Material; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import ru.betterend.blocks.basis.BlockBase; - -public class HydraluxPetalBlock extends BlockBase { - public HydraluxPetalBlock() { - super(FabricBlockSettings.of(Material.PLANT).hardness(1).resistance(1).breakByHand(true)); - } - - @Override - public void onLandedUpon(World world, BlockPos pos, Entity entity, float distance) {} -} diff --git a/src/main/java/ru/betterend/patterns/Patterns.java b/src/main/java/ru/betterend/patterns/Patterns.java index a3986213..d99c2c4e 100644 --- a/src/main/java/ru/betterend/patterns/Patterns.java +++ b/src/main/java/ru/betterend/patterns/Patterns.java @@ -80,6 +80,7 @@ public class Patterns { public final static Identifier BLOCK_STONE_LANTERN_FLOOR = BetterEnd.makeID("patterns/block/stone_lantern_floor.json"); public final static Identifier BLOCK_BULB_LANTERN_COLORED_FLOOR = BetterEnd.makeID("models/block/bulb_lantern_colored_floor.json"); public final static Identifier BLOCK_BULB_LANTERN_COLORED_CEIL = BetterEnd.makeID("models/block/bulb_lantern_colored_ceil.json"); + public final static Identifier BLOCK_PETAL_COLORED = BetterEnd.makeID("models/block/block_petal_colored.json"); //Models Item public final static Identifier ITEM_WALL = BetterEnd.makeID("patterns/item/pattern_wall.json"); diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 31b62b47..444bd59d 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -6,7 +6,6 @@ import net.minecraft.block.MaterialColor; import net.minecraft.item.BlockItem; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; - import ru.betterend.BetterEnd; import ru.betterend.blocks.AeterniumBlock; import ru.betterend.blocks.AuroraCrystalBlock; @@ -29,6 +28,8 @@ import ru.betterend.blocks.BlockEndLotusStem; import ru.betterend.blocks.BlockEndstoneDust; import ru.betterend.blocks.BlockGlowingMoss; import ru.betterend.blocks.BlockHydralux; +import ru.betterend.blocks.BlockHydraluxPetal; +import ru.betterend.blocks.BlockHydraluxPetalColored; import ru.betterend.blocks.BlockHydraluxSapling; import ru.betterend.blocks.BlockHydrothermalVent; import ru.betterend.blocks.BlockLacugroveSapling; @@ -53,7 +54,6 @@ import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EnderBlock; import ru.betterend.blocks.EternalPedestal; import ru.betterend.blocks.EternalRunedFlavolite; -import ru.betterend.blocks.HydraluxPetalBlock; import ru.betterend.blocks.InfusionPedestal; import ru.betterend.blocks.PedestalVanilla; import ru.betterend.blocks.RunedFlavolite; @@ -168,7 +168,8 @@ public class EndBlocks { public static final Block HYDRALUX_SAPLING = registerBlock("hydralux_sapling", new BlockHydraluxSapling()); public static final Block HYDRALUX = registerBlockNI("hydralux", new BlockHydralux()); - public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new HydraluxPetalBlock()); + public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new BlockHydraluxPetal()); + public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(BlockHydraluxPetalColored::new, HYDRALUX_PETAL_BLOCK); public static final Block CAVE_BUSH = registerBlock("cave_bush", new BlockSimpleLeaves(MaterialColor.MAGENTA)); diff --git a/src/main/java/ru/betterend/tab/CreativeTab.java b/src/main/java/ru/betterend/tab/CreativeTab.java index 0a57512c..746d9e9d 100644 --- a/src/main/java/ru/betterend/tab/CreativeTab.java +++ b/src/main/java/ru/betterend/tab/CreativeTab.java @@ -4,7 +4,6 @@ import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; - import ru.betterend.BetterEnd; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndItems; diff --git a/src/main/resources/assets/betterend/textures/block/hydralux_petal_block.png b/src/main/resources/assets/betterend/textures/block/hydralux_petal_block.png new file mode 100644 index 00000000..6b272547 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/hydralux_petal_block.png differ