diff --git a/build.gradle.kts b/build.gradle.kts index 52314c02a..17af623ac 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,11 +47,6 @@ repositories { url = uri("https://maven.terraformersmc.com/releases/") } - //maven { - // name = "Ladysnake" - // url = uri("https://ladysnake.jfrog.io/artifactory/mods") - //} - maven { name = "Shedaniel" url = uri("https://maven.shedaniel.me/") diff --git a/src/main/java/net/id/paradiselost/ParadiseLost.java b/src/main/java/net/id/paradiselost/ParadiseLost.java index 1885374c9..3d0fb406d 100644 --- a/src/main/java/net/id/paradiselost/ParadiseLost.java +++ b/src/main/java/net/id/paradiselost/ParadiseLost.java @@ -34,7 +34,6 @@ import net.id.paradiselost.world.dimension.ParadiseLostDimension; import net.id.paradiselost.world.feature.ParadiseLostFeatures; import net.id.paradiselost.world.gen.carver.ParadiseLostCarvers; -import net.minecraft.server.MinecraftServer; import net.minecraft.util.Identifier; import org.slf4j.Logger; diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java index 7884c5932..51293977c 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java @@ -5,21 +5,10 @@ import net.id.incubus_core.woodtypefactory.api.chest.ChestFactory; import net.id.paradiselost.ParadiseLost; import net.id.paradiselost.blocks.decorative.*; -import net.id.paradiselost.blocks.mechanical.CherineCampfireBlock; -import net.id.paradiselost.blocks.mechanical.FoodBowlBlock; -import net.id.paradiselost.blocks.mechanical.FourBiteCakeBlock; -import net.id.paradiselost.blocks.mechanical.IncubatorBlock; -import net.id.paradiselost.blocks.natural.ParadiseLostGrassBlock; -import net.id.paradiselost.blocks.natural.ParadiseLostSaplingBlock; -import net.id.paradiselost.blocks.natural.ParadiseLostSnowyBlock; -import net.id.paradiselost.blocks.natural.cloud.ParadiseLostCloudBlock; -import net.id.paradiselost.blocks.natural.cloud.BlueParadiseLostCloudBlock; -import net.id.paradiselost.blocks.natural.cloud.GoldenParadiseLostCloudBlock; -import net.id.paradiselost.blocks.natural.cloud.PinkParadiseLostCloudBlock; -import net.id.paradiselost.blocks.natural.crop.AmadrysCropBlock; -import net.id.paradiselost.blocks.natural.crop.BlackcurrantBushBlock; -import net.id.paradiselost.blocks.natural.crop.FlaxCropBlock; -import net.id.paradiselost.blocks.natural.crop.SwedrootCropBlock; +import net.id.paradiselost.blocks.mechanical.*; +import net.id.paradiselost.blocks.natural.*; +import net.id.paradiselost.blocks.natural.cloud.*; +import net.id.paradiselost.blocks.natural.crop.*; import net.id.paradiselost.blocks.natural.plant.*; import net.id.paradiselost.blocks.natural.tree.*; import net.id.paradiselost.fluids.ParadiseLostFluids; @@ -125,6 +114,7 @@ private static Settings floestoneBrick() { } public static final Block FLOESTONE_BRICK = add("floestone_brick", new Block(floestoneBrick())); + public static final Block CHISELED_FLOESTONE = add("chiseled_floestone", new Block(floestoneBrick())); public static final SlabBlock FLOESTONE_BRICK_SLAB = add("floestone_brick_slab", new SlabBlock(floestoneBrick())); public static final ParadiseLostStairsBlock FLOESTONE_BRICK_STAIRS = add("floestone_brick_stairs", new ParadiseLostStairsBlock(FLOESTONE_BRICK.getDefaultState(), floestoneBrick())); public static final WallBlock FLOESTONE_BRICK_WALL = add("floestone_brick_wall", new WallBlock(floestoneBrick())); @@ -361,9 +351,13 @@ private static Settings flower() { // Ores public static final OreBlock CHERINE_ORE = add("cherine_ore", new OreBlock(of(Material.STONE).requiresTool().strength(3f), UniformIntProvider.create(0, 2))); - public static final OreBlock OLVITE_ORE = add("olvite_ore", new OreBlock(of(Material.STONE).requiresTool().strength(3f), UniformIntProvider.create(0, 2))); + public static final OreBlock OLVITE_ORE = add("olvite_ore", new OreBlock(of(Material.STONE).requiresTool().strength(3f), UniformIntProvider.create(1, 3))); + public static final OreBlock SURTRUM = add("surtrum", new SurtrumOreBlock(of(Material.STONE).sounds(BlockSoundGroup.NETHER_GOLD_ORE).requiresTool().strength(9f, 20f), UniformIntProvider.create(2, 5))); + public static final Block METAMORPHIC_SHELL = add("metamorphic_shell", new Block(of(Material.STONE).sounds(BlockSoundGroup.TUFF).requiresTool().strength(40f, 15f))); + public static final PoofBlock SURTRUM_AIR = add("surtrum_air", new PoofBlock(of(Material.FIRE).sounds(BlockSoundGroup.NETHER_GOLD_ORE))); public static final Block CHERINE_BLOCK = add("cherine_block", new Block(of(Material.METAL).requiresTool().strength(3f, -1f).sounds(BlockSoundGroup.STONE))); public static final Block OLVITE_BLOCK = add("olvite_block", new Block(of(Material.METAL).requiresTool().strength(3f, -1f).sounds(BlockSoundGroup.METAL))); + public static final FloatingBlock REFINED_SURTRUM_BLOCK = add("refined_surtrum_block", new FloatingBlock(false, of(Material.METAL).requiresTool().strength(4f, -1f).sounds(BlockSoundGroup.METAL))); // Misc public static final FloatingBlock LEVITATOR = add("levitator", new FloatingBlock(true, of(Material.WOOD).strength(3f, 3f).sounds(BlockSoundGroup.WOOD))); public static final ChainBlock OLVITE_CHAIN = add("olvite_chain", new ChainBlock(copy(CHAIN)), cutoutMippedRenderLayer); diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostPortalBlock.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostPortalBlock.java index 09ec16bb9..0d6bf79eb 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostPortalBlock.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostPortalBlock.java @@ -8,7 +8,6 @@ import net.kyrptonaught.customportalapi.interfaces.EntityInCustomPortal; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.particle.ParticleTypes; import net.minecraft.sound.SoundCategory; diff --git a/src/main/java/net/id/paradiselost/blocks/natural/PoofBlock.java b/src/main/java/net/id/paradiselost/blocks/natural/PoofBlock.java new file mode 100644 index 000000000..2ab983a9c --- /dev/null +++ b/src/main/java/net/id/paradiselost/blocks/natural/PoofBlock.java @@ -0,0 +1,59 @@ +package net.id.paradiselost.blocks.natural; + +import net.id.paradiselost.util.ParadiseLostSoundEvents; +import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.block.ShapeContext; +import net.minecraft.entity.Entity; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.SoundCategory; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Box; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.random.Random; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldAccess; + +import java.util.List; + +public class PoofBlock extends Block { + public PoofBlock(Settings settings) { + super(settings); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + Random rand = world.getRandom(); + if (neighborState.isAir()) { + for (int i = 0; i < 4; i++) { + world.addParticle(ParticleTypes.CAMPFIRE_COSY_SMOKE, pos.getX(), pos.getY(), pos.getZ(), rand.nextFloat() * 0.5, rand.nextFloat() * 0.5, rand.nextFloat() * 0.5); + } + if (rand.nextBoolean()) world.playSound(null, pos, ParadiseLostSoundEvents.BLOCK_SURTRUM_RUSH, SoundCategory.BLOCKS, 0.1F + rand.nextFloat() * 0.2F, rand.nextFloat() * 0.7F + 0.3F); + List entities = world.getNonSpectatingEntities(Entity.class, new Box(pos.getX() - 5, pos.getY() - 5, pos.getZ() - 5, pos.getX() + 5, pos.getY() + 5, pos.getZ() + 5)); + for (Entity p : entities) { + if (p != null && p.isAlive() && p.getBlockPos().isWithinDistance(pos, 5)) p.setFireTicks(60); + } + return Blocks.AIR.getDefaultState(); + } + return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); + } + + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + if (random.nextInt(48) == 0) { + world.playSound((double) pos.getX() + 0.5, (double) pos.getY() + 0.5, (double) pos.getZ() + 0.5, ParadiseLostSoundEvents.BLOCK_SURTRUM_CRACKLE, SoundCategory.BLOCKS, 1.0F + random.nextFloat(), random.nextFloat() * 0.7F + 0.3F, false); + } + } + + public BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.INVISIBLE; + } + + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return VoxelShapes.empty(); + } +} diff --git a/src/main/java/net/id/paradiselost/blocks/natural/SurtrumOreBlock.java b/src/main/java/net/id/paradiselost/blocks/natural/SurtrumOreBlock.java new file mode 100644 index 000000000..b83b48f12 --- /dev/null +++ b/src/main/java/net/id/paradiselost/blocks/natural/SurtrumOreBlock.java @@ -0,0 +1,31 @@ +package net.id.paradiselost.blocks.natural; + +import net.minecraft.block.BlockState; +import net.minecraft.block.OreBlock; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.intprovider.IntProvider; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.World; + +public class SurtrumOreBlock extends OreBlock { + public SurtrumOreBlock(Settings settings, IntProvider experience) { + super(settings, experience); + } + + @Override + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + if (random.nextInt(3) == 0) { + double d2 = (double) pos.getX() + random.nextDouble(); + double e2 = (double) pos.getY() + random.nextDouble() * 0.5 + 0.5; + double f2 = (double) pos.getZ() + random.nextDouble(); + world.addParticle(ParticleTypes.LARGE_SMOKE, d2, e2, f2, 0.0, 0.0, 0.0); + } + if (random.nextBoolean()) { + double d2 = (double) pos.getX() + random.nextDouble(); + double e2 = (double) pos.getY() + random.nextDouble() * 0.5 + 0.5; + double f2 = (double) pos.getZ() + random.nextDouble(); + world.addParticle(ParticleTypes.SMOKE, d2, e2, f2, 0.0, 0.0, 0.0); + } + } +} diff --git a/src/main/java/net/id/paradiselost/client/rendering/ui/BloodstoneHUDRenderer.java b/src/main/java/net/id/paradiselost/client/rendering/ui/BloodstoneHUDRenderer.java index ed56beccc..04e7952d2 100644 --- a/src/main/java/net/id/paradiselost/client/rendering/ui/BloodstoneHUDRenderer.java +++ b/src/main/java/net/id/paradiselost/client/rendering/ui/BloodstoneHUDRenderer.java @@ -44,7 +44,7 @@ public static void render(MatrixStack matrixStack, float delta) { renderCherine(matrixStack, client, capturedData); } else if (stack.getItem() instanceof OlviteBloodstoneItem) { renderOlvite(matrixStack, client, capturedData); - } else if (stack.getItem() instanceof GravititeBloodstoneItem) { + } else if (stack.getItem() instanceof SurtrumBloodstoneItem) { renderGravitite(matrixStack, client, capturedData); } else if (stack.getItem() instanceof AbstentineBloodstoneItem) { renderAbstentine(matrixStack, client, capturedData); diff --git a/src/main/java/net/id/paradiselost/config/ModMenuConfig.java b/src/main/java/net/id/paradiselost/config/ModMenuConfig.java index 4a0496556..ae28da1d1 100644 --- a/src/main/java/net/id/paradiselost/config/ModMenuConfig.java +++ b/src/main/java/net/id/paradiselost/config/ModMenuConfig.java @@ -14,4 +14,4 @@ public ConfigScreenFactory getModConfigScreenFactory() { return parent -> AutoConfig.getConfigScreen(ParadiseLostConfig.class, parent).get(); } -} \ No newline at end of file +} diff --git a/src/main/java/net/id/paradiselost/config/ParadiseLostConfig.java b/src/main/java/net/id/paradiselost/config/ParadiseLostConfig.java index 14d3ff8c1..afba66c9e 100644 --- a/src/main/java/net/id/paradiselost/config/ParadiseLostConfig.java +++ b/src/main/java/net/id/paradiselost/config/ParadiseLostConfig.java @@ -3,14 +3,10 @@ import me.shedaniel.autoconfig.*; import me.shedaniel.autoconfig.annotation.*; import me.shedaniel.autoconfig.serializer.JanksonConfigSerializer; -import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.*; import net.minecraft.block.Block; -import net.minecraft.block.Blocks; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; -import java.util.*; - @Config(name = "Paradise_Lost") public class ParadiseLostConfig implements ConfigData { diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index 0da92870e..90579e92b 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -15,8 +15,10 @@ import net.id.paradiselost.items.tools.ParadiseLostToolMaterials; import net.id.paradiselost.items.tools.AurelBucketItem; import net.id.paradiselost.items.tools.VialItem; +import net.id.paradiselost.items.tools.base_tools.*; import net.id.paradiselost.items.tools.bloodstone.AbstentineBloodstoneItem; import net.id.paradiselost.items.tools.bloodstone.CherineBloodstoneItem; +import net.id.paradiselost.items.tools.bloodstone.SurtrumBloodstoneItem; import net.id.paradiselost.items.tools.bloodstone.OlviteBloodstoneItem; import net.id.paradiselost.items.utils.ParadiseLostRarity; import net.id.paradiselost.registry.ParadiseLostRegistryQueues; @@ -61,6 +63,8 @@ private static FabricItemSettings resource() { public static final Item CHERINE = add("cherine", new Item(resource), fuel(500)); public static final Item OLVITE = add("olvite", new Item(resource)); public static final Item OLVITE_NUGGET = add("olvite_nugget", new Item(resource)); + public static final Item REFINED_SURTRUM = add("refined_surtrum", new Item(resource)); + public static final Item RAW_SURTRUM = add("raw_surtrum", new Item(resource)); public static final Item FLAX_THREAD = add("flax_thread", new Item(resource)); public static final Item FLAXWEAVE = add("flaxweave", new Item(resource)); public static final Item SWEDROOT_PULP = add("swedroot_pulp", new Item(resource), compostable30); @@ -75,25 +79,34 @@ private static Settings tool() { private static final Settings paradiseLostLootTool = tool().rarity(ParadiseLostRarity.PARADISE_LOST_LOOT); private static final Settings unstackableTool = tool().maxCount(1); private static final Settings unstackableRareTool = tool().maxCount(1).rarity(RARE); + // Olvite public static final ShovelItem OLVITE_SHOVEL = add("olvite_shovel", new ShovelItem(ParadiseLostToolMaterials.OLVITE, 1.5f, -3f, tool())); public static final PickaxeItem OLVITE_PICKAXE = add("olvite_pickaxe", new PickaxeItem(ParadiseLostToolMaterials.OLVITE, 1, -2.8f, tool())); public static final AxeItem OLVITE_AXE = add("olvite_axe", new AxeItem(ParadiseLostToolMaterials.OLVITE, 6f, -3.1f, tool())); public static final SwordItem OLVITE_SWORD = add("olvite_sword", new SwordItem(ParadiseLostToolMaterials.OLVITE, 3, -2.4f, tool())); - public static final HoeItem OLVITE_HOE = add("olvite_hoe", new ParadiseLostHoeItem(ParadiseLostToolMaterials.OLVITE, 1, 3f, tool())); + public static final HoeItem OLVITE_HOE = add("olvite_hoe", new ParadiseLostHoeItem(ParadiseLostToolMaterials.OLVITE, -2, -1f, tool())); + + // Surtrum + public static final GravityShovelItem SURTRUM_SHOVEL = add("surtrum_shovel", new GravityShovelItem(ParadiseLostToolMaterials.SURTRUM, 2.5f, -3f, tool())); + public static final GravityPickaxeItem SURTRUM_PICKAXE = add("surtrum_pickaxe", new GravityPickaxeItem(ParadiseLostToolMaterials.SURTRUM, 2, -2.8f, tool())); + public static final GravityAxeItem SURTRUM_AXE = add("surtrum_axe", new GravityAxeItem(ParadiseLostToolMaterials.SURTRUM, 6f, -3.1f, tool())); + public static final SwordItem SURTRUM_SWORD = add("surtrum_sword", new SwordItem(ParadiseLostToolMaterials.SURTRUM, 4, -2.4f, tool())); + public static final GravityHoeItem SURTRUM_HOE = add("surtrum_hoe", new GravityHoeItem(ParadiseLostToolMaterials.SURTRUM, -3, 0f, tool())); // Glazed Gold public static final ShovelItem GLAZED_GOLD_SHOVEL = add("glazed_gold_shovel", new ShovelItem(ParadiseLostToolMaterials.GLAZED_GOLD, 1.5f, -3f, tool())); public static final PickaxeItem GLAZED_GOLD_PICKAXE = add("glazed_gold_pickaxe", new PickaxeItem(ParadiseLostToolMaterials.GLAZED_GOLD, 1, -2.8f, tool())); public static final AxeItem GLAZED_GOLD_AXE = add("glazed_gold_axe", new AxeItem(ParadiseLostToolMaterials.GLAZED_GOLD, 6f, -3.0f, tool())); public static final SwordItem GLAZED_GOLD_SWORD = add("glazed_gold_sword", new SwordItem(ParadiseLostToolMaterials.GLAZED_GOLD, 3, -2.4f, tool())); - public static final HoeItem GLAZED_GOLD_HOE = add("glazed_gold_hoe", new ParadiseLostHoeItem(ParadiseLostToolMaterials.GLAZED_GOLD, 0, -3.0f, tool())); + public static final HoeItem GLAZED_GOLD_HOE = add("glazed_gold_hoe", new ParadiseLostHoeItem(ParadiseLostToolMaterials.GLAZED_GOLD, -2, -2.0f, tool())); public static final TrinketItem CLOUD_PARACHUTE = add("cold_parachute", new ParachuteTrinketItem(unstackableTool, "cloud_parachute")); public static final TrinketItem GOLDEN_CLOUD_PARACHUTE = add("golden_parachute", new ParachuteTrinketItem(tool().maxCount(1).maxDamage(20), "golden_parachute")); public static final CherineBloodstoneItem CHERINE_BLOODSTONE = add("cherine_bloodstone", new CherineBloodstoneItem(unstackableTool)); public static final OlviteBloodstoneItem OLVITE_BLOODSTONE = add("olvite_bloodstone", new OlviteBloodstoneItem(unstackableTool)); + public static final SurtrumBloodstoneItem SURTRUM_BLOODSTONE = add("surtrum_bloodstone", new SurtrumBloodstoneItem(unstackableTool)); public static final AbstentineBloodstoneItem ABSTENTINE_BLOODSTONE = add("abstentine_bloodstone", new AbstentineBloodstoneItem(unstackableTool)); public static final Item GLAZED_GOLD_UPGRADE = add("glazed_gold_upgrade_smithing_template", new Item(tool())); @@ -105,17 +118,26 @@ private static Settings wearable() { private static final Settings WEARABLE = wearable(); private static final Settings RARE_WEARABLE = wearable().rarity(RARE); private static final Settings PARADISE_LOST_LOOT_WEARABLE = wearable().rarity(ParadiseLostRarity.PARADISE_LOST_LOOT); + // Olvite public static final ArmorItem OLVITE_HELMET = add("olvite_helmet", new ArmorItem(ParadiseLostArmorMaterials.OLVITE, HEAD, WEARABLE)); public static final ArmorItem OLVITE_CHESTPLATE = add("olvite_chestplate", new ArmorItem(ParadiseLostArmorMaterials.OLVITE, CHEST, WEARABLE)); public static final ArmorItem OLVITE_LEGGINGS = add("olvite_leggings", new ArmorItem(ParadiseLostArmorMaterials.OLVITE, LEGS, WEARABLE)); public static final ArmorItem OLVITE_BOOTS = add("olvite_boots", new ArmorItem(ParadiseLostArmorMaterials.OLVITE, FEET, WEARABLE)); + // Glazed Gold public static final ArmorItem GLAZED_GOLD_HELMET = add("glazed_gold_helmet", new ArmorItem(ParadiseLostArmorMaterials.GLAZED_GOLD, HEAD, WEARABLE)); public static final ArmorItem GLAZED_GOLD_CHESTPLATE = add("glazed_gold_chestplate", new ArmorItem(ParadiseLostArmorMaterials.GLAZED_GOLD, CHEST, WEARABLE)); public static final ArmorItem GLAZED_GOLD_LEGGINGS = add("glazed_gold_leggings", new ArmorItem(ParadiseLostArmorMaterials.GLAZED_GOLD, LEGS, WEARABLE)); public static final ArmorItem GLAZED_GOLD_BOOTS = add("glazed_gold_boots", new ArmorItem(ParadiseLostArmorMaterials.GLAZED_GOLD, FEET, WEARABLE)); + // Surtrum + public static final ArmorItem SURTRUM_HELMET = add("surtrum_helmet", new ArmorItem(ParadiseLostArmorMaterials.SURTRUM, HEAD, wearable())); + public static final ArmorItem SURTRUM_CHESTPLATE = add("surtrum_chestplate", new ArmorItem(ParadiseLostArmorMaterials.SURTRUM, CHEST, wearable())); + public static final ArmorItem SURTRUM_LEGGINGS = add("surtrum_leggings", new ArmorItem(ParadiseLostArmorMaterials.SURTRUM, LEGS, wearable())); + public static final ArmorItem SURTRUM_BOOTS = add("surtrum_boots", new ArmorItem(ParadiseLostArmorMaterials.SURTRUM, FEET, wearable())); + + private static Settings food() { return new Settings().group(ParadiseLostItemGroups.PARADISE_LOST_FOOD); } @@ -169,7 +191,6 @@ private static Settings misc() { */ public static final SpawnEggItem HELLENROSE_SPAWN_EGG = add("hellenrose_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.HELLENROSE, 0x97DED4, 0x31897D, misc), spawnEggBehavior); - // public static final SpawnEggItem CHEST_MIMIC_SPAWN_EGG = null; public static final SpawnEggItem PARADISE_HARE_SPAWN_EGG = add("corsican_hare_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.PARADISE_HARE, 0xC5D6ED, 0x82A6D9, misc), spawnEggBehavior); public static final SpawnEggItem MOA_SPAWN_EGG = add("moa_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.MOA, 0xC55C2E4, 0xB3A8BB, misc), spawnEggBehavior); @@ -203,9 +224,12 @@ private static FabricItemSettings building_block() { // ores public static final BlockItem CHERINE_ORE = add("cherine_ore", ParadiseLostBlocks.CHERINE_ORE, building_block); public static final BlockItem OLVITE_ORE = add("olvite_ore", ParadiseLostBlocks.OLVITE_ORE, building_block); + public static final BlockItem SURTRUM = add("surtrum", ParadiseLostBlocks.SURTRUM, building_block); + public static final BlockItem METAMORPHIC_SHELL = add("metamorphic_shell", ParadiseLostBlocks.METAMORPHIC_SHELL, building_block); // ore blocks public static final BlockItem CHERINE_BLOCK = add("cherine_block", ParadiseLostBlocks.CHERINE_BLOCK, building_block, fuel(5000)); public static final BlockItem OLVITE_BLOCK = add("olvite_block", ParadiseLostBlocks.OLVITE_BLOCK, building_block); + public static final BlockItem REFINED_SURTRUM_BLOCK = add("refined_surtrum_block", ParadiseLostBlocks.REFINED_SURTRUM_BLOCK, building_block); // move this somewhere else public static final BlockItem LEVITATOR = add("levitator", ParadiseLostBlocks.LEVITATOR, building_block); // logs @@ -244,6 +268,7 @@ private static FabricItemSettings building_block() { // bricks public static final BlockItem FLOESTONE_BRICK = add("floestone_brick", ParadiseLostBlocks.FLOESTONE_BRICK, building_block); + public static final BlockItem CHISELED_FLOESTONE = add("chiseled_floestone", ParadiseLostBlocks.CHISELED_FLOESTONE, building_block); public static final BlockItem CARVED_STONE = add("carved_stone", ParadiseLostBlocks.CARVED_STONE, building_block); public static final BlockItem MOSSY_CARVED_STONE = add("mossy_carved_stone", ParadiseLostBlocks.MOSSY_CARVED_STONE, building_block); public static final BlockItem CRACKED_CARVED_STONE = add("cracked_carved_stone", ParadiseLostBlocks.CRACKED_CARVED_STONE, building_block); diff --git a/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java b/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java index 9b153ac75..5387bf9de 100644 --- a/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java +++ b/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java @@ -15,5 +15,9 @@ public class ParadiseLostArmorMaterials { public static final ArmorMaterial GLAZED_GOLD = ArmorMaterialsAccessor.callInit("PARADISE_LOST_GLAZED_GOLD", -1, "paradise_lost_glazed_gold", 14, new int[]{1, 3, 5, 2}, 25, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_GLAZED_GOLD, 0f, 0f, IngredientUtil.itemIngredient(ParadiseLostItems.GOLDEN_AMBER)); + public static final ArmorMaterial SURTRUM = ArmorMaterialsAccessor.callInit("PARADISE_LOST_SURTRUM", -1, + "paradise_lost_surtrum", 15, new int[]{3, 6, 8, 3}, 15, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_SURTRUM, + 0f, 0.1f, IngredientUtil.itemIngredient(ParadiseLostItems.REFINED_SURTRUM)); + } diff --git a/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java b/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java index 19f1dea51..ee5c701a9 100644 --- a/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java +++ b/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java @@ -2,7 +2,6 @@ import net.id.paradiselost.items.ParadiseLostItems; import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.UseAction; diff --git a/src/main/java/net/id/paradiselost/items/misc/ParadiseLostPortalItem.java b/src/main/java/net/id/paradiselost/items/misc/ParadiseLostPortalItem.java index 0ce8fb16d..8486ce038 100644 --- a/src/main/java/net/id/paradiselost/items/misc/ParadiseLostPortalItem.java +++ b/src/main/java/net/id/paradiselost/items/misc/ParadiseLostPortalItem.java @@ -3,7 +3,6 @@ import net.id.paradiselost.config.ParadiseLostConfig; import net.kyrptonaught.customportalapi.portal.PortalIgnitionSource; import net.kyrptonaught.customportalapi.portal.PortalPlacer; -import net.minecraft.block.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemUsageContext; import net.minecraft.util.ActionResult; diff --git a/src/main/java/net/id/paradiselost/items/tools/ParadiseLostToolMaterials.java b/src/main/java/net/id/paradiselost/items/tools/ParadiseLostToolMaterials.java index 428767c4e..ab1e5439a 100644 --- a/src/main/java/net/id/paradiselost/items/tools/ParadiseLostToolMaterials.java +++ b/src/main/java/net/id/paradiselost/items/tools/ParadiseLostToolMaterials.java @@ -10,6 +10,8 @@ public class ParadiseLostToolMaterials { public static final ToolMaterial OLVITE = ToolMaterialsAccessor.callInit("PARADISE_LOST_OLVITE", -1, MiningLevels.IRON, 250, 4.5f, 2f, 14, IngredientUtil.itemIngredient(ParadiseLostItems.OLVITE)); + public static final ToolMaterial SURTRUM = ToolMaterialsAccessor.callInit("PARADISE_LOST_SURTRUM", -1, + MiningLevels.DIAMOND, 827, 7.0f, 3f, 16, IngredientUtil.itemIngredient(ParadiseLostItems.OLVITE)); public static final ToolMaterial GLAZED_GOLD = ToolMaterialsAccessor.callInit("PARADISE_LOST_GLAZED_GOLD", -1, MiningLevels.IRON, 131, 12f, 2f, 22, IngredientUtil.itemIngredient(ParadiseLostItems.GOLDEN_AMBER)); diff --git a/src/main/java/net/id/paradiselost/items/tools/bloodstone/GravititeBloodstoneItem.java b/src/main/java/net/id/paradiselost/items/tools/bloodstone/SurtrumBloodstoneItem.java similarity index 67% rename from src/main/java/net/id/paradiselost/items/tools/bloodstone/GravititeBloodstoneItem.java rename to src/main/java/net/id/paradiselost/items/tools/bloodstone/SurtrumBloodstoneItem.java index 42bdcbe5d..0af505805 100644 --- a/src/main/java/net/id/paradiselost/items/tools/bloodstone/GravititeBloodstoneItem.java +++ b/src/main/java/net/id/paradiselost/items/tools/bloodstone/SurtrumBloodstoneItem.java @@ -6,13 +6,13 @@ import java.util.List; -public class GravititeBloodstoneItem extends BloodstoneItem { - public GravititeBloodstoneItem(Settings settings) { +public class SurtrumBloodstoneItem extends BloodstoneItem { + public SurtrumBloodstoneItem(Settings settings) { super(settings); } @Override protected List getDefaultText() { - return ImmutableList.of(Text.translatable("info.paradise_lost.bloodstone.gravitite").formatted(Formatting.GOLD)); + return ImmutableList.of(Text.translatable("info.paradise_lost.bloodstone.surtrum").formatted(Formatting.GOLD)); } } diff --git a/src/main/java/net/id/paradiselost/util/ParadiseLostSoundEvents.java b/src/main/java/net/id/paradiselost/util/ParadiseLostSoundEvents.java index dbd3942b8..39eac86c1 100644 --- a/src/main/java/net/id/paradiselost/util/ParadiseLostSoundEvents.java +++ b/src/main/java/net/id/paradiselost/util/ParadiseLostSoundEvents.java @@ -37,6 +37,8 @@ private ParadiseLostSoundEvents() { public static final SoundEvent BLOCK_PORTAL_AMBIENT = event("block.portal.ambient"); public static final SoundEvent BLOCK_PORTAL_TRAVEL = event("block.portal.travel"); public static final SoundEvent BLOCK_PORTAL_TRIGGER = event("block.portal.trigger"); + public static final SoundEvent BLOCK_SURTRUM_RUSH = childEvent("block.surtrum_air.rush", SoundEvents.BLOCK_FIRE_EXTINGUISH); + public static final SoundEvent BLOCK_SURTRUM_CRACKLE = childEvent("block.surtrum_air.crackle", SoundEvents.BLOCK_FIRE_AMBIENT); public static final SoundEvent BLOCK_ORANGE_LEAVES_BREAK = childEvent("block.orange_leaves.break", SoundEvents.BLOCK_MOSS_BREAK); public static final SoundEvent BLOCK_ORANGE_LEAVES_DROP_FRUIT = childEvent("block.orange_leaves.drop_fruit", SoundEvents.BLOCK_CANDLE_BREAK); @@ -79,6 +81,7 @@ private ParadiseLostSoundEvents() { public static final SoundEvent ITEM_ARMOR_EQUIP_OLVITE = childEvent("item.armor.equip.olvite", SoundEvents.ITEM_ARMOR_EQUIP_IRON); public static final SoundEvent ITEM_ARMOR_EQUIP_GLAZED_GOLD = childEvent("item.armor.equip.glazed_gold", SoundEvents.ITEM_ARMOR_EQUIP_GOLD); + public static final SoundEvent ITEM_ARMOR_EQUIP_SURTRUM = childEvent("item.armor.equip.surtrum", SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE); public static final SoundEvent ITEM_BLOODSTONE_PRICK = childEvent("item.bloodstone.prick", SoundEvents.ENTITY_BEE_STING); diff --git a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java index 691b5cf81..9e539bc05 100644 --- a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java +++ b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java @@ -215,6 +215,9 @@ private static Map>> getStandardParadiseLostFeatures() { return Map.of( + GenerationStep.Feature.RAW_GENERATION, List.of( + SURTRUM_METEORITE + ), GenerationStep.Feature.UNDERGROUND_ORES, List.of( ORE_CHERINE, ORE_OLVITE diff --git a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostDimension.java b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostDimension.java index f8a8b350e..d2fcfab14 100644 --- a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostDimension.java +++ b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostDimension.java @@ -10,7 +10,6 @@ import net.id.paradiselost.util.MiscUtil; import net.kyrptonaught.customportalapi.api.CustomPortalBuilder; import net.kyrptonaught.customportalapi.event.CPASoundEventData; -import net.minecraft.block.Blocks; import net.minecraft.util.dynamic.RegistryOps; import net.minecraft.util.registry.*; import net.minecraft.world.World; diff --git a/src/main/java/net/id/paradiselost/world/feature/ParadiseLostFeatures.java b/src/main/java/net/id/paradiselost/world/feature/ParadiseLostFeatures.java index c71f6718d..a9c93e784 100644 --- a/src/main/java/net/id/paradiselost/world/feature/ParadiseLostFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/ParadiseLostFeatures.java @@ -30,6 +30,8 @@ public class ParadiseLostFeatures { public static final PillarFeature PILLAR_FEATURE = register("pillar_feature", new PillarFeature(LongFeatureConfig.CODEC)); public static final FallenPillarFeature FALLEN_PILLAR_FEATURE = register("fallen_pillar_feature", new FallenPillarFeature(LongFeatureConfig.CODEC)); + public static final SurtrumMeteoriteFeature SURTRUM_METEORITE_FEATURE = register("surtrum_meteorite_feature", new SurtrumMeteoriteFeature(DefaultFeatureConfig.CODEC)); + private static > F register(String id, F feature) { return Registry.register(Registry.FEATURE, ParadiseLost.locate(id), feature); } diff --git a/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostMiscConfiguredFeatures.java b/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostMiscConfiguredFeatures.java index 4ee9fd389..8b650de91 100644 --- a/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostMiscConfiguredFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostMiscConfiguredFeatures.java @@ -41,6 +41,7 @@ public class ParadiseLostMiscConfiguredFeatures extends ParadiseLostConfiguredFe public static final RegistryEntry> ORE_CHERINE = register("ore_cherine", Feature.ORE, Configs.ore(CHERINE_ORE, 14)); public static final RegistryEntry> ORE_OLVITE = register("ore_olvite", Feature.ORE, Configs.ore(OLVITE_ORE, 9)); + public static final RegistryEntry> SURTRUM_METEORITE = register("surtrum_meteorite", ParadiseLostFeatures.SURTRUM_METEORITE_FEATURE, new DefaultFeatureConfig()); // Plato // Shield public static final RegistryEntry> SHIELD_ROCKS = register("shield_rocks", Feature.RANDOM_PATCH, Configs.SHIELD_ROCKS_CONFIG); diff --git a/src/main/java/net/id/paradiselost/world/feature/features/SurtrumMeteoriteFeature.java b/src/main/java/net/id/paradiselost/world/feature/features/SurtrumMeteoriteFeature.java new file mode 100644 index 000000000..f0b4a4456 --- /dev/null +++ b/src/main/java/net/id/paradiselost/world/feature/features/SurtrumMeteoriteFeature.java @@ -0,0 +1,49 @@ +package net.id.paradiselost.world.feature.features; + +import com.mojang.serialization.Codec; +import net.id.paradiselost.blocks.ParadiseLostBlocks; +import net.minecraft.block.Block; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.StructureWorldAccess; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.util.FeatureContext; + +public class SurtrumMeteoriteFeature extends Feature { + + public SurtrumMeteoriteFeature(Codec configCodec) { + super(configCodec); + } + + @Override + public boolean generate(FeatureContext context) { + BlockPos center = context.getOrigin(); + StructureWorldAccess world = context.getWorld(); + + Random rand = context.getRandom(); + final float size = 4; + + for (BlockPos i : BlockPos.iterateOutwards(center, ((int) size) + 3, ((int) size) + 3, ((int) size) + 3)) { + if (Math.sqrt(center.getSquaredDistance(i)) < size - 2f - rand.nextFloat() * 0.5) { + world.setBlockState(i, ParadiseLostBlocks.SURTRUM_AIR.getDefaultState(), Block.NOTIFY_LISTENERS); + } else if (Math.sqrt(center.getSquaredDistance(i)) < size - 1.5f + rand.nextFloat() * 0.5) { + world.setBlockState(i, ParadiseLostBlocks.SURTRUM.getDefaultState(), Block.NOTIFY_LISTENERS); + } else if (Math.sqrt(center.getSquaredDistance(i)) < size + rand.nextFloat() * 0.5) { + world.setBlockState(i, ParadiseLostBlocks.METAMORPHIC_SHELL.getDefaultState(), Block.NOTIFY_LISTENERS); + } else if (Math.sqrt(center.getSquaredDistance(i)) < size + rand.nextFloat() * 0.7) { + if (rand.nextBoolean()) { + for (BlockPos j : BlockPos.iterateOutwards(i, 1, 1, 1)) { + if (Math.sqrt(i.getSquaredDistance(j)) < 1 + rand.nextFloat() && world.getBlockState(j).isAir()) world.setBlockState(j, ParadiseLostBlocks.FLOESTONE.getDefaultState(), Block.NOTIFY_LISTENERS); + } + } else { + world.setBlockState(i, ParadiseLostBlocks.FLOESTONE.getDefaultState(), Block.NOTIFY_LISTENERS); + } + + } + } + + return true; + } + +} diff --git a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java index 83b3ec480..d7bf26997 100644 --- a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java @@ -24,6 +24,7 @@ public class ParadiseLostMiscPlacedFeatures extends ParadiseLostPlacedFeatures { public static final RegistryEntry ORE_CHERINE = register("ore_cherine", ParadiseLostMiscConfiguredFeatures.ORE_CHERINE, CountPlacementModifier.of(20), SquarePlacementModifier.of(), HeightRangePlacementModifier.trapezoid(YOffset.aboveBottom(0), YOffset.aboveBottom(320)), BiomePlacementModifier.of()); public static final RegistryEntry ORE_OLVITE = register("ore_olvite", ParadiseLostMiscConfiguredFeatures.ORE_OLVITE, CountPlacementModifier.of(16), SquarePlacementModifier.of(), HeightRangePlacementModifier.trapezoid(YOffset.aboveBottom(0), YOffset.aboveBottom(384)), BiomePlacementModifier.of()); + public static final RegistryEntry SURTRUM_METEORITE = register("surtrum_meteorite", ParadiseLostMiscConfiguredFeatures.SURTRUM_METEORITE, SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.fixed(65), YOffset.fixed(85)), ChancePlacementModifier.of(150)); // Plato // Shield public static final RegistryEntry SHIELD_ROCKS = register("shield_rocks", ParadiseLostMiscConfiguredFeatures.SHIELD_ROCKS, PlacedFeatures.BOTTOM_TO_TOP_RANGE, CountMultilayerPlacementModifier.of(1), CountPlacementModifier.of(UniformIntProvider.create(0, 2))); diff --git a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_1.png b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_1.png new file mode 100644 index 000000000..3caa69cd9 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_1.png differ diff --git a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_2.png b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_2.png new file mode 100644 index 000000000..0ba24babc Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_surtrum_layer_2.png differ diff --git a/src/main/resources/assets/paradise_lost/blockstates/chiseled_floestone.json b/src/main/resources/assets/paradise_lost/blockstates/chiseled_floestone.json new file mode 100644 index 000000000..1ea272e4f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/chiseled_floestone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/chiseled_floestone" + } + } +} diff --git a/src/main/resources/assets/paradise_lost/blockstates/metamorphic_shell.json b/src/main/resources/assets/paradise_lost/blockstates/metamorphic_shell.json new file mode 100644 index 000000000..a8bf18f8f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/metamorphic_shell.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/metamorphic_shell" + } + } +} diff --git a/src/main/resources/assets/paradise_lost/blockstates/refined_surtrum_block.json b/src/main/resources/assets/paradise_lost/blockstates/refined_surtrum_block.json new file mode 100644 index 000000000..103d97d32 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/refined_surtrum_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/refined_surtrum_block" + } + } +} diff --git a/src/main/resources/assets/paradise_lost/blockstates/surtrum.json b/src/main/resources/assets/paradise_lost/blockstates/surtrum.json new file mode 100644 index 000000000..4278905c7 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/surtrum.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "paradise_lost:block/surtrum" + } + } +} diff --git a/src/main/resources/assets/paradise_lost/lang/en_us.json b/src/main/resources/assets/paradise_lost/lang/en_us.json index c1cac018f..96c9a75ba 100644 --- a/src/main/resources/assets/paradise_lost/lang/en_us.json +++ b/src/main/resources/assets/paradise_lost/lang/en_us.json @@ -61,6 +61,7 @@ "block.paradise_lost.mossy_floestone_wall": "Mossy Cobbled Floestone Wall", "block.paradise_lost.floestone_brick": "Floestone Brick", + "block.paradise_lost.chiseled_floestone": "Chiseled Floestone Brick", "block.paradise_lost.floestone_brick_slab": "Floestone Brick Slab", "block.paradise_lost.floestone_brick_stairs": "Floestone Brick Stairs", "block.paradise_lost.floestone_brick_wall": "Floestone Brick Wall", @@ -227,10 +228,13 @@ "block.paradise_lost.cherine_ore": "Cherine Ore", "block.paradise_lost.olvite_ore": "Olvite Ore", + "block.paradise_lost.surtrum": "Surtrum", + "block.paradise_lost.metamorphic_shell": "Metamorphic Shell", "block.paradise_lost.cherine_block": "Block of Cherine", "block.paradise_lost.olvite_block": "Block of Olvite", + "block.paradise_lost.refined_surtrum_block": "Block of Refined Surtrum", - "block.paradise_lost.levitator": "Cloud Levitator", + "block.paradise_lost.levitator": "Surtrum Levitator", "block.paradise_lost.olvite_chain": "Olvite Chain", "block.paradise_lost.cherine_lantern": "Cherine Lantern", "block.paradise_lost.blue_portal": "Paradise Portal", @@ -271,6 +275,8 @@ "item.paradise_lost.cherine": "Cherine Shard", "item.paradise_lost.olvite": "Olvite", "item.paradise_lost.olvite_nugget": "Olvite Nugget", + "item.paradise_lost.refined_surtrum": "Refined Surtrum", + "item.paradise_lost.raw_surtrum": "Surtrum Fragment", "item.paradise_lost.flax_thread" : "Flax Thread", "item.paradise_lost.flaxweave" : "Flaxweave", "item.paradise_lost.swedroot_pulp": "Swedroot Pulp", @@ -281,6 +287,12 @@ "item.paradise_lost.olvite_sword": "Olvite Sword", "item.paradise_lost.olvite_hoe": "Olvite Hoe", + "item.paradise_lost.surtrum_shovel": "Surtrum Shovel", + "item.paradise_lost.surtrum_pickaxe": "Surtrum Pickaxe", + "item.paradise_lost.surtrum_axe": "Surtrum Axe", + "item.paradise_lost.surtrum_sword": "Surtrum Sword", + "item.paradise_lost.surtrum_hoe": "Surtrum Hoe", + "item.paradise_lost.glazed_gold_shovel": "Glazed Gold Shovel", "item.paradise_lost.glazed_gold_pickaxe": "Glazed Gold Pickaxe", "item.paradise_lost.glazed_gold_axe": "Glazed Gold Axe", @@ -292,6 +304,7 @@ "item.paradise_lost.cherine_bloodstone": "Cherine Bloodstone", "item.paradise_lost.olvite_bloodstone": "Olvite Bloodstone", + "item.paradise_lost.surtrum_bloodstone": "Surtrum Bloodstone", "item.paradise_lost.abstentine_bloodstone": "Abstentine Bloodstone", "item.paradise_lost.glazed_gold_upgrade_smithing_template": "Glazed Gold Upgrade", @@ -305,6 +318,11 @@ "item.paradise_lost.glazed_gold_chestplate": "Glazed Gold Chestplate", "item.paradise_lost.glazed_gold_leggings": "Glazed Gold Leggings", "item.paradise_lost.glazed_gold_boots": "Glazed Gold Boots", + + "item.paradise_lost.surtrum_helmet": "Surtrum Helmet", + "item.paradise_lost.surtrum_chestplate": "Surtrum Chestplate", + "item.paradise_lost.surtrum_leggings": "Surtrum Leggings", + "item.paradise_lost.surtrum_boots": "Surtrum Boots", "item.paradise_lost.blackcurrant": "Blackcurrant", "item.paradise_lost.orange": "Orange", @@ -416,7 +434,7 @@ "info.paradise_lost.bloodstone.cherine": "Peer into the heart", "info.paradise_lost.bloodstone.olvite": "Peer into the mind", - "info.paradise_lost.bloodstone.unimplemented": "Peer into the will", + "info.paradise_lost.bloodstone.surtrum": "Peer into the will", "info.paradise_lost.bloodstone.abstentine": "Peer into the soul", @@ -430,6 +448,9 @@ "subtitles.paradise_lost.block.portal.ambient": "Paradise portal whooshes", "subtitles.paradise_lost.block.portal.travel": "Paradise portal noise fades", "subtitles.paradise_lost.block.portal.trigger": "Paradise portal noise intensifies", + + "subtitles.paradise_lost.block.surtrum_air.rush": "Hot air rushes out", + "subtitles.paradise_lost.block.surtrum_air.crackle": "Meteorite Crackles", "subtitles.paradise_lost.block.orange_leaves.break": "Orange leaves break", "subtitles.paradise_lost.block.orange_leaves.drop_fruit": "Orange leaves drop fruit", @@ -466,6 +487,7 @@ "subtitles.paradise_lost.item.armor.equip.olvite": "Olvite armor clanks", "subtitles.paradise_lost.item.armor.equip.glazed_gold": "Glazed Gold armor clinks", + "subtitles.paradise_lost.item.armor.equip.surtrum": "Surtrum armor clunks", "subtitles.paradise_lost.item.bloodstone.prick": "Bloodstone pricks", diff --git a/src/main/resources/assets/paradise_lost/models/block/chiseled_floestone.json b/src/main/resources/assets/paradise_lost/models/block/chiseled_floestone.json new file mode 100644 index 000000000..2642a0f26 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/chiseled_floestone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "paradise_lost:block/chiseled_floestone" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/block/metamorphic_shell.json b/src/main/resources/assets/paradise_lost/models/block/metamorphic_shell.json new file mode 100644 index 000000000..1eee9623a --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/metamorphic_shell.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "paradise_lost:block/metamorphic_shell" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/block/refined_surtrum_block.json b/src/main/resources/assets/paradise_lost/models/block/refined_surtrum_block.json new file mode 100644 index 000000000..ff30d22bd --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/refined_surtrum_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "paradise_lost:block/refined_surtrum_block" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/block/aurel_plank.json b/src/main/resources/assets/paradise_lost/models/block/surtrum.json similarity index 54% rename from src/main/resources/assets/paradise_lost/models/block/aurel_plank.json rename to src/main/resources/assets/paradise_lost/models/block/surtrum.json index c899b793e..168564cfc 100644 --- a/src/main/resources/assets/paradise_lost/models/block/aurel_plank.json +++ b/src/main/resources/assets/paradise_lost/models/block/surtrum.json @@ -1,6 +1,6 @@ { "parent": "block/cube_all", "textures": { - "all": "paradise_lost:block/aurel_plank" + "all": "paradise_lost:block/surtrum" } } diff --git a/src/main/resources/assets/paradise_lost/models/item/chiseled_floestone.json b/src/main/resources/assets/paradise_lost/models/item/chiseled_floestone.json new file mode 100644 index 000000000..f58fedb8a --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/chiseled_floestone.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/chiseled_floestone" +} diff --git a/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod.json b/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod.json new file mode 100644 index 000000000..5411ae381 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod.json @@ -0,0 +1,14 @@ +{ + "parent": "item/handheld_rod", + "textures": { + "layer0": "paradise_lost:item/glazed_gold_fishing_rod" + }, + "overrides": [ + { + "predicate": { + "cast": 1 + }, + "model": "paradise_lost:item/glazed_gold_fishing_rod_cast" + } + ] +} diff --git a/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod_cast.json b/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod_cast.json new file mode 100644 index 000000000..06ff70add --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/glazed_gold_fishing_rod_cast.json @@ -0,0 +1,6 @@ +{ + "parent": "item/fishing_rod", + "textures": { + "layer0": "paradise_lost:item/glazed_gold_fishing_rod_cast" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/metamorphic_shell.json b/src/main/resources/assets/paradise_lost/models/item/metamorphic_shell.json new file mode 100644 index 000000000..8b6b27ff8 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/metamorphic_shell.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/metamorphic_shell" +} diff --git a/src/main/resources/assets/paradise_lost/models/item/raw_surtrum.json b/src/main/resources/assets/paradise_lost/models/item/raw_surtrum.json new file mode 100644 index 000000000..1f5964b99 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/raw_surtrum.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/raw_surtrum" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/refined_surtrum.json b/src/main/resources/assets/paradise_lost/models/item/refined_surtrum.json new file mode 100644 index 000000000..b8a606422 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/refined_surtrum.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/refined_surtrum" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/refined_surtrum_block.json b/src/main/resources/assets/paradise_lost/models/item/refined_surtrum_block.json new file mode 100644 index 000000000..2493d777e --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/refined_surtrum_block.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/refined_surtrum_block" +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum.json b/src/main/resources/assets/paradise_lost/models/item/surtrum.json new file mode 100644 index 000000000..9fae3ef7f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/surtrum" +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_axe.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_axe.json new file mode 100644 index 000000000..b792caea5 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "paradise_lost:item/surtrum_axe" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_bloodstone.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_bloodstone.json new file mode 100644 index 000000000..7d9f279a3 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_bloodstone.json @@ -0,0 +1,6 @@ +{ + "parent": "paradise_lost:item/handheld_small", + "textures": { + "layer0": "paradise_lost:item/surtrum_bloodstone" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_boots.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_boots.json new file mode 100644 index 000000000..e06ffd1bc --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/surtrum_boots" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_chestplate.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_chestplate.json new file mode 100644 index 000000000..f5176de44 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/surtrum_chestplate" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_helmet.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_helmet.json new file mode 100644 index 000000000..7886904d4 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/surtrum_helmet" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_hoe.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_hoe.json new file mode 100644 index 000000000..05c2d9485 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "paradise_lost:item/surtrum_hoe" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_leggings.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_leggings.json new file mode 100644 index 000000000..5c7eaa5af --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "paradise_lost:item/surtrum_leggings" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_pickaxe.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_pickaxe.json new file mode 100644 index 000000000..7a7bf9a69 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "paradise_lost:item/surtrum_pickaxe" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_shovel.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_shovel.json new file mode 100644 index 000000000..c16547663 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "paradise_lost:item/surtrum_shovel" + } +} diff --git a/src/main/resources/assets/paradise_lost/models/item/surtrum_sword.json b/src/main/resources/assets/paradise_lost/models/item/surtrum_sword.json new file mode 100644 index 000000000..aec9b543f --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/surtrum_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "paradise_lost:item/surtrum_sword" + } +} diff --git a/src/main/resources/assets/paradise_lost/textures/block/chiseled_floestone.png b/src/main/resources/assets/paradise_lost/textures/block/chiseled_floestone.png new file mode 100644 index 000000000..9701f304a Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/chiseled_floestone.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/levitator_side.png b/src/main/resources/assets/paradise_lost/textures/block/levitator_side.png index 32a1e583b..bd60cff56 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/levitator_side.png and b/src/main/resources/assets/paradise_lost/textures/block/levitator_side.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/metamorphic_shell.png b/src/main/resources/assets/paradise_lost/textures/block/metamorphic_shell.png new file mode 100644 index 000000000..828f9c811 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/metamorphic_shell.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/refined_surtrum_block.png b/src/main/resources/assets/paradise_lost/textures/block/refined_surtrum_block.png new file mode 100644 index 000000000..643634801 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/refined_surtrum_block.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/surtrum.png b/src/main/resources/assets/paradise_lost/textures/block/surtrum.png new file mode 100644 index 000000000..581a7459f Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/block/surtrum.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/surtrum.png.mcmeta b/src/main/resources/assets/paradise_lost/textures/block/surtrum.png.mcmeta new file mode 100644 index 000000000..1264dadae --- /dev/null +++ b/src/main/resources/assets/paradise_lost/textures/block/surtrum.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 7 + } +} diff --git a/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod.png b/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod.png new file mode 100644 index 000000000..21a7e5945 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod_cast.png b/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod_cast.png new file mode 100644 index 000000000..1149a1125 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/glazed_gold_fishing_rod_cast.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/raw_surtrum.png b/src/main/resources/assets/paradise_lost/textures/item/raw_surtrum.png new file mode 100644 index 000000000..3f1f8ab03 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/raw_surtrum.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/refined_surtrum.png b/src/main/resources/assets/paradise_lost/textures/item/refined_surtrum.png new file mode 100644 index 000000000..95b82d143 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/refined_surtrum.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_axe.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_axe.png new file mode 100644 index 000000000..ae84e37c9 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_axe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_bloodstone.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_bloodstone.png new file mode 100644 index 000000000..3451ed281 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_bloodstone.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_boots.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_boots.png new file mode 100644 index 000000000..b929b77dd Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_boots.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_chestplate.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_chestplate.png new file mode 100644 index 000000000..8eadda287 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_chestplate.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_helmet.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_helmet.png new file mode 100644 index 000000000..0240b18af Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_helmet.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_hoe.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_hoe.png new file mode 100644 index 000000000..2d0c0d44a Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_hoe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_leggings.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_leggings.png new file mode 100644 index 000000000..57bd40c39 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_leggings.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_pickaxe.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_pickaxe.png new file mode 100644 index 000000000..fb675f254 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_pickaxe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_shovel.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_shovel.png new file mode 100644 index 000000000..cf02965ba Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_shovel.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/surtrum_sword.png b/src/main/resources/assets/paradise_lost/textures/item/surtrum_sword.png new file mode 100644 index 000000000..2a11bbef5 Binary files /dev/null and b/src/main/resources/assets/paradise_lost/textures/item/surtrum_sword.png differ diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json new file mode 100644 index 000000000..dd54879d5 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/needs_diamond_tool.json @@ -0,0 +1,10 @@ +{ + "values": [ + "minecraft:obsidian", + "minecraft:crying_obsidian", + "minecraft:netherite_block", + "minecraft:respawn_anchor", + "minecraft:ancient_debris", + "#paradise_lost:requires_diamond_tool" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/chiseled_floestone.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/chiseled_floestone.json new file mode 100644 index 000000000..da5b1ab70 --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/chiseled_floestone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:chiseled_floestone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/metamorphic_shell.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/metamorphic_shell.json new file mode 100644 index 000000000..6ad2ce496 --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/metamorphic_shell.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:metamorphic_shell" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/refined_surtrum_block.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/refined_surtrum_block.json new file mode 100644 index 000000000..38c92184d --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/refined_surtrum_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:refined_surtrum_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/surtrum.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/surtrum.json new file mode 100644 index 000000000..0b0b3f6a0 --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/surtrum.json @@ -0,0 +1,49 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "paradise_lost:surtrum" + }, + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:ore_drops" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "paradise_lost:raw_surtrum" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/recipes/chiseled_floestone.json b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone.json new file mode 100644 index 000000000..c99e62008 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#", + "#" + ], + "key": { + "#": { + "item": "paradise_lost:floestone_brick_slab" + } + }, + "result": { + "item": "paradise_lost:chiseled_floestone" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_brick_stonecutting.json b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_brick_stonecutting.json new file mode 100644 index 000000000..cf6dd2e49 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_brick_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "paradise_lost:floestone_brick" + }, + "result": "paradise_lost:chiseled_floestone", + "count": 1 +} diff --git a/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_stonecutting.json b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_stonecutting.json new file mode 100644 index 000000000..e752c1d53 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/chiseled_floestone_from_floestone_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "paradise_lost:floestone" + }, + "result": "paradise_lost:chiseled_floestone", + "count": 1 +} diff --git a/src/main/resources/data/paradise_lost/recipes/levitator.json b/src/main/resources/data/paradise_lost/recipes/levitator.json index 71868968c..2c360f8b3 100644 --- a/src/main/resources/data/paradise_lost/recipes/levitator.json +++ b/src/main/resources/data/paradise_lost/recipes/levitator.json @@ -2,19 +2,16 @@ "type": "minecraft:crafting_shaped", "pattern": [ "SRS", - "WGW", + "GGG", "SRS" ], "key": { "G": { - "item": "paradise_lost:blue_cloud" + "item": "paradise_lost:refined_surtrum" }, "S": { "item": "paradise_lost:floestone_brick" }, - "W": { - "tag": "minecraft:planks" - }, "R": { "item": "minecraft:redstone" } diff --git a/src/main/resources/data/paradise_lost/recipes/refined_surtrum.json b/src/main/resources/data/paradise_lost/recipes/refined_surtrum.json new file mode 100644 index 000000000..8d47de00d --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/refined_surtrum.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "paradise_lost:refined_surtrum_block" + } + ], + "result": { + "item": "paradise_lost:refined_surtrum", + "count": 9 + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/refined_surtrum_block.json b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_block.json new file mode 100644 index 000000000..cd641e0b2 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_block.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:refined_surtrum_block" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json new file mode 100644 index 000000000..9e5106da9 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:lava_bucket" + }, + { + "item": "paradise_lost:raw_surtrum" + } + ], + "result": { + "item": "paradise_lost:refined_surtrum", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum.json b/src/main/resources/data/paradise_lost/recipes/surtrum.json new file mode 100644 index 000000000..661d50205 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##", + "##" + ], + "key": { + "#": { + "item": "paradise_lost:raw_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_axe.json b/src/main/resources/data/paradise_lost/recipes/surtrum_axe.json new file mode 100644 index 000000000..ecdb6bf5e --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_axe.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XX", + "X#", + " #" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_axe" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_bloodstone.json b/src/main/resources/data/paradise_lost/recipes/surtrum_bloodstone.json new file mode 100644 index 000000000..0933c8031 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_bloodstone.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " X", + "# " + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_bloodstone" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_boots.json b/src/main/resources/data/paradise_lost/recipes/surtrum_boots.json new file mode 100644 index 000000000..b62a01e1e --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_boots.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X X", + "X X" + ], + "key": { + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_boots" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_chestplate.json b/src/main/resources/data/paradise_lost/recipes/surtrum_chestplate.json new file mode 100644 index 000000000..45878cb65 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_chestplate.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X X", + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_chestplate" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_helmet.json b/src/main/resources/data/paradise_lost/recipes/surtrum_helmet.json new file mode 100644 index 000000000..7ba82ed69 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_helmet.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "X X" + ], + "key": { + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_helmet" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_hoe.json b/src/main/resources/data/paradise_lost/recipes/surtrum_hoe.json new file mode 100644 index 000000000..92b701072 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_hoe.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XX", + " #", + " #" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_hoe" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_leggings.json b/src/main/resources/data/paradise_lost/recipes/surtrum_leggings.json new file mode 100644 index 000000000..7ea2e2dab --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_leggings.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "X X", + "X X" + ], + "key": { + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_leggings" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_pickaxe.json b/src/main/resources/data/paradise_lost/recipes/surtrum_pickaxe.json new file mode 100644 index 000000000..fc4b7d6ed --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_pickaxe.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + " # ", + " # " + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_pickaxe" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_shovel.json b/src/main/resources/data/paradise_lost/recipes/surtrum_shovel.json new file mode 100644 index 000000000..41d23cef4 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_shovel.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X", + "#", + "#" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_shovel" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/surtrum_sword.json b/src/main/resources/data/paradise_lost/recipes/surtrum_sword.json new file mode 100644 index 000000000..bf2dca470 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/surtrum_sword.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X", + "X", + "#" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:refined_surtrum" + } + }, + "result": { + "item": "paradise_lost:surtrum_sword" + } +} diff --git a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json index 4b9b708b2..51f7356cd 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json @@ -8,9 +8,9 @@ "paradise_lost:olvite_chain", "paradise_lost:levitator", "paradise_lost:vitroulite", - "paradise_lost:cherine_block", "paradise_lost:golden_amber_tile", "paradise_lost:golden_amber_tile_slab", - "paradise_lost:golden_amber_tile_stairs" + "paradise_lost:golden_amber_tile_stairs", + "paradise_lost:metamorphic_shell" ] } \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/tags/blocks/ore_blocks.json b/src/main/resources/data/paradise_lost/tags/blocks/ore_blocks.json index d9afeda1a..461bd5f79 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/ore_blocks.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/ore_blocks.json @@ -1,6 +1,8 @@ { "replace": false, "values": [ - "paradise_lost:olvite_block" + "paradise_lost:cherine_block", + "paradise_lost:olvite_block", + "paradise_lost:refined_surtrum_block" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/ores.json b/src/main/resources/data/paradise_lost/tags/blocks/ores.json index 6dbd51708..96a2d46a9 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/ores.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/ores.json @@ -2,6 +2,7 @@ "replace": false, "values": [ "paradise_lost:cherine_ore", - "paradise_lost:olvite_ore" + "paradise_lost:olvite_ore", + "paradise_lost:surtrum" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/requires_diamond_tool.json b/src/main/resources/data/paradise_lost/tags/blocks/requires_diamond_tool.json new file mode 100644 index 000000000..4c928cbc0 --- /dev/null +++ b/src/main/resources/data/paradise_lost/tags/blocks/requires_diamond_tool.json @@ -0,0 +1,5 @@ +{ + "values": [ + "paradise_lost:metamorphic_shell" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/tags/blocks/requires_iron_tool.json b/src/main/resources/data/paradise_lost/tags/blocks/requires_iron_tool.json index d275da3f4..8a4da7c03 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/requires_iron_tool.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/requires_iron_tool.json @@ -1,5 +1,6 @@ { "replace": false, "values": [ + "paradise_lost:surtrum" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/stone_blocks.json b/src/main/resources/data/paradise_lost/tags/blocks/stone_blocks.json index 943ebbdd2..5da82d4b9 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/stone_blocks.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/stone_blocks.json @@ -6,6 +6,7 @@ "#paradise_lost:stone_walls", "#paradise_lost:carved_stone_blocks", "#paradise_lost:natural_stone", - "paradise_lost:floestone_brick" + "paradise_lost:floestone_brick", + "paradise_lost:chiseled_floestone" ] }