Jump to content

Most effective way to remove vanilla mob drops, without editing anything?


Frontsalat

Recommended Posts

The title basically says it. I'm aware of ways where you'd just replace the vanilla mob with a custom one, and then let this custom mob drop the things you want it to drop. But 1. this is ensured to create bugs with mods like Mo Creatures and 2. creates miriads of unnecessary files filled with walls of code. Isn't there something more elegant like this for blocks?

 

Block.blocksList[block.oreCoal.blockID] = Block.blocksList[MetallurgyRealismModBase.BlockSlate.blockID];

 

Something like, for example:

 

Item.itemsList[item.leather.itemID] = Item.itemsList[MetallurgyRealismModBase.MaterialFur.itemID];

Link to comment
Share on other sites

vague, figure-it-out-yourself answer:

 

events

 

spoon-feed answer:

 

 

 

livingdropsevent

 

 

Look, if you know something, don't give me tension torture. If you'd happen to know something just speak it out loud, without acting all superior. I wouldn't come here and ask if I haven't already tried my butt off. Obviously I'm already using event code:

 

 

package MetallurgyRealism;

import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.item.Item;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;

public class MetallurgyRealismLivingDrops {
public static double rand;

@ForgeSubscribe
public void onEntityDrop(LivingDropsEvent event) {
	if (event.source.getDamageType().equals("player")) {
		rand = Math.random();
		System.out.println("Killed something.");
		if (event.entityLiving instanceof EntityCow || event.entityLiving instanceof EntitySheep || event.entityLiving instanceof EntityChicken || event.entityLiving instanceof EntityPig || event.entityLiving instanceof EntityWolf) {
			System.out.println("Killed a sheep.");
			if (rand < 0.1D) {
				event.entityLiving.dropItem(Item.bone.itemID, 2);
			}
		}
	}
}
}

 

 

But adding new drops isn't the same as removing the vanilla ones.

Link to comment
Share on other sites

If you'd happen to know something just speak it out loud, without acting all superior.

 

i tend to be this way when i'm sleepy. so... get over it. at least i gave the answer (but apparently not enough)

 

I wouldn't come here and ask if I haven't already tried my butt off. Obviously I'm already using event code:

 

no, you never once mentioned you were using the events already. so no, not "obviously".

 

But adding new drops isn't the same as removing the vanilla ones.

 

obviously.

 

anyway, to answer your question completely and properly:

 

you can do what gotolink said, but that would stop all the entity's drops from spawning. if you want it that way, then go ahead. if you want to remove just a specific item, iterate through the list of drops and check if it's the item you want to replace, then replace it, if it is.

Link to comment
Share on other sites

Cancel the event.

 

This would have an effect on the new items added or on any single item to be spawned by dead entitys, but does absolutely nothing to singled out vanilla drops. Except you want me to edit base files...:D

 

you can do what gotolink said, but that would stop all the entity's drops from spawning. if you want it that way, then go ahead. if you want to remove just a specific item, iterate through the list of drops and check if it's the item you want to replace, then replace it, if it is.

 

The iteration did not seem to work on items dropped by mobs. I got it working on blocks, but there's no equivalent code...or at least I found none. Also tried to modifie this code, to no avail:

 

    		Iterator<IRecipe> iterator = CraftingManager.getInstance().getRecipeList().iterator();

    			while (iterator.hasNext()){
    				IRecipe recipe = iterator.next();
    				if (recipe == null)
    				continue;
    					ItemStack output = recipe.getRecipeOutput();
    				if (output != null && output.getItem() != null && removeSet.contains(output.getItem()))
    					iterator.remove();}

Link to comment
Share on other sites

This would have an effect on the new items added or on any single item to be spawned by dead entitys, but does absolutely nothing to singled out vanilla drops. Except you want me to edit base files...:D

The iteration did not seem to work on items dropped by mobs.

 

