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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • So I've created a boss mob, whether it is naturally generated or spawned by the player, after some time it despawns, what can I do so that it doesn't despawn at all? Thanks in advance
    • Hello, I'm making a mod and everything was going well until I enabled accesstransformers. After that, every gradle build attempt fails. What I tried to do to solve the problem: Deleted the forge_gradle folder several times Deleted the caches folder several times Used ./gradlew build, ./gradlew genIntellijRuns and ./gradlew --refresh-dependencies I created a new mod project with only the main file and everything goes well until the inclusion of accesstransformers. Here is the error itself: https://pastebin.com/SQhrqpzr
    • I have no idea what's going wrong and I'm not smart enough to read the crash report and understand what it's trying to tell me.   ---- Minecraft Crash Report ---- // Don't be sad, have a hug! <3 Time: 6/3/23, 3:20 PM Description: Initializing game java.lang.IllegalAccessError: class net.minecraft.client.Minecraft tried to access private field com.mojang.blaze3d.platform.Window.f_85359_ (net.minecraft.client.Minecraft and com.mojang.blaze3d.platform.Window are in module minecraft@1.18.2 of loader 'TRANSFORMER' @2c829dbc)     at net.minecraft.client.Minecraft.md075849$lambda$moveRenderOut$0$1(Minecraft.java:4860) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.moveRenderOut(Minecraft.java:4872) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.handler$zii000$begin(ClientModLoader.java:582) ~[forge-1.18.2-40.2.0-universal.jar%23177!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:better_loading_screen.mixins.json:MixinClientModLoader,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java) ~[forge-1.18.2-40.2.0-universal.jar%23177!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:better_loading_screen.mixins.json:MixinClientModLoader,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:459) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:169) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.2.0.jar%2317!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraft.client.Minecraft.md075849$lambda$moveRenderOut$0$1(Minecraft.java:4860) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.moveRenderOut(Minecraft.java:4872) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.handler$zii000$begin(ClientModLoader.java:582) ~[forge-1.18.2-40.2.0-universal.jar%23177!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:better_loading_screen.mixins.json:MixinClientModLoader,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.begin(ClientModLoader.java) ~[forge-1.18.2-40.2.0-universal.jar%23177!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:better_loading_screen.mixins.json:MixinClientModLoader,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.<init>(Minecraft.java:459) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:notenoughcrashes.mixins.json:client.MixinMinecraftClient,pl:mixin:APP:apoli.mixins.json:MinecraftClientMixin,pl:mixin:APP:bookshelf.common.mixins.json:client.AccessorMinecraft,pl:mixin:APP:balm.mixins.json:MinecraftMixin,pl:mixin:APP:better_loading_screen-common.mixins.json:MixinMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:ars_nouveau.mixins.json:light.ClientMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.client.MinecraftAccess,pl:mixin:APP:create.mixins.json:client.WindowResizeMixin,pl:mixin:APP:ars_nouveau.mixins.json:camera.MinecraftMixin,pl:mixin:A,pl:runtimedistcleaner:A} -- Initialization -- Details:     Modules:          ADVAPI32.dll:Advanced Windows 32 Base API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         COMCTL32.dll:User Experience Controls Library:6.10 (WinBuild.160101.0800):Microsoft Corporation         CRYPT32.dll:Crypto API32:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         CRYPTBASE.dll:Base cryptographic API DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         CRYPTSP.dll:Cryptographic Service Provider API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         CoreMessaging.dll:Microsoft CoreMessaging Dll:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         CoreUIComponents.dll:Microsoft Core UI Components Dll:10.0.22557.1:Microsoft Corporation         DBGHELP.DLL:Windows Image Helper:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         DEVOBJ.dll:Device Information Set DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         DNSAPI.dll:DNS Client API DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         GDI32.dll:GDI Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         GLU32.dll:OpenGL Utility Library DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         HID.DLL:Hid User Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         IMM32.DLL:Multi-User Windows IMM32 API Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         IPHLPAPI.DLL:IP Helper API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         KERNEL32.DLL:Windows NT BASE API Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         KERNELBASE.dll:Windows NT BASE API Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         MSASN1.dll:ASN.1 Runtime APIs:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         MSCTF.dll:MSCTF Server DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         MpOav.dll:IOfficeAntiVirus Module:4.18.23050.3 (91cf713774e4083376800dd3a1236363c5e087f6):Microsoft Corporation         NSI.dll:NSI User-mode interface DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         NTASN1.dll:Microsoft ASN.1 API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         OLEAUT32.dll:OLEAUT32.DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         PSAPI.DLL:Process Status Helper:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         Pdh.dll:Windows Performance Data Helper DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         RPCRT4.dll:Remote Procedure Call Runtime:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         SETUPAPI.DLL:Windows Setup API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         SHCORE.dll:SHCORE:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         SHELL32.dll:Windows Shell Common Dll:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         UMPDC.dll:User Mode Power Dependency Coordinator:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         USER32.dll:Multi-User Windows USER API Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         USERENV.dll:Userenv:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         VCRUNTIME140.dll:Microsoft® C Runtime Library:14.29.30133.0 built by: vcwrkspc:Microsoft Corporation         VERSION.dll:Version Checking and File Installation Libraries:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WINHTTP.dll:Windows HTTP Services:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WINMM.dll:MCI API DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WINSTA.dll:Winstation Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WINTRUST.dll:Microsoft Trust Verification APIs:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WS2_32.dll:Windows Socket 2.0 32-Bit DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WSOCK32.dll:Windows Socket 32-Bit DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         WTSAPI32.dll:Windows Remote Desktop Session Host Server SDK APIs:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         amsi.dll:Anti-Malware Scan Interface:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         bcrypt.dll:Windows Cryptographic Primitives Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         bcryptPrimitives.dll:Windows Cryptographic Primitives Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         cfgmgr32.dll:Configuration Manager DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         clbcatq.dll:COM+ Configuration Catalog:2001.12.10941.16384 (WinBuild.160101.0800):Microsoft Corporation         combase.dll:Microsoft COM for Windows:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         cryptnet.dll:Crypto Network Related API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dbgcore.DLL:Windows Core Debugging Helpers:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc.DLL:DHCP Client Service:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dhcpcsvc6.DLL:DHCPv6 Client:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dinput8.dll:Microsoft DirectInput:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         drvstore.dll:Driver Store API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dwmapi.dll:Microsoft Desktop Window Manager API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         dxcore.dll:DXCore:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         fwpuclnt.dll:FWP/IPsec User-Mode API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         gdi32full.dll:GDI Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         glfw.dll         icm32.dll:Microsoft Color Management Module (CMM):10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         inputhost.dll:InputHost:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         java.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         javaw.exe:OpenJDK Platform binary:17.0.1.0:Microsoft         jemalloc.dll         jimage.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         jli.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         jna11401509881197171055.dll:JNA native library:6.1.2:Java(TM) Native Access (JNA)         jvm.dll:OpenJDK 64-Bit server VM:17.0.1.0:Microsoft         kernel.appcore.dll:AppModel API Host:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         lwjgl.dll         lwjgl_opengl.dll         lwjgl_stb.dll         management.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         management_ext.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         mscms.dll:Microsoft Color Matching System DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         msvcp140.dll:Microsoft® C Runtime Library:14.29.30133.0 built by: vcwrkspc:Microsoft Corporation         msvcp_win.dll:Microsoft® C Runtime Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         msvcrt.dll:Windows NT CRT DLL:7.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         mswsock.dll:Microsoft Windows Sockets 2.0 Service Provider:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         napinsp.dll:E-mail Naming Shim Provider:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         ncrypt.dll:Windows NCrypt Router:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         net.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         nio.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         nlansp_c.dll:NLA Namespace Service Provider DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         ntdll.dll:NT Layer DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         ntmarta.dll:Windows NT MARTA provider:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         nvoglv64.dll:NVIDIA Compatible OpenGL ICD:31.0.15.3168:NVIDIA Corporation         nvspcap64.dll:NVIDIA Game Proxy:3.27.0.112:NVIDIA Corporation         ole32.dll:Microsoft OLE for Windows:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         opengl32.dll:OpenGL Client DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         perfos.dll:Windows System Performance Objects DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         pfclient.dll:SysMain Client:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         pnrpnsp.dll:PNRP Name Space Provider:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         powrprof.dll:Power Profile Helper DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         profapi.dll:User Profile Basic API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         rasadhlp.dll:Remote Access AutoDial Helper:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         rsaenh.dll:Microsoft Enhanced Cryptographic Provider:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         sechost.dll:Host for SCM/SDDL/LSA Lookup APIs:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         shlwapi.dll:Shell Light-weight Utility Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         sunmscapi.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         svml.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         textinputframework.dll:"TextInputFramework.DYNLINK":10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         ucrtbase.dll:Microsoft® C Runtime Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         uxtheme.dll:Microsoft UxTheme Library:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         vcruntime140_1.dll:Microsoft® C Runtime Library:14.29.30133.0 built by: vcwrkspc:Microsoft Corporation         verify.dll:OpenJDK Platform binary:17.0.1.0:Microsoft         win32u.dll:Win32u:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         windows.storage.dll:Microsoft WinRT Storage API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         winrnr.dll:LDAP RnR Provider DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         wintypes.dll:Windows Base Types DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         wldp.dll:Windows Lockdown Policy:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         wshbth.dll:Windows Sockets Helper DLL:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         xinput1_4.dll:Microsoft Common Controller API:10.0.22557.1 (WinBuild.160101.0800):Microsoft Corporation         zip.dll:OpenJDK Platform binary:17.0.1.0:Microsoft Stacktrace:     at net.minecraft.client.main.Main.main(Main.java:169) ~[client-1.18.2-20220404.173914-srg.jar%23172!/:?] {re:classloading,re:mixin,pl:runtimedistcleaner:A,pl:mixin:A,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.2.0.jar%2317!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%235!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?] {} -- System Details -- Details:     Minecraft Version: 1.18.2     Minecraft Version ID: 1.18.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.1, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1746647648 bytes (1665 MiB) / 2768240640 bytes (2640 MiB) up to 8589934592 bytes (8192 MiB)     CPUs: 12     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 3600 6-Core Processor                   Identifier: AuthenticAMD Family 23 Model 113 Stepping 0     Microarchitecture: Zen 2     Frequency (GHz): 3.59     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: USB Mobile Monitor Virtual Display     Graphics card #0 vendor: Amyuni     Graphics card #0 VRAM (MB): 0.00     Graphics card #0 deviceId: unknown     Graphics card #0 versionInfo: DriverVersion=1.0.2.9     Graphics card #1 name: NVIDIA GeForce GTX 1050 Ti     Graphics card #1 vendor: NVIDIA (0x10de)     Graphics card #1 VRAM (MB): 4095.00     Graphics card #1 deviceId: 0x1c82     Graphics card #1 versionInfo: DriverVersion=31.0.15.3168     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.13     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 8192.00     Memory slot #1 clockSpeed (GHz): 2.13     Memory slot #1 type: DDR4     Virtual memory max (MB): 32665.02     Virtual memory used (MB): 26069.58     Swap memory total (MB): 16332.51     Swap memory used (MB): 249.27     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8192m -Xms256m     Launched Version: forge-40.2.0     Backend library: LWJGL version 3.2.2 SNAPSHOT     Backend API: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 531.68, NVIDIA Corporation     Window size: <not initialized>     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     CPU: 12x AMD Ryzen 5 3600 6-Core Processor      ModLauncher: 9.1.3+9.1.3+main.9b69c82a     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:           mixin PLUGINSERVICE           eventbus PLUGINSERVICE           slf4jfixer PLUGINSERVICE           object_holder_definalize PLUGINSERVICE           runtime_enum_extender PLUGINSERVICE           capability_token_subclass PLUGINSERVICE           accesstransformer PLUGINSERVICE           runtimedistcleaner PLUGINSERVICE           mixin TRANSFORMATIONSERVICE           fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         javafml@null         kotlinforforge@3.12.0         lowcodefml@null     Suspected Mods: java.lang.NullPointerException: Cannot invoke "net.minecraftforge.fml.ModList.getMods()" because the return value of "net.minecraftforge.fml.ModList.get()" is null     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.forge.platform.ForgePlatform.getAllMods(ForgePlatform.java:80)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.lambda$identifyFromMixin$8(ModIdentifier.java:155)     at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.identifyFromMixin(ModIdentifier.java:152)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.identifyFromThrowable(ModIdentifier.java:77)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.lambda$identifyFromStacktrace$2(ModIdentifier.java:43)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.visitChildrenThrowables(ModIdentifier.java:53)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.identifyFromStacktrace(ModIdentifier.java:42)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.lambda$getSuspectedModsOf$0(ModIdentifier.java:35)     at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)     at TRANSFORMER/notenoughcrashes@4.2.0+1.18.2/fudge.notenoughcrashes.stacktrace.ModIdentifier.getSuspectedModsOf(ModIdentifier.java:35)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.CrashReport.md075849$lambda$beforeSystemDetailsAreWritten$1$0(CrashReport.java:535)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.SystemReport.m_143522_(SystemReport.java:65)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.CrashReport.handler$zza000$beforeSystemDetailsAreWritten(CrashReport.java:533)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.CrashReport.m_127519_(CrashReport.java:68)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.CrashReport.m_127526_(CrashReport.java:111)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.CrashReport.m_127512_(CrashReport.java:132)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.client.Minecraft.m_91332_(Minecraft.java:781)     at TRANSFORMER/minecraft@1.18.2/net.minecraft.client.main.Main.main(Main.java:179)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:568)     at MC-BOOTSTRAP/fmlloader@1.18.2-40.2.0/net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.Launcher.run(Launcher.java:106)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.Launcher.main(Launcher.java:77)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26)     at MC-BOOTSTRAP/cpw.mods.modlauncher@9.1.3/cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23)     at cpw.mods.bootstraplauncher@1.0.0/cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149)
    • https://github.com/person1212121212121221/crashes
  • Topics

×
×
  • Create New...

Important Information

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