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

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

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

World.getSaveHandler介绍

暂无

代码示例

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

  1. public PickupWorld(@Nonnull World wrapped, @Nonnull FakePlayerEIO player) {
  2. super(wrapped.getSaveHandler(), wrapped.getWorldInfo(), wrapped.provider, wrapped.profiler, false);
  3. this.wrapped = wrapped;
  4. this.player = player;
  5. }

代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition

  1. private File getCustomHandlersFile(World world) {
  2. File worldDirectory = world.getSaveHandler().getWorldDirectory();
  3. return new File(worldDirectory.getPath() + "/custom_matter.json");
  4. }
  5. }

代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition

  1. private File getMatterRegistryFile(World world) {
  2. File worldDirectory = world.getSaveHandler().getWorldDirectory();
  3. return new File(worldDirectory.getPath() + "/matter_registry.dat");
  4. }

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

  1. @Override
  2. public ISaveHandler getSaveHandler() {
  3. return getActualWorld().getSaveHandler();
  4. }

代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition

  1. private File getGalaxyFile(World world) {
  2. File worldDirectory = world.getSaveHandler().getWorldDirectory();
  3. return new File(worldDirectory.getPath() + "/galaxy.dat");
  4. }

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

  1. public FakeWorld(World world, EntityGoldMinecartDispenser entityMinecartBase) {
  2. super(world.getSaveHandler(), world.getWorldInfo(), world.provider, world.profiler, world.isRemote);
  3. this.setEntityMinecartBase(entityMinecartBase);
  4. }

代码示例来源:origin: ForestryMC/ForestryMC

  1. private void refreshActiveTradeStations(World world) {
  2. activeTradeStations = new LinkedHashMap<>();
  3. File worldSave = world.getSaveHandler().getMapFileFromName("dummy");
  4. File file = worldSave.getParentFile();
  5. if (!file.exists() || !file.isDirectory()) {
  6. return;
  7. }
  8. String[] list = file.list();
  9. if (list == null) {
  10. return;
  11. }
  12. for (String str : list) {
  13. if (!str.startsWith(TradeStation.SAVE_NAME)) {
  14. continue;
  15. }
  16. if (!str.endsWith(".dat")) {
  17. continue;
  18. }
  19. MailAddress address = new MailAddress(str.replace(TradeStation.SAVE_NAME, "").replace(".dat", ""));
  20. ITradeStation trade = PostManager.postRegistry.getTradeStation(world, address);
  21. if (trade == null) {
  22. continue;
  23. }
  24. registerTradeStation(trade);
  25. }
  26. }

代码示例来源:origin: ForestryMC/ForestryMC

  1. @Override
  2. public void deleteTradeStation(World world, IMailAddress address) {
  3. TradeStation trade = getTradeStation(world, address);
  4. if (trade == null) {
  5. return;
  6. }
  7. // Need to be marked as invalid since WorldSavedData seems to do some caching of its own.
  8. trade.invalidate();
  9. cachedTradeStations.remove(address);
  10. getPostOffice(world).deregisterTradeStation(trade);
  11. File file = world.getSaveHandler().getMapFileFromName(trade.mapName);
  12. boolean delete = file.delete();
  13. if (!delete) {
  14. Log.error("Failed to delete trade station file. {}", file);
  15. }
  16. }

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

  1. @NotNull final File chunkDir = new File(world.getSaveHandler().getWorldDirectory(), CHUNK_INFO_PATH);
  2. if (!chunkDir.exists())

代码示例来源:origin: MCTCP/TerrainControl

  1. @Override
  2. public SpawnableObject getMojangStructurePart(String name)
  3. {
  4. ResourceLocation resourceLocation = new ResourceLocation(name);
  5. TemplateManager mojangStructureParts = this.world.getSaveHandler().getStructureTemplateManager();
  6. Template mojangStructurePart = mojangStructureParts.getTemplate(this.world.getMinecraftServer(), resourceLocation);
  7. if (mojangStructurePart == null)
  8. {
  9. return null;
  10. }
  11. return new MojangStructurePart(name, mojangStructurePart);
  12. }

代码示例来源:origin: iLexiconn/LLibrary

  1. @SubscribeEvent
  2. public void onWorldLoad(WorldEvent.Load event) {
  3. if (!event.getWorld().isRemote) {
  4. WorldDataHandler.INSTANCE.loadWorldData(event.getWorld().getSaveHandler(), event.getWorld());
  5. }
  6. }

代码示例来源:origin: iLexiconn/LLibrary

  1. @SubscribeEvent
  2. public void onWorldSave(WorldEvent.Save event) {
  3. if (!event.getWorld().isRemote) {
  4. WorldDataHandler.INSTANCE.saveWorldData(event.getWorld().getSaveHandler(), event.getWorld());
  5. }
  6. }
  7. }

代码示例来源:origin: McJtyMods/LostCities

  1. private void create(World world, LostCityChunkGenerator provider, Random random, int chunkX, int chunkZ) {
  2. Rotation rotation = Rotation.values()[random.nextInt(Rotation.values().length)];
  3. ChunkPrimer chunkprimer = provider.getChunkPrimer(chunkX, chunkZ, false);
  4. int i = 5;
  5. int j = 5;
  6. if (rotation == Rotation.CLOCKWISE_90) {
  7. i = -5;
  8. } else if (rotation == Rotation.CLOCKWISE_180) {
  9. i = -5;
  10. j = -5;
  11. } else if (rotation == Rotation.COUNTERCLOCKWISE_90) {
  12. j = -5;
  13. }
  14. int k = chunkprimer.findGroundBlockIdx(7, 7);
  15. int l = chunkprimer.findGroundBlockIdx(7, 7 + j);
  16. int i1 = chunkprimer.findGroundBlockIdx(7 + i, 7);
  17. int j1 = chunkprimer.findGroundBlockIdx(7 + i, 7 + j);
  18. int k1 = Math.min(Math.min(k, l), Math.min(i1, j1));
  19. if (k1 < 60) {
  20. this.isValid = false;
  21. } else {
  22. BlockPos blockpos = new BlockPos(chunkX * 16 + 8, k1 + 1, chunkZ * 16 + 8);
  23. List<WoodlandMansionPieces.MansionTemplate> list = Lists.<WoodlandMansionPieces.MansionTemplate>newLinkedList();
  24. WoodlandMansionPieces.generateMansion(world.getSaveHandler().getStructureTemplateManager(), blockpos, rotation, list, random);
  25. this.components.addAll(list);
  26. this.updateBoundingBox();
  27. this.isValid = true;
  28. }
  29. }

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

  1. public MCMPWorldWrapper(PartInfo part, PartInfo partInfo, IWorldView view) {
  2. super(part.getActualWorld().getSaveHandler(), part.getActualWorld().getWorldInfo(), part.getActualWorld().provider,
  3. part.getActualWorld().profiler, part.getActualWorld().isRemote);
  4. this.part = part;
  5. this.partInfo = partInfo;
  6. this.view = view;
  7. }

代码示例来源:origin: OpenMods/OpenData

  1. public static void addWorldNames(World world) {
  2. final ISaveHandler saveHandler = world.getSaveHandler();
  3. final File worldDirectory = saveHandler.getWorldDirectory();
  4. if (worldDirectory != null) {
  5. final String worldDir = worldDirectory.getName();
  6. mainSanitizer.addPre(PRIORITY_SAVE_DIR_NAME, replaceNoDuplicates(worldDir, "[save dir]"));
  7. }
  8. try {
  9. File dummy = saveHandler.getMapFileFromName("dummy");
  10. if (dummy != null) {
  11. String parent = dummy.getParentFile().getParent();
  12. if (parent != null) mainSanitizer.addPre(PRIORITY_SAVE_DIR, pathNoDuplicate(parent, "[save dir]"));
  13. }
  14. } catch (Throwable t) {
  15. Log.warn(t, "Failed to get sanitizer name for world");
  16. }
  17. String worldName = world.getWorldInfo().getWorldName();
  18. mainSanitizer.addPre(PRIORITY_WORLD_NAME, replaceNoDuplicates(worldName, "[world name]"));
  19. }