erm.. cancelling an event doesn't require base class edits. and i just tried what i said earlier and it works. you're just not doing it right. also, that code you tried to modify is for recipes so i have no idea what you tried to do with it. i'd post code, but you clearly don't know what you're doing, so you're going to either have to try harder and figure it out yourself (which i recommend so you won't have to rely on the forums) or wait til someone's nice enough to post code. also, everything you need is already in your "public void onEntityDrop(LivingDropsEvent event)" method, so it shouldn't be too hard to figure out. you just need to change some stuff in there (and i already said what to do earlier). goodluck, ima head to bed

Link to comment
Share on other sites

erm.. cancelling an event doesn't require base class edits. and i just tried what i said earlier and it works. you're just not doing it right. also, that code you tried to modify is for recipes so i have no idea what you tried to do with it. i'd post code, but you clearly don't know what you're doing, so you're going to either have to try harder and figure it out yourself (which i recommend so you won't have to rely on the forums) or wait til someone's nice enough to post code. also, everything you need is already in your "public void onEntityDrop(LivingDropsEvent event)" method, so it shouldn't be too hard to figure out. you just need to change some stuff in there (and i already said what to do earlier). goodluck, ima head to bed

 

I'd say I have to go with something like...

 

event.entityLiving.removeItem(Item.leather.itemID)

 

...but it didn't work

 

So I was right when thinking you're the little smarty by reading all the miriads of your posts on this forums, telling people to learn something, instead of just helping them. Look, it gains you nothing in life to know so much about Java code. But it gains you a lot of envy by acting like a dick. And obviously I can't know as much about Java as you do, because clearly I have a life. It's not lag of skills or commitment, it's simply a lag of time.

 

Modding communitys are supposed to share and help each other, at least that's what we're doing over at Skyrim Community...seems like attitude over here is far more reserved and superior. Feel pleased about your skills, because that's probably all you got.

 

Wait, so you want to remove mob drop that are craftable ?

Do they even exist ?

 

Exceptionally I want to remove leather drops from cows and make them drop fur instead, so I'm capable of processing it.

Link to comment
Share on other sites

ItemStack stack;
Iterator drop = event.drops.iterator();
while(drop.hasNext())
{
stack = ((EntityItem)drop.next()).getEntityItem();
if(stack!=null && stack.getItem().itemID == Item.leather.itemID)
{
iterator.remove();
event.drops.add(new EntityItem(world,x,y,z, new ItemStack(furID));
} 
}

Link to comment
Share on other sites

I'd say I have to go with something like...

 

event.entityLiving.removeItem(Item.leather.itemID)

 

...but it didn't work

 

soooo close... try looking up arraylists if you don't know how to use them.

 

So I was right when thinking you're the little smarty by reading all the miriads of your posts on this forums, telling people to learn something, instead of just helping them.

 

and which posts did you read exactly? because as far as i remember i only answer like a dick when the answer to the question is annoyingly simple and can be figured out with just a bit of research (in your case, it shouldn't even take 10 minutes). or if i know the op to be a dick. but i still give answers which should be enough to help them

 

Look, it gains you nothing in life to know so much about Java code. But it gains you a lot of envy by acting like a dick. And obviously I can't know as much about Java as you do, because clearly I have a life. It's not lag of skills or commitment, it's simply a lag of time.

 

who says i know a lot about java? i learn java on my own and as a hobby. and i'm an architecture student (meaning my workload is ridiculous and i spend most of my time working that i barely get any sleep), but even then i still have a life outside of school and coding. and even then i don't need someone to spoon feed code for me to figure something out.

 

Modding communitys are supposed to share and help each other, at least that's what we're doing over at Skyrim Community...seems like attitude over here is far more reserved and superior. Feel pleased about your skills, because that's probably all you got.

 

help others by posting code for them to copy and paste without them understanding what it does? that's not helping at all. i post code when i see that the op knows what he's talking about. if he doesn't, i point them in the right direction so he can figure things out. a buttload of posts here are related to copied code that the ops don't understand and don't bother to... which is annoying.

 

i pointed you to the answer, but if you're looking for code, i'm not posting any for this. think of me as a dick if you want to, but not everyone here is. i was about to say some guy named hydroflame is usually patient enough to help out a lot, so wait for him. but he already replied here and wadaya know? he said basically the same thing i did.. aaaannd gotolink just posted code.

 

god damn this is a long post

Link to comment
Share on other sites

So I was right when thinking you're the little smarty by reading all the miriads of your posts on this forums, telling people to learn something, instead of just helping them. Look, it gains you nothing in life to know so much about Java code. But it gains you a lot of envy by acting like a dick. And obviously I can't know as much about Java as you do, because clearly I have a life. It's not lag of skills or commitment, it's simply a lag of time.

 

Modding communitys are supposed to share and help each other, at least that's what we're doing over at Skyrim Community...seems like attitude over here is far more reserved and superior. Feel pleased about your skills, because that's probably all you got.

 

what the even fuck ? i dont even...

 

So I was right when thinking you're the little smarty by reading all the miriads of your posts on this forums,

theres a search bar top left of this screen and YES even pro/good modders use it .. they dont ask question unless they know no one else asked them before

 

telling people to learn something, instead of just helping them

telling people to learn java before modding IS helping them, without basic java knowledge you CANNOT do a mod (even the most simple ones)

 

copy pasting code is NOT learning btw

 

Look, it gains you nothing in life to know so much about Java code.

i make 75 000 a year (canada) "knowing about java code".

if 75000 a year is nothing can you give me 75000 per year ?

 

And obviously I can't know as much about Java as you do, because clearly I have a life.

this argument is so invalid im getting cancer from reading it

you will learn stuff in EVERY profession you can think of (dont try a counterargument where working at mcdonald doesnt require learning anything because that would be pathetic). do you think that literally every developper in the world are in front of their computer 24/7 ?!?!?!?!

 

nope, most of us have a wife and children and we will do stuff in our daily lives

 

 

at least that's what we're doing over at Skyrim Community

please, skyrim modding is a freacking joke

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Link to comment
Share on other sites

Man, the time it took you to write all thoose walls of text could have been used to just post the damn code. Now get of your throne, you don't even remotely listen to what I'm telling you Java-Nerd. If your job is Java Coding then you probably kicked yourself a penalty in all your weirdo arguments, right? Wait, I'll tell myself so you don't need to upset yourself...GO LEARN JAVA!!! I'M TALKNG TO ME, DO ME HEARD ME??? GO LEARN JAVA!!!  8)

 

Also, why do I slightly get the feeling no one every achieved that? There should have been a tutorial around already.

 

At least GoToLink has mercy, but unfortunately I'm obviously to dumb to get further then this, and it still doesn't work:

 

package MetallurgyRealism;

import java.util.Iterator;

import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;

public class MetallurgyRealismLivingDrops {
public static double rand;

@ForgeSubscribe
public void onEntityDrop(LivingDropsEvent event) {
	if (event.source.getDamageType().equals("player")) {
		rand = Math.random();
		if (event.entityLiving instanceof EntityCow || event.entityLiving instanceof EntitySheep || event.entityLiving instanceof EntityChicken || event.entityLiving instanceof EntityPig || event.entityLiving instanceof EntityWolf) {
			if (rand < 0.1D) {
				event.entityLiving.dropItem(Item.bone.itemID, 2);
			}
		}
	}
}
public void onEntityDrop1(LivingDropsEvent event, World world, double x, double y, double z, Iterator iterator) {
ItemStack stack;
Iterator drop = event.drops.iterator();{

	while(drop.hasNext()){
		stack = ((EntityItem)drop.next()).getEntityItem();
		if(stack!=null && stack.getItem().itemID == Item.leather.itemID){
			iterator.remove();
			event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(MetallurgyRealismModBase.armorBootsBone)));
		}
	}
}	
}
}

 

 

Link to comment
Share on other sites

Modding communitys are supposed to share and help each other, at least that's what we're doing over at Skyrim Community...seems like attitude over here is far more reserved and superior. Feel pleased about your skills, because that's probably all you got.

 

It is not that people aren't helping. It is that noone can help you if you don't ask the correct question.

In your case, from the very beginning it should have been something like:

I want to remove leather drops from cows and make them drop fur instead.

I began working with LivingDropsEvent, but had no luck, here is my code.

Illustrative code here.

 

Edit: Man, what are you doing with this onEntityDrop1 method ?

Just place the code into a

if(event.entityLiving instanceof EntityCow)
{
//code here
}

in your first method

Link to comment
Share on other sites

MC is crashing as soon as I kill a cow. I can't get the red underline removed from the iterator.remove(); section. If I try fixing with Eclipse it's also crashing.

 

Code so far:

 

 

package MetallurgyRealism;

import java.util.Iterator;

import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.LivingDropsEvent;

public class MetallurgyRealismLivingDrops {
public static double rand;

@ForgeSubscribe
public void onEntityDrop(LivingDropsEvent event) {
	if (event.source.getDamageType().equals("player")) {
		rand = Math.random();
		System.out.println("Killed something.");
		if (event.entityLiving instanceof EntityCow || event.entityLiving instanceof EntitySheep || event.entityLiving instanceof EntityChicken || event.entityLiving instanceof EntityPig || event.entityLiving instanceof EntityWolf) {
			System.out.println("Killed a sheep.");
			if (rand < 0.1D) {
				event.entityLiving.dropItem(Item.bone.itemID, 2);
			}				
		}
		if(event.entityLiving instanceof EntityCow)
		{
			ItemStack stack;
			Iterator drop = event.drops.iterator();
			while(drop.hasNext())
			{
			stack = ((EntityItem)drop.next()).getEntityItem();
			if(stack!=null && stack.getItem().itemID == Item.leather.itemID)
			{
			[u]iterator.remove();[/u]
			event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(MetallurgyRealismModBase.FoodEggBoiled)));
			} 
			}
		}
	}
}
}

 

 

