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