弃用 1.20.6

This commit is contained in:
Armamem0t 2025-07-16 20:38:27 +08:00
parent e54f3ceb7b
commit a80f7388d1
Signed by: minglipro
GPG Key ID: 5F355A77B22AA93B
7 changed files with 48 additions and 46 deletions

View File

@ -3,7 +3,7 @@ plugins {
id 'idea' id 'idea'
id 'maven-publish' id 'maven-publish'
id 'net.minecraftforge.gradle' version '[6.0.24,6.2)' id 'net.minecraftforge.gradle' version '[6.0.24,6.2)'
id 'org.spongepowered.mixin' version '0.7.36' id 'org.spongepowered.mixin' version '0.7+'
} }
version = "Forge-${project.minecraft_version}-${project.mod_version}" version = "Forge-${project.minecraft_version}-${project.mod_version}"
@ -19,6 +19,7 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(21)
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft { minecraft {
mappings channel: mapping_channel, version: mapping_version mappings channel: mapping_channel, version: mapping_version
copyIdeResources = true copyIdeResources = true
runs { runs {
client { client {
@ -74,10 +75,7 @@ repositories {
} }
dependencies { dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" minecraft ("net.minecraftforge:forge:${minecraft_version}-${forge_version}")
annotationProcessor 'org.spongepowered:mixin:0.8.5'
implementation 'org.spongepowered:mixin:0.8.5'
implementation("com.google.code.gson:gson:2.13.1")
} }
def resourceTargets = ['META-INF/mods.toml', 'pack.mcmeta'] def resourceTargets = ['META-INF/mods.toml', 'pack.mcmeta']
@ -130,6 +128,10 @@ publishing {
repositories {} repositories {}
} }
tasks.withType(JavaCompile).configureEach { idea.module { downloadJavadoc = downloadSources = true }
options.encoding = 'UTF-8'
sourceSets.each {
def dir = layout.buildDirectory.dir("sourcesSets/$it.name")
it.output.resourcesDir = dir
it.java.destinationDirectory = dir
} }

View File

@ -3,8 +3,8 @@ systemProp.file.encoding=UTF-8
minecraft_version=1.20.6 minecraft_version=1.20.6
minecraft_version_range=[1.20.6] minecraft_version_range=[1.20.6]
forge_version=50.2.0 forge_version=50.2.0
forge_version_range=[49,) forge_version_range=[50,)
loader_version_range=[49,) loader_version_range=[50,)
mapping_channel=official mapping_channel=official
mapping_version=1.20.6 mapping_version=1.20.6
mod_id=enchantmentdoesnotconflict mod_id=enchantmentdoesnotconflict

View File

@ -9,7 +9,7 @@ pluginManagement {
} }
plugins { plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0' id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
} }
rootProject.name= "${mod_id}-Forge-${minecraft_version}-${mod_version}" rootProject.name= "${mod_id}-Forge-${minecraft_version}-${mod_version}"

View File

@ -2,37 +2,44 @@ package com.mingliqiye.minecraft.enchantment.conflict;
import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig; import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig;
import com.mingliqiye.minecraft.enchantment.conflict.network.ChannelHander; import com.mingliqiye.minecraft.enchantment.conflict.network.ChannelHander;
import com.mingliqiye.minecraft.enchantment.conflict.network.message.ConfigMessage;
import com.mojang.logging.LogUtils; import com.mojang.logging.LogUtils;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.server.ServerStartingEvent;
import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.slf4j.Logger; import org.slf4j.Logger;
/**
* 有没有大佬能够修复该版本的问题<br/>
* 开发环境可以运行 生产环境报错映射出错 FriendlyByteBuf::writeUtf(String s,int i)
* @see ConfigMessage
* @see FriendlyByteBuf
* @deprecated
*/
@Mod(EnchantmentDoNotConflictForge.MODID) @Mod(EnchantmentDoNotConflictForge.MODID)
public class EnchantmentDoNotConflictForge { public class EnchantmentDoNotConflictForge {
public static final String MODID = "enchantmentdoesnotconflict"; public static final String MODID = "enchantmentdoesnotconflict";
private static final Logger LOGGER = LogUtils.getLogger(); private static final Logger LOGGER = LogUtils.getLogger();
public EnchantmentDoNotConflictForge() { public EnchantmentDoNotConflictForge(IEventBus modEventBus, ModContainer container) {
ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, ModConfig.SPEC); container.addConfig(
new net.minecraftforge.fml.config.ModConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON,
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); ModConfig.SPEC, container));
modEventBus.addListener(this::commonSetup); modEventBus.addListener(this::commonSetup);
MinecraftForge.EVENT_BUS.addListener(this::onPlayerLogin);
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS; }
forgeEventBus.register(this);
public EnchantmentDoNotConflictForge(FMLJavaModLoadingContext context) {
this(context.getModEventBus(), context.getContainer());
} }
@SubscribeEvent
public void commonSetup(FMLCommonSetupEvent event) { public void commonSetup(FMLCommonSetupEvent event) {
event.enqueueWork(() -> { event.enqueueWork(() -> {
ChannelHander.register(); ChannelHander.register();
@ -40,6 +47,7 @@ public class EnchantmentDoNotConflictForge {
LOGGER.info("Network channel registered successfully"); LOGGER.info("Network channel registered successfully");
}); });
} }
@SubscribeEvent @SubscribeEvent
public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
if (event.getEntity() instanceof ServerPlayer player) { if (event.getEntity() instanceof ServerPlayer player) {
@ -47,17 +55,4 @@ public class EnchantmentDoNotConflictForge {
LOGGER.debug("Sent config to player: {}", player.getName().getString()); LOGGER.debug("Sent config to player: {}", player.getName().getString());
} }
} }
@SubscribeEvent
public void onServerStarting(ServerStartingEvent event) {
LOGGER.info("Server starting initialization");
}
@Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public static class ClientModEvents {
@SubscribeEvent
public static void onClientSetup(FMLClientSetupEvent event) {
LOGGER.info("Client setup complete");
}
}
} }

