fPlaceholders

fPlaceholders

一个用于Hytale服务器占位符的强大模组(包含javascript)

图书馆

快速开始

安装:

  1. 从发布页面或 CurseForge 下载最新版本。
  2. 将其安装到服务器的 mods 文件夹中。
  3. 启动服务器。

命令:

  • /placeholders check (参数) - 实时检查任意占位符。
  • /placeholders reload - 重新加载插件。

权限:

  • fplaceholders.check - 允许使用检查命令的权限。
  • fplaceholders.reload - 允许使用重载命令的权限。

Javascript

本模组允许使用 Javascript 代码创建占位符。所有脚本都位于插件根目录下的 javascript 文件夹中。脚本无需在主配置中进行注册,会自动完成注册。

文件:test.js

function checked() {
    return "你好,朋友";
}

checked();

用法 - %javascript_test%

展示不同用例的示例:

var placeholder = papi("%player_prefix%");

function checked() {
    return placeholder;
}

checked();
var placeholder = player.getUsername();

function checked() {
    return placeholder;
}

checked();

针对玩家调用的每个 .js 占位符都会提供 (player) 对象。如果无玩家上下文调用,则返回 null。

扩展

你可以使用 API 创建自己的插件。也可以创建直接放入 fPlaceholders/plugins 文件夹的迷你脚本 (.jar)。

Maven:

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>
    <dependency>
        <groupId>com.github.FLOERKA</groupId>
        <artifactId>fPlaceholders</artifactId>
        <version>版本号</version>
    </dependency>

Gradle:

    repositories {
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        implementation 'com.github.FLOERKA:fPlaceholders:Tag'
    }

使用 API 创建占位符的示例:

package ru.floerka.placeholdertest;  

import com.hypixel.hytale.server.core.Message;  
import com.hypixel.hytale.server.core.universe.PlayerRef;  
import ru.floerka.placeholders.api.CustomPlaceholder;  
import ru.floerka.placeholders.manager.models.ExecutePlaceholder;  

public class CustomExpansion extends CustomPlaceholder {  
    @Override  
  public String getAuthor() {  
        return "floerka";  
    }  

    @Override  
  public String getPrefix() {  
        return "test";  
    }  

    @Override  
  public String onServerRequest(ExecutePlaceholder placeholder) {  
        String arg = placeholder.getArgs()[0];  
        return "您输入了: " + arg;  
    }  

    @Override  
  public String onPlayerRequest(PlayerRef playerRef, ExecutePlaceholder placeholder) {  
        String arg = placeholder.getArgs()[0];  
        playerRef.sendMessage(Message.raw("您使用了一个占位符!"));  
        return "您输入了: " + arg;  
    }  
}