Jump to content

[1.12.2] Vanilla mobs with custom loot table [SOLVED]


supreme marshal

Recommended Posts

I feel close to do this, but I still have some error in my codes. Hopefully someone can help me with that.

 

So I have a Dragon_loot.json file for my loot tables.

Then I have a class named LootTableHandler to handle my Loot_table.json file

and then I have another class named LivingDropsEvent where I want to get a vanilla mob (zombie for example), remove his loot table and put my new loot table instead.

 

Here is my codes for LootTableHandler class:

package com.SupremeMarshal.MoreToolsTierMod.util.handlers;

import com.SupremeMarshal.MoreToolsTierMod.util.Reference;

import net.minecraft.util.ResourceLocation;
import net.minecraft.world.storage.loot.LootTableList;

public class LootTableHandler 
{
	public static final ResourceLocation DRAGON_LOOT = LootTableList.register(new ResourceLocation(Reference.MOD_ID, "dragon_loot"));
}

 

Codes for LivingDropsEvent class:

package com.SupremeMarshal.MoreToolsTierMod.util.handlers;

import net.minecraft.entity.passive.EntitySheep;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

public class LivingDropsEvent 
{

	@SubscribeEvent(priority=EventPriority.NORMAL, receiveCanceled=true)
	public void onEvent(LivingDropsEvent event)
	{
// Here it say "entity" (at "event.entity instancof") can not be resolved or is not a field, same goes for "drops" (at "event.drops.clear")
	    if (event.entity instanceof EntityZombie)
	    {
//here, it should remove loot table from Zombie
	        System.out.println("EntitySheep drops event");
	        event.drops.clear();
//here I want to put the new loot table for zombie
	        protected ResourceLocation getLootTable()
	        {
	        	return LootTableHandler.DRAGON_LOOT
	        }
	        
	    }
	} 
	
}

 

Edited by supreme marshal
Link to comment
Share on other sites

That is not how that event works.

 

For 1, your function is a void function, meaning it returns nothing and you're trying to return whatever LootTableHandler.DRAGON_LOOT is.

Two, that's not what that event is for. Yes, its to modify the drops, but it does so outside the context of loot tables.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

There is actually a LootTableLoadEvent you should use instead. Basically you can check for whether it is the dragon loot table loading and then replace it.

 

See a tutorial here: https://tutorials.darkhax.net/tutorials/loot_tables/

 

Note that recently the event has added the ability to get the LootTableManager instance as well which gives you ability to access more powerful methods.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

1 minute ago, jabelar said:

There is actually a LootTableLoadEvent you should use instead. Basically you can check for whether it is the dragon loot table loading and then replace it.

 

See a tutorial here: https://tutorials.darkhax.net/tutorials/loot_tables/

 

Note that recently the event has added the ability to get the LootTableManager instance as well which gives you ability to access more powerful methods.

Thanks, I'm seeking to obtain more knowledge.

Link to comment
Share on other sites

Ok I got through the tutorial and created this new class. I made an item called Dragon helm, and put this item on the Loot Table of Witch but when I tested the game, he never dropped the dragon helm. I killed 20 Witch to confirm it. Here is the code:

 

public class LootTable 
{
	@SubscribeEvent
	public void onLootTablesLoaded(LootTableLoadEvent event) {

	    //Witch
	    if (event.getName().equals(LootTableList.ENTITIES_WITCH)) {
	   	 
	        final LootPool main = event.getTable().getPool("main");
	 
	        if (main != null) {
	 
	            // main.addEntry(new LootEntryItem(ITEM, WEIGHT, QUALITY, FUNCTIONS, CONDITIONS, NAME));
	            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[0], "ms:dragon_helm"));
	            
	        }
	    }
	}

}

 

Edited by supreme marshal
Link to comment
Share on other sites

Is your event properly subscribed to the event bus? You need to use the @EventSubscriber annotation on the class. Also, depending on how you register to the bus you now probably need to make your event handling method static.

 

In any case, you should confirm that your loot table method is being called. I usually do this by putting some console print statements in the code to show that the event fired and you can also put it in other parts to make sure the event type matched and your if statements executed as expected. Alternatively you can set a breakpoint and use the debug mode of Eclipse to confirm the execution.

Edited by jabelar

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

 

