Jump to content

Recommended Posts

Posted

I want to disable crop trampling.  The two relevant pieces of code are:

 

BlockFarmland.class

    /**
     * Block's chance to react to a living entity falling on it.
     */
    public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance)
    {
        if (!worldIn.isRemote && entityIn.canTrample(worldIn, this, pos, fallDistance)) // Forge: Move logic to Entity#canTrample
        {
            this.turnToDirt(worldIn, pos);
        }

        super.onFallenUpon(worldIn, pos, entityIn, fallDistance);
    }

 

Entity.class

    public boolean canTrample(World world, Block block, BlockPos pos, float fallDistance)
    {
        return world.rand.nextFloat() < fallDistance - 0.5F
            && this instanceof EntityLivingBase
            && (this instanceof EntityPlayer || world.getGameRules().getBoolean("mobGriefing"))
            && this.width * this.width * this.height > 0.512F;
    }

 

The only way I can think of to turn off trampling globally is to create a new subclass Entity for every Entity in the game, override the canTrample method, and then replace all the default spawns with my new subclass.  This... seems like a bad idea.  (Maybe there is an easier way, but I don't see any place here for a global override)

 

I suggest adding an event to onFallenUpon.  First fire the TrampledEvent where it could be set to Result.Deny.  If left on Result.Default, it would call the Entity.canTrample method to produce the default behavior.  This would allow for not only global overrides, but also more detailed behavior like allowing/denying based off what's growing.

Posted

What version are you using?

This was added 3 months ago.

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

  Reveal hidden contents

 

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

    • Veuillez lire la FAQ (le lien est en haut de la page) et les journaux de publication tels que décrits ici. Cela aidera à déterminer ce qui se passe. Ce sont des forums anglais, j'ai utilisé un traducteur pour essayer de vous aider, j'espère que ça se retrouve bien.
    • I tried adding the Create (6.0.4) mod to my modpack which causes it to crash before it finishes loading. I tried removing the mod Cold Sweat because the error said it failed to load due to something in Create but when I removed it, it kept crashing; and I also tried downgrading Create, but nothing helped. I assume there's an incompatible mod that's causing Create to not load correctly, but I can't find it. launcher_log.txt: https://mclo.gs/kn5Qkk2 debug.log: https://mclo.gs/zIKoAaB crash report: https://mclo.gs/j86C10Y The part of debug.log that I think is the crash (after Create mod already loaded incorrectly): [02May2025 14:52:36.813] [Worker-ResourceReload-2/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/]: Exception caught during firing event: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour Index: 3 Listeners: 0: NORMAL 1: net.minecraftforge.eventbus.EventBus$$Lambda$1770/0x00000008009bc8a0@70223c71 2: ASM: class com.momosoftworks.coldsweat.core.event.PotionRecipes register(Lnet/minecraftforge/fml/event/lifecycle/FMLCommonSetupEvent;)V 3: ASM: class com.momosoftworks.coldsweat.compat.CompatManager$ModEvents setupModEvents(Lnet/minecraftforge/fml/event/lifecycle/FMLCommonSetupEvent;)V java.lang.NoClassDefFoundError: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour at TRANSFORMER/cold_sweat@2.3.12/com.momosoftworks.coldsweat.compat.CompatManager$ModEvents.setupModEvents(CompatManager.java:501) at TRANSFORMER/cold_sweat@2.3.12/com.momosoftworks.coldsweat.compat.__ModEvents_setupModEvents_FMLCommonSetupEvent.invoke(.dynamic) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) at LAYER PLUGIN/javafmllanguage@1.20.1-47.4.0/net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:121) at LAYER PLUGIN/fmlcore@1.20.1-47.4.0/net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$5(ModContainer.java:127) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.ClassNotFoundException: com.simibubi.create.content.redstone.displayLink.DisplayBehaviour at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:141) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 14 more [02May2025 14:52:36.972] [Worker-ResourceReload-2/ERROR] [net.minecraftforge.fml.javafmlmod.FMLModContainer/LOADING]: Caught exception during event FMLCommonSetupEvent dispatch for modid cold_sweat java.lang.NoClassDefFoundError: com/simibubi/create/content/redstone/displayLink/DisplayBehaviour at com.momosoftworks.coldsweat.compat.CompatManager$ModEvents.setupModEvents(CompatManager.java:501) ~[ColdSweat-2.3.12.jar%23537!/:2.3.12] at com.momosoftworks.coldsweat.compat.__ModEvents_setupModEvents_FMLCommonSetupEvent.invoke(.dynamic) ~[ColdSweat-2.3.12.jar%23537!/:2.3.12] at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:121) ~[javafmllanguage-1.20.1-47.4.0.jar%23784!/:?] at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$5(ModContainer.java:127) ~[fmlcore-1.20.1-47.4.0.jar%23783!/:?] at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] Caused by: java.lang.ClassNotFoundException: com.simibubi.create.content.redstone.displayLink.DisplayBehaviour at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:141) ~[securejarhandler-2.1.10.jar:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] ... 14 more
    • You would probably be better served looking for support where NeoForge support is given, I believe their discord server.
    • If you copy and paste the java commandline into the terminal, what happens? as in trying to launch it without using the .bat file.
    • Install Java 17   If java 17 is already installed, reassign Java Open Settings  Select Apps  Select Default Apps (left-hand side)  Select 'Choose default apps by file type'  Scroll down and find .jar  Change the application for the .jar file to Java 
  • Topics

×
×
  • Create New...

Important Information

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