Регистрация

Сообщения
149
Лучшие ответы
1
Реакции
1
Версия Minecraft
1.7.10
Видел что то такое же, но не придал значение пока сам не увидел что столкнулся с такой же ошибкой.
В общем есть несколько предметов, а регистрируются как последний зарегистрированный.
Вот отрывок кода:
Java:
@EventHandler
    public void PreInit(FMLPreInitializationEvent event) {
        invise = new BlockInvisible(4000);
        
        gun_bullet2 = new ItemAmmo(2000, "gun_bullet2");
        gun_bullet4 = new ItemAmmo(2001, "gun_bullet4");
        
        vepr = new ItemWeapon(5001, 0, 0, false, 0, 0, 1, false, 4, 5, "vepr", null, 3);
        fn2000 = new ItemWeapon(5002, 0.3F, 30, true, 1F, 1F, 1, false, 4, 5, "fn2000", "heavyShoot", 3);
        svd = new ItemWeapon(5003, 0, 0, false, 0, 0, 1, false, 2, 5, "svd", null, 3);
        pkp = new ItemWeapon(5004, 0, 0, false, 0, 0, 1, false, 10, 6, "pkp", null, 3);
        
        sproxy.preInit();
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event) {
        GameRegistry.registerItem(gun_bullet2, "gun_bullet2");
        LanguageRegistry.instance().addNameForObject(gun_bullet2, "ru_RU", "Automat Ammo");
        GameRegistry.registerItem(gun_bullet4, "gun_bullet4");
        LanguageRegistry.instance().addNameForObject(gun_bullet4, "ru_RU", "Pulemet Ammo");
        GameRegistry.registerItem(fn2000, "fn2000");
        LanguageRegistry.instance().addNameForObject(fn2000, "ru_RU", "Automat Rifle FN2000");
        GameRegistry.registerItem(vepr, "vepr");
        LanguageRegistry.instance().addNameForObject(vepr, "ru_RU", "Automat Karabin Vepr");
        GameRegistry.registerItem(svd, "SVD");
        LanguageRegistry.instance().addNameForObject(svd, "ru_RU", "Sniper Rifle Dragunov");
        GameRegistry.registerItem(pkp, "PKP");
        LanguageRegistry.instance().addNameForObject(pkp, "ru_RU", "PKP");
        ...
    }
И все эти предметы называются PKP и мне этого не надо
 

Ivasik

Porting GrandBombaster
Администратор
Сообщения
2,825
Лучшие ответы
76
Реакции
298
Во первых, в 1.7 нет необходимость использовать LanguageRegistry.
Во вторых, не надо в преИните устанавливать переменной новый объект класса.
В-третьих, название какое? То что при наведении или то, что после modid:yourItemName

Скорее всего при наведении, просто создай ru_RU.lang и пропиши все, что тебе нужно. Пример:
#Блок
tile.yourCustomBlock.name=Мой кастомный блок

#Предмет
item.yourCustomItem.name=Мой кастомный предмет
 
Сообщения
149
Лучшие ответы
1
Реакции
1
А, да кстати у меня локализация не работает :b
Все итемы item.null.name называются
Путь до него src\main\resources\assets\coolmyfolken\lang\ru_RU.lang
Screenshot_28.png
Кодировка UTF-8 БЕЗ BON
Переменные:
Screenshot_29.png
 

Ivasik

Porting GrandBombaster
Администратор
Сообщения
2,825
Лучшие ответы
76
Реакции
298
В предметах setUnlocalizedName?
 
Сообщения
149
Лучшие ответы
1
Реакции
1
Его обязательно что-ли писать..

Теперь названия выглядят вот так
Screenshot_30.png
 
Последнее редактирование:
Сообщения
149
Лучшие ответы
1
Реакции
1
Screenshot_31.png
 
Сообщения
698
Лучшие ответы
13
Реакции
153
Поменяй кодировку ru_ru.lang на UTF8 без BOM. Например через notepad или другой текстовый редактор.
 
Сообщения
149
Лучшие ответы
1
Реакции
1
Уже
Я же писал
 
Сообщения
698
Лучшие ответы
13
Реакции
153
Эмм.. Ну такое просто бывает когда с кодировкой проблемы. Попробуй создать новый файл, и название ему дай маленькими буквами.
 
Сообщения
1,952
Лучшие ответы
65
Реакции
184
Щас бы в предметы немочь...
Java:
public class ItemPattern extends Item {
    public ItemPattern(String modid, String name, CreativeTabs tab, int stackSize) {
        this.setCreativeTab(tab);
        this.setMaxStackSize(stackSize);
        this.setTextureName(modid + ":" + name);
        this.setUnlocalizedName(name);
    }
}

// preInit:
myItem = new ItemPattern("ModID", "MyItem", myCreativeTab, 16);
GameRegistry.registerItem(myItem, myItem.getUnlocalizedName().substring(5));
ВСЕ названия пиши на англе, потом в ru_RU.lang локализуй. Кодировку выше назвали, UTF-8 w/o BOM
 
Сообщения
149
Лучшие ответы
1
Реакции
1
Да все уже сделано.
 
Сверху