Jump to content

adding health with attributes, and other stuff[Solved.. Finally]


Recommended Posts

so im making an item that does all the stuff below, problem is, adding health isn't working how should I fix this?

 

	@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
	boolean hasItem = event.player.inventory.hasItem(ModItems.DnaPosideonInfused);

	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == true) {

			if (event.player.isWet()) {
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D);
				event.player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 3, 3));
				event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1, 1));

			} else {

				if (hasItem == true) {
					event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D);
					event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1, 1));
					event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 0, 0));

				}
			}
		}
	}
	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == false) {
			event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
		}

		if (event.player.isInWater() && hasItem == true) {
			event.player.addPotionEffect(new PotionEffect(
					Potion.regeneration.id, 1, 1));
		}
	}
}

Im serious don't look at it!!

Link to comment
Share on other sites

here is the new code:

	@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
	boolean hasItem = event.player.inventory.hasItem(ModItems.DnaPosideonInfused);

	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == true) {
			if (event.player.isWet()) {
	            if(!event.player.worldObj.isRemote){
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D);
				event.player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 3, 3));
				event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1, 1));
			}
			} else {

				if (hasItem == true) {
		            if(!event.player.worldObj.isRemote){
					event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D);
					event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1, 1));
					event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 0, 0));
		            }
				}
			}
		}
	}
	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == false) {
			event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
		}

		if (event.player.isInWater() && hasItem == true) {
            if(!event.player.worldObj.isRemote){
			event.player.addPotionEffect(new PotionEffect(
					Potion.regeneration.id, 1, 1));
			}
		}
	}
}

Im serious don't look at it!!

Link to comment
Share on other sites

I found a different problem, I think Im registrying my event busses wrong, what do you think, also registering one before another makes an  effect, heres thee code:

package com.OlympiansMod.Main;

import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraftforge.event.entity.living.LivingDeathEvent;

import com.OlympiansMod.Block.ModBlocks;
import com.OlympiansMod.Item.DnaPosideonInfused;
import com.OlympiansMod.Item.DnaZeusInfused;
import com.OlympiansMod.Item.ModItems;
import com.OlympiansMod.creativetabs.MCreativeTabs;
import com.OlympiansMod.entity.EntityCell;
import com.OlympiansMod.entity.EntityGreekFire;
import com.OlympiansMod.entity.MEntity;
import com.OlympiansMod.lib.Refstrings;
import com.OlympiansMod.world.MWorld;

import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION)
public class MainRegistry {
private static int modGuiIndex = 0;

public static final int GUI_CUSTOM_INV = modGuiIndex++;

@SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE)
public static ServerProxy proxy;

@Instance
public static MainRegistry modInstance;


@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent) {
	MCreativeTabs.initialiseTabs();
	ModBlocks.MainRegistry();
	MEntity.MainRegistry();
	ModItems.MainRegistry();
	FMLCommonHandler.instance().bus().register(new DnaPosideonInfused());
	FMLCommonHandler.instance().bus().register(new DnaZeusInfused());
	MWorld.MainRegistry();
        CraftingManager.mainRegistry(); 
              

}
@EventHandler
public static void Load(FMLInitializationEvent event) {
	 proxy.registerRenderInfo(); 
}
@EventHandler
public static void PostLoad(FMLPostInitializationEvent PostEvent) {
}

}

Im serious don't look at it!!

Link to comment
Share on other sites

Everything you do, regarding data, should happen on server and be eventually sent to clients.

 

Yes - potion effects HAVE to be added on server side only. They are handled internally and synchronized to all clients.

Note that setting potion time to "1" might cause issues (effect will "blink" or won't even appear - depends if you use START or END tick). Always use 2+ values.

 

As to SharedMonsterAttributes (SMA):

SMA is NOT something that is synchronized. Its name, through still bad, kinda tells you what it is - "SHARED".

Vanilla sets entity's SMA only ONCE - when entity is being constructed. SMA is set on both server and client side - meaning both client entity and server one will have same SMA that was coded in Entity.class.

 

Changing SMA need to happen on BOTH sides. If you decide to alter it - you need to send packet to all clients that it changed.

Also - if you change SMA, let's say health for one player and then someother player sees him (didn't see him before) - you ALSO need to send packet to set its new health. SMA is constant value for both sides and all entities of same type (class).

 

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Everything you do, regarding data, should happen on server and be eventually sent to clients.

 

Yes - potion effects HAVE to be added on server side only. They are handled internally and synchronized to all clients.

Note that setting potion time to "1" might cause issues (effect will "blink" or won't even appear - depends if you use START or END tick). Always use 2+ values.

 

As to SharedMonsterAttributes (SMA):

SMA is NOT something that is synchronized. Its name, through still bad, kinda tells you what it is - "SHARED".

Vanilla sets entity's SMA only ONCE - when entity is being constructed. SMA is set on both server and client side - meaning both client entity and server one will have same SMA that was coded in Entity.class.

 

Changing SMA need to happen on BOTH sides. If you decide to alter it - you need to send packet to all clients that it changed.

Also - if you change SMA, let's say health for one player and then someother player sees him (didn't see him before) - you ALSO need to send packet to set its new health. SMA is constant value for both sides and all entities of same type (class).

 

If you use modifiers to modify the SMA, then they WILL be sent to the client automatically, but ONLY if they are declared as watched with

.setShouldWatch(true)

.

Health is shared by default, for example.

I have a tutorial on the Attribute system here:

http://www.minecraftforge.net/forum/index.php/topic,30137.0.html

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

everything is valid, except like I said earlier why, registering everything server side works just not with the event bus registered

I found a different problem, I think Im registrying my event busses wrong, what do you think, also registering one before another makes an  effect, heres thee code:

package com.OlympiansMod.Main;

import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraftforge.event.entity.living.LivingDeathEvent;

import com.OlympiansMod.Block.ModBlocks;
import com.OlympiansMod.Item.DnaPosideonInfused;
import com.OlympiansMod.Item.DnaZeusInfused;
import com.OlympiansMod.Item.ModItems;
import com.OlympiansMod.creativetabs.MCreativeTabs;
import com.OlympiansMod.entity.EntityCell;
import com.OlympiansMod.entity.EntityGreekFire;
import com.OlympiansMod.entity.MEntity;
import com.OlympiansMod.lib.Refstrings;
import com.OlympiansMod.world.MWorld;

import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION)
public class MainRegistry {
private static int modGuiIndex = 0;

public static final int GUI_CUSTOM_INV = modGuiIndex++;

@SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE)
public static ServerProxy proxy;

@Instance
public static MainRegistry modInstance;


@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent) {
	MCreativeTabs.initialiseTabs();
	ModBlocks.MainRegistry();
	MEntity.MainRegistry();
	ModItems.MainRegistry();
	FMLCommonHandler.instance().bus().register(new DnaPosideonInfused());
	FMLCommonHandler.instance().bus().register(new DnaZeusInfused());
	MWorld.MainRegistry();
        CraftingManager.mainRegistry(); 
              

}
@EventHandler
public static void Load(FMLInitializationEvent event) {
	 proxy.registerRenderInfo(); 
}
@EventHandler
public static void PostLoad(FMLPostInitializationEvent PostEvent) {
}

}

 

It works if the itemposideon is register after the zeus bus, and vis versa,  its kinds hard to explain just look at the code. why is it doing this? it works perfectly if its registered second.

 

and thanks about the potion effects, it works now, this is mainly about the health stuff though, meaning I just want to clarify that I don't think the main registry has anything to do with the potion effects.

Im serious don't look at it!!

Link to comment
Share on other sites

It might be only me, but I seriosuly don't get what is the ACTUAL problem here.

First you say something about health, now you start with even buses. I am lost.

 

Anyway - if you want direct help - make GitHub. Other option is to post all classes regarding problem (with proxies if used).

 

Also note that tick events always have 2 phases - pick one, otherwise code is ran twice. (e.g: event.phase == Phase.END).

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

ok just tell me where I should register the event busses

PreInit

 

or a better question would be, how do I modify player attributes easily.

Alredy told, twice (in different aspects).

 

* SMA Base is something shared and set by Entity.class

* SMA Modifiers are auto-synced if set to be.

 

