mod里如何新增一个和某个世界一样的世界???
然后让玩家跳转到这个世界。
然后让玩家跳转到这个世界。
这个原版就可以解决
就是复制地图文件夹里的东西然后新建一个世界,然后替换
就是复制地图文件夹里的东西然后新建一个世界,然后替换
本帖最后由 roj234 于 2019-1-27 19:35 编辑
这个是非常麻烦的事!
首先找到这个世界的WorldProvider和ChunkGenerator(这个还好)或者它的实例(这个更麻烦)
然后
新建一个java
复制代码在新建一个java复制代码然后在你MOD的主类里的onServerStart(FMLServerStartingEvent event)调用上面的函数
这个是非常麻烦的事!
首先找到这个世界的WorldProvider和ChunkGenerator(这个还好)或者它的实例(这个更麻烦)
然后
新建一个java
- public class <随便什么名字> extends 你找到的名字 {
- @Override
- public String getSaveFolder() {
- return "MI_DIM" + getDimension();//这里请自己修改,这就是新世界文件夹的名字
- }
- }
- public static DimensionType dimType;
- public static int dimId = 233;//次元类型ID 可以自己设置,如果想自动请<font color="Red">设为-1(警告:这样的话就不能增删mod)
- public static void init(){
- if (id == -1) {
- for (DimensionType type : DimensionType.values()) {
- if (type.getId() > id) {
- id = type.getId();//更新id
- }
- }
- id++;
- }//这下面的两个String第一个是Index、第二个是MODID
- dimType = DimensionType.register("mydimension", "examplemod", id, <之前的名字>.class, false);
- int id= 2342;//这才是我们看到的DIM几,自动请设为DimensionManager.getNextFreeDimId();注意事项同上 DimensionManager.registerDimension(id, dimType);
- if(DimensionManager.getWorld(id) == null) { //还没创建
- File chunkDir = new File(DimensionManager.getCurrentSaveRootDirectory(), DimensionManager.createProviderFor(id).getSaveFolder());
- if(ForgeChunkManager.savedWorldHasForcedChunkTickets(chunkDir)) {
- DimensionManager.initDimension(id);
- }
- }
- }
roj234 发表于 2019-1-27 19:20
这个是非常麻烦的事!
首先找到这个世界的WorldProvider和ChunkGenerator(这个还好)或者它的实例(这个更麻 ...
人家问的是新世界吧...是level不是dimension