Added Fabric Convert Command.
This commit is contained in:
parent
a7dc1ad9b1
commit
aedc6216fd
2 changed files with 82 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
package org.dimdev.dimdoors;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import org.dimdev.dimdoors.shared.commands.CommandFabricConvert;
|
||||
import org.dimdev.dimdoors.shared.commands.CommandPocket;
|
||||
import org.dimdev.dimdoors.shared.commands.CommandDimTeleport;
|
||||
import org.dimdev.dimdoors.shared.Config;
|
||||
|
@ -74,6 +75,7 @@ public class DimDoors {
|
|||
event.registerServerCommand(new CommandDimTeleport());
|
||||
event.registerServerCommand(new CommandPocket());
|
||||
event.registerServerCommand(new CommandSaveSchem());
|
||||
event.registerServerCommand(new CommandFabricConvert());
|
||||
}
|
||||
|
||||
public static void sendMessage(Entity entity, String text) {
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
package org.dimdev.dimdoors.shared.commands;
|
||||
|
||||
import com.flowpowered.math.vector.Vector3i;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.command.CommandBase;
|
||||
import net.minecraft.command.CommandException;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import org.dimdev.ddutils.schem.Schematic;
|
||||
import org.dimdev.dimdoors.DimDoors;
|
||||
import org.dimdev.dimdoors.shared.blocks.BlockFabric;
|
||||
import org.dimdev.dimdoors.shared.pockets.SchematicHandler;
|
||||
import org.dimdev.dimdoors.shared.world.pocketdimension.WorldProviderPocket;
|
||||
import org.dimdev.pocketlib.Pocket;
|
||||
import org.dimdev.pocketlib.PocketRegistry;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CommandFabricConvert extends CommandBase {
|
||||
private final List<String> aliases;
|
||||
|
||||
public CommandFabricConvert() {
|
||||
aliases = new ArrayList<>();
|
||||
aliases.add("fabricconvert");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "fabricconvert";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUsage(ICommandSender sender) {
|
||||
return "fabricconvert";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getAliases() {
|
||||
return aliases;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
|
||||
// Execute only if it's a player
|
||||
if (sender instanceof EntityPlayerMP) {
|
||||
EntityPlayerMP player = getCommandSenderAsPlayer(sender);
|
||||
|
||||
if (!(player.world.provider instanceof WorldProviderPocket)) {
|
||||
DimDoors.chat(player, "Current Dimension isn't a pocket dimension");
|
||||
return;
|
||||
}
|
||||
|
||||
Pocket pocket = PocketRegistry.instance(player.dimension).getPocketAt(player.getPosition());
|
||||
|
||||
BlockPos origin = pocket.getOrigin();
|
||||
int size = (pocket.getSize() + 1) * 16 - 1;
|
||||
|
||||
for (int x = 0; x < size; x++) {
|
||||
for (int y = 0; y < size; y++) {
|
||||
for (int z = 0; z < size; z++) {
|
||||
IBlockState state = player.world.getBlockState(new BlockPos(origin.getX() + x, origin.getY() + y, origin.getZ() + z));
|
||||
|
||||
if (state.getBlock() instanceof BlockFabric) {
|
||||
player.world.setBlockState(origin, state.withProperty(BlockFabric.COLOR, EnumDyeColor.BLACK));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DimDoors.chat(player, "All fabric's of reality have been converted to black.");
|
||||
} else {
|
||||
DimDoors.log.info("Not executing command /" + getName() + " because it wasn't sent by a player.");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue