MacroCommandPlugin class
Пакет: com.hypixel.hytale.builtin.commandmacro
Файл: com/hypixel/hytale/builtin/commandmacro/MacroCommandPlugin.java
extends: JavaPlugin
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
static |
MacroCommandPlugin |
instance |
|
|
instance |
|
Collection |
var2 |
|
Set |
var3 |
|
CommandRegistration |
var3 |
|
AbstractCommand |
var4 |
|
CommandRegistration |
var5 |
|
String |
var6 |
|
String |
var7 |
|
Set |
var8 |
Методы (11)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(MacroCommandBuilder var12 : var2) |
|
|
for for(String var14 : var3) |
static |
MacroCommandPlugin |
getMacroCommandPlugin get() |
|
|
if if(var6 != null) |
|
|
if if(var7 != null) |
|
|
if if(var3 != null) |
|
|
if if(var4 != null) |
|
|
if if(var5 != null) |
public |
void |
loadCommandMacroAssetvoid loadCommandMacroAsset(@Nonnull LoadedAssetsEvent<String, MacroCommandBuilder, DefaultAssetMap<String, MacroCommandBuilder>> var1) |
private |
void |
rebuildRootvoid rebuildRoot(@Nonnull String var1, @Nonnull Collection<MacroCommandBuilder> var2) |
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.commandmacro;
class="kw">import com.hypixel.hytale.assetstore.event.LoadedAssetsEvent;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.server.core.asset.HytaleAssetStore;
class="kw">import com.hypixel.hytale.server.core.command.system.AbstractCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandRegistration;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Collection;
class="kw">import java.util.HashSet;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">public class MacroCommandPlugin class="kw">extends JavaPlugin {
class="kw">private class="kw">static MacroCommandPlugin instance;
@Nonnull
class="kw">private class="kw">final Map<String, CommandRegistration> rootRegistrations = new Object2ObjectOpenHashMap();
class="kw">public class="kw">static MacroCommandPlugin get() {
class="kw">return instance;
}
class="kw">public MacroCommandPlugin(@Nonnull JavaPluginInit var1) {
super(var1);
}
@Override
class="kw">protected void setup() {
instance = this;
this.getAssetRegistry()
.register(
((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
MacroCommandBuilder.class, new DefaultAssetMap()
)
.setPath("MacroCommands"))
.setKeyFunction(MacroCommandBuilder::getId))
.setCodec(MacroCommandBuilder.CODEC))
.build()
);
this.getEventRegistry().register(LoadedAssetsEvent.class, MacroCommandBuilder.class, this::loadCommandMacroAsset);
this.getCommandRegistry().registerCommand(new WaitCommand());
this.getCommandRegistry().registerCommand(new EchoCommand());
}
class="kw">public void loadCommandMacroAsset(@Nonnull LoadedAssetsEvent<String, MacroCommandBuilder, DefaultAssetMap<String, MacroCommandBuilder>> var1) {
Collection var2 = ((DefaultAssetMap)var1.getAssetMap()).getAssetMap().values();
Set var3 = new HashSet<>();
for (MacroCommandBuilder var5 : var1.getLoadedAssets().values()) {
String var6 = MacroCommandTreeBuilder.rootTokenOf(var5);
if (var6 != null) {
var3.add(var6);
}
}
Set var8 = new HashSet<>();
for (MacroCommandBuilder var12 : var2) {
String var7 = MacroCommandTreeBuilder.rootTokenOf(var12);
if (var7 != null) {
var8.add(var7);
}
}
for (String var13 : this.rootRegistrations.keySet()) {
if (!var8.contains(var13)) {
var3.add(var13);
}
}
for (String var14 : var3) {
this.rebuildRoot(var14, var2);
}
}
class="kw">private void rebuildRoot(@Nonnull String var1, @Nonnull Collection<MacroCommandBuilder> var2) {
CommandRegistration var3 = this.rootRegistrations.remove(var1);
if (var3 != null) {
var3.unregister();
}
AbstractCommand var4 = MacroCommandTreeBuilder.build(var1, var2);
if (var4 != null) {
CommandRegistration var5 = this.getCommandRegistry().registerCommand(var4);
if (var5 != null) {
this.rootRegistrations.put(var1, var5);
}
}
}
}