Jump to content

[1.7.10]Need help with custom inventory and packets


Jedispencer21

Recommended Posts

So I am new to packets and extended properties and I was wondering if anyone could help me with them. As far as I know, it works... kinda? but the GUI doesn't open when I click my button.

 

Here is my abstract packet class:

 

 

 

package com.feudalcraft.network;

 

import net.minecraft.entity.player.EntityPlayer;

 

import com.feudalcraft.main.MainRegistry;

 

import cpw.mods.fml.common.network.simpleimpl.IMessage;

import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;

import cpw.mods.fml.common.network.simpleimpl.MessageContext;

import cpw.mods.fml.relauncher.Side;

 

public abstract class FeudalPacket<REQ extends IMessage> implements IMessage, IMessageHandler<REQ, REQ>

{

public REQ onMessage(REQ message, MessageContext ctx)

{

if (ctx.side == Side.SERVER)

{

handleServerSide(message, ctx.getServerHandler().playerEntity);

}

else

{

handleClientSide(message, MainRegistry.proxy.getPlayer());

}

return null;

}

 

public abstract void handleClientSide(REQ paramREQ, EntityPlayer paramEntityPlayer);

 

public abstract void handleServerSide(REQ paramREQ, EntityPlayer paramEntityPlayer);

}

 

 

 

Here is my packet handler:

 

 

 

package com.feudalcraft.network;

 

import net.minecraft.entity.player.EntityPlayerMP;

 

import com.feudalcraft.lib.Strings;

import com.feudalcraft.network.play.client.OpenGuiPacket;

import com.feudalcraft.network.play.client.SyncPlayerPropsPacket;

 

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

import cpw.mods.fml.common.network.simpleimpl.IMessage;

import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;

import cpw.mods.fml.relauncher.Side;

 

public class FeudalPacketHandler

{

public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(Strings.PACKET_CHANNEL);

private static int discriminant;

 

public static void init()

{

INSTANCE.registerMessage(OpenGuiPacket.class, OpenGuiPacket.class, discriminant++, Side.SERVER);

INSTANCE.registerMessage(OpenGuiPacket.class, OpenGuiPacket.class, discriminant++, Side.CLIENT);

INSTANCE.registerMessage(SyncPlayerPropsPacket.class, SyncPlayerPropsPacket.class, discriminant++, Side.SERVER);

INSTANCE.registerMessage(SyncPlayerPropsPacket.class, SyncPlayerPropsPacket.class, discriminant++, Side.CLIENT);

}

 

public static void sendToAll(IMessage message)

{

INSTANCE.sendToAll(message);

}

 

public static void sendTo(IMessage message, EntityPlayerMP player)

{

INSTANCE.sendTo(message, player);

}

 

public static void sendToAllAround(IMessage message, NetworkRegistry.TargetPoint point)

{

INSTANCE.sendToAllAround(message, point);

}

 

public static void sendToDimension(IMessage message, int dimensionId)

{

INSTANCE.sendToDimension(message, dimensionId);

}

 

public static void sendToServer(IMessage message)

{

INSTANCE.sendToServer(message);

}

}

 

 

 

Here is my class that extends IExtendedEntityProperties:

 

 

 

package com.feudalcraft.client.entity.player;

 

import net.minecraft.entity.Entity;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.player.EntityPlayerMP;

import net.minecraft.nbt.NBTTagCompound;

import net.minecraft.world.World;

import net.minecraftforge.common.IExtendedEntityProperties;

 

import com.feudalcraft.main.CommonProxy;

import com.feudalcraft.main.MainRegistry;

import com.feudalcraft.network.play.client.SyncPlayerPropsPacket;

 

public class ExtendedPlayer implements IExtendedEntityProperties

{

public final static String EXTENDED_ENTITY_PLAYER = "ExtendedEntityPlayer";

public EntityPlayer player;

public CustomPlayerInventory inventory = new CustomPlayerInventory(player);

 

public ExtendedPlayer(EntityPlayer player)

{

this.player = player;

}

 

public static final void register(EntityPlayer player)

{

player.registerExtendedProperties(ExtendedPlayer.EXTENDED_ENTITY_PLAYER, new ExtendedPlayer(player));

}

 

/**

* Returns ExtendedPlayer properties for player

* This method is for convenience only.

*/

public static final ExtendedPlayer get(EntityPlayer player)

{

return (ExtendedPlayer) player.getExtendedProperties(EXTENDED_ENTITY_PLAYER);

}

 

/**

* Called when the entity that this class is attached to is saved.

* Any custom entity data  that needs saving should be saved here.

* @param compound The compound to save to.

*/

@Override

public void saveNBTData(NBTTagCompound compound)

{

NBTTagCompound properties = new NBTTagCompound();

compound.setTag(EXTENDED_ENTITY_PLAYER, properties);

this.inventory.writeToNBT(properties);

}

 

/**

* Called when the entity that this class is attached to is loaded.

* In order to hook into this, you will need to subscribe to the EntityConstructing event.

* Otherwise, you will need to initialize manually.

* @param compound The compound to load from.

*/

@Override

public void loadNBTData(NBTTagCompound compound)

{

NBTTagCompound properties = (NBTTagCompound) compound.getTag(EXTENDED_ENTITY_PLAYER);

this.inventory.readFromNBT(properties);

}

 

/**

* Used to initialize the extended properties with the entity that this is attached to, as well

* as the world object.

* Called automatically if you register with the EntityConstructing event.

* May be called multiple times if the extended properties is moved over to a new entity.

*  Such as when a player switches dimension {Minecraft re-creates the player entity}

* @param entity  The entity that this extended properties is attached to

* @param world  The world in which the entity exists

*/

@Override

public void init(Entity entity, World world) {}

 

private static final String getSaveKey(EntityPlayer player)

{

return player.getCommandSenderName() + ":" + EXTENDED_ENTITY_PLAYER;

}

 

public static final void loadProxyData(EntityPlayer player)

{

ExtendedPlayer playerData = ExtendedPlayer.get(player);

NBTTagCompound savedData = CommonProxy.getEntityData(getSaveKey(player));

if (savedData != null) { playerData.loadNBTData(savedData); }

MainRegistry.packetFeudal.sendTo(new SyncPlayerPropsPacket(player), (EntityPlayerMP) player);

}

}

 

 

 

My EntityConstructing class:

 

 

 

package com.feudalcraft.handler;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraftforge.event.entity.EntityEvent.EntityConstructing;

 

import com.feudalcraft.client.entity.player.ExtendedPlayer;

 

import cpw.mods.fml.common.eventhandler.SubscribeEvent;

 

public class FeudalEventHandler

{

@SubscribeEvent

public void onEntityConstructing(EntityConstructing event)

{

if (event.entity instanceof EntityPlayer && ExtendedPlayer.get((EntityPlayer) event.entity) == null)

ExtendedPlayer.register((EntityPlayer) event.entity);

 

if (event.entity instanceof EntityPlayer && event.entity.getExtendedProperties(ExtendedPlayer.EXTENDED_ENTITY_PLAYER) == null)

event.entity.registerExtendedProperties(ExtendedPlayer.EXTENDED_ENTITY_PLAYER, new ExtendedPlayer((EntityPlayer) event.entity));

}

}

 

 

 

My OpenGuiPacket:

 

 

 

