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 @Override
public com.sk89q.worldedit.world.entity.EntityType getType() { 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 @Override

View File

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

View File

@ -63,4 +63,9 @@ public class WorldCopyClipboard extends ReadOnlyClipboard {
return hasBiomes; 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.MaskTraverser;
import com.boydti.fawe.util.MathMan; import com.boydti.fawe.util.MathMan;
import com.boydti.fawe.util.TaskManager; 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.entity.Player;
import com.sk89q.worldedit.event.extent.EditSessionEvent; import com.sk89q.worldedit.event.extent.EditSessionEvent;
import com.sk89q.worldedit.extent.AbstractDelegateExtent; 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.regions.shape.WorldEditExpressionEnvironment;
import com.sk89q.worldedit.util.Countable; import com.sk89q.worldedit.util.Countable;
import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Direction;
import com.sk89q.worldedit.util.Location;
import com.sk89q.worldedit.util.TreeGenerator; import com.sk89q.worldedit.util.TreeGenerator;
import com.sk89q.worldedit.util.eventbus.EventBus; import com.sk89q.worldedit.util.eventbus.EventBus;
import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent;
@ -3039,4 +3042,20 @@ public class EditSession extends PassthroughExtent implements AutoCloseable {
} }
return false; 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 * @return a list of entities
*/ */
default List<? extends Entity> getEntities() { default List<? extends Entity> getEntities() {
System.out.println("el");
return Collections.emptyList(); return Collections.emptyList();
} }

View File

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

View File

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

View File

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