Jump to content

[1.7.10][Solved] Item modifies terrain, but blocks keep changing back


UFIOES

Recommended Posts

I have been trying to make an item that modifies the terrain around the player as it is used.

 

But I am having problems: the blocks look like they have changed, and middle mouse click puts the right block into the player inventory, but if the block is right clicked on (not just given a block update), it changes back into the original block. Additionally if the block is harvested in survival, it drops what the original block would have. And when I save and quit to the main menu, and then re-open the world, all of the blocks go back.

 

Also the item (indirectly) fills bottles in the player's inventory, but when the player right clicks with the original stack of bottles, the stack goes from having 63 empty bottles to having 64, and the new filled bottle cannot be dropped in the world with 'Q.'

The player's inventory also reverts to the original contents when the world is reloaded

 

Here is the class of the item:

package com.UFIOES.runicMagic.items;

import java.util.Random;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.block.Block;
import net.minecraft.block.BlockSapling;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.MinecraftForge;

import com.UFIOES.runicMagic.RunicMagic;
import com.UFIOES.runicMagic.entities.*;

public class RuneStone extends Item {

private static final int ENERGY_CAPACITY = 64;

private char type;

private Random random = new Random();

private int storedEnergy = 0;

public RuneStone() {

	setMaxStackSize(1);

	setCreativeTab(CreativeTabs.tabTools);

	setUnlocalizedName("blankRuneStone");

	type = 'b';

}

public RuneStone(String name, char type) {

	setMaxStackSize(1);

	setCreativeTab(CreativeTabs.tabTools);

	setUnlocalizedName(name);

	this.type = type;

}

@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {

	if (type == 'a') { //a is the type of the RuneStone that does something when right clicked

		//tests for any nearby living blocks

		if (isBlock) {

			storedEnergy = 0;

			player.setItemInUse(stack, 2048);

		}

	}

	return stack;

}

@Override
public void onUsingTick(ItemStack stack, EntityPlayer player, int count) {
	super.onUsingTick(stack, player, count);

	World world = player.worldObj;

	boolean test = player.isUsingItem() && player.getItemInUse().getItem().equals(RunicMagic.runeStoneAbsorb);

	int runeHungry = random.nextInt(7);

	if (test) {

		int radius = 3;

		int pX = (int) player.posX;
		int pY = (int) player.posY;
		int pZ = (int) player.posZ;

		boolean isBlock = false;

		blockFinder:
			for (int x=-radius; x <= radius; x++) {

				for (int y=-radius; y <= radius; y++) {

					for (int z=-radius; z <= radius; z++) {

						Block block = world.getBlock(pX + x, pY + y, pZ + z);

						if (testForLiving(world, block, pX + x, pY + y, pZ + z)) {

							isBlock = true;

							break blockFinder;

						}

					}

				}

			}

		if (!isBlock) {

			player.stopUsingItem();

		}

	}

	if (test && runeHungry == 3) {

		int pX = (int) player.posX;
		int pY = (int) player.posY;
		int pZ = (int) player.posZ;

		int tries=0;

		while (tries < 20) {

			int x = random.nextInt(7) - 3;
			int y = random.nextInt(7) - 3;
			int z = random.nextInt(7) - 3;

			Block block = world.getBlock(pX + x, pY + y, pZ + z);

			if (testForLiving(world, block, pX + x, pY + y, pZ + z)) {

				consumeBlock(world, block, pX + x, pY + y, pZ + z);

				storedEnergy++;

				if (storedEnergy >= ENERGY_CAPACITY) {

					player.stopUsingItem();

				}

				break;

			}

			tries++;

		}

	}

}

@Override
public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int time) {

	if (type == 'a' && storedEnergy != 0) {

		double x = player.posX - 3*Math.sin(player.rotationYaw * (Math.PI/180.0));
		double y = player.posY;
		double z = player.posZ + 3*Math.cos(player.rotationYaw * (Math.PI/180.0));

		world.spawnEntityInWorld(new ManaOrb(world, x, y, z, storedEnergy));

		storedEnergy = 0;

		super.onPlayerStoppedUsing(stack, world, player, time);

	}

}

private boolean testForLiving(World world, Block block, int x, int y, int z) {

	if (block.isLeaves(world, x, y, z)) return true;
	if (IPlantable.class.isInstance(block)) return true;
	if (net.minecraft.block.BlockAir.class.isInstance(block)) return false;
	if (net.minecraft.block.BlockGrass.class.isInstance(block)) return true;
	if (net.minecraft.block.BlockDirt.class.isInstance(block)) return true;
	if (net.minecraft.block.BlockCactus.class.isInstance(block)) return true;
	if (net.minecraft.block.BlockCarrot.class.isInstance(block)) return true;

	// this continues for each block that is 'living'

	return false;
}

