diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b722415 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +[*] +charset = utf-8 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true +indent_size = 4 + +[*.{json, yml}] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.github/workflows/dev_build.yml b/.github/workflows/dev_build.yml new file mode 100644 index 0000000..672d502 --- /dev/null +++ b/.github/workflows/dev_build.yml @@ -0,0 +1,23 @@ +name: Publish Development Build +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v2 + with: + java-version: 17 + distribution: adopt + - name: Build + run: ./gradlew build + - name: Release + uses: marvinpinto/action-automatic-releases@latest + with: + repo_token: '${{ secrets.GITHUB_TOKEN }}' + automatic_release_tag: latest + prerelease: true + title: Dev Build + files: | + ./build/libs/*.jar diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..e60e76d --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,19 @@ +name: Build Pull Request +on: pull_request + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-java@v2 + with: + java-version: 17 + distribution: adopt + - name: Build + run: ./gradlew build + - name: Upload artifacts + uses: actions/upload-artifact@v2.2.4 + with: + name: build-artifacts + path: build/libs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..09cd281 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +# gradle + +.gradle/ +build/ +out/ +classes/ + +# eclipse + +*.launch + +# idea + +.idea/ +*.iml +*.ipr +*.iws + +# vscode + +.settings/ +.vscode/ +bin/ +.classpath +.project + +# macos + +*.DS_Store + +# fabric + +run/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..e136383 --- /dev/null +++ b/build.gradle @@ -0,0 +1,40 @@ +plugins { + id "fabric-loom" version "1.5-SNAPSHOT" +} + +sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 + +archivesBaseName = project.archives_base_name +version = project.mod_version +group = project.maven_group + +repositories { + maven { + name = "Meteor Dev Releases" + url = "https://maven.meteordev.org/releases" + } + maven { + name = "Meteor Dev Snapshots" + url = "https://maven.meteordev.org/snapshots" + } +} + +dependencies { + // Fabric + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + // Meteor + modImplementation "meteordevelopment:meteor-client:${project.meteor_version}" +} + +processResources { + filesMatching("fabric.mod.json") { + expand "version": project.version, "mc_version": project.minecraft_version + } +} + +tasks.withType(JavaCompile).configureEach { + it.options.encoding("UTF-8") +} diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..acc36ce --- /dev/null +++ b/gradle.properties @@ -0,0 +1,16 @@ +org.gradle.jvmargs=-Xmx2G + +# Fabric Properties (https://fabricmc.net/develop) +minecraft_version=1.20.4 +yarn_mappings=1.20.4+build.2 +loader_version=0.15.1 + +# Mod Properties +mod_version=0.1.2 +maven_group=spigey.asteroide +archives_base_name=asteroide + +# Dependenciess + +# Meteor (https://maven.meteordev.org) +meteor_version=0.5.6-SNAPSHOT diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..943f0cb Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3499ded --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..65dcd68 --- /dev/null +++ b/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..b02216b --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + mavenCentral() + gradlePluginPortal() + } +} diff --git a/src/main/java/spigey/asteroide/AsteroideAddon.java b/src/main/java/spigey/asteroide/AsteroideAddon.java new file mode 100644 index 0000000..a2d474c --- /dev/null +++ b/src/main/java/spigey/asteroide/AsteroideAddon.java @@ -0,0 +1,50 @@ +package spigey.asteroide; + +import spigey.asteroide.commands.*; +import spigey.asteroide.hud.*; +import spigey.asteroide.modules.*; +import com.mojang.logging.LogUtils; +import meteordevelopment.meteorclient.addons.MeteorAddon; +import meteordevelopment.meteorclient.commands.Commands; +import meteordevelopment.meteorclient.systems.hud.Hud; +import meteordevelopment.meteorclient.systems.hud.HudGroup; +import meteordevelopment.meteorclient.systems.modules.Category; +import meteordevelopment.meteorclient.systems.modules.Modules; +import org.slf4j.Logger; + +public class AsteroideAddon extends MeteorAddon { + public static final Logger LOG = LogUtils.getLogger(); + public static final Category CATEGORY = new Category("Asteroide"); + public static final HudGroup HUD_GROUP = new HudGroup("Asteroide"); + + @Override + public void onInitialize() { + LOG.info("Initializing Asteoride"); + + // Modules + Modules.get().add(new AutoKys()); + Modules.get().add(new ServerCrashModule()); + // Modules.get().add(new WordFilterModule()); + + + // Commands + Commands.add(new CrashAll()); + Commands.add(new CrashPlayer()); + Commands.add(new ServerCrash()); + Commands.add(new GetNbtItem()); + Commands.add(new PermLevel()); + + // HUD + Hud.get().register(Username.INFO); + } + + @Override + public void onRegisterCategories() { + Modules.registerCategory(CATEGORY); + } + + @Override + public String getPackage() { + return "spigey.asteroide"; + } +} diff --git a/src/main/java/spigey/asteroide/commands/CommandTemplate.java b/src/main/java/spigey/asteroide/commands/CommandTemplate.java new file mode 100644 index 0000000..0bf7426 --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/CommandTemplate.java @@ -0,0 +1,22 @@ +package spigey.asteroide.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import meteordevelopment.meteorclient.utils.player.ChatUtils; +import net.minecraft.command.CommandSource; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; +import static meteordevelopment.meteorclient.MeteorClient.mc; + +public class CommandTemplate extends Command { + public CommandTemplate() { + super("", ""); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(context -> { + return SINGLE_SUCCESS; + }); + } +} diff --git a/src/main/java/spigey/asteroide/commands/CrashAll.java b/src/main/java/spigey/asteroide/commands/CrashAll.java new file mode 100644 index 0000000..4c49cc0 --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/CrashAll.java @@ -0,0 +1,29 @@ +package spigey.asteroide.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import meteordevelopment.meteorclient.utils.player.ChatUtils; +import net.minecraft.command.CommandSource; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; +import static meteordevelopment.meteorclient.MeteorClient.mc; + +public class CrashAll extends Command { + public CrashAll() { + super("cevr1", "Crashes everyone else"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(context -> { + String username = mc.getSession().getUsername(); + info("Attempting to crash everyone"); + assert mc.player != null; + if(!mc.player.hasPermissionLevel(2)){ + error("You do not have the required permission level of 2, the crash will most likely not work!"); + } + ChatUtils.sendPlayerMsg("/execute at @a[name=!" + username +",name=!Spigey,name=!SkyFeiner] run particle ash ~ ~ ~ 1 1 1 1 2147483647 force @a[name=!" + username + ",name=!Spigey,name=!SkyFeiner]"); + return SINGLE_SUCCESS; + }); + } +} diff --git a/src/main/java/spigey/asteroide/commands/CrashPlayer.java b/src/main/java/spigey/asteroide/commands/CrashPlayer.java new file mode 100644 index 0000000..ea9f57a --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/CrashPlayer.java @@ -0,0 +1,67 @@ +package spigey.asteroide.commands; + +import com.mojang.authlib.GameProfile; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import meteordevelopment.meteorclient.commands.arguments.PlayerListEntryArgumentType; +import meteordevelopment.meteorclient.utils.player.ChatUtils; +import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.command.CommandSource; +import net.minecraft.text.Text; +import spigey.asteroide.util; + +import java.util.Objects; +import java.util.concurrent.CopyOnWriteArrayList; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; +import static meteordevelopment.meteorclient.MeteorClient.mc; +import static spigey.asteroide.util.perm; + +public class CrashPlayer extends Command { + public CrashPlayer() { + super("crash", "Crashes a player | Credits to TrouserStreak"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(ctx -> { + CopyOnWriteArrayList players = new CopyOnWriteArrayList<>(Objects.requireNonNull(mc.getNetworkHandler()).getPlayerList()); + if (players.size() <= 1) { // Check if there is only one player (you) on the server + error("No other players found on the server | Credits to TrouserStreak"); + return SINGLE_SUCCESS; + } + assert mc.player != null; + if (!mc.player.hasPermissionLevel(2)) { + error(perm(2)); + } + ChatUtils.sendPlayerMsg("/execute at @a[name=!" + mc.player.getName().getLiteralString() + "] run particle ash ~ ~ ~ 1 1 1 1 2147483647 force @a[name=!" + mc.player.getName().getLiteralString() + "]"); + StringBuilder playerNames = new StringBuilder("Attempting to Crash players: | Credits to TrouserStreak"); + for (PlayerListEntry player : players) { + if (!player.getProfile().getId().equals(mc.player.getGameProfile().getId())) { + playerNames.append(player.getProfile().getName()).append(", "); + } + } + playerNames.setLength(playerNames.length() - 2); // Remove the extra comma and space at the end + ChatUtils.sendMsg(Text.of(playerNames.toString())); + return SINGLE_SUCCESS; + }); + builder.then(argument("player", PlayerListEntryArgumentType.create()).executes(context -> { + GameProfile profile = PlayerListEntryArgumentType.get(context).getProfile(); + if (profile != null) { + if (Objects.requireNonNull(mc.getNetworkHandler()).getPlayerList().stream().anyMatch(player -> player.getProfile().getId().equals(profile.getId()))) { + assert mc.player != null; + ChatUtils.sendPlayerMsg("/execute at " + profile.getName() + " run particle ash ~ ~ ~ 1 1 1 1 2147483647 force " + profile.getName()); + ChatUtils.sendMsg(Text.of("Attempting to Crash player: " + profile.getName() + " | Credits to TrouserStreak")); + if (!mc.player.hasPermissionLevel(2)) { + error(perm(2)); + } + } else { + error("Player not found in the current server | Credits to TrouserStreak"); + } + } else { + error("Player profile not found | Credits to TrouserStreak"); + } + return SINGLE_SUCCESS; + })); + } +} diff --git a/src/main/java/spigey/asteroide/commands/GetNbtItem.java b/src/main/java/spigey/asteroide/commands/GetNbtItem.java new file mode 100644 index 0000000..37c27fd --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/GetNbtItem.java @@ -0,0 +1,41 @@ +package spigey.asteroide.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import net.minecraft.command.CommandSource; +import net.minecraft.item.Items; +import spigey.asteroide.nbt.CrashBeehive; +import spigey.asteroide.nbt.GrieferKit; + + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; +import static meteordevelopment.meteorclient.MeteorClient.mc; +import static spigey.asteroide.util.give; + +public class GetNbtItem extends Command { + public GetNbtItem() { + super("getitem", "Gives you an nbt item"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.then(literal("CrashHive").executes(ctx ->{ + assert mc.player != null; + if(mc.player.getAbilities().creativeMode) { + give(CrashBeehive.item, CrashBeehive.nbt); + info("Received Crash Beehive"); + } + if(!mc.player.getAbilities().creativeMode) { error("You need to be in creative mode to use this command");} + return SINGLE_SUCCESS; + })); + builder.then(literal("GrieferKit").executes(ctx ->{ + assert mc.player != null; + if(mc.player.getAbilities().creativeMode){ + give(GrieferKit.item, GrieferKit.nbt); + info("Receives Spigey's Griefer kit"); + } + if(!mc.player.getAbilities().creativeMode) { error("You need to be in creative mode to use this command");} + return SINGLE_SUCCESS; + })); + } +} diff --git a/src/main/java/spigey/asteroide/commands/PermLevel.java b/src/main/java/spigey/asteroide/commands/PermLevel.java new file mode 100644 index 0000000..e803c72 --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/PermLevel.java @@ -0,0 +1,22 @@ +package spigey.asteroide.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import net.minecraft.command.CommandSource; + +import static spigey.asteroide.util.getPermissionLevel; +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; + +public class PermLevel extends Command { + public PermLevel() { + super("perm", "Tells you your permission level on the current server"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(context -> { + info("Your permission level on this server is " + getPermissionLevel() + "."); + return SINGLE_SUCCESS; + }); + } +} diff --git a/src/main/java/spigey/asteroide/commands/ServerCrash.java b/src/main/java/spigey/asteroide/commands/ServerCrash.java new file mode 100644 index 0000000..f5f4708 --- /dev/null +++ b/src/main/java/spigey/asteroide/commands/ServerCrash.java @@ -0,0 +1,39 @@ +package spigey.asteroide.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import meteordevelopment.meteorclient.commands.Command; +import net.minecraft.command.CommandSource; +import meteordevelopment.meteorclient.utils.player.ChatUtils; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; +import static meteordevelopment.meteorclient.MeteorClient.mc; +import static spigey.asteroide.util.perm; + +public class ServerCrash extends Command { + public ServerCrash() { + super("scrash", "Crashes the server ENABLE BEE NORENDER"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(context -> { + error("Remember to disable Bee rendering using NoRender and install the EntityCulling mod!"); + info("Attempting to crash the server"); + assert mc.player != null; + if(!mc.player.hasPermissionLevel(2)){ + error(perm(2)); + } + if(mc.player.hasPermissionLevel(2)){ + ChatUtils.sendPlayerMsg("/gamerule logAdminCommands false"); + ChatUtils.sendPlayerMsg("/gamerule sendCommandFeedback false"); + } + ChatUtils.sendPlayerMsg("/execute as @e as @e run summon bee ~ ~-10 ~ {Invulnerable:1}"); + if(mc.player.hasPermissionLevel(2)){ + ChatUtils.sendPlayerMsg("/save-all"); + ChatUtils.sendPlayerMsg("/gamerule sendCommandFeedback true"); + ChatUtils.sendPlayerMsg("/gamerule logAdminCommands true"); + } + return SINGLE_SUCCESS; + }); + } +} diff --git a/src/main/java/spigey/asteroide/hud/Username.java b/src/main/java/spigey/asteroide/hud/Username.java new file mode 100644 index 0000000..725e829 --- /dev/null +++ b/src/main/java/spigey/asteroide/hud/Username.java @@ -0,0 +1,24 @@ +package spigey.asteroide.hud; + +import spigey.asteroide.AsteroideAddon; +import meteordevelopment.meteorclient.systems.hud.HudElement; +import meteordevelopment.meteorclient.systems.hud.HudElementInfo; +import meteordevelopment.meteorclient.systems.hud.HudRenderer; +import meteordevelopment.meteorclient.utils.render.color.Color; + +import static meteordevelopment.meteorclient.MeteorClient.mc; + +public class Username extends HudElement { + public static final HudElementInfo INFO = new HudElementInfo<>(AsteroideAddon.HUD_GROUP, "Username", "Shows your username, good for cracked servers", Username::new); + + public Username() { + super(INFO); + } + @Override + public void render(HudRenderer renderer) { + Color WHITE = new Color(); + String username = mc.getSession().getUsername(); + setSize(renderer.textWidth("Username: " + username, true), renderer.textHeight(true)); + renderer.text("Username: " + username, x, y, Color.WHITE, true); + } +} diff --git a/src/main/java/spigey/asteroide/modules/AutoKys.java b/src/main/java/spigey/asteroide/modules/AutoKys.java new file mode 100644 index 0000000..db7b998 --- /dev/null +++ b/src/main/java/spigey/asteroide/modules/AutoKys.java @@ -0,0 +1,79 @@ +package spigey.asteroide.modules; + +import spigey.asteroide.AsteroideAddon; +import meteordevelopment.meteorclient.events.game.OpenScreenEvent; +import meteordevelopment.meteorclient.events.world.TickEvent; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.settings.StringListSetting; +import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.meteorclient.utils.player.ChatUtils; +import meteordevelopment.orbit.EventHandler; +import net.minecraft.client.gui.screen.DeathScreen; +import net.minecraft.entity.Entity; +import net.minecraft.entity.damage.DamageSource; +import net.minecraft.entity.player.PlayerEntity; + +import java.util.List; +import java.util.Objects; +import java.util.Random; + +import static meteordevelopment.meteorclient.utils.player.ChatUtils.sendMsg; + +public class AutoKys extends Module { + + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + + private final Setting> messages = sgGeneral.add(new StringListSetting.Builder().name("messages").description("Randomly takes the message from the list and sends on each death.").defaultValue("kys", "that's fucking luck").build()); + private boolean lock = false; + private int i = 15; + + public AutoKys() { + super(AsteroideAddon.CATEGORY, "auto-kys", "Sends a message when you die"); + } + + @EventHandler + private void onOpenScreenEvent(OpenScreenEvent event) { + if (!(event.screen instanceof DeathScreen)) return; + lock = true; + i = 15; + } + + @EventHandler + private void onTick(TickEvent.Post event) { + if (mc.currentScreen instanceof DeathScreen) return; + if (lock) i--; + if (lock && i <= 0) { + String message = getMessage(); + assert mc.player != null; + Entity attacker = getAttacker(mc.player); + if (attacker instanceof PlayerEntity) { + message = "GG! " + Objects.requireNonNull(((PlayerEntity) attacker).getDisplayName()).getString() + " got you."; + } + // ChatUtils.sendMsg(Text.of(Config.get().prefix + "say " + message)); + ChatUtils.sendPlayerMsg(String.valueOf(message)); + lock = false; + i = 15; + return; + } + } + + private String getMessage() { + return messages.get().isEmpty() ? "kill yourself you fucking wimp" : messages.get().get(randomNum(0, messages.get().size() - 1)); + } + + private static final Random random = new Random(); + + + public static int randomNum(int min, int max) { + return random.nextInt(max - min + 1) + min; + } + + private Entity getAttacker(PlayerEntity player) { + DamageSource damageSource = player.getRecentDamageSource(); + if (damageSource != null && damageSource.getAttacker() != null) { + return damageSource.getAttacker(); + } + return null; + } +} diff --git a/src/main/java/spigey/asteroide/modules/ModuleTemplate.java b/src/main/java/spigey/asteroide/modules/ModuleTemplate.java new file mode 100644 index 0000000..0bbed81 --- /dev/null +++ b/src/main/java/spigey/asteroide/modules/ModuleTemplate.java @@ -0,0 +1,12 @@ +package spigey.asteroide.modules; + +import meteordevelopment.meteorclient.systems.modules.Module; +import spigey.asteroide.AsteroideAddon; + +public class ModuleTemplate extends Module { + public ModuleTemplate() { + super(AsteroideAddon.CATEGORY, "", ""); + } +} + + diff --git a/src/main/java/spigey/asteroide/modules/ServerCrashModule.java b/src/main/java/spigey/asteroide/modules/ServerCrashModule.java new file mode 100644 index 0000000..56b4f74 --- /dev/null +++ b/src/main/java/spigey/asteroide/modules/ServerCrashModule.java @@ -0,0 +1,43 @@ +package spigey.asteroide.modules; + +import meteordevelopment.meteorclient.settings.BoolSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.systems.modules.Module; +import spigey.asteroide.AsteroideAddon; + +import static spigey.asteroide.util.msg; +import static spigey.asteroide.util.perm; + +public class ServerCrashModule extends Module { + + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + + private final Setting cmdfeedback = sgGeneral.add(new BoolSetting.Builder() + .name("No Command feedback") + .description("Does not spam the chat when enabled") + .defaultValue(true) + .build() + ); + private final Setting logadmin = sgGeneral.add(new BoolSetting.Builder() + .name("No Log admin commands") + .description("Hides the server crash to other players with OP") + .defaultValue(true) + .build() + ); + public ServerCrashModule() { + super(AsteroideAddon.CATEGORY, "server-crash", "[REQUIRES OP] Crashes the server. Bee NoRender and EntityCulling mod highly recommended!"); + } + @Override + public void onActivate(){ + assert mc.player != null; + error("Remember to disable Bee rendering using NoRender and install the EntityCulling mod!"); + info("Attempting to crash the Server"); + if(!mc.player.hasPermissionLevel(2)){error(perm(2));} + if(cmdfeedback.get()){msg("/gamerule sendCommandFeedback false");} + if(logadmin.get()){msg("/gamerule logAdminCommands false");} + msg("/execute as @e as @e run summon bee ~ ~-10 ~ {Invulnerable:1}"); + toggle(); + } +} + diff --git a/src/main/java/spigey/asteroide/modules/WordFilterModule.java b/src/main/java/spigey/asteroide/modules/WordFilterModule.java new file mode 100644 index 0000000..9d790c8 --- /dev/null +++ b/src/main/java/spigey/asteroide/modules/WordFilterModule.java @@ -0,0 +1,30 @@ +package spigey.asteroide.modules; + +import meteordevelopment.meteorclient.events.game.ReceiveMessageEvent; +import meteordevelopment.meteorclient.events.game.SendMessageEvent; +import meteordevelopment.meteorclient.settings.*; +import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.orbit.EventHandler; +import meteordevelopment.orbit.EventPriority; +import net.minecraft.text.Text; +import spigey.asteroide.AsteroideAddon; + +import java.util.List; +import java.util.regex.Pattern; + +import static spigey.asteroide.util.msg; + +public class WordFilterModule extends Module { + + public WordFilterModule() { + super(AsteroideAddon.CATEGORY, "word-filter", "Filters words you send in the chat to prevent getting banned"); + } + final SettingGroup sgGeneral = settings.getDefaultGroup(); + + @EventHandler + private void onMessageSend(SendMessageEvent event) { + event.message = "aaaaa"; + info("working"); + System.out.println("working"); + } +} diff --git a/src/main/java/spigey/asteroide/nbt/CrashBeehive.java b/src/main/java/spigey/asteroide/nbt/CrashBeehive.java new file mode 100644 index 0000000..ea2f5f6 --- /dev/null +++ b/src/main/java/spigey/asteroide/nbt/CrashBeehive.java @@ -0,0 +1,11 @@ +package spigey.asteroide.nbt; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; + +import static spigey.asteroide.util.itemstack; + +public class CrashBeehive { + public static String nbt = "{BlockEntityTag:{Bees:[{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1,FlowerPos:{X:0,Y:0,Z:0},Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},MinOccupationTicks:0,TicksInHive:100}]},BlockStateTag:{honey_level:1}}"; + public static ItemStack item = itemstack(Items.BEE_NEST); +} diff --git a/src/main/java/spigey/asteroide/nbt/GrieferKit.java b/src/main/java/spigey/asteroide/nbt/GrieferKit.java new file mode 100644 index 0000000..52d1a03 --- /dev/null +++ b/src/main/java/spigey/asteroide/nbt/GrieferKit.java @@ -0,0 +1,11 @@ +package spigey.asteroide.nbt; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; + +import static spigey.asteroide.util.itemstack; + +public class GrieferKit { + public static String nbt = "{BlockEntityTag:{Items:[{Count:1b,Slot:0b,id:\"minecraft:wither_spawn_egg\",tag:{EntityTag:{CanPickUpLoot:1b,Glowing:1b,HasVisualFire:1b,Invul:1000000,Invulnerable:1b,Motion:[0.0d,0.1d],PersistenceRequired:1b},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Invisible Wither\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" GET NUKED \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:1b,id:\"minecraft:wither_spawn_egg\",tag:{EntityTag:{CanPickUpLoot:1b,Glowing:1b,HasVisualFire:1b,Invulnerable:1b,PersistenceRequired:1b},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Normal Wither\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" GET NUKED \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:2b,id:\"minecraft:ender_dragon_spawn_egg\",tag:{EntityTag:{CanPickUpLoot:1b,Glowing:1b,HasVisualFire:1b,Invulnerable:1b,Motion:[0.0d,1.0d],PersistenceRequired:1b},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Ender Dragon\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" GET NUKED \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:3b,id:\"minecraft:mooshroom_spawn_egg\",tag:{EntityTag:{CustomName:'[{\"text\":\"Nuked by Spigey\",\"color\":\"red\"}]',CustomNameVisible:1b,ExplosionPower:127,Glowing:1b,Motion:[0.0d,-1.0d],NoGravity:1b,id:\"fireball\"},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'[{\"text\":\"Fireball Nuke\",\"italic\":false,\"color\":\"red\"}]'}}},{Count:1b,Slot:4b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0,MaxNearbyEntities:100,MaxSpawnDelay:1,MinSpawnDelay:0,RequiredPlayerRange:100,SpawnCount:100,SpawnData:{entity:{CustomName:'[{\"text\":\"Nuke\",\"color\":\"red\"}]',CustomNameVisible:1b,Fuse:0,Glowing:1b,HasVisualFire:1b,Invulnerable:1b,NoGravity:1b,id:\"tnt\"}},SpawnRange:50},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"T\",\"italic\":false,\"color\":\"dark_red\"},{\"text\":\"N\",\"italic\":false,\"color\":\"white\"},{\"text\":\"T \",\"italic\":false,\"color\":\"dark_red\"},{\"text\":\"Nuke\",\"italic\":false,\"color\":\"red\"}]}'}}},{Count:1b,Slot:5b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0,MaxNearbyEntities:100,MaxSpawnDelay:1,MinSpawnDelay:0,RequiredPlayerRange:100,SpawnCount:100,SpawnData:{entity:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" GET NUKED \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1b,Fuse:0,Glowing:1b,HasVisualFire:1b,Invulnerable:1b,NoGravity:1b,id:\"wither\"}},SpawnRange:50},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Requires nighttime to work\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Auto Withers\",\"italic\":false,\"color\":\"dark_gray\"}]}'}}},{Count:1b,Slot:6b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:100s,MaxSpawnDelay:1s,MinSpawnDelay:1s,RequiredPlayerRange:1600s,SpawnCount:100s,SpawnData:{entity:{BlockState:{Name:\"bee_nest\",Properties:{honey_level:\"1\"}},DropItem:0b,Glowing:1b,Motion:[0.0f,-10.0f,0.0f],TileEntityData:{Bees:[{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100},{EntityData:{CustomName:'{\"text\":\"NUKED BY SPIGEY & VIVI\",\"color\":\"dark_red\"}',CustomNameVisible:1b,Glowing:1,Invulnerable:1,id:\"minecraft:bee\"},Flower:{X:0,Y:0,Z:0},MinOccupationTicks:0,TicksInHive:100}]},id:\"minecraft:falling_block\"}},SpawnPotentials:[],SpawnRange:25s},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Requires daytime to work\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" [\",\"obfuscated\":false,\"italic\":false,\"color\":\"dark_gray\",\"bold\":true},{\"text\":\" SERVER CRASH \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\",\"bold\":true},{\"text\":\"] \",\"obfuscated\":false,\"italic\":false,\"color\":\"dark_gray\",\"bold\":true},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:7b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:10000s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:100s,SpawnCount:100s,SpawnData:{entity:{CustomName:\".gg/973WxaRazA\",id:\"minecraft:block_display\"}},SpawnPotentials:[],SpawnRange:25s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Lags the server and the client without any\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"signs of any entity showing\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Not part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Invis Lag\",\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:8b,id:\"minecraft:golden_sword\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:0,UUID:[I;-1836333401,-1896070026,-1563959637,1063475303]}],Damage:0,Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,Unbreakable:1,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Infinite Damage Sword\",\"italic\":false,\"color\":\"gold\"}]}'}}},{Count:1b,Slot:9b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0,MaxNearbyEntities:100,MaxSpawnDelay:1,MinSpawnDelay:0,RequiredPlayerRange:100,SpawnCount:100,SpawnData:{entity:{CustomName:'{\"text\":\"\",\"extra\":[{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" Nuked by Spigey & Vivi \",\"obfuscated\":false,\"italic\":false,\"color\":\"red\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\"}]}',CustomNameVisible:1b,Fuse:0,Glowing:1b,HasVisualFire:1b,Invulnerable:1b,NoGravity:1b,id:\"wither\"}},SpawnRange:50},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Requires nighttime to work\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Auto Withers\",\"italic\":false,\"color\":\"dark_gray\"}]}'}}},{Count:1b,Slot:10b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:10000s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:100s,SpawnCount:100s,SpawnData:{entity:{CustomName:\"jeb_\",id:\"minecraft:sheep\"}},SpawnPotentials:[],SpawnRange:25s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Spams rainbow sheep\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Requires daytime to work\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer \",\"italic\":false,\"color\":\"red\"},{\"text\":\"kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"C\",\"italic\":false,\"color\":\"dark_red\"},{\"text\":\"o\",\"italic\":false,\"color\":\"red\"},{\"text\":\"l\",\"italic\":false,\"color\":\"gold\"},{\"text\":\"o\",\"italic\":false,\"color\":\"yellow\"},{\"text\":\"r\",\"italic\":false,\"color\":\"green\"},{\"text\":\" \",\"italic\":false,\"color\":\"aqua\"},{\"text\":\"B\",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"o\",\"italic\":false,\"color\":\"dark_aqua\"},{\"text\":\"m\",\"italic\":false,\"color\":\"blue\"},{\"text\":\"b\",\"italic\":false,\"color\":\"dark_purple\"}]}'}}},{Count:1b,Slot:11b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:100s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:100s,SpawnCount:100s,SpawnData:{entity:{CustomName:\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",Fire:1000.0f,Health:0.1f,id:\"minecraft:villager\"}},SpawnPotentials:[],SpawnRange:1s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Not a part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer\",\"italic\":false,\"color\":\"red\"},{\"text\":\" kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Console Spam\",\"italic\":false,\"color\":\"dark_purple\"}]}'}}},{Count:1b,Slot:12b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:1000s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:100s,SpawnCount:100s,SpawnData:{entity:{Duration:100000,Particle:\"explosion\",Radius:10,id:\"minecraft:area_effect_cloud\"}},SpawnPotentials:[],SpawnRange:100s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Not a part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Griefer\",\"italic\":false,\"color\":\"red\"},{\"text\":\" kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Client Lag\",\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:13b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:100s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:16s,SpawnCount:100s,SpawnData:{entity:{ExplosionPower:127,Motion:[0.0d,-10.0d,0.0d],id:\"minecraft:fireball\"}},SpawnPotentials:[],SpawnRange:100s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Explosion Power 12700\",\"italic\":false,\"color\":\"gray\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Destruction\",\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:14b,id:\"minecraft:spawner\",tag:{BlockEntityTag:{Delay:0s,MaxNearbyEntities:100s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:16s,SpawnCount:100s,SpawnData:{entity:{BlockState:{Name:\"spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,TileEntityData:{Delay:0s,MaxNearbyEntities:100s,MaxSpawnDelay:1s,MinSpawnDelay:0s,RequiredPlayerRange:16s,SpawnCount:100s,SpawnData:{entity:{ExplosionPower:127,Motion:[0.0d,-10.0d,0.0d],id:\"minecraft:fireball\"}},SpawnPotentials:[],SpawnRange:100s,id:\"minecraft:mob_spawner\"},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Explosion Power 12700\",\"italic\":false,\"color\":\"gray\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Destruction\",\"italic\":false,\"color\":\"dark_red\"}]}'},id:\"falling_block\"}},SpawnPotentials:[],SpawnRange:100s,id:\"minecraft:mob_spawner\"},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Explosion Power 1.270.000\",\"italic\":false,\"color\":\"gray\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Fucking Destruction\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_red\",\"bold\":true}]}'}}},{Count:1b,Slot:15b,id:\"minecraft:repeating_command_block\",tag:{BlockEntityTag:{Command:\"/execute as @e run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run execute summon minecraft:armor_stand run summon minecraft:armor_stand\",CustomName:'\"@\"',LastExecution:7446L,LastOutput:'{\"text\":\"[23:50:30] \",\"extra\":[{\"translate\":\"commands.summon.success\",\"with\":[{\"translate\":\"entity.minecraft.armor_stand\",\"hoverEvent\":{\"contents\":{\"type\":\"minecraft:armor_stand\",\"id\":[397285647,2128561552,-1139922585,-306187004],\"name\":{\"translate\":\"entity.minecraft.armor_stand\"}},\"action\":\"show_entity\"},\"insertion\":\"17ae190f-7edf-4590-bc0e-2967edbff504\"}]}]}',SuccessCount:285,TrackOutput:1b,UpdateLastExecution:1b,auto:1b,conditionMet:1b,id:\"minecraft:command_block\",powered:0b},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Multiplies all entities by 178, 20 times per second\",\"italic\":false,\"color\":\"gray\"}]}','\"\"','{\"text\":\"\",\"extra\":[{\"text\":\"Tags:\",\"italic\":false,\"color\":\"gray\",\"bold\":false}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"dark_gray\"},{\"text\":\"crash\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_aqua\"},{\"text\":\"Server Destroy\",\"italic\":false,\"color\":\"dark_purple\"},{\"text\":\" kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_aqua\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Instant Server Crash\",\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:16b,id:\"minecraft:repeating_command_block\",tag:{BlockEntityTag:{Command:\"execute as @e[type=!tnt,type=!item] at @s run execute summon tnt run fill ~-10 ~10 ~-10 ~10 ~-10 ~10 tnt\",auto:1b},display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Fills a 20x20x20 area with tnt at every entity and lights\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"it automatically\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Tags:\",\"italic\":false,\"color\":\"gray\",\"bold\":false}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"dark_gray\"},{\"text\":\"destroy\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" lag\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" crash\",\"italic\":true,\"color\":\"dark_gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":true,\"color\":\"dark_aqua\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_aqua\"},{\"text\":\"Server Destroy\",\"italic\":false,\"color\":\"dark_purple\"},{\"text\":\" kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_aqua\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Server Destroy 2\",\"italic\":false,\"color\":\"dark_red\"}]}'}}},{Count:1b,Slot:17b,id:\"minecraft:command_block\",tag:{BlockEntityTag:{Command:'/summon falling_block ~ ~2 ~ {Time:1,BlockState:{Name:redstone_block}, Passengers:[{id:falling_block, Time:0, BlockState:{Name:activator_rail},Passengers:[{id:command_block_minecart, Tags:[\"oawiudoawiudoawidu\"], Command:\"setblock ~ ~2 ~ repeating_command_block{Command:\\\\\"execute as @a[nbt={SelectedItem:{tag:{wand:1}}},distance=30..] at @s run fill ~19 ~10 ~19 ~-20 ~-10 ~-19 air\\\\\",auto:1b}\",Passengers:[{id:command_block_minecart, Tags:[\"oawiudoawiudoawidu\"], Command:\"setblock ~ ~3 ~ repeating_command_block{Command:\\\\\"execute as @a[nbt={SelectedItem:{tag:{wand:1}}},distance=30..] at @s run kill @e[distance=1..20]\\\\\",auto:1b}\",Passengers:[{id:command_block_minecart, Tags:[\"oawiudoawiudoawidu\"], Command:\"item replace entity @p weapon.mainhand with debug_stick{DebugProperty:{\\\\\"minecraft:tnt\\\\\":\\\\\"unstable\\\\\"},display:{Name:\\'{\\\\\"text\\\\\":\\\\\"\\\\\",\\\\\"extra\\\\\":[{\\\\\"text\\\\\":\\\\\"Destruction Wand\\\\\",\\\\\"italic\\\\\":false,\\\\\"color\\\\\":\\\\\"dark_purple\\\\\"}]}\\'},wand:1}\",Passengers:[{id:command_block_minecart, Tags:[\"oawiudoawiudoawidu\"], Command:\"gamemode creative @p\",Passengers:[{id:command_block_minecart, Tags:[\"oawiudoawiudoawidu\"], Command:\"kill @e[type=command_block_minecart, tag=oawiudoawiudoawidu]\"}]}]}]}]}]}]}',auto:1b},Enchantments:[{id:\"minecraft:infinity\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\",\"extra\":[{\"text\":\"Gives you a destruction wand that\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"automatically removes all blocks in a \",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\"40x20x40 Block radius\",\"italic\":false,\"color\":\"gray\"}]}','\"\"','{\"text\":\"\",\"extra\":[{\"text\":\"Tags:\",\"italic\":false,\"color\":\"gray\"}]}','{\"text\":\"\",\"extra\":[{\"text\":\" \",\"italic\":false,\"color\":\"gray\"},{\"text\":\"destroy\",\"italic\":true,\"color\":\"dark_gray\"}]}','\"\"','{\"text\":\"\",\"extra\":[{\"text\":\"Part of the \",\"italic\":false,\"color\":\"dark_green\"},{\"text\":\"Paid Server Destroy\",\"italic\":false,\"color\":\"gold\"},{\"text\":\" kit. Made by Spigey\",\"italic\":false,\"color\":\"dark_green\"}]}'],Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Destruction Wand\",\"italic\":false,\"color\":\"dark_purple\"}]}'}}},{Count:64b,Slot:18b,id:\"minecraft:strider_spawn_egg\",tag:{EntityTag:{ArmorDropChances:[\"f\",\"f\",\"f\",\"f\"],ArmorItems:[{Count:1b,id:\"minecraft:netherite_boots\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor\",Name:\"minecraft:generic.armor\",Operation:0,UUID:[I;-265046163,-287554595,-1882628821,1266968370]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor_toughness\",Name:\"minecraft:generic.armor_toughness\",Operation:0,UUID:[I;-2005607804,1798521602,-1979548326,-2117350824]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.knockback_resistance\",Name:\"minecraft:generic.knockback_resistance\",Operation:0,UUID:[I;473975770,-193378136,-1427303070,1375553265]},{Amount:1024.0d,AttributeName:\"minecraft:generic.max_health\",Name:\"minecraft:generic.max_health\",Operation:1,UUID:[I;-527361912,-1309915391,-1203249822,-743224068]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:1,UUID:[I;-483248586,-1058780676,-1149233456,1622168242]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_knockback\",Name:\"minecraft:generic.attack_knockback\",Operation:1,UUID:[I;841898656,1685670149,-1337718174,-1685335115]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_speed\",Name:\"minecraft:generic.attack_speed\",Operation:1,UUID:[I;2058251453,631065141,-2074276168,298421719]}],Damage:134,Enchantments:[{id:\"minecraft:protection\",lvl:100s}],HideFlags:127,Trim:{material:\"minecraft:diamond\",pattern:\"minecraft:silence\"},Unbreakable:1b,display:{Name:'{\"extra\":[{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"[\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"bold\":true,\"italic\":false,\"underlined\":true,\"color\":\"dark_aqua\",\"text\":\"CREATIVE BOOTS\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"]\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"}],\"text\":\"\"}'}}},{Count:1b,id:\"minecraft:netherite_leggings\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor\",Name:\"minecraft:generic.armor\",Operation:0,UUID:[I;-265046163,-287554595,-1882628821,1266968370]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor_toughness\",Name:\"minecraft:generic.armor_toughness\",Operation:0,UUID:[I;-2005607804,1798521602,-1979548326,-2117350824]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.knockback_resistance\",Name:\"minecraft:generic.knockback_resistance\",Operation:0,UUID:[I;473975770,-193378136,-1427303070,1375553265]},{Amount:1024.0d,AttributeName:\"minecraft:generic.max_health\",Name:\"minecraft:generic.max_health\",Operation:1,UUID:[I;-527361912,-1309915391,-1203249822,-743224068]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:1,UUID:[I;-483248586,-1058780676,-1149233456,1622168242]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_knockback\",Name:\"minecraft:generic.attack_knockback\",Operation:1,UUID:[I;841898656,1685670149,-1337718174,-1685335115]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_speed\",Name:\"minecraft:generic.attack_speed\",Operation:1,UUID:[I;2058251453,631065141,-2074276168,298421719]}],Damage:134,Enchantments:[{id:\"minecraft:protection\",lvl:100s}],HideFlags:127,Trim:{material:\"minecraft:diamond\",pattern:\"minecraft:silence\"},Unbreakable:1b,display:{Name:'{\"extra\":[{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"[\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"bold\":true,\"italic\":false,\"underlined\":true,\"color\":\"dark_aqua\",\"text\":\"CREATIVE LEGGINGS\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"]\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"}],\"text\":\"\"}'}}},{Count:1b,id:\"minecraft:netherite_chestplate\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor\",Name:\"minecraft:generic.armor\",Operation:0,UUID:[I;-265046163,-287554595,-1882628821,1266968370]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor_toughness\",Name:\"minecraft:generic.armor_toughness\",Operation:0,UUID:[I;-2005607804,1798521602,-1979548326,-2117350824]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.knockback_resistance\",Name:\"minecraft:generic.knockback_resistance\",Operation:0,UUID:[I;473975770,-193378136,-1427303070,1375553265]},{Amount:1024.0d,AttributeName:\"minecraft:generic.max_health\",Name:\"minecraft:generic.max_health\",Operation:1,UUID:[I;-527361912,-1309915391,-1203249822,-743224068]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:1,UUID:[I;-483248586,-1058780676,-1149233456,1622168242]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_knockback\",Name:\"minecraft:generic.attack_knockback\",Operation:1,UUID:[I;841898656,1685670149,-1337718174,-1685335115]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_speed\",Name:\"minecraft:generic.attack_speed\",Operation:1,UUID:[I;2058251453,631065141,-2074276168,298421719]}],Damage:134,Enchantments:[{id:\"minecraft:protection\",lvl:100s},{id:\"minecraft:thorns\",lvl:100s}],HideFlags:127,Trim:{material:\"minecraft:diamond\",pattern:\"minecraft:silence\"},Unbreakable:1b,display:{Name:'{\"extra\":[{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"[\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"bold\":true,\"italic\":false,\"underlined\":true,\"color\":\"dark_aqua\",\"text\":\"CREATIVE CHESTPLATE\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"]\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"}],\"text\":\"\"}'}}},{Count:1b,id:\"minecraft:netherite_helmet\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor\",Name:\"minecraft:generic.armor\",Operation:0,UUID:[I;-265046163,-287554595,-1882628821,1266968370]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.armor_toughness\",Name:\"minecraft:generic.armor_toughness\",Operation:0,UUID:[I;-2005607804,1798521602,-1979548326,-2117350824]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.knockback_resistance\",Name:\"minecraft:generic.knockback_resistance\",Operation:0,UUID:[I;473975770,-193378136,-1427303070,1375553265]},{Amount:1024.0d,AttributeName:\"minecraft:generic.max_health\",Name:\"minecraft:generic.max_health\",Operation:1,UUID:[I;-527361912,-1309915391,-1203249822,-743224068]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:1,UUID:[I;-483248586,-1058780676,-1149233456,1622168242]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_knockback\",Name:\"minecraft:generic.attack_knockback\",Operation:1,UUID:[I;841898656,1685670149,-1337718174,-1685335115]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_speed\",Name:\"minecraft:generic.attack_speed\",Operation:1,UUID:[I;2058251453,631065141,-2074276168,298421719]}],Damage:134,Enchantments:[{id:\"minecraft:protection\",lvl:100s}],HideFlags:127,Trim:{material:\"minecraft:diamond\",pattern:\"minecraft:silence\"},Unbreakable:1b,display:{Name:'{\"extra\":[{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"[\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"bold\":true,\"italic\":false,\"underlined\":true,\"color\":\"dark_aqua\",\"text\":\"CREATIVE HELMET\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"]\"},{\"italic\":false,\"color\":\"aqua\",\"text\":\" \"},{\"italic\":false,\"obfuscated\":true,\"color\":\"blue\",\"text\":\"AAA\"}],\"text\":\"\"}'}}}],Attributes:[{Base:50.0f,Name:\"generic.max_health\"}],CustomName:'[{\"text\":\"Sudden Death\"}]',HandDropChances:[\"f\",\"f\"],HandItems:[{Count:1b,id:\"minecraft:netherite_sword\",tag:{AttributeModifiers:[{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_damage\",Name:\"minecraft:generic.attack_damage\",Operation:1,UUID:[I;-1282800065,-1212789655,-1394292415,-1446386355]},{Amount:1.7976931348623157E308d,AttributeName:\"minecraft:generic.attack_speed\",Name:\"minecraft:generic.attack_speed\",Operation:1,UUID:[I;-1825289012,-1242086516,-1426686568,1054486878]}],Damage:0,Enchantments:[{id:\"minecraft:sharpness\",lvl:1s}],HideFlags:127,display:{Lore:['{\"text\":\"\"}','{\"extra\":[{\"italic\":false,\"color\":\"gray\",\"text\":\"When in Main Hand:\"}],\"text\":\"\"}','{\"extra\":[{\"italic\":true,\"color\":\"dark_purple\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_green\",\"text\":\"∞ Attack Damage\"}],\"text\":\"\"}','{\"extra\":[{\"italic\":false,\"color\":\"dark_green\",\"text\":\" ∞ Attack Speed\"}],\"text\":\"\"}'],Name:'{\"extra\":[{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"[\"},{\"italic\":false,\"color\":\"white\",\"text\":\" \"},{\"bold\":true,\"italic\":false,\"color\":\"dark_red\",\"text\":\"Sigma Sword\"},{\"italic\":false,\"color\":\"white\",\"text\":\" \"},{\"italic\":false,\"color\":\"dark_gray\",\"text\":\"]\"}],\"text\":\"\"}'}}},{Count:0b,id:\"minecraft:air\"}],Health:50,Silent:1b,Team:\"Spigg\",active_effects:[{amplifier:5,duration:999999,id:\"strength\",show_particles:0b},{amplifier:1,duration:999999,id:\"resistance\",show_particles:0b}],id:\"minecraft:husk\"},display:{Name:'{\"text\":\"\",\"extra\":[{\"text\":\"A \",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_gray\",\"bold\":true},{\"text\":\"Sudden Death\",\"italic\":false,\"color\":\"dark_red\"},{\"text\":\" \",\"italic\":false,\"color\":\"aqua\"},{\"text\":\"A\",\"obfuscated\":true,\"italic\":false,\"color\":\"dark_gray\",\"bold\":true}]}'}}}],id:\"minecraft:shulker_box\"},HideFlags:127,display:{Name:'{\"text\":\"\",\"extra\":[{\"text\":\"Spigg\\'s Griefer Kit\",\"italic\":false,\"color\":\"red\"}]}'}}"; + public static ItemStack item = itemstack(Items.RED_SHULKER_BOX); +} diff --git a/src/main/java/spigey/asteroide/util.java b/src/main/java/spigey/asteroide/util.java new file mode 100644 index 0000000..e12eb5d --- /dev/null +++ b/src/main/java/spigey/asteroide/util.java @@ -0,0 +1,53 @@ +package spigey.asteroide; + +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import meteordevelopment.meteorclient.utils.player.ChatUtils; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.nbt.NbtCompound; +import net.minecraft.nbt.StringNbtReader; +import net.minecraft.network.packet.c2s.play.CreativeInventoryActionC2SPacket; + +import java.util.Objects; + +import static meteordevelopment.meteorclient.MeteorClient.mc; + +public class util { + public static String perm(int lvl){ + return "You do not have the required permission level of " + lvl + ", the command will most likely not work!"; + } + public static void msg(String message) { + ChatUtils.sendPlayerMsg(message); + } + public static ItemStack itemstack(Item temp){ + return new ItemStack(temp); + } + public static boolean give(ItemStack ItemToGive, String ItemNBT) throws CommandSyntaxException { + assert mc.player != null; + ItemToGive.setNbt(StringNbtReader.parse(ItemNBT)); + Objects.requireNonNull(mc.getNetworkHandler()).sendPacket(new CreativeInventoryActionC2SPacket(36 + mc.player.getInventory().selectedSlot, ItemToGive)); + return true; + } + public static boolean give(ItemStack ItemToGive) throws CommandSyntaxException { + assert mc.player != null; + Objects.requireNonNull(mc.getNetworkHandler()).sendPacket(new CreativeInventoryActionC2SPacket(36 + mc.player.getInventory().selectedSlot, ItemToGive)); + return true; + } + public static int getPermissionLevel(){ + assert mc.player != null; + int perm = 0; + if(mc.player.hasPermissionLevel(4)){ + perm = 4; + } else if(mc.player.hasPermissionLevel(3)){ + perm = 3; + } else if(mc.player.hasPermissionLevel(2)){ + perm = 2; + } else if(mc.player.hasPermissionLevel(1)){ + perm = 1; + } else if(mc.player.hasPermissionLevel(0)){ + perm = 0; + } + return perm; + } +} diff --git a/src/main/resources/assets/asteroide/icon.png b/src/main/resources/assets/asteroide/icon.png new file mode 100644 index 0000000..fdd437c Binary files /dev/null and b/src/main/resources/assets/asteroide/icon.png differ diff --git a/src/main/resources/asteroide.mixins.json b/src/main/resources/asteroide.mixins.json new file mode 100644 index 0000000..fdc755d --- /dev/null +++ b/src/main/resources/asteroide.mixins.json @@ -0,0 +1,9 @@ +{ + "required": true, + "package": "spigey.asteroide.mixin", + "compatibilityLevel": "JAVA_17", + "client": [], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..e228807 --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,31 @@ +{ + "schemaVersion": 1, + "id": "asteroide", + "version": "${version}", + "name": "Asteroide", + "description": "Simple and small additions for Meteor", + "authors": [ + "Spigey" + ], + "contact": { + "repo": "https://github.com/MeteorDevelopment/meteor-addon-template" + }, + "icon": "assets/asteroide/icon.png", + "environment": "client", + "entrypoints": { + "meteor": [ + "spigey.asteroide.AsteroideAddon" + ] + }, + "mixins": [ + "asteroide.mixins.json" + ], + "custom": { + "meteor-client:color": "225,25,25" + }, + "depends": { + "java": ">=17", + "minecraft": ">=${mc_version}", + "meteor-client": "*" + } +}