ScatterOperation class

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

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

extends: ToolOperation

Поля (2)

МодификаторыТипИмя
final BlockTypeAssetMap<String, BlockType> assetMap
int var4

Методы (1)

МодификаторыВозвратСигнатура
abstract super super(var1, var4, var5)

Исходный код

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

class="kw">import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
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.protocol.packets.buildertools.BuilderToolOnUseInteraction;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
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 javax.annotation.Nonnull;

class="kw">public class ScatterOperation class="kw">extends ToolOperation {
   class="kw">private class="kw">final BlockTypeAssetMap<String, BlockType> assetMap = BlockType.getAssetMap();

   class="kw">public ScatterOperation(
      @Nonnull Ref<EntityStore> var1,
      @Nonnull Player var2,
      @Nonnull PlayerRef var3,
      @Nonnull BuilderToolOnUseInteraction var4,
      @Nonnull ComponentAccessor<EntityStore> var5
   ) {
      super(var1, var4, var5);
   }

   @Override
   class="kw">protected boolean executeBlock(int var1, int var2, int var3) {
      int var4 = this.edit.getBlock(var1, var2, var3);
      if (var4 <= 0
         && this.builderState.isAsideBlock(this.edit.getAccessor(), var1, var2, var3)
         && this.assetMap.getAsset(this.edit.getBlock(var1, var2 - 1, var3)).getFlags().isStackable
         && this.random.nextInt(100) <= this.density) {
         this.edit.setMaterialWithFiller(var1, var2, var3, Material.block(this.pattern.nextBlock(this.random)));
      }

      class="kw">return true;
   }
}