▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/PaperTS
PaperTS

PaperTS

PaperTS is a Paper Minecraft plugin that enables you to write Minecraft server plugins in TypeScript.

102
1
Все версииPaperTS 1.6.0

PaperTS 1.6.0

Release2 мес. назад

Список изменений

:rocket: PaperTS 1.6.0 Released

In this new release we included the Java Bridge API, a new interface that bridges the gap between TypeScript and the underlying Java Virtual Machine. It was a contribution from @sirio_03 .

:tools: Setup & Type Definitions To use the Java Bridge with full TypeScript support, create a javaBridge.ts file in your project and add the following type declarations:

declare const Java: {
   /**
    * Get an enum value by class name and value name.
    */
   enumValue<T = unknown>(className: string, valueName: string): T;

   /**
    * Get all values of an enum.
    */
   enumValues<T = unknown>(className: string): T[];

   /**
    * Create a new instance of a Java class.
    */
   newInstance<T = unknown>(className: string, ...args: unknown[]): T;

   /**
    * Call a static method on a Java class.
    */
   callStatic<T = unknown>(
           className: string,
           methodName: string,
           ...args: unknown[]
   ): T;

   /**
    * Get a static field value from a Java class.
    */
   getStatic<T = unknown>(className: string, fieldName: string): T;

   /**
    * Check if a Java class exists.
    */
   classExists(className: string): boolean;
};

:bulb: Usage Examples

1. Managing Enums Access any Bukkit enum without needing a wrapper.

const gameModes = Java.enumValues("org.bukkit.GameMode");
player.sendMessage(`Available modes: ${gameModes.join(", ")}`);

2. Instantiating Java Classes Perfect for creating objects like Location.

// Create a new Location
const world = Java.callStatic("org.bukkit.Bukkit", "getWorld", "world");
const location = Java.newInstance("org.bukkit.Location", world, 100, 64, 100);
player.teleport(location);

3. Static Methods & Fields Interact with the Server constants directly.

// Call a static method
Java.callStatic("org.bukkit.Bukkit", "broadcastMessage", "Hello from PaperTS!");

const onlinePlayer: any[] = Java.callStatic(
        "org.bukkit.Bukkit",
        "getOnlinePlayers"
);
onlinePlayer.forEach((player) => player.sendMessage("Hi everyone"));

// Get a static constant
const legacyPrefix = Java.getStatic("org.bukkit.Material", "LEGACY_PREFIX");;
player.sendMessage(legacyPrefix);

4. Conditional Integration Check if a plugin (like Vault or WorldEdit) is installed before attempting to use it.

// Check if a class exists before using it
if (Java.classExists("com.example.CustomPlugin")) {
   const customValue = Java.callStatic("com.example.CustomPlugin", "getValue");
   player.sendMessage(`Custom plugin value: ${customValue}`);
} else {
   player.sendMessage("Custom plugin not found");
}

// Useful for optional integrations
const hasVault = Java.classExists("net.milkbowl.vault.economy.Economy");
if (hasVault) {
   // Initialize Vault integration
}

Файлы

PaperTs-1.6.0.jar(6.43 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.6.0

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.20–1.21.11

Загрузок

14

Дата публикации

2 мес. назад

Загрузил

ID версии

Главная