Jump to content

[1.16.5] Help with Capability (Inventory)


Luis_ST

Recommended Posts

4 minutes ago, diesieben07 said:

I already told you, twice. I'll do it a third time:

so like this:

		public Provider(PlayerEntity player) {
			
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = (IItemHandlerModifiable) enderChestInventory;
			CombinedInvWrapper invWrapper = new CombinedInvWrapper(inventory, enderChestModifiable);
			
		}

 

 

Link to comment
Share on other sites

5 minutes ago, diesieben07 said:

"Hey, you need to do A".

"Ah so, like this: Z".

12 minutes ago, diesieben07 said:

And then use InvWrapper to wrap the IInventory into an IItemHandlerModifiable.

then like this:

			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			CombinedInvWrapper invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);

 

and now i have to creat a LazyOptional from the CombinedInvWrapper and retrun the LazyOptional in getCapability?

Link to comment
Share on other sites

9 minutes ago, loordgek said:

yes

so that should work:

	public static class Provider implements ICapabilityProvider {
		
		private IModItemHandler inventory = new ModItemStackHandler();
		private CombinedInvWrapper invWrapper;
		private LazyOptional<CombinedInvWrapper> optional = LazyOptional.of(() -> invWrapper);
		
		public Provider(PlayerEntity player) {
			
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
			
		}
		
		@Override
		@SuppressWarnings({ "unchecked" })
		public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
			
			return cap == CAPABILITY ? (LazyOptional<T>) optional : LazyOptional.empty();
			
		}
		
	}

 

Link to comment
Share on other sites

1 minute ago, loordgek said:

yes but you need to save your inventory,instead of ICapabilityProvider implement ICapabilitySerializable

so like this:

do I have to create a new nbt and save my inventory in it?

if yes how to do that?

 

	public static class Provider implements ICapabilitySerializable<INBT> {
		
		private IModItemHandler inventory = new ModItemStackHandler();
		private CombinedInvWrapper invWrapper;
		private LazyOptional<CombinedInvWrapper> optional = LazyOptional.of(() -> invWrapper);
		
		public Provider(PlayerEntity player) {
			
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
			
		}
		
		@Override
		@SuppressWarnings({ "unchecked" })
		public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
			
			return cap == CAPABILITY ? (LazyOptional<T>) optional : LazyOptional.empty();
			
		}

		@Override
		public INBT serializeNBT() {
			
			CompoundNBT nbt = new CompoundNBT();
			return nbt;
			
		}

		@Override
		public void deserializeNBT(INBT nbt) {
			
			
			
		}
		
	}

 

Link to comment
Share on other sites

10 minutes ago, diesieben07 said:

ItemStackHandler has them.

this is now my Capability but is this correct?

public class ModCapability {
	
	@CapabilityInject(IModItemHandler.class)
	public static Capability<IModItemHandler> CAPABILITY = null;
	
	public ModCapability() {
		
		CapabilityManager.INSTANCE.register(IModItemHandler.class, new Storage(), new Factory());
		
	}
	
	private static class Storage implements IStorage<IModItemHandler> {
		@Override
		public INBT writeNBT(Capability<IModItemHandler> capability, IModItemHandler instance, Direction side) {
			return null;
		}
		@Override
		public void readNBT(Capability<IModItemHandler> capability, IModItemHandler instance, Direction side, INBT nbt) {
		}
	}
	
	private static class Factory implements Callable<IModItemHandler> {
		@Override
		public IModItemHandler call() throws Exception {
			return null;
		}
	}
	
	public static class Provider implements ICapabilitySerializable<CompoundNBT> {
		
		private ModItemStackHandler inventory = new ModItemStackHandler();
		private CombinedInvWrapper invWrapper;
		private LazyOptional<CombinedInvWrapper> optional = LazyOptional.of(() -> invWrapper);
		
		public Provider(PlayerEntity player) {
			
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
			
		}
		
		@Override
		@SuppressWarnings({ "unchecked" })
		public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
			
			return cap == CAPABILITY ? (LazyOptional<T>) optional : LazyOptional.empty();
			
		}

		@Override
		public CompoundNBT serializeNBT() {
			
			return inventory.serializeNBT();
			
		}

		@Override
		public void deserializeNBT(CompoundNBT nbt) {
			
			inventory.deserializeNBT(nbt);
			
		}
		
	}
	
}

but when i now start the game i got an error:

2:21:05] [Server thread/ERROR] [ne.mi.ev.EventBus/EVENTBUS]: Exception caught during firing event: Cannot invoke "net.minecraft.inventory.IInventory.getSizeInventory()" because the return value of "net.minecraftforge.items.wrapper.InvWrapper.getInv()" is null
	Index: 1
	Listeners:
		0: NORMAL
		1: ASM: class net.luis.cave.events.capability.OnAttachCapabilitiesEvent AttachCapabilities(Lnet/minecraftforge/event/AttachCapabilitiesEvent;)V
java.lang.NullPointerException: Cannot invoke "net.minecraft.inventory.IInventory.getSizeInventory()" because the return value of "net.minecraftforge.items.wrapper.InvWrapper.getInv()" is null
	at net.minecraftforge.items.wrapper.InvWrapper.getSlots(InvWrapper.java:61)
	at net.minecraftforge.items.wrapper.CombinedInvWrapper.<init>(CombinedInvWrapper.java:42)
	at net.luis.cave.init.ModCapability$Provider.<init>(ModCapability.java:61)
	at net.luis.cave.events.capability.OnAttachCapabilitiesEvent.AttachCapabilities(OnAttachCapabilitiesEvent.java:23)
	at net.minecraftforge.eventbus.ASMEventHandler_16_OnAttachCapabilitiesEvent_AttachCapabilities_AttachCapabilitiesEvent.invoke(.dynamic)
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302)
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283)
	at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579)
	at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:573)
	at net.minecraftforge.common.capabilities.CapabilityProvider.gatherCapabilities(CapabilityProvider.java:48)
	at net.minecraftforge.common.capabilities.CapabilityProvider.gatherCapabilities(CapabilityProvider.java:44)
	at net.minecraft.entity.Entity.<init>(Entity.java:221)
	at net.minecraft.entity.LivingEntity.<init>(LivingEntity.java:207)
	at net.minecraft.entity.player.PlayerEntity.<init>(PlayerEntity.java:160)
	at net.minecraft.entity.player.ServerPlayerEntity.<init>(ServerPlayerEntity.java:182)
	at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:419)
	at net.minecraft.network.login.ServerLoginNetHandler.tryAcceptPlayer(ServerLoginNetHandler.java:122)
	at net.minecraft.network.login.ServerLoginNetHandler.tick(ServerLoginNetHandler.java:66)
	at net.minecraft.network.NetworkManager.tick(NetworkManager.java:244)
	at net.minecraft.network.NetworkSystem.tick(NetworkSystem.java:151)
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:898)
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:820)
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:84)
	at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:663)
	at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:233)
	at java.base/java.lang.Thread.run(Thread.java:832)

[12:21:05] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 5f9c0c16-6096-44b4-a0a3-48d79100f726
[12:21:05] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
net.minecraft.crash.ReportedException: Ticking memory connection
	at net.minecraft.network.NetworkSystem.tick(NetworkSystem.java:154) ~[forge:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:898) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:820) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:84) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:663) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:233) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Thread.java:832) [?:?] {}
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.inventory.IInventory.getSizeInventory()" because the return value of "net.minecraftforge.items.wrapper.InvWrapper.getInv()" is null
	at net.minecraftforge.items.wrapper.InvWrapper.getSlots(InvWrapper.java:61) ~[forge-1.16.5-36.0.1_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading}
	at net.minecraftforge.items.wrapper.CombinedInvWrapper.<init>(CombinedInvWrapper.java:42) ~[forge-1.16.5-36.0.1_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading}
	at net.luis.cave.init.ModCapability$Provider.<init>(ModCapability.java:61) ~[main/:?] {re:classloading}
	at net.luis.cave.events.capability.OnAttachCapabilitiesEvent.AttachCapabilities(OnAttachCapabilitiesEvent.java:23) ~[main/:?] {re:classloading}
	at net.minecraftforge.eventbus.ASMEventHandler_16_OnAttachCapabilitiesEvent_AttachCapabilities_AttachCapabilitiesEvent.invoke(.dynamic) ~[?:?] {}
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}
	at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:579) ~[forge:?] {re:classloading}
	at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:573) ~[forge:?] {re:classloading}
	at net.minecraftforge.common.capabilities.CapabilityProvider.gatherCapabilities(CapabilityProvider.java:48) ~[forge:?] {re:classloading}
	at net.minecraftforge.common.capabilities.CapabilityProvider.gatherCapabilities(CapabilityProvider.java:44) ~[forge:?] {re:classloading}
	at net.minecraft.entity.Entity.<init>(Entity.java:221) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.entity.LivingEntity.<init>(LivingEntity.java:207) ~[forge:?] {re:classloading}
	at net.minecraft.entity.player.PlayerEntity.<init>(PlayerEntity.java:160) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.entity.player.ServerPlayerEntity.<init>(ServerPlayerEntity.java:182) ~[forge:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:419) ~[forge:?] {re:classloading}
	at net.minecraft.network.login.ServerLoginNetHandler.tryAcceptPlayer(ServerLoginNetHandler.java:122) ~[forge:?] {re:classloading}
	at net.minecraft.network.login.ServerLoginNetHandler.tick(ServerLoginNetHandler.java:66) ~[forge:?] {re:classloading}
	at net.minecraft.network.NetworkManager.tick(NetworkManager.java:244) ~[forge:?] {re:classloading}
	at net.minecraft.network.NetworkSystem.tick(NetworkSystem.java:151) ~[forge:?] {re:classloading}
	... 6 more


 

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

So you need to lazily initialize your inventory stuff, because getEnderChestInventory will just return null when called that early.

so i have to create a temporary inventory or is there a way to initialize the inventory directly in the event?

Or is there another way to add the capability to the player?

 

Link to comment
Share on other sites

1 minute ago, diesieben07 said:

If not, initialize them first, then proceed as normal.

and how to do that?

In addition, the error is not in getCapability but in the constructor because I call the constructor with the AttachCapabilitiesEvent and not getCapability

		public Provider(PlayerEntity player) {
			
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			
	// ->	invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
			
		}

 

Link to comment
Share on other sites

18 minutes ago, diesieben07 said:

Like I told you you need to lazily initialize the fields in getCapability, because the constructor is too early to call getInventoryEnderChest.

I've understood that now, but which class / method do you mean exactly because I can't find a class with the name lazily initialize

Link to comment
Share on other sites

6 minutes ago, diesieben07 said:

Lazy initialization is a concept. In this case it means checking if the fields are initialized in getCapability (lazily doing it only when it is actually necessary) instead of eagerly doing it immediately in the constructor

So I have to check getCapability whether the fields == are null, if they are the fields to initiate (call the same code that is in the constuctor)?

so like this:

		@Override
		@SuppressWarnings({ "unchecked" })
		public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
			
			if (optional == null || inventory == null || invWrapper == null) {
				
				EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
				IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
				invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
				optional = LazyOptional.of(() -> invWrapper);
			}
			
			return cap == CAPABILITY && cap != null ? (LazyOptional<T>) optional : LazyOptional.empty();
			
		}

 

Edited by Luis_ST
Link to comment
Share on other sites

4 minutes ago, diesieben07 said:

Yes, the constructor would only initialize your ItemStackHandler.

Then the other stuff goes in getCapability, but only do it once using the null checks.

okay now this is my code:

package net.luis.cave.init;

import java.util.concurrent.Callable;

import net.luis.cave.api.capability.IModItemHandler;
import net.luis.cave.api.capability.ModItemStackHandler;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.EnderChestInventory;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT;
import net.minecraft.util.Direction;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.Capability.IStorage;
import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.common.capabilities.CapabilityManager;
import net.minecraftforge.common.capabilities.ICapabilitySerializable;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
import net.minecraftforge.items.wrapper.InvWrapper;

public class ModCapability {
	
	@CapabilityInject(IModItemHandler.class)
	public static Capability<IModItemHandler> CAPABILITY = null;
	
	public ModCapability() {
		
		CapabilityManager.INSTANCE.register(IModItemHandler.class, new Storage(), new Factory());
		
	}
	
	private static class Storage implements IStorage<IModItemHandler> {
		@Override
		public INBT writeNBT(Capability<IModItemHandler> capability, IModItemHandler instance, Direction side) {
			return null;
		}
		@Override
		public void readNBT(Capability<IModItemHandler> capability, IModItemHandler instance, Direction side, INBT nbt) {
		}
	}
	
	private static class Factory implements Callable<IModItemHandler> {
		@Override
		public IModItemHandler call() throws Exception {
			return null;
		}
	}
	
	public static class Provider implements ICapabilitySerializable<CompoundNBT> {
		
		private ModItemStackHandler inventory = new ModItemStackHandler();
		private CombinedInvWrapper invWrapper;
		private LazyOptional<CombinedInvWrapper> optional = LazyOptional.of(() -> invWrapper);
		private PlayerEntity player;
		