You either want to add/remove modifiers to attribute or set your own base value, but in that case you need to do all syncs on your own.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

yeah so It worked slightly:

here is every class im hoping this will help me solve the problem.

MainRegistry:

package com.OlympiansMod.Main;

import net.minecraft.client.renderer.entity.RenderSnowball;
import net.minecraftforge.event.entity.living.LivingDeathEvent;

import com.OlympiansMod.Block.ModBlocks;
import com.OlympiansMod.Item.DnaPosideonInfused;
import com.OlympiansMod.Item.DnaStats;
import com.OlympiansMod.Item.DnaStats2;
import com.OlympiansMod.Item.DnaZeusInfused;
import com.OlympiansMod.Item.ModItems;
import com.OlympiansMod.creativetabs.MCreativeTabs;
import com.OlympiansMod.entity.EntityCell;
import com.OlympiansMod.entity.EntityGreekFire;
import com.OlympiansMod.entity.MEntity;
import com.OlympiansMod.lib.Refstrings;
import com.OlympiansMod.world.MWorld;

import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = Refstrings.MODID , name = Refstrings.NAME , version = Refstrings.VERSION)
public class MainRegistry {
private static int modGuiIndex = 0;

public static final int GUI_CUSTOM_INV = modGuiIndex++;

@SidedProxy(clientSide = Refstrings.CLIENTSIDE , serverSide = Refstrings.SERVERSIDE)
public static ServerProxy proxy;

@Instance
public static MainRegistry modInstance;


@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent) {
	MCreativeTabs.initialiseTabs();
	ModBlocks.MainRegistry();
	MEntity.MainRegistry();
	ModItems.MainRegistry();
	FMLCommonHandler.instance().bus().register(new DnaZeusInfused());
	FMLCommonHandler.instance().bus().register(new DnaPosideonInfused());
	MWorld.MainRegistry();
        CraftingManager.mainRegistry(); 
    
}
@EventHandler
public static void Load(FMLInitializationEvent event) {
	 proxy.registerRenderInfo(); 
}
@EventHandler
public static void PostLoad(FMLPostInitializationEvent PostEvent) {
}

}

ItemClasses:

package com.OlympiansMod.Item;

import java.util.List;

import com.sun.media.jfxmedia.events.PlayerEvent;

import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;

public class DnaZeusInfused extends Item {

@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
	boolean hasItem = event.player.inventory.hasItem(ModItems.DnaZeusInfused);
	if (event.player.capabilities.isCreativeMode) {
	} else {	

		if (hasItem == true) {
			event.player.capabilities.allowFlying = true;
			if (event.player.capabilities.isFlying) {
	            if(!event.player.worldObj.isRemote){
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D);				
				event.player.addPotionEffect(new PotionEffect(
						Potion.damageBoost.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(
						Potion.resistance.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(
						Potion.hunger.id, 3, 3));
	            }
			} else {
			if (hasItem == true) {
	            if(!event.player.worldObj.isRemote){
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D);
				event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 0, 0));
				event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 0, 0));
					}
				}
			}
		}
	}

		if (event.player.capabilities.isCreativeMode) {
		} else {
			if (hasItem == false) {
	            if(!event.player.worldObj.isRemote){
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).removeAllModifiers();
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
	            }
				event.player.capabilities.allowFlying = false;
				event.player.capabilities.isFlying = false;

		}

		if (event.player.isInWater() && hasItem == true) {
            if(!event.player.worldObj.isRemote){
				event.player.addPotionEffect(new PotionEffect(
						Potion.weakness.id, 0, 0));
			}
		}
	}

}
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
	if (!world.isRemote) {
		player.attackEntityFrom(DamageSource.causeIndirectMagicDamage(player, player), 10);
		player.addPotionEffect(new PotionEffect(Potion.blindness.id, 60, 5));
		player.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 5));
		player.addPotionEffect(new PotionEffect(Potion.wither.id, 60, 5));
		player.inventory.addItemStackToInventory(new ItemStack(
				ModItems.DNAZeus));
		return new ItemStack(ModItems.DnaInfuser);

	}

	return stack;
}
public void addInformation(ItemStack stack, EntityPlayer player, List list,
		boolean i) {
	list.add(EnumChatFormatting.AQUA
			+ "Dna Infuser:");
	list.add("                         ");
	list.add(EnumChatFormatting.BLUE + "Mode:");
	list.add(EnumChatFormatting.BLUE + "Actively Infusing:");
	list.add(EnumChatFormatting.BLUE + "Dna of Zeus");


}
}