12 minutes ago, jabelar said:

Is your event properly subscribed to the event bus? You need to use the @EventSubscriber annotation on the class. Also, depending on how you register to the bus you now probably need to make your event handling method static.

Damn son. I only needed to add that. Thank you it work!! Now, I'm going to try and mess around with this stuff to make my dragon helm a super rare drop (something like 10x rarer than diamond gem drop) I think I can do this with the conditions RandomChance.

Edited by supreme marshal
Link to comment
Share on other sites

new LootCondition[0] is an array, you need to pass in a list of conditions (in this case, an array of size 1), not a single one, unboxed.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

4 minutes ago, Draco18s said:

new LootCondition[0] is an array, you need to pass in a list of conditions (in this case, an array of size 1), not a single one, unboxed.

I'm a bit confused. I do my list of conditions where exactly? and when you say; "not a single one, unboxed", idk what you mean. Do you mean to put [1] instead of [0] after the "LootCondition" ?

Link to comment
Share on other sites

17 minutes ago, supreme marshal said:

I'm a bit confused. I do my list of conditions where exactly? and when you say; "not a single one, unboxed", idk what you mean. Do you mean to put [1] instead of [0] after the "LootCondition" ?

 

What he means is sometimes even though you only want to pass in one condition the method expects an array. So simply make an array with only one condition and pass that. In other words you need to match the type LoopCondition[] not LoopCondition.

 

In other words, leave the new LootCondition[0] but initialize the first element to be new RandomChance(0.5F)

  • Like 1

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

Of course it does, that's how you create arrays.

  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Look at this piece of art.. Behold, a tiny piece of what I'm about to do with custom loot table:

package com.SupremeMarshal.MoreToolsTierMod.util.handlers;

import org.omg.CORBA.INITIALIZE;

import com.SupremeMarshal.MoreToolsTierMod.init.ModItems;

import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.world.storage.loot.LootEntryItem;
import net.minecraft.world.storage.loot.LootEntryTable;
import net.minecraft.world.storage.loot.LootPool;
import net.minecraft.world.storage.loot.LootTableList;
import net.minecraft.world.storage.loot.RandomValueRange;
import net.minecraft.world.storage.loot.conditions.LootCondition;
import net.minecraft.world.storage.loot.conditions.RandomChance;
import net.minecraft.world.storage.loot.functions.LootFunction;
import net.minecraft.world.storage.loot.functions.SetCount;
import net.minecraftforge.event.LootTableLoadEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;

@EventBusSubscriber
public class LootTable 
{

	@SubscribeEvent
	public static void onLootTablesLoaded(LootTableLoadEvent event) 
	{
//STRONGHOLD CHEST
	    if (event.getName().equals(LootTableList.CHESTS_STRONGHOLD_CORRIDOR)) 
	    {
	   	 
	        final LootPool main = event.getTable().getPool("main");
	 
	        if (main != null)
	        {
	        	main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
	            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
	            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
	            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
	            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 6, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
	            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.50F)}, "ms:adamant_helm"));
	            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.50F)}, "ms:adamant_body"));
	            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.50F)}, "ms:adamant_legs"));
	            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.50F)}, "ms:adamant_boots"));
	            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 4, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
	            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
	            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
	            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
	            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
	            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 2, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:rune_ingot"));
	            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
	            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
	            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
	            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
	            
	        }
	    }
	}
//SKELETONS
	@SubscribeEvent
	public static void onLootTablesLoaded1(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_SKELETON)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_helm"));
		        }

		    }
	}
//DUNGEON CHEST
	@SubscribeEvent
	public static void onLootTablesLoaded2(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_SIMPLE_DUNGEON)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//ELDER GUARDIAN
	@SubscribeEvent
	public static void onLootTablesLoaded3(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.ENTITIES_ELDER_GUARDIAN)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.002F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.015F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.015F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_ingot"));
		        }

		    }
	}
//WITCH
	@SubscribeEvent
	public static void onLootTablesLoaded4(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.ENTITIES_WITCH)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.003F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.015F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.015F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.09F)}, "ms:rune_ingot"));
		        }

		    }
		    
	 }
