Jump to content

[1.11.2] How to store inventory and data in an Item using capabilities ??


Recommended Posts

Good days im trying to fix something else

exactly this post

 

this time just a step at time

actually i have a code that allow me to store a custom inventory in an item but using nbtTag's i made it coping code from the blockchest.class

 

this is minecraft 11.2 i has been told its suppose you do this kind of things using capabilities

i been reading things but really i don't get how to do this first steep

 

¿can someone lend mi a guide on how to read/store costume inventories in itemstack  or a working mod code whit this feature to begin from

 

o sea the code to do this same thing but with capabilities

or i just Misunderstand the whole thing and this is done this way with nbttags

	    // #########################################################################3
    public static ArrayList<ItemStack> readInventariofromItem(ItemStack chestarmour) {
        // System.out.println("!leerInventarioItem!");
	        NBTTagCompound itemnbtcmp = chestarmour.getTagCompound();
        int inventariosize = util.getInttag(chestarmour, "inventariosize");
	        ArrayList<ItemStack> chestInventory = new ArrayList<ItemStack>(inventariosize);
	        // System.out.println("!inventariosize="+inventariosize);
	        if (itemnbtcmp != null) {
	            if (itemnbtcmp.hasKey("Inventario")) {
	                NBTTagList nbttaglist = itemnbtcmp.getTagList("Inventario", 10);
	                for (int i = 0; i < nbttaglist.tagCount(); ++i) {
                    NBTTagCompound nbttagcompound = nbttaglist.getCompoundTagAt(i);
                    int j = nbttagcompound.getByte("Slot") & 255;
                    ItemStack itemstack = new ItemStack(nbttagcompound);
	                    itemstack = (itemstack == null) ? itemstack.EMPTY : itemstack;
	                    // System.out.println(i+"!itemstack="+itemstack.getUnlocalizedName()+"
                    // j="+j);
	                    if (j >= 0 && j < inventariosize) {
                        // chestInventory.set(j, itemstack);
                        chestInventory.add(itemstack);
                    }
	                }
	            }
        }
	        return chestInventory;
    }
	    // #########################################################################3
    public static ItemStack writeInventariotoItem(ItemStack chestarmour, ArrayList<ItemStack> inv) {
        // System.out.println("!escribirInventarioItem!");
	        int inventariosize = inv.size();
	        NBTTagCompound itemnbtcmp = chestarmour.getTagCompound();
	        NBTTagList nbttaglist = new NBTTagList();
	        for (int i = 0; i < inventariosize; ++i) {
            ItemStack itemstack = (ItemStack) inv.get(i);
	            itemstack = (itemstack == null) ? itemstack.EMPTY : itemstack;
	            NBTTagCompound nbttagcompound = new NBTTagCompound();
            nbttagcompound.setByte("Slot", (byte) i);
            itemstack.writeToNBT(nbttagcompound);
            nbttaglist.appendTag(nbttagcompound);
        }
	        if (itemnbtcmp == null) {
            itemnbtcmp = new NBTTagCompound();
        }
	        itemnbtcmp.setTag("Inventario", nbttaglist);
        chestarmour.setTagCompound(itemnbtcmp);
        
        util.setInttag(chestarmour, "inventariosize", inventariosize);
	        return chestarmour;
    }
	    // #########################################################################3
    public static void showInventariocontens(ArrayList<ItemStack> inv) {
	        int invsize = inv.size();
        ItemStack stack = ItemStack.EMPTY;
	        for (int i = 0; i < invsize; ++i) {
	            stack = inv.get(i);
            System.out.println("SLOT[" + i + "]=" + stack.getUnlocalizedName() + " > " + stack.getCount());
	        }
	    }
	    // #########################################################################3
	    public static void setInttag(ItemStack item, String tag, int value) {
	        NBTTagCompound etiquetas = item.getTagCompound();
        if (etiquetas == null) {
            etiquetas = new NBTTagCompound();
        }
	        etiquetas.setInteger(tag, value);
        item.setTagCompound(etiquetas);
	    }
    // #########################################################################3
	

Edited by perromercenary00
uncomplete save
Link to comment
Share on other sites

Alright, your code seems pretty messy, so you might want to try to clean it up a bit. It really makes things easier;)

Regarding the capabilities. You should override getCapability and hasCapability in your item class. (Might be itemstack, ill look it up for you later). You can initialize an instance of the itemstackhandler capability and return that instance in getcapability. You can look it up in the documentation.

 

Good luck, and let me know if you need more help. ;)

Link to comment
Share on other sites

 

https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/

its that documentation that i  don't get

they explain what its the capability and more or less what it needs to work but actually has no examples of how do the things

or at least i don't understand it coze is write in English. Anyway

 

i think this capability thing came whit the idea of not use in excess NBT to write and read info, but create and object to store temporally the data and just use it read/write the data fast    

and only read write the nbt one time at load the world and write one time ad close/save world

 

first thing i don't understand, have I to create a class whit the code  to store, in this case an inventory an some other nbt's variables, where i create this class, what classes have i to implement, where i must declare it for minecrafts to be aware

how i attach it to the item class

 

looking in the vainilla code for the entity player i made this

https://gist.github.com/anonymous/1edf37742d0b4be02ba9b6574cdb5709

 

 

i suppose this class must have gets and sets to access all the data i need, well again now how i declare the existence of this class in the common proxy

how i attach this capability class to mi costume item chestPlate/Backpack class

?? is something like tile-entities  but whit getCapability and hasCapability

well how i retrieve mi data whit this methods ??

 

for what i read this capability thing only works for server side and is not synced with the client side, i must rearrange mi package system to send to client side the data changes  (serialize up and down everything )

 

anyway at least this guide is missing a working example

whit that i could just see how everything is declare and where,  what classes are using and what classes/interfaces are extended/implemented 

and avoid post must of this bobby question in the forum

 

thanks for reading

 

no en serio

im little mad here to see how complex has become a single item in 1.11

 

 

 

 

Edited by perromercenary00
Link to comment
Share on other sites

6 hours ago, perromercenary00 said:

first thing i don't understand, have I to create a class whit the code  to store, in this case an inventory an some other nbt's variables, where i create this class, what classes have i to implement, where i must declare it for minecrafts to be aware

how i attach it to the item class

You will have to ready and write to nbt yourself, in your capability provider class.

For what you made, you don't have to inject an existing capability, and you should instead extends the ItemStackHandler class there. It seems like you did a great job of making your own implementation. You don't have to register that class. You can instantiate it in your item class. Like below. Mind you, this class I made very quickly and without much experience with capabilities for items. It seems quite different from tile entities but still. I hope i'll give you a rough idea of what you should do.

 

public class ItemExample extends Item{

	ItemStackHandler inventory;
	
	public ItemExample()
	{
		
	}
    
    public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
    {
    	ItemStack stackToSaveTo = playerIn.getHeldItem(handIn); //Do add a check to see if this really is your item.
    	
    	//You probably wont need the capability until you open the inventory for the first time. So..
    	if(inventory == null)
    	{
    		inventory = (ItemStackHandler) initCapabilities(stackToSaveTo, null).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null);
    	}
    	
    	//Then here you can open the inventory and things, and, load data from nbt.
    	NBTTagCompound nbt = new NBTTagCompound();
    	inventory.deserializeNBT(nbt);
    	
    	//Now the nbt has all the information you need. Granted you gave what you wanted in the method below.
    	
    	//Now you can open inventory and things, and let the player do stuff.
    	
        return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn));
    }
    
    public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBase entityLiving, int timeLeft)
    {
    	//This should do what it says, so now you can save the data that has changed.
    	
    	inventory.serializeNBT();
    }
	
	@Override
	public ICapabilityProvider initCapabilities(ItemStack item, NBTTagCompound nbt)
	{
		if(item.getItem() instanceof ItemExample)
		{
			return new ExampleProvider();
		}
		return null;
	}
	
	public static class ExampleProvider implements ICapabilityProvider, ICapabilitySerializable {

		@Override
		public NBTBase serializeNBT() 
		{
			//Retrieve data here
			return null;
		}

		@Override
		public void deserializeNBT(NBTBase nbt) 
		{
			//Do your saving here
		}

		@Override
		public boolean hasCapability(Capability<?> capability, EnumFacing facing) 
		{
			if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
			{
				return true;
			}
			return false;
		}

		@Override
		public <T> T getCapability(Capability<T> capability, EnumFacing facing) 
		{
			if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
			{
				return (T) new ItemStackHandler(2/**the amount of slots you want*/); 
				//This is the default implementation by forge, but you'll likely want to make your own by overriding. 
			}
			return null;
		}
	}
}

 

 

 

