Jump to content

Recommended Posts

Posted

Hi, I am having trouble with how to make it so that a custom modeled block can be placed just as a vanilla furnace, with the front towards me no matter which direction I am heading.

 

As of now it can only be placed in one direction.

 

Here is all the classes I am using:

 

Main class

 

package com.xetosphere.soulcraft;

 

import java.io.File;

 

import net.minecraft.creativetab.CreativeTabs;

 

import com.xetosphere.soulcraft.block.ModBlocks;

import com.xetosphere.soulcraft.configuration.ConfigurationHandler;

import com.xetosphere.soulcraft.core.proxy.CommonProxy;

import com.xetosphere.soulcraft.creativetab.TabSC;

import com.xetosphere.soulcraft.item.ModItems;

import com.xetosphere.soulcraft.lib.Reference;

import com.xetosphere.soulcraft.network.PacketHandler;

import com.xetosphere.soulcraft.recipe.ModRecipes;

import com.xetosphere.soulcraft.world.gen.WorldGen;

 

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.Mod.Instance;

import cpw.mods.fml.common.SidedProxy;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLPostInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;

import cpw.mods.fml.common.network.NetworkMod;

import cpw.mods.fml.common.network.NetworkRegistry;

 

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION_NUMBER, dependencies = Reference.DEPENDENCIES)

@NetworkMod(channels = { Reference.CHANNEL_NAME }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketHandler.class)

public class SoulCraft {

 

@Instance(Reference.MOD_ID)

public static SoulCraft instance;

 

@SidedProxy(clientSide = Reference.CLIENT_PROXY, serverSide = Reference.COMMON_PROXY)

public static CommonProxy proxy;

 

// Adds the moderations creative tab in the creative tabs.

public static final CreativeTabs tabSC = new TabSC(CreativeTabs.getNextID(), Reference.MOD_ID);

 

@EventHandler

public void preInit(FMLPreInitializationEvent e) {

 

// Adds the configuration, that can change block and item identities as well as making the mob spawn in an already existing world.

ConfigurationHandler.init(new File(e.getModConfigurationDirectory().getAbsolutePath() + File.separator + Reference.CHANNEL_NAME + File.separator + Reference.MOD_ID + ".cfg"));

 

// Adds the items that the moderation contains. As well as item recipes.

ModItems.init();

 

// Adds the blocks that the moderation contains. As well as block recipes and registering the blocks.

ModBlocks.init();

 

// Adds the crafting recipes within this moderation.

ModRecipes.addRecipes();

 

// Adds everything that has to do with generation.

WorldGen.init();

}

 

@EventHandler

public void init(FMLInitializationEvent e) {

 

// Register the GUI Handler.

NetworkRegistry.instance().registerGuiHandler(instance, proxy);

 

// Initialize moderation tile entities.

proxy.registerTileEntities();

 

// Initialize custom rendering and textures (Client only).

proxy.initRenderingAndTextures();

}

 

@EventHandler

public void postInit(FMLPostInitializationEvent e) {

 

}

 

}

 

 

 

Client Proxy

 

package com.xetosphere.soulcraft.core.proxy;

 

import net.minecraft.tileentity.TileEntity;

import net.minecraftforge.common.ForgeDirection;

 

import com.xetosphere.soulcraft.client.renderer.tileentity.TileTotemRenderer;

import com.xetosphere.soulcraft.lib.RenderIDs;

import com.xetosphere.soulcraft.tileentity.TileSC;

import com.xetosphere.soulcraft.tileentity.TileTotem;

 

import cpw.mods.fml.client.FMLClientHandler;

import cpw.mods.fml.client.registry.ClientRegistry;

import cpw.mods.fml.client.registry.RenderingRegistry;

 

public class ClientProxy extends CommonProxy {

 

@Override

public void initRenderingAndTextures() {

 

RenderIDs.totem = RenderingRegistry.getNextAvailableRenderId();

}

 

@Override

public void registerTileEntities() {

 

super.registerTileEntities();

 

ClientRegistry.bindTileEntitySpecialRenderer(TileTotem.class, new TileTotemRenderer());

}

 

@Override

public void handleTileEntityPacket(int x, int y, int z, ForgeDirection orientation, byte state, String customName) {

 

TileEntity tileEntity = FMLClientHandler.instance().getClient().theWorld.getBlockTileEntity(x, y, z);

 

if (tileEntity != null) {

if (tileEntity instanceof TileSC) {

((TileSC) tileEntity).setOrientation(orientation);

((TileSC) tileEntity).setState(state);

((TileSC) tileEntity).setCustomName(customName);

}

}

}

 

@Override

public void handleTileWithItemPacket(int x, int y, int z, ForgeDirection orientation, byte state, String customName, int itemID, int metaData, int stackSize, int color) {

 

this.handleTileEntityPacket(x, y, z, orientation, state, customName);

}

 

}

 

 

 

Common Proxy

 

package com.xetosphere.soulcraft.core.proxy;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.world.World;

import net.minecraftforge.common.ForgeDirection;

 

import com.xetosphere.soulcraft.client.gui.inventory.GuiArcaneFuser;

import com.xetosphere.soulcraft.client.gui.inventory.GuiAuraCrusher;

import com.xetosphere.soulcraft.client.gui.inventory.GuiDuplicator;

import com.xetosphere.soulcraft.inventory.ContainerArcaneFuser;

import com.xetosphere.soulcraft.inventory.ContainerAuraCrusher;

import com.xetosphere.soulcraft.inventory.ContainerDuplicator;

import com.xetosphere.soulcraft.lib.GuiIDs;

import com.xetosphere.soulcraft.lib.Reference;

import com.xetosphere.soulcraft.lib.Strings;

import com.xetosphere.soulcraft.tileentity.TileArcaneFuser;

import com.xetosphere.soulcraft.tileentity.TileAuraCrusher;

import com.xetosphere.soulcraft.tileentity.TileDuplicator;

import com.xetosphere.soulcraft.tileentity.TileTotem;

 

import cpw.mods.fml.common.network.IGuiHandler;

import cpw.mods.fml.common.registry.GameRegistry;

 

public class CommonProxy implements IGuiHandler {

 

public void initRenderingAndTextures() {

 

}

 

public void registerTileEntities() {

 

GameRegistry.registerTileEntity(TileDuplicator.class, Reference.MOD_ID + Strings.DUPLICATOR_NAME);

GameRegistry.registerTileEntity(TileArcaneFuser.class, Reference.MOD_ID + Strings.ARCANE_FUSER_NAME);

GameRegistry.registerTileEntity(TileAuraCrusher.class, Reference.MOD_ID + Strings.AURA_CRUSHER_NAME);

GameRegistry.registerTileEntity(TileTotem.class, Reference.MOD_ID + Strings.AIR_TOTEM_NAME);

}

 

public void sendRequestEventPacket(byte eventType, int originX, int originY, int originZ, byte sideHit, byte rangeX, byte rangeY, byte rangeZ, String data) {

 

}

 

public void handleTileEntityPacket(int x, int y, int z, ForgeDirection orientation, byte state, String customName) {

 

}

 

public void handleTileWithItemPacket(int x, int y, int z, ForgeDirection orientation, byte state, String customName, int itemID, int metaData, int stackSize, int color) {

 

}

 

@Override

public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {

 

if (ID == GuiIDs.DUPLICATOR) {

 

TileDuplicator tileDuplicator = (TileDuplicator) world.getBlockTileEntity(x, y, z);

return new ContainerDuplicator(player.inventory, tileDuplicator);

}

 

else if (ID == GuiIDs.ARCANE_FUSER) {

 

TileArcaneFuser tileFuser = (TileArcaneFuser) world.getBlockTileEntity(x, y, z);

return new ContainerArcaneFuser(player.inventory, tileFuser);

}

 

else if (ID == GuiIDs.AURA_CRUSHER) {

 

TileAuraCrusher tileCrusher = (TileAuraCrusher) world.getBlockTileEntity(x, y, z);

return new ContainerAuraCrusher(player.inventory, tileCrusher);

}

 

return null;

}

 

@Override

public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {

 

if (ID == GuiIDs.DUPLICATOR) {

 

TileDuplicator tileDuplicator = (TileDuplicator) world.getBlockTileEntity(x, y, z);

return new GuiDuplicator(player.inventory, tileDuplicator);

}

 

else if (ID == GuiIDs.ARCANE_FUSER) {

 

TileArcaneFuser tileFuser = (TileArcaneFuser) world.getBlockTileEntity(x, y, z);

return new GuiArcaneFuser(player.inventory, tileFuser);

}

 

else if (ID == GuiIDs.AURA_CRUSHER) {

 

TileAuraCrusher tileCrusher = (TileAuraCrusher) world.getBlockTileEntity(x, y, z);

return new GuiAuraCrusher(player.inventory, tileCrusher);

}

 

return null;

}

 

}

 

 

 

TileSC

 

package com.xetosphere.soulcraft.tileentity;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.nbt.NBTTagCompound;

import net.minecraft.network.packet.Packet;

import net.minecraft.tileentity.TileEntity;

import net.minecraftforge.common.ForgeDirection;

 

import com.xetosphere.soulcraft.lib.Strings;

import com.xetosphere.soulcraft.network.PacketTypeHandler;

import com.xetosphere.soulcraft.network.packet.PacketTileUpdate;

 

public class TileSC extends TileEntity {

 

protected ForgeDirection orientation;

protected byte state;

protected String customName;

 

public TileSC() {

 

orientation = ForgeDirection.SOUTH;

state = 0;

customName = "";

}

 

public ForgeDirection getOrientation() {

 

return orientation;

}

 

public void setOrientation(ForgeDirection orientation) {

 

this.orientation = orientation;

}

 

public void setOrientation(int orientation) {

 

this.orientation = ForgeDirection.getOrientation(orientation);

}

 

public short getState() {

 

return state;

}

 

public void setState(byte state) {

 

this.state = state;

}

 

public boolean hasCustomName() {

 

return customName != null && customName.length() > 0;

}

 

public String getCustomName() {

 

return customName;

}

 

public void setCustomName(String customName) {

 

this.customName = customName;

}

 

public boolean isUseableByPlayer(EntityPlayer player) {

 

return true;

}

 

@Override

public void readFromNBT(NBTTagCompound nbtTagCompound) {

 

super.readFromNBT(nbtTagCompound);

 

if (nbtTagCompound.hasKey(Strings.NBT_TE_DIRECTION_KEY)) {

orientation = ForgeDirection.getOrientation(nbtTagCompound.getByte(Strings.NBT_TE_DIRECTION_KEY));

}

 

if (nbtTagCompound.hasKey(Strings.NBT_TE_STATE_KEY)) {

state = nbtTagCompound.getByte(Strings.NBT_TE_STATE_KEY);

}

 

if (nbtTagCompound.hasKey(Strings.NBT_TE_CUSTOM_NAME)) {

customName = nbtTagCompound.getString(Strings.NBT_TE_CUSTOM_NAME);

}

}

 

@Override

public void writeToNBT(NBTTagCompound nbtTagCompound) {

 

super.writeToNBT(nbtTagCompound);

 

nbtTagCompound.setByte(Strings.NBT_TE_DIRECTION_KEY, (byte) orientation.ordinal());

nbtTagCompound.setByte(Strings.NBT_TE_STATE_KEY, state);

 

if (this.hasCustomName()) {

nbtTagCompound.setString(Strings.NBT_TE_CUSTOM_NAME, customName);

}

}

 

@Override

public Packet getDescriptionPacket() {

 

return PacketTypeHandler.populatePacket(new PacketTileUpdate(xCoord, yCoord, zCoord, orientation, state, customName));

}

 

@Override

public String toString() {

 

StringBuilder stringBuilder = new StringBuilder();

 

stringBuilder.append(String.format("TileARC Data - xCoord: %d, yCoord: %d, zCoord: %d, customName: '%s', orientation: %s, state: %d\n", xCoord, yCoord, zCoord, customName, orientation, state));

 

return stringBuilder.toString();

}

 

}

 

 

 

TileTotem

 

package com.xetosphere.soulcraft.tileentity;

 

public class TileTotem extends TileSC {

 

}

 

 

 

PacketTileUpdate

 

package com.xetosphere.soulcraft.network.packet;

 

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

 

import net.minecraft.network.INetworkManager;

import net.minecraftforge.common.ForgeDirection;

 

import com.xetosphere.soulcraft.SoulCraft;

import com.xetosphere.soulcraft.network.PacketTypeHandler;

 

import cpw.mods.fml.common.network.Player;

 

public class PacketTileUpdate extends PacketSC {

 

public int x, y, z;

public byte orientation;

public byte state;

public String customName;

 

public PacketTileUpdate() {

 

super(PacketTypeHandler.TILE, true);

}

 

public PacketTileUpdate(int x, int y, int z, ForgeDirection orientation, byte state, String customName) {

 

super(PacketTypeHandler.TILE, true);

this.x = x;

this.y = y;

this.z = z;

this.orientation = (byte) orientation.ordinal();

this.state = state;

this.customName = customName;

}

 

@Override

public void writeData(DataOutputStream data) throws IOException {

 

data.writeInt(x);

data.writeInt(y);

data.writeInt(z);

data.writeByte(orientation);

data.writeByte(state);

data.writeUTF(customName);

}

 

@Override

public void readData(DataInputStream data) throws IOException {

 

x = data.readInt();

y = data.readInt();

z = data.readInt();

orientation = data.readByte();

state = data.readByte();

customName = data.readUTF();

}

 

@Override

public void execute(INetworkManager manager, Player player) {

 

SoulCraft.proxy.handleTileEntityPacket(x, y, z, ForgeDirection.getOrientation(orientation), state, customName);

}

 

}

 

 

 

PacketSC

 

package com.xetosphere.soulcraft.network.packet;

 

import java.io.ByteArrayOutputStream;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

 

import net.minecraft.network.INetworkManager;

 

import com.xetosphere.soulcraft.network.PacketTypeHandler;

 

import cpw.mods.fml.common.network.Player;

 

public class PacketSC {

 

public PacketTypeHandler packetType;

public boolean isChunkDataPacket;

 

public PacketSC(PacketTypeHandler packetType, boolean isChunkDataPacket) {

 

this.packetType = packetType;

this.isChunkDataPacket = isChunkDataPacket;

}

 

public byte[] populate() {

 

ByteArrayOutputStream bos = new ByteArrayOutputStream();

DataOutputStream dos = new DataOutputStream(bos);

 

try {

dos.writeByte(packetType.ordinal());

this.writeData(dos);

} catch (IOException e) {

e.printStackTrace(System.err);

}

 

return bos.toByteArray();

}

 

public void readPopulate(DataInputStream data) {

 

try {

this.readData(data);

} catch (IOException e) {

e.printStackTrace(System.err);

}

}

 

public void readData(DataInputStream data) throws IOException {

 

}

 

public void writeData(DataOutputStream dos) throws IOException {

 

}

 

public void execute(INetworkManager network, Player player) {

 

}

 

public void setKey(int key) {

 

}

 

}

 

 

 

PacketHandler

 

package com.xetosphere.soulcraft.network;

 

import net.minecraft.network.INetworkManager;

import net.minecraft.network.packet.Packet250CustomPayload;

 

import com.xetosphere.soulcraft.network.packet.PacketSC;

 

import cpw.mods.fml.common.network.IPacketHandler;

