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();
   }
}