		public Provider(PlayerEntity playerIn) {
			
			this.player = playerIn;
			EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
			IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
			invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
			
		}
		
		@Override
		@SuppressWarnings({ "unchecked" })
		public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
			
			if (optional == null) {
				
				EnderChestInventory enderChestInventory = player.getInventoryEnderChest();
				IItemHandlerModifiable enderChestModifiable = new InvWrapper(enderChestInventory);
				invWrapper = new CombinedInvWrapper(enderChestModifiable, inventory);
				optional = LazyOptional.of(() -> invWrapper);
			}
			
			return cap == CAPABILITY && cap != null ? (LazyOptional<T>) optional : LazyOptional.empty();
			
		}

		@Override
		public CompoundNBT serializeNBT() {
			
			return inventory.serializeNBT();
			
		}

		@Override
		public void deserializeNBT(CompoundNBT nbt) {
			
			inventory.deserializeNBT(nbt);
			
		}
		
	}
	
}

 but i got the same error again

Link to comment
Share on other sites

14 hours ago, diesieben07 said:

Do you listen to what I say? Do you know basic Java?

I forgot to take it from the constructor and didn't look at the code anymore🤦‍♂️

what do I have to change because the enderchest's normal inventory is currently being opened?

this is the event i use:

@Mod.EventBusSubscriber(modid=Cave.Mod_Id, bus = Mod.EventBusSubscriber.Bus.FORGE)
public class OnEnderchest {
	
	@SubscribeEvent
	public static void PlayerInteract(PlayerInteractEvent.RightClickBlock event) {
		
		PlayerEntity player = event.getPlayer();
		BlockPos pos = event.getPos();
		World world = event.getWorld();
		BlockState state = world.getBlockState(pos);
		
		if (state.getBlock() == Blocks.ENDER_CHEST) {
			
			if (player instanceof ServerPlayerEntity) {
				
				event.setCanceled(true);
				ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player;
				NetworkHooks.openGui(serverPlayer, new SimpleNamedContainerProvider((id, inventory, playerIn) -> {
					return new ModEnderChestContainer(id, inventory);
				}, ModEnderChestContainer.getContainerName()), pos);
				
			}
			
		}

	}

}

and the gui has no slots and looks like this:

 

2021-02-17_17_27_32.png.09c593e6e4ec692c44a9d017504d30e5.png

Edited by Luis_ST
add event code
Link to comment
Share on other sites

14 hours ago, Luis_ST said:

what do I have to change because the enderchest's normal inventory is currently being opened?

I fixed it. the problem with the slots remains my gui has no slots.

and the screen is rendering weird but this is akulie the problem of the screenclass.

but what must i change that the gui has the slots

Link to comment
Share on other sites

46 minutes ago, loordgek said:

show your container class

the error must be in the container because I have already checked everything else.

i think i know where in the container i have to use the capability in the conatiner but i don't know how exactly.

I know that I have to use the PlayerEntity#getCapability method, but what do I have to do with it?

 

public class ModEnderChestContainer extends Container implements INamedContainerProvider {
	
	private static final ITextComponent CONTAINER_NAME = new TranslationTextComponent("container.enderchest");
	
	public ModEnderChestContainer(int id, PlayerInventory playerInventory, PacketBuffer buffer) {
		
		super(ModContainerType.ENDER_CHEST.get(), id);
		
	}
	
	public ModEnderChestContainer(int id, PlayerInventory playerInventory) {
		
		super(ModContainerType.ENDER_CHEST.get(), id);
		
	}

	@Override
	public Container createMenu(int id, PlayerInventory playerInventoryIn, PlayerEntity player) {
		
		return ChestContainer.createGeneric9X3(id, playerInventoryIn);
		
	}

	@Override
	public ITextComponent getDisplayName() {
		
		return CONTAINER_NAME;
		
	}

	@Override
	public boolean canInteractWith(PlayerEntity playerIn) {
		
		return true;
		
	}

	public static ITextComponent getContainerName() {
		
		return CONTAINER_NAME;
		
	}

}

 

Link to comment
Share on other sites

27 minutes ago, diesieben07 said:
  • You return a ChestContainer in createMenu, but your container class is never used as an INamedContainerProvider, so this method will never be called.
  • Your container does not add any slots. I wonder why it doesn't have any slots...

can i create a container like a chest?

since the constructor of the chest contains an IInventory but I don't have one (like a chest has the tileentity) or do I need my capability there

Edited by Luis_ST
Link to comment
Share on other sites

