Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

  • Author

package com.anirudh.forgemod.tools; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.world.item.Items; import net.minecraft.world.item.Tier; import net.minecraft.world.item.Tiers; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.block.Block; import net.minecraftforge.common.ForgeTier; import net.minecraftforge.common.TierSortingRegistry; import java.util.List; public enum ModItemTier implements { public static final Tag. net.minecraft.tags.Tag.Named<Block> MY_TIER_TAG = BlockTags.createOptional(new ResourceLocation("tag_based_tool_types:needs_my_tier_tool")); public static final Tier MY_TIER = TierSortingRegistry.registerTier( new ForgeTier(5, 5000, 10, 100, 0, MY_TIER_TAG, () -> Ingredient.of(Items.BEDROCK)), new ResourceLocation("tag_based_tool_types:my_tier"), List.of(Tiers.DIAMOND), List.of()); }

  • Author

ok - package com.anirudh.forgemod.tools;

import net.minecraft.resources.ResourceLocation;

mport net.minecraft.tags.BlockTags;

import net.minecraft.world.item.Items;

import net.minecraft.world.item.Tier;

import net.minecraft.world.item.Tiers;

import net.minecraft.world.item.crafting.Ingredient;

import net.minecraft.world.level.block.Block;

import net.minecraftforge.common.ForgeTier;

import net.minecraftforge.common.TierSortingRegistry;

import java.util.List;

public enum ModItemTier implements {

public static final Tag.

net.minecraft.tags.Tag.Named<Block> MY_TIER_TAG = BlockTags.createOptional(new ResourceLocation("tag_based_tool_types:needs_my_tier_tool")); public static final Tier MY_TIER = TierSortingRegistry.registerTier( new ForgeTier(5, 5000, 10, 100, 0, MY_TIER_TAG, () -> Ingredient.of(Items.BEDROCK)), new ResourceLocation("tag_based_tool_types:my_tier"),

List.of(Tiers.DIAMOND), List.of()); }

7 minutes ago, diesieben07 said:

Please use the code feature and don't remove the line breaks. That code is completely unreadable.

 

Edited by Luis_ST

  • Author
56 minutes ago, mahidhoni123 said:

ok - package com.anirudh.forgemod.tools;

import net.minecraft.resources.ResourceLocation;

mport net.minecraft.tags.BlockTags;

import net.minecraft.world.item.Items;

import net.minecraft.world.item.Tier;

import net.minecraft.world.item.Tiers;

import net.minecraft.world.item.crafting.Ingredient;

import net.minecraft.world.level.block.Block;

import net.minecraftforge.common.ForgeTier;

import net.minecraftforge.common.TierSortingRegistry;

import java.util.List;

public enum ModItemTier implements {

public static final Tag.

net.minecraft.tags.Tag.Named<Block> MY_TIER_TAG = BlockTags.createOptional(new ResourceLocation("tag_based_tool_types:needs_my_tier_tool")); public static final Tier MY_TIER = TierSortingRegistry.registerTier( new ForgeTier(5, 5000, 10, 100, 0, MY_TIER_TAG, () -> Ingredient.of(Items.BEDROCK)), new ResourceLocation("tag_based_tool_types:my_tier"),

List.of(Tiers.DIAMOND), List.of()); }

Please can you send me the code

first you should store the Tier in a static field, second you should call TierSortingRegistry#registerTier in FMLCommonSetupEvent, the other code looks okay

  • Author

I skipped this and tried the Armor but another problem came up - fromItem, 

My code - 

package com.anirudh.forgemod.armor;

import com.anirudh.forgemod.ForgeMod;

import com.anirudh.forgemod.util.RegistryHandler;

import net.minecraft.sounds.SoundEvent;

import net.minecraft.sounds.SoundEvents;

import net.minecraft.world.entity.EquipmentSlot;

import net.minecraft.world.item.ArmorMaterial;

import net.minecraft.world.item.crafting.Ingredient;

import java.util.function.Supplier;