代码示例来源:origin: MCTCP/TerrainControl

  1. public static String getWorldName(World world) {
  2. final WorldServer defaultWorld = DimensionManager.getWorld(0);
  3. final int dimension = world.provider.getDimension();
  4. if (dimension == -1) {
  5. return "DIM-1";
  6. } else if (dimension == 1) {
  7. return "DIM1";
  8. // Support mods who use have worlds use unique save handlers (ex. SpongeForge)
  9. } else if (dimension == 0 || (defaultWorld != null && defaultWorld.getSaveHandler() != world.getSaveHandler())) {
  10. return world.getWorldInfo().getWorldName();
  11. } else {
  12. return world.provider.getSaveFolder();
  13. }
  14. }

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

  1. @Override
  2. protected void generateStructure(World world, Random random, BlockPos position) {
  3. MinecraftServer server = world.getMinecraftServer();
  4. TemplateManager templateManager = world.getSaveHandler().getStructureTemplateManager();
  5. PlacementSettings settings = new PlacementSettings().setRotation(this.rotation).setMirror(this.mirror);
  6. Template template = templateManager.getTemplate(server, STRUCTURE);
  7. Map<BlockPos, String> dataBlocks = template.getDataBlocks(position, settings);
  8. template.addBlocksToWorldChunk(world, position, settings);
  9. dataBlocks.forEach((pos, type) -> {
  10. if (type.equals("Chest")) {
  11. world.setBlockState(pos, Blocks.AIR.getDefaultState(), 3);
  12. TileEntity tile = world.getTileEntity(pos.down());
  13. if (tile instanceof TileEntityChest) {
  14. ((TileEntityChest) tile).setLootTable(LootTableList.CHESTS_VILLAGE_BLACKSMITH, random.nextLong()); //TODO Proper loottable
  15. }
  16. }
  17. });
  18. }

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

  1. @Override
  2. protected void generateStructure(World world, Random random, BlockPos position) {
  3. MinecraftServer server = world.getMinecraftServer();
  4. TemplateManager templateManager = world.getSaveHandler().getStructureTemplateManager();
  5. PlacementSettings settings = new PlacementSettings();
  6. settings.setRotation(this.rotation);
  7. settings.setMirror(this.mirror);
  8. settings.setRandom(random);
  9. Template template = templateManager.getTemplate(server, STRUCTURE);
  10. template.addBlocksToWorldChunk(world, position, settings);
  11. Map<BlockPos, String> dataBlocks = template.getDataBlocks(position, settings);
  12. dataBlocks.forEach((pos, type) -> {
  13. ResourceLocation lootTable = LOOT_TABLES.get(type);
  14. if (lootTable != null) {
  15. world.setBlockToAir(pos);
  16. TileEntity tile = world.getTileEntity(pos.down());
  17. if (tile instanceof TileEntityChest) {
  18. ((TileEntityChest) tile).setLootTable(lootTable, random.nextLong());
  19. }
  20. }
  21. });
  22. }

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

  1. private void generateFossil(World world, Random random, BlockPos pos) {
  2. MinecraftServer minecraftserver = world.getMinecraftServer();
  3. Rotation[] arotation = Rotation.values();
  4. Rotation rotation = arotation[random.nextInt(arotation.length)];
  5. int i = random.nextInt(FOSSILS.length);
  6. TemplateManager templatemanager = world.getSaveHandler().getStructureTemplateManager();
  7. Template template = templatemanager.getTemplate(minecraftserver, FOSSILS[i]);
  8. ChunkPos chunkpos = new ChunkPos(pos);
  9. StructureBoundingBox structureboundingbox = new StructureBoundingBox(chunkpos.getXStart(), 0, chunkpos.getZStart(), chunkpos.getXEnd(), 256, chunkpos.getZEnd());
  10. PlacementSettings placementsettings = (new PlacementSettings()).setRotation(rotation).setBoundingBox(structureboundingbox).setRandom(random);
  11. BlockPos blockpos = template.transformedSize(rotation);
  12. BlockPos blockpos1 = template.getZeroPositionWithTransform(pos, Mirror.NONE, rotation);
  13. placementsettings.setIntegrity(1F);
  14. template.addBlocksToWorld(world, blockpos1, placementsettings, 20);
  15. }

代码示例来源:origin: Ellpeck/ActuallyAdditions

  1. private void spawnActualHouse(World world, StructureBoundingBox sbb){
  2. TemplateManager manager = world.getSaveHandler().getStructureTemplateManager();
  3. MinecraftServer server = world.getMinecraftServer();
  4. if(manager != null && server != null){
  5. EnumFacing facing = this.getCoordBaseMode();
  6. Mirror mirror;
  7. Rotation rotation;
  8. if(facing == EnumFacing.SOUTH){
  9. mirror = Mirror.NONE;
  10. rotation = Rotation.NONE;
  11. }
  12. else if(facing == EnumFacing.WEST){
  13. mirror = Mirror.NONE;
  14. rotation = Rotation.CLOCKWISE_90;
  15. }
  16. else if(facing == EnumFacing.EAST){
  17. mirror = Mirror.LEFT_RIGHT;
  18. rotation = Rotation.CLOCKWISE_90;
  19. }
  20. else{
  21. mirror = Mirror.LEFT_RIGHT;
  22. rotation = Rotation.NONE;
  23. }
  24. PlacementSettings placement = new PlacementSettings().setRotation(rotation).setMirror(mirror).setBoundingBox(sbb);
  25. Template template = manager.getTemplate(server, STRUCTURE_RES_LOC);
  26. if(template != null){
  27. template.addBlocksToWorld(world, new BlockPos(this.getXWithOffset(0, 0), this.getYWithOffset(0), this.getZWithOffset(0, 0)), placement);
  28. }
  29. }
  30. }

相关文章

World类方法