Wizards Domination Minigame 3.9.8.2 [提交至百度][查看百度是否已收录此帖]

5124 0
2022-10-7 10:38:40
显示全部楼层
生活圈制作
Wizards  Domination Minigame 3.9.8.2



奇才统治 小游戏3.9.8.2

付费获得:
下载地址
提取码:0pnm
20
您未购买

人民币

免费下载:
打开微信扫一扫下面的小程序二维码
IMG_6729.PNG

机 Minecraft 版本: 1.13
测试的 Minecraft 版本: 1.18 / 1.17 / Minecraft /1.18 / 1.17 / Minecraft

巫师是一个统治游戏。
选择您的向导类并捕获要得分的地图目标。​



  • 多竞​​技场和 BungeeCord 支持。
  • 成就。
  • SQLite 和 MySQL 支持。
  • 极其可配置。
    • 标志、记分牌、消息、选项等。
  • 保存和恢复玩家库存、关卡等。
  • 带有游戏事件的 API。
  • 自定义项目。
  • 升级/排名系统。
  • 游戏顶级杀戮。
  • 全息排行榜。
    • 顶级伤害,治疗,杀戮和胜利。
  • 奖励系统。
  • 类脚本系统。
  • 套件或课程。
  • 杀戮辅助系统。
  • 避免不断的平局。
  • 非常容易设置。
  • 坐骑。
  • 新:通电!
  • 新:观众系统!


虫子
如果您有任何问题,请通过讨论或私信报告。不要使用评级区域来报告错误或请求功能。请去讨论。


默认游戏系统

如果您不想拥有技能并希望启用套件系统,这是 100% 可能的,该系统将很快推出更多游戏模式。


依赖项

Wizards 可以自己运行所有系统,但是,您可以安装Holographic Displays以使排行榜和 Vault 与全球经济合作。

您还可以安装ItemBridge以与 QualityArmory 挂钩。您应该能够在没有 ItemBridge 的情况下使用 CrackShot。


PlaceholderAPI 支持
以下占位符可用,它们是不言自明的:

%wizards_wins%
%wizards_gamesplayed%
%wizards_losses%
%wizards_kills%
%wizards_assists%
%wizards_deaths%
%wizards_damagecaused%
%wizards_healingdone%
%wizards_balance%

--
Arena_Placeholders_{arenazards }%
%wizards_arena_max_players_{arena}%
%wizards_arena_min_xplayers_{arena}%
%wizards_arena_status_{arena}%
%wizards_points-to-win_{arena}%

使用示例(豪华菜单):



如果在游戏中,额外的占位符是%wizards_team_color%,它返回玩家的团队颜色。这是在您需要使用第三方名称标签插件的情况下添加的。






竞技场设置
所需权限:wizards.setup
首先使用/wizards setgspawn设置全局生成
  • 创建你的竞技场 - /wizards create <name>。
  • 添加生成 - /wizards setLocation <name> <location>
    • 地点:BLUE_SPAWN 、 RED_SPAWN 、 LOBBY
  • 添加竞技场目标 - /wizards setObjective <name> <objective>
    • 目标:A、B、C。
    • 目标是一个 3x3 区域,目标中心有电子信标(此命令设置中心)
  • 设置最小玩家 - /wizards setMinPlayers <name> <amount>
  • 设置最大玩家数 - /wizards setMaxPlayers <name> <amount>
  • 完成设置并创建游戏 - /wizards finish <name>
目标是一个 3x3 的区域,中心有电子信标。

签到格式:
  • [奇才]
  • 加入
  • 竞技场名称
视频:



排行榜
您需要 HolographicDisplays 才能使用排行榜,只需使用占位符:
  • {wizards_wins_number}
    • 例如:{wizards_wins_1} 将返回获胜最多的玩家。
    • {wizards_wins_2} 等
  • {wizards_kills_number}
    • 例如:{wizards_kills_1} 将返回检查点最多的玩家
    • {wizards_kills_2} 等

占位符:
  • {wizards_kills_NUMBER}
    • %kills% 来自玩家。
  • {wizards_wins_NUMBER}
    • %wins% 来自玩家。
  • {wizards_damage_NUMBER}
    • 来自玩家的 %damage%。
  • {wizards_healing_NUMBER}
    • 来自玩家的 %healing%。






命令:wizards
别名:wzds、wrz。
  • /wizards join <arena> -没有权限。
  • /wizards leave -没有许可。
  • /wizards stats -没有权限。
管理器命令

  • /wizards setgspawn- wizards.admin
  • /wizards start <arena> - wizads.moderator / sr.admin
  • /wizards stop <竞技场> - wizads.moderator/sr.admin
  • /wizards 重新加载-wizards.admin
    • 保存所有配置文件。

其他:
  • /wizards coin set/add/remve <玩家> <数量>
    • 权限:wizards.admin
    • 更新玩家平衡,命令在启用 Vault 支持的情况下不起作用。
  • /wizards update <玩家>
    • 权限:wizards.admin
    • 向数据库发送更新。
  • /向导更新排行榜
    • 权限:wizards.admin
    • 更新排行榜。
  • /向导传送门
    • 权限:wizards.admin
    • 管理竞技场门户(见下文)
  • /向导重新加载
    • 权限:wizards.admin
    • 将重新加载所有类文件,您现在可以修改一个值,然后使用此命令应用更改。
      • 此命令会重新加载所有事件,因此如果正在运行游戏,则无法使用它。

  • /向导工具包
    • 权限:wizards.manager.kits
    • /wizards kits create <name> (price) (needsPerm) (perm) (display-item)
      • () 用于可选参数,它具有默认值:1000,false,kits.{name},带有套件名称的随机项目。
      • 我建议您在 kits 文件中手动修改您的套件,然后使用 kits reload 命令。
    • /wizards kit 删除 <名称>
      • 从 kits.yml 中删除一个工具包。
    • /wizards 工具包重新加载
      • 重新加载所有工具包。






班级
所有班级的主要目标都是相同的 - 发射法术或射弹以造成伤害,您将决定班级的其他一切。

v1.0.0 上有 4 个课程,很快就会有 2 个课程,感谢您对课程的建议。
  • 烈焰术士
    • 发射火焰咒语,您可以在pyromancer.yml修改其他所有内容。
  • 海王
    • 发射水的咒语,您可以在aquamancer.yml修改其他所有内容。
    • 可以治疗友军,可以设置治疗量和范围。
  • 海洛布林
    • 发射一个粒子法术,会打击并增加伤害,你可以在herobrine.yml修改其他所有内容。
  • 枯萎
    • 发射一个凋灵头骨,你可以在wither.yml修改其他所有内容。
  • 法师
    • 发射一个会跟随玩家直到发生碰撞或到达旅行限制的咒语。

  • 战斗机
    • 加载单目标超级拳。

  • 十字军新!
    • 为你和附近的队友创造一个临时护盾。

您可以修改所有类别的所有内容、伤害、爆炸区域等等。

代码(文本):

display-name: 'Aquamancer'
description:
- '&9Aquamancer'
- ' '
- '&7Shots a Aqua'
- '&7对敌人造成伤害和'
- '&7治疗队友。
价格:500
每次使用法力消耗:25
每次击中法力:2
最大距离:80
伤害:2.5
伤害范围:4.0
爆炸半径:2.5
展示物品:'IRON_AXE:1'
武器:'IRON_AXE :1:名称:&bHealing'
头盔:'IRON_HELMET:1'
胸甲:'IRON_CHESTPLATE:1'
紧身裤:'IRON_LEGGINGS:


target-scripts: []

Kits
您可以使用 Kits 代替类。在options.yml

中 启用Use-Kits-Instead-Of-Classes将禁用由类引起的所有游戏效果
  • 没有更多的速度和跳跃。
  • 不再有自定义 PvP 伤害。
  • 没有更多的课程商店,只有工具包。
  • 不再有自定义治疗药水。
  • 没有更多的双跳。
将创建一个 kit.yml 文件,您将能够添加您的套件。



脚本
向导可以运行“脚本”系统,当玩家使用该技能并且目标受到技能伤害时调用。

您需要在options.yml中将“JS-Engine”设置为 true才能运行脚本。

示例 1 -向使用该技能的玩家发送消息。
代码(文本):
脚本:
-"player.sendMessage(\"你使用了你的技能。\");"

示例 2 -将目标(如果有效)设置为着火3 秒。
代码(文本):
目标脚本:
-“target.setFireTicks(60)”
支持的方法
  • Bukkit#
  • 播放器#
  • 向导#
    • “wizard.explode(目标);” - 仅针对目标类型,将产生爆炸。
    • “wizard.damage(目标,数量);” - 对目标和玩家,会造成随机伤害。
    • “wizard.heal(目标,数量);” - 对于目标和玩家,将治愈。
  • 向导 API(见下文)。
支持的参数
  • 球员, 游戏玩家, API, 向导, 服务器, 盟友, allyplayer, 目标, targetplayer
  • GamePlayer gameplayer、gametarget和gameally是指Wizard的玩家类,你可以通过这个类修改游戏内和数据库数据。
您无法使用脚本召唤新对象。

Updates & Timer
Code (Text):

Options:
Game:
Mana-Update-Type: '75'
这意味着更新类型设置为 TICK_2 (1 mana per0,075s)

Update Division

Code (Text):
SEC = 1000 (1s )
FAST = 500 (0,5s) FASTEST
= 250 (0,25s) FASTEST
= 125 (0,125s)
TICKS_2 = 75 (0,075s)
TICK = 49 (0,049s)

避免抽奖系统
为了避免持续抽奖,您可以启用避免- 绘制系统。

如果比赛达到最大时间将以平局结束,但是,避免平局比赛将检查杀死最多的球队,这支球队将获胜。

如果两支球队的击杀数相同,则比赛将平局 - 加时赛系统已测试但未实施。

球队
有两支球队,所以每支球队的球员数量是每场比赛的最大球员数除以 2,请确保将最大球员数设置为 2 的倍数。

如果球队规模小于玩家人数除以 2玩家将无法加入。

(新)传送门
这是一种与鞘翅一起使用的游戏机制,它会给你速度提升。



有关门户的一些信息:
  • 每个传送门可以有不同的粒子、速度等等。
  • 传送门保存在 arena文件夹中。
    • 由于动态访问,它们不会保存在 arena 文件中,不应该经常访问 arena 文件。
    • 每个门户在 arena 文件中都有不同的名称,因此您可以识别它们。

这是一个门户文件的示例。




(新)
坐骑如果您的地图太大并且您没有启用跳跃或速度,您可以启用坐骑,坐骑将与工具包或类一起使用。

关于挂载系统的一些信息:
  • 游戏开始时,您将收到一个项目(您可以编辑此项目),右键单击它以生成您的马。
  • 马不会受到伤害,但是如果乘客受到任何伤害,他就会消失。
  • 按下 shift 键时马会消失。
  • 您可以修改马的变种、速度和跳跃。
  • 有冷却时间可以使用,你可以修改它。
    • 下马后会触发冷却时间。


此功能默认禁用,因此您不会收到挂载项目。您可以在options.yml文件中启用它。

津贴
津贴尚不可用。

Game Arena
Spawn-Protection-Size & Objective-Protection-Size

在你的 arena.yml 你会看到 Spawn-Protection-Size 和 Objective-Protection-Size,这将设置技能不能爆炸块的保护区。

额外权限
  • Wizards.joinfull - 允许您加入完整的游戏。
  • wizards.kits.all - 访问所有类/工具包。
常见问题
FPS 不稳定

这是一个 Minecraft 方面的问题,我对此无能为力。

在配置中禁用烟花、爆炸和落块应该会有所帮助。
Code (Text):
Caused by: java.lang.IllegalArgumentException: No enum constant org.bukkit.Sound.....
如何修复:
如果你使用的是1.9或更高版本,你必须更改options.yml中的所有声音值到 1.9。
不要在向导中使用/reload

声音列表(1.9/above 和 1.8)
https://www.spigotmc.org/wiki/cc-sounds-list/

药水效果类型
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/ PotionEffectType.html

材料清单
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html

API

代码(文字):

import org.bukkit.event.EventHandler;