View File

@ -9,6 +9,7 @@ import net.minecraft.server.level.ServerPlayer;
import net.minecraftforge.event.network.CustomPayloadEvent; import net.minecraftforge.event.network.CustomPayloadEvent;
import net.minecraftforge.network.NetworkDirection; import net.minecraftforge.network.NetworkDirection;
import net.minecraftforge.network.PacketDistributor; import net.minecraftforge.network.PacketDistributor;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger; import org.slf4j.Logger;
import static com.mingliqiye.minecraft.enchantment.conflict.network.ChannelHander.CONFIG_CHANNEL_INSTANCE; import static com.mingliqiye.minecraft.enchantment.conflict.network.ChannelHander.CONFIG_CHANNEL_INSTANCE;
@ -24,8 +25,11 @@ public record ConfigMessage(ModConfig.ConfigItem data) {
.decoder(ConfigMessage::decode).encoder(ConfigMessage::encode).consumerMainThread(ConfigMessage::handle).add(); .decoder(ConfigMessage::decode).encoder(ConfigMessage::encode).consumerMainThread(ConfigMessage::handle).add();
} }
/**
* @deprecated
*/
public static void encode(ConfigMessage configMessage, FriendlyByteBuf byteBuf) { public static void encode(ConfigMessage configMessage, FriendlyByteBuf byteBuf) {
byteBuf.writeUtf(GSON.toJson(configMessage.data)); byteBuf.writeUtf(GSON.toJson(configMessage.data),32767);
} }
public static ConfigMessage decode(FriendlyByteBuf byteBuf) { public static ConfigMessage decode(FriendlyByteBuf byteBuf) {
@ -36,7 +40,7 @@ public record ConfigMessage(ModConfig.ConfigItem data) {
ModConfig.ConfigItem configItem = ModConfig.getInstance(); ModConfig.ConfigItem configItem = ModConfig.getInstance();
CONFIG_CHANNEL_INSTANCE.send(new ConfigMessage(configItem),PacketDistributor.PLAYER.with(player)); CONFIG_CHANNEL_INSTANCE.send(new ConfigMessage(configItem),PacketDistributor.PLAYER.with(player));
LOGGER.info("Send Server Config {} to {} data={}", EnchantmentDoNotConflictForge.MODID, LOGGER.info("Send Server Config {} to {} data={}", EnchantmentDoNotConflictForge.MODID,
player.getName().getString(), configItem); player.getDisplayName().getString(), configItem);
} }
public static void handle(ConfigMessage configMessage, CustomPayloadEvent.Context ctx) { public static void handle(ConfigMessage configMessage, CustomPayloadEvent.Context ctx) {

View File

@ -1,16 +1,17 @@
modLoader="javafml" modLoader="javafml"
loaderVersion="${loader_version_range}" loaderVersion="${loader_version_range}"
license="${mod_license}" license="${mod_license}"
[[mods]] [[mods]]
modId="${mod_id}" modId="${mod_id}"
version="${mod_version}" version="${mod_version}"
displayName="${mod_name}" displayName="${mod_name}"
authors="${mod_authors}" authors="${mod_authors}"
description='''${mod_description}''' description='''${mod_description}'''
logoFile = "assets/${mod_id}/textures/logo/title_full.png" logoFile = "assets/${mod_id}/textures/logo/title_full.png"
[[mixins]] [[mixins]]
config="${mod_id}.mixins.json" config="${mod_id}.mixins.json"
[[dependencies.${mod_id}]] [[dependencies.${mod_id}]]
modId="forge" modId="forge"

View File

@ -2,7 +2,7 @@
"required": true, "required": true,
"package": "com.mingliqiye.minecraft.enchantment.conflict.mixin", "package": "com.mingliqiye.minecraft.enchantment.conflict.mixin",
"refmap": "enchantmentdoesnotconflict.mixins.refmap.json", "refmap": "enchantmentdoesnotconflict.mixins.refmap.json",
"compatibilityLevel": "JAVA_21", "compatibilityLevel": "JAVA_17",
"mixins": [ "mixins": [
"ArrowInfiniteEnchantmentMixin", "ArrowInfiniteEnchantmentMixin",
"ArrowPiercingEnchantmentMixin", "ArrowPiercingEnchantmentMixin",
@ -12,7 +12,7 @@
"injectors": { "injectors": {
"defaultRequire": 1 "defaultRequire": 1
}, },
"minVersion": "0.8.5", "minVersion": "0.8",
"overwrites": { "overwrites": {
"requireAnnotations": true "requireAnnotations": true
} }