本帖最后由 Freeze_Dolphin 于 2021-8-13 15:22 编辑 
RT,没有实质性的附魔但是显示为附魔的样子
不能有任何有作用的附魔
因为这样的话玩家可以用祛魔机获取上面的附魔(
mcmod的指令生成器里有个这样的选项:
 
 
生成出来的指令是这样的:
 
 
就是怎么用插件实现这样的(
附:
我是已经想到可能是怎么实现的了,但是我不方便测试(电脑显卡配置不够开mc)
这是我的代码
 
 
RT,没有实质性的附魔但是显示为附魔的样子
不能有任何有作用的附魔
因为这样的话玩家可以用祛魔机获取上面的附魔(
mcmod的指令生成器里有个这样的选项:
生成出来的指令是这样的:
就是怎么用插件实现这样的(
附:
我是已经想到可能是怎么实现的了,但是我不方便测试(电脑显卡配置不够开mc)
这是我的代码
 
- public ItemBuilder glow(boolean glow) {
 
-         net.minecraft.server.v1_12_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(item);
 
-         NBTTagCompound tag = null;
 
-         if (!nmsStack.hasTag()) {
 
-             tag = new NBTTagCompound();
 
-             nmsStack.setTag(tag);
 
-         }
 
-         if (tag == null) tag = nmsStack.getTag();
 
-         NBTTagList ench = new NBTTagList();
 
-         tag.set("ench", ench);
 
-         nmsStack.setTag(tag);
 
-         item = CraftItemStack.asCraftMirror(nmsStack);
 
-         return this;
 
- }
1.12以上的版本我没试过,不确定是否还可用
Freeze_Dolphin 发表于 2021-8-13 19:10
woc我这里没有CraftItemStack
这是我的pom
1.17以下 net.minecraft.server 的代码,属于反混淆,是侵权行为,处于灰色地带。它和 org.bukkit.craftbukkit 这个包底下的代码是放在一起偷偷发布的。你这里引入的包没有nms和obc。
maven本地引用一下核心文件,比如spigot-1.12.2.jar
Narcissu14 发表于 2021-8-13 19:39
maven本地引用一下核心文件,比如spigot-1.12.2.jar
maven引本地库会警告(
而且本地库一引就是60多MB
这不太好传github吧(
就没有什么方法优雅的引入吗(
Freeze_Dolphin 发表于 2021-8-13 19:44
maven引本地库会警告(
而且本地库一引就是60多MB
当然有。比如说某一些仓库会直接发布craftbukkit包及nms的代码,把侵权放在明面上。当然你也可以用buildtools把依赖加到mavenlocal里。
William_Shi 发表于 2021-8-13 20:26
当然有。比如说某一些仓库会直接发布craftbukkit包及nms的代码,把侵权放在明面上。当然你也可以用buildt ...
已经用上NBTAPI了
反射一堆的我三行就好了:
public static ItemStack glow(ItemStack item) {
NBTItem nbti = new NBTItem(item);
nbti.mergeCompound(new NBTContainer("{Enchantments:[{}]}"));
return nbti.getItem();
}