导入 com.floodeer.wizards.api.DamageBlockEvent;
导入 com.floodeer.wizards.api.GameEndEvent;
导入 com.floodeer.wizards.api.GameStartEvent;
导入 com.floodeer.wizards.api.PlayerAchievementEvent;
导入 com.floodeer.wizards.api.PlayerHitEvent;
导入 com.floodeer.wizards.api.PlayerSkillUseEvent;
导入 com.floodeer.wizards.game.GamePlayer;
导入 com.floodeer.wizards.game.achievements.AchievementType;

公共类 APIShowcase {

WizardsAPI api = null;

公共 APIShowcase() {
api = Wizards.getAPI();
}
//API方法

public GamePlayer getPlayerData(Player bukkitPlayer);

public GamePlayer getPlayerData(UUID uuid);

public GamePlayer getPlayerData(String name);

公共游戏getGame(字符串名称);

public Game getGame(GamePlayer fromPlayer);

公共无效保存数据(播放器...播放器);

public boolean forwardData(Player player, String server, String key);

public List<Entry<String, Integer>> getWinsLeaderboard();

public List<Entry<String, Integer>> getKillsLeaderboard();

public List<Entry<String, Integer>> getDamageLeaderboard();

public List<Entry<String, Integer>> getHealLeaderboard();

public OfflineGamePlayer getOfflineGamePlayer(String name);

//API使用
public String getPlayerWithMostWins() {
String player = "";
int 获胜 = 0;
if(api.getWinsLeaderboard().get(0) != null) {
player = api.getWinsLeaderboard().get(0).getKey();
获胜 = api.getWinsLeaderboard().get(0).getValue();
}
return player + " with " + wins + " wins";
}



//事件
@EventHandler
public void onSkillUse(PlayerSkillUseEvent event) {
GamePlayer player = event.getPlayer();
if(player.getP().isSneaking())
player.setMana(player.getMana()+5);
}

@EventHandler
public void onGameStart(GameStartEvent event) {
event.getGame().sendTitle("The", "start");



public void onGameEnd(GameEndEvent event) {
event.getWinner().getPlayers().forEach(player -> player.sendMessage("你赢了!"));
}

@EventHandler
public void onAchievement(PlayerAchievementEvent 事件) {
if(event.getType() == AchievementType.WINS) {
event.getPlayer().sendMessage("Wins!");
}
}

@EventHandler
public void onPlayerDamage(PlayerHitEvent 事件) {
GamePlayer damager = event.getDamager();
GamePlayer 目标 = event.getPlayer();
if(target.getName().equalsIgnoreCase("Floodeer")) {
event.setCancelled(true);
}else{
if(!target.getP().isSneaking())
event.setDamage(event.getDamage() + 2);

damager.getP().sendMessage("Hit " + target.getName() + " with " + event.getDamage() + " of damage.");
}
}

@EventHandler
public void onDamageBlock(DamageBlockEvent event) {
GamePlayer damager = event.getDamager();
GamePlayer 拦截器 = event.getPlayer();
if(blocker.getP().isSneaking()) {
event.setDamage(event.getDamage()/2);
}
blocker.getP().sendMessage("阻塞" + event.getDamage() + " from " + damager.getName());
}
}

文件和截图

游戏记分牌




积分




课程






UTF-8 支持所有文件。













Q&A
Q:游戏说队伍已满,但队伍中没有球员/队伍未满。
A
: 这是因为团队平衡系统会尝试根据玩家数量来匹配团队。

问:我可以用脚本系统做什么?
A
: 脚本系统很简单,只是用来运行召唤方法之类的小任务,所有信息都在上面。

问:我可以添加更多课程吗?
A
: 还没有,你现在只能通过插件更新获得更多的类,如果你想向你的开发者购买源代码需要额外花费 12 美元(我们可以确定最终价格),你可以通过 PM 联系我.

问:插件导致 TPS 问题,我该怎么办?
:您不应该在内存不足的情况下运行 Wizards,尝试禁用一些粒子、爆炸或/和游戏效果,如落下的方块和烟花。如果您的服务器不支持该插件,也请尝试使用工具包。向导任务不应导致您的服务器出现任何性能不稳定。

Q:为什么精灵的大小超过390KB?
A
: 插件里面有很多文件,不仅仅是代码。每当一个类不被使用或被弃用时,更新应该替换或删除它们,计划功能也有很多东西。

如果您有任何建议,请前往讨论区,我很乐意阅读。





手机扫码浏览