OldSculptOperation class

Пакет: com.hypixel.hytale.builtin.buildertools.tooloperations

Файл: com/hypixel/hytale/builtin/buildertools/tooloperations/OldSculptOperation.java

extends: ToolOperation

Поля (10)

МодификаторыТипИмя
final int smoothVolume
int var4
BuilderToolsPlugin.BuilderState.BlocksSampleData var5
UUIDComponent var6
BuilderToolsPlugin.BuilderState.BlocksSampleData var6
PrototypePlayerBuilderToolSettings var7
Material var7
var7
int var8
int var9

Методы (3)

МодификаторыВозвратСигнатура
if if(this.isAltPlaySculptBrushModDown)
if if(var4 != var5.mainBlock && var5.mainBlockCount > this.smoothVolume * 0.5F)
abstract super super(var1, var4, var5)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.tooloperations;

class="kw">import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin;
class="kw">import com.hypixel.hytale.builtin.buildertools.PrototypePlayerBuilderToolSettings;
class="kw">import com.hypixel.hytale.builtin.buildertools.utils.Material;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.math.block.BlockUtil;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BuilderToolOnUseInteraction;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
class="kw">import javax.annotation.Nonnull;

@Deprecated
class="kw">public class OldSculptOperation class="kw">extends ToolOperation {
   class="kw">private class="kw">final int smoothVolume;
   class="kw">private class="kw">final int smoothRadius;
   class="kw">private class="kw">final boolean isAltPlaySculptBrushModDown;
   class="kw">private LongOpenHashSet packedPlacedBlockPositions;

   class="kw">public OldSculptOperation(
      @Nonnull Ref<EntityStore> var1,
      @Nonnull Player var2,
      @Nonnull PlayerRef var3,
      @Nonnull BuilderToolOnUseInteraction var4,
      @Nonnull ComponentAccessor<EntityStore> var5
   ) {
      super(var1, var4, var5);
      UUIDComponent var6 = var5.getComponent(var1, UUIDComponent.getComponentType());
      assert var6 != null;
      this.isAltPlaySculptBrushModDown = var4.isAltPlaySculptBrushModDown;
      PrototypePlayerBuilderToolSettings var7 = ToolOperation.PROTOTYPE_TOOL_SETTINGS.get(var6.getUuid());
      this.packedPlacedBlockPositions = var7.addIgnoredPaintOperation();
      int var8 = (Integer)this.args.tool().get("SmoothStrength");
      this.smoothRadius = Math.min(var8, 4);
      int var9 = this.smoothRadius * 2 + 1;
      this.smoothVolume = var9 * var9 * var9;
   }

   @Override
   class="kw">protected boolean executeBlock(int var1, int var2, int var3) {
      int var4 = this.edit.getBlock(var1, var2, var3);
      if (this.isAltPlaySculptBrushModDown) {
         BuilderToolsPlugin.BuilderState.BlocksSampleData var5 = BuilderToolsPlugin.getState(this.player, this.playerRef)
            .getBlocksSampleData(this.edit.getAccessor(), var1, var2, var3, 2);
         if (var4 != var5.mainBlock && var5.mainBlockCount > this.smoothVolume * 0.5F) {
            this.edit.setMaterialWithFiller(var1, var2, var3, Material.block(var5.mainBlock));
         }
      } else if (this.interactionType == InteractionType.Primary) {
         if (var4 > 0 && this.builderState.isAsideAir(this.edit.getAccessor(), var1, var2, var3) && this.random.nextInt(100) <= this.density) {
            this.edit.setMaterialWithFiller(var1, var2, var3, Material.EMPTY);
         }
      } else if (this.interactionType == InteractionType.Secondary && var4 <= 0 && this.builderState.isAsideBlock(this.edit.getAccessor(), var1, var2, var3)) {
         if (this.edit.getBlock(var1, var2, var3) == 0) {
            this.packedPlacedBlockPositions.add(BlockUtil.pack(var1, var2, var3));
         }

         if (this.random.nextInt(100) <= this.density) {
            Material var7 = Material.fromPattern(this.pattern, this.random);
            if (var7.isEmpty()) {
               BuilderToolsPlugin.BuilderState.BlocksSampleData var6 = this.builderState.getBlocksSampleData(this.edit.getAccessor(), var1, var2, var3, 1);
               var7 = Material.block(var6.mainBlockNotAir);
            }

            this.edit.setMaterialWithFiller(var1, var2, var3, var7);
         }
      }

      class="kw">return true;
   }
}