package com.feudalcraft.network.play.client;

 

import io.netty.buffer.ByteBuf;

import net.minecraft.client.Minecraft;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.player.EntityPlayerMP;

import net.minecraft.inventory.Container;

 

import com.feudalcraft.main.MainRegistry;

import com.feudalcraft.network.FeudalPacket;

import com.feudalcraft.network.FeudalPacketHandler;

 

public class OpenGuiPacket extends FeudalPacket<OpenGuiPacket>

{

int containerId;

int x;

int y;

int z;

 

public OpenGuiPacket(){}

 

public OpenGuiPacket(int containerId)

{

this.containerId = containerId;

}

 

@Override

public void fromBytes(ByteBuf buf)

{

this.containerId = buf.readInt();

 

this.x = buf.readInt();

this.y = buf.readInt();

this.z = buf.readInt();

}

 

@Override

public void toBytes(ByteBuf buf)

{

buf.writeInt(this.containerId);

 

buf.writeInt(this.x);

buf.writeInt(this.y);

    buf.writeInt(this.z);

}

 

@Override

public void handleClientSide(OpenGuiPacket message, EntityPlayer entity)

{

System.out.println("WORKING...?");

    Minecraft.getMinecraft().thePlayer.openContainer.windowId = message.containerId;

}

 

@Override

public void handleServerSide(OpenGuiPacket message, EntityPlayer player)

{

if ((player instanceof EntityPlayerMP))

{

EntityPlayerMP entityPlayer = (EntityPlayerMP)player;

 

Container container = (Container)MainRegistry.guiHandler.getServerGuiElement(message.containerId, entityPlayer, entityPlayer.worldObj, (int)entityPlayer.posZ, (int)entityPlayer.posY, (int)entityPlayer.posZ);

 

if (container != null)

{

entityPlayer.getNextWindowId();

entityPlayer.closeContainer();

 

int windowID = entityPlayer.currentWindowId;

 

entityPlayer.openContainer = container;

entityPlayer.openContainer.windowId = windowID;

 

FeudalPacketHandler.sendTo(new OpenGuiPacket(windowID), entityPlayer);

}

}

}

}

 

 

 

My SyncPlayerPropsPacket:

 

 

 

package com.feudalcraft.network.play.client;

 

import io.netty.buffer.ByteBuf;

import io.netty.channel.ChannelHandlerContext;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.nbt.NBTTagCompound;

 

import com.feudalcraft.client.entity.player.ExtendedPlayer;

import com.feudalcraft.network.FeudalPacket;

 

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

import cpw.mods.fml.common.network.simpleimpl.IMessage;

 

public class SyncPlayerPropsPacket extends FeudalPacket<SyncPlayerPropsPacket>

{

private NBTTagCompound data;

 

public SyncPlayerPropsPacket(){}

 

public SyncPlayerPropsPacket(EntityPlayer player)

{

data = new NBTTagCompound();

ExtendedPlayer.get(player).saveNBTData(data);

}

 

@Override

public void fromBytes(ByteBuf buffer)

{

ByteBufUtils.writeTag(buffer, data);

}

 

@Override

public void toBytes(ByteBuf buffer)

{

data = ByteBufUtils.readTag(buffer);

}

 

@Override

public void handleClientSide(SyncPlayerPropsPacket paramREQ, EntityPlayer player)

{

ExtendedPlayer.get(player).loadNBTData(data);

}

 

@Override

public void handleServerSide(SyncPlayerPropsPacket paramREQ, EntityPlayer paramEntityPlayer) {}

}

 

 

 

Custom Inventory Container:

 

 

 

package com.feudalcraft.container;

 

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.player.InventoryPlayer;

import net.minecraft.inventory.Container;

import net.minecraft.inventory.IInventory;

import net.minecraft.inventory.InventoryCraftResult;

import net.minecraft.inventory.InventoryCrafting;

import net.minecraft.inventory.Slot;

import net.minecraft.inventory.SlotCrafting;

import net.minecraft.item.ItemArmor;

import net.minecraft.item.ItemStack;

import net.minecraft.item.crafting.CraftingManager;

import net.minecraft.util.IIcon;

 

import com.feudalcraft.client.entity.player.CustomPlayerInventory;

import com.feudalcraft.client.entity.player.ExtendedPlayer;

import com.feudalcraft.client.entity.player.SlotAccessory;

import com.feudalcraft.client.entity.player.SlotArmor;

 

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

public class ContainerCustomInventory extends Container

{

/**

* Avoid magic numbers! This will greatly reduce the chance of you making

* errors in 'transferStackInSlot' method

*/

private static final int ARMOR_START = CustomPlayerInventory.INV_SIZE, ARMOR_END = ARMOR_START + 3, INV_START = ARMOR_END + 1, INV_END = INV_START + 26, HOTBAR_START = INV_END + 1, HOTBAR_END = HOTBAR_START + 8;

 

/** The crafting matrix inventory. */

public InventoryCrafting craftMatrix = new InventoryCrafting(this, 2, 2);

public IInventory craftResult = new InventoryCraftResult();

/** Determines if inventory manipulation should be handled. */

public boolean isLocalWorld;

private final EntityPlayer thePlayer;

 

public ContainerCustomInventory(ExtendedPlayer playerExtended, EntityPlayer player)

{

this.thePlayer = player;

}

 

public ContainerCustomInventory(InventoryPlayer inventoryplayer, boolean b, EntityPlayer entityplayer,CustomPlayerInventory inventoryCustom)

{

this.isLocalWorld = b;

this.thePlayer = entityplayer;

this.addSlotToContainer(new SlotCrafting(inventoryplayer.player, this.craftMatrix, this.craftResult, 0, 125, 8 ));

this.addSlotToContainer(new SlotAccessory(inventoryCustom, 0, null, 80, 8 ));

this.addSlotToContainer(new SlotAccessory(inventoryCustom, 1, null, 80, 26));

this.addSlotToContainer(new SlotAccessory(inventoryCustom, 2, null, 80, 44));

this.addSlotToContainer(new SlotAccessory(inventoryCustom, 3, null, 80, 62));

int i;

int j;

 

for (i = 0; i < 2; ++i)

{

for (j = 0; j < 2; ++j)

{

this.addSlotToContainer(new Slot(this.craftMatrix, j + i * 2, 88 + j * 18, 26 + i * 18));

}

}

 

for (i = 0; i < 4; ++i)

{

this.addSlotToContainer(new SlotArmor(entityplayer, inventoryplayer, inventoryplayer.getSizeInventory() - 1 - i, 8, 8 + i * 18, i));

}

 

for (i = 0; i < 4; ++i)

{

            final int k = i;

            this.addSlotToContainer(new Slot(inventoryplayer, inventoryplayer.getSizeInventory() - 1 - i, 8, 8 + i * 18)

            {

            /**

            * Returns the maximum stack size for a given slot (usually the same as getInventoryStackLimit(), but 1

            * in the case of armor slots)

            */

            public int getSlotStackLimit()

            {

            return 1;

            }

                /**

                * Check if the stack is a valid item for this slot. Always true beside for the armor slots.

                */

                public boolean isItemValid(ItemStack p_75214_1_)

                {

                    if (p_75214_1_ == null) return false;

                    return p_75214_1_.getItem().isValidArmor(p_75214_1_, k, thePlayer);

                }

                /**

                * Returns the icon index on items.png that is used as background image of the slot.

                */

                @SideOnly(Side.CLIENT)

                public IIcon getBackgroundIconIndex()

                {

                    return ItemArmor.func_94602_b(k);

                }

            });

        }

 

        for (i = 0; i < 3; ++i)

        {

            for (j = 0; j < 9; ++j)

            {

                this.addSlotToContainer(new Slot(inventoryplayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18));

            }

        }

 

        for (i = 0; i < 9; ++i)

        {

            this.addSlotToContainer(new Slot(inventoryplayer, i, 8 + i * 18, 142));

        }

 

        this.onCraftMatrixChanged(this.craftMatrix);

    }

 

