summaryrefslogtreecommitdiff
path: root/src/main/java/luckyblock/action/triggers/BroadcastTrigger.java
blob: fae58f0671dbe75006686537bdda480356a74620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package luckyblock.action.triggers;


import luckyblock.action.LuckyActionHolder;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;

import java.util.ArrayList;
import java.util.List;

public class BroadcastTrigger implements ILuckyTrigger {
    @Override
    public String getName() {
        return "broadcast";
    }

    @Override
    public void execute(ServerLevel level, BlockPos pos, LuckyActionHolder holder, RandomSource random) {
        if (holder.json != null) {
            List<String> messages = new ArrayList<>();
            if (holder.json.isJsonArray()) {
                holder.json.getAsJsonArray().forEach(e -> messages.add(e.getAsString()));
            } else if (holder.json.isJsonPrimitive()) {
                messages.add(holder.json.getAsString());
            }
            for (String msg : messages) {
                level.getServer().getPlayerList().broadcastSystemMessage(Component.literal(msg), false);
            }
        }
    }
}