spawning illegal entities with perimetercheck, fixes #194
This commit is contained in:
1 parent
182eac89c9
commit
652ca7d6a0
1 file changed
+5
-2
@@ -7,6 +7,7 @@ import carpet.utils.PerimeterDiagnostics;
|
|||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
import net.minecraft.command.suggestion.SuggestionProviders;
|
import net.minecraft.command.suggestion.SuggestionProviders;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.entity.mob.MobEntity;
|
import net.minecraft.entity.mob.MobEntity;
|
||||||
import net.minecraft.server.command.ServerCommandSource;
|
import net.minecraft.server.command.ServerCommandSource;
|
||||||
@@ -51,15 +52,17 @@ public class PerimeterInfoCommand
|
|||||||
if (mobId != null)
|
if (mobId != null)
|
||||||
{
|
{
|
||||||
nbttagcompound.putString("id", mobId);
|
nbttagcompound.putString("id", mobId);
|
||||||
entityliving = (MobEntity) EntityType.loadEntityWithPassengers(nbttagcompound, source.getWorld(), (entity_1x) -> {
|
Entity baseEntity = EntityType.loadEntityWithPassengers(nbttagcompound, source.getWorld(), (entity_1x) -> {
|
||||||
entity_1x.refreshPositionAndAngles(pos.offset(Direction.UP,2), entity_1x.yaw, entity_1x.pitch);
|
entity_1x.refreshPositionAndAngles(pos.offset(Direction.UP,2), entity_1x.yaw, entity_1x.pitch);
|
||||||
return !source.getWorld().tryLoadEntity(entity_1x) ? null : entity_1x;
|
return !source.getWorld().tryLoadEntity(entity_1x) ? null : entity_1x;
|
||||||
});
|
});
|
||||||
if (entityliving == null)
|
if (!(baseEntity instanceof MobEntity))
|
||||||
{
|
{
|
||||||
Messenger.m(source, "r Failed to spawn test entity");
|
Messenger.m(source, "r Failed to spawn test entity");
|
||||||
|
if (baseEntity != null) baseEntity.remove();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
entityliving = (MobEntity) baseEntity;
|
||||||
}
|
}
|
||||||
PerimeterDiagnostics.Result res = PerimeterDiagnostics.countSpots(source.getWorld(), pos, entityliving);
|
PerimeterDiagnostics.Result res = PerimeterDiagnostics.countSpots(source.getWorld(), pos, entityliving);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user