    /**

    * Callback for when the crafting matrix is changed.

    */

    public void onCraftMatrixChanged(IInventory p_75130_1_)

    {

        this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.thePlayer.worldObj));

    }

 

    /**

    * Called when the container is closed.

    */

    public void onContainerClosed(EntityPlayer p_75134_1_)

    {

        super.onContainerClosed(p_75134_1_);

 

        for (int i = 0; i < 4; ++i)

        {

            ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i);

 

            if (itemstack != null)

            {

                p_75134_1_.dropPlayerItemWithRandomChoice(itemstack, false);

            }

        }

 

        this.craftResult.setInventorySlotContents(0, (ItemStack)null);

    }

 

    public boolean canInteractWith(EntityPlayer p_75145_1_)

    {

        return true;

    }

 

    /**

    * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that.

    */

    public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_)

    {

        ItemStack itemstack = null;

        Slot slot = (Slot)this.inventorySlots.get(p_82846_2_);

 

        if (slot != null && slot.getHasStack())

        {

            ItemStack itemstack1 = slot.getStack();

            itemstack = itemstack1.copy();

 

            if (p_82846_2_ == 0)

            {

                if (!this.mergeItemStack(itemstack1, 9, 45, true))

                {

                    return null;

                }

 

                slot.onSlotChange(itemstack1, itemstack);

            }

            else if (p_82846_2_ >= 1 && p_82846_2_ < 5)

            {

                if (!this.mergeItemStack(itemstack1, 9, 45, false))

                {

                    return null;

                }

            }

            else if (p_82846_2_ >= 5 && p_82846_2_ < 9)

            {

                if (!this.mergeItemStack(itemstack1, 9, 45, false))

                {

                    return null;

                }

            }

            else if (itemstack.getItem() instanceof ItemArmor && !((Slot)this.inventorySlots.get(5 + ((ItemArmor)itemstack.getItem()).armorType)).getHasStack())

            {

                int j = 5 + ((ItemArmor)itemstack.getItem()).armorType;

 

                if (!this.mergeItemStack(itemstack1, j, j + 1, false))

                {

                    return null;

                }

            }

            else if (p_82846_2_ >= 9 && p_82846_2_ < 36)

            {

                if (!this.mergeItemStack(itemstack1, 36, 45, false))

                {

                    return null;

                }

            }

            else if (p_82846_2_ >= 36 && p_82846_2_ < 45)

            {

                if (!this.mergeItemStack(itemstack1, 9, 36, false))

                {

                    return null;

                }

            }

            else if (!this.mergeItemStack(itemstack1, 9, 45, false))

            {

                return null;

            }

 

            if (itemstack1.stackSize == 0)

            {

                slot.putStack((ItemStack)null);

            }

            else

            {

                slot.onSlotChanged();

            }

 

            if (itemstack1.stackSize == itemstack.stackSize)

            {

                return null;

            }

 

            slot.onPickupFromSlot(p_82846_1_, itemstack1);

        }

 

        return itemstack;

    }

 

    public boolean func_94530_a(ItemStack p_94530_1_, Slot p_94530_2_)

    {

        return p_94530_2_.inventory != this.craftResult && super.func_94530_a(p_94530_1_, p_94530_2_);

    }

}

 

 

 

Custom Inventory Gui:

 

 

 

package com.feudalcraft.gui;

 

import org.lwjgl.opengl.GL11;

import org.lwjgl.opengl.GL12;

 

import net.minecraft.client.gui.inventory.GuiContainer;

import net.minecraft.client.gui.inventory.GuiContainerCreative;

import net.minecraft.client.renderer.OpenGlHelper;

import net.minecraft.client.renderer.RenderHelper;

import net.minecraft.client.renderer.entity.RenderManager;

import net.minecraft.client.resources.I18n;

import net.minecraft.entity.EntityLivingBase;

import net.minecraft.entity.player.EntityPlayer;

import net.minecraft.entity.player.InventoryPlayer;

import net.minecraft.util.ResourceLocation;

 

import com.feudalcraft.client.entity.player.ContainerCustomPlayerInventory;

import com.feudalcraft.client.entity.player.CustomPlayerInventory;

import com.feudalcraft.client.entity.player.ExtendedPlayer;

import com.feudalcraft.container.ContainerCustomInventory;

import com.feudalcraft.lib.Strings;

 

import cpw.mods.fml.relauncher.*;

 

@SideOnly(Side.CLIENT)

public class GuiCustomInventory extends GuiContainer

{

/** x size of the inventory window in pixels. Defined as  float, passed as int */

private float xSizeFloat;

/** y size of the inventory window in pixels. Defined as  float, passed as int. */

private float ySizeFloat;

/** Could use IInventory type to be more generic, but this way will save an import... */

private CustomPlayerInventory customInventory = new CustomPlayerInventory();

 

public static final ResourceLocation inventory = new ResourceLocation(Strings.MOD_ID + ":textures/gui/inventory.png");

 

public GuiCustomInventory(ExtendedPlayer openingPlayer)

{

super(new ContainerCustomInventory(openingPlayer, openingPlayer.player));

this.allowUserInput = true;

}

 

public GuiCustomInventory(EntityPlayer player, InventoryPlayer inventoryPlayer, CustomPlayerInventory inventoryCustom)

{

super(new ContainerCustomPlayerInventory(player, inventoryPlayer, inventoryCustom));

this.customInventory = inventoryCustom;

this.allowUserInput = true;

System.out.println("This is in GuiCustomInventory");

}

 

/**

* Draw the foreground layer for the GuiContainer (everything in front of the items)

*/

protected void drawGuiContainerForegroundLayer(int i, int j)

{

String s = this.customInventory.hasCustomInventoryName() ? this.customInventory.getInventoryName() : I18n.format(this.customInventory.getInventoryName());

this.fontRendererObj.drawString(s, this.xSize - this.fontRendererObj.getStringWidth(s), 12, 4210752);

this.fontRendererObj.drawString(I18n.format("container.inventory"), 80, this.ySize - 96, 4210752);

this.fontRendererObj.drawString(I18n.format("container.crafting", new Object[0]), 120, 2, 4210752);

}

 

/**

* Draws the screen and all the components in it.

*/

public void drawScreen(int i, int j, float f)

{

super.drawScreen(i, j, f);

this.xSizeFloat = (float)i;

this.ySizeFloat = (float)j;

}

 

/**

* Draw the background layer for the GuiContainer (everything behind the items)

*/

protected void drawGuiContainerBackgroundLayer(float f, int i, int j)

{

GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

this.mc.getTextureManager().bindTexture(inventory);

int k = this.guiLeft;

int l = this.guiTop;

this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);

func_147046_a(k + 51, l + 75, 30, (float)(k + 51) - this.xSizeFloat, (float)(l + 75 - 50) - this.ySizeFloat, this.mc.thePlayer);

}

 