//CHEST NETHER
	@SubscribeEvent
	public static void onLootTablesLoaded5(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_NETHER_BRIDGE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 10, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 6, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 6, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 10, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 15, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 8))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 6, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 4, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 4, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 6, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 8, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 4, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 4, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 4, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 6))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:dragon_boots"));
		        }

		    }
	}
//FISHING TREASURE
	@SubscribeEvent
	public static void onLootTablesLoaded6(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.GAMEPLAY_FISHING_TREASURE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		        	main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.06F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.06F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[] {new RandomChance(0.3F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.025F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.018F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.018F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.025F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.1F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.001F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:rune_ingot"));
		        }

		    }
		    
	 }
//CAVE SPIDER
	@SubscribeEvent
	public static void onLootTablesLoaded7(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_CAVE_SPIDER)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_helm"));
		        }

		    }
	}
//
	@SubscribeEvent
	public static void onLootTablesLoaded8(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_CREEPER)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_boots"));
		        }

		    }
	}
//WITHER SKELETON
	@SubscribeEvent
	public static void onLootTablesLoaded9(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_WITHER_SKELETON)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_ingot"));
		        }

		    }
	}
//SKELETON HORSE
	@SubscribeEvent
	public static void onLootTablesLoaded10(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_SKELETON_HORSE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.2F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.08F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.08F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.2F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.8F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.06F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.04F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.04F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.06F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.24F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.016F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.016F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.06F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.001F)}, "ms:dragon_helm"));
		        }

		    }
	}
//IGLO CHEST
	@SubscribeEvent
	public static void onLootTablesLoaded11(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_IGLOO_CHEST)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//GUARDIAN
	@SubscribeEvent
	public static void onLootTablesLoaded12(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.ENTITIES_GUARDIAN)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.3F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.3F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.15F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.15F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 3))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.035F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.025F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.025F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.035F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 2))}, new LootCondition[] {new RandomChance(0.1F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0035F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0025F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0025F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0035F)}, "ms:dragon_boots"));
		        }

		    }
	}
//CHEST ABANDONED MINESHAFT
	@SubscribeEvent
	public static void onLootTablesLoaded13(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_ABANDONED_MINESHAFT)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//GHAST
	@SubscribeEvent
	public static void onLootTablesLoaded14(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.ENTITIES_GHAST)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.15F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.15F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.006F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.006F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:dragon_helm"));
		        }

		    }
		    
	 }
//CHEST STRONGHOLD
	@SubscribeEvent
	public static void onLootTablesLoaded15(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_STRONGHOLD_CROSSING)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 6, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 4, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 4, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 6, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 10, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 3, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//ZOMBIE
	@SubscribeEvent
	public static void onLootTablesLoaded16(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.ENTITIES_ZOMBIE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		        	main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.006F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.016F)}, "ms:rune_ingot"));
		        }

		    }
	}
//CHEST JUNGLE TEMPLE
	@SubscribeEvent
	public static void onLootTablesLoaded17(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_JUNGLE_TEMPLE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//CHEST DESERT PYRAMID
	@SubscribeEvent
	public static void onLootTablesLoaded18(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_DESERT_PYRAMID)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 3, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 5, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.5F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//SPIDER
	@SubscribeEvent
	public static void onLootTablesLoaded19(LootTableLoadEvent event) 
	{
	
	
		    if (event.getName().equals(LootTableList.ENTITIES_SPIDER)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.008F)}, "ms:rune_helm"));
		        }

		    }
	}
//CHEST STRONGHOLD LIBRARY
	@SubscribeEvent
	public static void onLootTablesLoaded20(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_STRONGHOLD_LIBRARY)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.125F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 3, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:dragon_boots"));
		        }

		    }
	}
//MAGMA CUBE
	@SubscribeEvent
	public static void onLootTablesLoaded21(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.ENTITIES_MAGMA_CUBE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.2F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.002F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.002F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:dragon_helm"));
		        }

		    }
		    
	 }
//ZOMBIE PIGMAN
	@SubscribeEvent
	public static void onLootTablesLoaded22(LootTableLoadEvent event) 
	{
		    if (event.getName().equals(LootTableList.ENTITIES_ZOMBIE_PIGMAN)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		        	main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.05F)}, "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.1F)}, "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.4F)}, "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.02F)}, "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.03F)}, "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.12F)}, "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.01F)}, "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.005F)}, "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.01F)}, "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.04F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.001F)}, "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0005F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.0005F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.001F)}, "ms:dragon_boots"));
		        }

		    }
		    
	 }
