Skip to content

Conversation

@Callisto95
Copy link

The method onScheduledTick is only called every tick on local servers.

NOTE: this uses a method from the WaterFluid class, not the FlowableFluid class. This should not change anything, since all checks, e.g. the cascade strength check, tests against water anyway, but I'm not familiar with this, so I may be wrong.


# modrinth access token
# it's existence is required to download dependencies
modrinth_token="PLACE_YOUR_TOKEN_HERE"
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(if this isn't here, a weird error message appears)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would I install this fix? Using the most recent version of Particulate (which is this mod but updated for the most recent version of MC), and the bug with cascades on multiplayer is still happening

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure this change isn't relevant and I pushed it by accident. This looks way too out of place.
This was one of my first MC modding experiences, so I don't even know anymore what I did wrong there.

Only look at f209bbc for relevant changes.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL:DR: use WaterFluid.class#randomDisplayTick instead if FlowableFluid#onScheduledTick for cascade updates.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I apologize, I'm not a coder, just someone who wants to use this mod- how to I go into the mod to edit it? I'm using Prism Launcher, so it downloaded the mod for me as a .jar.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a patch for the code. You have to compile it with the changes yourself.
There's no Jar with the patch applied.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha, I will try to figure that out. Thank you!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm really sorry to keep bugging you- but I've hit a wall with this. I have the class file edited with your code (though I replaced "chailotl" with "dunnewortel") but when I try to run javac, it gives me 21 errors, mainly that it can't find most of the packages, despite the file being within a Winrar extraction of the entire original jar, so everything within the jar is there.

C:\Users[MYNAME]\AppData\Roaming\PrismLauncher\instances\Immersed With Shaders(1)\minecraft\mods\particulate-1.0.2+1.21.5 CASCADE FIX\com\dunnewortel\particulate\mixin>javac InjectFlowableFluid.java
InjectFlowableFluid.java:3: error: cannot find symbol
import com.dunnewortel.particular.Main;
^
symbol: class Main
location: package com.dunnewortel.particular
InjectFlowableFluid.java:4: error: package net.minecraft.fluid does not exist
import net.minecraft.fluid.FluidState;
^
InjectFlowableFluid.java:5: error: package net.minecraft.fluid does not exist
import net.minecraft.fluid.WaterFluid;
^
InjectFlowableFluid.java:6: error: package net.minecraft.util.math does not exist
import net.minecraft.util.math.BlockPos;
^
InjectFlowableFluid.java:7: error: package net.minecraft.util.math.random does not exist
import net.minecraft.util.math.random.Random;
^
InjectFlowableFluid.java:8: error: package net.minecraft.world does not exist
import net.minecraft.world.World;
^
InjectFlowableFluid.java:9: error: package org.spongepowered.asm.mixin does not exist
import org.spongepowered.asm.mixin.Mixin;
^
InjectFlowableFluid.java:10: error: package org.spongepowered.asm.mixin.injection does not exist
import org.spongepowered.asm.mixin.injection.At;
^
InjectFlowableFluid.java:11: error: package org.spongepowered.asm.mixin.injection does not exist
import org.spongepowered.asm.mixin.injection.Inject;
^
InjectFlowableFluid.java:12: error: package org.spongepowered.asm.mixin.injection.callback does not exist
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
^
InjectFlowableFluid.java:14: error: cannot find symbol
@mixin(WaterFluid.class)
^
symbol: class Mixin
InjectFlowableFluid.java:20: error: cannot find symbol
protected void spawnCascades(World world, BlockPos pos, FluidState state, Random random, CallbackInfo ci)
^
symbol: class World
location: class InjectFlowableFluid
InjectFlowableFluid.java:20: error: cannot find symbol
protected void spawnCascades(World world, BlockPos pos, FluidState state, Random random, CallbackInfo ci)
^
symbol: class BlockPos
location: class InjectFlowableFluid
InjectFlowableFluid.java:20: error: cannot find symbol
protected void spawnCascades(World world, BlockPos pos, FluidState state, Random random, CallbackInfo ci)
^
symbol: class FluidState
location: class InjectFlowableFluid
InjectFlowableFluid.java:20: error: cannot find symbol
protected void spawnCascades(World world, BlockPos pos, FluidState state, Random random, CallbackInfo ci)
^
symbol: class Random
location: class InjectFlowableFluid
InjectFlowableFluid.java:20: error: cannot find symbol
protected void spawnCascades(World world, BlockPos pos, FluidState state, Random random, CallbackInfo ci)
^
symbol: class CallbackInfo
location: class InjectFlowableFluid
InjectFlowableFluid.java:14: error: cannot find symbol
@mixin(WaterFluid.class)
^
symbol: class WaterFluid
InjectFlowableFluid.java:17: error: cannot find symbol
@Inject(
^
symbol: class Inject
location: class InjectFlowableFluid
InjectFlowableFluid.java:19: error: cannot find symbol
at = @at("TAIL"))
^
symbol: class At
location: class InjectFlowableFluid
InjectFlowableFluid.java:22: error: package Main does not exist
if (!Main.CONFIG.cascades()) { return; }
^
InjectFlowableFluid.java:24: error: cannot find symbol
Main.updateCascade(world, pos, state);
^
symbol: variable Main
location: class InjectFlowableFluid
21 errors

What could be causing this? It's within the mod folder of the instance of minecraft so I thought it'd have access to all the files there. If there's no fix to this, that's fine, I can just deal with the bug until it's officially fixed lol.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're missing Fabric Loom's mappings and the Fabric API.
Simply changing the class names isn't enough, you need an actual development environment. There are tutorials for that on the Fabric wiki.
Given that there's already a project here: use IntelliJ CE with the Minecraft plugin and open the folder for Particular. The IDE will configure itself and it'll allow you to edit and build mods with your desired changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants