Some /botania-skyblock-spread changes.

This commit is contained in:
Lizbeth Rika committed 2015-07-18 19:01:28 +01:00
1 parent 15c9e7e2f5
commit 85cf6bf8c7
3 files changed
+31 -9

No files matched your search

@@ -10,11 +10,14 @@
*/
package vazkii.botania.common.core.command;
import vazkii.botania.common.core.helper.MathHelper;
import vazkii.botania.common.world.SkyblockWorldEvents;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.StatCollector;
public class CommandSkyblockSpread extends CommandBase {
@@ -25,7 +28,7 @@ public class CommandSkyblockSpread extends CommandBase {
@Override
public String getCommandUsage(ICommandSender p_71518_1_) {
return "<player>";
return "<player> [<range>]";
}
@Override
@@ -34,13 +37,30 @@ public class CommandSkyblockSpread extends CommandBase {
}
@Override
public void processCommand(ICommandSender p_71515_1_, String[] p_71515_2_) {
public void processCommand(ICommandSender sender, String[] args) {
int maxAllowed = 10000000;
int minAllowed = 250;
int minDist = 100;
int maxrange = 2000000;
EntityPlayer player = getPlayer(p_71515_1_, p_71515_2_[0]);
if(args.length == 2)
maxrange = parseInt(sender, args[1]);
if(maxrange > maxAllowed)
throw new CommandException("botaniamisc.skyblockRangeTooHigh");
if(maxrange < minAllowed)
throw new CommandException(StatCollector.translateToLocal("botaniamisc.skyblockRangeTooLow"));
EntityPlayer player = getPlayer(sender, args[0]);
if(player != null) {
ChunkCoordinates spawn = player.worldObj.getSpawnPoint();
int x = player.worldObj.rand.nextInt(maxrange) - maxrange / 2 + spawn.posX;
int z = player.worldObj.rand.nextInt(maxrange) - maxrange / 2 + spawn.posZ;
int x, z;
do {
x = player.worldObj.rand.nextInt(maxrange) - maxrange / 2 + spawn.posX;
z = player.worldObj.rand.nextInt(maxrange) - maxrange / 2 + spawn.posZ;
} while(MathHelper.pointDistancePlane(x, z, spawn.posX, spawn.posZ) < minDist);
SkyblockWorldEvents.spawnPlayer(player, x, spawn.posY, z, true);
}
}
@@ -125,8 +125,10 @@ public final class SkyblockWorldEvents {
if(!data.hasKey(EntityPlayer.PERSISTED_NBT_TAG))
data.setTag(EntityPlayer.PERSISTED_NBT_TAG, new NBTTagCompound());
NBTTagCompound persist = data.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);
if(!persist.getBoolean(TAG_HAS_OWN_ISLAND)) {
final boolean test = false;
if(test || !persist.getBoolean(TAG_HAS_OWN_ISLAND)) {
createSkyblock(player.worldObj, x, y, z);
if(player instanceof EntityPlayerMP) {
@@ -129,8 +129,8 @@ botaniamisc.completed=Completed
botaniamisc.notCompleted=Not Completed
botaniamisc.info=Info
botaniamisc.challengeInfo=Learn about the challenges
botaniamisc.notSkyblock=You need to be in a Garden of Glass world to do that.
botaniamisc.alreadyHasSkyblock=You already have a skyblock.
botaniamisc.skyblockRangeTooLow=Invalid range, must be at least 250.
botaniamisc.skyblockRangeTooHigh=Invalid range, can't be higher than 10000000 (10 million).
# NEI INTEGRATION
botania.nei.brewery=Botanical Brewery