package com.OlympiansMod.Item;

import java.util.List;

import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.PlayerTickEvent;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;

public class DnaPosideonInfused extends Item{
@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
	boolean hasItem = event.player.inventory.hasItem(ModItems.DnaPosideonInfused);

	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == true) {
			if (event.player.isWet()) {
	            if(!event.player.worldObj.isRemote){
				event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(45.0D);
				event.player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.waterBreathing.id, 1, 1));
				event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 3, 3));
				event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 1, 1));
			}
			} else {

				if (hasItem == true) {
		            if(!event.player.worldObj.isRemote){
					event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D);
					event.player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 1, 1));
					event.player.addPotionEffect(new PotionEffect(Potion.resistance.id, 0, 0));
		            }
				}
			}
		}
	}
	if (event.player.capabilities.isCreativeMode) {
	} else {
		if (hasItem == false) {
            if(!event.player.worldObj.isRemote){
			event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).removeAllModifiers();
			event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
            }
		}

		if (event.player.isInWater() && hasItem == true) {
            if(!event.player.worldObj.isRemote){
			event.player.addPotionEffect(new PotionEffect(
					Potion.regeneration.id, 1, 1));
			}
		}
	}
}
public ItemStack onItemRightClick(ItemStack stack, World world,
		EntityPlayer player) {
	if (!world.isRemote) {
		player.attackEntityFrom(
				DamageSource.causeIndirectMagicDamage(player, player), 10);
		player.addPotionEffect(new PotionEffect(Potion.blindness.id, 60, 5));
		player.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 5));
		player.addPotionEffect(new PotionEffect(Potion.wither.id, 60, 5));
		player.inventory.addItemStackToInventory(new ItemStack(
				ModItems.DNAPosideon));
		return new ItemStack(ModItems.DnaInfuser);

	}

	return stack;
}

public void addInformation(ItemStack stack, EntityPlayer player, List list,
	boolean i) {

list.add(EnumChatFormatting.AQUA + "Dna Infuser:");
list.add("                         ");
list.add(EnumChatFormatting.BLUE + "Mode:");
list.add(EnumChatFormatting.BLUE + "Actively Infusing:");
list.add(EnumChatFormatting.BLUE + "Dna of Posideon");

}
}


 

so yeah, the dnaposideoninfused works perfectly, problem is the dnaZeusInfused works, except for the health modifiers, and I can get the dnazeusInfused to work, but I have to place the event bus before the dna posideon infused. but then the dnaposideoninfused doesn't work. why is this?

Im serious don't look at it!!

Link to comment
Share on other sites

fw1vI.jpg

 

width=600 height=399http://images-cdn.9gag.com/photo/arpnqKB_700b.jpg[/img]

 

Aaaanyway... (mind that my life and everything I say is a joke)

I will just point out everything bad:

1.

Also note that tick events always have 2 phases - pick one, otherwise code is ran twice. (e.g: event.phase == Phase.END).

56586470.jpg

 

2.

@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
boolean hasItem = event.player.inventory.hasItem(ModItems.DnaZeusInfused);

This piece of code is almost as ridiculus as building a bike with square "wheels" just to realize that round ones were invented thousands of years ago.

 

If you are planning on making an item that gives effects when inside inventory and/or held in hand - use the right method!

Item#onUpdate(...) is called whenever item is inside your inventory. To check if it's held you can simply do heldStack==stackFromOnUpdateMethod.

 

3.

For the love of god - keep some order when making chain if-statements.

1st check the logical side! Then do creative checks and then everything else.

 

4.

More @SubscribeEvent for same event = worse the design.

One mod should only subscribe to an event once, there is no logical point of doing it twice. Also - look again at point "1" and "2".

 

5.

removeAllModifiers();

Focus on "All" keyword. You certainly DON'T want to use this method, just because.

 

