ScriptedBrushAsset class
Пакет: com.hypixel.hytale.builtin.buildertools.scriptedbrushes
Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/ScriptedBrushAsset.java
implements: JsonAssetWithMap<String, DefaultAssetMap<String, ScriptedBrushAsset>>
Поля (10)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
ASSET_MAP |
final |
AssetBuilderCodec<String, ScriptedBrushAsset> |
CODEC |
|
|
brushToItemCache |
|
|
brushToItemCache |
|
Map |
var0 |
|
Map |
var1 |
|
|
var1 |
|
Object2ObjectOpenHashMap |
var1 |
|
BuilderTool |
var4 |
|
ScriptedBrushAsset |
var5 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(BrushOperation var3 : this.operations) |
|
|
if if(var1 != null) |
|
|
if if(ASSET_MAP == null) |
|
|
if if(var1 == null) |
|
|
if if(var3 instanceof LoadOperationsFromAssetOperation var4) |
|
|
if if(var5 != null) |
|
|
if if(var7 instanceof GlobalBrushOperation) |
static |
void |
invalidateBrushToItemCachevoid invalidateBrushToItemCache() |
public |
void |
loadIntoExecutorvoid loadIntoExecutor(@Nonnull BrushConfigCommandExecutor var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.scriptedbrushes;
class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.sequential.saveandload.LoadOperationsFromAssetOperation;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.system.BrushOperation;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.system.GlobalBrushOperation;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.system.SequenceBrushOperation;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.server.core.asset.type.buildertool.config.BuilderTool;
class="kw">import com.hypixel.hytale.server.core.asset.type.item.config.Item;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.Locale;
class="kw">import java.util.Map;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ScriptedBrushAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, ScriptedBrushAsset>> {
class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, ScriptedBrushAsset> CODEC = ((AssetBuilderCodec.Builder)AssetBuilderCodec.builder(
ScriptedBrushAsset.class,
ScriptedBrushAsset::new,
Codec.STRING,
(var0, var1) -> var0.id = var1,
var0 -> var0.id,
(var0, var1) -> var0.data = var1,
var0 -> var0.data
)
.append(new KeyedCodec<>("Operations", new ArrayCodec<>(BrushOperation.OPERATION_CODEC, BrushOperation[]::new)), (var0, var1) -> {
var0.operations = new ObjectArrayList();
if (var1 != null) {
Collections.addAll(var0.operations, var1);
}
}, var0 -> var0.operations != null ? var0.operations.toArray(new BrushOperation[0]) : new BrushOperation[0])
.documentation("The list of brush operations to execute sequentially")
.add()
.documentation("A scripted brush asset containing multiple brush operations that will be executed sequentially"))
.build();
class="kw">private class="kw">static DefaultAssetMap<String, ScriptedBrushAsset> ASSET_MAP;
class="kw">public class="kw">static class="kw">final String DEFAULT_EDITOR_TOOL_ID = "EditorTool_ScriptedBrushTemplate";
@Nullable
class="kw">private class="kw">static class="kw">volatile Map<String, String> brushToItemCache;
class="kw">protected AssetExtraInfo.Data data;
class="kw">protected String id;
class="kw">protected List<BrushOperation> operations = new ObjectArrayList();
@Nonnull
class="kw">public class="kw">static DefaultAssetMap<String, ScriptedBrushAsset> getAssetMap() {
if (ASSET_MAP == null) {
ASSET_MAP = (DefaultAssetMap<String, ScriptedBrushAsset>)AssetRegistry.getAssetStore(ScriptedBrushAsset.class).getAssetMap();
}
class="kw">return ASSET_MAP;
}
@Nullable
class="kw">public class="kw">static ScriptedBrushAsset get(@Nonnull String var0) {
class="kw">return getAssetMap().getAsset(var0);
}
@Nullable
class="kw">public class="kw">static String getEditorToolItemId(@Nonnull String var0) {
Map var1 = brushToItemCache;
if (var1 == null) {
var1 = rebuildBrushToItemCache();
}
class="kw">return var1.get(var0);
}
@Nonnull
class="kw">static Map<String, String> rebuildBrushToItemCache() {
Map var0 = Item.getAssetMap().getAssetMap();
Object2ObjectOpenHashMap var1 = new Object2ObjectOpenHashMap(var0.size() / 4);
for (Entry var3 : var0.entrySet()) {
BuilderTool var4 = var3.getValue().getBuilderTool();
if (var4 != null && var4.getBrushConfigurationCommand() != null && !var4.getBrushConfigurationCommand().isEmpty()) {
var1.put(var4.getBrushConfigurationCommand(), var3.getKey());
}
}
brushToItemCache = var1;
class="kw">return var1;
}
class="kw">public class="kw">static void invalidateBrushToItemCache() {
brushToItemCache = null;
}
class="kw">public ScriptedBrushAsset() {
}
@Nonnull
class="kw">public String getId() {
class="kw">return this.id;
}
@Nonnull
class="kw">public List<BrushOperation> getOperations() {
class="kw">return this.operations;
}
class="kw">public void loadIntoExecutor(@Nonnull BrushConfigCommandExecutor var1) {
var1.getSequentialOperations().clear();
var1.getGlobalOperations().clear();
for (BrushOperation var3 : this.operations) {
if (var3 class="kw">instanceof LoadOperationsFromAssetOperation var4) {
ScriptedBrushAsset var5 = get(var4.getAssetId());
if (var5 != null) {
for (BrushOperation var7 : var5.getOperations()) {
if (var7 class="kw">instanceof GlobalBrushOperation) {
var1.getGlobalOperations().put(var7.getName().toLowerCase(Locale.ROOT), (GlobalBrushOperation)var7);
} else if (var7 class="kw">instanceof SequenceBrushOperation) {
var1.getSequentialOperations().add((SequenceBrushOperation)var7);
}
}
}
} else if (var3 class="kw">instanceof GlobalBrushOperation) {
var1.getGlobalOperations().put(var3.getName().toLowerCase(Locale.ROOT), (GlobalBrushOperation)var3);
} else if (var3 class="kw">instanceof SequenceBrushOperation) {
var1.getSequentialOperations().add((SequenceBrushOperation)var3);
}
}
}
}