import cpw.mods.fml.common.network.Player;

 

public class PacketHandler implements IPacketHandler {

 

@Override

public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player) {

 

PacketSC packetSC = PacketTypeHandler.buildPacket(packet.data);

 

packetSC.execute(manager, player);

}

 

}

 

 

 

PacketTypeHandler

 

package com.xetosphere.soulcraft.network;

 

import java.io.ByteArrayInputStream;

import java.io.DataInputStream;

 

import net.minecraft.network.packet.Packet;

import net.minecraft.network.packet.Packet250CustomPayload;

 

import com.xetosphere.soulcraft.lib.Reference;

import com.xetosphere.soulcraft.network.packet.PacketSC;

import com.xetosphere.soulcraft.network.packet.PacketTileUpdate;

import com.xetosphere.soulcraft.network.packet.PacketTileWithItemUpdate;

 

public enum PacketTypeHandler {

TILE(PacketTileUpdate.class), TILE_WITH_ITEM(PacketTileWithItemUpdate.class);

 

private Class<? extends PacketSC> clazz;

 

PacketTypeHandler(Class<? extends PacketSC> clazz) {

 

this.clazz = clazz;

}

 

public static PacketSC buildPacket(byte[] data) {

 

ByteArrayInputStream bis = new ByteArrayInputStream(data);

int selector = bis.read();

DataInputStream dis = new DataInputStream(bis);

 

PacketSC packet = null;

 

try {

packet = values()[selector].clazz.newInstance();

} catch (Exception e) {

e.printStackTrace(System.err);

}

 

packet.readPopulate(dis);

 

return packet;

}

 

public static PacketSC buildPacket(PacketTypeHandler type) {

 

PacketSC packet = null;

 

try {

packet = values()[type.ordinal()].clazz.newInstance();

} catch (Exception e) {

e.printStackTrace(System.err);

}

 

return packet;

}

 

public static Packet populatePacket(PacketSC packetSC) {

 

byte[] data = packetSC.populate();

 

Packet250CustomPayload packet250 = new Packet250CustomPayload();

packet250.channel = Reference.CHANNEL_NAME;

packet250.data = data;

packet250.length = data.length;

packet250.isChunkDataPacket = packetSC.isChunkDataPacket;

 

return packet250;

}

 

}

 

 

 

ModelTotem

 

package com.xetosphere.soulcraft.client.model;

 

import net.minecraft.client.model.ModelBase;

import net.minecraft.client.model.ModelRenderer;

import net.minecraft.entity.Entity;

 

public class ModelTotem extends ModelBase {

 

ModelRenderer shapeMain;

ModelRenderer scaleFront;

ModelRenderer scaleBack;

ModelRenderer scaleRight;

ModelRenderer scaleLeft;

ModelRenderer nose;

ModelRenderer eyeRight;

ModelRenderer eyeLeft;

ModelRenderer earBottomRight;

ModelRenderer earTopRight;

ModelRenderer earTopRight1;

ModelRenderer earTopRight2;

ModelRenderer earBottomLeft;

ModelRenderer earTopLeft;

ModelRenderer earTopLeft1;

ModelRenderer earTopLeft2;

 

public ModelTotem() {

 

textureWidth = 128;

textureHeight = 64;

 

shapeMain = new ModelRenderer(this, 96, 40);

shapeMain.addBox(-4F, 0F, -4F, 8, 16, 8);

shapeMain.setRotationPoint(0F, 8F, -5.995204E-15F);

shapeMain.setTextureSize(128, 64);

shapeMain.mirror = true;

setRotation(shapeMain, 0F, 0F, 0F);

 

scaleFront = new ModelRenderer(this, 15, 47);

scaleFront.addBox(-3F, 0F, -1F, 6, 16, 1);

scaleFront.setRotationPoint(0F, 8F, -4F);

scaleFront.setTextureSize(128, 64);

scaleFront.mirror = true;

setRotation(scaleFront, 0F, 0F, 0F);

 

scaleBack = new ModelRenderer(this, 45, 47);

scaleBack.addBox(-3F, 0F, 0F, 6, 16, 1);

scaleBack.setRotationPoint(0F, 8F, 4F);

scaleBack.setTextureSize(128, 64);

scaleBack.mirror = true;

setRotation(scaleBack, 0F, 0F, 0F);

 

scaleRight = new ModelRenderer(this, 0, 42);

scaleRight.addBox(-1F, 0F, -3F, 1, 16, 6);

scaleRight.setRotationPoint(-4F, 8F, 0F);

scaleRight.setTextureSize(128, 64);

scaleRight.mirror = true;

setRotation(scaleRight, 0F, 0F, 0F);

 

scaleLeft = new ModelRenderer(this, 30, 42);

scaleLeft.addBox(0F, 0F, -3F, 1, 16, 6);

scaleLeft.setRotationPoint(4F, 8F, 0F);

scaleLeft.setTextureSize(128, 64);

scaleLeft.mirror = true;

setRotation(scaleLeft, 0F, 0F, 0F);

 

nose = new ModelRenderer(this, 20, 0);

nose.addBox(-1F, 0F, -1F, 2, 2, 1);

nose.setRotationPoint(0F, 14F, -5F);

nose.setTextureSize(128, 64);

nose.mirror = true;

setRotation(nose, 0F, 0F, 0F);

 

eyeRight = new ModelRenderer(this, 0, 0);

eyeRight.addBox(-1F, 0F, -1F, 2, 1, 1);

eyeRight.setRotationPoint(-2F, 11F, -5F);

eyeRight.setTextureSize(128, 64);

eyeRight.mirror = true;

setRotation(eyeRight, 0F, 0F, 0.1047198F);

 

eyeLeft = new ModelRenderer(this, 10, 0);

eyeLeft.addBox(-1F, 0F, -1F, 2, 1, 1);

eyeLeft.setRotationPoint(2F, 11F, -5F);

eyeLeft.setTextureSize(128, 64);

eyeLeft.mirror = true;

setRotation(eyeLeft, 0F, 0F, -0.1047198F);

 

earBottomRight = new ModelRenderer(this, 105, 0);

earBottomRight.addBox(-1F, -1F, 0F, 1, 3, 1);

earBottomRight.setRotationPoint(-5F, 11F, 0F);

earBottomRight.setTextureSize(128, 64);

earBottomRight.mirror = true;

setRotation(earBottomRight, 0F, 0F, 0F);

 

earTopRight = new ModelRenderer(this, 100, 0);

earTopRight.addBox(-1F, -3F, 0F, 1, 4, 1);

earTopRight.setRotationPoint(-6F, 11F, 0F);

earTopRight.setTextureSize(128, 64);

earTopRight.mirror = true;

setRotation(earTopRight, 0F, 0F, 0F);

 

earTopRight1 = new ModelRenderer(this, 95, 0);

earTopRight1.addBox(-1F, 0F, 0F, 1, 1, 1);

earTopRight1.setRotationPoint(-7F, 8F, 0F);

earTopRight1.setTextureSize(128, 64);

earTopRight1.mirror = true;

setRotation(earTopRight1, 0F, 0F, 0F);

 

earTopRight2 = new ModelRenderer(this, 90, 0);

earTopRight2.addBox(-1F, 0F, 0F, 1, 1, 1);

earTopRight2.setRotationPoint(-7F, 10F, 0F);

earTopRight2.setTextureSize(128, 64);

earTopRight2.mirror = true;

setRotation(earTopRight2, 0F, 0F, 0F);

 

earBottomLeft = new ModelRenderer(this, 125, 0);

earBottomLeft.addBox(0F, -1F, 0F, 1, 3, 1);

earBottomLeft.setRotationPoint(5F, 11F, 0F);

earBottomLeft.setTextureSize(128, 64);

earBottomLeft.mirror = true;

setRotation(earBottomLeft, 0F, 0F, 0F);

 

earTopLeft = new ModelRenderer(this, 120, 0);

earTopLeft.addBox(0F, -3F, 0F, 1, 4, 1);

earTopLeft.setRotationPoint(6F, 11F, 0F);

earTopLeft.setTextureSize(128, 64);

earTopLeft.mirror = true;

setRotation(earTopLeft, 0F, 0F, 0F);

 

earTopLeft1 = new ModelRenderer(this, 115, 0);

earTopLeft1.addBox(0F, 0F, 0F, 1, 1, 1);

earTopLeft1.setRotationPoint(7F, 8F, 0F);

earTopLeft1.setTextureSize(128, 64);

earTopLeft1.mirror = true;

setRotation(earTopLeft1, 0F, 0F, 0F);

 

earTopLeft2 = new ModelRenderer(this, 110, 0);

earTopLeft2.addBox(0F, 0F, 0F, 1, 1, 1);

earTopLeft2.setRotationPoint(7F, 10F, 0F);

earTopLeft2.setTextureSize(128, 64);

earTopLeft2.mirror = true;

setRotation(earTopLeft2, 0F, 0F, 0F);

}

 

public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {

 

super.render(entity, f, f1, f2, f3, f4, f5);

setRotationAngles(f, f1, f2, f3, f4, f5, entity);

shapeMain.render(f5);

scaleFront.render(f5);

scaleBack.render(f5);

scaleRight.render(f5);

scaleLeft.render(f5);

nose.render(f5);

eyeRight.render(f5);

eyeLeft.render(f5);

earBottomRight.render(f5);

earTopRight.render(f5);

earTopRight1.render(f5);

earTopRight2.render(f5);

earBottomLeft.render(f5);

earTopLeft.render(f5);

earTopLeft1.render(f5);

earTopLeft2.render(f5);

}

 

private void setRotation(ModelRenderer model, float x, float y, float z) {

 

model.rotateAngleX = x;

model.rotateAngleY = y;

model.rotateAngleZ = z;

}

 

public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {

 

super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);

}

 

}

 

 

 

