Jump to content

Recommended Posts

Posted (edited)

I am trying to run a forge server and it seems to be running ok, but when I try to connect with my client I am able to play for a few seconds but the client always crashes with a ticking entity error, i have tried resetting the world region files, deleting the corrupt entities and enabling removeErroringEntities in forge-server.toml. however nothing seems to work and it is a different entity every time.

I am unsure whether this is a problem with the client or the server

here are the 2 debug.log files as well as the crash report

server-debug.log

client-debug.log

crash report

thanks in advance - Titanor Soulstone

edit ↓

List of Mods

Spoiler

Abnormals Delight

Additional Entity Attributes

Advancement Plaques

Air Hop

Akashic Tome

Alex's Delight

Alex's Mobs

Anvil Restoration

Applied Energistics 2

Aquaculture 2

Architectury

Areas

Ars Elemental

Ars Instrumentum

Ars Nouveau

Ars Nouveau Scaling Compats

Art Of Forging

Artifacts

Async Locator

AutoRegLib

Balm

Better Beacon Placement

Better Conduit Placement

Better Mods Button

Better Spawner Control

Better Third Person

BetterF3

Blue Skies

Blueprint

Bookshelf

Borealis

Botania

Bottle Your Xp

Bottled Air

Brewin' and Chewin'

Bridge Maker

Buddycards Core

Builders Crafts & Addition

Building Gadgets

Caelus API

Camera Mod

Campfire Spawn and Tweaks

Catalogue

Chalk

Charms

Chat Heads

Chest Cavity

Chipped

Chunk Animator

Citadel

Cloth Config v4 API

Clumps

CobbleGenRandomizer

CodeChicken Lib

CoFH Core

Collective

ColossalChests

Comforts

Conduits Prevent Drowned

Config Menus for Forge

Configured

Connectivity Mod

Controllable

Controlling

CookingForBlockheads

Copper's Delight

Corn Delight

Create

Create Big Cannons

Create Cafe

Create Chunkloading

Create Confectionery

Create Crafts & Additions

Create Curios

Create Deco

Create Ore Excavation

Create Stuff Additions

Create: Alloyed

Create: Chromatic Return

Create: Factory

CreateArmoredCopperBacktanks

CreateFoodAdditions

CreativeCore

Cultural Delights

Curios API

Curios Quark Oddities Backpack

Curious Armor Stands

Curious Elytra

Curious Shulker Boxes

Cyclops Core

DeepResonance

Delightful

DepthMeter

Ding

Display Case Mod

Double Doors

Dual Riders

Easy Mob Farm

Easy Piglins

Easy Villagers

Effective (Forge)

EggCrate

Enchantable Staffs

Enchantment Transfer

Ender Mail

EnderStorage

Epic Fight

EverlastingAbilities

ExpandAbility

Extended Creative Inventory

Extra Golems

Extract Poison

Extreme Reactors

FactInventory Mod

Falling Leaves

Farmer's Delight

Farmer's Respite

Farming for Blockheads

Flux Networks

FlytreLib

Flywheel

Forbidden & Arcanus

Forge

Fox's Handheld Cannon

Framework

Friends&Foes

Frosted Friends

FTB Backups 2

FTB Essentials

FTB Library

FTB Quests

FTB Teams

FTB Ultimine

Fuze Relics

GeckoLib

Global XP

Glow Ink Plus Mod

Goblin Traders

Goblins & Dungeons

Golden Berries

Golden Hopper

Grimoire of Gaia 4

Guard Villagers

GUI Clock

GUI Compass

GUI Followers

Guidebook

HammerLib

Hand Over Your Items

Healing Campfire

heartbalance

Heartstone

Hole Filler Mod

Honey expansion

Iceberg

Immersive Engineering

Immersive Posts

Immunity Enchantments

Infinite Trading

Inventory Totem

inzheFoPs Core

Iron Chests

Item Borders

Item Filters

Item Zoom

Jade

Jade Addons

Journeymap

Just Enough Items

Just Enough Resources

Just Mob Heads

Just Player Heads

K-Turrets

Keep My Soil Tilled

keymap

KubeJS

KubeJS Create

KubeJS Immersive Engineering

KubeJS UI

KubeJSBorealis

Large Meals

Legendary Tooltips

Life Steal Enchantment

Little Contraptions

Little Logistics

Lock & Key

Locksmith

Lootr

Macaw's Bridges

MagmaMonsters

Mana and Artifice

Material Elements

McJtyLib

Merchant Markers

Minecraft

Mineral Chance

MmmMmmMmmMmm

More MobGriefing Options

More Villagers

Morph-o-Tool

Mouse Tweaks

MrCrayfish's Furniture Mod

mutil

Mysterious Mountain Lib

Mystical World

Name Tag Tweaks

Nethers Delight

No Hostiles Around Campfire

Nomadic Tents

Not Enough Crashes

Not Enough Wands

Observable

Occultism

Organics

Paraglider

Passive Shield

Patchouli

Pet Names

Pet Orbs

Pickable Orbs

Placebo

PlayerRevive

PneumaticCraft: Repressurized

Pollen

PolyLib

Polymorph

PonderJS

Project MMO

Puzzles Lib

Quark

Quark Oddities

Quest Plaques

Quick Harvest

Random Village Names

Rapid Leaf Decay

Rare Ice

Reap Mod

ReAuth

Recast

Redstone Pen

Resource Slimes

Restored Earth

Restrictions

retail

RFToolsBase

RFToolsBuilder

RFToolsControl

RFToolsDimensions

RFToolsPower

RFToolsStorage

RFToolsUtility

Rhino

Roots Classic

RPG-Hud

Satako

screenscale mod

Seeds

Selene

ServerConfig Updater

Shrines

Signpost

SignTastic

Simple Shops

Simple Storage Network

Simple Voice Chat

Sit

Slimy Stuff

Small Ships Mod

Smarter Farmers

Softer Hay Bales

Solar Cooker

Solar Flux Reborn

Solar Generation

SolarHelmet

Sophisticated Backpacks

Sophisticated Core

Spice of Life: Carrot Edition

Spirit

Splash Milk

Stack Refill

Stalwart Dungeons

Starter Kit

Storage Drawers

Structure Gel API

SuperMartijn642's Core Lib

Supplementaries

Sword Displays

Tetra

The Mighty Architect

The Twilight Forest

Thermal Cultivation

Thermal Expansion

Thermal Innovation

Thermal Series

Tips

Trading Post

Trash Cans

Traveler's Titles

Trofers

Twilight Delight

Ultimate Solar Panels

Valhelsia Core

ViesCraft Machines

Village Bell Recipe

Village Spawn Point

Villager Names

Wandering Bag

Waystones

Windowlogging

Wooled Boots

XNet

YUNG's API

Zero CORE 2

 

Edited by Titanor
Posted
Quote

java.lang.NullPointerException: Registry Object not present: effective_fg:droplet

at java.util.Objects.requireNonNull(Objects.java:334) ~[?:?] {re:mixin}

at net.minecraftforge.registries.RegistryObject.get(RegistryObject.java:320) ~[forge-1.18.2-40.1.69-universal.jar%23371!/:?] {re:mixin,xf:fml:forge:registry_object_binary_compat,re:classloading,xf:fml:forge:registry_object_binary_compat}

at net.minecraft.world.entity.Entity.handler$bed000$onSwimmingStart(Entity.java:8294) ~[client-1.18.2-20220404.173914-srg.jar%23366!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:additionalentityattrib

Looks like an issue with effective_fg. Make sure you have the latest version the contact the mod author.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

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

    • It is 1.12.2 - I have no idea if there is a 1.12 pack
    • Okay, but does the modpack works with 1.12 or just with 1.12.2, because I need the Forge client specifically for Minecraft 1.12, not 1.12.2
    • Version 1.19 - Forge 41.0.63 I want to create a wolf entity that I can ride, so far it seems to be working, but the problem is that when I get on the wolf, I can’t control it. I then discovered that the issue is that the server doesn’t detect that I’m riding the wolf, so I’m struggling with synchronization. However, it seems to not be working properly. As I understand it, the server receives the packet but doesn’t register it correctly. I’m a bit new to Java, and I’ll try to provide all the relevant code and prints *The comments and prints are translated by chatgpt since they were originally in Spanish* Thank you very much in advance No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. No player is mounted, or the passenger is not a player. MountableWolfEntity package com.vals.valscraft.entity; import com.vals.valscraft.network.MountSyncPacket; import com.vals.valscraft.network.NetworkHandler; import net.minecraft.client.Minecraft; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.Entity; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.network.PacketDistributor; public class MountableWolfEntity extends Wolf { private boolean hasSaddle; private static final EntityDataAccessor<Byte> DATA_ID_FLAGS = SynchedEntityData.defineId(MountableWolfEntity.class, EntityDataSerializers.BYTE); public MountableWolfEntity(EntityType<? extends Wolf> type, Level level) { super(type, level); this.hasSaddle = false; } @Override protected void defineSynchedData() { super.defineSynchedData(); this.entityData.define(DATA_ID_FLAGS, (byte)0); } public static AttributeSupplier.Builder createAttributes() { return Wolf.createAttributes() .add(Attributes.MAX_HEALTH, 20.0) .add(Attributes.MOVEMENT_SPEED, 0.3); } @Override public InteractionResult mobInteract(Player player, InteractionHand hand) { ItemStack itemstack = player.getItemInHand(hand); if (itemstack.getItem() == Items.SADDLE && !this.hasSaddle()) { if (!player.isCreative()) { itemstack.shrink(1); } this.setSaddle(true); return InteractionResult.SUCCESS; } else if (!level.isClientSide && this.hasSaddle()) { player.startRiding(this); MountSyncPacket packet = new MountSyncPacket(true); // 'true' means the player is mounted NetworkHandler.CHANNEL.sendToServer(packet); // Ensure the server handles the packet return InteractionResult.SUCCESS; } return InteractionResult.PASS; } @Override public void travel(Vec3 travelVector) { if (this.isVehicle() && this.getControllingPassenger() instanceof Player) { System.out.println("The wolf has a passenger."); System.out.println("The passenger is a player."); Player player = (Player) this.getControllingPassenger(); // Ensure the player is the controller this.setYRot(player.getYRot()); this.yRotO = this.getYRot(); this.setXRot(player.getXRot() * 0.5F); this.setRot(this.getYRot(), this.getXRot()); this.yBodyRot = this.getYRot(); this.yHeadRot = this.yBodyRot; float forward = player.zza; float strafe = player.xxa; if (forward <= 0.0F) { forward *= 0.25F; } this.flyingSpeed = this.getSpeed() * 0.1F; this.setSpeed((float) this.getAttributeValue(Attributes.MOVEMENT_SPEED) * 1.5F); this.setDeltaMovement(new Vec3(strafe, travelVector.y, forward).scale(this.getSpeed())); this.calculateEntityAnimation(this, false); } else { // The wolf does not have a passenger or the passenger is not a player System.out.println("No player is mounted, or the passenger is not a player."); super.travel(travelVector); } } public boolean hasSaddle() { return this.hasSaddle; } public void setSaddle(boolean hasSaddle) { this.hasSaddle = hasSaddle; } @Override protected void dropEquipment() { super.dropEquipment(); if (this.hasSaddle()) { this.spawnAtLocation(Items.SADDLE); this.setSaddle(false); } } @SubscribeEvent public static void onServerTick(TickEvent.ServerTickEvent event) { if (event.phase == TickEvent.Phase.START) { MinecraftServer server = net.minecraftforge.server.ServerLifecycleHooks.getCurrentServer(); if (server != null) { for (ServerPlayer player : server.getPlayerList().getPlayers()) { if (player.isPassenger() && player.getVehicle() instanceof MountableWolfEntity) { MountableWolfEntity wolf = (MountableWolfEntity) player.getVehicle(); System.out.println("Tick: " + player.getName().getString() + " is correctly mounted on " + wolf); } } } } } private boolean lastMountedState = false; @Override public void tick() { super.tick(); if (!this.level.isClientSide) { // Only on the server boolean isMounted = this.isVehicle() && this.getControllingPassenger() instanceof Player; // Only print if the state changed if (isMounted != lastMountedState) { if (isMounted) { Player player = (Player) this.getControllingPassenger(); // Verify the passenger is a player System.out.println("Server: Player " + player.getName().getString() + " is now mounted."); } else { System.out.println("Server: The wolf no longer has a passenger."); } lastMountedState = isMounted; } } } @Override public void addPassenger(Entity passenger) { super.addPassenger(passenger); if (passenger instanceof Player) { Player player = (Player) passenger; if (!this.level.isClientSide && player instanceof ServerPlayer) { // Send the packet to the server to indicate the player is mounted NetworkHandler.CHANNEL.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new MountSyncPacket(true)); } } } @Override public void removePassenger(Entity passenger) { super.removePassenger(passenger); if (passenger instanceof Player) { Player player = (Player) passenger; if (!this.level.isClientSide && player instanceof ServerPlayer) { // Send the packet to the server to indicate the player is no longer mounted NetworkHandler.CHANNEL.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) player), new MountSyncPacket(false)); } } } @Override public boolean isControlledByLocalInstance() { Entity entity = this.getControllingPassenger(); return entity instanceof Player; } @Override public void positionRider(Entity passenger) { if (this.hasPassenger(passenger)) { double xOffset = Math.cos(Math.toRadians(this.getYRot() + 90)) * 0.4; double zOffset = Math.sin(Math.toRadians(this.getYRot() + 90)) * 0.4; passenger.setPos(this.getX() + xOffset, this.getY() + this.getPassengersRidingOffset() + passenger.getMyRidingOffset(), this.getZ() + zOffset); } } } MountSyncPacket package com.vals.valscraft.network; import com.vals.valscraft.entity.MountableWolfEntity; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class MountSyncPacket { private final boolean isMounted; public MountSyncPacket(boolean isMounted) { this.isMounted = isMounted; } public void encode(FriendlyByteBuf buffer) { buffer.writeBoolean(isMounted); } public static MountSyncPacket decode(FriendlyByteBuf buffer) { return new MountSyncPacket(buffer.readBoolean()); } public void handle(NetworkEvent.Context context) { context.enqueueWork(() -> { ServerPlayer player = context.getSender(); // Get the player from the context if (player != null) { // Verifies if the player has dismounted if (!isMounted) { Entity vehicle = player.getVehicle(); if (vehicle instanceof MountableWolfEntity wolf) { // Logic to remove the player as a passenger wolf.removePassenger(player); System.out.println("Server: Player " + player.getName().getString() + " is no longer mounted."); } } } }); context.setPacketHandled(true); // Marks the packet as handled } } networkHandler package com.vals.valscraft.network; import com.vals.valscraft.valscraft; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.network.NetworkRegistry; import net.minecraftforge.network.simple.SimpleChannel; import net.minecraftforge.network.NetworkEvent; import java.util.function.Supplier; public class NetworkHandler { private static final String PROTOCOL_VERSION = "1"; public static final SimpleChannel CHANNEL = NetworkRegistry.newSimpleChannel( new ResourceLocation(valscraft.MODID, "main"), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals ); public static void init() { int packetId = 0; // Register the mount synchronization packet CHANNEL.registerMessage( packetId++, MountSyncPacket.class, MountSyncPacket::encode, MountSyncPacket::decode, (msg, context) -> msg.handle(context.get()) // Get the context with context.get() ); } }  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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