public static void func_147046_a(int x, int y, int z, float f, float f1, EntityLivingBase entitylivingbase)

{

GL11.glEnable(GL11.GL_COLOR_MATERIAL);

GL11.glPushMatrix();

GL11.glTranslatef((float)x, (float)y, 50.0F);

GL11.glScalef((float)(-z), (float)z, (float)z);

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

float f2 = entitylivingbase.renderYawOffset;

float f3 = entitylivingbase.rotationYaw;

float f4 = entitylivingbase.rotationPitch;

float f5 = entitylivingbase.prevRotationYawHead;

float f6 = entitylivingbase.rotationYawHead;

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

RenderHelper.enableStandardItemLighting();

GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);

GL11.glRotatef(-((float)Math.atan((double)(f1 / 40.0F))) * 20.0F, 1.0F, 0.0F, 0.0F);

entitylivingbase.renderYawOffset = (float)Math.atan((double)(f / 40.0F)) * 20.0F;

entitylivingbase.rotationYaw = (float)Math.atan((double)(f / 40.0F)) * 40.0F;

entitylivingbase.rotationPitch = -((float)Math.atan((double)(f1 / 40.0F))) * 20.0F;

entitylivingbase.rotationYawHead = entitylivingbase.rotationYaw;

entitylivingbase.prevRotationYawHead = entitylivingbase.rotationYaw;

GL11.glTranslatef(0.0F, entitylivingbase.yOffset, 0.0F);

RenderManager.instance.playerViewY = 180.0F;

RenderManager.instance.renderEntityWithPosYaw(entitylivingbase, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);

entitylivingbase.renderYawOffset = f2;

entitylivingbase.rotationYaw = f3;

entitylivingbase.rotationPitch = f4;

entitylivingbase.prevRotationYawHead = f5;

entitylivingbase.rotationYawHead = f6;

GL11.glPopMatrix();

RenderHelper.disableStandardItemLighting();

GL11.glDisable(GL12.GL_RESCALE_NORMAL);

OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);

GL11.glDisable(GL11.GL_TEXTURE_2D);

OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);

}

}

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi everyone, I'm working on a mod where I need to display a custom GUI on top of the inventory screen that includes a slider. The goal is to allow the player to select a number using the slider, and then confirm the action, which will split an item stack (similar to shift-clicking, but with a custom number). I've successfully created custom GUIs before using Screen, but I’m running into a couple of issues when trying to integrate a slider into the inventory screen (AbstractContainerScreen): I found the slider in the forge package (net.minecraftforge.client.gui.widget.Slider), but I couldn’t find any usages or examples on how to properly implement it or use it in this context. My Questions: How can I properly integrate a slider into the custom gui screen ? Is net.minecraftforge.client.gui.widget.Slider the right class to use for this? If yes, are there any examples or recommended usages of this Forge slider widget? If not, what would be a good alternative to create a custom slider (maybe extending AbstractSlider or another class)? How do I ensure proper interaction between the slider and the rest of the inventory screen? Any advice, code snippets, or examples would be greatly appreciated! Thanks in advance for your help!
    • I can´t craft in minecraft because it shows: "forge empty tag", does anyone know a fix for this issue? Thank you for your time!
    • ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 2024-10-13 19:15:43 Description: Exception in server tick loop java.lang.NullPointerException: Cannot invoke "com.cobblemon.mod.common.api.conditional.RegistryLikeCondition.fits(Object, net.minecraft.class_2378)" because "condition" is null     at com.cobblemon.mod.common.api.spawning.condition.SpawningCondition.fits(SpawningCondition.java:85)     at com.cobblemon.mod.common.api.spawning.condition.AreaTypeSpawningCondition.fits(AreaTypeSpawningCondition.java:30)     at com.cobblemon.mod.common.api.spawning.condition.GroundedTypeSpawningCondition.fits(GroundedTypeSpawningCondition.java:28)     at com.cobblemon.mod.common.api.spawning.condition.GroundedTypeSpawningCondition.fits(GroundedTypeSpawningCondition.java:24)     at com.cobblemon.mod.common.api.spawning.condition.SpawningCondition.isSatisfiedBy(SpawningCondition.java:68)     at com.cobblemon.mod.common.api.spawning.detail.SpawnDetail.isSatisfiedBy(SpawnDetail.java:78)     at com.cobblemon.mod.common.api.spawning.spawner.Spawner$DefaultImpls.getMatchingSpawns(Spawner.java:42)     at com.cobblemon.mod.common.api.spawning.spawner.TickingSpawner.getMatchingSpawns(TickingSpawner.java:31)     at com.cobblemon.mod.common.api.spawning.selection.FlatContextWeightedSelector.getSelectionData(FlatContextWeightedSelector.java:79)     at com.cobblemon.mod.common.api.spawning.selection.FlatContextWeightedSelector.select(FlatContextWeightedSelector.java:106)     at com.cobblemon.mod.common.api.spawning.spawner.AreaSpawner.run(AreaSpawner.java:94)     at com.cobblemon.mod.common.api.spawning.spawner.TickingSpawner.tick(TickingSpawner.java:71)     at com.cobblemon.mod.common.api.spawning.SpawnerManager.onServerTick(SpawnerManager.java:58)     at com.cobblemon.mod.common.events.ServerTickHandler.onTick(ServerTickHandler.java:20)     at com.cobblemon.mod.common.Cobblemon$initialize$7.invoke(Cobblemon.java:368)     at com.cobblemon.mod.common.Cobblemon$initialize$7.invoke(Cobblemon.java:368)     at com.cobblemon.mod.common.api.reactive.ObservableSubscription.handle(ObservableSubscription.java:16)     at com.cobblemon.mod.common.api.reactive.SimpleObservable.emit(SimpleObservable.java:39)     at com.cobblemon.mod.fabric.CobblemonFabric.initialize$lambda$8(CobblemonFabric.kt:440)     at net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents.lambda$static$2(ServerTickEvents.java:43)     at net.minecraft.server.MinecraftServer.handler$cka002$fabric-lifecycle-events-v1$onEndTick(MinecraftServer.java:6862)     at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:847)     at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)     at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)     at java.base/java.lang.Thread.run(Thread.java:1583) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Cobblemon -- Details:     Version: 1.5.2     Is Snapshot: false     Git Commit: df8f078 (https://gitlab.com/cable-mc/cobblemon/-/commit/df8f078d13702ab9a000438910b822ceffbb2248)     Branch: HEAD -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Linux (amd64) version 6.5.0-41-generic     Java Version: 21.0.4, Amazon.com Inc.     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Amazon.com Inc.     Memory: 3487078768 bytes (3325 MiB) / 5360320512 bytes (5112 MiB) up to 11567890432 bytes (11032 MiB)     CPUs: 2     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 7 5800X 8-Core Processor     Identifier: AuthenticAMD Family 25 Model 33 Stepping 0     Microarchitecture: Zen 3     Frequency (GHz): -0.00     Number of physical packages: 1     Number of physical CPUs: 8     Number of logical CPUs: 16     Graphics card #0 name: unknown     Graphics card #0 vendor: unknown     Graphics card #0 VRAM (MB): 0.00     Graphics card #0 deviceId: unknown     Graphics card #0 versionInfo: unknown     Virtual memory max (MB): 68443.22     Virtual memory used (MB): 51550.91     Swap memory total (MB): 4096.00     Swap memory used (MB): 793.75     JVM Flags: 2 total; -Xms128M -XX:MaxRAMPercentage=95.0     Fabric Mods:          a_man_with_plushies: A Man With Plushies 4.2.0         alloy_forgery: Alloy Forgery 2.1.2+1.20         almostunified: AlmostUnified 1.20.1-0.9.4         alternate-current: Alternate Current 1.9.0         amendments: Amendments 1.20-1.2.11         another_furniture: Another Furniture 1.20.1-3.0.1         appleskin: AppleSkin 2.5.1+mc1.20         architectury: Architectury 9.2.14         artifacts: Artifacts 9.5.13             cardinal-components-base: Cardinal Components API (base) 5.2.2             cardinal-components-entity: Cardinal Components API (entities) 5.2.2             expandability: ExpandAbility 9.0.4             step-height-entity-attribute: Step Height Entity Attribute 1.2.0         athena: Athena 3.1.2         attributefix: AttributeFix 21.0.4         automobility: Automobility 0.4.2+1.20.1-fabric             jsonem: JsonEM 0.2.1+1.20         bakery: [Let's Do] Bakery 1.1.15         balm-fabric: Balm 7.3.9             kuma_api: KumaAPI 20.1.8         barteringstation: Bartering Station 8.0.0         bbb: Building But Better 1.20.1-fabric-1.0.2         bcg_smp: BCG_SMP 1.0.1         bcgmusic: BCG Music 1.1.0-1.20.1         bcgutil: BCG Util 1.0.5         bclib: BCLib 3.0.14             wunderlib: WunderLib 1.1.5         beautify: Beautify 1.2.0+1.20.1         bedbenefits: BedBenefits 13.0.3         beekeeperhut: Friends&Foes - Beekeeper Hut 2.0.1         better_climbing: Better Climbing 3         bettercombat: Better Combat 1.8.6+1.20.1         betterdungeons: YUNG's Better Dungeons 1.20-Fabric-4.0.4             org_reflections_reflections: reflections 0.10.2         betterend: Better End 4.0.11         betterendisland: YUNG's Better End Island 1.20-Fabric-2.0.6         bettermineshafts: YUNG's Better Mineshafts 1.20-Fabric-4.0.4         betteroceanmonuments: YUNG's Better Ocean Monuments 1.20-Fabric-3.0.4         betterstrongholds: YUNG's Better Strongholds 1.20-Fabric-4.0.3         bitsandchisels: BitsAndChisels 2.7.3         blahaj: Blåhaj 0.3.2         boatbreakfix: Boat Break Fix 1.0.2         bookshelf: Bookshelf 20.2.13         brewery: [Let's Do] Brewery 1.1.9         bwncr: Bad Wither No Cookie Reloaded 3.17.0         candlelight: [Let's Do] Candlelight 1.2.13         cardinal-components: Cardinal Components API 5.2.2             cardinal-components-block: Cardinal Components API (blocks) 5.2.2             cardinal-components-chunk: Cardinal Components API (chunks) 5.2.2             cardinal-components-item: Cardinal Components API (items) 5.2.2             cardinal-components-level: Cardinal Components API (world saves) 5.2.2             cardinal-components-scoreboard: Cardinal Components API (scoreboard) 5.2.2             cardinal-components-world: Cardinal Components API (worlds) 5.2.2         carryon: Carry On 2.1.2.7         charmofundying: Charm of Undying 6.5.0+1.20.1         chefsdelight: Chefs Delight 1.0.3-fabric-1.20.1         chimes: Chimes 2.0.1         chipped: Chipped 3.0.6         clickadv: Clickable Advancements Mod 1.20.1-3.8         cloth-config: Cloth Config v11 11.1.136             cloth-basic-math: cloth-basic-math 0.6.1         clumps: Clumps 12.0.0.4         cobbledex: Cobbledex 1.1.0         cobbledollars: CobbleDollars 1.5.1+1.20.1         cobblemon: Cobblemon 1.5.2+1.20.1         cobblemon-ui-tweaks: Cobblemon UI Tweaks 1.0.6         cobblemon_capturexp: Cobblemon Capture EXP 1.5-fabric-1.0.1         cobblemon_counter: Cobblemon Counter 1.5-fabric-1.2.0         cobblemon_quests: Cobblemon Quests 1.1.11         cobblemon_spawn_notification: Cobblemon Spawn Notification 1.5-fabric-1.1.0         cobblemonbreakouts: Cobblemon Outbreaks fabric-1.1.4-1.20.1         cobblemontrainers: CobblemonTrainers 1.1.11+1.5.2         cobblepedia: Cobblepedia 0.6.8         cobbreeding: Cobbreeding 1.7.2         collective: Collective 7.84         comforts: Comforts 6.4.0+1.20.1         commonnetworking: Common Network 1.0.5-1.20.1         compact_storage: CompactStorage 6.0.1.64         connectivity: Connectivity Mod 1.20.1-5.8         convenientdecor: Convenient Decor 0.4.3             omega-config: OmegaConfig 1.4.0+1.20.1         copycats: Create: Copycats+ 2.1.4+mc.1.20.1-fabric         coroutil: CoroUtil 1.20.1-1.3.7         crawl: Crawl 0.12.0         create: Create 0.5.1-f-build.1417+mc1.20.1             com_google_code_findbugs_jsr305: jsr305 3.0.2             milk: Milk Lib 1.2.60                 dripstone_fluid_lib: Dripstone Fluid Lib 3.0.2             porting_lib_brewing: Porting Lib Brewing 2.3.2+1.20.1             porting_lib_client_events: Porting Lib Client Events 2.3.2+1.20.1             porting_lib_tags: Porting Lib Tags 3.0             registrate-fabric: Registrate for Fabric 1.3.62-MC1.20.1         create_cobblemon: Create: Cobblemon Industrialized 0.4         create_enchantment_industry: Create Enchantment Industry 1.2.16             create_dragon_lib: Create Dragon Lib 1.4.2         createaddition: Create Crafts & Additions 1.2.4         createbigcannons: Create Big Cannons 5.5.1+mc.1.20.1-fabric             ritchiesprojectilelib: Ritchie's Projectile Library 2.0.0-dev+mc.1.20.1-fabric-build.182                 porting_lib_utility: Porting Lib Utility 2.1.1127+1.20                     porting_lib_gametest: Porting Lib GameTest 2.1.1127+1.20         createdeco: Create Deco 2.0.2-1.20.1-fabric         creeperoverhaul: Creeper Overhaul 3.0.2         cupboard: cupboard 1.20.1-2.7         customcursorcomm: CustomCursorComm 1.2.0         dailyshop: Daily Shop 1.0.2         darkutils: DarkUtilities 17.0.5         debugify: Debugify 1.20.1+2.0         design_decor: Create: Design n' Decor 0.4.0b_fabric+1.20.1         deuf_refabricated: DEUF Refabricated 1.1.0         diagonalfences: Diagonal Fences 8.1.4         diagonalwalls: Diagonal Walls 8.0.3             diagonalblocks: Diagonal Blocks 8.0.5         diagonalwindows: Diagonal Windows 8.1.4         dimensionalsyncfixes: DimensionalSyncFixes 1.20.1-0.0.2         doapi: [Let's Do] API 1.2.15             terraform-wood-api-v1: Terraform Wood API (v1) 7.0.1         dragonfight: Dragonfight Mod 1.20.1-4.6         drippyloadingscreen: Drippy Loading Screen 3.0.2         e4mc_minecraft: e4mc 5.2.1             folk_sisby_kaleido-config: kaleido-config 0.3.1+1.3.1         easy_npc: Easy NPC 5.6.0         easyanvils: Easy Anvils 8.0.2         easymagic: Easy Magic 8.0.1         elytraslot: Elytra Slot 6.4.4+1.20.1             mixinsquared: MixinSquared 0.1.2-beta.6         emi: EMI 1.1.14+1.20.1+fabric         emi_letsdo_compat: emi-letsdo-compat 1.3         endermanoverhaul: Enderman Overhaul 1.0.4         endrem: End Remastered 5.2.4         ends_delight: End's Delight 2.1         entityculling: EntityCulling 1.7.0         everycomp: Every Compat 1.20-2.6.76             porting_lib_attributes: Porting Lib Attributes 2.3.4+1.20.1             porting_lib_common: Porting Lib Common 2.3.4+1.20.1             porting_lib_entity: Porting Lib Entity 2.3.4+1.20.1             porting_lib_extensions: Porting Lib Extensions 2.3.4+1.20.1             porting_lib_model_generators: Porting Lib Model Generators 2.3.4+1.20.1                 porting_lib_data: Porting Lib Data 2.3.4+1.20.1                 porting_lib_model_materials: Porting Lib Model Materials 2.3.4+1.20.1             porting_lib_model_loader: Porting Lib Model Loader 2.3.4+1.20.1             porting_lib_models: Porting Lib Models 2.3.4+1.20.1             porting_lib_obj_loader: Porting Lib Obj Loader 2.3.4+1.20.1             porting_lib_transfer: Porting Lib Transfer 2.3.4+1.20.1         expandeddelight: Expanded Delight 0.3.2         explorerscompass: Explorer's Compass 1.20.1-2.2.3-fabric         exposure: Exposure 1.7.7         extendedgears: Extended Cogwheels 2.1.1-1.20.1-0.5.1.f-fabric         fabric-api: Fabric API 0.92.2+1.20.1             fabric-api-base: Fabric API Base 0.4.31+1802ada577             fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.36+1802ada577             fabric-biome-api-v1: Fabric Biome API (v1) 13.0.13+1802ada577             fabric-block-api-v1: Fabric Block API (v1) 1.0.11+1802ada577             fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.1+1802ada577             fabric-command-api-v1: Fabric Command API (v1) 1.2.34+f71b366f77             fabric-command-api-v2: Fabric Command API (v2) 2.2.13+1802ada577             fabric-commands-v0: Fabric Commands (v0) 0.2.51+df3654b377             fabric-containers-v0: Fabric Containers (v0) 0.1.64+df3654b377             fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.11+1802ada577             fabric-convention-tags-v1: Fabric Convention Tags 1.5.5+1802ada577             fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.19+1802ada577             fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.0.0+de0fd6d177             fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.3.4+1802ada577             fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.54+1802ada577             fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.0+1c78457f77             fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.2+1802ada577             fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.63+df3654b377             fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.40+1802ada577             fabric-item-api-v1: Fabric Item API (v1) 2.1.28+1802ada577             fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.12+1802ada577             fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.22+1802ada577             fabric-loot-api-v2: Fabric Loot API (v2) 1.2.1+1802ada577             fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.45+9e7660c677             fabric-message-api-v1: Fabric Message API (v1) 5.1.9+1802ada577             fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.50+1802ada577             fabric-networking-api-v1: Fabric Networking API (v1) 1.3.11+1802ada577             fabric-networking-v0: Fabric Networking (v0) 0.3.51+df3654b377             fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.3+1802ada577             fabric-particles-v1: Fabric Particles (v1) 1.1.2+1802ada577             fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.21+1802ada577             fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.3+1802ada577             fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.37+92a0d36777             fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.28+1802ada577             fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.8+1802ada577             fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.10+1802ada577             fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.30+1802ada577             fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.5+8dd72ea377             fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.1+1802ada577         fabric-language-kotlin: Fabric Language Kotlin 1.12.2+kotlin.2.0.20             org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.0.20             org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.0.20             org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.0.20             org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.0.20             org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.25.0             org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.9.0             org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.9.0             org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.6.1             org_jetbrains_kotlinx_kotlinx-io-bytestring-jvm: kotlinx-io-bytestring-jvm 0.5.4             org_jetbrains_kotlinx_kotlinx-io-core-jvm: kotlinx-io-core-jvm 0.5.4             org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.7.2             org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.7.2             org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.7.2         fabricloader: Fabric Loader 0.16.5             mixinextras: MixinExtras 0.4.1         fancymenu: FancyMenu 3.2.3             com_github_keksuccino_japng: japng 0.5.3             com_github_rtyley_animated-gif-lib-for-java: animated-gif-lib-for-java animated-gif-lib-1.7         farmersdelight: Farmer's Delight 1.20.1-2.1.6+refabricated             mm: Manningham Mills 2.3             porting_lib_accessors: Porting Lib Accessors 2.3.4+1.20.1             porting_lib_base: Porting Lib Base 2.3.4+1.20.1                 porting_lib_core: Porting Lib Core 2.3.4+1.20.1                 porting_lib_fluids: Porting Lib Fluids 2.3.4+1.20.1                 porting_lib_mixin_extensions: Porting Lib Mixin Extensions 2.3.4+1.20.1             porting_lib_config: Porting Lib Config 2.3.4+1.20.1             porting_lib_lazy_registration: Porting Lib Lazy Register 2.3.4+1.20.1             porting_lib_loot: Porting Lib Loot 2.3.4+1.20.1             porting_lib_networking: Porting Lib Networking 2.3.4+1.20.1             porting_lib_recipe_book_categories: Porting Lib Recipe Book Categories 2.3.4+1.20.1             porting_lib_tool_actions: Porting Lib Tool Actions 2.3.4+1.20.1         farsight: Farsight Mod 1.20.1-4.3             org_jctools_jctools-core: jctools-core 4.0.1         faster-random: Faster Random 5.1.0         fastpaintings: Fast Paintings 1.20-1.2.7         ferritecore: FerriteCore 6.0.1         fightorflight: Cobblemon Fight or Flight Fabric 0.5.0         flowerymooblooms: Friends&Foes - Flowery Mooblooms 2.0.2         forgeconfigapiport: Forge Config API Port 8.0.0         framework: Framework 0.6.16             org_javassist_javassist: javassist 3.29.2-GA         friendsandfoes: Friends & Foes 3.0.3         ftbchunks: FTB Chunks 2001.3.1         ftbessentials: FTB Essentials 2001.2.2         ftblibrary: FTB Library 2001.2.4         ftbquests: FTB Quests 2001.4.8             team_reborn_energy: Energy 3.0.0         ftbteams: FTB Teams 2001.3.0         ftbultimine: FTB Ultimine 2001.1.5         ftbxmodcompat: FTB XMod Compat 2.1.1         fwaystones: Fabric Waystones 3.3.2+mc1.20.1         fzzy_config: Fzzy Config 0.5.0+1.20.1             blue_endless_jankson: jankson 1.2.3             fabric-permissions-api-v0: fabric-permissions-api 0.3.1             net_peanuuutz_tomlkt_tomlkt-jvm: tomlkt-jvm 0.3.7         geckolib: GeckoLib 4 4.4.9             com_eliotlash_mclib_mclib: mclib 20         getittogetherdrops: Get It Together, Drops! fabric-1.20-1.3.1         globalpacks: Global Data- & Resourcepacks 1.16.1_fabric         go-fish: Go Fish 1.6.3+1.20.1         gpumemleakfix: Gpu memory leak fix mod 1.20.1-1.8         grindenchantments: Grind Enchantments 3.1.2+1.20             codec-config-api: Codec Config API 1.0.2+1.19.3         guarding: Guarding 2.4.0             scribe: Scribe 1.20.1-0.5.0-alpha         guardvillagers: GuardVillagers 2.0.9-1.20.1         gymbadges: GymBadges 1.0         hamsters: Hamsters fabric-1.0.3-1.20.1         handcrafted: Handcrafted 3.0.6         healingcampfire: Healing Campfire 6.1         herbalbrews: [Let's Do] HerbalBrews 1.0.8.1         herdspanic: Herds Panic 1.1.0         horseexpert: Horse Expert 8.1.1         icarus: Icarus 2.10.0         idwtialsimmoedm: idwtialsimmoedm 0.3.1+1.20         illagerinvasion: Illager Invasion 8.0.6             extensibleenums: Extensible Enums 7.0.1         immersive_aircraft: Immersive Aircraft 1.1.2+1.20.1             org_mariuszgromada_math_mathparser_org-mxparser: MathParser.org-mXparser 5.2.1         immersive_paintings: Immersive Paintings 0.6.7+1.20.1         incantationem: Incantationem 1.2.1+1.20         incendium: Incendium 5.3.5         item_obliterator: Item Obliterator 2.3.0         itemcollectors: Item Collectors 1.1.10         itemfilters: Item Filters 2001.1.0-build.59         jade: Jade 11.11.0+fabric         java: OpenJDK 64-Bit Server VM 21         jmi: JourneyMapIntegration 1.20.1-0.14-48         journeymap: Journeymap 5.10.2             journeymap-api-fabric: JourneyMap API 1.20-1.9-fabric-SNAPSHOT         jumpoverfences: Jump Over Fences 1.3.1         konkrete: Konkrete 1.8.1         leavesbegone: Leaves Be Gone 8.0.0         letmedespawn: Let Me Despawn 1.3.2b         lithium: Lithium 0.11.2         lmft: Load My F***ing Tags 1.0.2+1.20         logbegone: Log Begone 1.0.8         lootintegrations: Loot integration Mod 1.20.1-3.7         lootr: Lootr 0.7.34.84         luphieclutteredmod: Cluttered 2.1.0+1.20.1         magnumtorch: Magnum Torch 8.0.2         man_of_many_planes: Man of Many Planes 0.2.0+1.20.1         mavapi: More Axolotl Variants API 1.1.4         mavm: More Axolotl Variants Mod 1.2.6         mcwbridges: Macaw's Bridges 3.0.0         mcwdoors: Macaw's Doors 1.1.1         mcwfences: Macaw's Fences and Walls 1.1.2         mcwfurnitures: Macaw's Furniture 3.3.0         mcwholidays: Macaw's Holidays 1.1.0         mcwlights: Macaw's Lights and Lamps 1.1.1         mcwpaths: Macaw's Paths and Pavings 1.0.5         mcwroofs: Macaw's Roofs 2.3.1         mcwtrpdoors: Macaw's Trapdoors 1.1.3         mcwwindows: Macaw's Windows 2.3.0         megamons: Ascension Megamons 1.5.0+1.20.1-forge+fabric-75b66fa         melody: Melody 1.0.3         memoryleakfix: Memory Leak Fix 1.1.2         mighty_mail: Mighty Mail 1.0.14         mine-spawners: mine-spawners 1.0         minecraft: Minecraft 1.20.1         mixintrace: MixinTrace 1.1.1+1.17         modernfix: ModernFix 5.19.4+mc1.20.1         moonlight: Moonlight 1.20-2.13.2         more-axolotl: More Axolotl 2.0.1         mr_remove_terralithintromessage: Remove Terralith Intro Message 1.0         mss: Moog's Soaring Structures 1.1.2-1.20-fabric         mvs: Moog's Voyager Structures 4.1.4-1.20-fabric         mythicmetals: Mythic Metals 0.19.9+1.20.1             additionalentityattributes: Additional Entity Attributes 1.7.3+1.20.0             common-protection-api: Common Protection API 1.0.0             reach-entity-attributes: Reach Entity Attributes 2.4.0         mythsandlegends: Myths and Legends 1.5-HOTFIX             com_moandjiezana_toml_toml4j: toml4j 0.7.2         naturalist: Naturalist 4.0.3         naturescompass: Nature's Compass 1.20.1-2.2.3-fabric         necronomicon: Necronomicon 1.6.0         neruina: Neruina 2.1.2             com_fasterxml_jackson_core_jackson-annotations: jackson-annotations 2.17.0             com_fasterxml_jackson_core_jackson-core: jackson-core 2.17.0             com_fasterxml_jackson_core_jackson-databind: jackson-databind 2.17.0             org_apache_maven_maven-artifact: maven-artifact 3.8.1             org_kohsuke_github-api: github-api 1.318         netherportalfix: NetherPortalFix 13.0.1         nightlights: Night Lights 1.1         nochatreports: No Chat Reports 1.20.1-v2.2.2         notenoughanimations: NotEnoughAnimations 1.7.6         oceansdelight: Ocean's Delight fdrf-fabric-1.0.2-1.20         owo: oωo 0.11.2+1.20         packetfixer: Packet Fixer 1.4.2         patchouli: Patchouli 1.20.1-84-FABRIC             fiber: fiber 0.23.0-2         pehkui: Pehkui 3.8.3+1.14.4-1.21             kanos_config: Kanos Config 0.4.1+1.14.4-1.19.4         permanentsponges: Permanent Sponges 8.1.2         pigpen: PigPen 15.0.2         ping-wheel: Ping Wheel 1.9.1         player-animator: Player Animator 1.0.2-rc1+1.20         plushies: Plushie Mod 1.4.0         polymorph: Polymorph 0.49.7+1.20.1             spectrelib: SpectreLib 0.13.17+1.20.1         puzzleslib: Puzzles Lib 8.1.23             puzzlesaccessapi: Puzzles Access Api 8.0.7         railways: Create: Steam 'n' Rails 1.6.4+fabric-mc1.20.1         reacharound: Reacharound 1.3.0         recipeessentials: recipeessentials Mod 1.20.1-3.6         resourcefulconfig: Resourcefulconfig 2.1.2         resourcefullib: Resourceful Lib 2.1.29             com_teamresourceful_bytecodecs: bytecodecs 1.0.2             com_teamresourceful_yabn: yabn 1.0.3         ribbits: Ribbits 1.20.1-Fabric-3.0.0         runelic: Runelic 18.0.2         seasons: Fabric Seasons 2.3+1.20         seasonsdelightcompat: Fabric Seasons: Delight Compat 1.0-1.3.9         seasonsterralithcompat: Fabric Seasons: Terralith Compat 1.0-2.3.7         sellingbin: Selling Bin 1.0.4         serverredirect: Server Redirect 1.4.5         shadertoggle: Shader Toggle 1.0         simpletms: Cobblemon: Simple TM's 1.1.2         simplyswords: Simply Swords 1.56.0-1.20.1         sliceanddice: Create Slice & Dice 3.3.1         smallships: Small Ships 2.0.0-b1.4         spark: spark 1.10.53         spiceoffabric: Spice of Fabric 1.6.2+mc1.20.1             capsaicin: Capsaicin 1.3.3+mc1.20.1             tweed4_annotated: tweed4_annotated 1.3.1+mc1.20-pre1             tweed4_base: tweed4_base 1.7.1+mc1.20-pre1             tweed4_data: tweed4_data 1.2.1+mc1.20-pre1             tweed4_data_hjson: tweed4_data_hjson 1.1.1+mc1.20-pre1             tweed4_tailor_lang_json_descriptions: tweed4_tailor_lang_json_descriptions 1.1.0+mc1.20-pre1         stacc: Stacc 1.7.0         starterkit: Starter Kit 7.1         strawstatues: Straw Statues 8.0.3             puzzlesapi: Puzzles Api 8.1.4         structory: Structory 1.3.5         structory_towers: Structory: Towers 1.0.7         structureessentials: Structure Essentials Mod 1.20.1-3.4         supermartijn642configlib: SuperMartijn642's Config Lib 1.1.8+a         supermartijn642corelib: SuperMartijn642's Core Lib 1.1.17+a         supplementaries: Supplementaries 1.20-2.8.17         suppsquared: Supplementaries Squared 1.20-1.1.15         terrablender: TerraBlender 3.0.1.7             com_electronwill_night-config_core: core 3.6.7             com_electronwill_night-config_toml: toml 3.6.7         terralith: Terralith 2.5.4         thiccpackets: Extra Thicc Packets 1.17-1.19+         things: Things 0.3.3+1.20             lavender: Lavender 0.1.0-pre.18+1.20                 lavender-md: lavender-md 0.1.0-pre.3+1.20                 lavender-md-owo-ui: lavender-md-owo-ui 0.1.0-pre.3+1.20         toms_storage: Tom's Simple Storage Mod 1.6.8         toolstats: ToolStats 16.0.9         trade_cycling: Trade Cycling 1.20.1-1.0.7         tradingpost: Trading Post 8.0.2         trashcans: Trash Cans 1.0.18         travelersbackpack: Traveler's Backpack 9.1.17         trinkets: Trinkets 3.7.2         tutorialmod: Fullers Pokecenters 1.0.0             structurized-reborn: Structurized Reborn 1.20.1-01         ubesdelight: Ube's Delight 0.2.0             midnightlib: MidnightLib 1.4.1             porting_lib_registries: Porting Lib Registries 2.3.4+1.20.1         universal_shops: Universal Shops 1.3.2+1.20.1             common-economy-api: Common Economy API 1.1.1             placeholder-api: Placeholder API 2.1.1+1.20             polymer-core: Polymer (Core) 0.5.3+1.20.1                 polymer-networking: Polymer (Networking) 0.5.3+1.20.1                 polymer-registry-sync-manipulator: Polymer (Registry Sync Manipulator) 0.5.3+1.20.1             polymer-resource-pack: Polymer (Resource Pack) 0.5.3+1.20.1                 polymer-common: Polymer (Common) 0.5.3+1.20.1             polymer-virtual-entity: Polymer (Virtual Entity) 0.5.3+1.20.1             server_translations_api: Server Translations API 2.0.0+1.20                 packet_tweaker: Packet Tweaker 0.4.0+1.19.4             sgui: sgui 1.2.2+1.20         vanityslots: Vanity Slots 1.2.9         villagernames: Villager Names 8.1         vinery: [Let's Do] Vinery 1.4.28         visualworkbench: Visual Workbench 8.0.0         voicechat: Simple Voice Chat 1.20.1-2.5.23         wands: Building Wands 2.6.9-release         watut: What Are They Up To 1.20.1-1.1.3         xercamusic: Music Maker Mod fabric-1.20.1-1.0.2         xercapaint: Joy of Painting fabric-1.20.1-1.0.1         yet_another_config_lib_v3: YetAnotherConfigLib 3.5.0+1.20.1-fabric             com_twelvemonkeys_common_common-image: common-image 3.10.0             com_twelvemonkeys_common_common-io: common-io 3.10.0             com_twelvemonkeys_common_common-lang: common-lang 3.10.0             com_twelvemonkeys_imageio_imageio-core: imageio-core 3.10.0             com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.10.0             com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.10.0             org_quiltmc_parsers_gson: gson 0.2.1             org_quiltmc_parsers_json: json 0.2.1         yigd: You're in Grave Danger 2.0.9             libgui: LibGui 8.1.1+1.20.1                 jankson: Jankson 6.0.0+j1.2.3                 libninepatch: LibNinePatch 1.2.0         yosbr: YOSBR 0.1.2         ysns: You Shall Not Spawn 2.0.1         yungsapi: YUNG's API 1.20-Fabric-4.0.6         yungsextras: YUNG's Extras 1.20-Fabric-4.0.3     Server Running: true     Player Count: 3 / 20; [class_3222['TreverForever'/674, l='ServerLevel[world]', x=-524.99, y=124.62, z=-103.03], class_3222['Shadowknight3420'/675, l='ServerLevel[world]', x=-180.57, y=65.48, z=216.34], class_3222['XThatSamuraiGuyX'/1223, l='ServerLevel[world]', x=-78.28, y=65.00, z=220.26]]     Data Packs: vanilla, Everycomp Generated Pack, Supplementaries Generated Pack, Suppsquared Generated Pack, fabric, file/AlphabetSoup-v2.1, file/AshiMons_ver1.3, file/BCG Cobblemon Loot, file/BCG Datapack, file/BCG x AllTheMons 1.1.0, file/Cobblemon Village, file/Genomons [1.5.1], file/HiddenMons [Cobblemon] v0.5.3, file/Kale's Collection [v1.7], file/LackingMons-ReleaseCanditate-1, file/MissingMon_v3.0 [METALIC MADNESS], file/NotSoCobblemon, file/PigeonPack, file/Project Eevolve Data (incompatible), file/SaltMons v2.0, file/Vivillon Pride Patterns v1.0, file/Wavimons1.1, file/cobble_cats, file/diance, file/CobblemonLoot-v1.1.1, file/CobblemonPokeLoot 1.5, file/Legendary Structures v1.1.1, file/Poké Costume [2.0], file/Pokémon Fishing v1.1.4 [1.20.1-v1.4+], file/MythsandLegends-Datapack-v1.0.2     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     Is Modded: Definitely; Server brand changed to 'fabric'     Type: Dedicated Server (map_server.txt)
  • Topics

×
×
  • Create New...

Important Information

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