mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-30 16:28:00 +01:00
Merge branch 'Sollace:1.20.1' into 1.20.1
This commit is contained in:
commit
dd804c872e
172 changed files with 1923 additions and 216 deletions
BIN
assets/zap_planks.xcf
Normal file
BIN
assets/zap_planks.xcf
Normal file
Binary file not shown.
14
build.gradle
14
build.gradle
|
@ -44,6 +44,8 @@ repositories {
|
||||||
maven { name 'minelp-snapshot'; url 'https://repo.minelittlepony-mod.com/maven/snapshot' }
|
maven { name 'minelp-snapshot'; url 'https://repo.minelittlepony-mod.com/maven/snapshot' }
|
||||||
maven { name 'minelp-releases'; url 'https://repo.minelittlepony-mod.com/maven/release' }
|
maven { name 'minelp-releases'; url 'https://repo.minelittlepony-mod.com/maven/release' }
|
||||||
maven { name 'TerraformersMC'; url 'https://maven.terraformersmc.com/' }
|
maven { name 'TerraformersMC'; url 'https://maven.terraformersmc.com/' }
|
||||||
|
maven { name 'Modrinth'; url 'https://api.modrinth.com/maven' }
|
||||||
|
maven { name 'JitPack'; url 'https://jitpack.io'; content { includeGroup "com.github.Virtuoel" } }
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -72,17 +74,17 @@ dependencies {
|
||||||
modImplementation "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraformer_api_version}"
|
modImplementation "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraformer_api_version}"
|
||||||
include "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraformer_api_version}"
|
include "com.terraformersmc.terraform-api:terraform-wood-api-v1:${project.terraformer_api_version}"
|
||||||
|
|
||||||
|
modCompileOnly "maven.modrinth:farmers-delight-fabric:${project.farmers_delight_version}", { exclude group: "net.fabricmc.fabric-api" }
|
||||||
|
modCompileOnly "maven.modrinth:iris:${project.iris_version}", { exclude group: "net.fabricmc.fabric-api" }
|
||||||
|
modCompileOnly "maven.modrinth:sodium:${project.sodium_version}", { exclude group: "net.fabricmc.fabric-api" }
|
||||||
|
modCompileOnly "maven.modrinth:pehkui:${project.pehkui_version}", { exclude group: "net.fabricmc.fabric-api" }
|
||||||
|
modCompileOnly "com.github.Virtuoel:KanosConfig:0.4.1", { exclude group: "net.fabricmc.fabric-api" }
|
||||||
|
|
||||||
if (project.tmi_type == 'emi') {
|
if (project.tmi_type == 'emi') {
|
||||||
modCompileOnly "dev.emi:emi-fabric:${project.emi_version}"
|
modCompileOnly "dev.emi:emi-fabric:${project.emi_version}"
|
||||||
} else {
|
} else {
|
||||||
modCompileOnly "dev.emi:emi-fabric-dummy:${project.emi_version}"
|
modCompileOnly "dev.emi:emi-fabric-dummy:${project.emi_version}"
|
||||||
}
|
}
|
||||||
|
|
||||||
if (project.tmi_type == 'rei') {
|
|
||||||
// TODO:
|
|
||||||
} else {
|
|
||||||
// TODO:
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
|
|
@ -28,6 +28,12 @@ org.gradle.daemon=false
|
||||||
trinkets_version=3.7.1
|
trinkets_version=3.7.1
|
||||||
terraformer_api_version=7.0.0-beta.1
|
terraformer_api_version=7.0.0-beta.1
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
farmers_delight_version=1.4.3
|
||||||
|
pehkui_version=3.7.8+1.14.4-1.20.1
|
||||||
|
iris_version=1.6.8+1.20.1
|
||||||
|
sodium_version=mc1.20.1-0.5.2
|
||||||
|
|
||||||
# TMI Testing
|
# TMI Testing
|
||||||
tmi_type=emi
|
tmi_type=emi
|
||||||
emi_version=1.0.19+1.20.1
|
emi_version=1.0.19+1.20.1
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,15 @@ 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.ElectrifiedFenceBlock;
|
||||||
|
import com.minelittlepony.unicopia.block.zap.ElectrifiedFenceGateBlock;
|
||||||
|
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;
|
||||||
|
@ -28,6 +37,7 @@ import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
||||||
import com.minelittlepony.unicopia.server.world.UTreeGen;
|
import com.minelittlepony.unicopia.server.world.UTreeGen;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
|
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
|
||||||
|
import net.fabricmc.fabric.api.registry.OxidizableBlocksRegistry;
|
||||||
import net.fabricmc.fabric.api.registry.StrippableBlockRegistry;
|
import net.fabricmc.fabric.api.registry.StrippableBlockRegistry;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
|
@ -59,31 +69,47 @@ 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.getDefaultState(), 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.getDefaultState(), 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.getDefaultState(), 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.getDefaultState(), 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 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 ZAP_FENCE = register("zap_fence", new ElectrifiedFenceBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
|
||||||
|
Block ZAP_FENCE_GATE = register("zap_fence_gate", new ElectrifiedFenceGateBlock(Settings.create().mapColor(ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.ZAP), 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 SlabBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
|
||||||
|
Block WAXED_ZAP_FENCE = register("waxed_zap_fence", new FenceBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL)), ItemGroups.BUILDING_BLOCKS);
|
||||||
|
Block WAXED_ZAP_FENCE_GATE = register("waxed_zap_fence_gate", new FenceGateBlock(Settings.create().mapColor(WAXED_ZAP_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.ZAP), 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);
|
||||||
Block PALM_FENCE_GATE = register("palm_fence_gate", new FenceGateBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.PALM), ItemGroups.BUILDING_BLOCKS);
|
Block PALM_FENCE_GATE = register("palm_fence_gate", new FenceGateBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).strength(2, 3).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.NORMAL), UWoodTypes.PALM), ItemGroups.BUILDING_BLOCKS);
|
||||||
Block PALM_DOOR = register("palm_door", new DoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3.0f).nonOpaque().burnable().pistonBehavior(PistonBehavior.DESTROY), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL);
|
Block PALM_DOOR = register("palm_door", new DoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3.0f).nonOpaque().burnable().pistonBehavior(PistonBehavior.DESTROY), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL);
|
||||||
Block PALM_TRAPDOOR = register("palm_trapdoor", new TrapdoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3).nonOpaque().allowsSpawning(BlockConstructionUtils::never).burnable(), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL);
|
Block PALM_TRAPDOOR = register("palm_trapdoor", new TrapdoorBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).instrument(Instrument.BASS).strength(3).nonOpaque().allowsSpawning(BlockConstructionUtils::never).burnable(), UWoodTypes.PALM.setType()), ItemGroups.FUNCTIONAL);
|
||||||
Block PALM_PRESSURE_PLATE = register("palm_pressure_plate", new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).noCollision().strength(0.5f).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.DESTROY), BlockSetType.OAK), ItemGroups.BUILDING_BLOCKS);
|
Block PALM_PRESSURE_PLATE = register("palm_pressure_plate", new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).noCollision().strength(0.5f).sounds(BlockSoundGroup.WOOD).pistonBehavior(PistonBehavior.DESTROY), UWoodTypes.PALM.setType()), ItemGroups.BUILDING_BLOCKS);
|
||||||
Block PALM_BUTTON = register("palm_button", BlockConstructionUtils.woodenButton(), ItemGroups.BUILDING_BLOCKS);
|
Block PALM_BUTTON = register("palm_button", BlockConstructionUtils.woodenButton(), ItemGroups.BUILDING_BLOCKS);
|
||||||
Block PALM_SIGN = register("palm_sign", new SignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).burnable().sounds(BlockSoundGroup.WOOD), UWoodTypes.PALM), ItemGroups.FUNCTIONAL);
|
Block PALM_SIGN = register("palm_sign", new SignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).burnable().sounds(BlockSoundGroup.WOOD), UWoodTypes.PALM), ItemGroups.FUNCTIONAL);
|
||||||
Block PALM_WALL_SIGN = register("palm_wall_sign", new WallSignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).dropsLike(PALM_SIGN).burnable(), UWoodTypes.PALM));
|
Block PALM_WALL_SIGN = register("palm_wall_sign", new WallSignBlock(Settings.create().mapColor(PALM_PLANKS.getDefaultMapColor()).solid().instrument(Instrument.BASS).noCollision().strength(1).dropsLike(PALM_SIGN).burnable(), UWoodTypes.PALM));
|
||||||
|
@ -268,6 +294,15 @@ public interface UBlocks {
|
||||||
StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG);
|
StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG);
|
||||||
StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD);
|
StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD);
|
||||||
StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD);
|
StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD);
|
||||||
|
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_LOG, WAXED_ZAP_LOG);
|
||||||
|
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);
|
||||||
|
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_FENCE, WAXED_ZAP_FENCE);
|
||||||
|
OxidizableBlocksRegistry.registerWaxableBlockPair(ZAP_FENCE_GATE, WAXED_ZAP_FENCE_GATE);
|
||||||
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);
|
||||||
|
|
||||||
|
@ -276,14 +311,22 @@ public interface UBlocks {
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(SOUR_APPLE_LEAVES, 30, 60);
|
FlammableBlockRegistry.getDefaultInstance().add(SOUR_APPLE_LEAVES, 30, 60);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LEAVES, 60, 120);
|
FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LEAVES, 60, 120);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(MANGO_LEAVES, 30, 60);
|
FlammableBlockRegistry.getDefaultInstance().add(MANGO_LEAVES, 30, 60);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(PALM_LEAVES, 30, 60);
|
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(PALM_LOG, 5, 5);
|
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(PALM_WOOD, 5, 5);
|
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LOG, 15, 15);
|
FlammableBlockRegistry.getDefaultInstance().add(GOLDEN_OAK_LOG, 15, 15);
|
||||||
|
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_PLANKS, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_SLAB, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_FENCE_GATE, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_FENCE, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_STAIRS, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_LOG, 5, 5);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_LOG, 5, 5);
|
FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_LOG, 5, 5);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_WOOD, 5, 5);
|
FlammableBlockRegistry.getDefaultInstance().add(STRIPPED_PALM_WOOD, 5, 5);
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(PALM_PLANKS, 5, 20);
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_WOOD, 5, 5);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(PALM_LEAVES, 30, 60);
|
||||||
|
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(BANANAS, 5, 20);
|
FlammableBlockRegistry.getDefaultInstance().add(BANANAS, 5, 20);
|
||||||
|
FlammableBlockRegistry.getDefaultInstance().add(CURING_JOKE, 60, 100);
|
||||||
|
|
||||||
UBlockEntities.bootstrap();
|
UBlockEntities.bootstrap();
|
||||||
EdibleBlock.bootstrap();
|
EdibleBlock.bootstrap();
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -15,6 +15,7 @@ import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public interface UWoodTypes {
|
public interface UWoodTypes {
|
||||||
WoodType PALM = register("palm");
|
WoodType PALM = register("palm");
|
||||||
|
WoodType ZAP = register("zap");
|
||||||
WoodType GOLDEN_OAK = register("golden_oak");
|
WoodType GOLDEN_OAK = register("golden_oak");
|
||||||
RegistryKey<TerraformBoatType> PALM_BOAT_TYPE = TerraformBoatTypeRegistry.createKey(Unicopia.id("palm"));
|
RegistryKey<TerraformBoatType> PALM_BOAT_TYPE = TerraformBoatTypeRegistry.createKey(Unicopia.id("palm"));
|
||||||
|
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
package com.minelittlepony.unicopia.block;
|
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.entity.player.Pony;
|
|
||||||
import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect;
|
|
||||||
import com.minelittlepony.unicopia.particle.ParticleUtils;
|
|
||||||
import net.minecraft.block.*;
|
|
||||||
import net.minecraft.entity.EntityType;
|
|
||||||
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<Block, BlockState> builder) {
|
|
||||||
super.appendProperties(builder);
|
|
||||||
builder.add(NATURAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
|
||||||
return getDefaultState().with(NATURAL, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
|
||||||
triggerLightning(state, world, pos, player);
|
|
||||||
}
|
|
||||||
|
|
||||||
@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);
|
|
||||||
|
|
||||||
if (Pony.of(player).getCompositeRace().canUseEarth()) {
|
|
||||||
delta *= 50;
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
LightningEntity lightning = EntityType.LIGHTNING_BOLT.create(world);
|
|
||||||
world.getOtherEntities(null, Box.from(center).expand(7)).forEach(other -> {
|
|
||||||
float dist = (float)other.getPos().distanceTo(center);
|
|
||||||
if (dist < 4) {
|
|
||||||
other.onStruckByLightning(serverWorld, lightning);
|
|
||||||
} else {
|
|
||||||
float damage = 3 / dist;
|
|
||||||
if (damage > 1) {
|
|
||||||
other.damage(world.getDamageSources().lightningBolt(), damage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state));
|
|
||||||
ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, Vec3d.ofCenter(pos), Vec3d.ZERO);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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;
|
||||||
|
|
||||||
|
@ -13,11 +16,11 @@ import net.minecraft.util.math.*;
|
||||||
import net.minecraft.util.math.random.Random;
|
import net.minecraft.util.math.random.Random;
|
||||||
import net.minecraft.world.*;
|
import net.minecraft.world.*;
|
||||||
|
|
||||||
public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock {
|
public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock, ZapStagedBlock, ElectrifiedBlock {
|
||||||
|
|
||||||
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)
|
||||||
|
@ -77,7 +80,7 @@ public class BaseZapAppleLeavesBlock extends LeavesBlock implements TintedBlock,
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
ZapBlock.triggerLightning(state, world, pos, player);
|
triggerLightning(state, world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -0,0 +1,83 @@
|
||||||
|
package com.minelittlepony.unicopia.block.zap;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import com.minelittlepony.unicopia.entity.player.Pony;
|
||||||
|
import com.minelittlepony.unicopia.particle.LightningBoltParticleEffect;
|
||||||
|
import com.minelittlepony.unicopia.particle.ParticleUtils;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityType;
|
||||||
|
import net.minecraft.entity.ItemEntity;
|
||||||
|
import net.minecraft.entity.LightningEntity;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.Box;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
import net.minecraft.util.math.random.Random;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.event.GameEvent;
|
||||||
|
|
||||||
|
public interface ElectrifiedBlock {
|
||||||
|
|
||||||
|
default void spawnElectricalParticles(World world, BlockPos pos, Random random) {
|
||||||
|
world.addParticle(new LightningBoltParticleEffect(true, 10, 1, 0.6F, Optional.empty()),
|
||||||
|
pos.getX() + 0.5,
|
||||||
|
pos.getY() + 0.5,
|
||||||
|
pos.getZ() + 0.5,
|
||||||
|
0, 0, 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
default float getBlockBreakingDelta(float delta, PlayerEntity player) {
|
||||||
|
if (Pony.of(player).getCompositeRace().canUseEarth()) {
|
||||||
|
delta *= 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MathHelper.clamp(delta, 0, 0.9F);
|
||||||
|
}
|
||||||
|
|
||||||
|
default void triggerLightning(BlockState state, World world, BlockPos pos) {
|
||||||
|
Vec3d center = pos.toCenterPos();
|
||||||
|
if (world instanceof ServerWorld serverWorld) {
|
||||||
|
LightningEntity lightning = EntityType.LIGHTNING_BOLT.create(world);
|
||||||
|
world.getOtherEntities(null, Box.from(center).expand(7)).forEach(entity -> {
|
||||||
|
shockEntity(serverWorld, center, lightning, entity);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state));
|
||||||
|
ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, center, Vec3d.ZERO);
|
||||||
|
}
|
||||||
|
|
||||||
|
default void triggerLightning(BlockState state, World world, BlockPos pos, LivingEntity entity, boolean knockBack) {
|
||||||
|
Vec3d center = pos.toCenterPos();
|
||||||
|
if (world instanceof ServerWorld serverWorld) {
|
||||||
|
shockEntity(serverWorld, center, EntityType.LIGHTNING_BOLT.create(world), entity);
|
||||||
|
}
|
||||||
|
if (knockBack) {
|
||||||
|
Vec3d offset = center.subtract(entity.getPos());
|
||||||
|
entity.takeKnockback(0.8, offset.x, offset.z);
|
||||||
|
}
|
||||||
|
world.emitGameEvent(GameEvent.LIGHTNING_STRIKE, pos, GameEvent.Emitter.of(state));
|
||||||
|
ParticleUtils.spawnParticle(world, LightningBoltParticleEffect.DEFAULT, center, Vec3d.ZERO);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void shockEntity(ServerWorld serverWorld, Vec3d center, LightningEntity lightning, Entity entity) {
|
||||||
|
if (entity instanceof ItemEntity) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
float dist = (float)entity.getPos().distanceTo(center);
|
||||||
|
if (dist < 4) {
|
||||||
|
entity.onStruckByLightning(serverWorld, EntityType.LIGHTNING_BOLT.create(serverWorld));
|
||||||
|
} else {
|
||||||
|
float damage = 3 / dist;
|
||||||
|
if (damage > 1) {
|
||||||
|
entity.damage(entity.getDamageSources().lightningBolt(), damage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.minelittlepony.unicopia.block.zap;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.FenceBlock;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.random.Random;
|
||||||
|
import net.minecraft.world.BlockView;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class ElectrifiedFenceBlock extends FenceBlock implements ElectrifiedBlock {
|
||||||
|
|
||||||
|
public ElectrifiedFenceBlock(Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) {
|
||||||
|
super.randomDisplayTick(state, world, pos, random);
|
||||||
|
spawnElectricalParticles(world, pos, random);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
|
triggerLightning(state, world, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
|
||||||
|
return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) {
|
||||||
|
if (entity instanceof LivingEntity l && l.hurtTime == 0 && l.canTakeDamage()) {
|
||||||
|
triggerLightning(state, world, pos, l, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.minelittlepony.unicopia.block.zap;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockState;
|
||||||
|
import net.minecraft.block.FenceGateBlock;
|
||||||
|
import net.minecraft.block.WoodType;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.LivingEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.random.Random;
|
||||||
|
import net.minecraft.world.BlockView;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class ElectrifiedFenceGateBlock extends FenceGateBlock implements ElectrifiedBlock {
|
||||||
|
public ElectrifiedFenceGateBlock(Settings settings, WoodType type) {
|
||||||
|
super(settings, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) {
|
||||||
|
super.randomDisplayTick(state, world, pos, random);
|
||||||
|
if (!state.get(OPEN)) {
|
||||||
|
spawnElectricalParticles(world, pos, random);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
|
triggerLightning(state, world, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
|
||||||
|
return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) {
|
||||||
|
if (!state.get(OPEN) && entity instanceof LivingEntity l && l.hurtTime == 0 && l.canTakeDamage()) {
|
||||||
|
triggerLightning(state, world, pos, l, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
package com.minelittlepony.unicopia.block;
|
package com.minelittlepony.unicopia.block.zap;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.entity.player.Pony;
|
|
||||||
|
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.block.enums.Instrument;
|
import net.minecraft.block.enums.Instrument;
|
||||||
|
@ -13,12 +11,12 @@ 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;
|
||||||
|
|
||||||
public class ZapAppleLogBlock extends PillarBlock {
|
public class ZapAppleLogBlock extends PillarBlock implements ElectrifiedBlock {
|
||||||
public static final BooleanProperty NATURAL = ZapBlock.NATURAL;
|
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||||
|
|
||||||
private final Block artifialModelBlock;
|
private final BlockState artifialModelBlock;
|
||||||
|
|
||||||
ZapAppleLogBlock(Block artifialModelBlock, MapColor topMapColor, MapColor sideMapColor) {
|
public ZapAppleLogBlock(BlockState 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
|
||||||
)
|
)
|
||||||
|
@ -38,28 +36,22 @@ public class ZapAppleLogBlock extends PillarBlock {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
public BlockState getPlacementState(ItemPlacementContext ctx) {
|
||||||
return getDefaultState().with(NATURAL, false);
|
return super.getPlacementState(ctx).with(NATURAL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
ZapBlock.triggerLightning(state, world, pos, player);
|
triggerLightning(state, world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@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)) {
|
if (!state.get(NATURAL)) {
|
||||||
return artifialModelBlock.calcBlockBreakingDelta(artifialModelBlock.getDefaultState(), player, world, pos);
|
return artifialModelBlock.calcBlockBreakingDelta(player, world, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
float delta = super.calcBlockBreakingDelta(state, player, world, pos);
|
return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
|
||||||
|
|
||||||
if (Pony.of(player).getCompositeRace().canUseEarth()) {
|
|
||||||
delta *= 50;
|
|
||||||
}
|
|
||||||
|
|
||||||
return MathHelper.clamp(delta, 0, 0.9F);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.minelittlepony.unicopia.block.zap;
|
||||||
|
|
||||||
|
import net.minecraft.block.*;
|
||||||
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.util.math.*;
|
||||||
|
import net.minecraft.world.BlockView;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class ZapBlock extends Block implements ElectrifiedBlock {
|
||||||
|
public ZapBlock(Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
|
triggerLightning(state, world, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
|
||||||
|
return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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 implements ElectrifiedBlock {
|
||||||
|
public ZapSlabBlock(Settings settings) {
|
||||||
|
super(settings);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) {
|
||||||
|
triggerLightning(state, world, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public float calcBlockBreakingDelta(BlockState state, PlayerEntity player, BlockView world, BlockPos pos) {
|
||||||
|
return getBlockBreakingDelta(super.calcBlockBreakingDelta(state, player, world, pos), player);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,7 +27,6 @@ import dev.emi.emi.api.render.EmiTexture;
|
||||||
import dev.emi.emi.api.stack.Comparison;
|
import dev.emi.emi.api.stack.Comparison;
|
||||||
import dev.emi.emi.api.stack.EmiStack;
|
import dev.emi.emi.api.stack.EmiStack;
|
||||||
import dev.emi.emi.recipe.EmiStonecuttingRecipe;
|
import dev.emi.emi.recipe.EmiStonecuttingRecipe;
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
|
@ -121,11 +120,11 @@ public class Main implements EmiPlugin {
|
||||||
GROWING_CATEGORY,
|
GROWING_CATEGORY,
|
||||||
recipe.getId(),
|
recipe.getId(),
|
||||||
new Schematic.Builder()
|
new Schematic.Builder()
|
||||||
.fill(0, 0, 0, 6, 0, 6, Block.getBlockFromItem(recipe.getCatalyst().getItem()).getDefaultState())
|
.fill(0, 0, 0, 6, 0, 6, recipe.getCatalystState())
|
||||||
.set(3, 0, 3, Blocks.FARMLAND.getDefaultState())
|
.set(3, 0, 3, Blocks.FARMLAND.getDefaultState())
|
||||||
.set(3, 1, 3, Block.getBlockFromItem(recipe.getTargetAsItem().getItem()).getDefaultState())
|
.set(3, 1, 3, recipe.getTargetState())
|
||||||
.build(),
|
.build(),
|
||||||
List.of(EmiStack.of(recipe.getTargetAsItem()), EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.AREA)),
|
List.of(EmiStack.of(recipe.getTarget()), EmiStack.of(recipe.getCatalyst(), TransformCropsRecipe.AREA)),
|
||||||
EmiStack.of(recipe.getOutput()),
|
EmiStack.of(recipe.getOutput()),
|
||||||
Unicopia.id("textures/gui/ability/grow.png")
|
Unicopia.id("textures/gui/ability/grow.png")
|
||||||
));
|
));
|
||||||
|
|
|
@ -48,7 +48,15 @@ public class TransformCropsRecipe implements Recipe<TransformCropsRecipe.Placeme
|
||||||
this.catalyst = catalyst;
|
this.catalyst = catalyst;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getTargetAsItem() {
|
public BlockState getCatalystState() {
|
||||||
|
return catalyst;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlockState getTargetState() {
|
||||||
|
return target.getDefaultState();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemStack getTarget() {
|
||||||
return target.asItem().getDefaultStack();
|
return target.asItem().getDefaultStack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"axis=x": {
|
||||||
|
"model": "unicopia:block/stripped_zap_log_horizontal",
|
||||||
|
"x": 90,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"axis=y": {
|
||||||
|
"model": "unicopia:block/stripped_zap_log"
|
||||||
|
},
|
||||||
|
"axis=z": {
|
||||||
|
"model": "unicopia:block/stripped_zap_log_horizontal",
|
||||||
|
"x": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "unicopia:block/stripped_zap_wood"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_post"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"north": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"east": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"south": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"west": "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,80 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=east,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"axis=x": {
|
||||||
|
"model": "unicopia:block/zap_log_horizontal",
|
||||||
|
"x": 90,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"axis=y": {
|
||||||
|
"model": "unicopia:block/zap_log"
|
||||||
|
},
|
||||||
|
"axis=z": {
|
||||||
|
"model": "unicopia:block/zap_log_horizontal",
|
||||||
|
"x": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "unicopia:block/zap_wood"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"multipart": [
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_post"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"north": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"east": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"south": "true"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"apply": {
|
||||||
|
"model": "unicopia:block/zap_fence_side",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"when": {
|
||||||
|
"west": "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,80 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"facing=east,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=east,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 270
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=north,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 180
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=south,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=false,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=false,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=true,open=false": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
},
|
||||||
|
"facing=west,in_wall=true,open=true": {
|
||||||
|
"model": "unicopia:block/zap_fence_gate_wall_open",
|
||||||
|
"uvlock": true,
|
||||||
|
"y": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
13
src/main/resources/assets/unicopia/blockstates/zap_slab.json
Normal file
13
src/main/resources/assets/unicopia/blockstates/zap_slab.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
209
src/main/resources/assets/unicopia/blockstates/zap_stairs.json
Normal file
209
src/main/resources/assets/unicopia/blockstates/zap_stairs.json
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -232,6 +232,20 @@
|
||||||
"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.zap_fence": "Zap Apple Fence",
|
||||||
|
"block.unicopia.zap_fence_gate": "Zap Apple Fence Gate",
|
||||||
|
"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.waxed_zap_fence": "Waxed Zap Apple Fence",
|
||||||
|
"block.unicopia.waxed_zap_fence_gate": "Waxed Zap Apple Fence Gate",
|
||||||
"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",
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_fence_gate",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_fence_gate_open",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_fence_gate_wall",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/template_fence_gate_wall_open",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/fence_inventory",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/fence_post",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/fence_side",
|
||||||
|
"textures": {
|
||||||
|
"texture": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/slab",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:block/zap_planks",
|
||||||
|
"side": "unicopia:block/zap_planks",
|
||||||
|
"top": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:block/zap_planks",
|
||||||
|
"side": "unicopia:block/zap_planks",
|
||||||
|
"top": "unicopia:block/zap_planks"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/stripped_zap_log"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/stripped_zap_wood"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_fence_inventory"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_fence_gate"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_log"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_planks"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_slab"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_stairs"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_wood"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_fence_inventory"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_fence_gate"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_planks"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_slab"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/zap_stairs"
|
||||||
|
}
|
BIN
src/main/resources/assets/unicopia/textures/block/zap_planks.png
Normal file
BIN
src/main/resources/assets/unicopia/textures/block/zap_planks.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
|
@ -9,6 +9,10 @@
|
||||||
"unicopia:zap_log",
|
"unicopia:zap_log",
|
||||||
"unicopia:zap_wood",
|
"unicopia:zap_wood",
|
||||||
"unicopia:stripped_zap_log",
|
"unicopia:stripped_zap_log",
|
||||||
"unicopia:stripped_zap_wood"
|
"unicopia:stripped_zap_wood",
|
||||||
|
"unicopia:waxed_zap_log",
|
||||||
|
"unicopia:waxed_zap_wood",
|
||||||
|
"unicopia:waxed_stripped_zap_log",
|
||||||
|
"unicopia:waxed_stripped_zap_wood"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
"unicopia:palm_wood",
|
"unicopia:palm_wood",
|
||||||
"unicopia:golden_oak_log",
|
"unicopia:golden_oak_log",
|
||||||
"unicopia:stripped_palm_log",
|
"unicopia:stripped_palm_log",
|
||||||
"unicopia:stripped_palm_wood"
|
"unicopia:stripped_palm_wood",
|
||||||
|
"unicopia:waxed_zap_log",
|
||||||
|
"unicopia:waxed_zap_wood",
|
||||||
|
"unicopia:waxed_stripped_zap_log",
|
||||||
|
"unicopia:waxed_stripped_zap_wood"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_planks"
|
"unicopia:palm_planks",
|
||||||
|
"unicopia:zap_planks"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_fence_gate"
|
"unicopia:palm_fence_gate",
|
||||||
|
"unicopia:zap_fence_gate",
|
||||||
|
"unicopia:waxed_zap_fence_gate"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_fence"
|
"unicopia:palm_fence",
|
||||||
|
"unicopia:zap_fence",
|
||||||
|
"unicopia:waxed_zap_fence"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_slab"
|
"unicopia:palm_slab",
|
||||||
|
"unicopia:zap_slab",
|
||||||
|
"unicopia:waxed_zap_slab"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_stairs"
|
"unicopia:palm_stairs",
|
||||||
|
"unicopia:zap_stairs",
|
||||||
|
"unicopia:waxed_zap_stairs"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_fence_gate"
|
"unicopia:palm_fence_gate",
|
||||||
|
"unicopia:zap_fence_gate",
|
||||||
|
"unicopia:waxed_zap_fence_gate"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -8,6 +8,10 @@
|
||||||
"unicopia:zap_log",
|
"unicopia:zap_log",
|
||||||
"unicopia:zap_wood",
|
"unicopia:zap_wood",
|
||||||
"unicopia:stripped_zap_log",
|
"unicopia:stripped_zap_log",
|
||||||
"unicopia:stripped_zap_wood"
|
"unicopia:stripped_zap_wood",
|
||||||
|
"unicopia:waxed_zap_log",
|
||||||
|
"unicopia:waxed_zap_wood",
|
||||||
|
"unicopia:waxed_stripped_zap_log",
|
||||||
|
"unicopia:waxed_stripped_zap_wood"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
"unicopia:zap_log",
|
"unicopia:zap_log",
|
||||||
"unicopia:zap_wood",
|
"unicopia:zap_wood",
|
||||||
"unicopia:stripped_zap_log",
|
"unicopia:stripped_zap_log",
|
||||||
"unicopia:stripped_zap_wood"
|
"unicopia:stripped_zap_wood",
|
||||||
|
"unicopia:waxed_zap_log",
|
||||||
|
"unicopia:waxed_zap_wood",
|
||||||
|
"unicopia:waxed_stripped_zap_log",
|
||||||
|
"unicopia:waxed_stripped_zap_wood"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_planks"
|
"unicopia:palm_planks",
|
||||||
|
"unicopia:zap_planks"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_fence"
|
"unicopia:palm_fence",
|
||||||
|
"unicopia:zap_fence",
|
||||||
|
"unicopia:waxed_zap_fence"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_slab"
|
"unicopia:palm_slab",
|
||||||
|
"unicopia:zap_slab",
|
||||||
|
"unicopia:waxed_zap_slab"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"unicopia:palm_stairs"
|
"unicopia:palm_stairs",
|
||||||
|
"unicopia:zap_stairs",
|
||||||
|
"unicopia:waxed_zap_stairs"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/chiselled_chitin"
|
"unicopia:chiselled_chitin"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/chiselled_chitin"
|
"recipe": "unicopia:chiselled_chitin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/chiselled_chitin_hull"
|
"unicopia:chiselled_chitin_hull"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/chiselled_chitin_hull"
|
"recipe": "unicopia:chiselled_chitin_hull"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/chiselled_chitin_slab"
|
"unicopia:chiselled_chitin_slab"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/chiselled_chitin_slab"
|
"recipe": "unicopia:chiselled_chitin_slab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/chiselled_chitin_stairs"
|
"unicopia:chiselled_chitin_stairs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/chiselled_chitin_stairs"
|
"recipe": "unicopia:chiselled_chitin_stairs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/chitin_spikes"
|
"unicopia:chitin_spikes"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/chitin_spikes"
|
"recipe": "unicopia:chitin_spikes"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_brick_slab"
|
"unicopia:cloud_brick_slab"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_brick_slab"
|
"recipe": "unicopia:cloud_brick_slab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_brick_stairs"
|
"unicopia:cloud_brick_stairs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_brick_stairs"
|
"recipe": "unicopia:cloud_brick_stairs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_pillar"
|
"unicopia:cloud_pillar"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_pillar"
|
"recipe": "unicopia:cloud_pillar"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_plank_slab"
|
"unicopia:cloud_plank_slab"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_plank_slab"
|
"recipe": "unicopia:cloud_plank_slab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_plank_stairs"
|
"unicopia:cloud_plank_stairs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_plank_stairs"
|
"recipe": "unicopia:cloud_plank_stairs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_planks"
|
"unicopia:cloud_planks"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_planks"
|
"recipe": "unicopia:cloud_planks"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_slab"
|
"unicopia:cloud_slab"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_slab"
|
"recipe": "unicopia:cloud_slab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/cloud_stairs"
|
"unicopia:cloud_stairs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/cloud_stairs"
|
"recipe": "unicopia:cloud_stairs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/dense_cloud"
|
"unicopia:dense_cloud"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/dense_cloud"
|
"recipe": "unicopia:dense_cloud"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/dense_cloud_slab"
|
"unicopia:dense_cloud_slab"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/dense_cloud_slab"
|
"recipe": "unicopia:dense_cloud_slab"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"parent": "minecraft:recipes/root",
|
"parent": "minecraft:recipes/root",
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"recipes": [
|
"recipes": [
|
||||||
"unicopia:blocks/dense_cloud_stairs"
|
"unicopia:dense_cloud_stairs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"criteria": {
|
"criteria": {
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"has_the_recipe": {
|
"has_the_recipe": {
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"recipe": "unicopia:blocks/dense_cloud_stairs"
|
"recipe": "unicopia:dense_cloud_stairs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -38,6 +38,25 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "unicopia:flowering_zap_leaves"
|
"name": "unicopia:flowering_zap_leaves"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chances": [
|
||||||
|
0.05,
|
||||||
|
0.0625,
|
||||||
|
0.083333336,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
"condition": "minecraft:table_bonus",
|
||||||
|
"enchantment": "minecraft:fortune"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "unicopia:zapling"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
{
|
{
|
||||||
"type": "minecraft:block",
|
"type": "minecraft:block",
|
||||||
|
"fabric:load_conditions": [
|
||||||
|
{
|
||||||
|
"condition": "fabric:all_mods_loaded",
|
||||||
|
"values": [
|
||||||
|
"farmersdelight"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"pools": [
|
"pools": [
|
||||||
{
|
{
|
||||||
"bonus_rolls": 0.0,
|
"bonus_rolls": 0.0,
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
{
|
{
|
||||||
"type": "minecraft:block",
|
"type": "minecraft:block",
|
||||||
|
"fabric:load_conditions": [
|
||||||
|
{
|
||||||
|
"condition": "fabric:all_mods_loaded",
|
||||||
|
"values": [
|
||||||
|
"farmersdelight"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
"pools": [
|
"pools": [
|
||||||
{
|
{
|
||||||
"bonus_rolls": 0.0,
|
"bonus_rolls": 0.0,
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1.0,
|
||||||
|
"bonus_rolls": 0.0,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "unicopia:stripped_zap_log"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1.0,
|
||||||
|
"bonus_rolls": 0.0,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "unicopia:stripped_zap_wood"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue