net.minecraft.world.World.getSpawnPoint()方法的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(12.3k)|赞(0)|评价(0)|浏览(152)

本文整理了Java中net.minecraft.world.World.getSpawnPoint()方法的一些代码示例,展示了World.getSpawnPoint()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。World.getSpawnPoint()方法的具体详情如下:
包路径:net.minecraft.world.World
类名称:World
方法名:getSpawnPoint

World.getSpawnPoint介绍

暂无

代码示例

代码示例来源:origin: EngineHub/WorldEdit

@Override
public BlockVector3 getSpawnPosition() {
  return ForgeAdapter.adapt(getWorld().getSpawnPoint());
}

代码示例来源:origin: Vazkii/Botania

@Override
public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args) throws CommandException {
  int maxAllowed = 1000000;
  int minAllowed = 250;
  int minDist = 100;
  int maxrange = 200000;
  if(args.length == 2)
    maxrange = parseInt(args[1]);
  if(maxrange > maxAllowed)
    throw new CommandException("botaniamisc.skyblockRangeTooHigh");
  if(maxrange < minAllowed)
    throw new CommandException(I18n.translateToLocal("botaniamisc.skyblockRangeTooLow"));
  EntityPlayer player = getPlayer(server, sender, args[0]);
  if(player != null) {
    BlockPos spawn = player.world.getSpawnPoint();
    int x, z;
    do {
      x = player.world.rand.nextInt(maxrange) - maxrange / 2 + spawn.getX();
      z = player.world.rand.nextInt(maxrange) - maxrange / 2 + spawn.getZ();
    } while(MathHelper.pointDistancePlane(x, z, spawn.getX(), spawn.getZ()) < minDist);
    SkyblockWorldEvents.spawnPlayer(player, new BlockPos(x, spawn.getY(), z), true);
  }
}

代码示例来源:origin: Vazkii/Botania

@Nonnull
@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) {
  ItemStack stack = player.getHeldItem(hand);
  BlockPos coords = world.getSpawnPoint();
  if(MathHelper.pointDistanceSpace(coords.getX() + 0.5, coords.getY() + 0.5, coords.getZ() + 0.5, player.posX, player.posY, player.posZ) > 24) {
    player.rotationPitch = 0F;
    player.rotationYaw = 0F;
    player.setPositionAndUpdate(coords.getX() + 0.5, coords.getY() + 0.5, coords.getZ() + 0.5);
    while(!world.getCollisionBoxes(player, player.getEntityBoundingBox()).isEmpty())
      player.setPositionAndUpdate(player.posX, player.posY + 1, player.posZ);
    world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_ENDERMEN_TELEPORT, SoundCategory.PLAYERS, 1F, 1F);
    for(int i = 0; i < 50; i++)
      Botania.proxy.sparkleFX(player.posX + Math.random() * player.width, player.posY - 1.6 + Math.random() * player.height, player.posZ + Math.random() * player.width, 0.25F, 1F, 0.25F, 1F, 10);
    stack.shrink(1);
    return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
  }
  return ActionResult.newResult(EnumActionResult.PASS, stack);
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public @Nonnull BlockPos getSpawnPoint() {
 return wrapped.getSpawnPoint();
}

代码示例来源:origin: amadornes/MCMultiPart

@Override
public BlockPos getSpawnPoint() {
  return getActualWorld().getSpawnPoint();
}

代码示例来源:origin: Vazkii/Botania

@SubscribeEvent
public static void onPlayerUpdate(LivingUpdateEvent event) {
  if(event.getEntityLiving() instanceof EntityPlayer && !event.getEntityLiving().world.isRemote) {
    EntityPlayer player = (EntityPlayer) event.getEntityLiving();
    NBTTagCompound data = player.getEntityData();
    if(!data.hasKey(EntityPlayer.PERSISTED_NBT_TAG))
      data.setTag(EntityPlayer.PERSISTED_NBT_TAG, new NBTTagCompound());
    NBTTagCompound persist = data.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);
    if(player.ticksExisted > 3 && !persist.getBoolean(TAG_MADE_ISLAND)) {
      World world = player.world;
      if(WorldTypeSkyblock.isWorldSkyblock(world)) {
        BlockPos coords = world.getSpawnPoint();
        if(world.getBlockState(coords.down(4)).getBlock() != Blocks.BEDROCK && world.provider.getDimension() == 0)
          spawnPlayer(player, coords, false);
      }
      persist.setBoolean(TAG_MADE_ISLAND, true);
    }
  }
}

代码示例来源:origin: Alex-the-666/Ice_and_Fire

private boolean isFarEnoughFromSpawn(World world, BlockPos pos){
  if(IceAndFire.CONFIG.dangerousWorldGenDistanceLimit == 0){
    return true;
  }
  BlockPos spawnRelative = new BlockPos(world.getSpawnPoint().getX(), pos.getY(), world.getSpawnPoint().getZ());
  return spawnRelative.distanceSq(pos) > IceAndFire.CONFIG.dangerousWorldGenDistanceLimit * IceAndFire.CONFIG.dangerousWorldGenDistanceLimit;
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

@Override
@SuppressWarnings("squid:S2184") //coordinates are capped by int so they are not going to overflow max int before converted to double
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
  BlockPos cc = world.getSpawnPoint();
  double distSq = cc.distanceSq(chunkX * 16, cc.getY(), chunkZ * 16);
  if (AWStructureStatics.withinProtectionRange(distSq)) {
    return;
  }
  if (random.nextFloat() < AWStructureStatics.townGenerationChance) {
    WorldGenTickHandler.INSTANCE.addChunkForTownGeneration(world, chunkX, chunkZ);
  }
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) {
  BlockPos cc = world.getSpawnPoint();
  double distSq = cc.distanceSq((double) chunkX * 16, cc.getY(), (double) chunkZ * 16);
  if (AWStructureStatics.withinProtectionRange(distSq)) {
    return;
  }
  if (rng.nextFloat() < AWStructureStatics.randomGenerationChance)
    WorldGenTickHandler.INSTANCE.addChunkForGeneration(world, chunkX, chunkZ);
}

代码示例来源:origin: TeamLapen/Vampirism

public void makeHide(int time) {
  seen = 0;
  this.setInvisible(true);
  BlockPos spawn = world.getSpawnPoint();
  this.setPosition(spawn.getX(), 3, spawn.getZ());
  hiding = time;
}

代码示例来源:origin: ldtteam/minecolonies

protected static boolean onTownHallPlaced(@NotNull final World world, @NotNull final EntityPlayer player, final BlockPos pos)
{
  IColony colony = ColonyManager.getIColonyByOwner(world, player);
  if (colony != null)
  {
    return canOwnerPlaceTownHallHere(world, player, colony, pos);
  }
  if (Configurations.gameplay.restrictColonyPlacement)
  {
    final double spawnDistance = Math.sqrt(BlockPosUtil.getDistanceSquared2D(pos, world.getSpawnPoint()));
    if (spawnDistance < Configurations.gameplay.minDistanceFromWorldSpawn)
    {
      LanguageHandler.sendPlayerMessage(player, CANT_PLACE_COLONY_TOO_CLOSE_TO_SPAWN, Configurations.gameplay.minDistanceFromWorldSpawn);
      return false;
    }
    else if (spawnDistance > Configurations.gameplay.maxDistanceFromWorldSpawn)
    {
      LanguageHandler.sendPlayerMessage(player, CANT_PLACE_COLONY_TOO_FAR_FROM_SPAWN, Configurations.gameplay.maxDistanceFromWorldSpawn);
      return false;
    }
  }
  colony = ColonyManager.getClosestIColony(world, pos);
  if (colony == null)
  {
    return true;
  }
  //  Town Halls must be far enough apart
  return canPlayerPlaceTownHallHere(world, player, pos, colony);
}

代码示例来源:origin: PrinceOfAmber/Cyclic

@Override
 public void execute(MinecraftServer server, ICommandSender ic, String[] args) {
  if (ic instanceof EntityPlayer == false) {
   return;
  }
  World world = ic.getCommandSenderEntity().getEntityWorld();
  EntityPlayer player = (EntityPlayer) ic;
  if (player.dimension != 0) {
   // :"Can only teleport to worldhome in the overworld"
   UtilChat.addChatMessage(ic, "command.worldhome.dim");
   return;
  }
  // this tends to always get something at y=64, regardless if there is AIR or
  // not
  // so we need to safely push the player up out of any blocks they are in
  UtilSound.playSound(player, player.getPosition(), SoundEvents.ENTITY_ENDERMEN_TELEPORT, player.getSoundCategory());
  UtilEntity.teleportWallSafe(player, world, world.getSpawnPoint());
  UtilSound.playSound(player, world.getSpawnPoint(), SoundEvents.ENTITY_ENDERMEN_TELEPORT, player.getSoundCategory());
 }
}

代码示例来源:origin: ldtteam/minecolonies

@Before
public void setupColonyPlacement() throws Exception
{
  when(colony.getCenter()).thenReturn(PLACE_POS);
  when(world.getSpawnPoint()).thenReturn(SPAWN_POS);
}

代码示例来源:origin: vadis365/TheErebus

@Override
  public BlockPos getRandomizedSpawnPoint() {
    BlockPos ret = this.world.getSpawnPoint();
    boolean isAdventure = world.getWorldInfo().getGameType() == GameType.ADVENTURE;
    int spawnFuzz = 100;
    int border = MathHelper.floor(world.getWorldBorder().getClosestDistance(ret.getX(), ret.getZ()));
    if (border < spawnFuzz) spawnFuzz = border;
    if (spawnFuzz < 1) spawnFuzz = 1;
    int spawnFuzzHalf = spawnFuzz / 2;

    if (!hasSkyLight() && !isAdventure)
      ret = world.getTopSolidOrLiquidBlock(ret.add(world.rand.nextInt(spawnFuzzHalf) - spawnFuzz, 0, world.rand.nextInt(spawnFuzzHalf) - spawnFuzz));

    return ret;
  }
}

代码示例来源:origin: PrinceOfAmber/Cyclic

@SideOnly(Side.CLIENT)
private void addSpawnInfo(RenderGameOverlayEvent.Text event) {
 EntityPlayer player = ModCyclic.proxy.getClientPlayer();
 /* The spawn chunks usually consist of an area of 16×16 chunks centered as close as possible to the world spawn point. Entities are only active if all chunks in an area of 5×5 chunks around them
  * are loaded, limiting their activities to an area of 12×12 chunks.
  * 
  * The exact rule includes chunks whose center is less than or equal to 128 blocks away from the world spawn along both axes. In the rare case where the world spawn is located at the exact center
  * of a chunk, 17 chunks will be loaded along that axis, of which 13 activate entities. */
 BlockPos spawn = player.getEntityWorld().getSpawnPoint();
 BlockPos here = player.getPosition();
 Chunk chunkHere = player.getEntityWorld().getChunk(here);
 int xCenterOfChunk = UtilWorld.chunkToBlock(chunkHere.x) + Const.CHUNK_SIZE / 2;
 int zCenterOfChunk = UtilWorld.chunkToBlock(chunkHere.z) + Const.CHUNK_SIZE / 2;
 //end border
 //start spawnchunk
 //actually its the distance not from ME but from my current chunk.
 //is the center of my chunk within 128 of worldspawn
 int xFromSpawn = Math.abs(xCenterOfChunk - spawn.getX());
 int zFromSpawn = Math.abs(zCenterOfChunk - spawn.getZ());
 DecimalFormat df = new DecimalFormat("0.0");
 double dist = UtilWorld.distanceBetweenHorizontal(here, spawn);
 event.getLeft().add(UtilChat.lang("debug.spawn.distance") + df.format(dist));
 if (xFromSpawn < Const.SPAWN_RADIUS && zFromSpawn < Const.SPAWN_RADIUS) {
  event.getLeft().add(TextFormatting.GREEN + UtilChat.lang("debug.spawn.chunks"));
 }
}

代码示例来源:origin: PenguinSquad/Harvest-Festival

public static boolean teleportToOverworld(Entity entity) {
  int mineID = getMineID((int) entity.posZ >> 4);
  TownTracker tracker = HFTrackers.getTowns(DimensionManager.getWorld(0));
  BlockPos spawn = tracker.getCoordinatesForOverworldMine(entity, mineID);
  Rotation rotation = tracker.getMineOrientation(mineID);
  if (spawn == null) spawn = entity.world.getSpawnPoint();
  if (rotation == Rotation.NONE) {
    entity.rotationYaw = 270F;
  } else if (rotation == Rotation.CLOCKWISE_90) {
    entity.rotationYaw = 0F;
  } else if (rotation == Rotation.CLOCKWISE_180) {
    entity.rotationYaw = 90F;
  } else if (rotation == Rotation.COUNTERCLOCKWISE_90) {
    entity.rotationYaw = 180F;
  }
  return EntityHelper.teleport(entity, 0, spawn);
}

代码示例来源:origin: FTBTeam/FTB-Utilities

@Override
  public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
  {
    EntityPlayerMP player = getCommandSenderAsPlayer(sender);
    FTBUtilitiesPlayerData data = FTBUtilitiesPlayerData.get(CommandUtils.getForgePlayer(player));
    data.checkTeleportCooldown(sender, FTBUtilitiesPlayerData.Timer.SPAWN);
    FTBUtilitiesPlayerData.Timer.SPAWN.teleport(player, playerMP ->
    {
      World w = playerMP.server.getWorld(FTBUtilitiesConfig.world.spawn_dimension);
      BlockPos spawnpoint = w.getSpawnPoint();

      while (w.getBlockState(spawnpoint).isFullCube())
      {
        spawnpoint = spawnpoint.up(2);
      }

      return new BlockDimPos(spawnpoint, FTBUtilitiesConfig.world.spawn_dimension).teleporter();
    }, null);
  }
}

代码示例来源:origin: Vazkii/Quark

target = worldIn.getSpawnPoint();
} else if(worldIn.provider.getDimensionType() == DimensionType.THE_END && CompassesWorkEverywhere.enableEnd)
  calculate = true;

代码示例来源:origin: ValkyrienWarfare/Valkyrien-Warfare-Revamped

public void calculateCompassAngle() {
  lastCompassAngle = compassAngle;
  IBlockState helmState = getWorld().getBlockState(getPos());
  EnumFacing enumfacing = (EnumFacing) helmState.getValue(BlockShipHelm.FACING);
  double wheelAndCompassStateRotation = enumfacing.getHorizontalAngle();
  BlockPos spawnPos = getWorld().getSpawnPoint();
  Vector compassPoint = new Vector(getPos().getX(), getPos().getY(), getPos().getZ());
  compassPoint.add(1D, 2D, 1D);
  PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(getWorld(), getPos());
  if (wrapper != null) {
    RotationMatrices.applyTransform(wrapper.wrapping.coordTransform.lToWTransform, compassPoint);
  }
  Vector compassDirection = new Vector(compassPoint);
  compassDirection.subtract(spawnPos.getX(), spawnPos.getY(), spawnPos.getZ());
  if (wrapper != null) {
    RotationMatrices.applyTransform(wrapper.wrapping.coordTransform.wToLRotation, compassDirection);
  }
  compassDirection.normalize();
  compassAngle = Math.toDegrees(Math.atan2(compassDirection.X, compassDirection.Z)) - wheelAndCompassStateRotation;
  compassAngle = (compassAngle + 360D) % 360D;
}

代码示例来源:origin: TeamWizardry/Wizardry

player.isDead = false;
event.setAmount(0);
BlockPos spawn = player.isSpawnForced(0) ? player.getBedLocation(0) : player.world.getSpawnPoint().add(player.world.rand.nextGaussian() * 16, 0, player.world.rand.nextGaussian() * 16);
BlockPos teleportTo = spawn.add(0, 300 - spawn.getY(), 0);
fallResetter.add(event.getEntity().getUniqueID());

相关文章

微信公众号

最新文章

更多

World类方法