From 17f6c6dd407949a1fd93f901974ec40cdf70aee3 Mon Sep 17 00:00:00 2001 From: Apricityx Date: Sat, 7 Dec 2024 11:23:49 +0800 Subject: [PATCH] Upgrade to 1.21.2 --- .gitignore | 7 +++ build.gradle | 2 +- gradle.properties | 10 ++--- java/tech/mctown/cma/CMAEntry.java | 11 ----- java/tech/mctown/cma/CMAExtension.java | 30 ------------- java/tech/mctown/cma/CMASettings.java | 45 ------------------- .../cma/commands/DumpEntityCommand.java | 31 ------------- .../editableSign/SignBlockEntityMixin.java | 25 ----------- .../PlayerCommandMixin.java | 28 ------------ .../FlintAndSteelItemMixin.java | 36 --------------- .../SignBlockEntityMixin.java | 37 --------------- src/main/java/tech/mctown/cma/CMALogger.java | 2 +- .../FlintAndSteelItemMixin.java | 2 +- 13 files changed, 15 insertions(+), 251 deletions(-) create mode 100644 .gitignore delete mode 100644 java/tech/mctown/cma/CMAEntry.java delete mode 100644 java/tech/mctown/cma/CMAExtension.java delete mode 100644 java/tech/mctown/cma/CMASettings.java delete mode 100644 java/tech/mctown/cma/commands/DumpEntityCommand.java delete mode 100644 java/tech/mctown/cma/mixins/editableSign/SignBlockEntityMixin.java delete mode 100644 java/tech/mctown/cma/mixins/fakePlayerGamemode/PlayerCommandMixin.java delete mode 100644 java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java delete mode 100644 java/tech/mctown/cma/mixins/runCommandOnSign/SignBlockEntityMixin.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..393dcff --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.github/ +.gradle/ +.idea/ +build/ +run/ +Carpet-MCT-Addition_client.launch +Carpet-MCT-Addition_server.launch \ No newline at end of file diff --git a/build.gradle b/build.gradle index ad9166c..6d6d163 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ dependencies { mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // modImplementation "carpet:fabric-carpet:${project.minecraft_version}-${project.carpet_core_version}" - modImplementation "carpet:fabric-carpet:1.21-${project.carpet_core_version}" + modImplementation "carpet:fabric-carpet:${project.minecraft_version}-${project.carpet_core_version}" // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" } diff --git a/gradle.properties b/gradle.properties index edf5c28..e3bcd85 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,15 +2,15 @@ org.gradle.jvmargs=-Xmx6G # Fabric Properties # check these on https://fabricmc.net/use or https://modmuss50.me/fabric.html -minecraft_version=1.21.1 -yarn_mappings=1.21.1+build.3 -loader_version=0.16.5 +minecraft_version=1.21.2 +yarn_mappings=1.21.2+build.1 +loader_version=0.16.9 # check available versions on maven for the given minecraft version you are using -carpet_core_version=1.4.147+v240613 +carpet_core_version=1.4.158+v241022 # Mod Properties mod_version=0.1.1 maven_group=tech.mctown.cma archives_base_name=carpet-mct-addition # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric -fabric_version=0.104.0+1.21.1 +fabric_version=0.106.1+1.21.2 \ No newline at end of file diff --git a/java/tech/mctown/cma/CMAEntry.java b/java/tech/mctown/cma/CMAEntry.java deleted file mode 100644 index 11d8a5a..0000000 --- a/java/tech/mctown/cma/CMAEntry.java +++ /dev/null @@ -1,11 +0,0 @@ -package tech.mctown.cma; - -import carpet.CarpetServer; -import net.fabricmc.api.ModInitializer; - -public class CMAEntry implements ModInitializer { - @Override - public void onInitialize() { - CarpetServer.manageExtension(CMAExtension.INSTANCE); - } -} diff --git a/java/tech/mctown/cma/CMAExtension.java b/java/tech/mctown/cma/CMAExtension.java deleted file mode 100644 index 4a58f33..0000000 --- a/java/tech/mctown/cma/CMAExtension.java +++ /dev/null @@ -1,30 +0,0 @@ -package tech.mctown.cma; - -import carpet.CarpetExtension; -import carpet.CarpetServer; -import com.mojang.brigadier.CommandDispatcher; -import net.minecraft.server.command.ServerCommandSource; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import tech.mctown.cma.commands.DumpEntityCommand; - -public class CMAExtension implements CarpetExtension { - public static final CMAExtension INSTANCE = new CMAExtension(); - public static final String MODID = "CMA"; - public static final Logger LOGGER = LoggerFactory.getLogger(MODID); - - @Override - public String version() { - return MODID; - } - - @Override - public void onGameStarted() { - CarpetServer.settingsManager.parseSettingsClass(CMASettings.class); - } - - @Override - public void registerCommands(CommandDispatcher dispatcher) { - DumpEntityCommand.registerCommand(dispatcher); - } -} diff --git a/java/tech/mctown/cma/CMASettings.java b/java/tech/mctown/cma/CMASettings.java deleted file mode 100644 index 03ace2e..0000000 --- a/java/tech/mctown/cma/CMASettings.java +++ /dev/null @@ -1,45 +0,0 @@ -package tech.mctown.cma; - -import carpet.settings.Rule; - -import java.lang.annotation.Target; - -import static carpet.settings.RuleCategory.*; - -public class CMASettings { - static final String CMA = CMAExtension.MODID; - - @Rule( - desc = "Execute the command on the sign if it's right-clicked by player who is not sneaking nor holding " + - "anything in the main hand.", - extra = {"Texts must start with '/'."}, - category = {CMA, SURVIVAL} - ) - public static boolean runCommandOnSign = false; - - @Rule( - desc = "Player can edit the sign when it's right-clicked if the player is sneaking and not holding anything " + - "in the main hand.", - category = {CMA, SURVIVAL} - ) - public static boolean editableSign = false; - - @Rule( - desc = "Observer will be activied when player uses Flint and Steel on it.", - extra = {"Sneak to light fire on observers."}, - category = {CMA, CREATIVE} - ) - public static boolean flintAndSteelActivatesObserver = false; - - @Rule( - desc = "Enable the usage of /dumpentity", - category = {CMA, CREATIVE, COMMAND} - ) - public static String commandDumpEntity = "true"; - - @Rule( - desc = "Op players can spawn bots in different gamemodes.", - category = {CMA, SURVIVAL} - ) - public static boolean fakePlayerGamemode = true; -} diff --git a/java/tech/mctown/cma/commands/DumpEntityCommand.java b/java/tech/mctown/cma/commands/DumpEntityCommand.java deleted file mode 100644 index 4d5ca2e..0000000 --- a/java/tech/mctown/cma/commands/DumpEntityCommand.java +++ /dev/null @@ -1,31 +0,0 @@ -package tech.mctown.cma.commands; - -import carpet.settings.SettingsManager; -import carpet.utils.Messenger; -import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.context.CommandContext; -import net.minecraft.entity.Entity; -import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.Text; -import tech.mctown.cma.CMASettings; - -import static net.minecraft.server.command.CommandManager.literal; - -public class DumpEntityCommand { - public static void registerCommand(CommandDispatcher dispatcher) { - dispatcher.register( - literal("dumpentity").requires(src -> SettingsManager.canUseCommand(src, CMASettings.commandDumpEntity)) - .executes(DumpEntityCommand::dumpEntity) - ); - } - - public static int dumpEntity(CommandContext ctx) { - ServerCommandSource src = ctx.getSource(); - ServerWorld world = src.getWorld(); - for (Entity e : world.iterateEntities()) { - Messenger.m(src, Text.of(e.toString())); - } - return 0; - } -} diff --git a/java/tech/mctown/cma/mixins/editableSign/SignBlockEntityMixin.java b/java/tech/mctown/cma/mixins/editableSign/SignBlockEntityMixin.java deleted file mode 100644 index 6d5d7ec..0000000 --- a/java/tech/mctown/cma/mixins/editableSign/SignBlockEntityMixin.java +++ /dev/null @@ -1,25 +0,0 @@ -package tech.mctown.cma.mixins.editableSign; - -import net.minecraft.block.entity.SignBlockEntity; -import net.minecraft.item.Items; -import net.minecraft.server.network.ServerPlayerEntity; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import tech.mctown.cma.CMASettings; - -@Mixin(SignBlockEntity.class) -public abstract class SignBlockEntityMixin { - @Shadow - abstract public void setEditable(boolean editable); - - @Inject(method = "onActivate", at = @At("HEAD")) - public void editSign(ServerPlayerEntity player, CallbackInfoReturnable ci) { - if (CMASettings.editableSign && player.getAbilities().allowModifyWorld && player.getMainHandStack().isOf(Items.AIR) && player.isSneaking()) { - this.setEditable(true); - player.openEditSignScreen((SignBlockEntity) (Object) this); - } - } -} diff --git a/java/tech/mctown/cma/mixins/fakePlayerGamemode/PlayerCommandMixin.java b/java/tech/mctown/cma/mixins/fakePlayerGamemode/PlayerCommandMixin.java deleted file mode 100644 index bb630a3..0000000 --- a/java/tech/mctown/cma/mixins/fakePlayerGamemode/PlayerCommandMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package tech.mctown.cma.mixins.fakePlayerGamemode; - -import carpet.commands.PlayerCommand; -import carpet.utils.Messenger; -import com.mojang.brigadier.arguments.StringArgumentType; -import com.mojang.brigadier.context.CommandContext; -import net.minecraft.server.command.ServerCommandSource; -import tech.mctown.cma.CMASettings; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -@Mixin(PlayerCommand.class) -public abstract class PlayerCommandMixin { - @Inject(method = "cantSpawn", at = @At("HEAD"), remap = false) - static private void checkGamemode(CommandContext context, CallbackInfoReturnable ci) { - try { - StringArgumentType.getString(context, "gamemode"); - } catch (IllegalArgumentException e) { - return; - } - if (!CMASettings.fakePlayerGamemode) { - ci.setReturnValue(true); - } - } -} diff --git a/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java b/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java deleted file mode 100644 index 98363e6..0000000 --- a/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java +++ /dev/null @@ -1,36 +0,0 @@ -package tech.mctown.cma.mixins.flintAndSteelActivatesObserver; - -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.ObserverBlock; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.FlintAndSteelItem; -import net.minecraft.item.ItemUsageContext; -import net.minecraft.util.ActionResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import tech.mctown.cma.CMASettings; - -@Mixin(FlintAndSteelItem.class) -public abstract class FlintAndSteelItemMixin { - @Inject(method = "useOnBlock", at = @At("HEAD"), cancellable = true) - void activatesObserver(ItemUsageContext context, CallbackInfoReturnable ci) { - if (CMASettings.flintAndSteelActivatesObserver) { - PlayerEntity playerEntity = context.getPlayer(); - if (playerEntity == null) return; - World world = context.getWorld(); - BlockPos blockPos = context.getBlockPos(); - BlockState blockState = world.getBlockState(blockPos); - - if (blockState.isOf(Blocks.OBSERVER) && !playerEntity.isSneaking()) { - ObserverBlock observer = (ObserverBlock) blockState.getBlock(); - observer.scheduleTick(world, blockPos); - ci.setReturnValue(ActionResult.success(world.isClient())); - } - } - } -} diff --git a/java/tech/mctown/cma/mixins/runCommandOnSign/SignBlockEntityMixin.java b/java/tech/mctown/cma/mixins/runCommandOnSign/SignBlockEntityMixin.java deleted file mode 100644 index e418133..0000000 --- a/java/tech/mctown/cma/mixins/runCommandOnSign/SignBlockEntityMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package tech.mctown.cma.mixins.runCommandOnSign; - -import net.minecraft.block.entity.SignBlockEntity; -import net.minecraft.item.Items; -import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.Text; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import tech.mctown.cma.CMASettings; - -@Mixin(SignBlockEntity.class) -public abstract class SignBlockEntityMixin { - @Shadow - protected abstract Text[] getTexts(boolean filtered); - - @Inject(method = "onActivate", at = @At("HEAD")) - public void runCommandOnActivated(ServerPlayerEntity player, CallbackInfoReturnable ci) { - if (CMASettings.runCommandOnSign) { - Text[] texts = this.getTexts(player.shouldFilterText()); - StringBuilder rawText = new StringBuilder(); - for (Text t : texts) { - rawText.append(t.getString()); - } - String text = rawText.toString(); - if (text.startsWith("/") && player.getMainHandStack().isOf(Items.AIR) && !player.isSneaking()) { - String actualCommand = text.substring(1); - // No cheating! - ServerCommandSource commandSource = player.getCommandSource(); - commandSource.getServer().getCommandManager().execute(commandSource, actualCommand); - } - } - } -} diff --git a/src/main/java/tech/mctown/cma/CMALogger.java b/src/main/java/tech/mctown/cma/CMALogger.java index 16ac888..bb895f2 100644 --- a/src/main/java/tech/mctown/cma/CMALogger.java +++ b/src/main/java/tech/mctown/cma/CMALogger.java @@ -28,7 +28,7 @@ public static void toGame(String message, MinecraftServer server) { } public static void toGame(String message, PlayerEntity player) { - player.sendMessage(Text.of(message)); + player.sendMessage(Text.of(message),false); } public static void error(String s, Exception e) { diff --git a/src/main/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java b/src/main/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java index b003410..2f9132c 100644 --- a/src/main/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java +++ b/src/main/java/tech/mctown/cma/mixins/flintAndSteelActivatesObserver/FlintAndSteelItemMixin.java @@ -41,7 +41,7 @@ void activatesObserver(ItemUsageContext context, CallbackInfoReturnable