Jump to content

djofox

Members
  • Posts

    12
  • Joined

  • Last visited

Posts posted by djofox

  1. So basically I want to give the player a regeneration effect when they're wearing an armour piece I made, but the onArmorTick will rapidly give the player regeneration, disabling the delay and maxing out their health almost instantly. I had this problem with the health boost effect so I made a custom potion effect for that, but the regeneration effect is harder to do. I'm wondering if I need to figure out how to create the custom regeneration effect, or if theres another bypass I can do.

    Heres the code I have for it (Only the iron crown and shulker crown I have difficulty with):

    	@Override
    	public void onArmorTick(ItemStack stack, World world, PlayerEntity player) {
    		if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.LEATHER_CROWN.get())
    				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.LEATHER_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.LEATHER_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.LEATHER_BOOTS)) {
    				player.addPotionEffect(new EffectInstance(Effects.HASTE, 15, 1, false, false));
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.LEATHER_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.HASTE, 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.CHAINMAIL_CROWN.get())
    				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.CHAINMAIL_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.CHAINMAIL_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.CHAINMAIL_BOOTS)) {
    				player.addPotionEffect(new EffectInstance(Effects.RESISTANCE, 15, 1, false, false));
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.CHAINMAIL_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.RESISTANCE, 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.GOLD_CROWN.get())
    				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.GOLDEN_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.GOLDEN_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.GOLDEN_BOOTS)) {
    				player.addPotionEffect(new EffectInstance(PotionList.MORE_HEALTH_EFFECT.get(), 15, 1, false, false));
    				player.addPotionEffect(new EffectInstance(Effects.HERO_OF_THE_VILLAGE, 15, 0, false, false));
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.GOLD_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(PotionList.MORE_HEALTH_EFFECT.get(), 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.IRON_CROWN.get())
    				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.IRON_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.IRON_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.IRON_BOOTS)) {
    				player.addPotionEffect(new EffectInstance(Effects.REGENERATION, 15, 0, false, false));
    				player.addPotionEffect(new EffectInstance(Effects.SPEED, 15, 1, false, false));
    
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.IRON_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.SPEED, 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.DIAMOND_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.DIAMOND_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.DIAMOND_BOOTS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.DIAMOND_CROWN.get())) {
    				player.addPotionEffect(new EffectInstance(Effects.CONDUIT_POWER, 15, 0, false, false));
    				player.addPotionEffect(new EffectInstance(Effects.DOLPHINS_GRACE, 15, 0, false, false));
    
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.DIAMOND_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.CONDUIT_POWER, 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.NETHERITE_CHESTPLATE)
    				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.NETHERITE_LEGGINGS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.NETHERITE_BOOTS)
    				&& player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.NETHERITE_CROWN.get())) {
    				player.addPotionEffect(new EffectInstance(Effects.FIRE_RESISTANCE, 15, 0, false, false));
    				player.addPotionEffect(new EffectInstance(Effects.STRENGTH, 15, 0, false, false));
    				player.addPotionEffect(new EffectInstance(Effects.NIGHT_VISION, 15, 0, false, false));
    
    			}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.NETHERITE_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.FIRE_RESISTANCE, 15, 0, false, false));
    		}
    		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.SHULKER_CROWN.get())) {
    			player.addPotionEffect(new EffectInstance(Effects.REGENERATION, 15, 1, false, false));
    			player.addPotionEffect(new EffectInstance(Effects.LEVITATION, 15, 0, false, false));
    		}
    	}
    }

     

  2. So basically I tried updating my 1.12.2 ore generation to 1.16.5, long story short theres a massive change. I finally got it without eclipse problems through looking at a couple githubs, but it doesnt work. I feel like im overlooking an obvious problem but I cant see it. If someone could help me out that'd be great.

    Heres my code for the ore gen.

    @Mod.EventBusSubscriber(modid = Main.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
    
    public class ModOreGen {
    
    	public static void generateOres(final BiomeLoadingEvent event) {
    		if (!(event.getCategory().equals(Biome.Category.NETHER) || event.getCategory().equals(Biome.Category.THEEND))) {
    			buildOreFeature(BlockInit.BERYLORE.get(), Blocks.GRASS, 10, 0, 100, 20);
    		}
    	}
    	
        private static ConfiguredFeature<?, ?> buildOreFeature(Block ore, Block filler, int maxVeinSize, int minVeinLevel, int maxVeinLevel, int spawnRate) {
            ConfiguredFeature<?, ?> feature = Feature.ORE.configured(new OreFeatureConfig(new BlockMatchRuleTest(filler), ore.defaultBlockState(), maxVeinSize));
            feature = minMaxRange(feature, minVeinLevel, maxVeinLevel).squared();
            feature = feature.count(spawnRate);
            return feature;
        }
    	    private static IDecoratable<ConfiguredFeature<?,?>> minMaxRange(IDecoratable<ConfiguredFeature<?,?>> f, int min, int max) {
    	        return f.decorated(Placement.RANGE.configured(new TopSolidRangeConfig(min, min, max)));
    	    }
    }

    And heres where I call it

    	public Main() {
    		IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
    		bus.addListener(this::setup);
    		
    		ItemInit.ITEMS.register(bus);
    		BlockInit.BLOCKS.register(bus);
    		MinecraftForge.EVENT_BUS.register(this);
    		MinecraftForge.EVENT_BUS.register(FuelHandler.instance);
    		PotionList.EFFECTS.register(bus);
    		PotionList.POTIONS.register(bus);
    		MinecraftForge.EVENT_BUS.addListener(EventPriority.HIGH, ModOreGen::generateOres);
    		
    	}

     

  3. Yes thank you it works now! I had noOcclusion before, but it didnt do anything. It was that I had to register the client side render.

    I think forge has one of their things broken though, .cutout() doesnt work nor does .cutoutMipped, but  .translucent() does

     

    Heres my code to see if I just did something wrong

    	private void setup(final FMLCommonSetupEvent event) {
    		RenderTypeLookup.setRenderLayer(BlockInit.BERYLGLASS.get(), RenderType.cutout());
    		RenderTypeLookup.setRenderLayer(BlockInit.BERYLBLOCK.get(), RenderType.cutoutMipped());
    		RenderTypeLookup.setRenderLayer(BlockInit.TREATEDCARBIDEBLOCK.get(), RenderType.translucent());
    	}

    and when I do this only the treated carbide block will appear translucent. When i have them all translucent and I place them beside eachother they look pretty weird, so if theres a fix for this that'd be great.

  4. 13 minutes ago, Luis_ST said:

    I'm not sure what you mean by connecting the texture, but try to add notSolid to the block properties
    and add a RenderTypeLookup to the block

    Still nothing

    public class ModGlassBlock extends GlassBlock{
    
    	   public ModGlassBlock(AbstractBlock.Properties p_i48392_1_) {
    		      super(p_i48392_1_);
    	   }
    	   public boolean isOpaqueCube() {
    		   return false;
    	   }
    	   public boolean notSolid() {
    		   return true;
    	   }
    }

    2021-04-14_22_38_58.thumb.png.c8f5ad0299aee28a3de0799ae75c0ea8.png

  5. So I made an extension off the default minecraft glass block and it doesnt become transparent. Im updating my mod from 1.12.2 to 1.16.5 so I'm not too sure how I can do the transparencys I have. One block I have it where the textures dont connect, and another block I have it like ice

    Heres the code (1.16) that doesnt make my glass block transparent. I'm tackling the easier issue first; the glass with connecting textures

    	public static final RegistryObject<Block> BERYLGLASS = BLOCKS.register("beryl_glass", () -> new ModGlassBlock(AbstractBlock.Properties.of(Material.LEAVES).strength(0.3F).sound(SoundType.GLASS).noOcclusion().harvestTool(ToolType.PICKAXE).harvestLevel(1)));

    And the glass block glass

    public class ModGlassBlock extends GlassBlock{
    
    	   public ModGlassBlock(AbstractBlock.Properties p_i48392_1_) {
    		      super(p_i48392_1_);
    	   }
    }

    The transparent textures appear solid. If someone could help that'd be great!

  6. 12 minutes ago, kiou.23 said:
    
    Exception message: java.lang.IllegalArgumentException: Duplicate registration jade

    you're registering "jade" twice, I think that should be the only thing wrong

    oh also, your enum constants should be all uppercased (it won't cause any errors of course, but it's the standard)

     

    Yes! thank you, it works great now. One more thing though, I followed default minecraft code for the armor, but even though I have all my layers in assets/gemstones/textures/models/armor it still shows up on my character as the 'no-texture' texture.

  7. 8 minutes ago, kiou.23 said:

    can you show your ToolMaterialList?

    Sure, i played around with the code a bit and added a ".get()" to the end of the material, this removed all errors. Except its wrong because now I launch and the game crashes, yet eclipse gives me no errors.

    Heres my list:

    package djofox.gemstones.materials;
    
    import java.util.function.Supplier;
    
    import djofox.gemstones.init.ItemInit;
    import net.minecraft.item.IItemTier;
    import net.minecraft.item.crafting.Ingredient;
    import net.minecraft.util.LazyValue;
    
    
    public enum ToolMaterialList implements IItemTier {
    	   beryl(0, 131, 15.0f, 2.75f, 30, () -> {
    	      return Ingredient.of(ItemInit.beryl.get());
    	   }),
    	   jade(2, 500, 7.0f, 2.25f, 23, () -> {
    		   return Ingredient.of(ItemInit.jade.get());
    	   }),
    	   moissanite(2, 500, 7.0f, 2.25f, 23, () -> {
    		   return Ingredient.of(ItemInit.moissanite.get());
    	   }),
    	   kunzite(0, 315, 12f, 0.5f, 20, () -> {
    		   return Ingredient.of(ItemInit.kunzite.get());
    	   }),
    	   orpiment(2, 258, 10f, 0.5f, 20, () -> {
    		   return Ingredient.of(ItemInit.orpiment.get());
    	   }),
    	   mercurySulfide(2, 1012, 5.5f, 2.0f, 14, () -> {
    		   return Ingredient.of(ItemInit.mercurySulfide.get());
    	   }),
    	   blackDiamond(3, 2757, 8.0f, 3.0f, 2, () -> {
    		   return Ingredient.of(ItemInit.blackDiamond.get());
    	   }),
    	   treatedCarbide(4, 2560, 10.0f, 5.0f, 2, () -> {
    		   return Ingredient.of(ItemInit.siliconCarbide.get());
    	   });
    
    	   private final int level;
    	   private final int uses;
    	   private final float speed;
    	   private final float damage;
    	   private final int enchantmentValue;
    	   private final LazyValue<Ingredient> repairIngredient;
    
    	   private ToolMaterialList(int p_i48458_3_, int p_i48458_4_, float p_i48458_5_, float p_i48458_6_, int p_i48458_7_, Supplier<Ingredient> p_i48458_8_) {
    	      this.level = p_i48458_3_;
    	      this.uses = p_i48458_4_;
    	      this.speed = p_i48458_5_;
    	      this.damage = p_i48458_6_;
    	      this.enchantmentValue = p_i48458_7_;
    	      this.repairIngredient = new LazyValue<>(p_i48458_8_);
    	   }
    
    	   public int getUses() {
    	      return this.uses;
    	   }
    
    	   public float getSpeed() {
    	      return this.speed;
    	   }
    
    	   public float getAttackDamageBonus() {
    	      return this.damage;
    	   }
    
    	   public int getLevel() {
    	      return this.level;
    	   }
    
    	   public int getEnchantmentValue() {
    	      return this.enchantmentValue;
    	   }
    
    	   public Ingredient getRepairIngredient() {
    	      return this.repairIngredient.get();
    	   }
    	}

    Heres my init class which causes the crash (from taking other stuff)

    Spoiler
    
    package djofox.gemstones.init;
    
    import djofox.gemstones.Main;
    import djofox.gemstones.items.CustomArmorItem;
    import djofox.gemstones.items.CustomAxeItem;
    import djofox.gemstones.items.CustomHoeItem;
    import djofox.gemstones.items.CustomPickaxeItem;
    import djofox.gemstones.items.CustomShovelItem;
    import djofox.gemstones.items.CustomSwordItem;
    import djofox.gemstones.items.ShadowSteak;
    import djofox.gemstones.materials.ArmourMaterialList;
    import djofox.gemstones.materials.ToolMaterialList;
    import net.minecraft.inventory.EquipmentSlotType;
    import net.minecraft.item.Item;
    import net.minecraftforge.fml.RegistryObject;
    import net.minecraftforge.registries.DeferredRegister;
    import net.minecraftforge.registries.ForgeRegistries;
    
    public class ItemInit {
    	
    	public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MODID);
    
    	//Foods
    	
        public static final RegistryObject<ShadowSteak> shadowSteak = ITEMS.register("shadow_steak", ShadowSteak::new);
    
    	//Items
    	public static final RegistryObject<Item> beryl = ITEMS.register("beryl",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunzite = ITEMS.register("kunzite",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpiment = ITEMS.register("orpiment",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jade = ITEMS.register("jade",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissanite = ITEMS.register("moissanite",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbide = ITEMS.register("jade",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> siliconCarbide = ITEMS.register("orpiment",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamond = ITEMS.register("black_diamond",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfide = ITEMS.register("mercury_sulfide",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> crystallicFragments = ITEMS.register("crystallic_fragments",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteMineral = ITEMS.register("kunzite_mineral",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylMineral = ITEMS.register("beryl_mineral",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> kunziteDust = ITEMS.register("kunzite_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeDust = ITEMS.register("jade_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentDust = ITEMS.register("orpiment_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondDust = ITEMS.register("black_diamond_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideDust = ITEMS.register("mercury_sulfide_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteDust = ITEMS.register("moissanite_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylDust = ITEMS.register("beryl_dust",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> diamondStick = ITEMS.register("diamond_stick",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	//Armor & Tools
    	public static final RegistryObject<Item> berylPickaxe = ITEMS.register("beryl_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.beryl, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentPickaxe = ITEMS.register("orpiment_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.orpiment, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunzitePickaxe = ITEMS.register("kunzite_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.kunzite, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfidePickaxe = ITEMS.register("mercury_sulfide_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.mercurySulfide, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissanitePickaxe = ITEMS.register("moissanite_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.moissanite, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbidePickaxe = ITEMS.register("treated_carbide_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.treatedCarbide, 2, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadePickaxe = ITEMS.register("jade_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.jade, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondPickaxe = ITEMS.register("black_diamond_pickaxe", () -> new CustomPickaxeItem(ToolMaterialList.blackDiamond, 1, -2.8F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> berylAxe = ITEMS.register("beryl_axe", () -> new CustomAxeItem(ToolMaterialList.beryl, 5, -2.9F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentAxe = ITEMS.register("orpiment_axe", () -> new CustomAxeItem(ToolMaterialList.orpiment, 7, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteAxe = ITEMS.register("kunzite_axe", () -> new CustomAxeItem(ToolMaterialList.kunzite, 7, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideAxe = ITEMS.register("mercury_sulfide_axe", () -> new CustomAxeItem(ToolMaterialList.mercurySulfide, 6, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteAxe = ITEMS.register("moissanite_axe", () -> new CustomAxeItem(ToolMaterialList.moissanite, 5.25F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideAxe = ITEMS.register("treated_carbide_axe", () -> new CustomAxeItem(ToolMaterialList.treatedCarbide, 6, -3.2F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeAxe = ITEMS.register("jade_axe", () -> new CustomAxeItem(ToolMaterialList.jade, 5.75F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondAxe = ITEMS.register("black_diamond_axe", () -> new CustomAxeItem(ToolMaterialList.blackDiamond, 5, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> berylShovel = ITEMS.register("beryl_shovel", () -> new CustomShovelItem(ToolMaterialList.beryl, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentShovel = ITEMS.register("orpiment_shovel", () -> new CustomShovelItem(ToolMaterialList.orpiment, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteShovel = ITEMS.register("kunzite_shovel", () -> new CustomShovelItem(ToolMaterialList.kunzite, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideShovel = ITEMS.register("mercury_sulfide_shovel", () -> new CustomShovelItem(ToolMaterialList.mercurySulfide, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteShovel = ITEMS.register("moissanite_shovel", () -> new CustomShovelItem(ToolMaterialList.moissanite, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideShovel = ITEMS.register("treated_carbide_shovel", () -> new CustomShovelItem(ToolMaterialList.treatedCarbide, 7.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeShovel = ITEMS.register("jade_shovel", () -> new CustomShovelItem(ToolMaterialList.jade, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondShovel = ITEMS.register("black_diamond_shovel", () -> new CustomShovelItem(ToolMaterialList.blackDiamond, 1.5F, -3.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> berylHoe = ITEMS.register("beryl_hoe", () -> new CustomHoeItem(ToolMaterialList.beryl, -3, 0.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentHoe = ITEMS.register("orpiment_hoe", () -> new CustomHoeItem(ToolMaterialList.orpiment, -1, 0.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteHoe = ITEMS.register("kunzite_hoe", () -> new CustomHoeItem(ToolMaterialList.kunzite, -1, 0.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideHoe = ITEMS.register("mercury_sulfide_hoe", () -> new CustomHoeItem(ToolMaterialList.mercurySulfide, -2, -1.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteHoe = ITEMS.register("moissanite_hoe", () -> new CustomHoeItem(ToolMaterialList.moissanite, -3, 1.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideHoe = ITEMS.register("treated_carbide_hoe", () -> new CustomHoeItem(ToolMaterialList.treatedCarbide, -3, 1.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeHoe = ITEMS.register("jade_hoe", () -> new CustomHoeItem(ToolMaterialList.jade, -2, -0.25F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondHoe = ITEMS.register("black_diamond_hoe", () -> new CustomHoeItem(ToolMaterialList.blackDiamond, -3, 0.0F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> berylSword = ITEMS.register("beryl_sword", () -> new CustomSwordItem(ToolMaterialList.beryl, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentSword = ITEMS.register("orpiment_sword", () -> new CustomSwordItem(ToolMaterialList.orpiment, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteSword = ITEMS.register("kunzite_sword", () -> new CustomSwordItem(ToolMaterialList.kunzite, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideSword = ITEMS.register("mercury_sulfide_sword", () -> new CustomSwordItem(ToolMaterialList.mercurySulfide, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteSword = ITEMS.register("moissanite_sword", () -> new CustomSwordItem(ToolMaterialList.moissanite, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideSword = ITEMS.register("treated_carbide_sword", () -> new CustomSwordItem(ToolMaterialList.treatedCarbide, 4, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeSword = ITEMS.register("jade_sword", () -> new CustomSwordItem(ToolMaterialList.jade, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondSword = ITEMS.register("black_diamond_sword", () -> new CustomSwordItem(ToolMaterialList.blackDiamond, 3, -2.4F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    
    	public static final RegistryObject<Item> berylHelmet = ITEMS.register("beryl_helmet", () -> new CustomArmorItem(ArmourMaterialList.BERYL, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylChestplate = ITEMS.register("beryl_chestplate", () -> new CustomArmorItem(ArmourMaterialList.BERYL, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylLeggings = ITEMS.register("beryl_leggings", () -> new CustomArmorItem(ArmourMaterialList.BERYL, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylBoots = ITEMS.register("beryl_boots", () -> new CustomArmorItem(ArmourMaterialList.BERYL, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> berylCrown = ITEMS.register("beryl_crown", () -> new CustomArmorItem(ArmourMaterialList.BERYLC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    
    	public static final RegistryObject<Item> orpimentHelmet = ITEMS.register("orpiment_helmet", () -> new CustomArmorItem(ArmourMaterialList.ORPIMENT, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentChestplate = ITEMS.register("orpiment_chestplate", () -> new CustomArmorItem(ArmourMaterialList.ORPIMENT, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentLeggings = ITEMS.register("orpiment_leggings", () -> new CustomArmorItem(ArmourMaterialList.ORPIMENT, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentBoots = ITEMS.register("orpiment_boots", () -> new CustomArmorItem(ArmourMaterialList.ORPIMENT, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> orpimentCrown = ITEMS.register("orpiment_crown", () -> new CustomArmorItem(ArmourMaterialList.ORPIMENTC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> kunziteHelmet = ITEMS.register("kunzite_helmet", () -> new CustomArmorItem(ArmourMaterialList.KUNZITE, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteChestplate = ITEMS.register("kunzite_chestplate", () -> new CustomArmorItem(ArmourMaterialList.KUNZITE, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteLeggings = ITEMS.register("kunzite_leggings", () -> new CustomArmorItem(ArmourMaterialList.KUNZITE, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteBoots = ITEMS.register("kunzite_boots", () -> new CustomArmorItem(ArmourMaterialList.KUNZITE, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> kunziteCrown = ITEMS.register("kunzite_crown", () -> new CustomArmorItem(ArmourMaterialList.KUNZITEC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> jadeHelmet = ITEMS.register("jade_helmet", () -> new CustomArmorItem(ArmourMaterialList.JADE, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeChestplate = ITEMS.register("jade_chestplate", () -> new CustomArmorItem(ArmourMaterialList.JADE, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeLeggings = ITEMS.register("jade_leggings", () -> new CustomArmorItem(ArmourMaterialList.JADE, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeBoots = ITEMS.register("jade_boots", () -> new CustomArmorItem(ArmourMaterialList.JADE, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> jadeCrown = ITEMS.register("jade_crown", () -> new CustomArmorItem(ArmourMaterialList.JADEC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> mercurySulfideHelmet = ITEMS.register("mercury_sulfide_helmet", () -> new CustomArmorItem(ArmourMaterialList.MERCURYSULFIDE, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideChestplate = ITEMS.register("mercury_sulfide_chestplate", () -> new CustomArmorItem(ArmourMaterialList.MERCURYSULFIDE, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideLeggings = ITEMS.register("mercury_sulfide_leggings", () -> new CustomArmorItem(ArmourMaterialList.MERCURYSULFIDE, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideBoots = ITEMS.register("mercury_sulfide_boots", () -> new CustomArmorItem(ArmourMaterialList.MERCURYSULFIDE, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> mercurySulfideCrown = ITEMS.register("mercury_sulfide_crown", () -> new CustomArmorItem(ArmourMaterialList.MERCURYSULFIDEC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> moissaniteHelmet = ITEMS.register("moissanite_helmet", () -> new CustomArmorItem(ArmourMaterialList.MOISSANITE, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteChestplate = ITEMS.register("moissanite_chestplate", () -> new CustomArmorItem(ArmourMaterialList.MOISSANITE, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteLeggings = ITEMS.register("moissanite_leggings", () -> new CustomArmorItem(ArmourMaterialList.MOISSANITE, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteBoots = ITEMS.register("moissanite_boots", () -> new CustomArmorItem(ArmourMaterialList.MOISSANITE, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> moissaniteCrown = ITEMS.register("moissanite_crown", () -> new CustomArmorItem(ArmourMaterialList.MOISSANITEC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> blackDiamondHelmet = ITEMS.register("black_diamond_helmet", () -> new CustomArmorItem(ArmourMaterialList.BLACKDIAMOND, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondChestplate = ITEMS.register("black_diamond_chestplate", () -> new CustomArmorItem(ArmourMaterialList.BLACKDIAMOND, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondLeggings = ITEMS.register("black_diamond_leggings", () -> new CustomArmorItem(ArmourMaterialList.BLACKDIAMOND, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondBoots = ITEMS.register("black_diamond_boots", () -> new CustomArmorItem(ArmourMaterialList.BLACKDIAMOND, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> blackDiamondCrown = ITEMS.register("black_diamond_crown", () -> new CustomArmorItem(ArmourMaterialList.BLACKDIAMONDC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	
    	public static final RegistryObject<Item> treatedCarbideHelmet = ITEMS.register("treated_carbide_helmet", () -> new CustomArmorItem(ArmourMaterialList.TREATEDCARBIDE, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideChestplate = ITEMS.register("treated_carbide_chestplate", () -> new CustomArmorItem(ArmourMaterialList.TREATEDCARBIDE, EquipmentSlotType.CHEST, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideLeggings = ITEMS.register("treated_carbide_leggings", () -> new CustomArmorItem(ArmourMaterialList.TREATEDCARBIDE, EquipmentSlotType.LEGS, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideBoots = ITEMS.register("treated_carbide_boots", () -> new CustomArmorItem(ArmourMaterialList.TREATEDCARBIDE, EquipmentSlotType.FEET, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    	public static final RegistryObject<Item> treatedCarbideCrown = ITEMS.register("treated_carbide_crown", () -> new CustomArmorItem(ArmourMaterialList.TREATEDCARBIDEC, EquipmentSlotType.HEAD, new Item.Properties().tab(Main.GEMSTONES_GROUP)));
    }

     

    And heres the error I get when I crash (I dont know if you need it but better safe than sorry)

    Spoiler
    
    [20:51:56] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ModelRegistryEvent to a broken mod state
    [20:51:58] [Worker-Main-5/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:06] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:12] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:12] [Worker-Main-7/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:14] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:14] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:15] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:15] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:15] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:15] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:52:15] [Render thread/DEBUG] [ne.mi.fm.ForgeI18n/CORE]: Loading I18N data entries: 5046
    [20:52:17] [Render thread/INFO] [minecraft/SoundSystem]: OpenAL initialized.
    [20:52:17] [Render thread/INFO] [minecraft/SoundEngine]: Sound engine started
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 1024x512x4 minecraft:textures/atlas/blocks.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x128x4 minecraft:textures/atlas/signs.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:18] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
    [20:52:18] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:19] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ModelBakeEvent to a broken mod state
    [20:52:20] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x0 minecraft:textures/atlas/particles.png-atlas
    [20:52:20] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:20] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
    [20:52:20] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:20] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
    [20:52:20] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:52:21] [Render thread/DEBUG] [ne.mi.fm.ForgeI18n/CORE]: Loading I18N data entries: 4978
    [20:52:21] [Render thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 3d02fb66-be69-4eb5-8420-a5740538b884
    [20:52:21] [Render thread/INFO] [STDOUT/]: [net.minecraft.crash.CrashReport:addCategory:196]: Negative index in crash report handler (21/23)
    [20:52:21] [Render thread/FATAL] [ne.mi.fm.cl.ClientModLoader/]: Crash report saved to .\crash-reports\crash-2021-04-12_20.52.21-fml.txt
    ---- Minecraft Crash Report ----
    // My bad.
    
    Time: 4/12/21 8:52 PM
    Description: Mod loading error has occurred
    
    java.lang.Exception: Mod Loading has failed
    	at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:85) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
    	at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:188) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    	at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    	at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
    	at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    	at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    	at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    	at net.minecraft.client.Minecraft.runTick(Minecraft.java:976) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    	at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
    	at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_281] {}
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_281] {}
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_281] {}
    	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_281] {}
    	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {}
    	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
    	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
    	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
    	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
    	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}
    	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {}
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Thread: Render thread
    Stacktrace:
    	at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:125) ~[forge:?] {re:classloading}
    -- MOD gemstones --
    Details:
    	Caused by 0: java.lang.ExceptionInInitializerError
    		at djofox.gemstones.Main.<init>(Main.java:24) ~[?:?] {re:classloading}
    		at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_281] {}
    		at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_281] {}
    		at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_281] {}
    		at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_281] {}
    		at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_281] {}
    		at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.1] {re:classloading}
    		at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading}
    		at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_281] {}
    		at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_281] {}
    		at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_281] {}
    		at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_281] {}
    		at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_281] {}
    		at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_281] {}
    
    	Mod File: main
    	Failure message: Gemstones (gemstones) has failed to load correctly
    		java.lang.ExceptionInInitializerError: null
    	Mod Version: 1.4
    	Mod Issue URL: NOT PROVIDED
    	Exception message: java.lang.IllegalArgumentException: Duplicate registration jade
    Stacktrace:
    	at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:125) ~[forge:?] {re:classloading}
    	at djofox.gemstones.init.ItemInit.<clinit>(ItemInit.java:38) ~[?:?] {re:classloading}
    	at djofox.gemstones.Main.<init>(Main.java:24) ~[?:?] {re:classloading}
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_281] {}
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_281] {}
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_281] {}
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_281] {}
    	at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_281] {}
    	at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.1] {re:classloading}
    	at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading}
    	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_281] {}
    	at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_281] {}
    	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_281] {}
    	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_281] {}
    	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_281] {}
    	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_281] {}
    

     

     

  8. 3 hours ago, eggpasta said:

    Please provide the error you are getting

    Heres the full error

    Spoiler

    [20:16:46] [modloading-worker-2/ERROR] [ne.mi.fm.ja.FMLModContainer/LOADING]: Failed to create mod instance. ModID: gemstones, class djofox.gemstones.Main
    java.lang.ExceptionInInitializerError: null
        at djofox.gemstones.Main.<init>(Main.java:25) ~[?:?] {re:classloading}
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_281] {}
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_281] {}
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_281] {}
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_281] {}
        at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_281] {}
        at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.1] {re:classloading}
        at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading}
        at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) [?:1.8.0_281] {}
        at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) [?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) [?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) [?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) [?:1.8.0_281] {}
    Caused by: java.lang.IllegalArgumentException: Duplicate registration jade
        at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:125) ~[forge:?] {re:classloading}
        at djofox.gemstones.init.MaterialInit.<clinit>(MaterialInit.java:24) ~[?:?] {re:classloading}
        ... 14 more
    [20:16:46] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-client.toml for forge tracking
    [20:16:46] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-server.toml for forge tracking
    [20:16:46] [modloading-worker-3/DEBUG] [ne.mi.fm.co.ConfigTracker/CONFIG]: Config file forge-common.toml for forge tracking
    [20:16:46] [modloading-worker-3/DEBUG] [ne.mi.fm.AutomaticEventSubscriber/LOADING]: Attempting to inject @EventBusSubscriber classes into the eventbus for forge
    [20:16:46] [modloading-worker-3/DEBUG] [ne.mi.fm.AutomaticEventSubscriber/LOADING]: Auto-subscribing net.minecraftforge.client.model.ModelDataManager to FORGE
    [20:16:47] [Render thread/FATAL] [ne.mi.fm.ModLoader/LOADING]: Failed to complete lifecycle event CONSTRUCT, 1 errors found
    [20:16:47] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.sound.SoundLoadEvent to a broken mod state
    [20:16:48] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ColorHandlerEvent$Block to a broken mod state
    [20:16:48] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ColorHandlerEvent$Item to a broken mod state
    [20:16:48] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming render with desc (Lnet/minecraft/entity/projectile/FishingBobberEntity;FFLcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/renderer/IRenderTypeBuffer;I)V
    [20:16:48] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming getArmPose with desc (Lnet/minecraft/client/entity/player/AbstractClientPlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/client/renderer/entity/model/BipedModel$ArmPose;
    [20:16:49] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming prepareMobModel with desc (Lnet/minecraft/entity/MobEntity;FFF)V
    [20:16:49] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming setupAnim with desc (Lnet/minecraft/entity/MobEntity;FFFFF)V
    [20:16:49] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming renderHandsWithItems with desc (FLcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/renderer/IRenderTypeBuffer$Impl;Lnet/minecraft/client/entity/player/ClientPlayerEntity;I)V
    [20:16:49] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming renderHandsWithItems with desc (FLcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/renderer/IRenderTypeBuffer$Impl;Lnet/minecraft/client/entity/player/ClientPlayerEntity;I)V
    [20:16:49] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming renderArmWithItem with desc (Lnet/minecraft/client/entity/player/AbstractClientPlayerEntity;FFLnet/minecraft/util/Hand;FLnet/minecraft/item/ItemStack;FLcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/renderer/IRenderTypeBuffer;I)V
    [20:16:50] [Render thread/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming renderArmWithItem with desc (Lnet/minecraft/client/entity/player/AbstractClientPlayerEntity;FFLnet/minecraft/util/Hand;FLnet/minecraft/item/ItemStack;FLcom/mojang/blaze3d/matrix/MatrixStack;Lnet/minecraft/client/renderer/IRenderTypeBuffer;I)V
    [20:16:51] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ParticleFactoryRegisterEvent to a broken mod state
    [20:16:51] [Render thread/INFO] [mojang/NarratorWindows]: Narrator library for x64 successfully loaded
    [20:16:52] [Render thread/INFO] [minecraft/SimpleReloadableResourceManager]: Reloading ResourceManager: Default
    [20:16:53] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ModelRegistryEvent to a broken mod state
    [20:16:54] [Worker-Main-5/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:16:59] [Worker-Main-4/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:04] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:04] [Worker-Main-7/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Worker-Main-6/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Pre to a broken mod state
    [20:17:07] [Render thread/DEBUG] [ne.mi.fm.ForgeI18n/CORE]: Loading I18N data entries: 5046
    [20:17:08] [Render thread/INFO] [minecraft/SoundSystem]: OpenAL initialized.
    [20:17:08] [Render thread/INFO] [minecraft/SoundEngine]: Sound engine started
    [20:17:09] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 1024x512x4 minecraft:textures/atlas/blocks.png-atlas
    [20:17:09] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:09] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x128x4 minecraft:textures/atlas/signs.png-atlas
    [20:17:09] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:09] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
    [20:17:09] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:10] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
    [20:17:10] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:10] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
    [20:17:10] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:10] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
    [20:17:10] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:10] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
    [20:17:10] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:11] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.ModelBakeEvent to a broken mod state
    [20:17:11] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x0 minecraft:textures/atlas/particles.png-atlas
    [20:17:11] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:11] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
    [20:17:11] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:11] [Render thread/INFO] [minecraft/AtlasTexture]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
    [20:17:11] [Render thread/ERROR] [ne.mi.fm.ModLoader/]: Cowardly refusing to send event net.minecraftforge.client.event.TextureStitchEvent$Post to a broken mod state
    [20:17:12] [Render thread/DEBUG] [ne.mi.fm.ForgeI18n/CORE]: Loading I18N data entries: 4978
    [20:17:12] [Render thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 0551e227-ac7d-4d73-973c-e041e9b0c118
    [20:17:12] [Render thread/INFO] [STDOUT/]: [net.minecraft.crash.CrashReport:addCategory:196]: Negative index in crash report handler (21/23)
    [20:17:12] [Render thread/FATAL] [ne.mi.fm.cl.ClientModLoader/]: Crash report saved to .\crash-reports\crash-2021-04-12_20.17.12-fml.txt
    ---- Minecraft Crash Report ----
    // I bet Cylons wouldn't have this problem.

    Time: 4/12/21 8:17 PM
    Description: Mod loading error has occurred

    java.lang.Exception: Mod Loading has failed
        at net.minecraftforge.fml.CrashReportExtender.dumpModLoadingCrashReport(CrashReportExtender.java:85) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
        at net.minecraftforge.fml.client.ClientModLoader.completeModLoading(ClientModLoader.java:188) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
        at net.minecraft.client.Minecraft.lambda$null$1(Minecraft.java:508) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.Util.ifElse(Util.java:320) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading}
        at net.minecraft.client.Minecraft.lambda$new$2(Minecraft.java:504) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.client.gui.ResourceLoadProgressGui.render(ResourceLoadProgressGui.java:113) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
        at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:481) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.client.Minecraft.runTick(Minecraft.java:976) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.client.Minecraft.run(Minecraft.java:607) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.client.main.Main.main(Main.java:184) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_281] {}
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_281] {}
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_281] {}
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_281] {}
        at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:52) ~[forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {}
        at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}
        at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:105) [forge-1.16.5-36.1.0_mapped_official_1.16.5-recomp.jar:?] {}


    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------

    -- Head --
    Thread: Render thread
    Stacktrace:
        at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:125) ~[forge:?] {re:classloading}
    -- MOD gemstones --
    Details:
        Caused by 0: java.lang.ExceptionInInitializerError
            at djofox.gemstones.Main.<init>(Main.java:25) ~[?:?] {re:classloading}
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_281] {}
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_281] {}
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_281] {}
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_281] {}
            at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_281] {}
            at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.1] {re:classloading}
            at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading}
            at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_281] {}
            at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_281] {}
            at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_281] {}
            at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_281] {}
            at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_281] {}
            at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_281] {}

        Mod File: main
        Failure message: Gemstones (gemstones) has failed to load correctly
            java.lang.ExceptionInInitializerError: null
        Mod Version: 1.4
        Mod Issue URL: NOT PROVIDED
        Exception message: java.lang.IllegalArgumentException: Duplicate registration jade
    Stacktrace:
        at net.minecraftforge.registries.DeferredRegister.register(DeferredRegister.java:125) ~[forge:?] {re:classloading}
        at djofox.gemstones.init.MaterialInit.<clinit>(MaterialInit.java:24) ~[?:?] {re:classloading}
        at djofox.gemstones.Main.<init>(Main.java:25) ~[?:?] {re:classloading}
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_281] {}
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_281] {}
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_281] {}
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_281] {}
        at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_281] {}
        at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:81) ~[forge:36.1] {re:classloading}
        at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:120) ~[forge:?] {re:classloading}
        at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) ~[?:1.8.0_281] {}
        at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) ~[?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) ~[?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) ~[?:1.8.0_281] {}
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) ~[?:1.8.0_281] {}

     

  9. 23 minutes ago, kiou.23 said:

    your "beryl" Item is not an Item, it's a RegistryObject of an Item, think of it like a box which at the starts is empty, and that after registration your item gets put inside of it.
    you're passing a RegistryObject to the Ingredient, while it expects an IItemProvider
    you can call RegistryObject#get to get the item that's inside it
    but note that if you call it before registration happens, the box is going to be empty and there won't be an item yet

    Ohh ok, that makes sense, but even still how could I fix it? I cant initialize my items before I do my ToolMaterialList because my items class uses it.

  10. So I already created an Armor class and Item Tier class for my new set of Mod tools and armor, but I can't figure out how to set the repair material as my Mod Item. The Item I would like to use is declared as a Registry Object because that's the new way forge does it, however "fromItems" takes IItemProvider and I'm not sure how to properly declare that, also I found another 'fix' that said use "get" but that doesnt work either

     

    Can someone help me figure this out please? 

     

    My repair

    	   	   BERYLC("berylc", 40, new int[]{1, 2, 3, 1}, 1, SoundEvents.EXPERIENCE_ORB_PICKUP, 1.0F, 0.0F, () -> {
    		      return Ingredient.get(ItemInit.beryl); //This line gets the error

    My Item

    	public static final RegistryObject<Item> beryl = ITEMS.register("beryl",
    			() -> new Item(new Item.Properties().tab(Main.GEMSTONES_GROUP)));

     

    Thanks in advance!

  11. I keep on getting this error when trying to register tools "The method register(String, Supplier<? extends I>) in the type DeferredRegister<Item> is not applicable for the arguments (String, CustomPickaxeItem)"

    I cant find a fix without my game crashing, is there another way I should be trying to register tools/armour?

    	//Armor & Tools
    	public static final RegistryObject<Item> PICKAXERUBY = ITEMS.register("beryl_pickaxe", new CustomPickaxeItem(ToolMaterialList.berylT, -1, 0.6F, new Item.Properties().tab(Main.GEMSTONES_GROUP)));

    And here's my deferred registry code

    	public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Main.MODID);

    Heres my custom pickaxe code

    package djofox.gemstones.items;
    
    import net.minecraft.item.IItemTier;
    import net.minecraft.item.PickaxeItem;
    
    public class CustomPickaxeItem extends PickaxeItem {
    
    	
    	
    	public CustomPickaxeItem(IItemTier tier, int attackDamageIn, float attackSpeedIn, Properties builder) {
    		super(tier, attackDamageIn, attackSpeedIn, builder);
    
    	}
    }

     

×
×
  • Create New...

Important Information

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