Added zap planks, stairs, and slabs

This commit is contained in:
Sollace 2024-02-08 16:56:32 +00:00
parent c4ab7e1bdf
commit 400bc19d08
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
56 changed files with 940 additions and 62 deletions

BIN
assets/zap_planks.xcf Normal file

Binary file not shown.

View file

@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction; import net.minecraft.util.math.Direction;
import net.minecraft.world.BlockView; import net.minecraft.world.BlockView;
interface BlockConstructionUtils { public interface BlockConstructionUtils {
static ButtonBlock woodenButton() { static ButtonBlock woodenButton() {
return woodenButton(BlockSoundGroup.WOOD, BlockSetType.OAK); return woodenButton(BlockSoundGroup.WOOD, BlockSetType.OAK);
} }

View file

@ -21,6 +21,13 @@ import com.minelittlepony.unicopia.block.cloud.SoggyCloudBlock;
import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock;
import com.minelittlepony.unicopia.block.cloud.SoggyCloudStairsBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudStairsBlock;
import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock; import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock;
import com.minelittlepony.unicopia.block.zap.BaseZapAppleLeavesBlock;
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock;
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesPlaceholderBlock;
import com.minelittlepony.unicopia.block.zap.ZapAppleLogBlock;
import com.minelittlepony.unicopia.block.zap.ZapBlock;
import com.minelittlepony.unicopia.block.zap.ZapSlabBlock;
import com.minelittlepony.unicopia.block.zap.ZapStairsBlock;
import com.minelittlepony.unicopia.entity.effect.UEffects; import com.minelittlepony.unicopia.entity.effect.UEffects;
import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.item.UItems;
import com.minelittlepony.unicopia.item.cloud.CloudBlockItem; import com.minelittlepony.unicopia.item.cloud.CloudBlockItem;
@ -60,30 +67,36 @@ public interface UBlocks {
Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly())); Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly()));
Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_END, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_SIDE, UMapColors.ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block WAXED_STRIPPED_ZAP_LOG = register("waxed_stripped_zap_log", BlockConstructionUtils.createLogBlock(UMapColors.ZAP_LOG_END, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block WAXED_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(UMapColors.STRIPPED_ZAP_LOG_SIDE, UMapColors.STRIPPED_ZAP_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block WAXED_ZAP_LOG = register("waxed_zap_log", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); Block ZAP_PLANKS = register("zap_planks", new ZapBlock(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroups.BUILDING_BLOCKS); Block ZAP_STAIRS = register("zap_stairs", new ZapStairsBlock(ZAP_PLANKS.getDefaultState(), Settings.copy(ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block ZAP_SLAB = register("zap_slab", new ZapSlabBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block WAXED_STRIPPED_ZAP_LOG = register("waxed_stripped_zap_log", BlockConstructionUtils.createLogBlock(MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_PLANKS = register("waxed_zap_planks", new Block(Settings.create().mapColor(UMapColors.ZAP_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block WAXED_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.GRAY, MapColor.GRAY), ItemGroups.BUILDING_BLOCKS); Block WAXED_ZAP_STAIRS = register("waxed_zap_stairs", new StairsBlock(WAXED_ZAP_PLANKS.getDefaultState(), Settings.copy(WAXED_ZAP_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block WAXED_ZAP_SLAB = register("waxed_zap_slab", new ZapSlabBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL); Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroups.NATURAL);
Block FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL); Block FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL);
Block ZAP_LEAVES_PLACEHOLDER = register("zap_leaves_placeholder", new ZapAppleLeavesPlaceholderBlock()); Block ZAP_LEAVES_PLACEHOLDER = register("zap_leaves_placeholder", new ZapAppleLeavesPlaceholderBlock());
Block ZAP_BULB = register("zap_bulb", new FruitBlock(Settings.create().mapColor(MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); Block ZAP_BULB = register("zap_bulb", new FruitBlock(Settings.create().mapColor(MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false));
Block ZAP_APPLE = register("zap_apple", new FruitBlock(Settings.create().mapColor(MapColor.GRAY).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false)); Block ZAP_APPLE = register("zap_apple", new FruitBlock(Settings.create().mapColor(MapColor.YELLOW).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE, false));
Block PALM_LOG = register("palm_log", BlockConstructionUtils.createLogBlock(MapColor.OFF_WHITE, MapColor.SPRUCE_BROWN), ItemGroups.BUILDING_BLOCKS); Block PALM_LOG = register("palm_log", BlockConstructionUtils.createLogBlock(UMapColors.PALM_LOG_END, UMapColors.PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block PALM_WOOD = register("palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); Block PALM_WOOD = register("palm_wood", BlockConstructionUtils.createWoodBlock(UMapColors.PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_PALM_LOG = register("stripped_palm_log", BlockConstructionUtils.createLogBlock(MapColor.OFF_WHITE, MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); Block STRIPPED_PALM_LOG = register("stripped_palm_log", BlockConstructionUtils.createLogBlock(UMapColors.PALM_LOG_END, UMapColors.STRIPPED_PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block STRIPPED_PALM_WOOD = register("stripped_palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), ItemGroups.BUILDING_BLOCKS); Block STRIPPED_PALM_WOOD = register("stripped_palm_wood", BlockConstructionUtils.createWoodBlock(UMapColors.STRIPPED_PALM_LOG_SIDE), ItemGroups.BUILDING_BLOCKS);
Block PALM_PLANKS = register("palm_planks", new Block(Settings.create().mapColor(MapColor.OFF_WHITE).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_PLANKS = register("palm_planks", new Block(Settings.create().mapColor(UMapColors.PALM_PLANKS).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block PALM_STAIRS = register("palm_stairs", new StairsBlock(PALM_PLANKS.getDefaultState(), Settings.copy(PALM_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_STAIRS = register("palm_stairs", new StairsBlock(PALM_PLANKS.getDefaultState(), Settings.copy(PALM_PLANKS).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block PALM_SLAB = register("palm_slab", new SlabBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_SLAB = register("palm_slab", new SlabBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
Block PALM_FENCE = register("palm_fence", new FenceBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS); Block PALM_FENCE = register("palm_fence", new FenceBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
@ -279,6 +292,9 @@ public interface UBlocks {
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_WOOD, WAXED_ZAP_WOOD); OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_WOOD, WAXED_ZAP_WOOD);
OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_LOG, WAXED_STRIPPED_ZAP_LOG); OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_LOG, WAXED_STRIPPED_ZAP_LOG);
OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_WOOD, WAXED_STRIPPED_ZAP_WOOD); OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_WOOD, WAXED_STRIPPED_ZAP_WOOD);
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_PLANKS, WAXED_ZAP_PLANKS);
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_STAIRS, WAXED_ZAP_STAIRS);
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_SLAB, WAXED_ZAP_SLAB);
Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE); Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL, CURING_JOKE, SPECTRAL_FIRE);
TintedBlock.REGISTRY.add(PALM_LEAVES); TintedBlock.REGISTRY.add(PALM_LEAVES);

View file

@ -0,0 +1,15 @@
package com.minelittlepony.unicopia.block;
import net.minecraft.block.MapColor;
public interface UMapColors {
MapColor ZAP_LEAVES = MapColor.MAGENTA;
MapColor ZAP_PLANKS = MapColor.MAGENTA;
MapColor ZAP_LOG_SIDE = MapColor.PURPLE;
MapColor ZAP_LOG_END = MapColor.MAGENTA;
MapColor STRIPPED_ZAP_LOG_SIDE = MapColor.PURPLE;
MapColor PALM_PLANKS = MapColor.OFF_WHITE;
MapColor PALM_LOG_END = MapColor.OFF_WHITE;
MapColor PALM_LOG_SIDE = MapColor.SPRUCE_BROWN;
MapColor STRIPPED_PALM_LOG_SIDE = MapColor.OFF_WHITE;
}

View file

@ -1,7 +1,10 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import com.minelittlepony.unicopia.block.BlockConstructionUtils;
import com.minelittlepony.unicopia.block.TintedBlock;
import com.minelittlepony.unicopia.block.UMapColors;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore;
@ -15,9 +18,9 @@ import net.minecraft.world.*;
public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock { public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock {
BaseZapAppleLeavesBlock() { public BaseZapAppleLeavesBlock() {
super(Settings.create() super(Settings.create()
.mapColor(MapColor.PURPLE) .mapColor(UMapColors.ZAP_LEAVES)
.strength(500, 1200) .strength(500, 1200)
.ticksRandomly() .ticksRandomly()
.sounds(BlockSoundGroup.AZALEA_LEAVES) .sounds(BlockSoundGroup.AZALEA_LEAVES)

View file

@ -1,4 +1,4 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore;
@ -10,7 +10,7 @@ import net.minecraft.state.property.*;
public class ZapAppleLeavesBlock extends BaseZapAppleLeavesBlock { public class ZapAppleLeavesBlock extends BaseZapAppleLeavesBlock {
public static final EnumProperty<ZapAppleStageStore.Stage> STAGE = EnumProperty.of("stage", ZapAppleStageStore.Stage.class); public static final EnumProperty<ZapAppleStageStore.Stage> STAGE = EnumProperty.of("stage", ZapAppleStageStore.Stage.class);
ZapAppleLeavesBlock() { public ZapAppleLeavesBlock() {
setDefaultState(getDefaultState().with(STAGE, ZapAppleStageStore.Stage.GREENING)); setDefaultState(getDefaultState().with(STAGE, ZapAppleStageStore.Stage.GREENING));
} }

View file

@ -1,4 +1,4 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore;
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore.Stage; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore.Stage;
@ -11,7 +11,7 @@ import net.minecraft.world.World;
public class ZapAppleLeavesPlaceholderBlock extends AirBlock implements ZapStagedBlock { public class ZapAppleLeavesPlaceholderBlock extends AirBlock implements ZapStagedBlock {
ZapAppleLeavesPlaceholderBlock() { public ZapAppleLeavesPlaceholderBlock() {
super(Settings.create().replaceable().noCollision().dropsNothing().air()); super(Settings.create().replaceable().noCollision().dropsNothing().air());
} }

View file

@ -1,4 +1,4 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
@ -14,11 +14,11 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.World; import net.minecraft.world.World;
public class ZapAppleLogBlock extends PillarBlock { public class ZapAppleLogBlock extends PillarBlock {
public static final BooleanProperty NATURAL = ZapBlock.NATURAL; public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
private final Block artifialModelBlock; private final Block artifialModelBlock;
ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { public ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) {
super(AbstractBlock.Settings.create().mapColor( super(AbstractBlock.Settings.create().mapColor(
state -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? topMapColor : sideMapColor state -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? topMapColor : sideMapColor
) )

View file

@ -1,4 +1,4 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect; import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect;
@ -8,35 +8,15 @@ import net.minecraft.entity.EntityType;
import net.minecraft.entity.ItemEntity; import net.minecraft.entity.ItemEntity;
import net.minecraft.entity.LightningEntity; import net.minecraft.entity.LightningEntity;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.server.world.ServerWorld; import net.minecraft.server.world.ServerWorld;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.util.math.*; import net.minecraft.util.math.*;
import net.minecraft.world.BlockView; import net.minecraft.world.BlockView;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.event.GameEvent; import net.minecraft.world.event.GameEvent;
public class ZapBlock extends Block { public class ZapBlock extends Block {
public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); public ZapBlock(Settings settings) {
super(settings);
private final Block artificialModelBlock;
ZapBlock(Settings settings, Block artificialModelBlock) {
super(settings.strength(500, 1200));
setDefaultState(getDefaultState().with(NATURAL, true));
this.artificialModelBlock = artificialModelBlock;
}
@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
super.appendProperties(builder);
builder.add(NATURAL);
}
@Override
public BlockState getPlacementState(ItemPlacementContext ctx) {
return getDefaultState().with(NATURAL, false);
} }
@Deprecated @Deprecated
@ -48,12 +28,10 @@ public class ZapBlock extends Block {
@Deprecated @Deprecated
@Override @Override
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
if (!state.get(NATURAL)) { return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
return artificialModelBlock.calcBlockBreakingDelta(artificialModelBlock.getDefaultState(), player, world, pos); }
}
float delta = super.calcBlockBreakingDelta(state, player, world, pos);
public static float getBlockBreakingDelta(float delta, PlayerEntity player) {
if (Pony.of(player).getCompositeRace().canUseEarth()) { if (Pony.of(player).getCompositeRace().canUseEarth()) {
delta *= 50; delta *= 50;
} }
@ -61,7 +39,6 @@ public class ZapBlock extends Block {
return MathHelper.clamp(delta, 0, 0.9F); return MathHelper.clamp(delta, 0, 0.9F);
} }
public static void triggerLightning(BlockState state, World world, BlockPos pos, PlayerEntity player) { public static void triggerLightning(BlockState state, World world, BlockPos pos, PlayerEntity player) {
if (world instanceof ServerWorld serverWorld) { if (world instanceof ServerWorld serverWorld) {
Vec3d center = Vec3d.ofCenter(pos); Vec3d center = Vec3d.ofCenter(pos);

View file

@ -0,0 +1,26 @@
package com.minelittlepony.unicopia.block.zap;
import net.minecraft.block.BlockState;
import net.minecraft.block.SlabBlock;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
public class ZapSlabBlock extends SlabBlock {
public ZapSlabBlock(Settings settings) {
super(settings);
}
@Deprecated
@Override
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
ZapBlock.triggerLightning(state, world, pos, player);
}
@Deprecated
@Override
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
return ZapBlock.getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
}
}

View file

@ -1,5 +1,6 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block.zap;
import com.minelittlepony.unicopia.block.UBlocks;
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore;
import net.minecraft.block.Block; import net.minecraft.block.Block;

View file

@ -0,0 +1,22 @@
package com.minelittlepony.unicopia.block.zap;
import net.minecraft.block.BlockState;
import net.minecraft.block.StairsBlock;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
public class ZapStairsBlock extends StairsBlock {
private final BlockState baseBlock;
public ZapStairsBlock(BlockState baseBlockState, Settings settings) {
super(baseBlockState, settings);
this.baseBlock = baseBlockState;
}
@Deprecated
@Override
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
return baseBlock.calcBlockBreakingDelta(player, world, pos);
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "unicopia:block/zap_planks"
}
}
}

View file

@ -0,0 +1,13 @@
{
"variants": {
"type=bottom": {
"model": "unicopia:block/zap_slab"
},
"type=double": {
"model": "unicopia:block/zap_planks"
},
"type=top": {
"model": "unicopia:block/zap_slab_top"
}
}
}

View file

@ -0,0 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer"
},
"facing=east,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "unicopia:block/zap_planks"
}
}
}

View file

@ -0,0 +1,13 @@
{
"variants": {
"type=bottom": {
"model": "unicopia:block/zap_slab"
},
"type=double": {
"model": "unicopia:block/zap_planks"
},
"type=top": {
"model": "unicopia:block/zap_slab_top"
}
}
}

View file

@ -0,0 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer"
},
"facing=east,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "unicopia:block/zap_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "unicopia:block/zap_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "unicopia:block/zap_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}

View file

@ -232,10 +232,16 @@
"block.unicopia.zap_wood": "Zap Apple Wood", "block.unicopia.zap_wood": "Zap Apple Wood",
"block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log",
"block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood", "block.unicopia.stripped_zap_wood": "Stripped Zap Apple Wood",
"block.unicopia.zap_planks": "Zap Apple Planks",
"block.unicopia.zap_stairs": "Zap Apple Stairs",
"block.unicopia.zap_slab": "Zap Apple Slab",
"block.unicopia.waxed_zap_log": "Waxed Zap Apple Log", "block.unicopia.waxed_zap_log": "Waxed Zap Apple Log",
"block.unicopia.waxed_zap_wood": "Waxed Zap Apple Wood", "block.unicopia.waxed_zap_wood": "Waxed Zap Apple Wood",
"block.unicopia.waxed_stripped_zap_log": "Waxed Stripped Zap Apple Log", "block.unicopia.waxed_stripped_zap_log": "Waxed Stripped Zap Apple Log",
"block.unicopia.waxed_stripped_zap_wood": "Waxed Stripped Zap Apple Wood", "block.unicopia.waxed_stripped_zap_wood": "Waxed Stripped Zap Apple Wood",
"block.unicopia.waxed_zap_planks": "Waxed Zap Apple Planks",
"block.unicopia.waxed_zap_stairs": "Waxed Zap Apple Stairs",
"block.unicopia.waxed_zap_slab": "Waxed Zap Apple Slab",
"block.unicopia.zap_leaves": "Zap Apple Leaves", "block.unicopia.zap_leaves": "Zap Apple Leaves",
"block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves", "block.unicopia.flowering_zap_leaves": "Flowering Zap Apple Leaves",
"block.unicopia.zap_apple": "Zap Apple", "block.unicopia.zap_apple": "Zap Apple",

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/slab",
"textures": {
"bottom": "unicopia:block/zap_planks",
"side": "unicopia:block/zap_planks",
"top": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/slab_top",
"textures": {
"bottom": "unicopia:block/zap_planks",
"side": "unicopia:block/zap_planks",
"top": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/stairs",
"textures": {
"bottom": "unicopia:block/zap_planks",
"side": "unicopia:block/zap_planks",
"top": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/inner_stairs",
"textures": {
"bottom": "unicopia:block/zap_planks",
"side": "unicopia:block/zap_planks",
"top": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,8 @@
{
"parent": "minecraft:block/outer_stairs",
"textures": {
"bottom": "unicopia:block/zap_planks",
"side": "unicopia:block/zap_planks",
"top": "unicopia:block/zap_planks"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_planks"
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_slab"
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_stairs"
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_planks"
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_slab"
}

View file

@ -0,0 +1,3 @@
{
"parent": "unicopia:block/zap_stairs"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

@ -4,6 +4,7 @@
"unicopia:cloud_planks", "unicopia:cloud_planks",
"unicopia:cloud_plank_slab", "unicopia:cloud_plank_slab",
"unicopia:cloud_plank_stairs", "unicopia:cloud_plank_stairs",
"unicopia:compacted_cloud_planks" "unicopia:compacted_cloud_planks",
"unicopia:waxed_zap_planks"
] ]
} }

View file

@ -1,6 +1,7 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_planks" "unicopia:palm_planks",
"unicopia:zap_planks"
] ]
} }

View file

@ -1,6 +1,8 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_slab" "unicopia:palm_slab",
"unicopia:zap_slab",
"unicopia:waxed_zap_slab"
] ]
} }

View file

@ -1,6 +1,8 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_stairs" "unicopia:palm_stairs",
"unicopia:zap_stairs",
"unicopia:waxed_zap_stairs"
] ]
} }

View file

@ -1,6 +1,7 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_planks" "unicopia:palm_planks",
"unicopia:zap_planks"
] ]
} }

View file

@ -1,6 +1,8 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_slab" "unicopia:palm_slab",
"unicopia:zap_slab",
"unicopia:waxed_zap_slab"
] ]
} }

View file

@ -1,6 +1,8 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"unicopia:palm_stairs" "unicopia:palm_stairs",
"unicopia:zap_stairs",
"unicopia:waxed_zap_stairs"
] ]
} }

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_stripped_zap_log"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_stripped_zap_wood"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_zap_log"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_zap_planks"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_zap_slab"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_zap_stairs"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:waxed_zap_wood"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:zap_planks"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:zap_slab"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:zap_stairs"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{ "item": "unicopia:zap_planks" },
{ "item": "minecraft:honeycomb" }
],
"result": { "item": "unicopia:waxed_zap_planks" }
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{ "item": "unicopia:zap_slab" },
{ "item": "minecraft:honeycomb" }
],
"result": { "item": "unicopia:waxed_zap_slab" }
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{ "item": "unicopia:zap_stairs" },
{ "item": "minecraft:honeycomb" }
],
"result": { "item": "unicopia:waxed_zap_stairs" }
}

View file

@ -0,0 +1,12 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"group": "planks",
"ingredients": [
{ "tag": "unicopia:zap_logs" }
],
"result": {
"item": "unicopia:zap_planks",
"count": 4
}
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"group": "wooden_slab",
"key": {
"#": {
"item": "unicopia:zap_planks"
}
},
"pattern": [
"###"
],
"result": {
"count": 6,
"item": "unicopia:zap_slab"
}
}

View file

@ -0,0 +1,18 @@
{
"type": "minecraft:crafting_shaped",
"group": "wooden_stairs",
"key": {
"#": {
"item": "unicopia:zap_planks"
}
},
"pattern": [
"# ",
"## ",
"###"
],
"result": {
"count": 4,
"item": "unicopia:zap_stairs"
}
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"unicopia:zap_log",
"unicopia:zap_wood",
"unicopia:stripped_zap_log",
"unicopia:stripped_zap_wood"
]
}