服务器使用量
未统计
服务玩家数
未统计
下载量
29,295
插件详细介绍
CraftKit 是一个旨在加快开发速度的实用工具库。借助此库,开发者无需编写重复代码,也无需担心多版本兼容性问题。
使用说明
服务器管理员
- 将此库放入服务器的
plugins文件夹即可。 - 服务器需要保持互联网连接,以便库能下载内部模块。
- 使用命令
/ck或/craftkit进行管理。 - 对于运行在 Java 9 或更高版本 的服务器,请在启动命令中添加以下参数:
--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>使用示例
你可以参考以下示例了解此库的基本用法。
物品构建器 (ItemBuilder)
var itemStack = new ItemBuilder(Material.PAPER)
.name("&aVoucher")
.lore("&aRight-click to receive &b10 coins")
.build();生成 NPC
var gameProfile = new GameProfileBuilder("anhcraft");
NPC.spawn(gameProfile, location).addViewer(player);为头颅物品设置皮肤
ItemNBTHelper helper = ItemNBTHelper.of(skull);
helper.setSkin(Skin.MHF_CAKE);
skull = helper.save();通过 BungeeCord 更换皮肤
BungeeUtil.changeSkin("anhcraft", new Skin(value, signature));使用 PlayerJumpEvent 统计跳跃次数
@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));
}
}通过 Spiget API 获取资源最新版本
SpigetApiUtil.getResourceLatestVersion("39007");为物品添加自定义 NBT 标签
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);创建带回调的自定义 GUI
// 首先初始化扩展: 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);
}创建带回调的铁砧 GUI
// 首先初始化扩展: 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);测试支持版本
版本分布
基本信息
插件名称
CraftKit
作者
anhcraft
平台
Bukkit / Spigot
支持版本
1.9 - 1.17
点赞数
3
最近版本
暂无数据
-