SmoothOperation class
Пакет: com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.sequential
Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/operations/sequential/SmoothOperation.java
extends: SequenceBrushOperation
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<SmoothOperation> |
CODEC |
|
int |
var1 |
|
BuilderToolsPlugin.BuilderState.BlocksSampleData |
var10 |
|
int |
var2 |
|
int |
var9 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var9 != var10.mainBlock && var10.mainBlockCount > this.smoothVolume * 0.5F) |
abstract |
|
super super("Smooth Blocks", "Smooths the blocks within the brush area as to make the area more natural looking", true) |
private |
void |
updateVolumeAndRadiusvoid updateVolumeAndRadius() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.sequential;
class="kw">import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfig;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfigCommandExecutor;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfigEditStore;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.system.SequenceBrushOperation;
class="kw">import com.hypixel.hytale.builtin.buildertools.utils.Material;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SmoothOperation class="kw">extends SequenceBrushOperation {
class="kw">public class="kw">static class="kw">final BuilderCodec<SmoothOperation> CODEC = BuilderCodec.builder(SmoothOperation.class, SmoothOperation::new)
.append(new KeyedCodec<>("SmoothStrength", Codec.INTEGER), (var0, var1) -> var0.smoothStrength = var1, var0 -> var0.smoothStrength)
.documentation("The strength of smoothing")
.add()
.documentation("Smooths the blocks within the brush area as to make the area more natural looking")
.build();
@Nonnull
class="kw">public Integer smoothStrength = 2;
class="kw">private int smoothVolume;
class="kw">private int smoothRadius;
class="kw">public SmoothOperation() {
super("Smooth Blocks", "Smooths the blocks within the brush area as to make the area more natural looking", true);
}
class="kw">private void updateVolumeAndRadius() {
int var1 = this.smoothStrength;
this.smoothRadius = Math.min(var1, 4);
int var2 = this.smoothRadius * 2 + 1;
this.smoothVolume = var2 * var2 * var2;
}
@Override
class="kw">public boolean modifyBlocks(
Ref<EntityStore> var1,
BrushConfig var2,
BrushConfigCommandExecutor var3,
@Nonnull BrushConfigEditStore var4,
int var5,
int var6,
int var7,
ComponentAccessor<EntityStore> var8
) {
int var9 = var4.getBlock(var5, var6, var7);
BuilderToolsPlugin.BuilderState.BlocksSampleData var10 = var4.getBlockSampledataIncludingPreviousStages(var5, var6, var7, 2);
if (var9 != var10.mainBlock && var10.mainBlockCount > this.smoothVolume * 0.5F) {
var4.setMaterialWithFiller(var5, var6, var7, Material.block(var10.mainBlock));
}
class="kw">return true;
}
@Override
class="kw">public void modifyBrushConfig(
@Nonnull Ref<EntityStore> var1, @Nonnull BrushConfig var2, @Nonnull BrushConfigCommandExecutor var3, @Nonnull ComponentAccessor<EntityStore> var4
) {
this.updateVolumeAndRadius();
}
}