Свой мод помогите с ошибкой

53
1
На днях делал мод всё было норм но возникла ошибка при запуске майнкрафта в Eclipse все норм запустилось до меню где написано одиночная игра и сетевая игра а при начало генерирования карты в одиночной игре вылетает майнкрафт с ошибкой: AL lib: (EE) alc_cleanup: 1 device not closed
Помогите при убирании строчки GameRegistry.registerWorldGenerator(paladiym, 0); в Главном Классе Main всё работает тока руда не генерируется а при вставке строчку обратно не работает мир. Скинул 3 класса Main, paladii, paladiym. Пожалуйста помогите кто может!!!
Суть в том что не могу чтобы руда генерировалась.
Main - Главный класс мода.
paladii - Блок который должен генерироваться на заданной высоте.
paladiym - Генератор блока paladii.
P.S Установлена специальная генерация чтобы он входил в зону видимости, а потом уже высоту поменяю на более приемлемую.
 

timaxa007

Модератор
5,831
409
672
vites написал(а):
Скинул 3 класса Main, paladii, paladiym.
Куда скинул?
---
vites написал(а):
в одиночной игре вылетает майнкрафт с ошибкой: AL lib: (EE) alc_cleanup: 1 device not closed
Это ошибка, из-за неё не должна вылетать игра.
 
667
7
2
P.s Используй это:
c73f155684d6692a71528309c3de2664.jpg
 
53
1
спасибо сейчас кину
[merge_posts_bbcode]Добавлено: 27.07.2016 23:10:22[/merge_posts_bbcode]

Main
Код:
package com.vitek.manual;

import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.BlockOre;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

@Mod (modid = "Main", name = "LaikTech", version = "0.1")

public class Main 
{ 
 
 
 @Instance("Main")
 public static Main instance;
 @SidedProxy(clientSide = "com.vitek.manual.ClientProxy", serverSide = "com.vitek.manual.CommonProxy")
 public static CommonProxy proxy;

 public static Block Tech;
 public static Item swen;
 public static Item swordla;
    public static Item Blood;
    
    public static IWorldGenerator paladiym;
    
    public static Block paladii;
    
 

 public static Item laikarmorhelmet;
 public static Item laikarmorplate;
 public static Item laikarmorpants;
 public static Item laikarmorboots;
 
 @EventHandler
 public void preLoad(FMLPreInitializationEvent event)
 {
 registerEntity(HydraEntityBoss.class, "HydraBoss", 0x00FFFF, 0x00008B);
 proxy.registerRenderers();
 
 
 /**Руда Паладий**/
 paladii = new paladii();
 GameRegistry.registerBlock(paladii, "paladii");
 GameRegistry.registerWorldGenerator(paladiym, 0);
 

 /**Блок**/
     Tech = new Tech();
     
     GameRegistry.registerBlock(Tech, "Tech");
     
        /** Кирка **/
     swen = new swen().setUnlocalizedName("swen");
     
     GameRegistry.registerItem(swen, "swen");
   
        /** Меч **/
     swordla = new Swordla().setUnlocalizedName("swordla");
     
     GameRegistry.registerItem(swordla, "swordla");
     
     /** Предмет Blood**/
     Blood = new Blood().setUnlocalizedName("Blood");
     
     GameRegistry.registerItem(Blood, "Blood");
     
     /** Крафт меча **/
     GameRegistry.addRecipe(new ItemStack(Main.swordla, 1), 
                new Object[]{ "123", "XYZ", "456",
                ('2'), Main.Blood, ('Y'), Main.Blood, ('5'), Blocks.obsidian});
     /**Крафт кирки**/
     GameRegistry.addRecipe(new ItemStack(Main.swen, 1), 
                new Object[]{ "###", "XYX", "123",
                ('#'), Main.Blood, ('Y'), Blocks.obsidian, ('2'), Items.diamond});

     
     /**Броня**/
     laikarmorhelmet = new HydraArmor(0, 0).setUnlocalizedName("HelmetHydra").setTextureName("Tech:HydraHelmet");
     laikarmorplate = new HydraArmor(0, 1).setUnlocalizedName("HydraBreastPlate").setTextureName("Tech:HydraBreastPlate");
     laikarmorpants = new HydraArmor(0, 2).setUnlocalizedName("PantsHydra").setTextureName("Tech:PantsHydra");
     laikarmorboots = new HydraArmor(0, 3).setUnlocalizedName("BootsHydra").setTextureName("Tech:BootsHydra");
     
     GameRegistry.registerItem(laikarmorhelmet, "HelmetHydra");
     GameRegistry.registerItem(laikarmorplate, "HydraBreastPlate");
     GameRegistry.registerItem(laikarmorpants, "PantsHydra");
     GameRegistry.registerItem(laikarmorboots, "BootsHydra"); 
 
 }
 
 public static void registerEntity(Class entityClass, String name, int primaryColor, int secondaryColor) 
 {
     int entityID = EntityRegistry.findGlobalUniqueEntityId();
     long seed = name.hashCode();

     EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
     EntityRegistry.registerModEntity(entityClass, name, entityID, instance, 64, 1, true);
     EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID,         primaryColor, secondaryColor)); 
 
     
 
 }
 
 
 
}



paladii
Код:
package com.vitek.manual;

import net.minecraft.block.Block;
import net.minecraft.block.BlockOre;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenMinable;

public class paladii extends Block 
{
 protected paladii()
 {
 super(Material.rock);
 this.setBlockName("paladii");
 this.setCreativeTab(CreativeTabs.tabBlock);
        this.setHardness(7F);
        this.setResistance(10F);
        this.setHarvestLevel("pickaxe", 1);
        this.setLightLevel(15F);
        this.setBlockTextureName("paladii:paladii");
        
 }
}



paladiym
Код:
package com.vitek.manual;

import java.util.Random;

import cpw.mods.fml.common.IWorldGenerator;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable;

public class paladiym implements IWorldGenerator
{
 @Override
    public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator,
            IChunkProvider chunkProvider)
    {
            switch(world.provider.dimensionId)
            {
                    case -1: generateNether(world, random, chunkX * 16, chunkZ * 16); break;
                    case 0: generateOverworld(world, random, chunkX * 16, chunkZ * 16); break;
                    case 1: generateEnd(world, random, chunkX * 16, chunkZ * 16); break;
            }
    }

    private void generateEnd(World world, Random random, int x, int z) 
    {
    int Xcoord = x + random.nextInt(16);
    int Ycoord = 10 + random.nextInt(128);
    int Zcoord = z + random.nextInt(16);
    
    (new WorldGenMinable(Main.paladii, 1, 15, Blocks.end_stone)).generate(world, random, Xcoord, Ycoord, Zcoord);
    }

    private void generateOverworld(World world, Random random, int x, int z) 
    {
            this.addOreSpawn(Main.paladii, world, random, x, z, 16, 16, 4 + random.nextInt(3), 10, 15, 50);
    }

    private void generateNether(World world, Random random, int x, int z)
    {
    int Xcoord = x + random.nextInt(16);

    int Ycoord = 10 + random.nextInt(128);

    int Zcoord = z + random.nextInt(16);

    (new WorldGenMinable(Main.paladii, 1, 15, Blocks.netherrack)).generate(world, random, Xcoord, Ycoord, Zcoord);
    }
    
    public void addOreSpawn(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ,
            int maxVeinSize, int chancesToSpawn, int minY, int maxY)
    {
            int maxPossY = minY + (maxY - 1);
            assert maxY > minY : "Максимальная Y должна быть больше минимальной";
            assert maxX > 1 && maxX <= 16 : "addOreSpawn: Максимальная X должна быть больше 0 и меньше 16";
            assert minY > 1 : "addOreSpawn: Минимальная Y должна быть больше 0";
            assert maxY < 256 && maxY > 1 : "addOreSpawn: Максимальная Y должна быть меньше 256 и больше 0";
            assert maxZ > 1 && maxZ <= 16 : "addOreSpawn: Максимальная Z должна быть больше 0 и меньше 16";

            int diffBtwnMinMaxY = maxY - minY;
            for (int x = 0; x < chancesToSpawn; x++)
            {
                    int posX = blockXPos + random.nextInt(maxX);
                    int posY = minY + random.nextInt(diffBtwnMinMaxY);
                    int posZ = blockZPos + random.nextInt(maxZ);
                    (new WorldGenMinable(block, maxVeinSize)).generate(world, random, posX, posY, posZ);
            }
    }

 
}

Суть в том что я хочу чтоб блок генерировался, а вместо этого игра вылетает.
 
667
7
2
У тебя так в самом моде и написано?
Код:
            assert maxY > minY : "Максимальная Y должна быть больше минимальной";
            assert maxX > 1 && maxX <= 16 : "addOreSpawn: Максимальная X должна быть больше 0 и меньше 16";
            assert minY > 1 : "addOreSpawn: Минимальная Y должна быть больше 0";
            assert maxY < 256 && maxY > 1 : "addOreSpawn: Максимальная Y должна быть меньше 256 и больше 0";
            assert maxZ > 1 && maxZ <= 16 : "addOreSpawn: Максимальная Z должна быть больше 0 и меньше 16";
 
Сверху