diff --git a/assets/zap_planks.xcf b/assets/zap_planks.xcf new file mode 100644 index 00000000..dc4a15cd Binary files /dev/null and b/assets/zap_planks.xcf differ diff --git a/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java b/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java index 963d38a2..8d4742d2 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java +++ b/src/main/java/com/minelittlepony/unicopia/block/BlockConstructionUtils.java @@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.BlockView; -interface BlockConstructionUtils { +public interface BlockConstructionUtils { static ButtonBlock woodenButton() { return woodenButton(BlockSoundGroup.WOOD, BlockSetType.OAK); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 59f50cb0..a19d2e39 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -21,6 +21,13 @@ import com.minelittlepony.unicopia.block.cloud.SoggyCloudBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudStairsBlock; 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.item.UItems; 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 ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), 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_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, 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 STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.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 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 WAXED_ZAP_WOOD = register("waxed_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.DEEPSLATE_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 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_STRIPPED_ZAP_WOOD = register("waxed_stripped_zap_wood", BlockConstructionUtils.createLogBlock(MapColor.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_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 FLOWERING_ZAP_LEAVES = register("flowering_zap_leaves", new BaseZapAppleLeavesBlock(), ItemGroups.NATURAL); 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_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_WOOD = register("palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), 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_WOOD = register("stripped_palm_wood", BlockConstructionUtils.createWoodBlock(MapColor.OFF_WHITE), 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(UMapColors.PALM_LOG_SIDE), 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(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_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); @@ -279,6 +292,9 @@ public interface UBlocks { OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_WOOD, WAXED_ZAP_WOOD); OxidizableBlocksRegistry.registerWaxableBlockPair(STRIPPED_ZAP_LOG, WAXED_STRIPPED_ZAP_LOG); 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); TintedBlock.REGISTRY.add(PALM_LEAVES); diff --git a/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java b/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java new file mode 100644 index 00000000..019176e4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/UMapColors.java @@ -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; +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java similarity index 90% rename from src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java index 902b5a11..093f9270 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BaseZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/BaseZapAppleLeavesBlock.java @@ -1,7 +1,10 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; 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.server.world.ZapAppleStageStore; @@ -15,9 +18,9 @@ import net.minecraft.world.*; public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock { - BaseZapAppleLeavesBlock() { + public BaseZapAppleLeavesBlock() { super(Settings.create() - .mapColor(MapColor.PURPLE) + .mapColor(UMapColors.ZAP_LEAVES) .strength(500, 1200) .ticksRandomly() .sounds(BlockSoundGroup.AZALEA_LEAVES) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java similarity index 92% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java index e94f3475..1fcfc3a6 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.server.world.ZapAppleStageStore; @@ -10,7 +10,7 @@ import net.minecraft.state.property.*; public class ZapAppleLeavesBlock extends BaseZapAppleLeavesBlock { public static final EnumProperty STAGE = EnumProperty.of("stage", ZapAppleStageStore.Stage.class); - ZapAppleLeavesBlock() { + public ZapAppleLeavesBlock() { setDefaultState(getDefaultState().with(STAGE, ZapAppleStageStore.Stage.GREENING)); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java similarity index 91% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java index 40fa9fc2..181bfc88 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLeavesPlaceholderBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLeavesPlaceholderBlock.java @@ -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.Stage; @@ -11,7 +11,7 @@ import net.minecraft.world.World; public class ZapAppleLeavesPlaceholderBlock extends AirBlock implements ZapStagedBlock { - ZapAppleLeavesPlaceholderBlock() { + public ZapAppleLeavesPlaceholderBlock() { super(Settings.create().replaceable().noCollision().dropsNothing().air()); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java similarity index 90% rename from src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java index 9605412b..e0c117ff 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapAppleLogBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapAppleLogBlock.java @@ -1,4 +1,4 @@ -package com.minelittlepony.unicopia.block; +package com.minelittlepony.unicopia.block.zap; import com.minelittlepony.unicopia.entity.player.Pony; @@ -14,11 +14,11 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; public class ZapAppleLogBlock extends PillarBlock { - public static final BooleanProperty NATURAL = ZapBlock.NATURAL; + public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); private final Block artifialModelBlock; - ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { + public ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) { super(AbstractBlock.Settings.create().mapColor( state -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? topMapColor : sideMapColor ) diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java similarity index 67% rename from src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java index dcc0e5f7..29ae5f9a 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapBlock.java @@ -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.particle.LightningBoltParticleEffect; @@ -8,35 +8,15 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LightningEntity; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemPlacementContext; 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.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; public class ZapBlock extends Block { - public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); - - 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 builder) { - super.appendProperties(builder); - builder.add(NATURAL); - } - - @Override - public BlockState getPlacementState(ItemPlacementContext ctx) { - return getDefaultState().with(NATURAL, false); + public ZapBlock(Settings settings) { + super(settings); } @Deprecated @@ -48,12 +28,10 @@ public class ZapBlock extends Block { @Deprecated @Override public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) { - if (!state.get(NATURAL)) { - return artificialModelBlock.calcBlockBreakingDelta(artificialModelBlock.getDefaultState(), player, world, pos); - } - - float delta = super.calcBlockBreakingDelta(state, player, world, pos); + return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player); + } + public static float getBlockBreakingDelta(float delta, PlayerEntity player) { if (Pony.of(player).getCompositeRace().canUseEarth()) { delta *= 50; } @@ -61,7 +39,6 @@ public class ZapBlock extends Block { return MathHelper.clamp(delta, 0, 0.9F); } - public static void triggerLightning(BlockState state, World world, BlockPos pos, PlayerEntity player) { if (world instanceof ServerWorld serverWorld) { Vec3d center = Vec3d.ofCenter(pos); diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java new file mode 100644 index 00000000..535e9b5d --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapSlabBlock.java @@ -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); + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java similarity index 97% rename from src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java rename to src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java index 5e3f41d4..72ce0d28 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ZapStagedBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStagedBlock.java @@ -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 net.minecraft.block.Block; diff --git a/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java new file mode 100644 index 00000000..8d13fadd --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/zap/ZapStairsBlock.java @@ -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); + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json new file mode 100644 index 00000000..ac083bd3 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/zap_planks" + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json new file mode 100644 index 00000000..4de01681 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_slab.json @@ -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" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json b/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json new file mode 100644 index 00000000..2fdbab92 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/waxed_zap_stairs.json @@ -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 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_planks.json b/src/main/resources/assets/unicopia/blockstates/zap_planks.json new file mode 100644 index 00000000..ac083bd3 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "unicopia:block/zap_planks" + } + } +} diff --git a/src/main/resources/assets/unicopia/blockstates/zap_slab.json b/src/main/resources/assets/unicopia/blockstates/zap_slab.json new file mode 100644 index 00000000..4de01681 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_slab.json @@ -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" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/zap_stairs.json b/src/main/resources/assets/unicopia/blockstates/zap_stairs.json new file mode 100644 index 00000000..2fdbab92 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/zap_stairs.json @@ -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 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index fa0d2924..9bf87f93 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -232,10 +232,16 @@ "block.unicopia.zap_wood": "Zap Apple Wood", "block.unicopia.stripped_zap_log": "Stripped Zap Apple Log", "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_wood": "Waxed Zap Apple Wood", "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_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.flowering_zap_leaves": "Flowering Zap Apple Leaves", "block.unicopia.zap_apple": "Zap Apple", diff --git a/src/main/resources/assets/unicopia/models/block/zap_planks.json b/src/main/resources/assets/unicopia/models/block/zap_planks.json new file mode 100644 index 00000000..a3b0506c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_slab.json b/src/main/resources/assets/unicopia/models/block/zap_slab.json new file mode 100644 index 00000000..019be187 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_slab_top.json b/src/main/resources/assets/unicopia/models/block/zap_slab_top.json new file mode 100644 index 00000000..c842f9e8 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_slab_top.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs.json b/src/main/resources/assets/unicopia/models/block/zap_stairs.json new file mode 100644 index 00000000..56f63e69 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "unicopia:block/zap_planks", + "side": "unicopia:block/zap_planks", + "top": "unicopia:block/zap_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json b/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json new file mode 100644 index 00000000..7653e732 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs_inner.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json b/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json new file mode 100644 index 00000000..57424f35 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/zap_stairs_outer.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json new file mode 100644 index 00000000..67af01e5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_planks" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json new file mode 100644 index 00000000..f4b16226 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json b/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json new file mode 100644 index 00000000..1a16895f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/waxed_zap_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_planks.json b/src/main/resources/assets/unicopia/models/item/zap_planks.json new file mode 100644 index 00000000..67af01e5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_planks" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_slab.json b/src/main/resources/assets/unicopia/models/item/zap_slab.json new file mode 100644 index 00000000..f4b16226 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/zap_stairs.json b/src/main/resources/assets/unicopia/models/item/zap_stairs.json new file mode 100644 index 00000000..1a16895f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/zap_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/zap_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/textures/block/zap_planks.png b/src/main/resources/assets/unicopia/textures/block/zap_planks.png new file mode 100644 index 00000000..55b0a580 Binary files /dev/null and b/src/main/resources/assets/unicopia/textures/block/zap_planks.png differ diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json index b8bbd23c..f823947f 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json @@ -4,6 +4,7 @@ "unicopia:cloud_planks", "unicopia:cloud_plank_slab", "unicopia:cloud_plank_stairs", - "unicopia:compacted_cloud_planks" + "unicopia:compacted_cloud_planks", + "unicopia:waxed_zap_planks" ] } diff --git a/src/main/resources/data/minecraft/tags/blocks/planks.json b/src/main/resources/data/minecraft/tags/blocks/planks.json index 78621ab7..cc11bde7 100644 --- a/src/main/resources/data/minecraft/tags/blocks/planks.json +++ b/src/main/resources/data/minecraft/tags/blocks/planks.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "unicopia:palm_planks" + "unicopia:palm_planks", + "unicopia:zap_planks" ] } diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json b/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json index 79d0edd5..f464e8b0 100644 --- a/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_slab" + "unicopia:palm_slab", + "unicopia:zap_slab", + "unicopia:waxed_zap_slab" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json b/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json index ca63598d..5549f9cb 100644 --- a/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_stairs" + "unicopia:palm_stairs", + "unicopia:zap_stairs", + "unicopia:waxed_zap_stairs" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/planks.json b/src/main/resources/data/minecraft/tags/items/planks.json index 78621ab7..cc11bde7 100644 --- a/src/main/resources/data/minecraft/tags/items/planks.json +++ b/src/main/resources/data/minecraft/tags/items/planks.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ - "unicopia:palm_planks" + "unicopia:palm_planks", + "unicopia:zap_planks" ] } diff --git a/src/main/resources/data/minecraft/tags/items/wooden_slabs.json b/src/main/resources/data/minecraft/tags/items/wooden_slabs.json index 79d0edd5..f464e8b0 100644 --- a/src/main/resources/data/minecraft/tags/items/wooden_slabs.json +++ b/src/main/resources/data/minecraft/tags/items/wooden_slabs.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_slab" + "unicopia:palm_slab", + "unicopia:zap_slab", + "unicopia:waxed_zap_slab" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/wooden_stairs.json b/src/main/resources/data/minecraft/tags/items/wooden_stairs.json index ca63598d..5549f9cb 100644 --- a/src/main/resources/data/minecraft/tags/items/wooden_stairs.json +++ b/src/main/resources/data/minecraft/tags/items/wooden_stairs.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "unicopia:palm_stairs" + "unicopia:palm_stairs", + "unicopia:zap_stairs", + "unicopia:waxed_zap_stairs" ] } \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_log.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_log.json new file mode 100644 index 00000000..06af807c --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_log.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_wood.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_wood.json new file mode 100644 index 00000000..25b08c58 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_stripped_zap_wood.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_log.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_log.json new file mode 100644 index 00000000..0607cf23 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_log.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_planks.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_planks.json new file mode 100644 index 00000000..42e39c73 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_planks.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_slab.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_slab.json new file mode 100644 index 00000000..561b61bc --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_slab.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_stairs.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_stairs.json new file mode 100644 index 00000000..e2749e5d --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_stairs.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_wood.json b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_wood.json new file mode 100644 index 00000000..703572f8 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/waxed_zap_wood.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_planks.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_planks.json new file mode 100644 index 00000000..d0593f6a --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_planks.json @@ -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" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_slab.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_slab.json new file mode 100644 index 00000000..549f4877 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_slab.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/zap_stairs.json b/src/main/resources/data/unicopia/loot_tables/blocks/zap_stairs.json new file mode 100644 index 00000000..46c2d001 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/zap_stairs.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_planks.json b/src/main/resources/data/unicopia/recipes/waxed_zap_planks.json new file mode 100644 index 00000000..bea1a50b --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_planks.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_planks" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_planks" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_slab.json b/src/main/resources/data/unicopia/recipes/waxed_zap_slab.json new file mode 100644 index 00000000..69d86f99 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_slab.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_slab" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_slab" } +} diff --git a/src/main/resources/data/unicopia/recipes/waxed_zap_stairs.json b/src/main/resources/data/unicopia/recipes/waxed_zap_stairs.json new file mode 100644 index 00000000..5af35664 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/waxed_zap_stairs.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "unicopia:zap_stairs" }, + { "item": "minecraft:honeycomb" } + ], + "result": { "item": "unicopia:waxed_zap_stairs" } +} diff --git a/src/main/resources/data/unicopia/recipes/zap_planks.json b/src/main/resources/data/unicopia/recipes/zap_planks.json new file mode 100644 index 00000000..67667e65 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/zap_planks.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "group": "planks", + "ingredients": [ + { "tag": "unicopia:zap_logs" } + ], + "result": { + "item": "unicopia:zap_planks", + "count": 4 + } +} diff --git a/src/main/resources/data/unicopia/recipes/zap_slab.json b/src/main/resources/data/unicopia/recipes/zap_slab.json new file mode 100644 index 00000000..26e9f755 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/zap_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_slab", + "key": { + "#": { + "item": "unicopia:zap_planks" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "item": "unicopia:zap_slab" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/zap_stairs.json b/src/main/resources/data/unicopia/recipes/zap_stairs.json new file mode 100644 index 00000000..721f7fb1 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/zap_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_stairs", + "key": { + "#": { + "item": "unicopia:zap_planks" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "item": "unicopia:zap_stairs" + } +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/tags/items/zap_logs.json b/src/main/resources/data/unicopia/tags/items/zap_logs.json new file mode 100644 index 00000000..37a121dc --- /dev/null +++ b/src/main/resources/data/unicopia/tags/items/zap_logs.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "unicopia:zap_log", + "unicopia:zap_wood", + "unicopia:stripped_zap_log", + "unicopia:stripped_zap_wood" + ] +}