diff --git a/src/main/java/ru/betterend/blocks/EternalRunedFlavolite.java b/src/main/java/ru/betterend/blocks/EternalRunedFlavolite.java new file mode 100644 index 00000000..69be444f --- /dev/null +++ b/src/main/java/ru/betterend/blocks/EternalRunedFlavolite.java @@ -0,0 +1,37 @@ +package ru.betterend.blocks; + +import java.util.List; + +import com.google.common.collect.Lists; + +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemStack; +import net.minecraft.loot.context.LootContext; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.BlockView; +import net.minecraft.world.explosion.Explosion; + +public class EternalRunedFlavolite extends RunedFlavolite { + + @Override + public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { + return 0.0F; + } + + @Override + public float getBlastResistance() { + return Blocks.BEDROCK.getBlastResistance(); + } + + @Override + public boolean shouldDropItemsOnExplosion(Explosion explosion) { + return false; + } + + @Override + public List getDroppedStacks(BlockState state, LootContext.Builder builder) { + return Lists.newArrayList(); + } +} diff --git a/src/main/java/ru/betterend/blocks/RunedFlavolite.java b/src/main/java/ru/betterend/blocks/RunedFlavolite.java index b63e2fba..1366aff9 100644 --- a/src/main/java/ru/betterend/blocks/RunedFlavolite.java +++ b/src/main/java/ru/betterend/blocks/RunedFlavolite.java @@ -1,13 +1,23 @@ package ru.betterend.blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; import ru.betterend.blocks.basis.BlockBase; import ru.betterend.registry.BlockRegistry; public class RunedFlavolite extends BlockBase { + public static final BooleanProperty ACTIVATED = BooleanProperty.of("active"); public RunedFlavolite() { super(FabricBlockSettings.copyOf(BlockRegistry.FLAVOLITE.polished).lightLevel(6)); + this.setDefaultState(stateManager.getDefaultState().with(ACTIVATED, false)); + } + + @Override + protected void appendProperties(StateManager.Builder stateManager) { + stateManager.add(ACTIVATED); } } diff --git a/src/main/java/ru/betterend/registry/BlockRegistry.java b/src/main/java/ru/betterend/registry/BlockRegistry.java index e8bf9919..0646be7d 100644 --- a/src/main/java/ru/betterend/registry/BlockRegistry.java +++ b/src/main/java/ru/betterend/registry/BlockRegistry.java @@ -29,6 +29,7 @@ import ru.betterend.blocks.BlockUmbrellaMoss; import ru.betterend.blocks.BlockUmbrellaMossTall; import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EnderBlock; +import ru.betterend.blocks.EternalRunedFlavolite; import ru.betterend.blocks.RunedFlavolite; import ru.betterend.blocks.TerminiteBlock; import ru.betterend.blocks.basis.BlockGlowingFur; @@ -54,6 +55,7 @@ public class BlockRegistry { public static final StoneMaterial FLAVOLITE = new StoneMaterial("flavolite", MaterialColor.SAND); public static final StoneMaterial VIOLECITE = new StoneMaterial("violecite", MaterialColor.PURPLE); public static final Block FLAVOLITE_RUNED = registerBlock("flavolite_runed", new RunedFlavolite()); + public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock("flavolite_runed_eternal", new EternalRunedFlavolite()); // Wooden Materials // public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock("mossy_glowshroom_sapling", new BlockMossyGlowshroomSapling()); diff --git a/src/main/resources/assets/betterend/blockstates/flavolite_runed.json b/src/main/resources/assets/betterend/blockstates/flavolite_runed.json index 30e8aa38..eb343bad 100644 --- a/src/main/resources/assets/betterend/blockstates/flavolite_runed.json +++ b/src/main/resources/assets/betterend/blockstates/flavolite_runed.json @@ -1,6 +1,6 @@ { "variants": { - "": [ + "active=false": [ { "model": "betterend:block/flavolite_runed_1", "uvlock": true @@ -220,6 +220,227 @@ "x": 270, "y": 270 } + ], + "active=true": [ + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 90, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 90, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 90, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 180, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 180, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 180, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 270, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 270, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_1", + "uvlock": true, + "x": 270, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 90, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 90, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 90, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 180, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 180, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 180, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 270, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 270, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_2", + "uvlock": true, + "x": 270, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 90, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 90, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 90, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 180, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 180, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 180, + "y": 270 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 270, + "y": 90 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 270, + "y": 180 + }, + { + "model": "betterend:block/flavolite_runed_active_3", + "uvlock": true, + "x": 270, + "y": 270 + } ] } } \ No newline at end of file