Jump to content

[1.6.4]Random tickRate?


Ellbelly

Recommended Posts

I have set this up and it works. (I don't know if it is the right way though)

    public void onBlockAdded(World par1World, int par2, int par3, int par4)
    {
            par1World.scheduleBlockUpdate(par2, par3, par4, this.blockID, this.tickRate(par1World));
    }

    public int tickRate(World par1World)
    {
    	return 6000;
    }

    public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
    {
        par1World.setBlock(par2, par3, par4, Mod.Block.blockID);
                   
    }

 

Basically after about 5 minuets I am making my block change into a different block but I don't want it to be exactly 6000 ticks for each one. I have every thing setup and it works I just want to know if I can make the block change randomly after 6000 ticks.

Link to comment
Share on other sites

//declare this:
public int tickcount
//in the constructor:
this.setTickRandomly(true);
//and then add:
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
    {
if(tickcount < 50)
//Or a different value, you'll have to play around with it.
{
       tickcount++
}
else{
par1World.setBlock(par2, par3, par4, Mod.Block.blockID);
}
    }

That should be a lot more random than you have, still not sure if it's what you're looking for.

It's essentially the same as the code that farmland uses to decide if it is going to go back to being dirt, but with a counter in order to make it last longer.

Link to comment
Share on other sites

There were errors when I added it this is what I have now with no errors but nothing is happening?

//declare this
public int tickcount;

//In the Constructor
        this.setTickRandomly(true);

//----
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
        {
	if(tickcount < 50)
	{
		tickcount++;  // <--- it says  insert ";" to complete BlockStatements
	}
	else
	{
		par1World.setBlock(par2, par3, par4, Mod.Block.blockID);
	}
    }

Link to comment
Share on other sites

Just change the value of 50 to way lower, every number will give you on average 47 seconds, so setting 5 instead of 50 will change the block in roughly 4 minutes, but it could be way less or way more than that, depending on when the random ticks get assigned to the blocks. I'm pretty tired, don't know why I put 50 there, that would take something like an hour to change.

Link to comment
Share on other sites

Hi

 

Random ticks and scheduled ticks are not the same thing.  Random ticks occur randomly and are for things like leaves disappearing when not attached to a tree, farmland reverting to dirt, water turning to ice, etc.

 

Scheduled ticks are for things like water, buttons, etc.

 

I think your original code was pretty close already, i.e. you placed the block and 6000 ticks later it changes?

 

So what happened when you changed your 6000 to 6000 +Random.nextInt(100)?

 

-TGG

 

Link to comment
Share on other sites

is your block class extending Block?

This code is working perfect for me:

public class ExampleBlock extends Block 
	{
		public ExampleBlock (int id, Material material) 
		{
			super(id, material);
		}
		@Override
		public void onBlockAdded(World world, int x, int y, int z) {
			world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate(world));
		}
		@Override
	    public int tickRate(World par1World)
	    {
	    	return 6000;
	    }

	    public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
	    {
	        par1World.setBlock(par2, par3, par4, Block.dirt.blockID);
	                   
	    }
	}

Link to comment
Share on other sites

Yeah but this way has a minimum value now, for instance:

public class ChemRack extends Block 
		{
			public ChemRack (int id, Material material) 
			{
				super(id, material);
			}

			@Override
			public void onBlockAdded(World world, int x, int y, int z) {

				world.scheduleBlockUpdate(x, y, z, this.blockID, this.tickRate(world));
			}

			@Override
		    public int tickRate(World par1World)
		    {
				Random random = new Random();
		    	return 4000+random.nextInt(2000);
		    }


		    public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
		    {
		        par1World.setBlock(par2, par3, par4, Block.dirt.blockID);
		    }
		}

has a minimum tick value of 4000, and a maximum of 6000, you can adjust to what you'd like.

I was under the assumption that the tick value of 6000 worked fine, and adding the random integer made it go haywire, which is why I had you try the other way. this is much more reliable.

