Jump to content

Recommended Posts

Posted

I move this issue here like the devs told me on Github.

 

I noticed that the ender protal frames behaved them really strangely. When I try to destroy an ender portal frame with an ender eye inside, Minecraft totally freezes, then if I wait, Minecraft freezes eternally, and I'm obliged to kill Minecraft with MultiMC, and I don't any crash reports.

I can confirm now that this issue comes from Forge since there is no problems with Minecraft Vanilla, and the bug happens even if no mods are installed, only Forge. Some other blocks of other mods are touched by this bug too. The ones I noticed are :

 

- Building Brick : all the glass, ice and packed ice blocks

- Deep Resonance : resonant crystal

- Biomes O Plenty : celestial crystal

- Botania : mana prism

-  Blood Arsenal : blood stained glass block and pane

- Evilcraft : darktank

- EnderIO : killer joe, zombie generator, all the fused quartz glasses

- Random Things : lapis lamp, quartz lamp, rainbow lamp, biome glass, spectre block, fluid display

 

I let you know that all the tests possible has already been made before I create this general issue and post it. I already tried to :

 

- Test the mods one by one only by installing them and forge without any other mods

- Change of Forge Version

- Change between the 1.9 and 1.9.4 version

- Change of mod version

- Play without optifine and any shaders

- Switch between the creative and survival mode

- Delete and reinstall totally MultiMC, Forge and all the mods

 

Nothing of all that change anything, the bug still happens in the same way for the same blocks listed at the top. They always follow this log http://pastebin.com/vrY5Z3na .  I know what the error code -805306369 means, but it's not linked to my memory, I have 16 Go of memory and I gave 12 Go of memory to this Minecraft instance, so it's not possible that I lack of memory. The error code isn't caused by Minecraft but by MultiMC which kills Minecraft, so it's not the cause of the bug.

 

I already asked too to all the developpers of the mods concerned what could provocates this bug, nobody is able (with some who agressed me). For what I see, this bug touchs only the tile entities, and particulary the transparent, animated and lighted ones. Please don't tell me again that I'm stupid, that I understand nothing, that it's all my fault, that I'm a spammer... I already heard that too much from many developpers on GitHub and it begins to be very annoying. I'm myself a developper, so I know what to do or not.

 

Posted

To me it looks like you've posted the log from MultiMC and not the logs from Forge or Minecraft.

 

If the log you posted isn't one of these:

 

"[path to minecraft]\crash-reports\crash-[date & time]-client.txt"

"[path to minecraft]\logs\fml-client-latest.log" (grab it right after a crash)

 

Post one or preferably both of them.

 

After reading through your problem description, your logs, what other people have said that they've tried, etc it's pretty obvious that this is a problem with MultiMC and/or your particular installation..more likely your installation unless it's a fringe case but MultiMC has a fairly large userbase so single fringe cases like this should be very very unlikely to occur.

 

Forge has a way way way WAY larger userbase with people using a plethora of different launchers ranging from vanilla launchers to launchers they coded themselves in an afternoon running on anything from embedded ARM cpu's in microwave owens to supercomputers with 1000s of cpus...if there was a problem with Forge that caused the client to crash when breaking blocks, the Forge crew would without any doubt what so ever hear about it within two seconds after the broken Forge build became availible to the public.

 

Just look at how many people come in here asking about why their cracked launchers wont work with Forge (scroll down in this forum and back a few pages, look at the locked threads...most of them got the posters banned), don't you think there would be quite a few _more_ who came in with a problem like this?

 

Yes, it's not _impossible_ that this really is an extreme fringe case-bug in Forge that no one has noticed before but so far you haven't provided any evidence that points towards that being the case, everything is pointing towards this being a problem with your system and/or your installation of Minecraft.

 

You claim that you're a developer and knows what to do and not to do, why then haven't you even tried to resolve the problem from your side first?

You've messed around with MultiMC, uninstalled it, reinstalled it, installed Forge to the left, right and center and you always get the same problem..which somehow lead you to conclude that there is a problem with Forge because Forge is the only common factor?

 

It never occured to you to try with another launcher, preferably the vanilla launcher that Forge actually supports?

 

It never occured to you, as a developer, to move everything out of Windows space in the \program files\ folder structures where permissions are actually enforced every now and then and programs that believes they own their own folder fail all the time because, you know, access denied..and every antivirus/bloatware from Norton ever released will break anything that do something unexpected within said folders (like saving, changing, removing, modifying, etc files within said folder structures)?

 

