Jump to content

How to make 2 or more enchants compatible with each other (1.12)


NoobMaster4000

Recommended Posts

How can I make my enchants compatible with other my enchants? I'm not talking about

        @Override
	protected boolean canApplyTogether(Enchantment ench) {
		return super.canApplyTogether(ench) && (ench != Enchantments.SILK_TOUCH);
	}

but like: 

I have an enchant that uses 

HarvestDropsEvent

and add the drop to your inventory but when I add another enchant that uses the same Event or a drop event it throws a NPE on

ItemStack hand = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);

How can I make it compatible so that when I mine if I have the enchant A it adds my drops to my inventory if I have B it drops me more exp but when my pickaxe has both the enchants it drops me more exp and set the drop into my inventory?

Link to comment
Share on other sites

29 minutes ago, NoobMaster4000 said:

and add the drop to your inventory but when I add another enchant that uses the same Event or a drop event it throws a NPE on

Post your code.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

EntityPlayer player = (EntityPlayer) event.getHarvester();
		if (event.getHarvester() == null)
			return;
		World world = event.getWorld();
		ItemStack hand = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
		Map<Enchantment, Integer> telepathy = EnchantmentHelper.getEnchantments(hand);
		if (telepathy.isEmpty() || !telepathy.containsKey(InitEnchants.TELEPATHY))
			return;
		int telepathylevel = telepathy.get(InitEnchants.TELEPATHY);
		IBlockState state = event.getState();
		Random random = new Random();
		BlockPos pos = event.getPos();
		Block block = event.getState().getBlock();
		Messages.sendMessage(player, block.toString());
		int fortuneLevel = event.getFortuneLevel();
		ItemStack drop = new ItemStack(block, 1, block.getMetaFromState(state));
		String[] blacklist = ConfigHandler.enchants.telepathy.blacklistblocks;
		boolean isfull = player.inventory.getFirstEmptyStack() == -1;
		if (!world.isRemote) {
			if (telepathylevel > 0) {
				if (PlayerHelper.isBlacklisted(blacklist, PlayerHelper.getEntityName(block)))
					return;
				event.getDrops().clear();
				if (drop.getItem() instanceof ItemAir)
					return;
				if ((drop != null) && (!(drop.getItem() instanceof ItemAir))) {
					int nItems = 0;
					if ((fortuneLevel > 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size() + random.nextInt(fortuneLevel + 1);
					} else if ((fortuneLevel <= 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size();
					}
					if ((drop.getItem() instanceof ItemBlock)) {
						nItems = 1;
					}
					for (int i = 0; i < nItems; i++) {
						if (!isfull) {
							player.inventory.addItemStackToInventory(drop.copy());
						} else {
							float f = random.nextFloat() * 0.6F + 0.1F;
							float f1 = random.nextFloat() * 0.6F + 0.1F;
							float f2 = random.nextFloat() * 0.6F + 0.1F;
							float f3 = 0.025F;

							EntityItem eitem = new EntityItem(world, pos.getX() + f, pos.getY() + f1, pos.getZ() + f2,
									drop.copy());
							eitem.motionX = (random.nextGaussian() * f3);
							eitem.motionY = (random.nextGaussian() * f3 + 0.20000000298023224D);
							eitem.motionZ = (random.nextGaussian() * f3);
							world.spawnEntity(eitem);
							event.setDropChance(0.0F);
						}
					}
				}
			}
		}
	}

 

if (event.getAttackingPlayer() instanceof EntityPlayer) {
			if (event.getEntityLiving() instanceof EntityLivingBase) {
				EntityLivingBase entity = (EntityLivingBase) event.getEntityLiving();
				World world = entity.world;
				if (!world.isRemote) {
					EntityPlayer player = (EntityPlayer) event.getAttackingPlayer();
					ItemStack head = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
					Map<Enchantment, Integer> xpboost = EnchantmentHelper.getEnchantments(head);
					if (xpboost.isEmpty() || !xpboost.containsKey(InitEnchants.XP_BOOST))
						return;
					int xpboostlevel = xpboost.get(InitEnchants.XP_BOOST);
					int xp = event.getDroppedExperience();
					int xpboostxlevel = xpboostlevel;
					while (xp > 0) {
						int cap = EntityXPOrb.getXPSplit(xp) + xpboostxlevel;
						xp -= cap;
						entity.world.spawnEntity(new EntityXPOrb(world, entity.posX, entity.posY, entity.posZ, cap));
					}
				}
			}
		}

I want to make these compatible

Link to comment
Share on other sites

You are doing way more things in your HarvestDropsEvent than you should be. Fortune and exp dropping should already have been taken care of before any of your code gets called.

if (drop.getItem() instanceof ItemAir)

That should never occur.

if ((drop != null) && (!(drop.getItem() instanceof ItemAir))) {

Drop is already not null or the game crashed (assuming you didn't set it to new ItemStack anywayand you know the item isn't air because you literally just checked for that.

					if ((fortuneLevel > 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size() + random.nextInt(fortuneLevel + 1);
					} else if ((fortuneLevel <= 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size();
					}

This can be simplified.

nItems = event.getDrops().size + (fortuneLevel > 0 ? random.nextInt(fortuneLevel + 1) : 0);

Of course, why are you using the number of stacks as your baseline value? That seems odd. Whatever.

 

Anyway.

Compatibility.

if (event.getAttackingPlayer() instanceof EntityPlayer) {

...This isn't the harvest drops event, so I don't see why you even have a problem...

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

 

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

 

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

Link to comment
Share on other sites

4 minutes ago, Draco18s said:

You are doing way more things in your HarvestDropsEvent than you should be. Fortune and exp dropping should already have been taken care of before any of your code gets called.


if (drop.getItem() instanceof ItemAir)

That should never occur.


if ((drop != null) && (!(drop.getItem() instanceof ItemAir))) {

Drop is already not null or the game crashed (assuming you didn't set it to new ItemStack anywayand you know the item isn't air because you literally just checked for that.


					if ((fortuneLevel > 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size() + random.nextInt(fortuneLevel + 1);
					} else if ((fortuneLevel <= 0) && (!(drop.getItem() instanceof ItemBlock))) {
						nItems = event.getDrops().size();
					}

This can be simplified.

nItems = event.getDrops().size + (fortuneLevel > 0 ? random.nextInt(fortuneLevel + 1) : 0);

Of course, why are you using the number of stacks as your baseline value? That seems odd. Whatever.

 

Anyway.

Compatibility.


if (event.getAttackingPlayer() instanceof EntityPlayer) {

...This isn't the harvest drops event, so I don't see why you even have a problem...

Sorry, the 2nd code uses 

LivingExperienceDropEvent

Anyway, the code of both events works alone is when I set 2 enchants that do the same thing that doesn't work.

 

Eg: if I have the 1st code enchant and I apply add the enchant that let me mine 3x3 it doesn't work

Link to comment
Share on other sites

I am not understanding your problem.

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

 

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

 

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

Link to comment
Share on other sites

14 minutes ago, Draco18s said:

I am not understanding your problem.

I make you an example with 2 other enchants I have:

 

I have an enchant that breaks an area  3x3x3 dropping the item broken (or the basic block if I break stone for example), a second enchant that "teleport" the drop to your inventory and those doesn't work together

Link to comment
Share on other sites

Ok, so, you didn't post the 3x3 code and I suspect it doesn't work because, like an idiot, you didn't fire any of the relevant Forge events when you broke those blocks.

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

 

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

 

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

Link to comment
Share on other sites

The HarvestDropsEvent, for one. If you're breaking blocks and generating loot from them and not firing the HarvestDropsEvent, then your other enchantment which relies on the HarvestDropsEvent to do its thing can't run.

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

 

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

 

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

Link to comment
Share on other sites

6 hours ago, Draco18s said:

The HarvestDropsEvent, for one. If you're breaking blocks and generating loot from them and not firing the HarvestDropsEvent, then your other enchantment which relies on the HarvestDropsEvent to do its thing can't run.

Oh wow, I'm a idiot!! I use the HarvestDropsEvent ? ? ? ?

Did you read what I said in my first comment? No, I guess

 

 
 
 
 
 
 
 
 
 
 
 
 
9 hours ago, NoobMaster4000 said:

I have an enchant that uses 


HarvestDropsEvent

 

Edited by NoobMaster4000
Link to comment
Share on other sites

3 hours ago, NoobMaster4000 said:

Oh wow, I'm a idiot!! I use the HarvestDropsEvent ? ? ? ?

Did you read what I said in my first comment? No, I guess

"Subscribing to" and "firing" are not the same thing.

 

Post your 3x3 mining enchantment code.

 

5 hours ago, diesieben07 said:

HarvestDropsEvent does not need to be fired manually, provided you call the correct methods in the Block class to generate the drops (which you should be doing anyways).

 

While true, I have serious doubts about the code calling the correct methods in the block class, as evidenced by the way he generates drops in the telepathy enchantment. So, one way or another, he's not invoking the HarvestDropsEvent (whether he needs to do so manually depends on other factors; there are legitimate reasons to bypass the Block class code, if admittedly rare).

 

Oh, speaking of:

12 hours ago, NoobMaster4000 said:

Map<Enchantment, Integer> telepathy = EnchantmentHelper.getEnchantments(hand);
		if (telepathy.isEmpty() || !telepathy.containsKey(InitEnchants.TELEPATHY))
			return;
		int telepathylevel = telepathy.get(InitEnchants.TELEPATHY);

This entire function block is completely and utterly irrelevant.

 

After checking the telepathy level, just loop over the event.drops() array and attempt to add them to the player's inventory. If it can be added to the player's inventory, remove it from the array. There's no need to go through all that bullshit your code does.

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

 

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

 

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

Link to comment
Share on other sites

16 minutes ago, Draco18s said:
 
 
 
 
15 minutes ago, Draco18s said:

After checking the telepathy level, just loop over the event.drops() array and attempt to add them to the player's inventory. If it can be added to the player's inventory, remove it from the array. There's no need to go through all that bullshit your code does.

 

public static void onTelepathyUse(HarvestDropsEvent event) {
		EntityPlayer player = (EntityPlayer) event.getHarvester();
		if (event.getHarvester() == null)
			return;
		World world = event.getWorld();
		ItemStack hand = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
		Map<Enchantment, Integer> telepathy = EnchantmentHelper.getEnchantments(hand);
		if (telepathy.isEmpty() || !telepathy.containsKey(InitEnchants.TELEPATHY))
			return;
		int telepathylevel = telepathy.get(InitEnchants.TELEPATHY);
//		IBlockState state = event.getState();
//		Random random = new Random();
//		BlockPos pos = event.getPos();
		Block block = event.getState().getBlock();
//		int fortuneLevel = event.getFortuneLevel();
//		ItemStack drop = new ItemStack(block, 1, block.getMetaFromState(state));
		String[] blacklist = ConfigHandler.enchants.telepathy.blacklistblocks;
		boolean isfull = player.inventory.getFirstEmptyStack() == -1;
		if (!world.isRemote) {
			if (telepathylevel > 0) {
				if (PlayerHelper.isBlacklisted(blacklist, PlayerHelper.getEntityName(block)))
					return;
				if (!isfull) {
					for (int i = 0; i < event.getDrops().size(); i++) {
						player.inventory.addItemStackToInventory(event.getDrops().get(i));
					}
				}
			}
		}
	}
}

 

Like this? Yes, it works not with the 3x3 enchant but it works

Edited by NoobMaster4000
Link to comment
Share on other sites

Well, you did half of what I said. You're still only checking if things go into the players inventory once (outside the loop no less) and you aren't removing things from event.drops().

 

And you still haven't posted the 3x3 enchantment's code. You know, the code causing the problem. 

Edited by Draco18s

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

 

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

 

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

Link to comment
Share on other sites

18 minutes ago, Draco18s said:

Well, you did half of what I said. You're still only checking if things go into the players inventory once (outside the loop no less) and you aren't removing things from event.drops().

 

And you still haven't posted the 3x3 enchantment's code. You know, the code causing the problem. 

Is just a test, I'll add now what it miss

 

public static void onExcavateUse(BlockEvent.BreakEvent event) {
		EntityPlayer player = (EntityPlayer) event.getPlayer();
		ItemStack hand = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
		Map<Enchantment, Integer> excavate = EnchantmentHelper.getEnchantments(hand);
		if (excavate.isEmpty() || !excavate.containsKey(InitEnchants.EXCAVATE))
			return;
		int excavatelevel = excavate.get(InitEnchants.EXCAVATE);
		World world = event.getWorld();
		BlockPos pos = event.getPos();
		Block block = event.getState().getBlock();
		String[] blacklist = ConfigHandler.enchants.excavate.blacklistblocks;
		if (!world.isRemote) {
			if (excavatelevel > 0) {
				for (int i = 0; i < (excavatelevel + 1); i++) {
					Iterable<BlockPos> it = BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i));
					for (BlockPos offset2 : it) {
						Block block2 = world.getBlockState(offset2).getBlock();
						if (block2 == block && block2 != Blocks.AIR
								&& !PlayerHelper.isBlacklisted(blacklist, block2.getRegistryName().toString())) {
     						world.destroyBlock(offset2, true);
							hand.damageItem(1, player);
						}
					}
				}
			}
		}
	}

 

Link to comment
Share on other sites

5 hours ago, NoobMaster4000 said:

world.destroyBlock(offset2, true);

You remember how diesieben07 said something about calling the right methods in the block class, and how I said you're not calling the Forge events?

 

Yeah, this is why.

destroyBlock is essentially the same as setBlockToAir. This bypasses all the standard harvesting logic.

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

 

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

 

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

Link to comment
Share on other sites

2 hours ago, Draco18s said:

You remember how diesieben07 said something about calling the right methods in the block class, and how I said you're not calling the Forge events?

 

Yeah, this is why.

destroyBlock is essentially the same as setBlockToAir. This bypasses all the standard harvesting logic.

Okay, I'll try.

I use this:

for (int i = 0; i < entityhurt.inventory.armorInventory.size(); i++) {
ItemStack hand = player.inventory.armorItemInSlot(i);

to check the player armor (for telepathy) but on server it crashes because there's no method, how can I check it? I want to make telepathy compatible for pickaxe/armor

Link to comment
Share on other sites

38 minutes ago, NoobMaster4000 said:

Okay, I'll try.

Please just post all of your code(the events) and the problem you are having.

 

39 minutes ago, NoobMaster4000 said:

but on server it crashes because there's no method, how can I check it?

Use a method that isnt annotated with @SideOnly(Side.CLIENT).

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 hour ago, Animefan8888 said:

Please just post all of your code(the events) and the problem you are having.

 

Use a method that isnt annotated with @SideOnly(Side.CLIENT).

if (!world.isRemote) {
			if (excavatelevel > 0) {
				for (int i = 0; i < (excavatelevel + 1); i++) {
					Iterable<BlockPos> it = BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i));
					for (BlockPos offset2 : it) {
						Block block2 = world.getBlockState(offset2).getBlock();
						if (/*block2 == block &&*/ block2 != Blocks.AIR
								&& !PlayerHelper.isBlacklisted(blacklist, block2.getRegistryName().toString())) {
							block2.harvestBlock(world, player, offset2, state, null, ItemStack.EMPTY);
							block2.removedByPlayer(state, world, offset2, player, true);
							hand.damageItem(1, player);
						}

					}
				}
			}
		}

The comment is because I want to set a setting to break only the same block but I have to solve the problem with the redstone since it becore lit_redstone_ore, so I leave there for now

 

Found this

ItemStack hand = player.inventory.armorInventory.get(i);

 

Now telepathy doesn't work with autosmelt, which is:

Dropping iron ingots and the ore

Edited by NoobMaster4000
Link to comment
Share on other sites

2 hours ago, NoobMaster4000 said:

if (!world.isRemote) {
			if (excavatelevel > 0) {
				for (int i = 0; i < (excavatelevel + 1); i++) {
					Iterable<BlockPos> it = BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i));
					for (BlockPos offset2 : it) {
						Block block2 = world.getBlockState(offset2).getBlock();
						if (/*block2 == block &&*/ block2 != Blocks.AIR
								&& !PlayerHelper.isBlacklisted(blacklist, block2.getRegistryName().toString())) {
							block2.harvestBlock(world, player, offset2, state, null, ItemStack.EMPTY);
							block2.removedByPlayer(state, world, offset2, player, true);
							hand.damageItem(1, player);
						}

					}
				}
			}
		}

 

This is not all of the code for example I don't knpw what event you are in. You've also given me no idea what enchant you are working on. This is like working on a code base that hasn't been well maintained because I can't tell what piece of code does what or even when it should be called.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

5 hours ago, Animefan8888 said:

This is not all of the code for example I don't knpw what event you are in. You've also given me no idea what enchant you are working on. This is like working on a code base that hasn't been well maintained because I can't tell what piece of code does what or even when it should be called.

Sorry, it says "excavatelevel" but:

public static void onExcavateUse(BlockEvent.BreakEvent event) {
		EntityPlayer player = (EntityPlayer) event.getPlayer();
		ItemStack hand = player.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND);
		Map<Enchantment, Integer> excavate = EnchantmentHelper.getEnchantments(hand);
		if (excavate.isEmpty() || !excavate.containsKey(InitEnchants.EXCAVATE))
			return;
		int excavatelevel = excavate.get(InitEnchants.EXCAVATE);
		World world = event.getWorld();
		BlockPos pos = event.getPos();
		IBlockState state = event.getState();
		Block block = event.getState().getBlock();
		String[] blacklist = ConfigHandler.enchants.excavate.blacklistblocks;
		boolean breakonlysimilarblocks = ConfigHandler.enchants.excavate.breakonlysimilarblocks;
		if (!world.isRemote) {
			if (excavatelevel > 0) {
				for (int i = 0; i < (excavatelevel + 1); i++) {
					Iterable<BlockPos> it = BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i));
					for (BlockPos offset2 : it) {
						Block block2 = world.getBlockState(offset2).getBlock();
						if (/* block2 == block && */ block2 != Blocks.AIR
								&& !PlayerHelper.isBlacklisted(blacklist, PlayerHelper.getEntityName(block2))) {
							block2.harvestBlock(world, player, offset2, state, null, ItemStack.EMPTY);
							block2.removedByPlayer(state, world, offset2, player, true);
							hand.damageItem(1, player);
						} else if (breakonlysimilarblocks) {
							if (block2 == block && block2 != Blocks.AIR
									&& !PlayerHelper.isBlacklisted(blacklist, PlayerHelper.getEntityName(block2))) {
								block2.harvestBlock(world, player, offset2, state, null, ItemStack.EMPTY);
								block2.removedByPlayer(state, world, offset2, player, true);
								hand.damageItem(1, player);
							}
						}
					}
				}
			}
		}
	}

It works with everything (need the last test)

 

Now the problem is LivingHurtEvent:

String[] blacklist = ConfigHandler.enchants.poison.blacklistentities;
if (PlayerHelper.isBlacklisted(blacklist, PlayerHelper.getEntityName(entityhurt)))
return;

The 2 methods are:

public static boolean isBlacklisted(String[] blacklist, String name) {
		for (int i = 0; i < blacklist.length; i++) {
			if (blacklist[i].contains(name)) {
				return true;
			}
		}
		return false;
	}

	public static String getEntityName(Entity entity) {
		return EntityList.getKey(entity).toString();
	}

	public static String getEntityName(Block block) {

		return block.getRegistryName().toString();
	}

	public static String getEntityName(Item item) {

		return item.getRegistryName().toString();
	}

Which works if I hit a cow and the effect work, if I add "minecraft:cow" in the blacklist it work and the effect doesn't work on the cow but but I can't add "minecraft:player", if I hit a player it crashes. I want this blacklist so the entities blacklisted aren't affected

Link to comment
Share on other sites

3 hours ago, NoobMaster4000 said:

for (int i = 0; i < (excavatelevel + 1); i++) {

Iterable<BlockPos> it = BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i));

I made a comment about these lines already. You do not need the loop.

 

3 hours ago, NoobMaster4000 said:

if (block2 == block && block2 != Blocks.AIR

You shouldn't need to check that block2 isn't air. 

 

3 hours ago, NoobMaster4000 said:

if (!world.isRemote)

if (excavatelevel > 0)

You should inverse these checks and instead return, it reduces your indentation and makes your code easier to read.

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

 

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

 

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

Link to comment
Share on other sites

10 minutes ago, Draco18s said:

I made a comment about these lines already. You do not need the loop.

 

You shouldn't need to check that block2 isn't air. 

 

You should inverse these checks and instead return, it reduces your indentation and makes your code easier to read.

What about my second problem?

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

    • Hi, i'm getting this error when trying to start a modded minecraft server with a personal modpack. Also getting a simmilar error when trying to create a singleplayer world. Can someone help me find which mod is causing this error? Forge: 47.2.0 Minecraft: 1.20.1   This is the crash report: Also have this link to the log, if you prefer it: https://mclo.gs/3fRVwOj
    • I was trying to play minecraft modded with my friend it worked yesterday until today we added new mods and now i cant load the world here is the crash log: ---- Minecraft Crash Report ---- // This doesn't make any sense! Time: 2024-04-28 15:34:36 Description: Exception in server tick loop java.lang.VerifyError: Bad local variable type Exception Details:   Location:     net/minecraft/server/level/ChunkMap.wrapOperation$zfm000$pehkui$convertToFullChunk$lambda$loadEntities$mixinextras$bridge$136(Lnet/minecraft/world/level/chunk/LevelChunk;Lcom/llamalad7/mixinextras/injector/wrapoperation/Operation;)V @3: aload_3   Reason:     Type top (current frame, locals[3]) is not assignable to reference type   Current Frame:     bci: @3     flags: { }     locals: { 'net/minecraft/server/level/ChunkMap', 'net/minecraft/world/level/chunk/LevelChunk', 'com/llamalad7/mixinextras/injector/wrapoperation/Operation' }     stack: { 'net/minecraft/server/level/ChunkMap', 'net/minecraft/world/level/chunk/LevelChunk', 'com/llamalad7/mixinextras/injector/wrapoperation/Operation' }   Bytecode:     0000000: 2a2b 2c2d b90b eb01 00c0 001f b70b edb1     0000010:                                             at net.minecraft.server.level.ServerChunkCache.<init>(ServerChunkCache.java:77) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:pehkui.mixins.json:compat117plus.compat1201minus.ServerChunkManagerMixin,pl:mixin:A}     at net.minecraft.server.level.ServerLevel.<init>(ServerLevel.java:209) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:computing_frames,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendisland.mixins.json:ServerLevelMixin,pl:mixin:APP:citadel.mixins.json:ServerLevelMixin,pl:mixin:APP:zombieawareness.mixins.json:MixinPlaySound,pl:mixin:APP:zombieawareness.mixins.json:MixinLevelEvent,pl:mixin:APP:betterdeserttemples.mixins.json:ServerLevelMixin,pl:mixin:APP:ars_elemental.mixins.json:ServerLevelMixin,pl:mixin:APP:betterendisland.mixins.json:EndergeticExpansionMixins,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_129815_(MinecraftServer.java:337) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130006_(MinecraftServer.java:308) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.client.server.IntegratedServer.m_7038_(IntegratedServer.java:83) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,xf:OptiFine:default,re:classloading,xf:OptiFine:default,pl:mixin:APP:mixins.essential.json:server.integrated.Mixin_FixDefaultOpPermissionLevel,pl:mixin:APP:mixins.essential.json:server.integrated.MixinIntegratedServer,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%23313!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,re:classloading,pl:accesstransformer:B,xf:fml:xaerominimap:xaero_minecraftserver,pl:mixin:APP:citadel.mixins.json:MinecraftServerMixin,pl:mixin:APP:mixins.essential.json:feature.sps.Mixin_IntegratedServerResourcePack,pl:mixin:APP:mixins.essential.json:server.MinecraftServerMixin_PvPGameRule,pl:mixin:APP:mixins.essential.json:server.Mixin_PublishServerStatusResponse,pl:mixin:A}     at java.lang.Thread.run(Thread.java:833) ~[?:?] {re:mixin} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1154564648 bytes (1101 MiB) / 3254779904 bytes (3104 MiB) up to 17850957824 bytes (17024 MiB)     CPUs: 16     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 7 5700G with Radeon Graphics              Identifier: AuthenticAMD Family 25 Model 80 Stepping 0     Microarchitecture: Zen 3     Frequency (GHz): 3.79     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: NVIDIA GeForce RTX 3060     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 4095.00     Graphics card #0 deviceId: 0x2504     Graphics card #0 versionInfo: DriverVersion=31.0.15.5222     Memory slot #0 capacity (MB): 16384.00     Memory slot #0 clockSpeed (GHz): 2.13     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 16384.00     Memory slot #1 clockSpeed (GHz): 2.13     Memory slot #1 type: DDR4     Virtual memory max (MB): 46381.31     Virtual memory used (MB): 24323.54     Swap memory total (MB): 13824.00     Swap memory used (MB): 522.00     JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx17024m -Xms256m     Server Running: true     Player Count: 0 / 8; []     Data Packs: vanilla, mod:dynamiclightsreforged (incompatible), mod:additionalentityattributes (incompatible), mod:geckolib, mod:jei, mod:graveyard (incompatible), mod:pehkui (incompatible), mod:soulbound (incompatible), mod:caelus (incompatible), mod:obscure_api (incompatible), mod:apoli (incompatible), mod:neat, mod:enlightened_end, mod:citadel (incompatible), mod:travelersbackpack, mod:zombieawareness (incompatible), mod:mixinextras (incompatible), mod:cave_dweller (incompatible), mod:depthcrawler, mod:iceandfire, mod:inventorypets (incompatible), mod:jeresources, mod:spelunkers_charm, mod:twilightforest, mod:ironchest, mod:sons_of_sins, mod:lucky (incompatible), mod:terrablender, mod:ambientsounds, mod:biomesoplenty (incompatible), mod:creativecore, mod:watching, mod:calio, mod:cataclysm (incompatible), mod:curios (incompatible), mod:ars_nouveau (incompatible), mod:origins (incompatible), mod:xaerominimap (incompatible), mod:man, mod:rats, mod:forge, mod:ars_elemental (incompatible), mod:gh, mod:ftbultimine (incompatible), mod:tombstone, mod:coroutil (incompatible), mod:architectury (incompatible), mod:ftblibrary (incompatible), mod:ftbteams (incompatible), mod:ftbchunks (incompatible), mod:ftbquests (incompatible), mod:voidscape (incompatible), mod:infiniverse (incompatible), mod:phantasm (incompatible), mod:aquamirae (incompatible), mod:essential (incompatible), mod:betterdungeons, mod:betterwitchhuts, mod:betteroceanmonuments, mod:epicfight (incompatible), mod:wom (incompatible), mod:yungsapi, mod:betterdeserttemples, mod:dixtas_armory (incompatible), mod:betterfortresses, mod:nyfsspiders (incompatible), mod:yungsbridges, mod:born_in_chaos_v1, mod:arphex, mod:yungsextras, mod:betterstrongholds, mod:yungsmenutweaks, mod:deeperdarker, mod:betterendisland, mod:deep_dark_regrowth, mod:fight_or_die, mod:bettermineshafts, mod:betterjungletemples     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Launched Version: forge-47.2.20     OptiFine Version: OptiFine_1.20.1_HD_U_I6     OptiFine Build: 20231221-120401     Render Distance Chunks: 6     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.6.0 NVIDIA 552.22     OpenGlRenderer: NVIDIA GeForce RTX 3060/PCIe/SSE2     OpenGlVendor: NVIDIA Corporation     CpuCount: 16     ModLauncher: 10.0.9+10.0.9+main.dcd20f30     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.5.jar eventbus PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.2.20.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar OptiFine TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar essential-loader TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         lowcodefml@null         javafml@null     Mod List:          dynamiclightsreforged-1.20.1_v1.6.0.jar           |Rubidium Dynamic Lights       |dynamiclightsreforged         |1.20.1_v1.6.0       |DONE      |Manifest: NOSIGNATURE         YungsBetterDungeons-1.20-Forge-4.0.4.jar          |YUNG's Better Dungeons        |betterdungeons                |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         YungsBetterWitchHuts-1.20-Forge-3.0.3.jar         |YUNG's Better Witch Huts      |betterwitchhuts               |1.20-Forge-3.0.3    |DONE      |Manifest: NOSIGNATURE         additionalentityattributes-forge-1.4.0.5+1.20.1.ja|Additional Entity Attributes  |additionalentityattributes    |1.4.0.5+1.20.1      |DONE      |Manifest: NOSIGNATURE         geckolib-forge-1.20.1-4.4.4.jar                   |GeckoLib 4                    |geckolib                      |4.4.4               |DONE      |Manifest: NOSIGNATURE         jei-1.20.1-forge-15.3.0.4.jar                     |Just Enough Items             |jei                           |15.3.0.4            |DONE      |Manifest: NOSIGNATURE         The_Graveyard_3.1_(FORGE)_for_1.20.1.jar          |The Graveyard                 |graveyard                     |3.1                 |DONE      |Manifest: NOSIGNATURE         Pehkui-3.8.0+1.20.1-forge.jar                     |Pehkui                        |pehkui                        |3.8.0+1.20.1-forge  |DONE      |Manifest: NOSIGNATURE         YungsBetterOceanMonuments-1.20-Forge-3.0.4.jar    |YUNG's Better Ocean Monuments |betteroceanmonuments          |1.20-Forge-3.0.4    |DONE      |Manifest: NOSIGNATURE         Soulbound-Forge-0.8+1.20.1.jar                    |Soulbound                     |soulbound                     |0.8                 |DONE      |Manifest: NOSIGNATURE         caelus-forge-3.2.0+1.20.1.jar                     |Caelus API                    |caelus                        |3.2.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         obscure_api-15.jar                                |Obscure API                   |obscure_api                   |15                  |DONE      |Manifest: NOSIGNATURE         apoli-forge-1.20.1-2.9.0.6.jar                    |Apoli                         |apoli                         |1.20.1-2.9.0.6      |DONE      |Manifest: NOSIGNATURE         Neat-1.20-35-FORGE.jar                            |Neat                          |neat                          |1.20-35-FORGE       |DONE      |Manifest: NOSIGNATURE         enlightend-5.0.14-1.20.1.jar                      |Enlightend                    |enlightened_end               |5.0.14              |DONE      |Manifest: NOSIGNATURE         EpicFight-20.7.4.jar                              |Epic Fight                    |epicfight                     |20.7.4              |DONE      |Manifest: NOSIGNATURE         WeaponsOfMiracles-20.1.7.40.jar                   |Weapons of Minecraft          |wom                           |20.1.7.40           |DONE      |Manifest: NOSIGNATURE         citadel-2.5.4-1.20.1.jar                          |Citadel                       |citadel                       |2.5.4               |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.20.1-9.1.12.jar               |Traveler's Backpack           |travelersbackpack             |9.1.12              |DONE      |Manifest: NOSIGNATURE         zombieawareness-1.20.1-1.13.1.jar                 |Zombie Awareness              |zombieawareness               |1.20.1-1.13.1       |DONE      |Manifest: NOSIGNATURE         YungsApi-1.20-Forge-4.0.4.jar                     |YUNG's API                    |yungsapi                      |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         mixinextras-forge-0.2.0-beta.8.jar                |MixinExtras                   |mixinextras                   |0.2.0-beta.8        |DONE      |Manifest: NOSIGNATURE         YungsBetterDesertTemples-1.20-Forge-3.0.3.jar     |YUNG's Better Desert Temples  |betterdeserttemples           |1.20-Forge-3.0.3    |DONE      |Manifest: NOSIGNATURE         cave_dweller-1.20.1-1.6.4.jar                     |cave_dweller                  |cave_dweller                  |1.6.4               |DONE      |Manifest: NOSIGNATURE         deep-1.05b.jar                                    |depthcrawler                  |depthcrawler                  |1.0.0               |DONE      |Manifest: NOSIGNATURE         iceandfire-2.1.13-1.20.1-beta-4.jar               |Ice and Fire                  |iceandfire                    |2.1.13-1.20.1-beta-4|DONE      |Manifest: NOSIGNATURE         dixtas_armory-1.1.7-1.20.1-beta.jar               |dixta's Armory                |dixtas_armory                 |1.1.4-1.20.1-beta   |DONE      |Manifest: NOSIGNATURE         inventorypets-1.20.1-2.1.1.jar                    |Inventory Pets                |inventorypets                 |2.1.1               |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.20.1-1.4.0.247.jar          |Just Enough Resources         |jeresources                   |1.4.0.247           |DONE      |Manifest: NOSIGNATURE         YungsBetterNetherFortresses-1.20-Forge-2.0.6.jar  |YUNG's Better Nether Fortresse|betterfortresses              |1.20-Forge-2.0.6    |DONE      |Manifest: NOSIGNATURE         SpelunkersCharm-3.5.9-1.20.1.jar                  |Spelunker's Charm             |spelunkers_charm              |3.5.9               |DONE      |Manifest: NOSIGNATURE         twilightforest-1.20.1-4.3.2145-universal.jar      |The Twilight Forest           |twilightforest                |4.3.2145            |DONE      |Manifest: NOSIGNATURE         ironchest-1.20.1-14.4.4.jar                       |Iron Chests                   |ironchest                     |1.20.1-14.4.4       |DONE      |Manifest: NOSIGNATURE         nyfsspiders-forge-1.20.1-2.1.1.jar                |Nyf's Spiders                 |nyfsspiders                   |2.1.1               |DONE      |Manifest: NOSIGNATURE         client-1.20.1-20230612.114412-srg.jar             |Minecraft                     |minecraft                     |1.20.1              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         sons-of-sins-1.20.1-2.1.6.jar                     |Sons of Sins                  |sons_of_sins                  |2.1.6               |DONE      |Manifest: NOSIGNATURE         lucky-block-forge-1.20.1-13.0.jar                 |Lucky Block                   |lucky                         |1.20.1-13.0         |DONE      |Manifest: NOSIGNATURE         TerraBlender-forge-1.20.1-3.0.1.4.jar             |TerraBlender                  |terrablender                  |3.0.1.4             |DONE      |Manifest: NOSIGNATURE         AmbientSounds_FORGE_v5.3.9_mc1.20.1.jar           |AmbientSounds                 |ambientsounds                 |5.3.9               |DONE      |Manifest: NOSIGNATURE         BiomesOPlenty-1.20.1-18.0.0.592.jar               |Biomes O' Plenty              |biomesoplenty                 |18.0.0.592          |DONE      |Manifest: NOSIGNATURE         CreativeCore_FORGE_v2.11.27_mc1.20.1.jar          |CreativeCore                  |creativecore                  |2.11.27             |DONE      |Manifest: NOSIGNATURE         From-The-Fog-1.20-v1.9.2-Forge-Fabric.jar         |From The Fog                  |watching                      |1.9.2               |DONE      |Manifest: NOSIGNATURE         YungsBridges-1.20-Forge-4.0.3.jar                 |YUNG's Bridges                |yungsbridges                  |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         born_in_chaos_[Forge]1.20.1_1.2.jar               |Born in Chaos                 |born_in_chaos_v1              |1.0.0               |DONE      |Manifest: NOSIGNATURE         calio-forge-1.20.1-1.11.0.3.jar                   |Calio                         |calio                         |1.20.1-1.11.0.3     |DONE      |Manifest: NOSIGNATURE         L_Enders_Cataclysm-1.90 -1.20.1.jar               |Cataclysm Mod                 |cataclysm                     |1.0                 |DONE      |Manifest: NOSIGNATURE         curios-forge-5.9.0+1.20.1.jar                     |Curios API                    |curios                        |5.9.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         ars_nouveau-1.20.1-4.10.0-all.jar                 |Ars Nouveau                   |ars_nouveau                   |4.10.0              |DONE      |Manifest: NOSIGNATURE         origins-forge-1.20.1-1.10.0.7-all.jar             |Origins                       |origins                       |1.20.1-1.10.0.7     |DONE      |Manifest: NOSIGNATURE         Xaeros_Minimap_24.1.1_Forge_1.20.jar              |Xaero's Minimap               |xaerominimap                  |24.1.1              |DONE      |Manifest: NOSIGNATURE         The-Man-From-The-Fog-1.2.4a-1.20.1.jar            |The Man From The Fog          |man                           |1.2.4               |DONE      |Manifest: NOSIGNATURE         Rats-1.20.1-8.1.2.jar                             |Rats                          |rats                          |1.20.1-8.1.2        |DONE      |Manifest: NOSIGNATURE         forge-1.20.1-47.2.20-universal.jar                |Forge                         |forge                         |47.2.20             |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         ArPhEx_1.8.12_1.20.1.jar                          |Arthropod Phobia Expansions   |arphex                        |1.8.12              |DONE      |Manifest: NOSIGNATURE         ars_elemental-1.20.1-0.6.5.jar                    |Ars Elemental                 |ars_elemental                 |1.20.1-0.6.5        |DONE      |Manifest: NOSIGNATURE         YungsExtras-1.20-Forge-4.0.3.jar                  |YUNG's Extras                 |yungsextras                   |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         Gods-and-Heroes-1.6.1.jar                         |Gods and Heroes               |gh                            |1.6.1_Forge&Fabric  |DONE      |Manifest: NOSIGNATURE         ftb-ultimine-forge-2001.1.4.jar                   |FTB Ultimine                  |ftbultimine                   |2001.1.4            |DONE      |Manifest: NOSIGNATURE         YungsBetterStrongholds-1.20-Forge-4.0.3.jar       |YUNG's Better Strongholds     |betterstrongholds             |1.20-Forge-4.0.3    |DONE      |Manifest: NOSIGNATURE         tombstone-1.20.1-8.6.5.jar                        |Corail Tombstone              |tombstone                     |8.6.5               |DONE      |Manifest: NOSIGNATURE         YungsMenuTweaks-1.20.1-Forge-1.0.2.jar            |YUNG's Menu Tweaks            |yungsmenutweaks               |1.20.1-Forge-1.0.2  |DONE      |Manifest: NOSIGNATURE         coroutil-forge-1.20.1-1.3.7.jar                   |CoroUtil                      |coroutil                      |1.20.1-1.3.7        |DONE      |Manifest: NOSIGNATURE         deeperdarker-forge-1.20.1-1.2.1.jar               |Deeper and Darker             |deeperdarker                  |1.2.1               |DONE      |Manifest: NOSIGNATURE         architectury-9.2.14-forge.jar                     |Architectury                  |architectury                  |9.2.14              |DONE      |Manifest: NOSIGNATURE         ftb-library-forge-2001.1.5.jar                    |FTB Library                   |ftblibrary                    |2001.1.5            |DONE      |Manifest: NOSIGNATURE         ftb-teams-forge-2001.1.4.jar                      |FTB Teams                     |ftbteams                      |2001.1.4            |DONE      |Manifest: NOSIGNATURE         ftb-chunks-forge-2001.2.7.jar                     |FTB Chunks                    |ftbchunks                     |2001.2.7            |DONE      |Manifest: NOSIGNATURE         ftb-quests-forge-2001.3.5.jar                     |FTB Quests                    |ftbquests                     |2001.3.5            |DONE      |Manifest: NOSIGNATURE         YungsBetterEndIsland-1.20-Forge-2.0.6.jar         |YUNG's Better End Island      |betterendisland               |1.20-Forge-2.0.6    |DONE      |Manifest: NOSIGNATURE         Deep Dark Regrowth 1.2.5.1 - 1.20.1.jar           |Deep Dark: Regrowth           |deep_dark_regrowth            |1.2.5.1             |DONE      |Manifest: NOSIGNATURE         Voidscape-1.20.1-1.5.389.jar                      |Voidscape                     |voidscape                     |1.20.1-1.5.389      |DONE      |Manifest: NOSIGNATURE         infiniverse-1.20.1-1.0.0.5.jar                    |Infiniverse                   |infiniverse                   |1.0.0.5             |DONE      |Manifest: NOSIGNATURE         fight_or_die-1.20.1-1.1.4.jar                     |Fight or Die Mutations        |fight_or_die                  |1.20.1-1.1.4        |DONE      |Manifest: NOSIGNATURE         YungsBetterMineshafts-1.20-Forge-4.0.4.jar        |YUNG's Better Mineshafts      |bettermineshafts              |1.20-Forge-4.0.4    |DONE      |Manifest: NOSIGNATURE         phantasm-forge-0.1.jar                            |End's Phantasm                |phantasm                      |0.1                 |DONE      |Manifest: NOSIGNATURE         aquamirae-6.API15.jar                             |Aquamirae                     |aquamirae                     |6.API15             |DONE      |Manifest: NOSIGNATURE         Essential (forge_1.20.1).jar                      |Essential                     |essential                     |1.3.1.3+g88238d7752 |DONE      |Manifest: NOSIGNATURE         YungsBetterJungleTemples-1.20-Forge-2.0.4.jar     |YUNG's Better Jungle Temples  |betterjungletemples           |1.20-Forge-2.0.4    |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 093f2885-caf5-4a87-965d-511fd2c9d9ae     FML: 47.2     Forge: net.minecraftforge:47.2.20
    • I get a death message in chat every time I take damage example: [16:29:13] [Render thread/INFO]: [System] [CHAT] fall,Syndrick hit the ground too hard. I didn't die from that fall. I remember the exact moment it started happening, and what mods I had added. I have since removed said mods trying to fix it, and nothing has worked. I have also disabled a bunch of other mods that could be the cause, but that hasn't worked either. I've gone through the logs with chatgpt, and that hasn't helped either. This is my last resort, so if anyone can help me, that'd be insanely appreciated. Thank You.
    • The error is due to being unable to setup the server on the IP address or port number you specified in the server settings. (Failed to bind to port)  I usually get this myself when i have a VPN turned on, or if the server is already open in the background. If you do not have a VPN turned on then try changing the port number in the server.config file to use something other than the default 25565 port. Also check your firewall settings to make sure Minecraft is not blocked in any way Hope this helps!   
    • Crash log and latest.txt https://paste.ee/p/7t93I
  • Topics

×
×
  • Create New...

Important Information

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