6.

Finally (writing this 3rd time):

You either ALTER BASE value, or ADD/REMOVE MODIFIER.

Every attribute has a BASE value that is set DIRECTLY from given Entity.class. This value (if not changed from outside) will most certainly be SAME for all entitities of given class for both client and server.

Altering BASE value in ANY way will require you to update other client's data, as BASE value is set ONCE and not tracked.

 

If you don't want to handle it on your own (all the updates) - you DO NOT even touch BASE value. Never, ever (not including making your own entity obviously).

 

If you want to go easy way - you do it by ADDING/REMOVING AttributeModifier to given Attribute. Base stays the same, you just add e.g +10 health (meaning entity will have 20+10).

In that case - modifiers WILL be auto-synced if set to do so (.setShouldWatch(true)).

 

6 (edit: because "7" is too mainstream). Why do your potions have "0" time?

 

Fix your code, read vanilla and check out modifiers (plenty of examples in vanilla).

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

i know this is completely and utterly wrong but what do I do from here, plus im having trouble finding examples in vanilla(the healthboost potion effect does help me) or the internet. How/What should I do to just + 10 to a health modifier.

			            event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(null, iconString, event.player.getMaxHealth() + 10D, 10));	

yeah don't even say anything about the code.. but seriously how do I apply an attribute.

Im serious don't look at it!!

Link to comment
Share on other sites

Okay, so basically (I think you finally got the idea).

 

There is the Attribute.

It kinda looks like this: (example)

Note: It obviously doesn't look like this in internals, I am just presenting idea.

 

Attribute<maxHealth>

--->Map<UUID, AttributeModifier>

 

Now the AttributeModifier is something that can be added/removed from Attribute based on it's UUID (internals also allow operating on names or operations, but it's not really place for you in this case, those are internals).

 

What you actually do here is save basic data about modifier as static thing and apply it to any number of entities you want.

Example:

public static String theUUID = "1F28C409-EA90-4E54-AD57-13F3D92F68B2"; // this is supposed to be some static-for-your-modifier UUID. You decide what this String is, it must be in an UUID format tho.
public static String theName = "MySuperModifier"; // This will be the name of modifier.
public static AttributeModifier myAttributeModifier = new AttributeModifier(UUID.fromString(theUUID), theName, 10.0D, 0); // And yes, you can put those above inside this one's declaration.

//Now what you do in method to apply/remove:

event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(myAttributeModifier);
// 10.0D is modifier value, in this case 10.0F health
// 0 is an operation - there are few operations, 0 is literally "+".
// After doing this - your entity's health will be 20+10.
// The Modifier is saved in entity with a key (theUUID).
// If you want to remove it, you simply:

event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).removeModifier(myAttributeModifier); // note that it is the same modifier instance used on all entities.

 

Lemme just note: I DO NOT personally use this fkd up system. For me - it's the most badly and overly-complicated thing that they've added to MC since they started "sane" and "code-cleanup" updates. I personally go with my own much clearer, faster and expanded system that operates direcly on BASE value.

I have no idea if this will work, I literally just readup it in past 20min directly from code. Guess it should.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Lemme just note: I DO NOT personally use this fkd up system. For me - it's the most badly and overly-complicated thing that they've added to MC since they started "sane" and "code-cleanup" updates. I personally go with my own much clearer, faster and expanded system that operates direcly on BASE value.

I have no idea if this will work, I literally just readup it in past 20min directly from code. Guess it should.

 

I will shamelessly self-ad my tutorial again: http://www.minecraftforge.net/forum/index.php/topic,30137.0.html

 

But you got it right.

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

wait a second, since the maxhealth attribute already has setShouldWatch I don't need to implement it? I basically but every thing that requires the playertickevent in one method, but only one of the items still seems to works, although right before I log in game, the Item the before currently was working, shows hearts until the login is complete, so basically it lags. so im still not sure how to get both items working properly, I no longer have to subscribe events, just one that does everything. here is the code :P

sorry