TileTotemRenderer

 

package com.xetosphere.soulcraft.client.renderer.tileentity;

 

import net.minecraft.block.Block;

import net.minecraft.client.Minecraft;

import net.minecraft.client.renderer.OpenGlHelper;

import net.minecraft.client.renderer.Tessellator;

import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;

import net.minecraft.entity.Entity;

import net.minecraft.tileentity.TileEntity;

import net.minecraft.world.World;

 

import org.lwjgl.opengl.GL11;

 

import com.xetosphere.soulcraft.block.ModBlocks;

import com.xetosphere.soulcraft.client.model.ModelTotem;

import com.xetosphere.soulcraft.lib.Textures;

 

public class TileTotemRenderer extends TileEntitySpecialRenderer {

 

private final ModelTotem model;

 

public TileTotemRenderer() {

 

model = new ModelTotem();

}

 

public void adjustRotatePivotViaMeta(World world, int x, int y, int z) {

 

int meta = world.getBlockMetadata(x, y, z);

GL11.glPushMatrix();

GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F);

GL11.glPopMatrix();

}

 

public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {

 

GL11.glPushMatrix();

GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);

 

if (tileentity.getBlockType() == ModBlocks.airTotem) {

Minecraft.getMinecraft().renderEngine.bindTexture(Textures.MODEL_TOTEM);

}

 

else if (tileentity.getBlockType() == ModBlocks.waterTotem) {

Minecraft.getMinecraft().renderEngine.bindTexture(Textures.MODEL_TOTEM);

}

 

else if (tileentity.getBlockType() == ModBlocks.fireTotem) {

Minecraft.getMinecraft().renderEngine.bindTexture(Textures.MODEL_TOTEM);

}

 

else if (tileentity.getBlockType() == ModBlocks.earthTotem) {

Minecraft.getMinecraft().renderEngine.bindTexture(Textures.MODEL_TOTEM);

}

 

GL11.glPushMatrix();

GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);

model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);

GL11.glPopMatrix();

GL11.glPopMatrix();

}

 

@SuppressWarnings("unused")

private void adjustLightFixture(World world, int i, int j, int k, Block block) {

 

Tessellator tess = Tessellator.instance;

float brightness = block.getBlockBrightness(world, i, j, k);

int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0);

int modulousModifier = skyLight % 65536;

int divModifier = skyLight / 65536;

tess.setColorOpaque_F(brightness, brightness, brightness);

OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier);

}

 

}

 

 

 

BlockTotem

 

package com.xetosphere.soulcraft.block;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.client.renderer.texture.IconRegister;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraft.potion.PotionEffect;

import net.minecraft.tileentity.TileEntity;

import net.minecraft.util.Icon;

import net.minecraft.world.World;

 

import com.xetosphere.soulcraft.SoulCraft;

import com.xetosphere.soulcraft.lib.Elements;

import com.xetosphere.soulcraft.lib.RenderIDs;

import com.xetosphere.soulcraft.lib.Strings;

import com.xetosphere.soulcraft.tileentity.TileTotem;

 

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

public class BlockTotem extends BlockSC {

 

private int element;

 

private Icon[] icons;

 

String name;

 

public BlockTotem(int id, String name, int element) {

 

super(id, Material.wood);

setUnlocalizedName(Strings.RESOURCE_PREFIX + name);

setCreativeTab(SoulCraft.tabSC);

setHardness(3.0F);

setResistance(12.0F);

this.element = element;

this.name = name;

}

 

@Override

public String getUnlocalizedName() {

 

return String.format("tile.%s%s", Strings.RESOURCE_PREFIX, name);

}

 

@Override

public TileEntity createNewTileEntity(World world) {

 

return new TileTotem();

}

 

@Override

public boolean renderAsNormalBlock() {

 

return false;

}

 

@Override

public boolean isOpaqueCube() {

 

return false;

}

 

    @Override

    public int getRenderType()