public enum ModArmorMaterial implements ArmorMaterial { RUBY(ForgeMod.MOD_ID + ":ruby", 10000000, new int[] { 100, 120, 170, 100}, 18, SoundEvents.AMBIENT_CAVE, 10.0F, () ->{ return Ingredient.fromItem(RegistryHandler.RUBY.get()); });

private static final int[] MAX_DAMAGE_ARRAY = new int[] {11, 16, 15, 13 };

private final String name; private final int maxDamageFactor;

private final int[] damageReductionAmountArray;

private final int enchantability;

private final SoundEvent soundEvent;

private final float toughness;

private final Supplier<Ingredient> repairMaterial; ModArmorMaterial(String name, int maxDamageFactor, int[] damageReductionAmountArray, int enchantability, SoundEvent soundEvent, float toughness, Supplier<Ingredient> repairMaterial){

this.name = name;

this.maxDamageFactor = maxDamageFactor;

this.damageReductionAmountArray = damageReductionAmountArray;

this.enchantability = enchantability;

this.soundEvent = soundEvent;

this.toughness = toughness;

this.repairMaterial = repairMaterial;

}

@Override

public int getDurabilityForSlot(EquipmentSlot equipmentSlot) { return 0; }

@Override public int getDefenseForSlot(EquipmentSlot equipmentSlot) { return 0; }

@Override public int getEnchantmentValue() { return 0; }

@Override public SoundEvent getEquipSound() { return null; }

@Override public Ingredient getRepairIngredient() { return null; }

@Override public String getName() { return null; }

@Override public float getToughness() { return 0; }

@Override public float getKnockbackResistance() { return 0; } }

  • Author
package com.anirudh.forgemod.armor; 

import com.anirudh.forgemod.ForgeMod; 
import com.anirudh.forgemod.util.RegistryHandler; 
import net.minecraft.sounds.SoundEvent; 
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.item.ArmorMaterial;
import net.minecraft.world.item.crafting.Ingredient; 
import java.util.function.Supplier;
	
	public enum ModArmorMaterial implements ArmorMaterial { RUBY(ForgeMod.MOD_ID + ":ruby", 10000000, new int[] { 100, 120, 170, 100}, 18, SoundEvents.AMBIENT_CAVE, 10.0F, () ->{ return Ingredient.fromItem(RegistryHandler.RUBY.get()); }); 

private static final int[] MAX_DAMAGE_ARRAY = new int[] {11, 16, 15, 13 };
private final String name;
private final int maxDamageFactor;
private final int[] damageReductionAmountArray;
private final int enchantability;
private final SoundEvent soundEvent;
private final float toughness;
private final Supplier<Ingredient> repairMaterial;
  
  ModArmorMaterial(String name, int maxDamageFactor, int[] damageReductionAmountArray, int enchantability, SoundEvent soundEvent, float toughness, Supplier<Ingredient> repairMaterial){
  this.name = name; 
  this.maxDamageFactor = maxDamageFactor;
  this.damageReductionAmountArray = damageReductionAmountArray; 
  this.enchantability = enchantability;
  this.soundEvent = soundEvent;
  this.toughness = toughness;
  this.repairMaterial = repairMaterial;} 
  
  //The remaining code can be ignored 
  
  @Override public int getDurabilityForSlot(EquipmentSlot equipmentSlot) { return 0; } @Override public int getDefenseForSlot(EquipmentSlot equipmentSlot) { return 0; } @Override public int getEnchantmentValue() { return 0; } @Override public SoundEvent getEquipSound() { return null; } @Override public Ingredient getRepairIngredient() { return null; } @Override public String getName() { return null; } @Override public float getToughness() { return 0; } @Override public float getKnockbackResistance() { return 0; } }

The error is - Cannot resolve method 'fromItem' in 'Ingredient'

  • Author

Oh no, while running the game this error came - error 8c539e9e-076f-4972-87e0-d0e9a484da8e I want to paste a print screen image, how do we do that?

IntelliJ terminal -

 FML Language Providers: 
        [email protected]
        javafml@null
    Mod List: 
        forge-1.17.1-37.0.109_mapped_official_1.17.1.jar  |Minecraft                     |minecraft                     |1.17.1              |COMMON_SET|Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f
                                                          |Forge                         |forge                         |37.0.109            |COMMON_SET|Manifest: NOSIGNATURE
        main                                              |Forge Mod                     |forge_mod                     |1.17.1-1.0.0        |ERROR     |Manifest: NOSIGNATURE
    Crash Report UUID: 0a3215c3-e186-42a6-8d23-d7ca5f6b57ee
    FML: 37.0
    Forge: net.minecraftforge:37.0.109

 

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.