geforkt von Mirrors/FastAsyncWorldEdit
start reimplementing entities
Dieser Commit ist enthalten in:
Ursprung
3d40336045
Commit
aac02ceea1
@ -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
|
||||||
|
@ -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) {
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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) {
|
||||||
|
@ -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)
|
||||||
);
|
);
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren