當前位置: 首頁>>代碼示例>>Java>>正文


Java IWorldGenerator類代碼示例

本文整理匯總了Java中cpw.mods.fml.common.IWorldGenerator的典型用法代碼示例。如果您正苦於以下問題:Java IWorldGenerator類的具體用法?Java IWorldGenerator怎麽用?Java IWorldGenerator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


IWorldGenerator類屬於cpw.mods.fml.common包,在下文中一共展示了IWorldGenerator類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: generateWorld

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
 * call this
 *
 * @param chunkX
 * @param chunkZ
 * @param world
 * @param chunkGenerator
 * @param chunkProvider
 */
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
    if (sortedGeneratorList == null)
    {
        computeSortedGeneratorList();
    }
    long worldSeed = world.func_72905_C();
    Random fmlRandom = new Random(worldSeed);
    long xSeed = fmlRandom.nextLong() >> 2 + 1L;
    long zSeed = fmlRandom.nextLong() >> 2 + 1L;
    long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;

    for (IWorldGenerator generator : sortedGeneratorList)
    {
        fmlRandom.setSeed(chunkSeed);
        generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
    }
}
 
開發者ID:SchrodingersSpy,項目名稱:TRHS_Club_Mod_2016,代碼行數:29,代碼來源:GameRegistry.java

示例2: generateWorld

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
 * call this
 *
 * @param chunkX
 * @param chunkZ
 * @param world
 * @param chunkGenerator
 * @param chunkProvider
 */
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
    if (sortedGeneratorList == null)
    {
        computeSortedGeneratorList();
    }
    long worldSeed = world.getSeed();
    Random fmlRandom = new Random(worldSeed);
    long xSeed = fmlRandom.nextLong() >> 2 + 1L;
    long zSeed = fmlRandom.nextLong() >> 2 + 1L;
    long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;

    for (IWorldGenerator generator : sortedGeneratorList)
    {
        fmlRandom.setSeed(chunkSeed);
        generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
    }
}
 
開發者ID:alexandrage,項目名稱:CauldronGit,代碼行數:29,代碼來源:GameRegistry.java

示例3: registerWorldGenerator

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Register a world generator - something that inserts new block types into the world
 *
 * @param generator the generator
 * @param modGenerationWeight a weight to assign to this generator. Heavy weights tend to sink to the bottom of
 * list of world generators (i.e. they run later)
 */
public static void registerWorldGenerator(IWorldGenerator generator, int modGenerationWeight)
{
    // Cauldron start - mod id's are not available during generateWorld so we must capture them here
    String modId = Loader.instance().activeModContainer().getModId();
    modId = modId.replaceAll("[^A-Za-z0-9]", ""); // remove all non-digits/alphanumeric
    modId.replace(" ", "_");
    worldGenerators.add(generator);
    worldGeneratorIndex.put(generator, modGenerationWeight);
    if (sortedGeneratorList != null)
    {
        sortedGeneratorList = null;
    }
    worldGenMap.put(generator.getClass().getName(), modId);
    // Cauldron end
}
 
開發者ID:xtrafrancyz,項目名稱:Cauldron,代碼行數:23,代碼來源:GameRegistry.java

示例4: isEnabled

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public static boolean isEnabled(IWorldGenerator generator)
{
	if(isEnabled(generator))
	{
		long worldSeed = 0;
        Random fmlRandom = new Random(worldSeed);
        long xSeed = fmlRandom.nextLong() >> 2 + 1L;
        long zSeed = fmlRandom.nextLong() >> 2 + 1L;
        int chunkX = 0;
		int chunkZ = 0;
		long chunkSeed = (xSeed * chunkX  + zSeed * chunkZ ) ^ worldSeed;
		fmlRandom.setSeed(chunkSeed);
		World world = null;
		IChunkProvider chunkGenerator = null;
		IChunkProvider chunkProvider = null;
		generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
	}
	return false;
}
 
開發者ID:CreativeMD,項目名稱:World-Generation-Manager,代碼行數:20,代碼來源:GenerationDummyContainer.java

示例5: getName

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public static String getName(IWorldGenerator generator)
{
	try
	{
		String name = (String) generator.getClass().getMethod("getName").invoke(generator);
		if(!name.equals(""))
			return name;
	}catch(Exception e){
		
	}
	if(!getPrefix().equals("minecraft"))
	{
		return getPrefix();
	}
	return generator.getClass().getName();
}
 
開發者ID:CreativeMD,項目名稱:World-Generation-Manager,代碼行數:17,代碼來源:GenerationDummyContainer.java

示例6: onAdd

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public static void onAdd(IWorldGenerator generator)
{
	try
	{
		String name = getName(generator);
		while (containsName(name)) {
			name += "I";
		}
		WorldGenerator worldGenerator = new WorldGenerator(name, generator, getPrefix());
		worldGenerators.add(worldGenerator);
		configuration.load();
		worldGenerator.state = configuration.get("regeneration", worldGenerator.name, 1).getInt();
    	configuration.save();
	}catch(Exception e){
		System.out.println("Error registering World Generator");
		e.printStackTrace();
	}
}
 
開發者ID:CreativeMD,項目名稱:World-Generation-Manager,代碼行數:19,代碼來源:GenerationDummyContainer.java

示例7: registerWorldGenerator

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Register a world generator - something that inserts new block types into the world
 *
 * @param generator the generator
 * @param modGenerationWeight a weight to assign to this generator. Heavy weights tend to sink to the bottom of
 * list of world generators (i.e. they run later)
 */
public static void registerWorldGenerator(IWorldGenerator generator, int modGenerationWeight)
{
    worldGenerators.add(generator);
    worldGeneratorIndex.put(generator, modGenerationWeight);
    if (sortedGeneratorList != null)
    {
        sortedGeneratorList = null;
    }
}
 
開發者ID:SchrodingersSpy,項目名稱:TRHS_Club_Mod_2016,代碼行數:17,代碼來源:GameRegistry.java

示例8: computeSortedGeneratorList

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
private static void computeSortedGeneratorList()
{
    ArrayList<IWorldGenerator> list = Lists.newArrayList(worldGenerators);
    Collections.sort(list, new Comparator<IWorldGenerator>() {
        @Override
        public int compare(IWorldGenerator o1, IWorldGenerator o2)
        {
            return Ints.compare(worldGeneratorIndex.get(o1), worldGeneratorIndex.get(o2));
        }
    });
    sortedGeneratorList = ImmutableList.copyOf(list);
}
 
開發者ID:SchrodingersSpy,項目名稱:TRHS_Club_Mod_2016,代碼行數:13,代碼來源:GameRegistry.java

示例9: generateWorld

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
 * call this
 *
 * @param chunkX
 * @param chunkZ
 * @param world
 * @param chunkGenerator
 * @param chunkProvider
 */
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
    if (sortedGeneratorList == null)
    {
        computeSortedGeneratorList();
    }
    long worldSeed = world.getSeed();
    Random fmlRandom = new Random(worldSeed);
    long xSeed = fmlRandom.nextLong() >> 2 + 1L;
    long zSeed = fmlRandom.nextLong() >> 2 + 1L;
    long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;

    boolean before = ((net.minecraft.world.WorldServer)world).theChunkProviderServer.loadChunkOnProvideRequest; // Cauldron store value
    ((net.minecraft.world.WorldServer)world).theChunkProviderServer.loadChunkOnProvideRequest = true; // Cauldron load chunks on provide requests
    for (IWorldGenerator generator : worldGenerators)
    {
    // Cauldron start
        if (!configWorldGenCache.containsKey(generator.getClass().getName()))
        {
            String modId = worldGenMap.get(generator.getClass().getName());
            String generatorName = "";
            generatorName = modId + "-" + generator.getClass().getSimpleName();
            boolean generatorEnabled = world.cauldronConfig.getBoolean("worldgen-" + generatorName, true);
            configWorldGenCache.put(generator.getClass().getName(), generatorEnabled);
        }
        if (configWorldGenCache.get(generator.getClass().getName()))
        {
            fmlRandom.setSeed(chunkSeed);
            generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
        }
    }
    ((net.minecraft.world.WorldServer)world).theChunkProviderServer.loadChunkOnProvideRequest = before; // reset
    // Cauldron end
}
 
開發者ID:xtrafrancyz,項目名稱:Cauldron,代碼行數:45,代碼來源:GameRegistry.java

示例10: generateWorld

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
 * call this
 *
 * @param chunkX
 * @param chunkZ
 * @param world
 * @param chunkGenerator
 * @param chunkProvider
 */
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
    long worldSeed = world.func_72905_C();
    Random fmlRandom = new Random(worldSeed);
    long xSeed = fmlRandom.nextLong() >> 2 + 1L;
    long zSeed = fmlRandom.nextLong() >> 2 + 1L;
    long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;

    for (IWorldGenerator generator : worldGenerators)
    {
        fmlRandom.setSeed(chunkSeed);
        generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
    }
}
 
開發者ID:HATB0T,項目名稱:RuneCraftery,代碼行數:25,代碼來源:GameRegistry.java

示例11: generateWorld

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
/**
 * Callback hook for world gen - if your mod wishes to add extra mod related generation to the world
 * call this
 *
 * @param chunkX
 * @param chunkZ
 * @param world
 * @param chunkGenerator
 * @param chunkProvider
 */
public static void generateWorld(int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
{
    long worldSeed = world.getSeed();
    Random fmlRandom = new Random(worldSeed);
    long xSeed = fmlRandom.nextLong() >> 2 + 1L;
    long zSeed = fmlRandom.nextLong() >> 2 + 1L;
    long chunkSeed = (xSeed * chunkX + zSeed * chunkZ) ^ worldSeed;

    for (IWorldGenerator generator : worldGenerators)
    {
        fmlRandom.setSeed(chunkSeed);
        generator.generate(fmlRandom, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
    }
}
 
開發者ID:HATB0T,項目名稱:RuneCraftery,代碼行數:25,代碼來源:GameRegistry.java

示例12: register

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
@Override
protected void register(IWorldGenerator value, RegWorldGen anno, String field)
        throws Exception {
    GameRegistry.registerWorldGenerator(value, anno.value());
}
 
開發者ID:LambdaInnovation,項目名稱:LambdaLib,代碼行數:6,代碼來源:WorldGenRegistration.java

示例13: registerWorldGen

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public static void registerWorldGen(IWorldGenerator worldGenClass, int weightedProbability){
	GameRegistry.registerWorldGenerator(worldGenClass, weightedProbability);
}
 
開發者ID:Brandomine,項目名稱:Augury,代碼行數:4,代碼來源:ModWorldGen.java

示例14: getWorldGenerators

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public List<Class<? extends IWorldGenerator>> getWorldGenerators() {
	return worldGens;
}
 
開發者ID:ExtrabiomesXL,項目名稱:EBXS-AutumnWoods,代碼行數:4,代碼來源:AutumnWoods.java

示例15: registerWorldGen

import cpw.mods.fml.common.IWorldGenerator; //導入依賴的package包/類
public static void registerWorldGen(IWorldGenerator worldGenClass, int weightedProbablility)
{
    GameRegistry.registerWorldGenerator(worldGenClass, weightedProbablility);
}
 
開發者ID:phdsteve,項目名稱:roddenberry,代碼行數:5,代碼來源:ModWorld.java


注:本文中的cpw.mods.fml.common.IWorldGenerator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。