Custom Tools

pull/1/head
TechnoVisionDev 4 years ago
parent 6b3eb0f676
commit e34e51e48c

@ -0,0 +1,60 @@
package com.technovision.tutorial.tools;
import com.technovision.tutorial.util.RegistryHandler;
import net.minecraft.item.IItemTier;
import net.minecraft.item.crafting.Ingredient;
import java.util.function.Supplier;
public enum ModItemTier implements IItemTier {
RUBY(2, 800, 7.0F, 3.0F, 12, () -> {
return Ingredient.fromItems(RegistryHandler.RUBY_SWORD.get());
});
private final int harvestLevel;
private final int maxUses;
private final float efficiency;
private final float attackDamage;
private final int enchantability;
private final Supplier<Ingredient> repairMaterial;
ModItemTier(int harvestLevel, int maxUses, float efficiency, float attackDamage, int enchantability, Supplier<Ingredient> repairMaterial) {
this.harvestLevel = harvestLevel;
this.maxUses = maxUses;
this.efficiency = efficiency;
this.attackDamage = attackDamage;
this.enchantability = enchantability;
this.repairMaterial = repairMaterial;
}
@Override
public int getMaxUses() {
return maxUses;
}
@Override
public float getEfficiency() {
return efficiency;
}
@Override
public float getAttackDamage() {
return attackDamage;
}
@Override
public int getHarvestLevel() {
return harvestLevel;
}
@Override
public int getEnchantability() {
return enchantability;
}
@Override
public Ingredient getRepairMaterial() {
return repairMaterial.get();
}
}

@ -4,8 +4,9 @@ import com.technovision.tutorial.Tutorial;
import com.technovision.tutorial.blocks.BlockItemBase;
import com.technovision.tutorial.blocks.RubyBlock;
import com.technovision.tutorial.items.ItemBase;
import com.technovision.tutorial.tools.ModItemTier;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.*;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
@ -24,6 +25,22 @@ public class RegistryHandler {
// Items
public static final RegistryObject<Item> RUBY = ITEMS.register("ruby", ItemBase::new);
// Tools
public static final RegistryObject<SwordItem> RUBY_SWORD = ITEMS.register("ruby_sword", () ->
new SwordItem(ModItemTier.RUBY, 2, -2.4F, new Item.Properties().group(Tutorial.TAB)));
public static final RegistryObject<PickaxeItem> RUBY_PICKAXE = ITEMS.register("ruby_pickaxe", () ->
new PickaxeItem(ModItemTier.RUBY, 0, -2.8F, new Item.Properties().group(Tutorial.TAB)));
public static final RegistryObject<ShovelItem> RUBY_SHOVEL = ITEMS.register("ruby_shovel", () ->
new ShovelItem(ModItemTier.RUBY,0.5F, -3.0F, new Item.Properties().group(Tutorial.TAB)));
public static final RegistryObject<AxeItem> RUBY_AXE = ITEMS.register("ruby_axe", () ->
new AxeItem(ModItemTier.RUBY, 5, -3.1F, new Item.Properties().group(Tutorial.TAB)));
public static final RegistryObject<HoeItem> RUBY_HOE = ITEMS.register("ruby_hoe", () ->
new HoeItem(ModItemTier.RUBY, -1.0F, new Item.Properties().group(Tutorial.TAB)));
// Blocks
public static final RegistryObject<Block> RUBY_BLOCK = BLOCKS.register("ruby_block", RubyBlock::new);

@ -1,5 +1,10 @@
{
"item.tutorial.ruby": "Ruby",
"block.tutorial.ruby_block": "Block of Ruby",
"itemGroup.tutorialTab": "Tutorial"
"itemGroup.tutorialTab": "Tutorial",
"item.tutorial.ruby_sword": "Ruby Sword",
"item.tutorial.ruby_pickaxe": "Ruby Pickaxe",
"item.tutorial.ruby_shovel": "Ruby Shovel",
"item.tutorial.ruby_axe": "Ruby Axe",
"item.tutorial.ruby_hoe": "Ruby Hoe"
}

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:items/ruby_axe"
}
}

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:items/ruby_hoe"
}
}

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:items/ruby_pickaxe"
}
}

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:items/ruby_shovel"
}
}

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "tutorial:items/ruby_sword"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:emerald"
},
{
"item": "minecraft:red_dye"
}
],
"result":
{
"item": "tutorial:ruby",
"count": 3
}
}

@ -0,0 +1,25 @@
{
"type": "minecraft:crafting_shaped",
"pattern":
[
"xxx",
"xdx",
"xxx"
],
"key":
{
"x":
{
"item": "tutorial:ruby"
},
"d":
{
"item": "minecraft:diamond"
}
},
"result":
{
"item": "tutorial:ruby_block",
"count": 1
}
}

@ -0,0 +1,9 @@
{
"type": "minecraft:smelting",
"ingredient": {
"item": "minecraft:emerald"
},
"result": "tutorial:ruby",
"experience": 1.0,
"cookingtime": 100
}
Loading…
Cancel
Save