10 minutes ago, diesieben07 said:

Sure, just add the slots in the same fashion.

this is now my container class:

Do I need the IInventory in the second constructor? If so, where do I get the inventory from when I open a container (from my Capability). if not what do I have to use instead

public class ModEnderChestContainer extends Container {
	
	public ModEnderChestContainer(int id, PlayerInventory playerInventoryIn, PacketBuffer extraData) {
		
		super(ModContainerType.ENDER_CHEST.get(), id);
		
	}

	public ModEnderChestContainer(int id, PlayerInventory playerInventoryIn, IInventory inventory) {
		
		super(ModContainerType.ENDER_CHEST.get(), id);
		assertInventorySize(inventory, 6 * 9);
		int i = (6 - 4) * 18;

		for (int j = 0; j < 6; ++j) {
			for (int k = 0; k < 9; ++k) {
				this.addSlot(new Slot(inventory, k + j * 9, 8 + k * 18, 18 + j * 18));
			}
		}

		for (int l = 0; l < 3; ++l) {
			for (int j1 = 0; j1 < 9; ++j1) {
				this.addSlot(new Slot(playerInventoryIn, j1 + l * 9 + 9, 8 + j1 * 18, 103 + l * 18 + i));
			}
		}

		for (int i1 = 0; i1 < 9; ++i1) {
			this.addSlot(new Slot(playerInventoryIn, i1, 8 + i1 * 18, 161 + i));
		}

	}

	public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) {
		
		ItemStack itemstack = ItemStack.EMPTY;
		Slot slot = this.inventorySlots.get(index);
		
		if (slot != null && slot.getHasStack()) {
			
			ItemStack itemstack1 = slot.getStack();
			itemstack = itemstack1.copy();
			
			if (index < 6 * 9) {
				
				if (!this.mergeItemStack(itemstack1, 6 * 9, this.inventorySlots.size(), true)) {
					
					return ItemStack.EMPTY;
					
				}
				
			} else if (!this.mergeItemStack(itemstack1, 0, 6 * 9, false)) {
				
				return ItemStack.EMPTY;
				
			}

			if (itemstack1.isEmpty()) {
				
				slot.putStack(ItemStack.EMPTY);
				
			} else {
				
				slot.onSlotChanged();
				
			}
			
		}

		return itemstack;
		
	}

	@Override
	public boolean canInteractWith(PlayerEntity playerIn) {
		
		return true;
		
	}

}

 

Edited by Luis_ST
Link to comment
Share on other sites

I have to open the container twice, once on the client and on the server?

and if so I have to check with world.isRemote (client) and !world.isRemote (server)

 

1 hour ago, diesieben07 said:

On the server you create the container directly in the INamedContainerProvider, so just pass in your IItemHandlerModifiable.

and my IItemHandlerModifiable I get from the player with getCapability?

 

1 hour ago, diesieben07 said:

On the client the container will be created by your IContainerFactory, which needs to do the same thing and pass in your IItemHandlerModifiable.

Whats the best way to do this?

 

 

 

 

Edited by Luis_ST
Link to comment
Share on other sites

1 hour ago, diesieben07 said:

On the server you create the container directly in the INamedContainerProvider, so just pass in your IItemHandlerModifiable.

On the client the container will be created by your IContainerFactory, which needs to do the same thing and pass in your IItemHandlerModifiable

that is what I have already created, what do I have to change here so that it works:

is that server or client side? and how created i the other side?

				ServerPlayerEntity serverPlayer = (ServerPlayerEntity) player;
				IItemHandlerModifiable itemHandlerModifiable = (IModItemHandler) serverPlayer.getCapability(ModCapability.CAPABILITY);
				NetworkHooks.openGui(serverPlayer, new SimpleNamedContainerProvider((id, inventory, playerIn) -> {
					return new ModEnderChestContainer(id, inventory, itemHandlerModifiable);
				}, CONTAINER_NAME), pos);

 

Link to comment
Share on other sites

30 minutes ago, diesieben07 said:

This is server side (at least the code will crash on the client). The client will call the IContainerFactory, which needs to get the capability from the player and return the container.

if i understand correctly i have to call the OContainerFactory in my code

37 minutes ago, Luis_ST said:

what do I have to change here so that it works:

? beacuse i got an error: "The constructor ModEnderChestContainer(int, PlayerInventory, IItemHandlerModifiable) is undefined"

do i have to set a cast?

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

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

×
×
  • Create New...

Important Information

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