mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2025-07-01 10:56:42 +00:00
Cleaned commands and extents a bit.
This commit is contained in:
@ -10,6 +10,7 @@ import com.boydti.fawe.util.StringMan;
|
||||
import com.boydti.fawe.util.chat.Message;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.sk89q.worldedit.extension.platform.Actor;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
@ -549,6 +550,16 @@ public enum BBC {
|
||||
player.sendMessage((PREFIX.isEmpty() ? "" : PREFIX.s() + " ") + this.format(args));
|
||||
}
|
||||
}
|
||||
public void send(final Actor player, final Object... args) {
|
||||
if (isEmpty()) {
|
||||
return;
|
||||
}
|
||||
if (player == null) {
|
||||
Fawe.debug(this.format(args));
|
||||
} else {
|
||||
player.print(this.format(args));
|
||||
}
|
||||
}
|
||||
|
||||
public static char getCode(String name) {
|
||||
switch (name) {
|
||||
|
@ -1,81 +0,0 @@
|
||||
package com.boydti.fawe.object.extent;
|
||||
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import com.sk89q.worldedit.entity.BaseEntity;
|
||||
import com.sk89q.worldedit.entity.Entity;
|
||||
import com.sk89q.worldedit.extent.Extent;
|
||||
import com.sk89q.worldedit.function.operation.Operation;
|
||||
import com.sk89q.worldedit.math.BlockVector2;
|
||||
import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.sk89q.worldedit.regions.Region;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class EmptyExtent implements Extent {
|
||||
public EmptyExtent() {
|
||||
}
|
||||
|
||||
public BlockVector3 getMinimumPoint() {
|
||||
return BlockVector3.ZERO;
|
||||
}
|
||||
|
||||
public BlockVector3 getMaximumPoint() {
|
||||
return BlockVector3.ZERO;
|
||||
}
|
||||
|
||||
public List<Entity> getEntities(Region region) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public List<Entity> getEntities() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Entity createEntity(Location location, BaseEntity entity) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseBlock getFullBlock(BlockVector3 position) {
|
||||
return EditSession.nullBlock.toBaseBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getLazyBlock(BlockVector3 position) {
|
||||
return EditSession.nullBlock;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public BiomeType getBiome(BlockVector2 position) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setBlock(BlockVector3 position, BlockStateHolder block) throws WorldEditException {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setBiome(BlockVector2 position, BiomeType biome) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setBiome(int x, int y, int z, BiomeType biome) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Operation commit() {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -3,11 +3,13 @@ package com.boydti.fawe.object.extent;
|
||||
import com.boydti.fawe.object.FaweQueue;
|
||||
import com.boydti.fawe.object.HasFaweQueue;
|
||||
import com.boydti.fawe.util.ReflectionUtils;
|
||||
import com.sk89q.jnbt.*;
|
||||
import com.sk89q.jnbt.CompoundTag;
|
||||
import com.sk89q.jnbt.DoubleTag;
|
||||
import com.sk89q.jnbt.FloatTag;
|
||||
import com.sk89q.jnbt.ListTag;
|
||||
import com.sk89q.jnbt.StringTag;
|
||||
import com.sk89q.jnbt.Tag;
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
import com.sk89q.worldedit.world.biome.BiomeTypes;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import com.sk89q.worldedit.entity.BaseEntity;
|
||||
import com.sk89q.worldedit.entity.Entity;
|
||||
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
|
||||
@ -17,23 +19,26 @@ import com.sk89q.worldedit.regions.Region;
|
||||
import com.sk89q.worldedit.util.Location;
|
||||
import com.sk89q.worldedit.world.World;
|
||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||
import com.sk89q.worldedit.world.block.BaseBlock;
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import com.sk89q.worldedit.world.block.BlockStateHolder;
|
||||
import com.sk89q.worldedit.world.block.BlockType;
|
||||
import com.sk89q.worldedit.world.block.BlockTypes;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class FastWorldEditExtent extends AbstractDelegateExtent implements HasFaweQueue {
|
||||
|
||||
private final World world;
|
||||
private FaweQueue queue;
|
||||
private final int maxY;
|
||||
|
||||
public FastWorldEditExtent(final World world, FaweQueue queue) {
|
||||
super(queue);
|
||||
this.world = world;
|
||||
this.queue = queue;
|
||||
this.maxY = world.getMaxY();
|
||||
}
|
||||
|
||||
public FaweQueue getQueue() {
|
||||
@ -112,7 +117,7 @@ public class FastWorldEditExtent extends AbstractDelegateExtent implements HasFa
|
||||
public <B extends BlockStateHolder<B>> boolean setBlock(final BlockVector3 location, final B block) throws WorldEditException {
|
||||
return setBlock(location.getBlockX(), location.getBlockY(), location.getBlockZ(), block);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
@ -129,10 +134,9 @@ public class FastWorldEditExtent extends AbstractDelegateExtent implements HasFa
|
||||
public BlockState getLazyBlock(int x, int y, int z) {
|
||||
int combinedId4Data = queue.getCombinedId4Data(x, y, z, 0);
|
||||
BlockType type = BlockTypes.getFromStateId(combinedId4Data);
|
||||
BlockState state = type.withStateId(combinedId4Data);
|
||||
return state;
|
||||
return type.withStateId(combinedId4Data);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BaseBlock getFullBlock(BlockVector3 pos) {
|
||||
int combinedId4Data = queue.getCombinedId4Data(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ(), 0);
|
||||
|
@ -2,7 +2,6 @@ package com.boydti.fawe.object.extent;
|
||||
|
||||
import com.sk89q.worldedit.WorldEditException;
|
||||
|
||||
import com.sk89q.worldedit.world.block.BlockState;
|
||||
import com.sk89q.worldedit.extent.Extent;
|
||||
import com.sk89q.worldedit.function.pattern.Pattern;
|
||||
import com.sk89q.worldedit.math.BlockVector3;
|
||||
@ -20,4 +19,4 @@ public class PatternTransform extends ResettableExtent {
|
||||
public boolean setBlock(BlockVector3 location, BlockStateHolder block) throws WorldEditException {
|
||||
return pattern.apply(getExtent(), location, location);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -42,8 +42,7 @@ public class PositionTransformExtent extends ResettableExtent {
|
||||
mutable.mutY(((pos.getY() - min.getY())));
|
||||
mutable.mutZ(((pos.getZ() - min.getZ())));
|
||||
MutableVector3 tmp = new MutableVector3(transform.apply(mutable.toVector3()));
|
||||
BlockVector3 result = min.add(tmp.toBlockPoint());
|
||||
return result;
|
||||
return min.add(tmp.toBlockPoint());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -60,7 +59,7 @@ public class PositionTransformExtent extends ResettableExtent {
|
||||
public BlockState getBlock(BlockVector3 position) {
|
||||
return super.getBlock(getPos(position));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BaseBlock getFullBlock(BlockVector3 position) {
|
||||
return super.getFullBlock(getPos(position));
|
||||
|
@ -5,7 +5,6 @@ import com.boydti.fawe.object.random.SimpleRandom;
|
||||
import com.boydti.fawe.object.random.TrueRandom;
|
||||
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
|
||||
import com.sk89q.worldedit.extent.Extent;
|
||||
import com.sk89q.worldedit.function.pattern.RandomPattern;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Map;
|
||||
@ -80,4 +79,4 @@ public class RandomTransform extends SelectTransform {
|
||||
public RandomCollection<ResettableExtent> getCollection() {
|
||||
return collection;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,17 +16,14 @@ public class TransformExtent extends BlockTransformExtent {
|
||||
|
||||
private final MutableBlockVector3 mutable = new MutableBlockVector3();
|
||||
private BlockVector3 min;
|
||||
private int maxy;
|
||||
|
||||
public TransformExtent(Extent parent) {
|
||||
super(parent);
|
||||
this.maxy = parent.getMaximumPoint().getBlockY();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResettableExtent setExtent(Extent extent) {
|
||||
min = null;
|
||||
maxy = extent.getMaximumPoint().getBlockY();
|
||||
return super.setExtent(extent);
|
||||
}
|
||||
|
||||
@ -91,7 +88,7 @@ public class TransformExtent extends BlockTransformExtent {
|
||||
public BlockState getBlock(BlockVector3 position) {
|
||||
return transform(super.getBlock(getPos(position)));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BaseBlock getFullBlock(BlockVector3 position) {
|
||||
return transform(super.getFullBlock(getPos(position)));
|
||||
|
@ -18,7 +18,6 @@ public class SurfaceRandomOffsetPattern extends AbstractPattern {
|
||||
private transient MutableBlockVector3 cur;
|
||||
private transient MutableBlockVector3[] buffer;
|
||||
private transient MutableBlockVector3[] allowed;
|
||||
private transient MutableBlockVector3 next;
|
||||
|
||||
public SurfaceRandomOffsetPattern(Pattern pattern, int distance) {
|
||||
this.pattern = pattern;
|
||||
@ -44,6 +43,7 @@ public class SurfaceRandomOffsetPattern extends AbstractPattern {
|
||||
cur.setComponents(pos);
|
||||
for (int move = 0; move < moves; move++) {
|
||||
int index = 0;
|
||||
MutableBlockVector3 next;
|
||||
for (int i = 0; i < allowed.length; i++) {
|
||||
next = buffer[i];
|
||||
BlockVector3 dir = BreadthFirstSearch.DIAGONAL_DIRECTIONS[i];
|
||||
|
Reference in New Issue
Block a user