Jump to content

[1.14.4] Tile entity is missing a mapping.


Kenneth201998

Recommended Posts

I am so close to creating a custom furnace block but I ran into this error:

 

[32m[12:36:44] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game...
[m[32m[12:36:44] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Test Area 010'/minecraft:overworld
[m[1;31m[12:36:44] [Server thread/ERROR] [minecraft/Chunk]: A TileEntity type com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity has thrown an exception trying to write state. It will not persist, Report this to the mod author
java.lang.RuntimeException: class com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity is missing a mapping! This is a bug!
	at net.minecraft.tileentity.TileEntity.writeInternal(TileEntity.java:72) ~[?:?] {re:classloading}
	at net.minecraft.tileentity.TileEntity.write(TileEntity.java:66) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.Chunk.func_223134_j(Chunk.java:444) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.storage.ChunkSerializer.write(ChunkSerializer.java:303) ~[?:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.func_219229_a(ChunkManager.java:677) ~[?:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.lambda$save$9(ChunkManager.java:352) ~[?:?] {re:classloading}
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.Iterator.forEachRemaining(Unknown Source) [?:1.8.0_201] {}
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) [?:1.8.0_201] {}
	at net.minecraft.world.server.ChunkManager.save(ChunkManager.java:349) [?:?] {re:classloading}
	at net.minecraft.world.server.ServerChunkProvider.save(ServerChunkProvider.java:309) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.save(ServerWorld.java:770) [?:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.save(MinecraftServer.java:528) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:113) [?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:646) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] {}
[m[36m[12:36:45] [Server thread/DEBUG] [ne.mi.fm.FMLWorldPersistenceHook/WP]: Gathering id map for writing to world save Test Area 010
[m[32m[12:36:51] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Dev lost connection: Disconnected
[m[32m[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Dev left the game
[m[32m[12:36:51] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Stopping singleplayer server as player logged out
[m[32m[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server
[m[32m[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players
[m[32m[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds
[m[32m[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Test Area 010'/minecraft:overworld
[m[1;31m[12:36:51] [Server thread/ERROR] [minecraft/Chunk]: A TileEntity type com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity has thrown an exception trying to write state. It will not persist, Report this to the mod author
java.lang.RuntimeException: class com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity is missing a mapping! This is a bug!
	at net.minecraft.tileentity.TileEntity.writeInternal(TileEntity.java:72) ~[?:?] {re:classloading}
	at net.minecraft.tileentity.TileEntity.write(TileEntity.java:66) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.Chunk.func_223134_j(Chunk.java:444) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.storage.ChunkSerializer.write(ChunkSerializer.java:303) ~[?:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.func_219229_a(ChunkManager.java:677) ~[?:?] {re:classloading}
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) [?:1.8.0_201] {}
	at net.minecraft.world.server.ChunkManager.save(ChunkManager.java:336) [?:?] {re:classloading}
	at net.minecraft.world.server.ServerChunkProvider.save(ServerChunkProvider.java:309) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.save(ServerWorld.java:770) [?:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.save(MinecraftServer.java:528) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:571) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:235) [?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:685) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] {}
[m[32m[12:36:51] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 010): All chunks are saved
[m[36m[12:36:51] [Server thread/DEBUG] [ne.mi.fm.FMLWorldPersistenceHook/WP]: Gathering id map for writing to world save Test Area 010
[m[32m[12:36:51] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 010): All chunks are saved
[m[32m[12:36:52] [Client thread/INFO] [minecraft/Minecraft]: Stopping!
[m

 

It does not link me to any specific line of code I created so I can't find what went wrong. Can someone please help me find out what I might be missing?

 

package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import javax.annotation.Nullable;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;

public class CabinFurnaceTileEntity extends TileEntity implements INamedContainerProvider {
	
	public CabinFurnaceTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
	}
	@Nullable
	@Override
	public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) {
		return new CabinFurnaceContainer(p_createMenu_1_, world, pos, p_createMenu_2_, p_createMenu_3_);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("cabinfurnace");
	}
}

 

Link to comment
Share on other sites

Problem is I did register them:

 

@SubscribeEvent
public static void registerTileEntities (final RegistryEvent.Register<TileEntityType<?>> event) {
	event.getRegistry().register(TileEntityType.Builder.create(CabinFurnaceTileEntity::new, BlockList.cabin_furnace).build(null).setRegistryName("cabin_furnace"));
}

 

Link to comment
Share on other sites

4 minutes ago, diesieben07 said:

Where do you set this field?

package com.log_cabin_blocks.objects.blocks;

import com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceContainer;
import com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity;

import net.minecraft.block.Block;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.tileentity.TileEntityType;

public class BlockList {
	public static Block oak_log_wall_type_0;
	public static Block oak_log_wall_type_1;
	public static Block oak_log_corner;
	public static Block oak_cabin_door;
	public static Block oak_window_frame;
	
	public static Block water_pump;
	
	public static Block cabin_furnace;
	public static TileEntityType<CabinFurnaceTileEntity> cabin_furnace_tile_entity;
	public static ContainerType<CabinFurnaceContainer> cabin_furnace_container;
}

I placed it in the blockslist class... Saw someone else do that in their mod.

Edited by Kenneth201998
Link to comment
Share on other sites

2 minutes ago, diesieben07 said:

I mean where do you set the field's value.

Now that you ask, I don't think I did. I placed the field without a set value in my blockslist class. Do you know what the set value might look like?

I posted the blocklist class in one of the replies above.

Edited by Kenneth201998
Link to comment
Share on other sites

I have tried:

package com.log_cabin_blocks.objects.blocks;

import com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceContainer;
import com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnaceTileEntity;

import net.minecraft.block.Block;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.registries.ObjectHolder;

public class BlockList {
	public static Block oak_log_wall_type_0;
	public static Block oak_log_wall_type_1;
	public static Block oak_log_corner;
	public static Block oak_cabin_door;
	public static Block oak_window_frame;
	
	public static Block water_pump;
	
	@ObjectHolder("lcb:cabin_furnace")
	public static Block cabin_furnace;
	
	@ObjectHolder("lcb:cabin_furnace")
	public static TileEntityType<CabinFurnaceTileEntity> cabin_furnace_tile_entity;
	
	@ObjectHolder("lcb:cabin_furnace")
	public static ContainerType<CabinFurnaceContainer> cabin_furnace_container;
}

 

but now nothing happens when I right click on the block

Can you show me what setting the tile entity type would look like?

Link to comment
Share on other sites

11 minutes ago, diesieben07 said:

If your mod ID really is lcb you need to change it immediately. Mod IDs need to be unique. "lcb" is not unique.

 

Show your right click code.

I originally had:

@Override
public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
	player.openContainer(state.getContainer(worldIn, pos));
	return true;
}

but then changed it to:

@Override
	public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
	TileEntity te = worldIn.getTileEntity(pos);
	if(te instanceof CabinFurnaceTileEntity) {
		player.openContainer((INamedContainerProvider) te);
	}
	return true;
}

But now get a new error:

[m[1;31m[13:49:12] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server
java.lang.RuntimeException: Slot 1 not in valid range - [0,1)
	at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:217) ~[?:?] {re:classloading}
	at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73) ~[?:?] {re:classloading}
	at net.minecraftforge.items.SlotItemHandler.getStack(SlotItemHandler.java:54) ~[?:?] {re:classloading}
	at net.minecraft.inventory.container.Container.getInventory(Container.java:117) ~[?:?] {re:classloading}
	at net.minecraft.inventory.container.Container.addListener(Container.java:97) ~[?:?] {re:classloading}
	at net.minecraft.entity.player.ServerPlayerEntity.openContainer(ServerPlayerEntity.java:866) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace.CabinFurnace.onBlockActivated(CabinFurnace.java:64) ~[?:?] {re:classloading}
	at net.minecraft.block.BlockState.onBlockActivated(BlockState.java:296) ~[?:?] {re:classloading}
	at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:332) ~[?:?] {re:classloading}
	at net.minecraft.network.play.ServerPlayNetHandler.processTryUseItemOnBlock(ServerPlayNetHandler.java:870) ~[?:?] {re:classloading}
	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:42) ~[?:?] {re:classloading}
	at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.processPacket(CPlayerTryUseItemOnBlockPacket.java:12) ~[?:?] {re:classloading}
	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:20) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) [?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:726) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:720) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.drainTasks(ThreadTaskExecutor.java:97) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:705) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:650) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] {}
[m[1;31m[13:49:12] [Client thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Client
java.lang.NullPointerException: null
	at com.log_cabin_blocks.LogCabinBlocks$RegistryEvents.lambda$1(LogCabinBlocks.java:108) ~[main/:?] {re:classloading}
	at net.minecraftforge.fml.network.IContainerFactory.create(IContainerFactory.java:34) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading}
	at net.minecraft.inventory.container.ContainerType.create(ContainerType.java:46) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.client.gui.ScreenManager$IScreenFactory.createScreen(ScreenManager.java:113) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.gui.ScreenManager.lambda$openScreen$0(ScreenManager.java:42) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at java.util.Optional.ifPresent(Unknown Source) ~[?:1.8.0_201] {}
	at net.minecraft.client.gui.ScreenManager.openScreen(ScreenManager.java:42) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.network.play.ClientPlayNetHandler.func_217272_a(ClientPlayNetHandler.java:1094) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.network.play.server.SOpenWindowPacket.processPacket(SOpenWindowPacket.java:47) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading}
	at net.minecraft.network.play.server.SOpenWindowPacket.processPacket(SOpenWindowPacket.java:14) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading}
	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:19) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.run(ThreadTaskExecutor.java:140) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.RecursiveEventLoop.run(RecursiveEventLoop.java:22) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(ThreadTaskExecutor.java:110) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.drainTasks(ThreadTaskExecutor.java:97) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:896) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.run(Minecraft.java:384) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:128) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_201] {}
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_201] {}
	at net.minecraftforge.userdev.FMLUserdevClientLaunchProvider.lambda$launchService$0(FMLUserdevClientLaunchProvider.java:55) ~[forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-4.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-4.1.0.jar:?] {}
	at net.minecraftforge.userdev.LaunchTesting.main(LaunchTesting.java:101) [forge-1.14.4-28.1.70_mapped_snapshot_20190719-1.14.3-recomp.jar:?] {}
[m[32m[13:49:13] [Server thread/INFO] [minecraft/IntegratedServer]: Saving and pausing game...
[m[32m[13:49:13] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Test Area 014'/minecraft:overworld
[m[36m[13:49:14] [Server thread/DEBUG] [ne.mi.fm.FMLWorldPersistenceHook/WP]: Gathering id map for writing to world save Test Area 014
[m[32m[13:49:14] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Dev lost connection: Disconnected
[m[32m[13:49:14] [Server thread/INFO] [minecraft/MinecraftServer]: Dev left the game
[m[32m[13:49:14] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Stopping singleplayer server as player logged out
[m[32m[13:49:14] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server
[m[32m[13:49:14] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players
[m[32m[13:49:14] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds
[m[32m[13:49:14] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Test Area 014'/minecraft:overworld
[m[32m[13:49:15] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 014): All chunks are saved
[m[36m[13:49:15] [Server thread/DEBUG] [ne.mi.fm.FMLWorldPersistenceHook/WP]: Gathering id map for writing to world save Test Area 014
[m[32m[13:49:15] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 014): All chunks are saved
[m[32m[13:49:37] [Client thread/INFO] [minecraft/Minecraft]: Stopping!
[m

 

Edited by Kenneth201998
Link to comment
Share on other sites

Here is also the code to the tile entity:

package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.INBTSerializable;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class CabinFurnaceTileEntity extends TileEntity implements INamedContainerProvider {
	
	private LazyOptional<IItemHandler> handler = LazyOptional.of(this::createHandler);
	
	
	@SuppressWarnings("unchecked")
	@Override
	public void read(CompoundNBT tag) {
		CompoundNBT invTag = tag.getCompound("inv");
		handler.ifPresent(h -> ((INBTSerializable<CompoundNBT>)h).deserializeNBT(invTag));
		super.read(tag);
	}
	@SuppressWarnings("unchecked")
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		handler.ifPresent(h -> {
			CompoundNBT compound = ((INBTSerializable<CompoundNBT>)h).serializeNBT();
			tag.put("inv", compound);
		});
		return super.write(tag);
	}
	public CabinFurnaceTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
	}
	private IItemHandler createHandler () {
		return new ItemStackHandler(1) {
			@Override
			protected void onContentsChanged(int slot) {
				markDirty();
			}
			@Override
			public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
				return stack;
			}
		};
	}
	@Override
	public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
		if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
			return handler.cast();
		}
		return super.getCapability(cap, side);
	}
	@Nullable
	@Override
	public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) {
		return new CabinFurnaceContainer(p_createMenu_1_, world, pos, p_createMenu_2_, p_createMenu_3_);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("cabinfurnace");
	}
}

which I based off the code here:

 

https://github.com/McJty/YouTubeModding14/blob/master/src/main/java/com/mcjty/mytutorial/blocks/FirstBlockTile.java

Link to comment
Share on other sites

Ok, so I made some changes.

Here is the code as of now for the tile entity and the container:

package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.INBTSerializable;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class CabinFurnaceTileEntity extends TileEntity implements INamedContainerProvider {
	
	private LazyOptional<IItemHandler> handler = LazyOptional.of(this::createHandler);
	
	@SuppressWarnings("unchecked")
	@Override
	public void read(CompoundNBT tag) {
		CompoundNBT invTag = tag.getCompound("inv");
        handler.ifPresent(h -> ((INBTSerializable<CompoundNBT>) h).deserializeNBT(invTag));
        super.read(tag);
	}
	@SuppressWarnings("unchecked")
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		handler.ifPresent(h -> {
            CompoundNBT compound = ((INBTSerializable<CompoundNBT>) h).serializeNBT();
            tag.put("inv", compound);
        });
        return super.write(tag);
	}
	public CabinFurnaceTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
	}
	private IItemHandler createHandler() {
		return new ItemStackHandler(3) {
			@Override
			protected void onContentsChanged(int slot) {
				markDirty();
			}
			@Override
            public boolean isItemValid(int slot, @Nonnull ItemStack stack) {
				if(slot != 2) {
                	return true;
                } else {
                	return false;
                }
            }
            @Nonnull
            @Override
            public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
            	return stack;
            }
        };
    }
	@Nonnull
    @Override
    public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
        if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
            return handler.cast();
        }
        return super.getCapability(cap, side);
    }
	@Nullable
	@Override
	public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) {
		return new CabinFurnaceContainer(p_createMenu_1_, world, pos, p_createMenu_2_, p_createMenu_3_);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("cabinfurnace");
	}
}

 

package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.SlotItemHandler;

public class CabinFurnaceContainer extends Container {
	
	private TileEntity tile_entity;
	
	public CabinFurnaceContainer(int id, World world, BlockPos pos, PlayerInventory player_inventory, PlayerEntity player) {
		super(BlockList.cabin_furnace_container, id);
		this.tile_entity = world.getTileEntity(pos);
		
		this.tile_entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).ifPresent(h -> {
			this.addSlot(new SlotItemHandler(h, 0, 26, 21));
			this.addSlot(new SlotItemHandler(h, 1, 26, 48));
			this.addSlot(new SlotItemHandler(h, 2, 80, 35));
		});
		int si;
		int sj;
		for (si = 0; si < 3; ++si) {
			for (sj = 0; sj < 9; ++sj) {
				this.addSlot(new Slot(player_inventory, sj + (si + 1) * 9, 0 + 8 + sj * 18, 0 + 84 + si * 18));
			}
		}
		for (si = 0; si < 9; ++si) {
			this.addSlot(new Slot(player_inventory, si, 0 + 8 + si * 18, 0 + 142));
		}
	}
	@Override
	public boolean canInteractWith(PlayerEntity playerIn) {
		return true;
	}
	@Override
	public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) {
		ItemStack itemstack = ItemStack.EMPTY;
		Slot slot = (Slot) this.inventorySlots.get(index);
		if (slot != null && slot.getHasStack()) {
			ItemStack itemstack1 = slot.getStack();
			itemstack = itemstack1.copy();
			if (index < 3) {
				if (!this.mergeItemStack(itemstack1, 3, this.inventorySlots.size(), true)) {
					return ItemStack.EMPTY;
				}
				slot.onSlotChange(itemstack1, itemstack);
			} else if (!this.mergeItemStack(itemstack1, 0, 3, false)) {
				if (index < 3 + 27) {
					if (!this.mergeItemStack(itemstack1, 3 + 27, this.inventorySlots.size(), true)) {
						return ItemStack.EMPTY;
					}
				} else {
					if (!this.mergeItemStack(itemstack1, 3, 3 + 27, false)) {
						return ItemStack.EMPTY;
					}
				}
				return ItemStack.EMPTY;
			}
			if (itemstack1.getCount() == 0) {
				slot.putStack(ItemStack.EMPTY);
			} else {
				slot.onSlotChanged();
			}
			if (itemstack1.getCount() == itemstack.getCount()) {
				return ItemStack.EMPTY;
			}
			slot.onTake(playerIn, itemstack1);
		}
		return itemstack;
	}
	protected boolean mergeItemStack(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) {
		boolean flag = false;
		int i = startIndex;
		if (reverseDirection) {
			i = endIndex - 1;
		}
		if (stack.isStackable()) {
			while (!stack.isEmpty()) {
				if (reverseDirection) {
					if (i < startIndex) {
						break;
					}
				} else if (i >= endIndex) {
					break;
				}
				Slot slot = this.inventorySlots.get(i);
				ItemStack itemstack = slot.getStack();
				if (slot.isItemValid(itemstack) && !itemstack.isEmpty() && areItemsAndTagsEqual(stack, itemstack)) {
					int j = itemstack.getCount() + stack.getCount();
					int maxSize = Math.min(slot.getSlotStackLimit(), stack.getMaxStackSize());
					if (j <= maxSize) {
						stack.setCount(0);
						itemstack.setCount(j);
						slot.putStack(itemstack);
						flag = true;
					} else if (itemstack.getCount() < maxSize) {
						stack.shrink(maxSize - itemstack.getCount());
						itemstack.setCount(maxSize);
						slot.putStack(itemstack);
						flag = true;
					}
				}
				if (reverseDirection) {
					--i;
				} else {
					++i;
				}
			}
		}
		if (!stack.isEmpty()) {
			if (reverseDirection) {
				i = endIndex - 1;
			} else {
				i = startIndex;
			}
			while (true) {
				if (reverseDirection) {
					if (i < startIndex) {
						break;
					}
				} else if (i >= endIndex) {
					break;
				}
				Slot slot1 = this.inventorySlots.get(i);
				ItemStack itemstack1 = slot1.getStack();
				if (itemstack1.isEmpty() && slot1.isItemValid(stack)) {
					if (stack.getCount() > slot1.getSlotStackLimit()) {
						slot1.putStack(stack.split(slot1.getSlotStackLimit()));
					} else {
						slot1.putStack(stack.split(stack.getCount()));
					}
					slot1.onSlotChanged();
					flag = true;
					break;
				}
				if (reverseDirection) {
					--i;
				} else {
					++i;
				}
			}
		}
		return flag;
	}
	@Override
	public void onContainerClosed(PlayerEntity playerIn) {
		super.onContainerClosed(playerIn);
	}
}

 

The block GUI now opens.

But the only way I can put item stacks in the first two slots is by shift clicking them. Any fixes?

Link to comment
Share on other sites

7 minutes ago, Kenneth201998 said:

Ok, so I made some changes.

Here is the code as of now for the tile entity and the container:


package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.INBTSerializable;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class CabinFurnaceTileEntity extends TileEntity implements INamedContainerProvider {
	
	private LazyOptional<IItemHandler> handler = LazyOptional.of(this::createHandler);
	
	@SuppressWarnings("unchecked")
	@Override
	public void read(CompoundNBT tag) {
		CompoundNBT invTag = tag.getCompound("inv");
        handler.ifPresent(h -> ((INBTSerializable<CompoundNBT>) h).deserializeNBT(invTag));
        super.read(tag);
	}
	@SuppressWarnings("unchecked")
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		handler.ifPresent(h -> {
            CompoundNBT compound = ((INBTSerializable<CompoundNBT>) h).serializeNBT();
            tag.put("inv", compound);
        });
        return super.write(tag);
	}
	public CabinFurnaceTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
	}
	private IItemHandler createHandler() {
		return new ItemStackHandler(3) {
			@Override
			protected void onContentsChanged(int slot) {
				markDirty();
			}
			@Override
            public boolean isItemValid(int slot, @Nonnull ItemStack stack) {
				if(slot != 2) {
                	return true;
                } else {
                	return false;
                }
            }
            @Nonnull
            @Override
            public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
            	return stack;
            }
        };
    }
	@Nonnull
    @Override
    public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) {
        if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
            return handler.cast();
        }
        return super.getCapability(cap, side);
    }
	@Nullable
	@Override
	public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) {
		return new CabinFurnaceContainer(p_createMenu_1_, world, pos, p_createMenu_2_, p_createMenu_3_);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("cabinfurnace");
	}
}

 


package com.log_cabin_blocks.objects.blocks.utility_blocks.cooking_utilities.cabin_furnace;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.SlotItemHandler;

public class CabinFurnaceContainer extends Container {
	
	private TileEntity tile_entity;
	
	public CabinFurnaceContainer(int id, World world, BlockPos pos, PlayerInventory player_inventory, PlayerEntity player) {
		super(BlockList.cabin_furnace_container, id);
		this.tile_entity = world.getTileEntity(pos);
		
		this.tile_entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY).ifPresent(h -> {
			this.addSlot(new SlotItemHandler(h, 0, 26, 21));
			this.addSlot(new SlotItemHandler(h, 1, 26, 48));
			this.addSlot(new SlotItemHandler(h, 2, 80, 35));
		});
		int si;
		int sj;
		for (si = 0; si < 3; ++si) {
			for (sj = 0; sj < 9; ++sj) {
				this.addSlot(new Slot(player_inventory, sj + (si + 1) * 9, 0 + 8 + sj * 18, 0 + 84 + si * 18));
			}
		}
		for (si = 0; si < 9; ++si) {
			this.addSlot(new Slot(player_inventory, si, 0 + 8 + si * 18, 0 + 142));
		}
	}
	@Override
	public boolean canInteractWith(PlayerEntity playerIn) {
		return true;
	}
	@Override
	public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) {
		ItemStack itemstack = ItemStack.EMPTY;
		Slot slot = (Slot) this.inventorySlots.get(index);
		if (slot != null && slot.getHasStack()) {
			ItemStack itemstack1 = slot.getStack();
			itemstack = itemstack1.copy();
			if (index < 3) {
				if (!this.mergeItemStack(itemstack1, 3, this.inventorySlots.size(), true)) {
					return ItemStack.EMPTY;
				}
				slot.onSlotChange(itemstack1, itemstack);
			} else if (!this.mergeItemStack(itemstack1, 0, 3, false)) {
				if (index < 3 + 27) {
					if (!this.mergeItemStack(itemstack1, 3 + 27, this.inventorySlots.size(), true)) {
						return ItemStack.EMPTY;
					}
				} else {
					if (!this.mergeItemStack(itemstack1, 3, 3 + 27, false)) {
						return ItemStack.EMPTY;
					}
				}
				return ItemStack.EMPTY;
			}
			if (itemstack1.getCount() == 0) {
				slot.putStack(ItemStack.EMPTY);
			} else {
				slot.onSlotChanged();
			}
			if (itemstack1.getCount() == itemstack.getCount()) {
				return ItemStack.EMPTY;
			}
			slot.onTake(playerIn, itemstack1);
		}
		return itemstack;
	}
	protected boolean mergeItemStack(ItemStack stack, int startIndex, int endIndex, boolean reverseDirection) {
		boolean flag = false;
		int i = startIndex;
		if (reverseDirection) {
			i = endIndex - 1;
		}
		if (stack.isStackable()) {
			while (!stack.isEmpty()) {
				if (reverseDirection) {
					if (i < startIndex) {
						break;
					}
				} else if (i >= endIndex) {
					break;
				}
				Slot slot = this.inventorySlots.get(i);
				ItemStack itemstack = slot.getStack();
				if (slot.isItemValid(itemstack) && !itemstack.isEmpty() && areItemsAndTagsEqual(stack, itemstack)) {
					int j = itemstack.getCount() + stack.getCount();
					int maxSize = Math.min(slot.getSlotStackLimit(), stack.getMaxStackSize());
					if (j <= maxSize) {
						stack.setCount(0);
						itemstack.setCount(j);
						slot.putStack(itemstack);
						flag = true;
					} else if (itemstack.getCount() < maxSize) {
						stack.shrink(maxSize - itemstack.getCount());
						itemstack.setCount(maxSize);
						slot.putStack(itemstack);
						flag = true;
					}
				}
				if (reverseDirection) {
					--i;
				} else {
					++i;
				}
			}
		}
		if (!stack.isEmpty()) {
			if (reverseDirection) {
				i = endIndex - 1;
			} else {
				i = startIndex;
			}
			while (true) {
				if (reverseDirection) {
					if (i < startIndex) {
						break;
					}
				} else if (i >= endIndex) {
					break;
				}
				Slot slot1 = this.inventorySlots.get(i);
				ItemStack itemstack1 = slot1.getStack();
				if (itemstack1.isEmpty() && slot1.isItemValid(stack)) {
					if (stack.getCount() > slot1.getSlotStackLimit()) {
						slot1.putStack(stack.split(slot1.getSlotStackLimit()));
					} else {
						slot1.putStack(stack.split(stack.getCount()));
					}
					slot1.onSlotChanged();
					flag = true;
					break;
				}
				if (reverseDirection) {
					--i;
				} else {
					++i;
				}
			}
		}
		return flag;
	}
	@Override
	public void onContainerClosed(PlayerEntity playerIn) {
		super.onContainerClosed(playerIn);
	}
}

 

The block GUI now opens.

But the only way I can put item stacks in the first two slots is by shift clicking them. Any fixes?

Edit:

Changed code in Tile entity insert item to :

 

@Nonnull
            @Override
            public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
            	return super.insertItem(slot, stack, simulate);
            }

 and that seemed to fix it.

Link to comment
Share on other sites

20 minutes ago, Kenneth201998 said:

and that seemed to fix it.

Why are you overriding a function that you do nothing but call the existing implementation?

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

 

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

 

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

Link to comment
Share on other sites

Made major changes:

 

Here is the tile entity:

package com.log_cabin_blocks.objects.blocks.workstations.furnace_station;

import com.log_cabin_blocks.LogCabinBlocks;
import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fml.network.NetworkHooks;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class FurnaceStationTileEntity extends TileEntity implements ITickableTileEntity, INamedContainerProvider {
	
	protected ItemStackHandler slots = new ItemStackHandler();
	private final LazyOptional<IItemHandler> slots_holder = LazyOptional.of(() -> slots);
	
	public FurnaceStationTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
		slots = new ItemStackHandler();
		slots.setSize(3);
	}
	
	@Override
	public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
		if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
			return slots_holder.cast();
		}
		return super.getCapability(cap, side);
	}
	
	@Override
	public void read(CompoundNBT tag) {
		super.read(tag);
		slots.deserializeNBT(tag.getCompound("kenmodlcb:slots"));
	}
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		super.write(tag);
		tag.put("kenmodlcb:slots", slots.serializeNBT());
		return tag;
	}

	@Override
	public void tick() {
		LogCabinBlocks.debugString("TEST");
	}
	@Override
	public Container createMenu(int id, PlayerInventory player_inventory, PlayerEntity player) {
		return new FurnaceStationContainer(id, player_inventory, slots, this);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("furnacestation");
	}
	
	public void openGUI (ServerPlayerEntity player) {
		if(!world.isRemote) {
			NetworkHooks.openGui(player, this, getPos());
		}
	}
}

 

But it still gives the missing mapping error:

 

[1;31m[16:13:32] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
net.minecraft.crash.ReportedException: Ticking block entity
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:869) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:800) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:646) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] {}
Caused by: java.lang.NullPointerException
	at net.minecraft.world.World.func_217391_K(World.java:670) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:370) ~[?:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:865) ~[?:?] {re:classloading,pl:accesstransformer:B}
	... 4 more
[m[1;31m[16:13:32] [Server thread/ERROR] [minecraft/MinecraftServer]: This crash report has been saved to: C:\Users\carri\OneDrive\Desktop\Forge Mods\11_54 AM 11_19_2019\Log_Cabin_Blocks\run\.\crash-reports\crash-2019-11-22_16.13.32-server.txt
[m[32m[16:13:32] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server
[m[32m[16:13:32] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players
[m[32m[16:13:32] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Dev lost connection: Disconnected
[m[32m[16:13:32] [Server thread/INFO] [minecraft/MinecraftServer]: Dev left the game
[m[32m[16:13:32] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Stopping singleplayer server as player logged out
[m[32m[16:13:32] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds
[m[32m[16:13:32] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'Test Area 033'/minecraft:overworld
[m[1;31m[16:13:32] [Server thread/ERROR] [minecraft/Chunk]: A TileEntity type com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStationTileEntity has thrown an exception trying to write state. It will not persist, Report this to the mod author
java.lang.RuntimeException: class com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStationTileEntity is missing a mapping! This is a bug!
	at net.minecraft.tileentity.TileEntity.writeInternal(TileEntity.java:72) ~[?:?] {re:classloading}
	at net.minecraft.tileentity.TileEntity.write(TileEntity.java:66) ~[?:?] {re:classloading}
	at com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStationTileEntity.write(FurnaceStationTileEntity.java:50) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.Chunk.func_223134_j(Chunk.java:444) ~[?:?] {re:classloading}
	at net.minecraft.world.chunk.storage.ChunkSerializer.write(ChunkSerializer.java:303) ~[?:?] {re:classloading}
	at net.minecraft.world.server.ChunkManager.func_219229_a(ChunkManager.java:677) ~[?:?] {re:classloading}
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) [?:1.8.0_201] {}
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) [?:1.8.0_201] {}
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) [?:1.8.0_201] {}
	at net.minecraft.world.server.ChunkManager.save(ChunkManager.java:336) [?:?] {re:classloading}
	at net.minecraft.world.server.ServerChunkProvider.save(ServerChunkProvider.java:309) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.world.server.ServerWorld.save(ServerWorld.java:770) [?:?] {re:classloading}
	at net.minecraft.server.MinecraftServer.save(MinecraftServer.java:528) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:571) [?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:235) [?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:685) [?:?] {re:classloading,pl:accesstransformer:B}
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_201] {}
[m[32m[16:13:33] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 033): All chunks are saved
[m[36m[16:13:33] [Server thread/DEBUG] [ne.mi.fm.FMLWorldPersistenceHook/WP]: Gathering id map for writing to world save Test Area 033
[m[32m[16:13:33] [Server thread/INFO] [minecraft/ChunkManager]: ThreadedAnvilChunkStorage (Test Area 033): All chunks are saved
[m

 

It crashes at the exact same time I place the block.

Any fixes?

Link to comment
Share on other sites

package com.log_cabin_blocks;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.log_cabin_blocks.objects.blocks.BlockList;
import com.log_cabin_blocks.objects.blocks.doors.KenmodDoorBase;
import com.log_cabin_blocks.objects.blocks.utility_blocks.water_utility_blocks.WaterPump;
import com.log_cabin_blocks.objects.blocks.walls.LogWall;
import com.log_cabin_blocks.objects.blocks.walls.LogWallCorner;
import com.log_cabin_blocks.objects.blocks.window_frames.WindowFrame;
import com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStation;
import com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStationContainer;
import com.log_cabin_blocks.objects.blocks.workstations.furnace_station.FurnaceStationTileEntity;
import com.log_cabin_blocks.objects.items.ItemList;
import com.log_cabin_blocks.proxy.ClientProxy;
import com.log_cabin_blocks.proxy.IProxy;
import com.log_cabin_blocks.proxy.ServerProxy;

import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.ToolType;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.network.NetworkRegistry;
import net.minecraftforge.fml.network.simple.SimpleChannel;

@Mod("kenmodlcb")
public class LogCabinBlocks {
	
	public static LogCabinBlocks instance;
	public static final String modid = "kenmodlcb";
	private static final Logger logger = LogManager.getLogger(modid);
	
	private static final String PROTOCOL_VERSION = "1";
	public static final SimpleChannel PACKET_HANDLER = NetworkRegistry.newSimpleChannel(new ResourceLocation("kenmod", "kenmod"), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals);
	public static IProxy proxy = DistExecutor.runForDist(() -> () -> new ClientProxy(), () -> () -> new ServerProxy());
	
	public LogCabinBlocks () {
		instance = this;
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
		FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientRegistries);
		MinecraftForge.EVENT_BUS.register(this);
	}
	
	private void setup (final FMLCommonSetupEvent event) {
		proxy.init();
		debugString("Settup method registered...");
	}
	
	private void clientRegistries (final FMLClientSetupEvent event) {
		debugString("Client registries method registered...");
	}
	
	@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
	public static class RegistryEvents {
		@SubscribeEvent
		public static void registerItems(final RegistryEvent.Register<Item> event) {
			event.getRegistry().registerAll(
					ItemList.oak_log_wall_type_0 = new BlockItem(BlockList.oak_log_wall_type_0, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(BlockList.oak_log_wall_type_0.getRegistryName()),
					ItemList.oak_log_wall_type_1 = new BlockItem(BlockList.oak_log_wall_type_1, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(BlockList.oak_log_wall_type_1.getRegistryName()),
					ItemList.oak_log_wall_corner = new BlockItem(BlockList.oak_log_corner, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(BlockList.oak_log_corner.getRegistryName()),
					ItemList.oak_cabin_door = new BlockItem(BlockList.oak_cabin_door, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(BlockList.oak_cabin_door.getRegistryName()),
					ItemList.oak_window_frame = new BlockItem(BlockList.oak_window_frame, new Item.Properties().group(ItemGroup.BUILDING_BLOCKS)).setRegistryName(BlockList.oak_window_frame.getRegistryName()),
					
					ItemList.water_pump = new BlockItem(BlockList.water_pump, new Item.Properties().group(ItemGroup.DECORATIONS)).setRegistryName(BlockList.water_pump.getRegistryName()),
					
					ItemList.furnace_station= new BlockItem(BlockList.furnace_station, new Item.Properties().group(ItemGroup.DECORATIONS)).setRegistryName(BlockList.furnace_station.getRegistryName())
					
					
			);
			debugString("Items registered...");
		}
		@SubscribeEvent
		public static void registerBlocks(final RegistryEvent.Register<Block> event) {
			event.getRegistry().registerAll(					
					BlockList.oak_log_wall_type_0 = new LogWall(Block.Properties.create(Material.WOOD).hardnessAndResistance(3.0F).sound(SoundType.WOOD).harvestTool(ToolType.AXE)).setRegistryName(location("oak_log_wall_type_0")),
					BlockList.oak_log_wall_type_1 = new LogWall(Block.Properties.create(Material.WOOD).hardnessAndResistance(3.0F).sound(SoundType.WOOD).harvestTool(ToolType.AXE)).setRegistryName(location("oak_log_wall_type_1")),
					BlockList.oak_log_corner = new LogWallCorner(Block.Properties.create(Material.WOOD).hardnessAndResistance(3.0f).sound(SoundType.WOOD).harvestTool(ToolType.AXE)).setRegistryName(location("oak_log_wall_corner")),
					BlockList.oak_cabin_door = new KenmodDoorBase(Block.Properties.create(Material.WOOD).hardnessAndResistance(3.0F).sound(SoundType.WOOD).harvestTool(ToolType.AXE)).setRegistryName(location("oak_cabin_door")),
					BlockList.oak_window_frame = new WindowFrame(Block.Properties.create(Material.WOOD).hardnessAndResistance(3.0F).sound(SoundType.WOOD).harvestTool(ToolType.AXE)).setRegistryName(location("oak_window_frame")),
					
					BlockList.water_pump = new WaterPump(Block.Properties.create(Material.ROCK).hardnessAndResistance(10.0F).sound(SoundType.STONE).harvestTool(ToolType.PICKAXE)).setRegistryName(location("water_pump")),
					
					BlockList.furnace_station = new FurnaceStation(Block.Properties.create(Material.ROCK).hardnessAndResistance(10.0F).sound(SoundType.STONE).harvestTool(ToolType.PICKAXE)).setRegistryName(location("furnace_station"))
			);
			debugString("Blocks registered...");
		}
		
		//START TILE ENTITY REGISTRY
		
		@SubscribeEvent
		public static void registerTileEntities (final RegistryEvent.Register<TileEntityType<?>> event) {
			event.getRegistry().register(TileEntityType.Builder.create(FurnaceStationTileEntity::new, BlockList.furnace_station).build(null).setRegistryName("furnace_station"));
			debugString("Tile entities registered...");
		}
		
		//END TILE ENTITY REGISTRY
		
		@SubscribeEvent
		public static void registerContainer(RegistryEvent.Register<ContainerType<?>> event) {
			event.getRegistry().register(IForgeContainerType.create((windowId, inv, data) -> {
				return new FurnaceStationContainer (windowId, inv, data);
			}).setRegistryName("furnace_station"));
			debugString("Containers registered...");
		}
	}
	private static ResourceLocation location(String name) {
		return new ResourceLocation(modid, name);
	}
	public static void debugString (String toSay) {
		logger.info(toSay);
	}
}

 

Link to comment
Share on other sites

4 hours ago, diesieben07 said:

Where do you initialize this field?

 

I have changed the code to my main class by adding this:

@SuppressWarnings("rawtypes")
private static TileEntityType registerTileEntity (Supplier<TileEntity> supplier, String registryName, Block block, RegistryEvent.Register<TileEntityType<?>> regitstryEvent) {
	TileEntityType tileEntityType = TileEntityType.Builder.create(supplier, block).build(null);
	tileEntityType.setRegistryName(registryName);
	regitstryEvent.getRegistry().register(tileEntityType);
	return tileEntityType;
}

And by changing my subscribe event to this:

@SuppressWarnings("unchecked")
@SubscribeEvent
public static void registerTileEntities (final RegistryEvent.Register<TileEntityType<?>> event) {
	//event.getRegistry().register(TileEntityType.Builder.create(FurnaceStationTileEntity::new, BlockList.furnace_station).build(null).setRegistryName("furnace_station"));
	BlockList.furnace_station_tile_entity = registerTileEntity(FurnaceStationTileEntity::new, "furnace_station", BlockList.furnace_station, event);
	debugString("Tile entities registered...");
}

 

But it still gives me the same error even though I initialized it.

 

The error keeps pointing me to the "write" method in the blocks tile entity, specifically at the line:

super.write(tag)

 

package com.log_cabin_blocks.objects.blocks.workstations.furnace_station;

import com.log_cabin_blocks.LogCabinBlocks;
import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fml.network.NetworkHooks;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class FurnaceStationTileEntity extends TileEntity implements ITickableTileEntity, INamedContainerProvider {
	
	protected ItemStackHandler slots = new ItemStackHandler();
	private final LazyOptional<IItemHandler> slots_holder = LazyOptional.of(() -> slots);
	
	public FurnaceStationTileEntity() {
		super(BlockList.cabin_furnace_tile_entity);
		slots = new ItemStackHandler();
		slots.setSize(3);
	}
	
	@Override
	public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
		if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
			return slots_holder.cast();
		}
		return super.getCapability(cap, side);
	}
	
	@Override
	public void read(CompoundNBT tag) {
		super.read(tag);
		slots.deserializeNBT(tag.getCompound("kenmodlcb:slots"));
	}
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		super.write(tag);
		tag.put("kenmodlcb:slots", slots.serializeNBT());
		return tag;
	}

	@Override
	public void tick() {
		LogCabinBlocks.debugString("TEST");
	}
	@Override
	public Container createMenu(int id, PlayerInventory player_inventory, PlayerEntity player) {
		return new FurnaceStationContainer(id, player_inventory, slots, this);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("furnace_station");
	}
	
	public void openGUI (ServerPlayerEntity player) {
		if(!world.isRemote) {
			NetworkHooks.openGui(player, this, getPos());
		}
	}
}

 

I am sure the problem is there... I just don't know how to fix it yet.

Edited by Kenneth201998
Link to comment
Share on other sites

9 minutes ago, diesieben07 said:

Why?

 

Look closely.

Ok some after those fixes it gives me another error when I right click on the block:

[m[33m[09:46:36] [Client thread/WARN] [minecraft/ScreenManager]: Trying to open invalid screen with name: block.kenmodlcb.furnace_station

Here is the tile entity code:

package com.log_cabin_blocks.objects.blocks.workstations.furnace_station;

import com.log_cabin_blocks.objects.blocks.BlockList;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.INamedContainerProvider;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fml.network.NetworkHooks;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemStackHandler;

public class FurnaceStationTileEntity extends TileEntity implements ITickableTileEntity, INamedContainerProvider {
	
	protected ItemStackHandler slots = new ItemStackHandler();
	private final LazyOptional<IItemHandler> slots_holder = LazyOptional.of(() -> slots);
	
	public FurnaceStationTileEntity() {
		super(BlockList.furnace_station_tile_entity);
		slots = new ItemStackHandler();
		slots.setSize(3);
	}
	
	@Override
	public <T> LazyOptional<T> getCapability(Capability<T> cap, Direction side) {
		if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
			return slots_holder.cast();
		}
		return super.getCapability(cap, side);
	}
	
	@Override
	public void read(CompoundNBT tag) {
		super.read(tag);
		slots.deserializeNBT(tag.getCompound("kenmodlcb:slots"));
	}
	@Override
	public CompoundNBT write(CompoundNBT tag) {
		super.write(tag);
		tag.put("kenmodlcb:slots", slots.serializeNBT());
		return tag;
	}

	@Override
	public void tick() {
		
	}
	@Override
	public Container createMenu(int id, PlayerInventory player_inventory, PlayerEntity player) {
		return new FurnaceStationContainer(id, player_inventory, slots, this);
	}
	@Override
	public ITextComponent getDisplayName() {
		return new StringTextComponent("block.kenmodlcb.furnace_station");
	}
	
	public void openGUI (ServerPlayerEntity player) {
		if(!world.isRemote) {
			NetworkHooks.openGui(player, this, getPos());
		}
	}
}

 

Link to comment
Share on other sites

Fixed it:

@SubscribeEvent
public static void registerContainer(RegistryEvent.Register<ContainerType<?>> event) {
	BlockList.furnace_station_container = IForgeContainerType.create(FurnaceStationContainer::new);
	BlockList.furnace_station_container.setRegistryName("furnace_station_container");
	event.getRegistry().register(BlockList.furnace_station_container);
	debugString("Containers registered...");
}

^^^ New subscribe event ^^^

Thanks everyone for the help :)

Link to comment
Share on other sites

3 hours ago, Kenneth201998 said:

BlockList.furnace_station_container =

Use ObjectHolder

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

 

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

 

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

Link to comment
Share on other sites

3 hours ago, Kenneth201998 said:

Whatever I did seems to work. My furnace is now fully functional and I am implementing custom recipes. 

You should still use an ObjectHolder. There is no reason to assign the field yourself.

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

 

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

 

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

Link to comment
Share on other sites

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I have java, jarfix, Minecraft java, and forge all downloaded/installed, however I've been trying to make forge work for literal weeks now, and it quite literally just wont load. My primary launcher is Modrinth and when I try to launch a game with forge instead of fabric it'll just stop loading, no error message or anything in the logs, and when I try to launch directly from the Minecraft launcher I just get "Exit Code: 1". I also do not have anything in my mods folder. I'm at a loss... I've tried with practically every version at this point, but the specific versions I'm trying to get into are 1.20.1 and 1.19.2
    • My forge 1.12.2 server is very slow and laggy. The reason is probably because every 5 seconds, the console spits out this message (or smth like it):   Running 15ms behind! Is the server overloaded? Skipping 60 ticks (example, but keeps sending messages just like it)   I've been trying to allocate ram to fix this issue. How can I do this on 1.12.2? There is no jvm args.txt, like in 1.20.1.  
    • I am trying to play an old modpack on curseforge but I can't even get to the main screen before this error message pops up. Can anyone tell me how to fix this?     pw.mods.fml.common.LoaderException: java.lang.ExceptionInInitializerError     at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)     at cpw.mods.fml.common.Loader.loadMods(Loader.java:544)     at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)     at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878)     at net.minecraft.client.main.Main.main(SourceFile:148)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) Caused by: java.lang.ExceptionInInitializerError     at java.lang.Class.forName0(Native Method)     at java.lang.Class.forName(Class.java:348)     at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59)     at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:512)     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)     at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)     at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)     at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)     at com.google.common.eventbus.EventBus.post(EventBus.java:275)     at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)     at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)     at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)     at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)     at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)     at com.google.common.eventbus.EventBus.post(EventBus.java:275)     at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)     at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)     ... 10 more Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1     at com.google.gson.Gson.fromJson(Gson.java:815)     at com.google.gson.Gson.fromJson(Gson.java:768)     at com.google.gson.Gson.fromJson(Gson.java:717)     at com.google.gson.Gson.fromJson(Gson.java:689)     at net.ilexiconn.llibrary.client.ClientProxy.<clinit>(ClientProxy.java:34)     ... 35 more Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1     at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:338)     at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:70)     at com.google.gson.Gson.fromJson(Gson.java:803)     ... 39 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.7.10     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 482358976 bytes (460 MB) / 1571815424 bytes (1499 MB) up to 3280994304 bytes (3129 MB)     JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx3520m -Xms256m     AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used     IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0     FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1566 151 mods loaded, 151 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     UC    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)      UC    FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1566-1.7.10.jar)      UC    Forge{10.13.4.1566} [Minecraft Forge] (forge-1.7.10-10.13.4.1566-1.7.10.jar)      UC    appliedenergistics2-core{rv2-stable-10} [AppliedEnergistics2 Core] (minecraft.jar)      UC    CodeChickenCore{1.0.7.47} [CodeChicken Core] (minecraft.jar)      UC    MobiusCore{1.2.5} [MobiusCore] (minecraft.jar)      UC    NotEnoughItems{1.0.5.120} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.5.120-universal.jar)      UC    voltzenginepreloader{0.0.1} [Voltz Engine Preloader] (minecraft.jar)      UC    <CoFH ASM>{000} [CoFH ASM] (minecraft.jar)      UC    FastCraft{1.25} [FastCraft] (fastcraft-1.25.jar)      UC    debug{1.0} [debug] (denseores-1.6.2.jar)      UC    ExtendedPotions{1.2} [Extended Potions] (ExtendedPotions-MC1.7.10-1.2.jar)      UC    securitycraft{v1.8.13} [SecurityCraft] ([1.7.10] SecurityCraft v1.8.13.jar)      UC    DamageIndicatorsMod{3.2.0} [Damage Indicators] ([1.7.10]DamageIndicatorsMod-3.2.0.jar)      UC    movillages{1.4.2} [Mo' Villages] ([1.7.10]MoVillages-1.4.2.jar)      UC    Baubles{1.0.1.10} [Baubles] (Baubles-1.7.10-1.0.1.10.jar)      UC    adventurebackpack{1.7.10-0.8b} [Adventure Backpack] (adventurebackpack-1.7.10-0.8c.jar)      UC    AnimationAPI{1.2.4} [AnimationAPI] (AnimationAPI-1.7.10-1.2.4.jar)      UC    appliedenergistics2{rv2-stable-10} [Applied Energistics 2] (appliedenergistics2-rv2-stable-10.jar)      UC    ArchimedesShips{1.7.10 v1.7.1} [Archimedes' Ships] (ArchimedesShips-1.7.1.jar)      UC    bookshelf{1.0.4.187} [Bookshelf] (Bookshelf-1.7.10-1.0.4.187.jar)      UC    betterboat{1.1.0} [Better Boat] (BetterBoat-1.7.10-1.1.0.jar)      UC    betterbuilderswands{0.8.1} [Better Builder's Wands] (BetterBuildersWands-0.8.1-1.7.10r92+aec06c3.jar)      UC    BiblioCraft{1.11.7} [BiblioCraft] (BiblioCraft[v1.11.7][MC1.7.10].jar)      UC    Mantle{1.7.10-0.3.2.jenkins191} [Mantle] (Mantle-1.7.10-0.3.2b.jar)      UC    Natura{2.2.0} [Natura] (natura-1.7.10-2.2.0.1.jar)      UC    BiomesOPlenty{2.1.0} [Biomes O' Plenty] (BiomesOPlenty-1.7.10-2.1.0.1889-universal.jar)      UC    BiblioWoodsBoP{1.9} [BiblioWoods Biomes O'Plenty Edition] (BiblioWoods[BiomesOPlenty][v1.9].jar)      UC    ExtrabiomesXL{3.16.4} [ExtrabiomesXL] (extrabiomesxl_1.7.10-3.16.4.jar)      UC    BiblioWoodsEBXL{1.4} [BiblioWoods ExtraBiomesXL Edition] (BiblioWoods[ExtraBiomesXL][v1.4].jar)      UC    IC2{2.2.827-experimental} [IndustrialCraft 2] (industrialcraft-2-2.2.827-experimental.jar)      UC    CoFHCore{1.7.10R3.1.4} [CoFH Core] (CoFHCore-[1.7.10]3.1.4-329.jar)      UC    Forestry{4.2.16.64} [Forestry for Minecraft] (forestry_1.7.10-4.2.16.64.jar)      UC    BiblioWoodsForestry{1.7} [BiblioWoods Forestry Edition] (BiblioWoods[Forestry][v1.7].jar)      UC    BiblioWoodsNatura{1.5} [BiblioWoods Natura Edition] (BiblioWoods[Natura][v1.5].jar)      UC    ThermalFoundation{1.7.10R1.2.6} [Thermal Foundation] (ThermalFoundation-[1.7.10]1.2.6-118.jar)      UC    ThermalExpansion{1.7.10R4.1.5} [Thermal Expansion] (ThermalExpansion-[1.7.10]4.1.5-248.jar)      UC    BigReactors{0.4.3A} [Big Reactors] (BigReactors-0.4.3A.jar)      UC    Thaumcraft{4.2.3.5} [Thaumcraft] (Thaumcraft-1.7.10-4.2.3.5.jar)      UC    Botania{r1.8-249} [Botania] (Botania r1.8-249.jar)      UC    BuildCraft|Core{7.1.23} [BuildCraft] (buildcraft-7.1.23.jar)      UC    BuildCraft|Transport{7.1.23} [BC Transport] (buildcraft-7.1.23.jar)      UC    BuildCraft|Factory{7.1.23} [BC Factory] (buildcraft-7.1.23.jar)      UC    BuildCraft|Silicon{7.1.23} [BC Silicon] (buildcraft-7.1.23.jar)      UC    BuildCraft|Robotics{7.1.23} [BC Robotics] (buildcraft-7.1.23.jar)      UC    BuildCraft|Energy{7.1.23} [BC Energy] (buildcraft-7.1.23.jar)      UC    BuildCraft|Builders{7.1.23} [BC Builders] (buildcraft-7.1.23.jar)      UC    Railcraft{9.12.2.0} [Railcraft] (Railcraft_1.7.10-9.12.2.0.jar)      UC    TwilightForest{2.3.7} [The Twilight Forest] (twilightforest-1.7.10-2.3.7.jar)      UC    ForgeMultipart{1.2.0.345} [Forge Multipart] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar)      UC    chisel{2.9.5.11} [Chisel] (Chisel-2.9.5.11.jar)      UC    CarpentersBlocks{3.3.8.1} [Carpenter's Blocks] (Carpenter's Blocks v3.3.8.1 - MC 1.7.10.jar)      UC    ChickenChunks{1.3.4.19} [ChickenChunks] (ChickenChunks-1.7.10-1.3.4.19-universal.jar)      UC    chunkpregenerator{2.1} [Chunk Pregenerator] (Chunk Pregenerator V1.7.10-2.1.jar)      UC    customnpcs{1.7.10d} [CustomNpcs] (CustomNPCs_1.7.10d(29oct17).jar)      UC    PTRModelLib{1.0.0} [PTRModelLib] (Decocraft-2.4.2_1.7.10.jar)      UC    props{2.4.2} [Decocraft] (Decocraft-2.4.2_1.7.10.jar)      UC    dldungeonsjdg{1.11.0} [Doomlike Dungeons] (DoomlikeDungeons-1.11.0-MC1.7.10.jar)      UC    DynamicLights{1.3.9a} [Dynamic Lights] (Dynamic Lights-1.3.9a-MC1.7.10.jar)      UC    emeraldmod{3.5.1} [EmeraldMod] (Emerald-Mod-1.7.10_1.jar)      UC    Mekanism{9.1.1} [Mekanism] (Mekanism-1.7.10-9.1.1.1031.jar)      UC    EnderIO{1.7.10-2.2.8.381} [Ender IO] (EnderIO-1.7.10-2.2.8.381.jar)      UC    EnderStorage{1.4.7.37} [EnderStorage] (EnderStorage-1.7.10-1.4.7.37-universal.jar)      UC    Waila{1.5.10} [Waila] (Waila-1.5.10_1.7.10.jar)      UC    extracells{2.3.14} [Extra Cells 2] (ExtraCells-1.7.10-2.3.14b200.jar)      UC    ExtraUtilities{1.2.12} [Extra Utilities] (extrautilities-1.2.12.jar)      UC    fastleafdecay{1.4} [Fast Leaf Decay] (FastLeafDecay-1.7.10-1.4.jar)      UC    FoodExpansion{1.0} [Food Expansion] (FoodExpansion1.1.1-mc1.7.10.jar)      UC    FpsReducer{mc1.7.10-1.10.3} [FPS Reducer] (FpsReducer-mc1.7.10-1.10.3.jar)      UC    FTBL{1.0.18.2} [FTBLib] (FTBLib-1.7.10-1.0.18.3.jar)      UC    FTBU{1.0.18.2} [FTBUtilities] (FTBUtilities-1.7.10-1.0.18.3.jar)      UC    fw{1.3.0} [Fullscreen Windowed] (FullscreenWindowed-1.7.10-1.3.0b.jar)      UC    gravestone{0.7.10.3} [Gravestone] (GraveStone Mod 0.7.10.3.jar)      UC    GrimoireOfGaia{1.0.0} [Grimoire of Gaia 3] (GrimoireOfGaia3-1.7.10-1.2.7.jar)      UC    TConstruct{1.7.10-1.8.8.build988} [Tinkers' Construct] (TConstruct-1.7.10-1.8.8.jar)      UC    voltzengine{1.9.14.302} [Voltz Engine] (VoltzEngine-1.7.10-1.9.14b302.jar)      UC    icbm{2.15.4.497} [ICBM] (ICBM-1.7.10-2.15.4b497.jar)      UC    icbmclassic{2.16.2.205} [ICBM-Classic] (ICBM-classic-1.7.10-2.16.2b205.jar)      UC    infinitycraft{1.0.0} [Infinity Craft] (infinitycraft-1.0.jar)      UC    InventoryPets{1.4.9.9b} [Inventory Pets] (inventorypets-1.7.10-1.4.9.9b-universal.jar)      UC    IronChest{6.0.62.742} [Iron Chest] (ironchest-1.7.10-6.0.62.742-universal.jar)      UC    ItsRainingFood{1.0.2} [It's Raining Food] (itsrainingfood-1.7.10-1.0.4.jar)      UC    JABBA{1.2.2} [JABBA] (Jabba-1.2.2_1.7.10.jar)      UC    journeymap{5.1.4p2} [JourneyMap] (journeymap-1.7.10-5.1.4p2-unlimited.jar)      UE    llibrary{1.5.1} [LLibrary] (llibrary-1.5.1-1.7.10.jar)      UE    jurassicraft{1.5.0} [JurassiCraft] (JurassiCraft-1.4.0.jar)      UC    LogisticsPipes{0.9.3.132} [Logistics Pipes] (logisticspipes-0.9.3.132.jar)      UC    lootbags{2.0.17} [Loot Bags] (LootBags-1.7.10-2.0.17.jar)      UC    magicalcrops{1.7.2 - 0.1 ALPHA} [Magical Crops] (magicalcrops-1.7.10_0.1.jar)      UC    MagicBees{2.4.4} [Magic Bees] (magicbees-1.7.10-2.4.4.jar)      UC    malisiscore{1.7.10-0.14.3} [MalisisCore] (malisiscore-1.7.10-0.14.3.jar)      UC    malisisdoors{1.7.10-1.13.2} [Malisis' Doors] (malisisdoors-1.7.10-1.13.2.jar)      UC    MekanismGenerators{9.1.1} [MekanismGenerators] (MekanismGenerators-1.7.10-9.1.1.1031.jar)      UC    MekanismTools{9.1.1} [MekanismTools] (MekanismTools-1.7.10-9.1.1.1031.jar)      UC    MobProperties{1.0.2} [Mob Properties] (MobProperties-1.7.10-1.0.2.jar)      UC    morechisels{@VERSION@} [More Chisels] (MoreChisels-1.7.10-1.0-28.jar)      UC    Morpheus{1.7.10-1.6.21} [Morpheus] (Morpheus-1.7.10-1.6.21.jar)      UC    MouseTweaks{2.4.4} [Mouse Tweaks] (MouseTweaks-2.4.4-mc1.7.10.jar)      UC    cfm{3.4.7} [§9MrCrayfish's Furniture Mod] (MrCrayfishFurnitureModv3.4.7(1.7.10).jar)      UC    MutantCreatures{1.4.9} [Mutant Creatures] (MutantCreatures-1.7.10-1.4.9.jar)      UC    NEIAddons{1.12.14.40} [NEI Addons] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|Developer{1.12.14.40} [NEI Addons: Developer Tools] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|AppEng{1.12.14.40} [NEI Addons: Applied Energistics 2] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|Botany{1.12.14.40} [NEI Addons: Botany] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|Forestry{1.12.14.40} [NEI Addons: Forestry] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|CraftingTables{1.12.14.40} [NEI Addons: Crafting Tables] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    NEIAddons|ExNihilo{1.12.14.40} [NEI Addons: Ex Nihilo] (neiaddons-1.12.14.40-mc1.7.10.jar)      UC    neiintegration{1.1.2} [NEI Integration] (NEIIntegration-MC1.7.10-1.1.2.jar)      UC    NEIlootbags{1.1.3} [NEIlootbags] (NEIlootbags-1.7.10-1.1.3.jar)      UC    NetherOres{1.7.10R2.3.1} [Nether Ores] (NetherOres-[1.7.10]2.3.1-22.jar)      UC    OreSpawn{1.7.10.20.3} [OreSpawn] (orespawn-1.7.10-20.3.zip)      UC    origin{8.0.3} [Origin] (Origin-1.7.10-8.0.3.jar)      UC    addonscrewdriver{1.0.0} [OriginAddonScrewdriver] (Origin-1.7.10-8.0.3.jar)      UC    getalltheseeds{1.7.10a} [Pam's Get all the Seeds!] (Pam's Get all the Seeds 1.7.10a.jar)      UC    harvestcraft{1.7.10j} [Pam's HarvestCraft] (Pam's HarvestCraft 1.7.10Lb.jar)      UC    simplerecipes{1.7.10a} [Pam's Simple Recipes] (Pam's Simple Recipes 1.7.10a.jar)      UC    pandorasbox{2.0.1} [Pandora's Box] (PandorasBox-2.1.jar)      UC    ProjectE{1.7.10-PE1.10.1} [ProjectE] (ProjectE-1.7.10-PE1.10.1.jar)      UC    MrTJPCoreMod{1.1.0.33} [MrTJPCore] (MrTJPCore-1.1.0.33-universal.jar)      UC    ProjRed|Core{4.7.0pre12.95} [ProjectRed Core] (ProjectRed-1.7.10-4.7.0pre12.95-Base.jar)      UC    ProjRed|Transmission{4.7.0pre12.95} [ProjectRed Transmission] (ProjectRed-1.7.10-4.7.0pre12.95-Integration.jar)      UC    ProjRed|Transportation{4.7.0pre12.95} [ProjectRed Transportation] (ProjectRed-1.7.10-4.7.0pre12.95-Mechanical.jar)      UC    ProjRed|Compatibility{4.7.0pre12.95} [ProjectRed Compatibility] (ProjectRed-1.7.10-4.7.0pre12.95-Compat.jar)      UC    ProjRed|Integration{4.7.0pre12.95} [ProjectRed Integration] (ProjectRed-1.7.10-4.7.0pre12.95-Integration.jar)      UC    ProjRed|Illumination{4.7.0pre12.95} [ProjectRed Illumination] (ProjectRed-1.7.10-4.7.0pre12.95-Lighting.jar)      UC    ProjRed|Expansion{4.7.0pre12.95} [ProjectRed Expansion] (ProjectRed-1.7.10-4.7.0pre12.95-Mechanical.jar)      UC    ResourceLoader{1.3} [Resource Loader] (ResourceLoader-MC1.7.10-1.3.jar)      UC    Roguelike{1.5.0} [Roguelike Dungeons] (roguelike-1.7.10-1.5.0b.jar)      UC    runicdungeons{1.1.7b} [Runic Dungeons] (RunicDungeons-1.1.7b.jar)      UC    secretroomsmod{4.7.1} [The SecretRoomsMod] (secretroomsmod-1.7.10-4.7.1.413.jar)      UC    StorageDrawers{1.7.10-1.10.9} [Storage Drawers] (StorageDrawers-1.7.10-1.10.9.jar)      UC    Teletubbies{0.5.4} [Teletubbies] (Teletubbies-1.7.10-0.5.4.jar)      UC    TextureGeneratorLib{0.2} [TextureGeneratorLib] (TextureGeneratorLib-1.7.10_vBeta2.jar)      UC    Translocator{1.1.2.16} [Translocator] (Translocator-1.7.10-1.1.2.16-universal.jar)      UC    vampirism{0.7.9} [Vampirism] (Vampirism-1.7.10-0.7.9.jar)      UC    VeinMiner{0.36.0_1.7.10-28a7f13} [Vein Miner] (VeinMiner-1.7.10-0.36.0.496+28a7f13.jar)      UC    VeinMinerModSupport{0.36.0_1.7.10-28a7f13} [Mod Support] (VeinMiner-1.7.10-0.36.0.496+28a7f13.jar)      UC    voltzenginemodcompat{1.9.14.302} [Voltz Engine Mod Compatibility Loader] (VoltzEngine-1.7.10-1.9.14b302.jar)      UC    voltzenginemodflag{1.9.14.302} [VoltzEngine mod protection, flag, and region system] (VoltzEngine-1.7.10-1.9.14b302.jar)      UC    WailaHarvestability{1.1.6} [Waila Harvestability] (WailaHarvestability-mc1.7.10-1.1.6.jar)      UC    wawla{1.3.1} [What Are We Looking At] (Wawla-1.0.5.120.jar)      UC    witchery{0.24.1} [Witchery] (witchery-1.7.10-0.24.1.jar)      UC    WTFCore{1.7} [WhiskyTangoFox's Core] (WTFCore-1.7.10_v1.7.jar)      UC    CaveBiomes{1.6} [WhiskyTangoFox's CaveBiomes] (WTFCaveBiomes-1.7.10_v1.6.jar)      UC    YAFM{1.0.3} [Yet Another Food Mod] (yafm-1.0.3.jar)      UC    McMultipart{1.2.0.345} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar)      UC    ForgeRelocation{0.0.1.4} [ForgeRelocation] (ForgeRelocation-0.0.1.4-universal.jar)      UC    MCFrames{1.0} [MCFrames] (ForgeRelocation-0.0.1.4-universal.jar)      UC    RelocationFMP{0.0.1.2} [RelocationFMP] (ForgeRelocationFMP-0.0.1.2-universal.jar)      UC    denseores{1.0} [Dense Ores] (denseores-1.6.2.jar)      UC    ForgeMicroblock{1.2.0.345} [Forge Microblocks] (ForgeMultipart-1.7.10-1.2.0.345-universal.jar)      GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 536.23' Renderer: 'NVIDIA GeForce RTX 3090 Ti/PCIe/SSE2'     AE2 Version: stable rv2-stable-10 for Forge 10.13.2.1291     Mantle Environment: Environment healthy.     CoFHCore: -[1.7.10]3.1.4-329     ThermalFoundation: -[1.7.10]1.2.6-118     ThermalExpansion: -[1.7.10]4.1.5-248     TConstruct Environment: Environment healthy.     NetherOres: -[1.7.10]2.3.1-22
    • Update your AMD/ATI drivers - get the latest drivers from their website - do not update via system
  • Topics

×
×
  • Create New...

Important Information

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