From c7bd834e7b218c7af86c5782035bf1a8b9e1553b Mon Sep 17 00:00:00 2001 From: Zelophed Date: Tue, 28 Jan 2020 20:36:51 +0100 Subject: [PATCH] copper ore :partyparrot: -changed oxidization behavior to have 8 steps instead of 2 -added copper ore, zinc ore and volcanic rock to ore gen -added 2 test advancements --- .../foundation/world/OreGeneration.java | 53 +++++++++++++----- .../foundation/world/OxidizingBlock.java | 42 ++++++++++---- .../assets/create/blockstates/copper_ore.json | 10 +++- .../resources/assets/create/lang/en_us.json | 5 ++ .../models/block/copper_ore_oxidization0.json | 6 ++ .../models/block/copper_ore_oxidization1.json | 6 ++ .../models/block/copper_ore_oxidization2.json | 6 ++ .../models/block/copper_ore_oxidization3.json | 6 ++ .../models/block/copper_ore_oxidization4.json | 6 ++ .../models/block/copper_ore_oxidization5.json | 6 ++ .../models/block/copper_ore_oxidization6.json | 6 ++ .../models/block/copper_ore_oxidization7.json | 6 ++ .../assets/create/models/item/copper_ore.json | 2 +- ...er_ore.png => copper_ore_oxidization0.png} | Bin .../block/copper_ore_oxidization1.png | Bin 0 -> 2929 bytes .../block/copper_ore_oxidization2.png | Bin 0 -> 2937 bytes .../block/copper_ore_oxidization3.png | Bin 0 -> 2906 bytes .../block/copper_ore_oxidization4.png | Bin 0 -> 2888 bytes .../block/copper_ore_oxidization5.png | Bin 0 -> 2881 bytes .../block/copper_ore_oxidization6.png | Bin 0 -> 2885 bytes ...idized.png => copper_ore_oxidization7.png} | Bin .../data/create/advancements/root.json | 21 +++++++ .../data/create/advancements/test.json | 26 +++++++++ 23 files changed, 180 insertions(+), 27 deletions(-) create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization0.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization1.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization2.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization3.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization4.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization5.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization6.json create mode 100644 src/main/resources/assets/create/models/block/copper_ore_oxidization7.json rename src/main/resources/assets/create/textures/block/{copper_ore.png => copper_ore_oxidization0.png} (100%) create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization1.png create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization2.png create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization3.png create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization4.png create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization5.png create mode 100644 src/main/resources/assets/create/textures/block/copper_ore_oxidization6.png rename src/main/resources/assets/create/textures/block/{copper_ore_oxidized.png => copper_ore_oxidization7.png} (100%) create mode 100644 src/main/resources/data/create/advancements/root.json create mode 100644 src/main/resources/data/create/advancements/test.json diff --git a/src/main/java/com/simibubi/create/foundation/world/OreGeneration.java b/src/main/java/com/simibubi/create/foundation/world/OreGeneration.java index 8cefa7072..203234673 100644 --- a/src/main/java/com/simibubi/create/foundation/world/OreGeneration.java +++ b/src/main/java/com/simibubi/create/foundation/world/OreGeneration.java @@ -7,22 +7,29 @@ import java.util.List; import com.simibubi.create.AllBlocks; import net.minecraft.block.Block; -import net.minecraft.block.Blocks; import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.Biomes; import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.feature.Feature; import net.minecraft.world.gen.feature.OreFeatureConfig; +import net.minecraft.world.gen.placement.ChanceRangeConfig; import net.minecraft.world.gen.placement.CountRangeConfig; import net.minecraft.world.gen.placement.Placement; import net.minecraftforge.registries.ForgeRegistries; public enum OreGeneration { - TEST_BLOB_1(new BasicOreGenConfig(Blocks.EMERALD_BLOCK, 25, 2, 128)), - TEST_BLOB_2(new BasicOreGenConfig(Blocks.QUARTZ_BLOCK, 41, 3, 25)), - TEST_BLOB_3(new OnlyInBiomes(new BasicOreGenConfig(Blocks.BLUE_GLAZED_TERRACOTTA, 5, 10, 30), Biome.Category.OCEAN)), - TEST_BLOB_4(new OnlyInBiomes(new BasicOreGenConfig(AllBlocks.GABBRO.get(), 31, 2, 128), Biomes.TAIGA, Biomes.TAIGA_HILLS, Biomes.TAIGA_MOUNTAINS)), + COPPER_ORE_GENERAL(new BasicOreGenConfig(AllBlocks.COPPER_ORE.get(), 21, 3, 40, 96)), + COPPER_ORE_OCEAN(new OnlyInBiomes(new BasicOreGenConfig(AllBlocks.COPPER_ORE.get(), 15, 3, 20, 55), Biome.Category.OCEAN)), + + ZINC_ORE_GENERAL(new BasicOreGenConfig(AllBlocks.ZINC_ORE.get(), 17, 1, 55, 80)), + ZINC_ORE_DESERT(new OnlyInBiomes(new BasicOreGenConfig(AllBlocks.ZINC_ORE.get(), 17, 5, 50, 85),Biome.Category.DESERT)), + + BASALT_ROCK(new BasicOreGenConfig(AllBlocks.VOLCANIC_ROCK.get(), 39, 0.2f, 0, 10)), + + //TEST_BLOB_1(new BasicOreGenConfig(Blocks.EMERALD_BLOCK, 25, 2, 0, 128)), + //TEST_BLOB_2(new BasicOreGenConfig(Blocks.QUARTZ_BLOCK, 41, 3, 0, 25)), + //TEST_BLOB_3(new OnlyInBiomes(new BasicOreGenConfig(Blocks.BLUE_GLAZED_TERRACOTTA, 5, 10, 0, 30), Biome.Category.OCEAN)), + //TEST_BLOB_4(new OnlyInBiomes(new BasicOreGenConfig(AllBlocks.GABBRO.get(), 31, 2, 0, 128), Biomes.TAIGA, Biomes.TAIGA_HILLS, Biomes.TAIGA_MOUNTAINS)), ; @@ -45,22 +52,42 @@ public enum OreGeneration { Block block; //im not 100% certain that these names are accurate but at least they seem that way - int clusterSize, clusterCount/*per chunk*/, maxHeight; + private int clusterSize, clusterCount, minHeight, maxHeight; + private float clusterChance; - private BasicOreGenConfig(Block block, int clusterSize, int clusterCount, int maxHeight) { + private BasicOreGenConfig(Block block, int clusterSize, int clusterCount, int minHeight, int maxHeight) { this.block = block; this.clusterSize = clusterSize; this.clusterCount = clusterCount; + this.clusterChance = 1.0f; + this.minHeight = minHeight; + this.maxHeight = maxHeight; + } + + private BasicOreGenConfig(Block block, int clusterSize, float clusterChance, int minHeight, int maxHeight) { + this.block = block; + this.clusterSize = clusterSize; + this.clusterCount = 0; + this.clusterChance = clusterChance; + this.minHeight = minHeight; this.maxHeight = maxHeight; } @Override public void addFeature(Biome biome) { - biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, - Biome.createDecoratedFeature(Feature.ORE, - new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, - block.getDefaultState(), clusterSize), - Placement.COUNT_RANGE, new CountRangeConfig(clusterCount, 0, 0, maxHeight))); + if (clusterCount > 0) { + biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, + Biome.createDecoratedFeature(Feature.ORE, + new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, + block.getDefaultState(), clusterSize), + Placement.COUNT_RANGE, new CountRangeConfig(clusterCount, minHeight, 0, maxHeight))); + } else { + biome.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, + Biome.createDecoratedFeature(Feature.ORE, + new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, + block.getDefaultState(), clusterSize), + Placement.CHANCE_RANGE, new ChanceRangeConfig(clusterChance, minHeight, 0, maxHeight))); + } } } diff --git a/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java b/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java index a8ea4d7bc..be85f0595 100644 --- a/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java +++ b/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java @@ -1,49 +1,69 @@ package com.simibubi.create.foundation.world; +import java.util.LinkedList; +import java.util.OptionalDouble; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.state.BooleanProperty; +import net.minecraft.state.IntegerProperty; import net.minecraft.state.StateContainer.Builder; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockReader; import net.minecraft.world.World; public class OxidizingBlock extends Block { - public static final BooleanProperty OXIDIZED = BooleanProperty.create("oxidized"); + public static final IntegerProperty OXIDIZATION = IntegerProperty.create("oxidization", 0, 7); private float chance; public OxidizingBlock(Properties properties, float chance) { super(properties); this.chance = chance; - setDefaultState(getDefaultState().with(OXIDIZED, false)); + setDefaultState(getDefaultState().with(OXIDIZATION, 0)); } @Override protected void fillStateContainer(Builder builder) { - super.fillStateContainer(builder.add(OXIDIZED)); + super.fillStateContainer(builder.add(OXIDIZATION)); } @Override public boolean ticksRandomly(BlockState state) { - return super.ticksRandomly(state) || !state.get(OXIDIZED); + return super.ticksRandomly(state) || state.get(OXIDIZATION) < 7; } - + @Override public void randomTick(BlockState state, World worldIn, BlockPos pos, Random random) { - if (worldIn.getRandom().nextFloat() <= chance) + if (worldIn.getRandom().nextFloat() <= chance) { + int currentState = state.get(OXIDIZATION); + boolean canIncrease = false; + LinkedList neighbors = new LinkedList<>(); for (Direction facing : Direction.values()) { BlockPos neighbourPos = pos.offset(facing); if (!worldIn.isBlockPresent(neighbourPos)) continue; - if (!Block.hasSolidSide(worldIn.getBlockState(neighbourPos), worldIn, neighbourPos, - facing.getOpposite())) + BlockState neighborState = worldIn.getBlockState(neighbourPos); + if (neighborState.has(OXIDIZATION)) { + neighbors.add(neighborState.get(OXIDIZATION)); + } + if (Block.hasSolidSide(neighborState, worldIn, neighbourPos, + facing.getOpposite())) { continue; - worldIn.setBlockState(pos, state.with(OXIDIZED, true)); - break; + } + canIncrease = true; } + if (canIncrease) { + OptionalDouble average = neighbors.stream().mapToInt(v -> v).average(); + if (average.orElse(7d) >= currentState) + worldIn.setBlockState(pos, state.with(OXIDIZATION, Math.min(currentState + 1, 7))); + } + } } + @Override + public float getBlockHardness(BlockState blockState, IBlockReader worldIn, BlockPos pos) { + return this.blockHardness - 0.2f * blockState.get(OXIDIZATION); + } } diff --git a/src/main/resources/assets/create/blockstates/copper_ore.json b/src/main/resources/assets/create/blockstates/copper_ore.json index 4a2d71196..05a62ab54 100644 --- a/src/main/resources/assets/create/blockstates/copper_ore.json +++ b/src/main/resources/assets/create/blockstates/copper_ore.json @@ -1,6 +1,12 @@ { "variants": { - "oxidized=true": { "model": "create:block/copper_ore_oxidized" }, - "oxidized=false": { "model": "create:block/copper_ore" } + "oxidization=0": { "model": "create:block/copper_ore_oxidization0" }, + "oxidization=1": { "model": "create:block/copper_ore_oxidization1" }, + "oxidization=2": { "model": "create:block/copper_ore_oxidization2" }, + "oxidization=3": { "model": "create:block/copper_ore_oxidization3" }, + "oxidization=4": { "model": "create:block/copper_ore_oxidization4" }, + "oxidization=5": { "model": "create:block/copper_ore_oxidization5" }, + "oxidization=6": { "model": "create:block/copper_ore_oxidization6" }, + "oxidization=7": { "model": "create:block/copper_ore_oxidization7" } } } \ No newline at end of file diff --git a/src/main/resources/assets/create/lang/en_us.json b/src/main/resources/assets/create/lang/en_us.json index d828418b8..aeb283fdf 100644 --- a/src/main/resources/assets/create/lang/en_us.json +++ b/src/main/resources/assets/create/lang/en_us.json @@ -506,6 +506,11 @@ "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", "create.command.killTPSCommand.argument.tickTime": "tickTime", + "advancement.create:root": "Create Advancements", + "advancement.create:root.desc": "~ todo", + "advancement.create:test": "test advancement", + "advancement.create:test.desc": "test advancement description", + "_comment": "-------------------------] ITEM DESCRIPTIONS [------------------------------------------------", "item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)", diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization0.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization0.json new file mode 100644 index 000000000..ca2cd845d --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization0" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization1.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization1.json new file mode 100644 index 000000000..057bd9a02 --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization1" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization2.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization2.json new file mode 100644 index 000000000..8c4c6270e --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization2" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization3.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization3.json new file mode 100644 index 000000000..c59aa7c25 --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization3" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization4.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization4.json new file mode 100644 index 000000000..d76e8a2b4 --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization4" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization5.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization5.json new file mode 100644 index 000000000..d653db79f --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization5.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization5" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization6.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization6.json new file mode 100644 index 000000000..9cce4f3ce --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization6" + } +} diff --git a/src/main/resources/assets/create/models/block/copper_ore_oxidization7.json b/src/main/resources/assets/create/models/block/copper_ore_oxidization7.json new file mode 100644 index 000000000..714e43b97 --- /dev/null +++ b/src/main/resources/assets/create/models/block/copper_ore_oxidization7.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "create:block/copper_ore_oxidization7" + } +} diff --git a/src/main/resources/assets/create/models/item/copper_ore.json b/src/main/resources/assets/create/models/item/copper_ore.json index 0ed008141..5f162f594 100644 --- a/src/main/resources/assets/create/models/item/copper_ore.json +++ b/src/main/resources/assets/create/models/item/copper_ore.json @@ -1,3 +1,3 @@ { - "parent": "create:block/copper_ore" + "parent": "create:block/copper_ore_oxidization0" } \ No newline at end of file diff --git a/src/main/resources/assets/create/textures/block/copper_ore.png b/src/main/resources/assets/create/textures/block/copper_ore_oxidization0.png similarity index 100% rename from src/main/resources/assets/create/textures/block/copper_ore.png rename to src/main/resources/assets/create/textures/block/copper_ore_oxidization0.png diff --git a/src/main/resources/assets/create/textures/block/copper_ore_oxidization1.png b/src/main/resources/assets/create/textures/block/copper_ore_oxidization1.png new file mode 100644 index 0000000000000000000000000000000000000000..38b2cee6aab6f626c04621e3802b2cfaef621601 GIT binary patch literal 2929 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 Ef^0K+>i_@% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/block/copper_ore_oxidization4.png b/src/main/resources/assets/create/textures/block/copper_ore_oxidization4.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a1b9f8f156ddbef364800139c5b6c73c5e3a7a GIT binary patch literal 2888 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/block/copper_ore_oxidized.png b/src/main/resources/assets/create/textures/block/copper_ore_oxidization7.png similarity index 100% rename from src/main/resources/assets/create/textures/block/copper_ore_oxidized.png rename to src/main/resources/assets/create/textures/block/copper_ore_oxidization7.png diff --git a/src/main/resources/data/create/advancements/root.json b/src/main/resources/data/create/advancements/root.json new file mode 100644 index 000000000..8a4479c08 --- /dev/null +++ b/src/main/resources/data/create/advancements/root.json @@ -0,0 +1,21 @@ +{ + "display": { + "icon": { + "item": "create:cogwheel" + }, + "title": { + "translate": "advancement.create:root" + }, + "description": { + "translate": "advancement.create:root.desc" + }, + "background": "create:textures/block/brass_casing_side.png", + "show_toast": false, + "announce_to_chat": false + }, + "criteria": { + "flower": { + "trigger": "minecraft:inventory_changed" + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/create/advancements/test.json b/src/main/resources/data/create/advancements/test.json new file mode 100644 index 000000000..bf5f5bb6f --- /dev/null +++ b/src/main/resources/data/create/advancements/test.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "item": "create:wrench" + }, + "title": { + "translate": "advancement.create:test" + }, + "description": { + "translate": "advancement.create:test.desc" + } + }, + "parent": "create:root", + "criteria": { + "flower": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "create:wrench" + } + ] + } + } + } +} \ No newline at end of file