本文选用的mc版本是1.16.5,但理论上可用于1.14+。若有人尝试成功,欢迎评论区留言。
需要实现的内容:
1:告示牌写上特定文本后使其作为点赞告示牌
2:点赞告示牌每次点赞后点赞数增加
3:点赞数量实时更新显示
笔者使用了名为“Minecraft Development”的idea插件快速构建mod开发环境。读者可根据实际情况自行选择使用插件构建或者用forge官网上获取的mdk构建。
注意,项目涉及到更新告示牌文本,需要配置mixin,具体方法请百度
话不多说,开始做项目。

注册事件
package ltd.uicdb.thumbsup;
import com.google.common.graph.Network;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.tree.LiteralCommandNode;
import ltd.uicdb.thumbsup.cap.IThumbsUpCap;
import ltd.uicdb.thumbsup.cap.ThumbsUpCapProvider;
import ltd.uicdb.thumbsup.common.Config;
import ltd.uicdb.thumbsup.network.Networking;
import net.minecraft.command.CommandSource;
import net.minecraft.command.Commands;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.nbt.StringNBT;
import net.minecraft.network.NetworkManager;
import net.minecraft.test.TestCommand;
import net.minecraft.tileentity.SignTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.event.AttachCapabilitiesEvent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.event.entity.player.PlayerContainerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.concurrent.atomic.AtomicBoolean;
// The value here should match an entry in the META-INF/mods.toml file
@Mod("thumbsup")