public static String theUUID = "1F28C409-EA90-4E54-AD57-13F3D92F68B2"; // this is supposed to be some static-for-your-modifier UUID. You decide what this String is, it must be in an UUID format tho.
public static String theName = "MySuperModifier"; // This will be the name of modifier.
public static String theName1 = "MySuperModifer1";
public static String theName2 = "MySuperModifie2"; // This will be the name of modifier.
public static String theName3 = "MySuperModifer3";
public static AttributeModifier myAttributeModifier = new AttributeModifier(UUID.fromString(theUUID), theName, 10.0D, 0); // And yes, you can put those above inside this one's declaration.
public static AttributeModifier myAttributeModifier1 = new AttributeModifier(UUID.fromString(theUUID), theName1, 20.0D, 0); // And yes, you can put those above inside this one's declaration.
public static AttributeModifier myAttributeModifier2 = new AttributeModifier(UUID.fromString(theUUID), theName2, 10.0D, 0); // And yes, you can put those above inside this one's declaration.
public static AttributeModifier myAttributeModifier3 = new AttributeModifier(UUID.fromString(theUUID), theName3, 20.0D, 0); // And yes, you can put those above inside this one's declaration.

//Now what you do in method to apply/remove:


@SubscribeEvent
public void playerTick(PlayerTickEvent event) {
	if (event.phase == Phase.END) {
		boolean hasItem = event.player.inventory
				.hasItem(ModItems.DnaPosideonInfused);
		boolean hasItem2 = event.player.inventory
				.hasItem(ModItems.DnaZeusInfused);
		if (event.player.capabilities.isCreativeMode) {
		} else {
			if (event.player.isWet()) {
				if (hasItem == true) {
					if (!event.player.worldObj.isRemote) {
						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth)
								.applyModifier(myAttributeModifier1);
						event.player.addPotionEffect(new PotionEffect(
								Potion.moveSpeed.id, 1, 1));
						event.player.addPotionEffect(new PotionEffect(
								Potion.waterBreathing.id, 1, 1));
						event.player.addPotionEffect(new PotionEffect(
								Potion.damageBoost.id, 3, 3));
						event.player.addPotionEffect(new PotionEffect(
								Potion.resistance.id, 1, 1));
					}
				}
			} else {

				if (hasItem == true) {
					if (!event.player.worldObj.isRemote) {
						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth)
								.removeModifier(myAttributeModifier1); 

						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth)
								.applyModifier(myAttributeModifier);
						event.player.addPotionEffect(new PotionEffect(
								Potion.damageBoost.id, 1, 1));
						event.player.addPotionEffect(new PotionEffect(
								Potion.resistance.id, 0, 0));
					}
				}
			}
		}
		if (event.player.capabilities.isCreativeMode) {
		} else {
			if (hasItem == false) {
				if (!event.player.worldObj.isRemote) {
					event.player.getEntityAttribute(
							SharedMonsterAttributes.maxHealth)
							.removeModifier(myAttributeModifier);

				}
			}

			if (event.player.isInWater() && hasItem == true) {
				if (!event.player.worldObj.isRemote) {
					event.player.addPotionEffect(new PotionEffect(
							Potion.regeneration.id, 1, 1));
				}
			}
		}
		if (event.player.capabilities.isCreativeMode) {
		} else {
			if (hasItem2 == true) {
				event.player.capabilities.allowFlying = true;
			}
			if (event.player.capabilities.isFlying) {
				if (hasItem2 == true) {
					if (!event.player.worldObj.isRemote) {
						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth)
								.applyModifier(myAttributeModifier3);
					}
				}
			} else {
				if (hasItem2 == true) {
					if (!event.player.worldObj.isRemote) {
						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth).removeModifier(myAttributeModifier3);

						event.player.getEntityAttribute(
								SharedMonsterAttributes.maxHealth).applyModifier(myAttributeModifier2);
					}
				}
			}
		}

		if (event.player.capabilities.isCreativeMode) {
		} else {
			if (hasItem2 == false) {
				if (!event.player.worldObj.isRemote) {
					event.player.getEntityAttribute(
							SharedMonsterAttributes.maxHealth).removeModifier(myAttributeModifier2); 

				}
				event.player.capabilities.allowFlying = false;
				event.player.capabilities.isFlying = false;
			}
		}
	}
}

Im serious don't look at it!!

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.