——莎士比亚《威尼斯商人》 这两天入门bukkit踩了不少坑 写篇搭建开发环境 首先需要idea和一个服务器核心 服务器核心点我下载 我还在安装idea。。。 install 顺便下载了Chinese,Translation以及Camelcase(可选,单纯个人习惯) 安装好了重启idea 然后创建新项目 可以看到左边的Minecraft,点击,然后勾选上Bukkit 首先到HelloBukkit.java中按ALT+INSERT点击重写onCommand方法 然后开始编写代码 package hellobukkit.hellobukkit; import org.bukkit.command.Command ; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.java.JavaPlugin
小时内能进行一次占卜 占卜后会根据占卜结果影响 钓鱼 获得双倍物品 或者 失去物品 OP可以获取转运符,转运符为物品,点击使用 源码地址:https://gitee.com/VampireAchao/bukkit-fortune-telling.git
Bukkit(原版同理)的玩家/实体带颜色发光机制简谈 众所周知,在 Bukkit 的代表实体的 org.bukkit.entity.Entity 对象中有 setGlowing(boolean flag 在过去的版本中,Bukkit 仅支持 OfflinePlayer 作为 Team 对象的成员,但现在,Bukkit 将成员的类型设置成了 String 而不是 OfflinePlayer,这就允许非玩家对象被加入 Scoreboard sb = Bukkit.getScoreboardManager().getMainScoreboard(); Team team = sb.registerNewTeam("Team_Name 这是一个令人疑惑的设计:当我们查看 Bukkit 已经弃用的 addPlayer 方法(而不是 addEntry )时,我们看到实现是这样的: public void addPlayer(OfflinePlayer 同时,还需要注意的一些事情是:对于 ScoreboardManager,Bukkit 还提供了一个 getNewScoreboard() 方法用来产生一个新的子记分板,用以区分主记分板,但 使用这个计分板创建的队伍并不能
kim.minecraft.citycore.utils.HologramTags import kim.minecraft.citycore.utils.storage.SettingsStorage import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.player.PlayerJoinEvent import org.bukkit.event.player.PlayerQuitEvent import org.bukkit.potion.PotionEffect import org.bukkit.potion.PotionEffectType import org.bukkit.scheduler.BukkitRunnable
使用 Gson 序列化和反序列化 org.bukkit.ItemStack 写这玩意的原因 昨天肝了一整天 这个插件,为了方便起见我希望使用 Json 来存储 ItemStack 信息,结果没想到为了序列化这个 开始 探寻 ItemStack 序列化的实质 既然 Bukkit API 已经向我们提供了 ItemStack 的序列化和反序列化方法,那么就让我们深入一下这两个方法: // on ItemStack.class Bukkit.getItemFactory().equals(meta, null)) { result.put("meta", meta); }
/CraftBukkit(水桶服) 比较原始的插件服务端,并不支持添加Mod,但可以添加Bukkit插件它能使用CraftBukkit插件但它对Spigot插件兼容性比较差,它只能加CraftBukkit 插件和Spigot的部分插件 https://getbukkit.org/download/craftbukkit Spigot(水龙头) Spigot对Bukkit进行了优化,支持添加Bukkit插件 ├─banned-players.json //存放了被 ban ID 玩家的 UUID 及游戏名称等相关信息 ├─bukkit.yml //由 Bukkit 派生得到的服务端都有的文件。 保存着 Bukkit 所提供的最基本的设置选项。 ├─catserver.yml //这是 Paper 才有的配置文件,您一般不会在 Bukkit 或 Spigot 中看到它。 ├─spigot.yml //这是 Spigot 才有的配置文件,您一般不会在 Bukkit 中看到它。
Bukkit NMS 开发实践 —— 创建你自己的自定义实体(适用于 1.16.3 – 1.16.5 版本) 什么是 NMS? 本教程旨在教授 Bukkit 开发者以 NMS 使用方法,拓展 Bukkit 开发者的开发视野。 当然,我们可以通过以下代码实现 Bukkit World 和 NMS World 的互转: //Bukkit World to NMS World org.bukkit.World bukkitWorld = nmsWorld.getWorld(); // NMS World to Bukkit World net.minecraft.server.v1_16_R3.World nmsWorld = ( 接口,而是 org.bukkit.craftbukkit.v1_16_R3.CraftWorld 类,其为 org.bukkit.World 在 CraftBukkit 服务端中的内部实现,因此可以直接转换到
Bukkit/Folia类服务器(安装插件):复制[bukkit_spigot_paper]AllMusic_Server-xxx-all.jar到你的plugins文件夹 Bungeecord/Velocity
阅读本文可能需要了解原版的生物 AI 机制,如果您不了解这些机制,则可以阅读海螺的 聊聊生物和 AI 文章(即本文灵感)来对这些机制有一些初步的了解 摒弃 NMS 众所周知,与 Forge 不同,Bukkit 但因为各种原因,原生 Bukkit API(甚至 Spigot API)提供的封装总是有限,对于一些进阶的操作,我们总是需要访问和调用内部代码来实现我们所需要的操作。 ; import org.bukkit.entity.Mob; /** * * Used to identify a Goal. 最后,要想获取 MobGoals 实例,只需调用 Bukkit.getMobGoals() 方法(同 Bukkit.getServer().getMobGoals() 方法)即可。 ; import org.bukkit.entity.*; /** * Represents a vanilla goal.
你需要一个配置良好的服务端,和一个畅通的网络,还有一个高带宽好用且便宜良心的一个端口映射 我们以原版服务端为例,你可以从Minecraft Launcher通过配置直接下载服务端(如图) 你也可以从SpigotMC,Bukkit 如果是自己的PC,在同一网络下,自己进入服务器时可以使用内网IP(127.0.0.1:25565) 7.模组与插件 您可以前往Forge,Spigot,Bukkit,Sponge,CatServer官网 ,下载特殊的服务端 这些端可以使您装入模组或插件 Forge:模组,放在mods文件夹 Spigot:SPIGOT插件,放在plugins文件夹 Bukkit:水桶端插件,放在plugins文件夹 Sponge :海绵端插件,需要Forge API,放在mods文件夹 CatServer:支持Forge,Bukkit,Sponge,放在mods和plugins文件夹
插件开发为举例对象给出一个案例: 在 JavaPlugin 的 onEnable() 方法中我们需要注入 Listener(监听器类) 与 Command(指令类) 对于已经写好的这些类都需要通过 Bukkit.getPluginCommand 包内的情况进一步增加代码量 为了解决上述操作,我们使用注解式开发来降低代码量并提高可读性: 定义一个 @Handler 注解我们只允许他被挂载到类上 且被该注解修饰的类会在 onEnable() 时自动注入到 Bukkit null 判断,还是很简单的处理模式 最后将得到的符合条件的类全部注入 Bukkit 的监听器池中即可完成一套注解式开发: public static void main(String[] args) = null) { try { //这里将所有监听器注入到Bukkit中 Bukkit.getPluginManager
options.encoding = 'UTF-8' // 让编译支持中文 } repositories { mavenLocal { content { includeGroup("org.bukkit 中被自动下载不需要打包到工程中 compileOnly "org.spigotmc:spigot-api:${spigotVersion}" // Spigot插件核心依赖 compileOnly "org.bukkit NMS类通常位于org.bukkit.craftbukkit.版本号包中,它们都是用来处理Minecraft-Server底层逻辑的,包括但不局限于:获取、修改玩家NBT数据;获取、修改物品NBT数据; 为了解决与 NMS 包的交互需求,Spigot 提供了一些公共 API,如 Bukkit API 和 Spigot API。 Retrieved July 10, 2023, from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/craftbukkit/v1_17_R1
最后,该文章给出了一个运行在 Bukkit 平台上的,使用上述架构开发的框架。 Duration.ofSeconds(10), // waiting duration new Location(Bukkit.getWorld priority () -> Phase.builder() .onStart((it) -> Bukkit.broadcastMessage .build() ) .world(Bukkit.getWorld("game_world")) .build
使用高版本的原因就是,越高的Spigot版本就能保证能用到越新的Bukkit插件。 插件 可以从Spigot资源或Bukkit插件中发现更多插件。
|· NoDamage の 一个很多功能的大厅系统 ·| 名字:NoDamage | 大厅保护 来源:转载 | 转载作者汉化 适用服务端:可执行Bukkit服务端 语言:简体中文 | 英文English
[imagee6526e5025b4c9d0.png] [imagee4489355f1afa78b.png] 出现下图所示信息后点击 特定配置,然后点击 Bukkit eula.txt下的浏览 [image69db589e9346523d.png [image9e3f31dedaac7dfa.png] 点击 Bukkit server.properties下的浏览,然后就可以修改服务器的设置,非正版用户记得将在线正版验证设为否,设置完成后要点保存
这里暂时把我们的settings.xml给剪切掉 这样使用的就是默认的镜像地址了 然后再刷新maven 可以看到正常下载 之前在bukkit开发的时候也遇到这个坑,所以在此留个记录,以防万一
核心文件的作用就和电器的电一样,没有电就打不开电器,没有开服核心就无法开服 核心文件分许多种,bukkit,MCBC,Cauldron、ITX(手机开服核心)、Spigot、MCpc、CB等等许多的开服核心
wp-smart-honeypot - 减少垃圾邮件的 WordPress 插件 wordpot - WordPress 蜜罐 Snare - 下一代高交互 honEypot Tanner - 评估 SNARE 事件 Bukkit Honeypot Honeypot - Bukkit 的一个插件 EoHoneypotBundle - Symfony2 类型的蜜罐 Glastopf - Web 应用蜜罐 Google Hack Honeypot
以普遍理性而言,这些开发者应当可以切换到 Java 16 进行开发: 所有面向 Minecraft 1.17 或更高版本进行开发的模组/插件开发者 面向 Minecraft 1.13+ 的 Bukkit