#Minecraft 1.20 update break my script

1 messages · Page 1 of 1 (latest)

lime flume
#
world.beforeEvents.chatSend.subscribe((eventData) => {
      const player = eventData.sender;
      if (!player.hasTag('admin')) return;
      let playerCmds = ["!kick"];
      switch (playerCmds.includes(eventData.message.split(' ')[0]) ? eventData.message.split(' ')[0] : eventData.message) {
        case '!kick':
          eventData.cancel = true;
          let otherPlayerName = eventData.message.split(' ').slice(1).join(' ');
          let otherPlayer;
          for(const player of world.getPlayers()) {
            if(player.name == otherPlayerName) otherPlayer = player;
          }
          if(!otherPlayer) return player.runCommand(`tellraw @s {"rawtext":[{"text":"§l§4[Serveur]§cLe joueur §e${otherPlayerName}§c n'est pas connecté!"}]}`);
          otherPlayer.runCommand(`tellraw @a{"rawtext":[{"text":"§l§4[Serveur]§c${otherPlayerName} a été expulser par ${player.name}!"}]}`);
          break;
        default: break;
   }

minecraft detected an error at line 19

unkempt sedge
#

Send the error

lime flume
silent arch
#
world.beforeEvents.chatSend.subscribe((eventData) => {
    const player = eventData.sender;
    if (!player.hasTag('admin')) return;
    let playerCmds = ["!kick"];
    switch (playerCmds.includes(eventData.message.split(' ')[0]) ? eventData.message.split(' ')[0] : eventData.message) {
        case '!kick':
            eventData.cancel = true;
            let otherPlayerName = eventData.message.split(' ').slice(1).join(' ');
            let otherPlayer;
            for (const player of world.getPlayers()) {
                if (player.name == otherPlayerName) otherPlayer = player;
            }
            system.run(() => {
                if (!otherPlayer) return player.runCommand(`tellraw @s {"rawtext":[{"text":"§l§4[Serveur]§cLe joueur §e${otherPlayerName}§c n'est pas connecté!"}]}`);
                otherPlayer.runCommand(`tellraw @a{"rawtext":[{"text":"§l§4[Serveur]§c${otherPlayerName} a été expulser par ${player.name}!"}]}`);
            })
            break;
        default: break;
    }
})
lime flume
#
world.beforeEvents.chatSend.subscribe((eventData) => {
    const player = eventData.sender;
    if (!player.hasTag('admin')) return;
    let playerCmds = ["!kick"];
    switch (playerCmds.includes(eventData.message.split(' ')[0]) ? eventData.message.split(' ')[0] : eventData.message) {
        case '!kick':
            eventData.cancel = true;
            let otherPlayerName = eventData.message.split(' ').slice(1).join(' ');
            let otherPlayer;
            for (const player of world.getPlayers()) {
                if (player.name == otherPlayerName) otherPlayer = player;
            }
            system.run(() => {
                if (!otherPlayer) return player.runCommand(`tellraw @s {"rawtext":[{"text":"§l§4[Serveur]§cLe joueur §e${otherPlayerName}§c n'est pas connecté!"}]}`);
                otherPlayer.runCommand(`tellraw @a{"rawtext":[{"text":"§l§4[Serveur]§c${otherPlayerName} a été expulser par ${player.name}!"}]}`);
            })
            break;
        default: break;
    }
})

New error system.run

silent arch
#

You need to import system from @minecraft/server

#

Just like how you would import world

lime flume
#
{
          "module_name": "@minecraft/server",
          "version": "1.3.0-beta"
        }
#

I have this in my manifest

#
import {
  world, 
  Player
} from '@minecraft/server';

And this in my main.js

silent arch
#

Change those imports to ```js
import {
world,
Player,
system
} from '@minecraft/server';

lime flume
#

thanks you

silent arch
#

No problem!

lime flume
#

I may be asking a lot but when I send my message nothing is sent in the chat why

world.beforeEvents.chatSend.subscribe((eventData) => {
    const player = eventData.sender;
    if (!player.hasTag('admin')) return;
    let playerCmds = ["!rankup-guide"];
    switch (playerCmds.includes(eventData.message.split(' ')[0]) ? eventData.message.split(' ')[0] : eventData.message) {
        case '!rankup-guide':
            eventData.cancel = true;
            let playerrankname = eventData.message.split(' ').slice(1).join(' ');
            let playerrank;
            for (const player of world.getPlayers()) {
                if (player.name == playerrankname) playerrank = player;
            }
            system.run(() => {
                if (!playerrank) return 
                player.runCommand(`tellraw @s {"rawtext":[{"text":"§l§4[Serveur]§cLe joueur §e${playerrankname}§c n'est pas connecté!"}]}`);
                playerrank.runCommand(`tellraw @a{"rawtext":[{"text":"§l§4[Serveur]§2${playerrankname} a été promu guide par ${player.name}!"}]}`);
                playerrank.runCommand(`tag ${playerrankname} add guide`);
            })
            break;
        default: break;
    }
})
silent arch
#

Do you want the message to be sent if you type !rankup-guide?

lime flume
#

Yes

#

I wish that when I type the command what's in system.run will run

silent arch
#

Oh, that's the problem

#

I will be right with you (I have to do something right now).

lime flume
#

No problem

silent arch
#

I don't see the problem here

#

Sorry!

lime flume
#

I found a problem but it still doesn't work

#
 if (!player.hasTag('admin')) return;

the exclamation point says don't have the tag when I want to do the opposite

silent arch
#

So you want the code to run when you don't have admin?

#

Or do have admin?

lime flume
#

when the player is admin he can promote someone guide

silent arch
#

So then that code should work

#

Only runs if you have the tag "admin"