Link to comment
Share on other sites

public int tickRate(World par1World, Random random)
    {
    	return 6000 + random.nextInt(100);
    }

You want something like that?

 

Bad modder!  No cookie!  That function is no longer an override.

 

public int tickRate(World par1World)
    {
    	return 6000 + par1World.rand.nextInt(100);
    }

 

Magic!

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello, I installed minecraft 1.16.2, then i downloaded forge 1.16.2-33.0.20 and it just won t open...no error message...
    • [29may2023 23:10:06.337] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, Fabu10th, --version, 1.19.3-forge-44.1.23, --gameDir, C:\Users\fabuo\AppData\Roaming\.minecraft, --assetsDir, C:\Users\fabuo\AppData\Roaming\.minecraft\assets, --assetIndex, 2, --uuid, 1f7b7b2f9e814cf4b23dfa2f0ccb79a1, --accessToken, ????????, --clientId, N2EyZmZhMTUtYjA0OC00N2RkLTg2NTgtZDM2YTUwNTZlODFj, --xuid, 2535425619212215, --userType, msa, --versionType, release, --launchTarget, forgeclient, --fml.forgeVersion, 44.1.23, --fml.mcVersion, 1.19.3, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20221207.122022] [29may2023 23:10:06.341] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.3 by Microsoft; OS Windows 10 arch amd64 version 10.0 [29may2023 23:10:07.130] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.onLoad [29may2023 23:10:07.131] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file URL: union:/C:/Users/fabuo/AppData/Roaming/.minecraft/mods/OptiFine_1.19.3_HD_U_I3.jar%23265!/ [29may2023 23:10:07.138] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFine ZIP file: C:\Users\fabuo\AppData\Roaming\.minecraft\mods\OptiFine_1.19.3_HD_U_I3.jar [29may2023 23:10:07.140] [main/INFO] [optifine.OptiFineTransformer/]: Target.PRE_CLASS is available [29may2023 23:10:07.185] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/fabuo/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2398!/ Service=ModLauncher Env=CLIENT [29may2023 23:10:07.190] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.initialize [29may2023 23:10:07.783] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\fabuo\AppData\Roaming\.minecraft\libraries\net\minecraftforge\fmlcore\1.19.3-44.1.23\fmlcore-1.19.3-44.1.23.jar is missing mods.toml file [29may2023 23:10:07.787] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\fabuo\AppData\Roaming\.minecraft\libraries\net\minecraftforge\javafmllanguage\1.19.3-44.1.23\javafmllanguage-1.19.3-44.1.23.jar is missing mods.toml file [29may2023 23:10:07.791] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\fabuo\AppData\Roaming\.minecraft\libraries\net\minecraftforge\lowcodelanguage\1.19.3-44.1.23\lowcodelanguage-1.19.3-44.1.23.jar is missing mods.toml file [29may2023 23:10:07.794] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\fabuo\AppData\Roaming\.minecraft\libraries\net\minecraftforge\mclanguage\1.19.3-44.1.23\mclanguage-1.19.3-44.1.23.jar is missing mods.toml file [29may2023 23:10:07.935] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 8 dependencies adding them to mods collection [29may2023 23:10:08.445] [main/INFO] [optifine.OptiFineTransformationService/]: OptiFineTransformationService.transformers [29may2023 23:10:08.451] [main/INFO] [optifine.OptiFineTransformer/]: Targets: 395 [29may2023 23:10:09.288] [main/INFO] [optifine.OptiFineTransformationService/]: additionalClassesLocator: [optifine., net.optifine.] [29may2023 23:10:10.427] [main/INFO] [mixin/]: Compatibility level set to JAVA_17 [29may2023 23:10:10.610] [main/INFO] [mixin/]: Successfully loaded Mixin Connector [ca.spottedleaf.starlight.mixin.MixinConnector] [29may2023 23:10:10.610] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeclient' with arguments [--version, 1.19.3-forge-44.1.23, --gameDir, C:\Users\fabuo\AppData\Roaming\.minecraft, --assetsDir, C:\Users\fabuo\AppData\Roaming\.minecraft\assets, --uuid, 1f7b7b2f9e814cf4b23dfa2f0ccb79a1, --username, Fabu10th, --assetIndex, 2, --accessToken, ????????, --clientId, N2EyZmZhMTUtYjA0OC00N2RkLTg2NTgtZDM2YTUwNTZlODFj, --xuid, 2535425619212215, --userType, msa, --versionType, release] [29may2023 23:10:10.650] [main/INFO] [Rubidium/]: Loaded configuration file for Rubidium: 30 options available, 0 override(s) found [29may2023 23:10:10.684] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.686] [main/WARN] [mixin/]: Reference map 'yungsextras.refmap.json' for yungsextras_forge.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.703] [main/WARN] [mixin/]: Reference map 'xlpackets.refmap.json' for xlpackets.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.718] [main/WARN] [mixin/]: Reference map 'configured.refmap.json' for configured.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.728] [main/WARN] [mixin/]: Reference map 'simplyswords-common-refmap.json' for simplyswords-common.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.729] [main/WARN] [mixin/]: Reference map 'simplyswords-forge-refmap.json' for simplyswords.mixins.json could not be read. If this is a development environment you can ignore this message [29may2023 23:10:10.767] [main/WARN] [mixin/]: Reference map 'apexcore.refmap.json' for apexcore.mixins.json could not be read. If this is a development environment you can ignore this message
    • I'm looking for someone who for the most part would be taking over my mods main development. With work I just can't give it the time it deserves but I think it will be a good mod to fill the void of BuildCraft while still having its own unique twist. It is currently still only on 1.16.5 only because I just haven't had the time to try and get an update plus there were features I was working on that I had wanted to hammer out first. Not to mention I'm just not very good at Java or Programming in general. I can get things done and they mostly work but I am just not skilled enough to keep my brain child alive and honestly optimized. My only real requirement is that if I choose to come back I want to be able to jump back in and do so. I have a basic outline of how I want things to work in general for the things not added yet that were planned features and I also have some started but not yet finished ideas in. I'm currently working on getting a repo up on github that has my most current code so that way its easier for everyone involved to contribute. I'm sure the best first step would be to update to the newest version of forge first before doing this to give the next person a good head start but I'm sure alot of my stuff needs rewritten anyways so I figured I'd do this now as it sits.  Any other questions or details can be worked out through messages but if you are interested please drop a reply. Here is the link to the curseforge page which you can use to get to the github repo: https://www.curseforge.com/minecraft/mc-mods/mechanicraft
    • Hi, I am new to minecraft modding and have been following this guide on youtube (https://www.youtube.com/watch?v=aYH_81TXJxg&t=15s) and the textures for the modded items are not showing up. The game launches successfully and no errors are given. When I copied from the original GitHub it works perfectly but mine doesn't even though as far as I am aware they are exactly the same. Can someone please tell me what I am doing wrong? My code GitHub: https://github.com/BitFireStream/TutorialMod The guides GitHub: https://github.com/Tutorials-By-Kaupenjoe/Forge-Tutorial-1.19.3/tree/2-items
    • Hello. I have encountered an issue whist attempting to play on Forge 1.19.4 on the latest stable release beta as of 05/29/23. Everytime I attempt to load Minecraft Forge with mods installed, I recieve the following crash report:    The game crashed whilst rendering overlay Error: java.lang.IllegalStateException: Failed to create model for minecraft:hanging_sign   I have tried: Deleting all post-install custom installations Reinstalling Minecraft (deleting all files within Roaming/.minecraft folder and reinstalling) Updating Java Runtime Environment Uninstalling Java via Control Panel and downloading and installing newest recommended version (Java 8 Update 371)   Below I have included both the crash log I recieved, as well as the debug.log. I hope someone can help! crash-client.txt debug.log
  • Topics

×
×
  • Create New...

Important Information

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