If you have to use MultiMC, use the generic Linux version (I'm assuming MultiMC is somewhat platform independent just like vanilla MC, Forge, every other launcher and most everything else written in Java and related to Minecraft out there is, if not..then try something else, just not the Windows installer version) which hopefully should install itself under your user profile, instead of in the Program Files folders, where Windows couldn't care less what you or any program you run does to your files.

 

I promise you, yes I promise, that doing any of the above (move MultiMC and everything else out of Program Files into a folder you have full access to or use the vanilla launcher instead (it can handle multiple instances just fine now, just install different profiles in different folders and you can play any Minecraft and Forge version you want) or use the generic Linux version of MultiMC) will solve the problem. You may get new problems because you did it wrong, which at this point feels like a likely thing you would do, but at least you can break end portals without crashing.

 

Yes, I may be setting myself up for a monumental fail here if this turns out to really be a very obscure bug in Forge that required a developer with an unheard of skill level to even find (yet still somehow fail to resolve and why haven't you made a PR with a patch already?) but I really doubt that and even if I somehow end up winning a dumbest post of the year award it's worth it just to tell you that...uhm..your attitude really could use some improving if you want to get friendlier responses from people.

 

 

Posted

thank you Ravenleft for the wall of text

 

If you have to use MultiMC, use the generic Linux version

 

he/she is on windows

 

"[path to minecraft]\crash-reports\crash-[date & time]-client.txt"

 

no we want "[path to minecraft]\logs\fml-client-latest.log" (grab it right after a crash)

 

To me it looks like you've posted the log from MultiMC and not the logs from Forge or Minecraft.

 

the MMC(MultiMC) log is fine

 

but I really doubt that and even if I somehow end up winning a dumbest post of the year award it's worth it just to tell you that...uhm..your attitude really could use some improving if you want to get friendlier responses from people.

 

you are getting in dangerous territory

 

Yes, I may be setting myself up for a monumental fail here if this turns out to really be a very obscure bug in Forge that required a developer with an unheard of skill level to even find (yet still somehow fail to resolve and why haven't you made a PR with a patch already?)

 

WHAT ??????????

 

Just look at how many people come in here asking about why their cracked launchers wont work with Forge (scroll down in this forum and back a few pages, look at the locked threads...most of them got the posters banned), don't you think there would be quite a few _more_ who came in with a problem like this?

 

did you even read the log ??

 

 

 

Posted

Ok already I will thank you because you seemed to have solved my problem, it was just simply a stupid problem of Windows permission wich messed my MultiMC installation. That it was the nice part, now let's speak about the wall of text you wrote.

 

Frankly this is really unhealth and mean to judge me or anybody else only by my forge and some github posts. You don't even know me, we never discussed together, but you judge like you knew me since many years. But you aren't the only one in this case, I got some violent answers of some developpers on GitHub when I reported them this issue. I really can't understand this kind of behaviour, I have been always correct with anybody, I haven't insulted or hurted anybody, my message is pretty clear and well explained. And before to yell on someone that he is a spammer or a stupid asshole, you take the time to understand the problem and check if the problem is true. And if it's not, you give suppositions of where the problem could come, or you just close the subject and move away. There is no need to answer violently by injures. This is really an immature behaviour.

 

And yeah I'm a developper, but you you are clearly not one when I see that you consider MultiMC like a cracked Minecraft version, that I should the Linux version while I'm on Windows and it won't change anything to the MultiMC behaviour itself. If you had readded my first post, you would have seen that I already tried to reinstall totally MultiMC, to use only Minecraft with Forge alone, to try with the Minecraft normal application and not MultiMC. And yhe MultiMC log is the forge log, if you had looked a bit the log you could have seen that all the informations come from forge and the mods wich depends of it. MultiMC only adds some informations at the beginning about the settings of the Minecraft session before Forge lauchs it and begin to register and set all the mods.

 

And even if I'm a developper, I'm an human after all. I do errors like everybody here. I can't think to all the possibilities. The developpers of Minecraft, Forge and all the mods wich exists do errors too. If they were perfect, they wouldn't take time to release alpha and beta versions before an official version, they wouldn't need to open an issue section, and take fun to solve all the issues that "annoying" people like me report them.

 

So yeah, you won the dumbest post of the year award.

 

So now the problem has been solved, I close this issue, sorry again for the bothering.

  • 2 weeks later...
Posted

I reopen and update this topic because I got recently again a lot the bug, and all I had already explained in my precedent posts doesn't change anything. It seems that the bug really comes from Forge.

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

    • So me and a couple of friends are playing with a shitpost mod pack and one of the mods in the pack is corail tombstone and for some reason there is a problem with it, where on death to fire the player will get kicked out of the server and the tombstone will not spawn basically deleting an entire inventory, it doesn't matter what type of fire it is, whether it's from vanilla fire/lava, or from modded fire like ice&fire/lycanites and it's common enough to where everyone on the server has experienced at least once or twice and it doesn't give any crash log. a solution to this would be much appreciated thank you!
    • 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

×
×
  • Create New...

Important Information

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