start reimplementing entities

This commit is contained in:
Aurora 2020-06-25 22:13:34 +02:00
parent 3d40336045
commit aac02ceea1
No known key found for this signature in database
GPG Key ID: 89839F67B53656AD
10 changed files with 101 additions and 67 deletions

View File

@ -89,7 +89,7 @@ public class BukkitEntity implements Entity {
@Override
public com.sk89q.worldedit.world.entity.EntityType getType() {
return EntityTypes.get(type.getName().toUpperCase(Locale.ROOT));
return EntityTypes.get(type.getName().toLowerCase(Locale.ROOT));
}
@Override

View File

@ -92,7 +92,6 @@ public class BukkitWorld extends AbstractWorld {
@Override
public List<com.sk89q.worldedit.entity.Entity> getEntities(Region region) {
World world = getWorld();
List<Entity> ents = world.getEntities();
List<com.sk89q.worldedit.entity.Entity> entities = new ArrayList<>();
for (Entity ent : ents) {

View File

@ -63,4 +63,9 @@ public class WorldCopyClipboard extends ReadOnlyClipboard {
return hasBiomes;
}
@Override
public List<? extends Entity> getEntities(Region region) {
return getExtent().getEntities(region);
}
}

View File

@ -46,6 +46,8 @@ import com.boydti.fawe.util.ExtentTraverser;
import com.boydti.fawe.util.MaskTraverser;
import com.boydti.fawe.util.MathMan;
import com.boydti.fawe.util.TaskManager;
import com.sk89q.worldedit.entity.BaseEntity;
import com.sk89q.worldedit.entity.Entity;
import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.event.extent.EditSessionEvent;
import com.sk89q.worldedit.extent.AbstractDelegateExtent;
@ -117,6 +119,7 @@ import com.sk89q.worldedit.regions.shape.RegionShape;
import com.sk89q.worldedit.regions.shape.WorldEditExpressionEnvironment;
import com.sk89q.worldedit.util.Countable;
import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.util.eventbus.EventBus;
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
@ -3039,4 +3042,20 @@ public class EditSession extends PassthroughExtent implements AutoCloseable {
}
return false;
}
@Override
public List<? extends Entity> getEntities(Region region) {
return world.getEntities(region);
}
@Override
public List<? extends Entity> getEntities() {
System.out.println("editsession");
return world.getEntities();
}
@Override
public Entity createEntity(Location location, BaseEntity entity) {
return world.createEntity(location, entity);
}
}

View File

@ -132,6 +132,7 @@ public interface Extent extends InputExtent, OutputExtent {
* @return a list of entities
*/
default List<? extends Entity> getEntities() {
System.out.println("el");
return Collections.emptyList();
}

View File

@ -195,11 +195,19 @@ public class BlockArrayClipboard implements Clipboard {
@Override
public List<? extends Entity> getEntities(Region region) {
System.out.println("blockarrayclipboard");
region = region.clone();
region.shift(BlockVector3.ZERO.subtract(origin));
return getParent().getEntities(region);
}
@Override
public List<? extends Entity> getEntities() {
System.out.println("blockarrayall");
return getParent().getEntities();
}
@Override
@Nullable
public Entity createEntity(Location location, BaseEntity entity) {

View File

@ -397,7 +397,7 @@ public class ForwardExtentCopy implements Operation {
Operations.completeBlindly(blockCopy);
if (!entities.isEmpty()) {
ExtentEntityCopy entityCopy = new ExtentEntityCopy(from.toVector3(), destination, to.toVector3(), currentTransform);
ExtentEntityCopy entityCopy = new ExtentEntityCopy(from.toVector3(), finalDest, to.toVector3(), currentTransform);
entityCopy.setRemoving(removingEntities);
List<? extends Entity> entities2 = Lists.newArrayList(source.getEntities(region));
entities2.removeIf(entity -> {
@ -406,6 +406,7 @@ public class ForwardExtentCopy implements Operation {
});
EntityVisitor entityVisitor = new EntityVisitor(entities.iterator(), entityCopy);
Operations.completeBlindly(entityVisitor);
affectedEntities += entityVisitor.getAffected();
}
if (transExt != null) {
@ -427,8 +428,8 @@ public class ForwardExtentCopy implements Operation {
return ImmutableList.of(
TranslatableComponent.of("worldedit.operation.affected.block",
TextComponent.of(affectedBlocks)).color(TextColor.LIGHT_PURPLE),
TranslatableComponent.of("worldedit.operation.affected.biome",
TextComponent.of(affectedBiomeCols)).color(TextColor.LIGHT_PURPLE),
//TranslatableComponent.of("worldedit.operation.affected.biome",
// TextComponent.of(affectedBiomeCols)).color(TextColor.LIGHT_PURPLE),
TranslatableComponent.of("worldedit.operation.affected.entity",
TextComponent.of(affectedEntities)).color(TextColor.LIGHT_PURPLE)
);

View File

@ -187,6 +187,7 @@ public class NullWorld extends AbstractWorld {
@Override
public List<Entity> getEntities(Region region) {
System.out.println("nullworld");
return Collections.emptyList();
}