//CHEST END CITY TREASURE
	@SubscribeEvent
	public static void onLootTablesLoaded23(LootTableLoadEvent event) 
	{
		    
		    if (event.getName().equals(LootTableList.CHESTS_END_CITY_TREASURE)) 
		    {
		   	 
		        final LootPool main = event.getTable().getPool("main");
		 
		        if (main != null)
		        {
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_HELM, 10, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_helm"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BODY, 8, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_body"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_LEGS, 8, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_legs"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_BOOTS, 10, 0, new LootFunction[0], new LootCondition[0], "ms:mithril_boots"));
		            main.addEntry(new LootEntryItem(ModItems.MITHRIL_INGOT, 20, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 7))}, new LootCondition[0], "ms:mithril_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_HELM, 6, 0, new LootFunction[0], new LootCondition[0], "ms:adamant_helm"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BODY, 5, 0, new LootFunction[0], new LootCondition[0], "ms:adamant_body"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_LEGS, 5, 0, new LootFunction[0], new LootCondition[0], "ms:adamant_legs"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_BOOTS, 6, 0, new LootFunction[0], new LootCondition[0], "ms:adamant_boots"));
		            main.addEntry(new LootEntryItem(ModItems.ADAMANT_INGOT, 10, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[0], "ms:adamant_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_HELM, 6, 0, new LootFunction[0], new LootCondition[0], "ms:rune_helm"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BODY, 5, 0, new LootFunction[0], new LootCondition[0], "ms:rune_body"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_LEGS, 5, 0, new LootFunction[0], new LootCondition[0], "ms:rune_legs"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_BOOTS, 6, 0, new LootFunction[0], new LootCondition[0], "ms:rune_boots"));
		            main.addEntry(new LootEntryItem(ModItems.RUNE_INGOT, 8, 0, new LootFunction[] {new SetCount(new LootCondition[0], new RandomValueRange(1, 5))}, new LootCondition[] {new RandomChance(0.4F)}, "ms:rune_ingot"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_HELM, 2, 0, new LootFunction[0], new LootCondition[0], "ms:dragon_helm"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BODY, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.33F)}, "ms:dragon_body"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_LEGS, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.33F)}, "ms:dragon_legs"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_BOOTS, 2, 0, new LootFunction[0], new LootCondition[0], "ms:dragon_boots"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_SWORD, 1, 0, new LootFunction[0], new LootCondition[0], "ms:dragon_sword"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_AXE, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.22F)}, "ms:dragon_axe"));
		            main.addEntry(new LootEntryItem(ModItems.DRAGON_PICKAXE, 1, 0, new LootFunction[0], new LootCondition[] {new RandomChance(0.22F)}, "ms:dragon_pickaxe"));
		        }

		    }
	}
	
}

 

Edited by supreme marshal
  • Like 1
Link to comment
Share on other sites

Eh.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

24 minutes ago, Choonster said:

It's probably worth noting that you can use LootEntryTable to generate loot from another loot table.

That is helpful to know.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • it crashed again     What the console says : [00:02:03] [Server thread/INFO] [Easy NPC/]: [EntityManager] Server started! [00:02:03] [Server thread/INFO] [co.gi.al.ic.IceAndFire/]: {iceandfire:fire_dragon_roost=true, iceandfire:fire_lily=true, iceandfire:spawn_dragon_skeleton_fire=true, iceandfire:lightning_dragon_roost=true, iceandfire:spawn_dragon_skeleton_lightning=true, iceandfire:ice_dragon_roost=true, iceandfire:ice_dragon_cave=true, iceandfire:lightning_dragon_cave=true, iceandfire:cyclops_cave=true, iceandfire:spawn_wandering_cyclops=true, iceandfire:spawn_sea_serpent=true, iceandfire:frost_lily=true, iceandfire:hydra_cave=true, iceandfire:lightning_lily=true, iceandfireixie_village=true, iceandfire:myrmex_hive_jungle=true, iceandfire:myrmex_hive_desert=true, iceandfire:silver_ore=true, iceandfire:siren_island=true, iceandfire:spawn_dragon_skeleton_ice=true, iceandfire:spawn_stymphalian_bird=true, iceandfire:fire_dragon_cave=true, iceandfire:sapphire_ore=true, iceandfire:spawn_hippocampus=true, iceandfire:spawn_death_worm=true} [00:02:03] [Server thread/INFO] [co.gi.al.ic.IceAndFire/]: {TROLL_S=true, HIPPOGRYPH=true, AMPHITHERE=true, COCKATRICE=true, TROLL_M=true, DREAD_LICH=true, TROLL_F=true} [00:02:03] [Server thread/INFO] [ne.be.lo.WeaponRegistry/]: Encoded Weapon Attribute registry size (with package overhead): 41976 bytes (in 5 string chunks with the size of 10000) [00:02:03] [Server thread/INFO] [patchouli/]: Sending reload packet to clients [00:02:03] [Server thread/WARN] [voicechat/]: [voicechat] Running in offline mode - Voice chat encryption is not secure! [00:02:03] [VoiceChatServerThread/INFO] [voicechat/]: [voicechat] Using server-ip as bind address: 0.0.0.0 [00:02:03] [Server thread/WARN] [ModernFix/]: Dedicated server took 22.521 seconds to load [00:02:03] [VoiceChatServerThread/INFO] [voicechat/]: [voicechat] Voice chat server started at 0.0.0.0:25565 [00:02:03] [Server thread/WARN] [minecraft/SynchedEntityData]: defineId called for: class net.minecraft.world.entity.player.Player from class tschipp.carryon.common.carry.CarryOnDataManager [00:02:03] [Server thread/INFO] [ne.mi.co.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@2941ffd5 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 0 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 1 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 2 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 3 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 4 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 5 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 6 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 7 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 8 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 9 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 10 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 11 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 12 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 13 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 14 [00:02:19] [Server thread/INFO] [ne.mi.co.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@ebc7ef2 [00:02:19] [Server thread/INFO] [minecraft/PlayerList]: ZacAdos[/90.2.17.162:49242] logged in with entity id 1062 at (-1848.6727005281205, 221.0, -3054.2468255848935) [00:02:19] [Server thread/ERROR] [ModernFix/]: Skipping entity ID sync for com.talhanation.smallships.world.entity.ship.Ship: java.lang.NoClassDefFoundError: net/minecraft/client/CameraType [00:02:19] [Server thread/INFO] [minecraft/MinecraftServer]: - Gloop - ZacAdos joined the game [00:02:19] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Updating all forceload tickets for cc56befd-d376-3526-a760-340713c478bd [00:02:19] [Server thread/INFO] [se.mi.te.da.DataManager/]: Sending data to client: ZacAdos [00:02:19] [Server thread/INFO] [voicechat/]: [voicechat] Received secret request of - Gloop - ZacAdos (17) [00:02:19] [Server thread/INFO] [voicechat/]: [voicechat] Sent secret to - Gloop - ZacAdos [00:02:21] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Successfully authenticated player cc56befd-d376-3526-a760-340713c478bd [00:02:22] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Successfully validated connection of player cc56befd-d376-3526-a760-340713c478bd [00:02:22] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Player - Gloop - ZacAdos (cc56befd-d376-3526-a760-340713c478bd) successfully connected to voice chat stop [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping the server [00:02:34] [Server thread/INFO] [mo.pl.ar.ArmourersWorkshop/]: stop local service [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players [00:02:34] [Server thread/INFO] [minecraft/ServerGamePacketListenerImpl]: ZacAdos lost connection: Server closed [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: - Gloop - ZacAdos left the game [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Updating all forceload tickets for cc56befd-d376-3526-a760-340713c478bd [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (world): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage: All dimensions are saved [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Stopping IO worker... [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Stopped IO worker! [00:02:34] [Server thread/INFO] [Calio/]: Removing Dynamic Registries for: net.minecraft.server.dedicated.DedicatedServer@7dc879e1 [MineStrator Daemon]: Checking server disk space usage, this could take a few seconds... [MineStrator Daemon]: Updating process configuration files... [MineStrator Daemon]: Ensuring file permissions are set correctly, this could take a few seconds... [MineStrator Daemon]: Pulling Docker container image, this could take a few minutes to complete... [MineStrator Daemon]: Finished pulling Docker container image container@pterodactyl~ java -version openjdk version "17.0.10" 2024-01-16 OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7) OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode, sharing) container@pterodactyl~ java -Xms128M -Xmx6302M -Dterminal.jline=false -Dterminal.ansi=true -Djline.terminal=jline.UnsupportedTerminal -p libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming -Djava.net.preferIPv6Addresses=system -DignoreList=bootstraplauncher-1.1.2.jar,securejarhandler-2.1.4.jar,asm-commons-9.5.jar,asm-util-9.5.jar,asm-analysis-9.5.jar,asm-tree-9.5.jar,asm-9.5.jar,JarJarFileSystems-0.3.16.jar -DlibraryDirectory=libraries -DlegacyClassPath=libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar:libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar:libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar:libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar:libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar:libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar:libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar:libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar:libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar:libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar:libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar:libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar:libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar:libraries/net/minecraftforge/JarJarSelector/0.3.16/JarJarSelector-0.3.16.jar:libraries/net/minecraftforge/JarJarMetadata/0.3.16/JarJarMetadata-0.3.16.jar:libraries/net/minecraftforge/fmlloader/1.19.2-43.3.0/fmlloader-1.19.2-43.3.0.jar:libraries/net/minecraft/server/1.19.2-20220805.130853/server-1.19.2-20220805.130853-extra.jar:libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:libraries/com/mojang/authlib/3.11.49/authlib-3.11.49.jar:libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-x86_64.jar:libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-aarch_64.jar:libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar:libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar:libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar:libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar:libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar cpw.mods.bootstraplauncher.BootstrapLauncher --launchTarget forgeserver --fml.forgeVersion 43.3.0 --fml.mcVersion 1.19.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220805.130853 [00:02:42] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.3.0, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [00:02:42] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.10 by Eclipse Adoptium; OS Linux arch amd64 version 6.1.0-12-amd64 [00:02:43] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/container/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/fmlcore/1.19.2-43.3.0/fmlcore-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/javafmllanguage/1.19.2-43.3.0/javafmllanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/lowcodelanguage/1.19.2-43.3.0/lowcodelanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/mclanguage/1.19.2-43.3.0/mclanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:44] [main/WARN] [ne.mi.ja.se.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [00:02:44] [main/WARN] [ne.mi.ja.se.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: resourcefullib. Using Mod File: /home/container/mods/resourcefullib-forge-1.19.2-1.1.24.jar [00:02:44] [main/INFO] [ne.mi.fm.lo.mo.JarInJarDependencyLocator/]: Found 13 dependencies adding them to mods collection Latest log [29Mar2024 00:02:42.803] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.3.0, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [29Mar2024 00:02:42.805] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.10 by Eclipse Adoptium; OS Linux arch amd64 version 6.1.0-12-amd64 [29Mar2024 00:02:43.548] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/container/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [29Mar2024 00:02:43.876] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/fmlcore/1.19.2-43.3.0/fmlcore-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.877] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/javafmllanguage/1.19.2-43.3.0/javafmllanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.877] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/lowcodelanguage/1.19.2-43.3.0/lowcodelanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.878] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/mclanguage/1.19.2-43.3.0/mclanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:44.033] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [29Mar2024 00:02:44.034] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: resourcefullib. Using Mod File: /home/container/mods/resourcefullib-forge-1.19.2-1.1.24.jar [29Mar2024 00:02:44.034] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 13 dependencies adding them to mods collection
    • I am unable to do that. Brigadier is a mojang library that parses commands.
    • Hi, i appreciate the answer. I would love to do that, but we have active players with all their belongings in SSN. Also this mod is really handy and they would be mad if we removed it. Are you really certain that SSN is causing this? It would require lots of work to test it and SSN was not really an issue before we removed Fast Suite. Can it be related somehow? I will provide you with log before removing FS. PasteBin: https://pastebin.com/Y5EpLpNe (crash before removing Fast Suite, which I suspected to be a problem from some crash before)
    • Backup the world and make a test without storagenetwork
  • Topics

×
×
  • Create New...

Important Information

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