use of lumien.randomthings.item.ItemBiomeCrystal in project Random-Things by lumien231.
the class RTCommand method execute.
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
if (args.length == 0) {
return;
}
if (args[0].equals("setBiomeCrystal")) {
if (args.length == 2 && sender instanceof EntityPlayer) {
String biomeName = args[1];
EntityPlayer player = (EntityPlayer) sender;
ItemStack equipped = player.getHeldItemMainhand();
if (equipped != null && equipped.getItem() instanceof ItemBiomeCrystal) {
if (equipped.getTagCompound() == null) {
equipped.setTagCompound(new NBTTagCompound());
}
equipped.getTagCompound().setString("biomeName", args[1]);
}
}
} else if (args[0].equals("generateBiomeCrystalChests")) {
if (sender instanceof EntityPlayer) {
List<ResourceLocation> biomeIds = new ArrayList<>(Biome.REGISTRY.getKeys());
int modX = 0;
while (!biomeIds.isEmpty()) {
sender.getEntityWorld().setBlockState(sender.getPosition().add(modX, 0, 0), Blocks.CHEST.getDefaultState());
IInventory inventory = (IInventory) sender.getEntityWorld().getTileEntity(sender.getPosition().add(modX, 0, 0));
for (int i = 0; i < 27; i++) {
if (!biomeIds.isEmpty()) {
ResourceLocation next = biomeIds.remove(biomeIds.size() - 1);
ItemStack crystal = new ItemStack(ModItems.biomeCrystal);
crystal.setTagCompound(new NBTTagCompound());
crystal.getTagCompound().setString("biomeName", next.toString());
inventory.setInventorySlotContents(i, crystal);
}
}
modX += 2;
}
}
} else if (args[0].equals("tpFilter")) {
if (sender instanceof EntityPlayerMP) {
EntityPlayerMP player = (EntityPlayerMP) sender;
ItemStack held;
if ((held = player.getHeldItemMainhand()) != null && held.getItem() == ModItems.positionFilter) {
BlockPos pos = ItemPositionFilter.getPosition(held);
player.connection.setPlayerLocation(pos.getX(), pos.getY() + 150, pos.getZ(), player.rotationYaw, player.rotationPitch);
}
}
} else if (args[0].equals("testSlimeSpawn")) {
BlockPos pos = sender.getPosition();
World world = sender.getEntityWorld();
if (pos != null && world != null) {
EntitySlime slime = new EntitySlime(world);
slime.setLocationAndAngles(pos.getX(), pos.getY(), pos.getZ(), 0F, 0F);
sender.sendMessage(new TextComponentString(slime.getCanSpawnHere() + ""));
}
} else if (args[0].equals("notify") && args.length == 5) {
String title = args[1];
String body = args[2];
String itemName = args[3];
String player = args[4];
EntityPlayerMP playerEntity = server.getPlayerList().getPlayerByUsername(player);
ItemStack itemStack = new ItemStack(ForgeRegistries.ITEMS.getValue(new ResourceLocation(itemName)));
MessageNotification message = new MessageNotification(title, body, itemStack);
PacketHandler.INSTANCE.sendTo(message, playerEntity);
} else if (args[0].equals("fireplaces")) {
FlooNetworkHandler handler = FlooNetworkHandler.get(sender.getEntityWorld());
List<FlooFireplace> firePlaces = handler.getFirePlaces();
sender.sendMessage(new TextComponentString("Floo Fireplaces in Dimension " + sender.getEntityWorld().provider.getDimension()).setStyle(new Style().setUnderlined(true)));
sender.sendMessage(new TextComponentString(""));
for (FlooFireplace firePlace : firePlaces) {
String name = firePlace.getName();
UUID creator = firePlace.getCreatorUUID();
String ownerName = null;
if (creator != null) {
GameProfile profile = server.getPlayerProfileCache().getProfileByUUID(creator);
if (profile != null) {
ownerName = profile.getName();
}
}
BlockPos pos = firePlace.getLastKnownPosition();
sender.sendMessage(new TextComponentString((name == null ? "<Unnamed>" : name) + " | " + String.format("%d %d %d", pos.getX(), pos.getY(), pos.getZ()) + (ownerName != null ? " | " + ownerName : "")));
}
} else if (args[0].equals("festival")) {
FestivalHandler handler = FestivalHandler.get(sender.getEntityWorld());
List<EntityVillager> villagerList = sender.getEntityWorld().getEntitiesWithinAABB(EntityVillager.class, new AxisAlignedBB(sender.getPosition()).grow(50));
if (!villagerList.isEmpty()) {
EntityVillager villager = villagerList.get(0);
int success = handler.addFestival(villager);
if (success == 2) {
sender.sendMessage(new TextComponentTranslation("command.festival.scheduled"));
} else {
sender.sendMessage(new TextComponentTranslation("command.festival.failed"));
}
} else {
sender.sendMessage(new TextComponentTranslation("command.festival.novillager"));
}
} else if (args[0].equals("ancientFurnace")) {
WorldGenAncientFurnace.pattern.place(sender.getEntityWorld(), sender.getPosition(), 3);
}
}
Aggregations