mirror of
https://github.com/GTNewHorizons/Botania.git
synced 2026-11-13 16:54:06 +00:00
Some /botania-skyblock-spread changes.
This commit is contained in:
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
|
||||
|
||||
Reference in new issue
Block a user