6 hours ago, perromercenary00 said:

for what i read this capability thing only works for server side and is not synced with the client side, i must rearrange mi package system to send to client side the data changes  (serialize up and down everything )

Just try without and see what happens. If there is information missing on the client side, you can send packages to sync up. But only when needed.

Edited by tommyte
forgot to remove an unused method.. again
Link to comment
Share on other sites

  • 2 weeks later...

good days guys

 

really dont get what i doing  m been  just like here shooting in the dark

lets make it more simple make aside for a while the chestplate/backpackk item inventory

 

this pueba01 item has only an int Nbt tag named redstone storing the amoung of redstone ""

how i get/set the value from the nbt ??

https://gist.github.com/anonymous/1db0b20c50fe1e6dca557a48a29e23be

 



  //#############################################################################################
       public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
        {
           ItemStack itemstack = playerIn.getHeldItem(handIn);
            playerIn.setActiveHand(handIn);

 

            //int redstone = util.getInttag(itemstack, "redstone");
            //util.setInttag(itemstack, "redstone", redstone);


            //but how the heck i get the value from the capability ??
            
            int redstone = capabilitywhath??
            
        System.out.print("redstone="+redstone);
                    
           if( redstone < 1 ){
               capabilitywhath??.setRedstonetoneto(1100);
           }         
            
            return new ActionResult(EnumActionResult.SUCCESS, itemstack);
        }
//###################################################################

[!code]

 

a working example could be a very valuable aid

Thanks for reading

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

27 minutes ago, perromercenary00 said:

how i get/set the value from the nbt ??

 

Getting a value from NBT is different to getting a value from a capability. Which do you want to do?

 

For NBT, you can call stack#getTagCompound. For the capability, you call stack#getCapability and pass your capability instance.

Link to comment
Share on other sites

some more shoots in the dark

 

 

https://gist.github.com/anonymous/b261636775b9d168454f864bf75d35cb

 

Itemside code

	    // #############################################################################################
    public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
     
        ItemStack itemstack = playerIn.getHeldItem(handIn);
	      
	 Capability<?> capacidaddealmacenamiento = null;
	 
	        if (itemstack.hasCapability(capacidaddealmacenamiento, EnumFacing.UP)) {
	            capacidaddealmacenamiento xt = (capacidaddealmacenamiento) itemstack.getCapability(capacidaddealmacenamiento, EnumFacing.UP);
	            int redstone = xt.getRedstone();
	            if (redstone < 1) {
                xt.setRedstone(1100);
            }
	        }
	        playerIn.setActiveHand(handIn);
	        return new ActionResult(EnumActionResult.FAIL, itemstack);
    }
    // ###################################################################
	

Link to comment
Share on other sites

capacidaddealmacenamiento xt = (capacidaddealmacenamiento) itemstack.getCapability(capacidaddealmacenamiento, EnumFacing.UP);

should be: 

capacidaddealmacenamiento xt = (capacidaddealmacenamiento) itemstack.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP);

 

Furthermore, you'd need a capabilityprovider for this item:

public static class ExampleProvider implements ICapabilityProvider, ICapabilitySerializable {

		@Override
		public NBTBase serializeNBT() 
		{
			//Retrieve data here
			return null;
		}

		@Override
		public void deserializeNBT(NBTBase nbt) 
		{
			//Do your saving here
		}

		@Override
		public boolean hasCapability(Capability<?> capability, EnumFacing facing) 
		{
			if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
			{
				return true;
			}
			return false;
		}

		@Override
		public <T> T getCapability(Capability<T> capability, EnumFacing facing) 
		{
			if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
			{
				return (T) new ItemStackHandler(2/**the amount of slots you want*/); 
				//This is the default implementation by forge, but you'll likely want to make your own by overriding. 
			}
			return null;
		}
	}

 

Serialize and deserialize nbt will be called for you when the world respectively starts or closes. You can save your stored items here using the ItemStackHelper class.

 

I don't quite get the purpose of this either: 

playerIn.setActiveHand(handIn);

 

But, if you'd try explaining us a little more what exactly it is you want to achieve, I'm sure we could help you out a little better (:

Link to comment
Share on other sites

thanks for reply

 

i been playing whit mods from 1.7 and i m a little complicated whit the results

i like mi items has animations and sounds and lights and things

until now i been controlling the animations making Excessive use of nbttags values

 

 

 

in the long run i wanna update all mi items and entities to 1.11.2 but i siting here still stuck in the basic becoze i don't get how to use the new capability system and trying to make this items animations old nbttag style  is not working 

 

##################

going back to the original question where i get the item nbtdata from the item in this part

 

        @Override
        public NBTBase serializeNBT()
        {
            //Retrieve data here
            return null;
        }

 

Thanks for reading

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

This is an example with the energy capability:

public NBTBase serializeNBT() 
{
	NBTTagCompound nbt = new NBTTagCompound();
			
	nbt.setInteger("energy", energy.getEnergyStored());
			
	return nbt;
}

public void deserializeNBT(NBTBase nbt) 
{
	if(((NBTTagCompound) nbt).hasKey("energy"))
	{
		energy.setEnergy(((NBTTagCompound) nbt).getInteger("energy"));
	}
}

 

Notice that you can only store the info from the capability here. So in your case you'd save the items in the inventory of your item here. If, however, you want to store more info on the nbt of the itemstack, you should use ItemStack::getTagCompound() to retrieve and alter the nbt tag compound of your item. Call this where ever you find it useful. Maybe you want to update the nbt every tick? Then call it in the update method. If you want to update it every time the item is right-clicked? Use the onItemRightClick method. 

Link to comment
Share on other sites

!Por fin¡

Thanks to the forums i now have a funtional capabilitie class that allow me to store data and inventories 

and the data is synced whit client side whitout having to mess whith custom packets 

https://gist.github.com/anonymous/df2656774483a6f335c1fa4be4d1fff4

https://youtu.be/zi5hZE8K204

 

 

now i have another doub i set some system.out's in the code to understand when it reads and when it writtes

i have an old little quarry whith the unequip animation and i like to have some control over when minecraft writes back the data to the nbt and to the item 

	[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Client thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
[19:21:16] [Server thread/INFO]: [STDOUT]: ### >>>     serializeNBT()
	

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

    • Hello, I'm trying to modify the effects of native enchantments for bows and arrows in Minecraft. After using a decompilation tool, I found that the specific implementations of native bow and arrow enchantments (including `ArrowDamageEnchantment`, `ArrowKnockbackEnchantment`, `ArrowFireEnchantment`, `ArrowInfiniteEnchantment`, `ArrowPiercingEnchantment`) do not contain any information about the enchantment effects (such as the `getDamageProtection` function for `ProtectionEnchantment`, `getDamageBonus` function for `DamageEnchantment`, etc.). Upon searching for the base class of arrows, `AbstractArrow`, I found a function named setEnchantmentEffectsFromEntity`, which seems to be used to retrieve the enchantment levels of the tool held by a `LivingEntity` and calculate the specific values of the enchantment effects. However, after testing with the following code, I found that this function is not being called:   @Mixin(AbstractArrow.class) public class ModifyArrowEnchantmentEffects {     private static final Logger LOGGER = LogUtils.getLogger();     @Inject(         method = "setEnchantmentEffectsFromEntity",         at = @At("HEAD")     )     private void logArrowEnchantmentEffectsFromEntity(CallbackInfo ci) {         LOGGER.info("Arrow enchantment effects from entity");     } }   Upon further investigation, I found that within the onHitEntity method, there are several lines of code:               if (!this.level().isClientSide &amp;&amp; entity1 instanceof LivingEntity) {                EnchantmentHelper.doPostHurtEffects(livingentity, entity1);                EnchantmentHelper.doPostDamageEffects((LivingEntity)entity1, livingentity);             }   These lines of code actually call the doPostHurt and doPostAttack methods of each enchantment in the enchantment list. However, this leads back to the issue because native bow and arrow enchantments do not implement these functions. Although their base class defines the functions, they are empty. At this point, I'm completely stumped and seeking assistance. Thank you.
    • I have been trying to make a server with forge but I keep running into an issue. I have jdk 22 installed as well as Java 8. here is the debug file  
    • 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.
  • Topics

×
×
  • Create New...

Important Information

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