CraftKit 是一个旨在加快开发速度的实用工具库。借助此库,开发者无需编写重复代码,也无需担心多版本兼容性问题。
plugins 文件夹即可。/ck 或 /craftkit 进行管理。 --add-opens java.base/java.net=ALL-UNNAMED若要在你的插件中使用此库,请按以下方式添加依赖。
仓库配置 (pom.xml):
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>Spigot 端依赖:
<dependency>
<groupId>com.github.anhcraft.CraftKit</groupId>
<artifactId>craftkit.spigot</artifactId>
<version>VERSION</version>
</dependency>BungeeCord 端依赖:
<dependency>
<groupId>com.github.anhcraft.CraftKit</groupId>
<artifactId>craftkit.bungee</artifactId>
<version>VERSION</version>
</dependency>你可以参考以下示例了解此库的基本用法。
var itemStack = new ItemBuilder(Material.PAPER)
.name("&aVoucher")
.lore("&aRight-click to receive &b10 coins")
.build();var gameProfile = new GameProfileBuilder("anhcraft");
NPC.spawn(gameProfile, location).addViewer(player);ItemNBTHelper helper = ItemNBTHelper.of(skull);
helper.setSkin(Skin.MHF_CAKE);
skull = helper.save();BungeeUtil.changeSkin("anhcraft", new Skin(value, signature));@EventHandler
private void jump(PlayerJumpEvent event) {
if (JUMP_COUNT.containsKey(event.getPlayer())) {
JUMP_COUNT.get(event.getPlayer()).incrementAndGet();
} else {
JUMP_COUNT.put(event.getPlayer(), new AtomicInteger(1));
}
}SpigetApiUtil.getResourceLatestVersion("39007");var root = CompoundTag.of(itemStack);
var tag = root.getOrCreateDefault("tag", CompoundTag.class);
tag.put("custom_tag", new IntTag(1));
root.put("tag", tag);
itemStack = root.save(itemStack);// 首先初始化扩展: CraftExtension.of(<YOUR PLUGIN'S MAIN CLASS>)
private CraftExtension extension;
public void open(Player player) {
CustomGUI cg = extension.createCustomGUI(null, 45, ChatUtil.formatColorCodes("&aRainbow &fInventory"));
InventoryUtil.fillAll(cg, new ItemBuilder(Material.APPLE).name("&a").build());
cg.addContentCallback(SlotCallback.PREVENT_MODIFY);
cg.addContentCallback(new SlotCallback() {
@Override
public void click(InventoryClickEvent event, Player player, BaseGUI gui) {
InventoryUtil.fillAll(cg, new ItemBuilder(RandomUtil.pickRandom(MaterialUtil.getStainedGlassPaneTypes())).name("&a").build());
player.damage(0.0001);
}
});
player.openInventory(cg);
}// 首先初始化扩展: CraftExtension.of(<YOUR PLUGIN'S MAIN CLASS>)
CraftExtension extension;
AnvilGUI ag = extension.createAnvilGUI(player, "Title");
ag.setItem(AnvilSlot.INPUT_LEFT, new ItemStack(Material.EMERALD, 1), SlotCallback.PREVENT_MODIFY);
ag.setItem(AnvilSlot.OUTPUT, new ItemStack(Material.EMERALD, 1), SlotCallback.PREVENT_MODIFY, new SlotCallback() {
@Override
public void click(InventoryClickEvent event, Player player, BaseGUI gui) {
System.out.println(((AnvilGUI) gui).getInputText());
}
});
// GUI 会自动为指定玩家打开// 首先初始化扩展: CraftExtension.of(<YOUR PLUGIN'S MAIN CLASS>)
CraftExtension extension;
ArmorStand as = ArmorStand.spawn(player.getLocation());
as.setArms(true);
as.setEquipment(EquipmentSlot.HEAD, new ItemStack(Material.IRON_HELMET, 1));
as.setEquipment(EquipmentSlot.HAND, new ItemStack(Material.DIAMOND_AXE, 1));
TrackedEntity<ArmorStand> te = extension.trackEntity(as);
te.setViewDistance(5);
te.addViewer(player);友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,028,192 | 今日访问人次:12,320 | 昨日访问人次:11,147
独立 IP:4,864 | 最近24小时有3,877人访问本站
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6