    {

 

        return RenderIDs.totem;

    }

 

@Override

@SideOnly(Side.CLIENT)

public void registerIcons(IconRegister iconRegister) {

 

icons = new Icon[3];

 

String iconName = getUnlocalizedName().substring(getUnlocalizedName().indexOf('.') + 1);

 

icons[0] = iconRegister.registerIcon(iconName + "_top");

icons[1] = iconRegister.registerIcon(iconName + "_side");

icons[2] = iconRegister.registerIcon(iconName + "_bottom");

 

}

 

@SideOnly(Side.CLIENT)

public Icon getIcon(int side, int metadata) {

 

if (side == 1) {

return icons[0];

}

 

else if (side == 0) {

return icons[2];

}

 

else return icons[1];

}

 

@Override

public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9) {

 

ItemStack activeItem = player.inventory.getCurrentItem();

 

if (player.isSneaking()) {

 

return false;

 

} else {

 

if (activeItem == null) {

 

return false;

}

 

if (element == Elements.AIR) {

 

if (activeItem.itemID == Item.goldNugget.itemID) {

 

player.addPotionEffect(new PotionEffect(1, 1200, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Item.ingotGold.itemID) {

 

player.addPotionEffect(new PotionEffect(1, 2400, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Block.blockGold.blockID) {

 

player.addPotionEffect(new PotionEffect(1, 3000, 1, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

}

 

else if (element == Elements.FIRE) {

 

if (activeItem.itemID == Item.goldNugget.itemID) {

 

player.addPotionEffect(new PotionEffect(12, 1200, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Item.ingotGold.itemID) {

 

player.addPotionEffect(new PotionEffect(12, 2400, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Block.blockGold.blockID) {

 

player.addPotionEffect(new PotionEffect(12, 3000, 1, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

}

 

else if (element == Elements.WATER) {

 

if (activeItem.itemID == Item.goldNugget.itemID) {

 

player.addPotionEffect(new PotionEffect(13, 1200, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Item.ingotGold.itemID) {

 

player.addPotionEffect(new PotionEffect(13, 2400, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Block.blockGold.blockID) {

 

player.addPotionEffect(new PotionEffect(13, 3000, 1, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.earthTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.earthTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.earthTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(3, 600, 0, false));

}

return true;

}

 

} else if (element == Elements.EARTH) {

 

if (activeItem.itemID == Item.goldNugget.itemID) {

 

player.addPotionEffect(new PotionEffect(3, 1200, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Item.ingotGold.itemID) {

 

player.addPotionEffect(new PotionEffect(3, 2400, 0, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

return true;

}

 

if (activeItem.itemID == Block.blockGold.blockID) {

 

player.addPotionEffect(new PotionEffect(3, 3000, 1, false));

activeItem.stackSize -= 1;

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.fireTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(12, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.airTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(1, 600, 0, false));

}

 

if (world.getBlockId(x, y - 1, z) == ModBlocks.waterTotem.blockID || (world.getBlockId(x, y - 2, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID)) || (world.getBlockId(x, y - 3, z) == ModBlocks.waterTotem.blockID && (world.getBlockId(x, y - 1, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 1, z) == ModBlocks.airTotem.blockID) && (world.getBlockId(x, y - 2, z) == ModBlocks.fireTotem.blockID || world.getBlockId(x, y - 2, z) == ModBlocks.airTotem.blockID))) {

 

player.addPotionEffect(new PotionEffect(13, 600, 0, false));

}

return true;

}

}

 

}

 

return false;

}

 

}

 

 

Posted

I think you probably need to make 4 versions of the model, 1 for each direction, assign a metdata value to each and call the different model versions based on the metadata state. 

Posted

Because you're not rotating the model in the TileTotemRenderer class.

 

         double angle = Math.toRadians(entity.rotation); //entity here is my TileEntity.  You can also reference block metadata.
         GL11.glPushMatrix();
         GL11.glRotatef(-1*entity.rotation, 0, 1, 0); //negative because of an assumption made in my TE that was wrong and this was the easier fix

 

(The angle value was being used for another part of the rendering, not related to the model)

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.

Posted

Because you're not rotating the model in the TileTotemRenderer class.

 

         double angle = Math.toRadians(entity.rotation); //entity here is my TileEntity.  You can also reference block metadata.
         GL11.glPushMatrix();
         GL11.glRotatef(-1*entity.rotation, 0, 1, 0); //negative because of an assumption made in my TE that was wrong and this was the easier fix

 

(The angle value was being used for another part of the rendering, not related to the model)

^^^ The right way (how I did it)

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 just removed that mod as well and it's still stuck on 100% loading and does still not go past it. i like, have no idea what to do now https://mclo.gs/XHWCu5M
    • Here is the newest crash report because I've been trying to fix the problem for hours, please help me also its "error code -1"   ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 2024-11-27 15:43:43 Description: Rendering screen java.lang.NoClassDefFoundError: org/spongepowered/asm/synthetic/args/Args$1     at net.minecraft.client.gui.GuiGraphics.m_280677_(GuiGraphics.java:562) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.GuiGraphics.renderTooltip(GuiGraphics.java:556) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventory.AbstractContainerScreen.m_280072_(AbstractContainerScreen.java:163) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:attributeslib.mixins.json:client.AbstractContainerScreenMixin,pl:mixin:APP:majruszlibrary-forge.mixins.json:MixinAbstractContainerScreen,plasmixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventoasasry.CreativeModeInventoryScreen.m_88315_(CreativeModeInventoryScreen.java:650) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.Screen.m_280264_(Screen.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:CustomCursor-comm-common.mixins.json:ScreenIgnoreRenderAfterOverlayMixin,pl:mixin:APP:CustomCursor-comm-common.mixins.json:ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:427) ~[forge-1.20.1-47.3.0-universal.jar%23355!/:?] {re:classloading,re:mixin}     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:420) ~[forge-1.20.1-47.3.0-universal.jar%23355!/:?] {re:classloading,re:mixin}     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:965) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:jeg.mixins.json:client.GameRendererMixin,pl:mixin:APP:alexscaves.mixins.json:client.GameRendererMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.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:?] {} Caused by: java.lang.ClassNotFoundException: org.spongepowered.asm.synthetic.args.Args$1     at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:137) ~[securejarhandler-2.1.10.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] {}     at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:137) ~[securejarhandler-2.1.10.jar:?] {}     at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] {}     ... 26 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mods: NONE Stacktrace:     at net.minecraft.client.gui.GuiGraphics.m_280677_(GuiGraphics.java:562) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.GuiGraphics.renderTooltip(GuiGraphics.java:556) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventory.AbstractContainerScreen.m_280072_(AbstractContainerScreen.java:163) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:attributeslib.mixins.json:client.AbstractContainerScreenMixin,pl:mixin:APP:majruszlibrary-forge.mixins.json:MixinAbstractContainerScreen,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen.m_88315_(CreativeModeInventoryScreen.java:650) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.Screen.m_280264_(Screen.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:CustomCursor-comm-common.mixins.json:ScreenIgnoreRenderAfterOverlayMixin,pl:mixin:APP:CustomCursor-comm-common.mixins.json:ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:427) ~[forge-1.20.1-47.3.0-universal.jar%23355!/:?] {re:classloading,re:mixin}     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:420) ~[forge-1.20.1-47.3.0-universal.jar%23355!/:?] {re:classloading,re:mixin} -- Screen render details -- Details:     Screen name: net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen     Mouse location: Scaled: (273, 153). Absolute: (546.000000, 307.000000)     Screen size: Scaled: (547, 308). Absolute: (1093, 615). Scale factor of 2.000000 Stacktrace:     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:965) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:jeg.mixins.json:client.GameRendererMixin,pl:mixin:APP:alexscaves.mixins.json:client.GameRendererMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.compat.MixinGameRenderer,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.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:?] {} -- Affected level -- Details:     All players: 1 total; [LocalPlayer['muglad'/4, l='ClientLevel', x=11.34, y=-62.50, z=7.05]]     Chunk stats: 529, 313     Level dimension: minecraft:overworld     Level spawn location: World: (0,-63,0), Section: (at 0,1,0 in 0,-4,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)     Level time: 522 game time, 522 day time     Server brand: forge     Server type: Integrated singleplayer server Stacktrace:     at net.minecraft.client.multiplayer.ClientLevel.m_6026_(ClientLevel.java:455) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:citadel.mixins.json:client.ClientLevelMixin,pl:mixin:APP:architectury.mixins.json:MixinClientLevel,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinClientLevel,pl:mixin:APP:starlight.mixins.json:client.world.ClientLevelMixin,pl:mixin:APP:alexscaves.mixins.json:client.ClientLevelMixin,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91354_(Minecraft.java:2319) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:735) ~[client-1.20.1-20230612.114412-srg.jar%23350!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:alexscaves.mixins.json:client.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.world_leaks.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:bugfix.concurrency.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.blast_search_trees.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftMixin,pl:mixin:APP:modernfix-common.mixins.json:feature.measure_time.MinecraftMixin,pl:mixin:APP:modernfix-forge.mixins.json:feature.measure_time.MinecraftMixin_Forge,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:architectury.mixins.json:MixinMinecraft,pl:mixin:APP:monolib.mixins.json:MinecraftMixin,pl:mixin:APP:majruszlibrary-common.mixins.json:MixinMinecraft,pl:mixin:APP:jeg.mixins.json:client.MinecraftMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.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:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: Yes     Packs: vanilla, mod_resources -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 11 (amd64) version 10.0     Java Version: 17.0.8, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 1400903168 bytes (1336 MiB) / 3370123264 bytes (3214 MiB) up to 4261412864 bytes (4064 MiB)     CPUs: 4     Processor Vendor: GenuineIntel     Processor Name: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz     Identifier: Intel64 Family 6 Model 140 Stepping 1     Microarchitecture: Tiger Lake     Frequency (GHz): 3.00     Number of physical packages: 1     Number of physical CPUs: 2     Number of logical CPUs: 4     Graphics card #0 name: Intel(R) UHD Graphics     Graphics card #0 vendor: Intel Corporation (0x8086)     Graphics card #0 VRAM (MB): 128.00     Graphics card #0 deviceId: 0x9a78     Graphics card #0 versionInfo: DriverVersion=31.0.101.5186     Memory slot #0 capacity (MB): 4096.00     Memory slot #0 clockSpeed (GHz): 3.20     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 4096.00     Memory slot #1 clockSpeed (GHz): 3.20     Memory slot #1 type: DDR4     Virtual memory max (MB): 19346.77     Virtual memory used (MB): 17116.04     Swap memory total (MB): 11511.14     Swap memory used (MB): 2066.14     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx4064m -Xms256m     Launched Version: forge-47.3.0     Backend library: LWJGL version 3.3.1 build 7     Backend API: Intel(R) UHD Graphics GL version 4.6.0 - Build 31.0.101.5186, Intel     Window size: 1093x615     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge'     Type: Integrated Server (map_client.txt)     Graphics mode: fast     Resource Packs:      Current Language: en_us     CPU: 4x 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz     Server Running: true     Player Count: 1 / 8; [ServerPlayer['muglad'/4, l='ServerLevel[New Worldassssssssssssasasas]', x=11.34, y=-62.50, z=7.05]]     Data Packs: vanilla, mod:elevated_enchantment, mod:treechopper (incompatible), mod:quarryplus, mod:geckolib, mod:playeranimator (incompatible), mod:placebo (incompatible), mod:modernfix (incompatible), mod:citadel (incompatible), mod:mixinextras (incompatible), mod:morebuckets, mod:botanypotstiers (incompatible), mod:bookshelf, mod:ironshulkerbox, mod:ironbookshelves, mod:raw_iron_block_can_be_heated, mod:iron_extra_things, mod:cloth_config (incompatible), mod:more_villager_trades, mod:ironbows (incompatible), mod:industrialforegoing (incompatible), mod:farmersdelight, mod:iron_ender_chests, mod:ironfurnaces, mod:structurecompass, mod:lionfishapi (incompatible), mod:mysticaladaptations, mod:maxxam_aiot, mod:structureexpansion (incompatible), mod:patchouli (incompatible), mod:ironchests (incompatible), mod:advancednetherite, mod:mysticalagriculturedelight, mod:gk_unbreakable (incompatible), mod:attributeslib (incompatible), mod:mysticalcustomization, mod:mifa, mod:resourcefullib (incompatible), mod:veinst, mod:architectury (incompatible), mod:squatgrow (incompatible), mod:xenotech (incompatible), mod:monolib (incompatible), mod:disenchanting_table (incompatible), mod:more_bows_and_arrows (incompatible), mod:hasteenchantment, mod:quad (incompatible), mod:ironcoals (incompatible), mod:framework, mod:nebs (incompatible), mod:majruszlibrary (incompatible), mod:fixed_netherite, mod:x_player_info (incompatible), mod:cucumber, mod:jeg (incompatible), mod:ironladders, mod:attributefix (incompatible), mod:configlibtxf, mod:fortune_on_netherite_forge, mod:caelus (incompatible), mod:enchantment_reveal (incompatible), mod:botanypots (incompatible), mod:starlight (incompatible), mod:grand_enchantment_table, mod:iron_bushes, mod:iron_fishing_rods, mod:puzzlesaccessapi, mod:forge, mod:more_wandering_trades, mod:mctb (incompatible), mod:mteg (incompatible), mod:mysticalagriculture, mod:mysticalagradditions, mod:matc, mod:mysticriftsmelt_ancient_debris, mod:more_underground_structures, mod:lucky (incompatible), mod:aurorasarsenal (incompatible), mod:alexscaves, mod:more_useful_copper (incompatible), mod:enchdesc (incompatible), mod:customcursorcomm (incompatible), mod:titanium (incompatible), mod:mysterious_mountain_lib (incompatible), mod:ironspawners, mod:enchlevellangpatch (incompatible), mod:vtaw_mw (incompatible), mod:mr_reds_morestructures, mod:watching, mod:ironbarrels, mod:mysticalexpansion, mod:easy_emerald, mod:more_beautiful_torches (incompatible), mod:universalenchants, mod:immediatelyfast (incompatible), mod:moremobvariants, mod:ferritecore (incompatible), mod:mvw, mod:puzzleslib, mod:overpowered_creative_items, mod:overloadedarmorbar (incompatible), mod:overflowingbars     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     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.3.0.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.3.0.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.3.0.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.3.0.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.3.0.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         lowcodefml@null         [email protected]         javafml@null     Mod List:          Elevated enchantment-forge_1.20.1.jar             |Elevated enchantment          |elevated_enchantment          |1.0.0               |DONE      |Manifest: NOSIGNATURE         treechopper-1.0.0.jar                             |TreeChopper                   |treechopper                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         AdditionalEnchantedMiner-1.20.1-1201.1.90.jar     |QuarryPlus                    |quarryplus                    |1201.1.90           |DONE      |Manifest: ef:50:af:b3:03:e0:3e:70:a7:ef:78:77:a5:4d:d4:b5:07:ec:df:9d:d6:f3:12:13:c9:3c:cd:9a:0a:3e:6b:43         geckolib-forge-1.20.1-4.4.9.jar                   |GeckoLib 4                    |geckolib                      |4.4.9               |DONE      |Manifest: NOSIGNATURE         player-animation-lib-forge-1.0.2-rc1+1.20.jar     |Player Animator               |playeranimator                |1.0.2-rc1+1.20      |DONE      |Manifest: NOSIGNATURE         Placebo-1.20.1-8.6.2.jar                          |Placebo                       |placebo                       |8.6.2               |DONE      |Manifest: NOSIGNATURE         modernfix-forge-5.19.5+mc1.20.1.jar               |ModernFix                     |modernfix                     |5.19.5+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         citadel-2.6.0-1.20.1.jar                          |Citadel                       |citadel                       |2.6.0               |DONE      |Manifest: NOSIGNATURE         mixinextras-forge-0.4.1.jar                       |MixinExtras                   |mixinextras                   |0.4.1               |DONE      |Manifest: NOSIGNATURE         MoreBuckets-1.20.1-4.0.4.jar                      |More Buckets                  |morebuckets                   |4.0.4               |DONE      |Manifest: NOSIGNATURE         BotanyPotsTiers-Forge-1.20.1-6.0.1.jar            |BotanyPotsTiers               |botanypotstiers               |6.0.1               |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.20.1-20.2.13.jar                |Bookshelf                     |bookshelf                     |20.2.13             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         ironshulkerbox-1.20.1-5.3.2.jar                   |Iron Shulker Boxes            |ironshulkerbox                |1.20.1-5.3.2        |DONE      |Manifest: NOSIGNATURE         ironbookshelves-1.20.1-1.4.0-forge.jar            |Iron Bookshelves              |ironbookshelves               |1.20.1-1.4.0-forge  |DONE      |Manifest: NOSIGNATURE         raw_iron_block_can_heated-1.0.0-forge-1.20.1.jar  |Raw Iron Block can be heated  |raw_iron_block_can_be_heated  |1.0.0               |DONE      |Manifest: NOSIGNATURE         Iron Extra Things 1.0.6.jar                       |Iron Extra Things             |iron_extra_things             |1.0.5               |DONE      |Manifest: NOSIGNATURE         cloth-config-11.1.136-forge.jar                   |Cloth Config v10 API          |cloth_config                  |11.1.136            |DONE      |Manifest: NOSIGNATURE         More Villager Trades 1.0.0 - 1.20.1.jar           |More Villager Trades          |more_villager_trades          |1.0.0               |DONE      |Manifest: NOSIGNATURE         ironbows-1.20.1-FORGE-1.10.jar                    |Iron Bows (Forge)             |ironbows                      |1.20.1-FORGE-1.10   |DONE      |Manifest: NOSIGNATURE         industrial-foregoing-1.20.1-3.5.19.jar            |Industrial Foregoing          |industrialforegoing           |3.5.19              |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.20.1-1.2.5.jar                   |Farmer's Delight              |farmersdelight                |1.20.1-1.2.5        |DONE      |Manifest: NOSIGNATURE         iron_ender_chests-1.20-1.0.3.jar                  |Iron Ender Chests             |iron_ender_chests             |1.20-1.0.3          |DONE      |Manifest: NOSIGNATURE         ironfurnaces-1.20.1-4.1.6.jar                     |Iron Furnaces                 |ironfurnaces                  |4.1.6               |DONE      |Manifest: NOSIGNATURE         StructureCompass-1.20.1-2.1.0.jar                 |Structure Compass Mod         |structurecompass              |2.1.0               |DONE      |Manifest: NOSIGNATURE         lionfishapi-2.4-Fix.jar                           |LionfishAPI                   |lionfishapi                   |2.4-Fix             |DONE      |Manifest: NOSIGNATURE         MysticalAdaptations-1.20.1-1.0.1.jar              |Mystical Adaptations          |mysticaladaptations           |1.20.1-1.0.1        |DONE      |Manifest: NOSIGNATURE         AIOT 1.20.1 (v2.3) by 96maxxam69.jar              |maxxam AIOTs                  |maxxam_aiot                   |2.3                 |DONE      |Manifest: NOSIGNATURE         structure-expansion-2.0.1-build.11.jar            |Structure Expansion           |structureexpansion            |2.0.1-build.11      |DONE      |Manifest: NOSIGNATURE         Patchouli-1.20.1-84-FORGE.jar                     |Patchouli                     |patchouli                     |1.20.1-84-FORGE     |DONE      |Manifest: NOSIGNATURE         ironchests-5.0.2-forge.jar                        |Iron Chests: Restocked        |ironchests                    |5.0.2               |DONE      |Manifest: NOSIGNATURE         advancednetherite-forge-2.1.3-1.20.1.jar          |Advanced Netherite            |advancednetherite             |2.1.3               |DONE      |Manifest: NOSIGNATURE         mysticalagriculturedelight-1.0.2-1.20.1.jar       |Mystical Agriculture Delight  |mysticalagriculturedelight    |1.0.2-1.20.1        |DONE      |Manifest: NOSIGNATURE         gk_unbreakable-2.7.jar                            |Simple Unbreakable Tools      |gk_unbreakable                |2.7                 |DONE      |Manifest: NOSIGNATURE         ApothicAttributes-1.20.1-1.3.7.jar                |Apothic Attributes            |attributeslib                 |1.3.7               |DONE      |Manifest: NOSIGNATURE         MysticalCustomization-1.20.1-5.0.2.jar            |Mystical Customization        |mysticalcustomization         |5.0.2               |DONE      |Manifest: NOSIGNATURE         mifa-forge-1.20.x-1.1.1.jar                       |More Industrial Foregoing Addo|mifa                          |1.1.1               |DONE      |Manifest: NOSIGNATURE         resourcefullib-forge-1.20-2.0.6.jar               |Resourceful Lib               |resourcefullib                |2.0.6               |DONE      |Manifest: NOSIGNATURE         veinst-1.0.0.jar                                  |Veinst                        |veinst                        |1.0.0               |DONE      |Manifest: NOSIGNATURE         architectury-9.2.14-forge.jar                     |Architectury                  |architectury                  |9.2.14              |DONE      |Manifest: NOSIGNATURE         squatgrow-forge-5.3.0+mc1.20.1.jar                |Squat Grow                    |squatgrow                     |5.3.0+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         xenotech-1.20.1-1.17.jar                          |XenoTech                      |xenotech                      |1.20.1-1.17         |DONE      |Manifest: NOSIGNATURE         monolib-forge-1.20.1-1.4.1.jar                    |MonoLib                       |monolib                       |1.4.1               |DONE      |Manifest: NOSIGNATURE         disenchanting_table-merged-1.20.1-3.1.0.jar       |Dis-Enchanting Table          |disenchanting_table           |3.1.0               |DONE      |Manifest: NOSIGNATURE         more_bows_and_arrows-merged-1.20.1-3.2.0.jar      |More Bows and Arrows          |more_bows_and_arrows          |3.2.0               |DONE      |Manifest: NOSIGNATURE         Haste Enchantment 1.0.0 - 1.20.1.jar              |Haste Enchantment             |hasteenchantment              |1.0.0               |DONE      |Manifest: NOSIGNATURE         Quad-1.2.9+1.20.4-Forge.jar                       |Quad                          |quad                          |1.2.9               |DONE      |Manifest: NOSIGNATURE         ironcoals-4.1.6.jar                               |Iron Coals                    |ironcoals                     |4.1.6               |DONE      |Manifest: NOSIGNATURE         framework-forge-1.20.1-0.7.12.jar                 |Framework                     |framework                     |0.7.12              |DONE      |Manifest: 0d:78:5f:44:c0:47:0c:8c:e2:63:a3:04:43:d4:12:7d:b0:7c:35:37:dc:40:b1:c1:98:ec:51:eb:3b:3c:45:99         NekosEnchantedBooks-1.20.1-1.8.0.jar              |Neko's Enchanted Books        |nebs                          |1.8.0               |DONE      |Manifest: NOSIGNATURE         majrusz-library-forge-1.20.1-7.0.8.jar            |Majrusz Library               |majruszlibrary                |7.0.8               |DONE      |Manifest: NOSIGNATURE         ReworkedNetheriteV2.jar                           |Fixed netherite               |fixed_netherite               |1.0.0               |DONE      |Manifest: NOSIGNATURE         X-PlayerInfo-1.20.1-1.0.8.1-SNAPSHOT.jar          |X-PlayerInfo                  |x_player_info                 |1.20.1-1.0.8.1-SNAPS|DONE      |Manifest: NOSIGNATURE         Cucumber-1.20.1-7.0.13.jar                        |Cucumber Library              |cucumber                      |7.0.13              |DONE      |Manifest: NOSIGNATURE         JustEnoughGuns-0.8.0-1.20.1.jar                   |Just Enough Guns              |jeg                           |0.8.0               |DONE      |Manifest: NOSIGNATURE         ironladders-1.20.1-2.5.10-forge.jar               |Iron Ladders                  |ironladders                   |2.5.10              |DONE      |Manifest: NOSIGNATURE         AttributeFix-Forge-1.20.1-21.0.4.jar              |AttributeFix                  |attributefix                  |21.0.4              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         configlibtxf-4.2.5-forge.jar                      |ConfigLib TXF                 |configlibtxf                  |4.2.5-forge         |DONE      |Manifest: NOSIGNATURE         fortune_on_netherite_1.1.0_forge_1.20.1.jar       |Fortune on Netherite forge    |fortune_on_netherite_forge    |1.0.0               |DONE      |Manifest: NOSIGNATURE         caelus-forge-3.2.0+1.20.1.jar                     |Caelus API                    |caelus                        |3.2.0+1.20.1        |DONE      |Manifest: NOSIGNATURE         Enchantment-Reveal-1.20.1-Forge.jar               |Enchantment Reveal            |enchantment_reveal            |1.0.0               |DONE      |Manifest: NOSIGNATURE         BotanyPots-Forge-1.20.1-13.0.39.jar               |BotanyPots                    |botanypots                    |13.0.39             |DONE      |Manifest: NOSIGNATURE         starlight-1.1.2+forge.1cda73c.jar                 |Starlight                     |starlight                     |1.1.2+forge.1cda73c |DONE      |Manifest: NOSIGNATURE         Grand Enchantment Table 1.0.0 - 1.20.1.jar        |Grand Enchantment Table       |grand_enchantment_table       |1.0.0               |DONE      |Manifest: NOSIGNATURE         Iron Bushes 1.0.0 - 1.20.1.jar                    |Iron Bushes                   |iron_bushes                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         Iron Fishing Rods 1.0.0 - 1.20.1.jar              |Iron Fishing Rods             |iron_fishing_rods             |1.0.0               |DONE      |Manifest: NOSIGNATURE         puzzlesaccessapi-forge-8.0.7.jar                  |Puzzles Access Api            |puzzlesaccessapi              |8.0.7               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         forge-1.20.1-47.3.0-universal.jar                 |Forge                         |forge                         |47.3.0              |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         More Wandering Trades 1.0.0 - 1.20.1.jar          |More Wandering Trades         |more_wandering_trades         |1.0.0               |DONE      |Manifest: NOSIGNATURE         [1.20.1]MoreCraftingTables-5.1.3.jar              |More Crafting Tables Mod      |mctb                          |1.20.1              |DONE      |Manifest: NOSIGNATURE         M'TEG-1.1.0-1.20.1.jar                            |Mo' Than Enough Guns          |mteg                          |1.1.0               |DONE      |Manifest: NOSIGNATURE         MysticalAgriculture-1.20.1-7.0.14.jar             |Mystical Agriculture          |mysticalagriculture           |7.0.14              |DONE      |Manifest: NOSIGNATURE         MysticalAgradditions-1.20.1-7.0.6.jar             |Mystical Agradditions         |mysticalagradditions          |7.0.6               |DONE      |Manifest: NOSIGNATURE         matc-1.6.0.jar                                    |Mystical Agriculture Tiered Cr|matc                          |1.6.0               |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         mysticriftsmelt_ancient_debris-1.2.2-forge-1.20.1.|MysticRift:Smelt Ancient Debri|mysticriftsmelt_ancient_debris|1.2.2               |DONE      |Manifest: NOSIGNATURE         more_undrground_structures_1.20.1_8.1.jar         |more underground structures   |more_underground_structures   |7.1.0               |DONE      |Manifest: NOSIGNATURE         lucky-block-forge-1.20.1-13.0.jar                 |Lucky Block                   |lucky                         |1.20.1-13.0         |DONE      |Manifest: NOSIGNATURE         Aurora's-Arsenal-1.0.0-1.20.1.jar                 |Aurora's Arsenal              |aurorasarsenal                |1.0.0               |DONE      |Manifest: NOSIGNATURE         alexscaves-2.0.2.jar                              |Alex's Caves                  |alexscaves                    |2.0.2               |DONE      |Manifest: NOSIGNATURE         more_useful_copper-merged-1.20.1-1.2.0.jar        |More Useful Copper            |more_useful_copper            |1.2.0               |DONE      |Manifest: NOSIGNATURE         EnchantmentDescriptions-Forge-1.20.1-17.1.19.jar  |EnchantmentDescriptions       |enchdesc                      |17.1.19             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         CustomCursor-comm-1.2.0-forge.jar                 |customcursorcomm              |customcursorcomm              |1.0-SNAPSHOT        |DONE      |Manifest: NOSIGNATURE         titanium-1.20.1-3.8.32.jar                        |Titanium                      |titanium                      |3.8.32              |DONE      |Manifest: NOSIGNATURE         mysterious_mountain_lib-1.5.17-1.20.1.jar         |Mysterious Mountain Lib       |mysterious_mountain_lib       |1.5.17-1.20.1       |DONE      |Manifest: NOSIGNATURE         ironspawners-1.0.0.jar                            |Iron Spawners                 |ironspawners                  |1.0.0               |DONE      |Manifest: NOSIGNATURE         enchlevel-langpatch-2.2.8.jar                     |Enchantment Level Language Pat|enchlevellangpatch            |2.2.8               |DONE      |Manifest: NOSIGNATURE         vtaw_mw-forge-1.20.1-1.0.4.jar                    |Variant Tools and Weaponry - E|vtaw_mw                       |1.0.4               |DONE      |Manifest: NOSIGNATURE         reds-more-structures-1.0.8-common.jar             |Red’s More Structures         |mr_reds_morestructures        |1.0.8               |DONE      |Manifest: NOSIGNATURE         From-The-Fog-1.20-v1.9.2-Forge-Fabric.jar         |From The Fog                  |watching                      |1.9.2               |DONE      |Manifest: NOSIGNATURE         IronBarrels1.20.1-V1.0.jar                        |IronBarrelsUpdated            |ironbarrels                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         MysticalExpansion-1.20.1-1.0.0.jar                |Mystical Expansion            |mysticalexpansion             |1.0.0               |DONE      |Manifest: NOSIGNATURE         EasyEmerald-Forge-1.20.1-1.5.8.jar                |Easy Emerald                  |easy_emerald                  |1.5.8               |DONE      |Manifest: NOSIGNATURE         more_beautiful_torches-merged-1.20.1-3.0.0.jar    |More Beautiful Torches!       |more_beautiful_torches        |3.0.0               |DONE      |Manifest: NOSIGNATURE         UniversalEnchants-v8.0.0-1.20.1-Forge.jar         |Universal Enchants            |universalenchants             |8.0.0               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         ImmediatelyFast-Forge-1.3.2+1.20.4.jar            |ImmediatelyFast               |immediatelyfast               |1.3.2+1.20.4        |DONE      |Manifest: NOSIGNATURE         moremobvariants-forge+1.20.1-1.3.0.1.jar          |More Mob Variants             |moremobvariants               |1.3.0.1             |DONE      |Manifest: NOSIGNATURE         ferritecore-6.0.1-forge.jar                       |Ferrite Core                  |ferritecore                   |6.0.1               |DONE      |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         Mvw-2.3.3c.jar                                    |MoreVanillaWeapons            |mvw                           |2.3.3c              |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v8.1.25-1.20.1-Forge.jar               |Puzzles Lib                   |puzzleslib                    |8.1.25              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         Overpowered Creative Items.jar                    |Overpowered Creative Items    |overpowered_creative_items    |1.0.0               |DONE      |Manifest: NOSIGNATURE         overloadedarmorbar-1.20.1-1.jar                   |Overloaded Armor Bar          |overloadedarmorbar            |1.20.1-1            |DONE      |Manifest: NOSIGNATURE         OverflowingBars-v8.0.1-1.20.1-Forge.jar           |Overflowing Bars              |overflowingbars               |8.0.1               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a     Crash Report UUID: ccaf101c-823f-47b9-9c2f-7d3d0db92823     FML: 47.3     Forge: net.minecraftforge:47.3.0
    • You could try posting a log (if there is no log at all, it may be the launcher you are using, the FAQ may have info on how to enable the log) as described in the FAQ, however this will probably need to be reported to/remedied by the mod author.
    • So me and a couple of friends are playing with a shitpost mod pack and one of the mods in the pack is corail tombstone and for some reason there is a problem with it, where on death to fire the player will get kicked out of the server and the tombstone will not spawn basically deleting an entire inventory, it doesn't matter what type of fire it is, whether it's from vanilla fire/lava, or from modded fire like ice&fire/lycanites and it's common enough to where everyone on the server has experienced at least once or twice and it doesn't give any crash log. a solution to this would be much appreciated thank you!
  • Topics

×
×
  • Create New...

Important Information

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