classpublicabstractPriority 3
SpreadGrowthBehaviour
com.hypixel.hytale.builtin.adventure.farming.config.stages.spread.SpreadGrowthBehaviour
1
Methods
1
Public Methods
1
Fields
1
Constructors
Constants
BuilderCodec<SpreadGrowthBehaviour>BASE_CODEC= BuilderCodec.abstractBuilder(SpreadGrowthBehaviour.class)
.append(
new KeyedCodec<...
CodecMapCodec<SpreadGrowthBehaviour>CODEC= new CodecMapCodec<>("Type")
Constructors
public
SpreadGrowthBehaviour()Methods
Public Methods (1)
public
void execute(ComponentAccessor<ChunkStore> var1, Ref<ChunkStore> var2, Ref<ChunkStore> var3, int var4, int var5, int var6, float var7)Fields
Protected Fields (1)
protected
WorldLocationCondition[] worldLocationConditionsInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.builtin.adventure.farming.config.stages.spread;
import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
import com.hypixel.hytale.codec.lookup.CodecMapCodec;
import com.hypixel.hytale.component.ComponentAccessor;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.server.core.universe.world.World;
import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
import com.hypixel.hytale.server.core.universe.world.worldlocationcondition.WorldLocationCondition;
public abstract class SpreadGrowthBehaviour {
public static final CodecMapCodec<SpreadGrowthBehaviour> CODEC = new CodecMapCodec<>("Type");
public static final BuilderCodec<SpreadGrowthBehaviour> BASE_CODEC = BuilderCodec.abstractBuilder(SpreadGrowthBehaviour.class)
.append(
new KeyedCodec<>("LocationConditions", new ArrayCodec<>(WorldLocationCondition.CODEC, WorldLocationCondition[]::new)),
(spreadGrowthBehaviour, worldLocationConditions) -> spreadGrowthBehaviour.worldLocationConditions = worldLocationConditions,
spreadGrowthBehaviour -> spreadGrowthBehaviour.worldLocationConditions
)
.documentation("Defines the possible location conditions a position has to fulfill to be considered as valid.")
.add()
.build();
protected WorldLocationCondition[] worldLocationConditions;
public SpreadGrowthBehaviour() {
}
public abstract void execute(ComponentAccessor<ChunkStore> var1, Ref<ChunkStore> var2, Ref<ChunkStore> var3, int var4, int var5, int var6, float var7);
protected boolean validatePosition(World world, int worldX, int worldY, int worldZ) {
if (this.worldLocationConditions == null) {
return true;
} else {
for (int i = 0; i < this.worldLocationConditions.length; i++) {
if (!this.worldLocationConditions[i].test(world, worldX, worldY, worldZ)) {
return false;
}
}
return true;
}
}
}