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

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

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

World.getSpawnPoint介绍

暂无

代码示例

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

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

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

  1. @Override
  2. public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args) throws CommandException {
  3. int maxAllowed = 1000000;
  4. int minAllowed = 250;
  5. int minDist = 100;
  6. int maxrange = 200000;
  7. if(args.length == 2)
  8. maxrange = parseInt(args[1]);
  9. if(maxrange > maxAllowed)
  10. throw new CommandException("botaniamisc.skyblockRangeTooHigh");
  11. if(maxrange < minAllowed)
  12. throw new CommandException(I18n.translateToLocal("botaniamisc.skyblockRangeTooLow"));
  13. EntityPlayer player = getPlayer(server, sender, args[0]);
  14. if(player != null) {
  15. BlockPos spawn = player.world.getSpawnPoint();
  16. int x, z;
  17. do {
  18. x = player.world.rand.nextInt(maxrange) - maxrange / 2 + spawn.getX();
  19. z = player.world.rand.nextInt(maxrange) - maxrange / 2 + spawn.getZ();
  20. } while(MathHelper.pointDistancePlane(x, z, spawn.getX(), spawn.getZ()) < minDist);
  21. SkyblockWorldEvents.spawnPlayer(player, new BlockPos(x, spawn.getY(), z), true);
  22. }
  23. }

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

  1. @Nonnull
  2. @Override
  3. public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) {
  4. ItemStack stack = player.getHeldItem(hand);
  5. BlockPos coords = world.getSpawnPoint();
  6. if(MathHelper.pointDistanceSpace(coords.getX() + 0.5, coords.getY() + 0.5, coords.getZ() + 0.5, player.posX, player.posY, player.posZ) > 24) {
  7. player.rotationPitch = 0F;
  8. player.rotationYaw = 0F;
  9. player.setPositionAndUpdate(coords.getX() + 0.5, coords.getY() + 0.5, coords.getZ() + 0.5);
  10. while(!world.getCollisionBoxes(player, player.getEntityBoundingBox()).isEmpty())
  11. player.setPositionAndUpdate(player.posX, player.posY + 1, player.posZ);
  12. world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_ENDERMEN_TELEPORT, SoundCategory.PLAYERS, 1F, 1F);
  13. for(int i = 0; i < 50; i++)
  14. 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);
  15. stack.shrink(1);
  16. return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
  17. }
  18. return ActionResult.newResult(EnumActionResult.PASS, stack);
  19. }

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

  1. @Override
  2. public @Nonnull BlockPos getSpawnPoint() {
  3. return wrapped.getSpawnPoint();
  4. }

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

  1. @Override
  2. public BlockPos getSpawnPoint() {
  3. return getActualWorld().getSpawnPoint();
  4. }

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

  1. @SubscribeEvent
  2. public static void onPlayerUpdate(LivingUpdateEvent event) {
  3. if(event.getEntityLiving() instanceof EntityPlayer && !event.getEntityLiving().world.isRemote) {
  4. EntityPlayer player = (EntityPlayer) event.getEntityLiving();
  5. NBTTagCompound data = player.getEntityData();
  6. if(!data.hasKey(EntityPlayer.PERSISTED_NBT_TAG))
  7. data.setTag(EntityPlayer.PERSISTED_NBT_TAG, new NBTTagCompound());
  8. NBTTagCompound persist = data.getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);
  9. if(player.ticksExisted > 3 && !persist.getBoolean(TAG_MADE_ISLAND)) {
  10. World world = player.world;
  11. if(WorldTypeSkyblock.isWorldSkyblock(world)) {
  12. BlockPos coords = world.getSpawnPoint();
  13. if(world.getBlockState(coords.down(4)).getBlock() != Blocks.BEDROCK && world.provider.getDimension() == 0)
  14. spawnPlayer(player, coords, false);
  15. }
  16. persist.setBoolean(TAG_MADE_ISLAND, true);
  17. }
  18. }
  19. }

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

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

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

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

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

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

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

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

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

  1. protected static boolean onTownHallPlaced(@NotNull final World world, @NotNull final EntityPlayer player, final BlockPos pos)
  2. {
  3. IColony colony = ColonyManager.getIColonyByOwner(world, player);
  4. if (colony != null)
  5. {
  6. return canOwnerPlaceTownHallHere(world, player, colony, pos);
  7. }
  8. if (Configurations.gameplay.restrictColonyPlacement)
  9. {
  10. final double spawnDistance = Math.sqrt(BlockPosUtil.getDistanceSquared2D(pos, world.getSpawnPoint()));
  11. if (spawnDistance < Configurations.gameplay.minDistanceFromWorldSpawn)
  12. {
  13. LanguageHandler.sendPlayerMessage(player, CANT_PLACE_COLONY_TOO_CLOSE_TO_SPAWN, Configurations.gameplay.minDistanceFromWorldSpawn);
  14. return false;
  15. }
  16. else if (spawnDistance > Configurations.gameplay.maxDistanceFromWorldSpawn)
  17. {
  18. LanguageHandler.sendPlayerMessage(player, CANT_PLACE_COLONY_TOO_FAR_FROM_SPAWN, Configurations.gameplay.maxDistanceFromWorldSpawn);
  19. return false;
  20. }
  21. }
  22. colony = ColonyManager.getClosestIColony(world, pos);
  23. if (colony == null)
  24. {
  25. return true;
  26. }
  27. // Town Halls must be far enough apart
  28. return canPlayerPlaceTownHallHere(world, player, pos, colony);
  29. }

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

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

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

  1. @Before
  2. public void setupColonyPlacement() throws Exception
  3. {
  4. when(colony.getCenter()).thenReturn(PLACE_POS);
  5. when(world.getSpawnPoint()).thenReturn(SPAWN_POS);
  6. }

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

  1. @Override
  2. public BlockPos getRandomizedSpawnPoint() {
  3. BlockPos ret = this.world.getSpawnPoint();
  4. boolean isAdventure = world.getWorldInfo().getGameType() == GameType.ADVENTURE;
  5. int spawnFuzz = 100;
  6. int border = MathHelper.floor(world.getWorldBorder().getClosestDistance(ret.getX(), ret.getZ()));
  7. if (border < spawnFuzz) spawnFuzz = border;
  8. if (spawnFuzz < 1) spawnFuzz = 1;
  9. int spawnFuzzHalf = spawnFuzz / 2;
  10. if (!hasSkyLight() && !isAdventure)
  11. ret = world.getTopSolidOrLiquidBlock(ret.add(world.rand.nextInt(spawnFuzzHalf) - spawnFuzz, 0, world.rand.nextInt(spawnFuzzHalf) - spawnFuzz));
  12. return ret;
  13. }
  14. }

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

  1. @SideOnly(Side.CLIENT)
  2. private void addSpawnInfo(RenderGameOverlayEvent.Text event) {
  3. EntityPlayer player = ModCyclic.proxy.getClientPlayer();
  4. /* 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
  5. * are loaded, limiting their activities to an area of 12×12 chunks.
  6. *
  7. * 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
  8. * of a chunk, 17 chunks will be loaded along that axis, of which 13 activate entities. */
  9. BlockPos spawn = player.getEntityWorld().getSpawnPoint();
  10. BlockPos here = player.getPosition();
  11. Chunk chunkHere = player.getEntityWorld().getChunk(here);
  12. int xCenterOfChunk = UtilWorld.chunkToBlock(chunkHere.x) + Const.CHUNK_SIZE / 2;
  13. int zCenterOfChunk = UtilWorld.chunkToBlock(chunkHere.z) + Const.CHUNK_SIZE / 2;
  14. //end border
  15. //start spawnchunk
  16. //actually its the distance not from ME but from my current chunk.
  17. //is the center of my chunk within 128 of worldspawn
  18. int xFromSpawn = Math.abs(xCenterOfChunk - spawn.getX());
  19. int zFromSpawn = Math.abs(zCenterOfChunk - spawn.getZ());
  20. DecimalFormat df = new DecimalFormat("0.0");
  21. double dist = UtilWorld.distanceBetweenHorizontal(here, spawn);
  22. event.getLeft().add(UtilChat.lang("debug.spawn.distance") + df.format(dist));
  23. if (xFromSpawn < Const.SPAWN_RADIUS && zFromSpawn < Const.SPAWN_RADIUS) {
  24. event.getLeft().add(TextFormatting.GREEN + UtilChat.lang("debug.spawn.chunks"));
  25. }
  26. }

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

  1. public static boolean teleportToOverworld(Entity entity) {
  2. int mineID = getMineID((int) entity.posZ >> 4);
  3. TownTracker tracker = HFTrackers.getTowns(DimensionManager.getWorld(0));
  4. BlockPos spawn = tracker.getCoordinatesForOverworldMine(entity, mineID);
  5. Rotation rotation = tracker.getMineOrientation(mineID);
  6. if (spawn == null) spawn = entity.world.getSpawnPoint();
  7. if (rotation == Rotation.NONE) {
  8. entity.rotationYaw = 270F;
  9. } else if (rotation == Rotation.CLOCKWISE_90) {
  10. entity.rotationYaw = 0F;
  11. } else if (rotation == Rotation.CLOCKWISE_180) {
  12. entity.rotationYaw = 90F;
  13. } else if (rotation == Rotation.COUNTERCLOCKWISE_90) {
  14. entity.rotationYaw = 180F;
  15. }
  16. return EntityHelper.teleport(entity, 0, spawn);
  17. }

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

  1. @Override
  2. public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
  3. {
  4. EntityPlayerMP player = getCommandSenderAsPlayer(sender);
  5. FTBUtilitiesPlayerData data = FTBUtilitiesPlayerData.get(CommandUtils.getForgePlayer(player));
  6. data.checkTeleportCooldown(sender, FTBUtilitiesPlayerData.Timer.SPAWN);
  7. FTBUtilitiesPlayerData.Timer.SPAWN.teleport(player, playerMP ->
  8. {
  9. World w = playerMP.server.getWorld(FTBUtilitiesConfig.world.spawn_dimension);
  10. BlockPos spawnpoint = w.getSpawnPoint();
  11. while (w.getBlockState(spawnpoint).isFullCube())
  12. {
  13. spawnpoint = spawnpoint.up(2);
  14. }
  15. return new BlockDimPos(spawnpoint, FTBUtilitiesConfig.world.spawn_dimension).teleporter();
  16. }, null);
  17. }
  18. }

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

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

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

  1. public void calculateCompassAngle() {
  2. lastCompassAngle = compassAngle;
  3. IBlockState helmState = getWorld().getBlockState(getPos());
  4. EnumFacing enumfacing = (EnumFacing) helmState.getValue(BlockShipHelm.FACING);
  5. double wheelAndCompassStateRotation = enumfacing.getHorizontalAngle();
  6. BlockPos spawnPos = getWorld().getSpawnPoint();
  7. Vector compassPoint = new Vector(getPos().getX(), getPos().getY(), getPos().getZ());
  8. compassPoint.add(1D, 2D, 1D);
  9. PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(getWorld(), getPos());
  10. if (wrapper != null) {
  11. RotationMatrices.applyTransform(wrapper.wrapping.coordTransform.lToWTransform, compassPoint);
  12. }
  13. Vector compassDirection = new Vector(compassPoint);
  14. compassDirection.subtract(spawnPos.getX(), spawnPos.getY(), spawnPos.getZ());
  15. if (wrapper != null) {
  16. RotationMatrices.applyTransform(wrapper.wrapping.coordTransform.wToLRotation, compassDirection);
  17. }
  18. compassDirection.normalize();
  19. compassAngle = Math.toDegrees(Math.atan2(compassDirection.X, compassDirection.Z)) - wheelAndCompassStateRotation;
  20. compassAngle = (compassAngle + 360D) % 360D;
  21. }

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

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

相关文章

World类方法