Error Log:

 

 

Minecraft has crashed!     

      ----------------------     

 

Minecraft has stopped running because it encountered a problem; Exception in server tick loop

 

A full error report has been saved to C:\Users\MarcelsPC\Desktop\Forge\mcp\jars\.\crash-reports\crash-2013-07-27_22.07.07-server.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(

 

 

 

--- BEGIN ERROR REPORT dae3ac1c --------

Full report at:

C:\Users\MarcelsPC\Desktop\Forge\mcp\jars\.\crash-reports\crash-2013-07-27_22.07.07-server.txt

Please show that file to Mojang, NOT just this screen!

 

Generated 27.07.13 22:07

 

-- System Details --

Details:

Minecraft Version: 1.5.2

Operating System: Windows 7 (amd64) version 6.1

Java Version: 1.7.0_21, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 773841080 bytes (737 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

AABB Pool Size: 6195 (346920 bytes; 0 MB) allocated, 5584 (312704 bytes; 0 MB) used

Suspicious classes: FML and Forge are installed

IntCache: cache: 0, tcache: 0, allocated: 1, tallocated: 63

FML: MCP v7.51 FML v5.2.21.729 Minecraft Forge 7.8.0.729 4 mods loaded, 4 mods active

mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

FML{5.2.21.729} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Forge{7.8.0.729} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

MetallurgyRealism{0.0.7} [Metallurgy Realism] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Profiler Position: N/A (disabled)

Vec3 Pool Size: 1340 (75040 bytes; 0 MB) allocated, 1253 (70168 bytes; 0 MB) used

Player Count: 1 / 8; [EntityPlayerMP['Player641'/503, l='New World', x=-253,63, y=66,00, z=239,03]]

Type: Integrated Server (map_client.txt)

Is Modded: Definitely; Client brand changed to 'fml,forge'

 

java.lang.Error: Unresolved compilation problem:

iterator cannot be resolved

 

at MetallurgyRealism.MetallurgyRealismLivingDrops.onEntityDrop(MetallurgyRealismLivingDrops.java:39)

at net.minecraftforge.event.ASMEventHandler_4_MetallurgyRealismLivingDrops_onEntityDrop_LivingDropsEvent.invoke(.dynamic)

at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)

at net.minecraftforge.event.EventBus.post(EventBus.java:108)

at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:338)

at net.minecraft.entity.EntityLiving.onDeath(EntityLiving.java:1372)

at net.minecraft.entity.EntityLiving.attackEntityFrom(EntityLiving.java:1126)

at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:191)

at net.minecraft.entity.player.EntityPlayer.attackTargetEntityWithCurrentItem(EntityPlayer.java:1347)

at net.minecraft.network.NetServerHandler.handleUseEntity(NetServerHandler.java:832)

at net.minecraft.network.packet.Packet7UseEntity.processPacket(Packet7UseEntity.java:57)

at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)

at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:134)

at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:53)

at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:676)

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:572)

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:127)

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:470)

at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

--- END ERROR REPORT 308c65a0 ----------

 

 

 

Link to comment
Share on other sites

see this is why we say learning java is important because this error shoudl NEVER get to us

 

 

in eclispe do ctrl+shift+o  (the letter O not zero)

 

Ohh, so you're saying I was to dumb to organize my imports. Well then thank you very much for pointing out my complete lag of understanding Java AND Eclipse. I'll do instantly what you tought me...*hastes pressing ctrl+shift and o (not the zero but the o, like oooohhhh) and anxiously licking his lips for expected success*.

 

Oh crap, it didn't work... :o

 

I'm just curious, if there is any difference in Iterator (which you want to import) and iterator (which is a container reference)?

Link to comment
Share on other sites

MC is crashing as soon as I kill a cow. I can't get the red underline removed from the iterator.remove(); section. If I try fixing with Eclipse it's also crashing.

So, what does Eclipse say of this underlined error ?

Your import is good.

 

I am trying to teach you how to read and learn code, and not copy/paste all over.

 

[spoiler=The fix you should have found]

drop.remove();

 

 

Link to comment
Share on other sites

Man, the time it took you to write all thoose walls of text could have been used to just post the damn code. Now get of your throne, you don't even remotely listen to what I'm telling you Java-Nerd.

 

"Java-Nerd"? real mature. i suggest you listen to yourself and go learn basic java. i mean f*ck, i already told you how to do it, hydroflame confirmed it, and gotolink basically did it for you. and you still complain?? are you that much of a baby that can't be bothered to figure out the rest yourself? you need absolutely everything done for you? get over yourself

Link to comment
Share on other sites

how do you know about "organising imports" but not what an iterator is ??  this is contradictory ish

 

Probably because I'm not a simple copy paster, yet not a skilled coder. I'm somewhere in between, loosely base my understanding of code on trial and fail...;)

 

I said I'm in lag of time to learn every single portion of Java code. I do know from Phython code that a iterator is something that's used to traverse between objects or containers. At least that's what the Java and the Phython Tutorial said.

 

So, what does Eclipse say of this underlined error ?

 

All possible fixes, but drop.remove was none of them. I thought since the "Iterator iterator" was nowhere defined, I had to define it. However, changing it to drop.remove fires out this error log...

 

 

 

      Minecraft has crashed!     

      ----------------------     

 

Minecraft has stopped running because it encountered a problem; Ticking memory connection

 

A full error report has been saved to C:\Users\MarcelsPC\Desktop\Forge\mcp\jars\.\crash-reports\crash-2013-07-28_08.15.01-server.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(

 

 

 

--- BEGIN ERROR REPORT 763a51d2 --------

Full report at:

C:\Users\MarcelsPC\Desktop\Forge\mcp\jars\.\crash-reports\crash-2013-07-28_08.15.01-server.txt

Please show that file to Mojang, NOT just this screen!

 

Generated 28.07.13 08:15

 

-- System Details --

Details:

Minecraft Version: 1.5.2

Operating System: Windows 7 (amd64) version 6.1

Java Version: 1.7.0_21, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 659224968 bytes (628 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

AABB Pool Size: 5825 (326200 bytes; 0 MB) allocated, 5204 (291424 bytes; 0 MB) used

Suspicious classes: FML and Forge are installed

IntCache: cache: 0, tcache: 0, allocated: 3, tallocated: 63

FML: MCP v7.51 FML v5.2.21.729 Minecraft Forge 7.8.0.729 4 mods loaded, 4 mods active

mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

FML{5.2.21.729} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Forge{7.8.0.729} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

MetallurgyRealism{0.0.7} [Metallurgy Realism] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Profiler Position: N/A (disabled)

Vec3 Pool Size: 1303 (72968 bytes; 0 MB) allocated, 1159 (64904 bytes; 0 MB) used

Player Count: 1 / 8; [EntityPlayerMP['Player758'/455, l='New World', x=-249,01, y=66,00, z=238,83]]

Type: Integrated Server (map_client.txt)

Is Modded: Definitely; Client brand changed to 'fml,forge'

 

java.util.ConcurrentModificationException

at java.util.ArrayList$Itr.checkForComodification(Unknown Source)

at java.util.ArrayList$Itr.next(Unknown Source)

at MetallurgyRealism.MetallurgyRealismLivingDrops.onEntityDrop(MetallurgyRealismLivingDrops.java:36)

at net.minecraftforge.event.ASMEventHandler_4_MetallurgyRealismLivingDrops_onEntityDrop_LivingDropsEvent.invoke(.dynamic)

at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)

at net.minecraftforge.event.EventBus.post(EventBus.java:108)

at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:338)

at net.minecraft.entity.EntityLiving.onDeath(EntityLiving.java:1372)

at net.minecraft.entity.EntityLiving.attackEntityFrom(EntityLiving.java:1126)

at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:191)

at net.minecraft.entity.player.EntityPlayer.attackTargetEntityWithCurrentItem(EntityPlayer.java:1347)

at net.minecraft.network.NetServerHandler.handleUseEntity(NetServerHandler.java:832)

at net.minecraft.network.packet.Packet7UseEntity.processPacket(Packet7UseEntity.java:57)

at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)

at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:134)

at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:53)

at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:676)

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:572)

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:127)

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:470)

at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

--- END ERROR REPORT 41e8ba5d ----------

 

 

...and Eclipse says...

 

 

2013-07-28 08:14:54 [iNFO] [sTDOUT] loading single player

2013-07-28 08:14:54 [iNFO] [Minecraft-Server] Player758[/127.0.0.1:0] logged in with entity id 455 at (-253.99618045364738, 66.0, 239.30070436888)

2013-07-28 08:15:01 [iNFO] [sTDOUT] Killed something.

2013-07-28 08:15:01 [iNFO] [sTDOUT] Killed a sheep.

2013-07-28 08:15:01 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Ticking memory connection

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:60)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:676)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:572)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:127)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:470)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

2013-07-28 08:15:01 [iNFO] [sTDERR] Caused by: java.util.ConcurrentModificationException

2013-07-28 08:15:01 [iNFO] [sTDERR] at java.util.ArrayList$Itr.checkForComodification(Unknown Source)

2013-07-28 08:15:01 [iNFO] [sTDERR] at java.util.ArrayList$Itr.next(Unknown Source)

2013-07-28 08:15:01 [iNFO] [sTDERR] at MetallurgyRealism.MetallurgyRealismLivingDrops.onEntityDrop(MetallurgyRealismLivingDrops.java:36)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraftforge.event.ASMEventHandler_4_MetallurgyRealismLivingDrops_onEntityDrop_LivingDropsEvent.invoke(.dynamic)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraftforge.event.EventBus.post(EventBus.java:108)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:338)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.entity.EntityLiving.onDeath(EntityLiving.java:1372)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.entity.EntityLiving.attackEntityFrom(EntityLiving.java:1126)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:191)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.entity.player.EntityPlayer.attackTargetEntityWithCurrentItem(EntityPlayer.java:1347)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.handleUseEntity(NetServerHandler.java:832)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.packet.Packet7UseEntity.processPacket(Packet7UseEntity.java:57)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:134)

2013-07-28 08:15:01 [iNFO] [sTDERR] at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:53)

2013-07-28 08:15:01 [iNFO] [sTDERR] ... 6 more

2013-07-28 08:15:01 [sEVERE] [Minecraft-Server] Encountered an unexpected exception ReportedException

net.minecraft.util.ReportedException: Ticking memory connection

at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:60)

at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:109)

at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:676)

at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:572)

at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:127)

at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:470)

at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

Caused by: java.util.ConcurrentModificationException

at java.util.ArrayList$Itr.checkForComodification(Unknown Source)

at java.util.ArrayList$Itr.next(Unknown Source)

at MetallurgyRealism.MetallurgyRealismLivingDrops.onEntityDrop(MetallurgyRealismLivingDrops.java:36)

at net.minecraftforge.event.ASMEventHandler_4_MetallurgyRealismLivingDrops_onEntityDrop_LivingDropsEvent.invoke(.dynamic)

at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:39)

at net.minecraftforge.event.EventBus.post(EventBus.java:108)

at net.minecraftforge.common.ForgeHooks.onLivingDrops(ForgeHooks.java:338)

at net.minecraft.entity.EntityLiving.onDeath(EntityLiving.java:1372)

at net.minecraft.entity.EntityLiving.attackEntityFrom(EntityLiving.java:1126)

at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:191)

at net.minecraft.entity.player.EntityPlayer.attackTargetEntityWithCurrentItem(EntityPlayer.java:1347)

at net.minecraft.network.NetServerHandler.handleUseEntity(NetServerHandler.java:832)

at net.minecraft.network.packet.Packet7UseEntity.processPacket(Packet7UseEntity.java:57)

at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:89)

at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:134)

at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:53)

... 6 more

2013-07-28 08:15:01 [sEVERE] [Minecraft-Server] This crash report has been saved to: C:\Users\MarcelsPC\Desktop\Forge\mcp\jars\.\crash-reports\crash-2013-07-28_08.15.01-server.txt

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Stopping server

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Saving players

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Saving worlds

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Saving chunks for level 'New World'/Overworld

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Saving chunks for level 'New World'/Nether

2013-07-28 08:15:01 [iNFO] [Minecraft-Server] Saving chunks for level 'New World'/The End

2013-07-28 08:15:02 [iNFO] [ForgeModLoader] Unloading dimension 0

2013-07-28 08:15:02 [iNFO] [ForgeModLoader] Unloading dimension -1

2013-07-28 08:15:02 [iNFO] [ForgeModLoader] Unloading dimension 1

2013-07-28 08:15:02 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from SERVER_STARTED to SERVER_STOPPED. Loading cannot continue

2013-07-28 08:15:02 [sEVERE] [ForgeModLoader]

mcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available

FML{5.2.21.729} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available

Forge{7.8.0.729} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available

MetallurgyRealism{0.0.7} [Metallurgy Realism] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available

2013-07-28 08:15:02 [sEVERE] [ForgeModLoader] The ForgeModLoader state engine has become corrupted. Probably, a state was missed by and invalid modification to a base classForgeModLoader depends on. This is a critical error and not recoverable. Investigate any modifications to base classes outside ofForgeModLoader, especially Optifine, to see if there are fixes available.

2013-07-28 08:15:02 [iNFO] [sTDERR] Exception in thread "Server thread" java.lang.RuntimeException: The ForgeModLoader state engine is invalid

2013-07-28 08:15:02 [iNFO] [sTDERR] at cpw.mods.fml.common.LoadController.transition(LoadController.java:139)

2013-07-28 08:15:02 [iNFO] [sTDERR] at cpw.mods.fml.common.Loader.serverStopped(Loader.java:801)

2013-07-28 08:15:02 [iNFO] [sTDERR] at cpw.mods.fml.common.FMLCommonHandler.handleServerStopped(FMLCommonHandler.java:468)

2013-07-28 08:15:02 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:532)

2013-07-28 08:15:02 [iNFO] [sTDERR] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)

2013-07-28 08:15:11 [iNFO] [Minecraft-Client] Stopping!

2013-07-28 08:15:11 [iNFO] [sTDOUT]

2013-07-28 08:15:11 [iNFO] [sTDOUT] SoundSystem shutting down...

2013-07-28 08:15:12 [iNFO] [sTDOUT]    Author: Paul Lamb, www.paulscode.com

2013-07-28 08:15:12 [iNFO] [sTDOUT]

2013-07-28 08:15:47 [iNFO] [sTDERR] Someone is closing me!

2013-07-28 08:15:47 [iNFO] [Minecraft-Server] Stopping server

2013-07-28 08:15:47 [iNFO] [Minecraft-Server] Saving players

2013-07-28 08:15:47 [iNFO] [Minecraft-Server] Saving worlds

 

 

...I don't understand what Eclpise wants from me, but MC error log is itching about the array list, if I interpret this correctly. Ohh wait, fatal error due to a incompatible modification of a base file, which is rubbish, because I did not touched any base file at all. Do I maybe need to put the code into my proxy class?

 

"Java-Nerd"? real mature. i suggest you listen to yourself and go learn basic java. i mean f*ck, i already told you how to do it, hydroflame confirmed it, and gotolink basically did it for you. and you still complain?? are you that much of a baby that can't be bothered to figure out the rest yourself? you need absolutely everything done for you? get over yourself

 

You'd understand sarcasm or Irony not even if I smashed it in your face. And please, could you wipe my little tushi and chew my meat for me?

Link to comment
Share on other sites

You'd understand sarcasm or Irony not even if I smashed it in your face.

 

Says the guy who can't even form a sentence right. and it's crashing because you're modifying the list while iterating through it. either replace only the entityitem's itemstack and not the entityitem itself or modify the list after you've iterated through it. and that's the last thing i'm saying. hydroflame and gotolink may be patient enough to deal with your immaturity and bs, but i'm certainly not. so byebye now

Link to comment
Share on other sites

The root cause is this exception:

 

java.util.ConcurrentModificationException

at java.util.ArrayList$Itr.checkForComodification(Unknown Source)

at java.util.ArrayList$Itr.next(Unknown Source)

at MetallurgyRealism.MetallurgyRealismLivingDrops.onEntityDrop(MetallurgyRealismLivingDrops.java:36)

 

Googling for "java ConcurrentModificationException" turns up this explanation: http://docs.oracle.com/javase/6/docs/api/java/util/ConcurrentModificationException.html

 

In this case it's because you have this line inside the loop that's iterating over the drops:

 

    event.drops.add(new EntityItem(event.entityLiving.worldObj, event.entityLiving.posX, event.entityLiving.posY, event.entityLiving.posZ, new ItemStack(MetallurgyRealismModBase.FoodEggBoiled)));

 

One way to fix this would be to add the replacement items to a temporary list while you're iterating, and then add that to the drops afterwards.

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

    • I want to make a tree decorator that will generate a beehive under branches of my tree. I have no idea how to check for branches and make beehives generate because TreeDecorator.Context.logs() is just a block pos and i dont understand how it works. i hope ill get an answer here.
    • Imagine this: you've painstakingly accumulated $97,000 worth of Bitcoin, only to see it vanish into the digital abyss at the hands of cunning scammers. It's a devastating blow, leaving you feeling helpless and betrayed. But fear not, for Lee Ultimate Hacker is here to turn the tide in your favor. After conducting extensive research on cryptocurrency recovery options, I stumbled upon Lee Ultimate Hacker, and it proved to be the most suitable choice for the daunting task at hand. Despite my initial skepticism, they shattered my doubts by successfully retrieving $92,000 of the lost Bitcoin—a feat I once deemed impossible. From the moment I reached out to Lee Ultimate Hacker and provided them with all the pertinent information about the fraudulent transaction, they sprang into action with unwavering determination. True to their word, they delivered on their promise to recover the lost Bitcoin within an impressive timeframe of 24 to 72 hours. Their professionalism, expertise, and commitment to their clients were truly commendable, transforming what seemed like an insurmountable ordeal into a resounding triumph. In my eyes, the investment of both time and money was more than justified by the remarkable outcome achieved by Lee Ultimate Hacker. So, if you've fallen victim to cryptocurrency scams and are grappling with the anguish of lost funds, don't despair. Reach out to Lee Ultimate Hacker and let them work their magic. Their track record of success speaks for itself, and with their assistance, you can reclaim what's rightfully yours and emerge stronger than ever before. Don't let the darkness of cybercrime overshadow your financial future. Take a stand against fraudsters with the help of Lee Ultimate Hacker, and witness the transformation from despair to triumph. Your journey to recovery starts here. LEEULTIMATEHACKER@ AOL. COM or Support @ leeultimatehacker . com. telegram:LEEULTIMATE or wh@tsapp +1  (715) 314  -  9248 https://leeultimatehacker.com Thank you.
    • There's a scheme I got into where they promised to trade Bitcoin for me and take a cut as a commission. Seemed like a good idea at the time. But then, things went south real fast. They ended up transferring   $190,000 worth of my Bitcoin. I was devastated and felt completely helpless. That's when I stumbled upon the Wizard Web Recovery Tool. It was like a beacon of hope amid chaos. With this tool, I could finally start digging into what went wrong and hopefully get my Bitcoin back. Using Wizard Web was surprisingly easy. I just had to plug in some details about my Bitcoin account and let it do its thing. It started scanning the internet, looking for any clues about what happened to my Bitcoin. It felt like having a detective on my side, searching for answers. And guess what? Wizard Web found some leads. It uncovered evidence of the scheme's shady dealings and helped me track down the people responsible for losing my Bitcoin. Armed with this information, I took the case to court. After a long and hard-fought legal battle, the court ruled in my favor. The perpetrators were held accountable for their actions and faced criminal charges for their involvement in the scheme. It was a victory not just for me, but for anyone who's been taken advantage of by these kinds of scams. Thanks to Wizard Web Recovery, I was able to get justice and reclaim what was rightfully mine. It showed me that even in the face of adversity, there's always a way to fight back. And with the right tools and determination, anything is possible.   The following is the contact information for Wizard Web Recovery.   Email: wizard web recovery((@))programmer . net
    • Hello, good morning. I know some programming and I'm interested in mod creation. That's why I've decided to follow a tutorial guide on YouTube by TurtyWurty. https://www.youtube.com/watch?v=DhoX9cmAZqA&t=160s&ab_channel=TurtyWurty I've followed the tutorial perfectly. The problem is that when checking the food, the texture doesn't load for me. However, everything seems fine no matter how much I check. I'm sure it's something trivial, the problem is that I can't find it. Could you help me solve it, please? I leave a zip of my file so you can edit it freely. forge-1.20-Civicraft.rar
    • If you have nvidia graphics, it's important that you make sure Minecraft (and anything Minecraft-related) is set to prefer high performance graphics first. If you only update your AMD drivers it might fix the issue but cause severe performance loss vs Vanilla as it'll be running on the integrated graphics instead of dedicated nvidia graphics
  • Topics

×
×
  • Create New...

Important Information

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