#Trying to set a gamerule on server start

5 messages · Page 1 of 1 (latest)

fierce drum
#

I am trying to set a gamerule on server start, because some mod is constantly resetting it, and I have failed to find out which one it is.
I reloaded the scripts, and no errors were found.
This is all on a server-only KubeJS instance, running on Forge 1.20.1. All of those files are in server_scripts.
This is my current code, and it looks like it does not run at all.

        event.server.runCommand('gamerule naturalRegeneration true');
});```

I have two other scripts as well:
This one is supposed to repeat a message every second, but alas it does not run as well.
``` ServerEvents.loaded(event => {
        interval = 20;
        event.server.scheduleRepeatingInTicks(interval, cb => {
          event.server.runCommand('say t');
    })
});```

This one is supposed to keep track of the seconds passed on my server, but it also does not run.
``` ServerEvents.loaded(event => {
      let persistentData = c.source.server.persistentData
      // first init 
      if (!persistentData.seconds) persistentData.seconds = 0

      event.server.scheduleRepeatingInTicks(20, cb => {
          persistentData.seconds = persistentData.seconds + 1
          event.server.runCommand('say '+persistantData.seconds);
      })
});```
proven harborBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

bright peak
#

have you tried doing this with a datapack/function, sounds good for it

fierce drum
#

fixed it, the code was in fact not working, but the error appears not with /kubejs errors server, but in the server console

#

the working codes are:

ServerEvents.loaded(event => {
  event.server.scheduleRepeatingInTicks(20*60*60, ()  => {
    event.server.runCommand(`say text`);
  });
});```

ServerEvents.tick(event => {
const data = event.server.persistentData;
data.ticks = data.ticks + 1;
if(data.ticks >= 20)
{
data.ticks = 0;
data.seconds = data.seconds + 1;
};
if(data.seconds >= 60)
{
data.seconds = 0;
data.minutes = data.minutes + 1;
};
if(data.minutes >= 60)
{
data.minutes = 0;
data.hours = data.hours + 1;
};
if(data.hours >= 24)
{
data.hours = 0;
data.days = data.days + 1;
};
});

ServerEvents.loaded(event => {
const data = event.server.persistentData;
if (!data.ticks) data.ticks = 0; // initialize if missing
if (!data.seconds) data.seconds = 0; // initialize if missing
if (!data.minutes) data.minutes = 0; // initialize if missing
if (!data.hours) data.hours = 0; // initialize if missing
if (!data.days) data.days = 0; // initialize if missing
});

ServerEvents.customCommand('timestamp', event => {
const data = event.server.persistentData;
let mcdays = 0.0;
mcdays = data.days72+data.hours3+data.minutes*0.05;
event.server.runCommand(say ${data.days}d ${data.hours}h ${data.minutes}m ${data.seconds}s ${data.ticks}t ${mcdays}MCd);
});```

ServerEvents.loaded(event => {
        event.server.gameRules.set("naturalRegeneration", true);
});