private void consumeBlock(World world, Block block, int x, int y, int z) {

	boolean decayToDirt = false;

	//tests if the block should decay to dirt

	if (decayToDirt) {

		world.setBlock(x, y, z, Blocks.dirt);

		return;
	}

	if (net.minecraft.block.BlockDirt.class.isInstance(block)) {

		world.setBlock(x, y, z, Blocks.sand);

		return;
	}

	if (net.minecraft.block.BlockTallGrass.class.isInstance(block)) {

		world.setBlock(x, y, z, Blocks.deadbush);

		return;
	}

	world.setBlockToAir(x, y, z);

}

}

 

Link to comment
Share on other sites

You are doing things client side, do those server side. Hint: Use

world.isRemote

, that will return true if it's client and false if it's server.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

@Xcox123 wouldn't that only run on the client side because world.isRemote is true for the client?

 

I have tried it both ways, If it only runs on the client side, nothing changes; blocks still 'appear to change' and revert when right clicked.

If it only runs on the client side, then it behaves as if there where no right click functionality at all on the item, blocks do not even 'appear to change'

 

My current theory is that it needs to run on both client and server, and it is disagreement between them when a block is right clocked that causes one of them to assert the block it has is correct, and causing the block to change back...

 

I have tried removing the randomness to the changes, so they will be identical when run by the client and server, but to no avail.

Link to comment
Share on other sites

I think I have found the cause of the problem.

 

I put a System.out.println(world.isRemote); into the onUsingTick method tested it, and it only ever outputted true whereas when I did the same thing to onItemRightClick it outputted true and then false.

 

So the method that does all of the changes only runs on the client side, how do I make onUsingTick also run on the server side?

Link to comment
Share on other sites

I solved the problem by using the SimpleNetworkWrapper so the client could tell the server how the world changed.

 

I would prefer a solution where EntityPlayer.class would, in it's onUpdate  method, call onUsingTick on both the client and the server or offer a version that does both. It would not be very efficient to have to write two classes for every time that a method that is called on the client only, is needed to change some blocks in the world or do some stuff with items or entities.

 

For those whom are interested, here is the working solution:

Seealso: Using the Simple Network Implementation (SimpleNetworkWrapper) [1.7] at http://www.minecraftforge.net/forum/index.php/topic,20135.msg101552.html#msg101552

 

The item class (only the consumeBlock method was modified):

public void consumeBlock(World world, Block block, int x, int y, int z) {

	if (!world.isRemote) {

		world.setBlock(x, y, z, block);

		return;

	}

	//tests if the block should decay to dirt

	if (decayToDirt) {

		world.setBlock(x, y, z, Blocks.dirt);

		RunicMagic.network.sendToServer(new RuneMessage('d', x, y, z));

		return;

	}

	if (net.minecraft.block.BlockDirt.class.isInstance(block)) {

		world.setBlock(x, y, z, Blocks.sand);

		RunicMagic.network.sendToServer(new RuneMessage('s', x, y, z));

		return;

	}

	if (net.minecraft.block.BlockTallGrass.class.isInstance(block)) {

		world.setBlock(x, y, z, Blocks.deadbush);

		RunicMagic.network.sendToServer(new RuneMessage('b', x, y, z));

		return;

	}

	world.setBlockToAir(x, y, z);

	RunicMagic.network.sendToServer(new RuneMessage('a', x, y, z));

}

 

The RuneMessage class:

public class RuneMessage implements IMessage {

public char myChar;

public int x;
public int y;
public int z;

public RuneMessage() {}

public RuneMessage(char c, int x, int y, int z) {

	myChar = c;

	this.x = x;
	this.y = y;
	this.z = z;

}

@Override
public void fromBytes(ByteBuf buf) {

	myChar = buf.readChar();

	x = buf.readInt();
	y = buf.readInt();
	z = buf.readInt();

}

@Override
public void toBytes(ByteBuf buf) {

	buf.writeChar(myChar);

	buf.writeInt(x);
	buf.writeInt(y);
	buf.writeInt(z);

}

}

 

and the RuneMessageHandler class:

public class RuneMessageHandler implements IMessageHandler<RuneMessage, IMessage> {

@Override
public IMessage onMessage(RuneMessage message, MessageContext ctx) {

	char c = message.myChar;

	int x = message.x;
	int y = message.y;
	int z = message.z;

	Block block = Blocks.air;

	switch (c) {
	case 'd':

		block = Blocks.dirt;

		break;
	case 's':

		block = Blocks.sand;

		break;
	case 'b':

		block = Blocks.deadbush;

		break;
	}

	((RuneStone) RunicMagic.runeStoneAbsorb).consumeBlock(ctx.getServerHandler().playerEntity.worldObj, block, x, y, z);

	return null;

}

}

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 am trying to get custom GUIs working, and I would like to have a GUI that works only client-side, which means that you are not supposed to pull items out, but I do want to display items in my GUI and let the player click them. I have a GUI working that has a size of 54 slots and I made a custom texture to remove the player inventory from the GUI texture (see image) Everything kinda works, but is seems like the inventory is in some way still linked to the player's inventory, even though I didn't add any slots linked to the player's inventory. As an example: If is click in the 5th row of my GUI, I get the chest that was in my hot bar slot (see image). It seems like the handling of the clicking of the inventory is handled by the player inventory still. I also get an error if I click in the bottom row because "java.lang.IndexOutOfBoundsException: Index: 49, Size: 45" the player inventory has a size of 45 I guess? I have posted all my relevant code below, if more is needed to solve this issue please tell me, thanks!   Image of weird behaviour: FlipsMenu.java: Opens the menu by changing a "screen to open" variable that gets checked every tick. AHFlipsGui.java: draws the background image and specifies size of the gui. AHFlipsContainer.java: Where we assign the slots.   AHFlipsInventory.java: The actual inventory.  
    • Remove Create Steam and Rails And only post the mclo.gs link This is correct - for example, Forge alone loads 2 mods
    • Looks like an issue/conflict between createbigcannons and Immersive Portals Make a test without one of these mods
    • When I try to start minecraft with any version of apugli, it crashes with error code 1. I would like to be able to use apugli. I assume it is possible. Here is the log. [25Jul2024 01:13:40.857] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, Hulk_Lover_Plays, --version, 1.20.1-forge-47.2.0, --gameDir, /Users/********/Library/Application Support/minecraft, --assetsDir, /Users/********/Library/Application Support/minecraft/assets, --assetIndex, 5, --uuid, 66f9ccb4b165413793c5fe0231c6f69b, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, Q0UwMThENjY0MTcwNDg1RjgyOUFDNEU1MjFBODRDOUE=, --xuid, 2535440348547496, --userType, msa, --versionType, release, --quickPlayPath, /Users/********/Library/Application Support/minecraft/quickPlay/java/1721884416999.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.2.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [25Jul2024 01:13:40.883] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.8 by Microsoft; OS Mac OS X arch x86_64 version 14.5 [25Jul2024 01:13:41.291] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [25Jul2024 01:13:41.471] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [25Jul2024 01:13:41.542] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.5 [25Jul2024 01:13:41.556] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.4 [25Jul2024 01:13:41.568] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.3 [25Jul2024 01:13:41.579] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.2 [25Jul2024 01:13:41.591] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.1 [25Jul2024 01:13:41.609] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.1 got version 4.1 [25Jul2024 01:13:41.737] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.onLoad [25Jul2024 01:13:41.740] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file URL: union:/Users/********/Library/Application%20Support/minecraft/mods/OptiFine_1.20.1_HD_U_I6.jar%23161!/ [25Jul2024 01:13:41.750] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file: /Users/********/Library/Application Support/minecraft/mods/OptiFine_1.20.1_HD_U_I6.jar [25Jul2024 01:13:41.753] [main/INFO] [optifine.OptiFineTransformer/]: Target.PRE_CLASS is available [25Jul2024 01:13:41.804] [pool-2-thread-1/INFO] [EARLYDISPLAY/]: GL info: Apple M1 GL version 4.1 Metal - 88.1, Apple [25Jul2024 01:13:41.853] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/Users/********/Library/Application%20Support/minecraft/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2394!/ Service=ModLauncher Env=CLIENT [25Jul2024 01:13:41.880] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.initialize [25Jul2024 01:13:42.380] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/fmlcore/1.20.1-47.2.0/fmlcore-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.386] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/javafmllanguage/1.20.1-47.2.0/javafmllanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.389] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/lowcodelanguage/1.20.1-47.2.0/lowcodelanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.392] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /Users/********/Library/Application Support/minecraft/libraries/net/minecraftforge/mclanguage/1.20.1-47.2.0/mclanguage-1.20.1-47.2.0.jar is missing mods.toml file [25Jul2024 01:13:42.759] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [25Jul2024 01:13:42.761] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 5 dependencies adding them to mods collection [25Jul2024 01:13:44.084] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.transformers [25Jul2024 01:13:44.100] [main/INFO] [optifine.OptiFineTransformer/]: Targets: 412 [25Jul2024 01:13:46.160] [main/INFO] [optifine.OptiFineTransformationService/]: additionalClassesLocator: [optifine., net.optifine.] [25Jul2024 01:13:46.675] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [25Jul2024 01:13:46.718] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, 1.20.1-forge-47.2.0, --gameDir, /Users/********/Library/Application Support/minecraft, --assetsDir, /Users/********/Library/Application Support/minecraft/assets, --uuid, 66f9ccb4b165413793c5fe0231c6f69b, --username, Hulk_Lover_Plays, --assetIndex, 5, --accessToken, ❄❄❄❄❄❄❄❄, --clientId, Q0UwMThENjY0MTcwNDg1RjgyOUFDNEU1MjFBODRDOUE=, --xuid, 2535440348547496, --userType, msa, --versionType, release, --quickPlayPath, /Users/********/Library/Application Support/minecraft/quickPlay/java/1721884416999.json] [25Jul2024 01:13:51.055] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.6). [25Jul2024 01:13:55.244] [main/FATAL] [mixin/]: Mixin apply failed apugli.forge.mixins.json:client.GameRendererMixin -> net.minecraft.client.renderer.GameRenderer: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @ModifyExpressionValue annotation on apugli$preventPickingOfPreventedEntities could not find any targets matching 'Lnet/minecraft/client/renderer/GameRenderer;m_234236_(Lnet/minecraft/world/entity/Entity;)Z' in net.minecraft.client.renderer.GameRenderer. Using refmap apugli.refmap.json [PREINJECT Applicator Phase -> apugli.forge.mixins.json:client.GameRendererMixin -> Prepare Injections -> -> modifyExpressionValue$zpb000$apugli$preventPickingOfPreventedEntities(ZLnet/minecraft/world/entity/Entity;)Z -> Parse] org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @ModifyExpressionValue annotation on apugli$preventPickingOfPreventedEntities could not find any targets matching 'Lnet/minecraft/client/renderer/GameRenderer;m_234236_(Lnet/minecraft/world/entity/Entity;)Z' in net.minecraft.client.renderer.GameRenderer. Using refmap apugli.refmap.json [PREINJECT Applicator Phase -> apugli.forge.mixins.json:client.GameRendererMixin -> Prepare Injections -> -> modifyExpressionValue$zpb000$apugli$preventPickingOfPreventedEntities(ZLnet/minecraft/world/entity/Entity;)Z -> Parse] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at com.llamalad7.mixinextras.injector.MixinExtrasInjectionInfo.<init>(MixinExtrasInjectionInfo.java:10) ~[MixinExtras-0.3.6.jar%23188!/:?] at com.llamalad7.mixinextras.injector.ModifyExpressionValueInjectionInfo.<init>(ModifyExpressionValueInjectionInfo.java:15) ~[MixinExtras-0.3.6.jar%23188!/:?] at jdk.internal.reflect.GeneratedConstructorAccessor27.newInstance(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131) ~[mixin-0.8.5.jar:0.8.5+Jenkins-b310.git-155314e6e91465dad727e621a569906a410cd6f4] at cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156) ~[modlauncher-10.0.9.jar:10.0.9+10.0.9+main.dcd20f30] at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar:?] at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] at java.lang.Class.getDeclaredFields0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredFields(Class.java:3297) ~[?:?] at java.lang.Class.getDeclaredFields(Class.java:2371) ~[?:?] at net.optifine.reflect.FieldLocatorTypes.<init>(FieldLocatorTypes.java:25) ~[OptiFine_1.20.1_HD_U_I6.jar%23192!/:?] at net.optifine.reflect.Reflector.<clinit>(Reflector.java:550) ~[OptiFine_1.20.1_HD_U_I6.jar%23192!/:?] at net.minecraft.CrashReport.m_127526_(CrashReport.java:176) ~[client-1.20.1-20230612.114412-srg.jar%23171!/:?] at net.minecraft.CrashReport.m_127529_(CrashReport.java:346) ~[client-1.20.1-20230612.114412-srg.jar%23171!/:?] at net.minecraft.client.main.Main.main(Main.java:149) ~[1.20.1-forge-47.2.0.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.0.jar:?] at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.0.jar:?] at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.0.jar:?] at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
  • Topics

×
×
  • Create New...

Important Information

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