From 25ed35627ad4e62629d8d2d1306d97976af47732 Mon Sep 17 00:00:00 2001 From: TechnoVisionDev Date: Sat, 11 Jul 2020 21:16:19 -0700 Subject: [PATCH] Tidy up code & add ruby ore --- .../tutorial/blocks/RubyBlock.java | 3 +- .../technovision/tutorial/blocks/RubyOre.java | 26 ++++++++ .../tutorial/util/RegistryHandler.java | 4 +- .../tutorial/world/{ => gen}/ModOreGen.java | 12 ++-- .../assets/tutorial/blockstates/ruby_ore.json | 5 ++ .../resources/assets/tutorial/lang/en_us.json | 1 + .../tutorial/models/block/ruby_ore.json | 6 ++ .../assets/tutorial/models/item/ruby_ore.json | 3 + .../tutorial/textures/blocks/ruby_ore.png | Bin 0 -> 591 bytes .../tutorial/loot_tables/blocks/ruby_ore.json | 56 ++++++++++++++++++ 10 files changed, 107 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/technovision/tutorial/blocks/RubyOre.java rename src/main/java/com/technovision/tutorial/world/{ => gen}/ModOreGen.java (88%) create mode 100644 src/main/resources/assets/tutorial/blockstates/ruby_ore.json create mode 100644 src/main/resources/assets/tutorial/models/block/ruby_ore.json create mode 100644 src/main/resources/assets/tutorial/models/item/ruby_ore.json create mode 100644 src/main/resources/assets/tutorial/textures/blocks/ruby_ore.png create mode 100644 src/main/resources/data/tutorial/loot_tables/blocks/ruby_ore.json diff --git a/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java b/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java index d21ee88..d02ccd2 100644 --- a/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java +++ b/src/main/java/com/technovision/tutorial/blocks/RubyBlock.java @@ -1,7 +1,6 @@ package com.technovision.tutorial.blocks; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; +import net.minecraft.block.*; import net.minecraft.block.material.Material; import net.minecraftforge.common.ToolType; diff --git a/src/main/java/com/technovision/tutorial/blocks/RubyOre.java b/src/main/java/com/technovision/tutorial/blocks/RubyOre.java new file mode 100644 index 0000000..151745e --- /dev/null +++ b/src/main/java/com/technovision/tutorial/blocks/RubyOre.java @@ -0,0 +1,26 @@ +package com.technovision.tutorial.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.OreBlock; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IWorldReader; +import net.minecraftforge.common.ToolType; + +public class RubyOre extends OreBlock { + + public RubyOre() { + super(Block.Properties.create(Material.IRON) + .hardnessAndResistance(3.0f, 4.0f) + .sound(SoundType.STONE) + .harvestLevel(2) + .harvestTool(ToolType.PICKAXE)); + } + + @Override + public int getExpDrop(BlockState state, IWorldReader reader, BlockPos pos, int fortune, int silktouch) { + return 1; + } +} diff --git a/src/main/java/com/technovision/tutorial/util/RegistryHandler.java b/src/main/java/com/technovision/tutorial/util/RegistryHandler.java index 0bd14c4..d2ea2d2 100644 --- a/src/main/java/com/technovision/tutorial/util/RegistryHandler.java +++ b/src/main/java/com/technovision/tutorial/util/RegistryHandler.java @@ -3,6 +3,7 @@ package com.technovision.tutorial.util; import com.technovision.tutorial.Tutorial; import com.technovision.tutorial.armor.ModArmorMaterial; import com.technovision.tutorial.blocks.RubyBlock; +import com.technovision.tutorial.blocks.RubyOre; import com.technovision.tutorial.items.PoisonApple; import com.technovision.tutorial.tools.ModItemTier; import net.minecraft.block.Block; @@ -51,8 +52,9 @@ public class RegistryHandler { // Blocks public static final RegistryObject RUBY_BLOCK = BLOCKS.register("ruby_block", RubyBlock::new); + public static final RegistryObject RUBY_ORE = BLOCKS.register("ruby_ore", RubyOre::new); // Block Items public static final RegistryObject RUBY_BLOCK_ITEM = ITEMS.register("ruby_block", () -> new BlockItem(RUBY_BLOCK.get(), new Item.Properties().group(Tutorial.TAB))); - + public static final RegistryObject RUBY_ORE_ITEM = ITEMS.register("ruby_ore", () -> new BlockItem(RUBY_ORE.get(), new Item.Properties().group(Tutorial.TAB))); } diff --git a/src/main/java/com/technovision/tutorial/world/ModOreGen.java b/src/main/java/com/technovision/tutorial/world/gen/ModOreGen.java similarity index 88% rename from src/main/java/com/technovision/tutorial/world/ModOreGen.java rename to src/main/java/com/technovision/tutorial/world/gen/ModOreGen.java index 93a447d..24eab47 100644 --- a/src/main/java/com/technovision/tutorial/world/ModOreGen.java +++ b/src/main/java/com/technovision/tutorial/world/gen/ModOreGen.java @@ -1,4 +1,4 @@ -package com.technovision.tutorial.world; +package com.technovision.tutorial.world.gen; import com.technovision.tutorial.Tutorial; import com.technovision.tutorial.util.RegistryHandler; @@ -28,15 +28,15 @@ public class ModOreGen { //World Generation if (biome.getCategory() == Biome.Category.NETHER) { - genOre(biome, 15, 20, 5, 50, OreFeatureConfig.FillerBlockType.NETHERRACK, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 6); + genOre(biome, 15, 20, 5, 50, OreFeatureConfig.FillerBlockType.NETHERRACK, RegistryHandler.RUBY_ORE.get().getDefaultState(), 6); - //End Generation + //End Generation } else if (biome.getCategory() == Biome.Category.THEEND) { - genOre(biome, 15, 5, 5, 80, END_STONE, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 8); + genOre(biome, 15, 5, 5, 80, END_STONE, RegistryHandler.RUBY_ORE.get().getDefaultState(), 8); - //Nether Generation + //Nether Generation } else { - genOre(biome, 15, 5, 5, 80, OreFeatureConfig.FillerBlockType.NATURAL_STONE, RegistryHandler.RUBY_BLOCK.get().getDefaultState(), 12); + genOre(biome, 15, 5, 5, 80, OreFeatureConfig.FillerBlockType.NATURAL_STONE, RegistryHandler.RUBY_ORE.get().getDefaultState(), 12); } } } diff --git a/src/main/resources/assets/tutorial/blockstates/ruby_ore.json b/src/main/resources/assets/tutorial/blockstates/ruby_ore.json new file mode 100644 index 0000000..d944039 --- /dev/null +++ b/src/main/resources/assets/tutorial/blockstates/ruby_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "tutorial:block/ruby_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/lang/en_us.json b/src/main/resources/assets/tutorial/lang/en_us.json index edddaa0..e67ea43 100644 --- a/src/main/resources/assets/tutorial/lang/en_us.json +++ b/src/main/resources/assets/tutorial/lang/en_us.json @@ -2,6 +2,7 @@ "item.tutorial.ruby": "Ruby", "item.tutorial.poison_apple": "Poison Apple", "block.tutorial.ruby_block": "Block of Ruby", + "block.tutorial.ruby_ore": "Ruby Ore", "itemGroup.tutorialTab": "Tutorial", "item.tutorial.ruby_sword": "Ruby Sword", "item.tutorial.ruby_pickaxe": "Ruby Pickaxe", diff --git a/src/main/resources/assets/tutorial/models/block/ruby_ore.json b/src/main/resources/assets/tutorial/models/block/ruby_ore.json new file mode 100644 index 0000000..cf9246d --- /dev/null +++ b/src/main/resources/assets/tutorial/models/block/ruby_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "tutorial:blocks/ruby_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/models/item/ruby_ore.json b/src/main/resources/assets/tutorial/models/item/ruby_ore.json new file mode 100644 index 0000000..3660190 --- /dev/null +++ b/src/main/resources/assets/tutorial/models/item/ruby_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "tutorial:block/ruby_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/tutorial/textures/blocks/ruby_ore.png b/src/main/resources/assets/tutorial/textures/blocks/ruby_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..a75097f44099bc7f1d741a576c235b18f5ab7d04 GIT binary patch literal 591 zcmV-V0~=D+C3QHB#EB7v z7(~Ul_{7I8Ys0zKY`BAa?mla;{q21XrBX>-EEYJ9Znq1w*$ki0hv{^RWHO1#WP+D@ zcDo%03h=Va(}db1cO0&r=SS*dObKC4mq69 z=h$pEC_g`=`|yCft1ImHd$1a#-|xfebi!h>$h!!zIxVV%;cy7A*L#x4YCQk&`&M@r zjYj_q@N%_UJxSmhg&2`Y1hrZX*H2HnGx9MM3I$<6i?mmKe3S&&rY)5|pP%D!ILH$Y zhtX=aM39il!ceJHM1U;}1_NlChSh4NGx&3P3BTX3Lu9)u2vnZ}4^1W$*6TIe?e@u7 zSxrG!9~4v_B0o@ZyWPU=cH_;LqO?%-`4Ef6#2tgX5ekL$0wQp{AROa(JjU&CC@j8S zTnNZ_-#_YtR;v|(KtM)$vPjCh(P)&41h-r+VYAtECO@-Ty#IBh12*JxIZbUAmAQo^ zP2#W1Zzb_AokpY4&~2+p(VaL@qoLK&XoPq?F3H*ZduiiGCIh-+csw3iD26OjKA+cA zf1hG8fy7{cWYg(%#0}YS5{kYWrwAxZH|aDIiNwhWUtT!=E9GzGCMrv8ftC3Cs^vOX dJD!#j{s$RDC*C~Rys7{I002ovPDHLkV1nMS4`cuU literal 0 HcmV?d00001 diff --git a/src/main/resources/data/tutorial/loot_tables/blocks/ruby_ore.json b/src/main/resources/data/tutorial/loot_tables/blocks/ruby_ore.json new file mode 100644 index 0000000..36bca96 --- /dev/null +++ b/src/main/resources/data/tutorial/loot_tables/blocks/ruby_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "tutorial:ruby_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2, + "type": "minecraft:uniform" + } + }, + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "tutorial:ruby" + } + ] + } + ] + } + ] +} \ No newline at end of file