[1.6.4]Создание механизма

Интересует тема создания механизма(допустим аналог печи), но практически никакой информации у меня нет о том, как это сделать. Лазил в файл печки, но толком ничего не понял, соответственно ничего и не выудил оттуда.

Если уже были где-то гайды, инструкции по этой теме, поделитесь ссылочкой, или, если не затруднит, описать что к чему, чтобы я хотя бы имел представление об этом)
 
При создании блока-печки, вылезла ошибка на моменте:
Код:
public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5)

{

return Container.func_94526_b((IInventory)par1World.getBlockTileEntity(par2, par3, par4));
Container.func_94526_b - ошибка 'The method func_94526_b(IInventory) is undefined for the type Container'
Я так полагаю это связано с разностью версий, туториал на 1.5.1, у меня 1.6.4
Но не могу понять что с ним сделать, на что надо поменять.
 
771
5
Будет, просто компаратор на состояние печки реагировать не будет.
 
Так, столкнулся ещё с несколькими ошибками, а именно:
В классе TileEntityNewFurnace 
Код:
public class TileEntityNewFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventor
net.minecraftforge.common.ISidedInventory - говорит что не может такого быть)


Далее в NewFurnaceRecipes:
Код:
/** The list of smelting results. */

private Map smeltingList = new HashMap();

private Map experienceList = new HashMap();

private HashMap, ItemStack> metaSmeltingList = new HashMap, ItemStack>();

private HashMap, Float> metaExperience = new HashMap, Float>();
Здесь на запятые ругается.

Код:
public Map, ItemStack> getMetaSmeltingList()
А тут и на запятую, и на сам getMetaSmeltingList()
 
2,955
12
public class TileEntityNewFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventory
Что это за идиотизм?
2. А это? Ты не накосячил случайно? Разве там должны быть запятые? А не < ?
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
Dragon2488 написал(а):
public class TileEntityNewFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventory
Что это за идиотизм?
2. А это? Ты не накосячил случайно? Разве там должны быть запятые? А не < ?
Это не идиотизм, а старый туториал.
 
1. Исправил)
2. если вместо запятых проставить < То выдаёт "Incorrect number of arguments for type HashMap<K,V>; it cannot be parameterized with arguments <Float>"

3. Не подходит, не полный код скопипастил)
Код:
public Map, ItemStack> getMetaSmeltingList()

{

return smeltingList;

}
 
771
5
Так ты это, глянь какой у тебя [font=monospace, sans-serif]smeltingList.[/font]
Код:
public Map<ItemStack, Float> getMetaSmeltingList(){ 
    return smeltingList;
}
 
Осталось только вот это:
Код:
private HashMap<ItemStack, metaSmeltingList> = new HashMap<ItemStack>();

private HashMap<Float, metaExperience> = new HashMap<Float>();
Тут всё равно ругается на >  но не говорит что конкретно)
 
Код:
private HashMap<ItemStack> metaSmeltingList = new HashMap<ItemStack>();
private HashMap<Float> metaExperience = new HashMap<Float>();
 
Dimansel написал(а):
Код:
private HashMap<ItemStack> metaSmeltingList = new HashMap<ItemStack>();
private HashMap<Float> metaExperience = new HashMap<Float>();
Это я тоже пробовал, выдаёт:
Incorrect number of arguments for type HashMap<K,V>; it cannot be parameterized with arguments <ItemStack>
 
771
5
Ребят, Map - это ключ/значение. 
Вы туда никак один параметр не засунете.
 
f1rSt1k написал(а):
Ребят, Map - это ключ/значение. 
Вы туда никак один параметр не засунете.
Это в общем-то понятно из лога об ошибке, мне не понятно какое значение в данном случае нужно присвоить
 
Вопрос всё ещё актуален, какое значение можно приписать к HashMap?
[merge_posts_bbcode]Добавлено: 03.05.2014 15:37:15[/merge_posts_bbcode]

Подсмотрел в соседней теме)
Получается так:

Код:
    private HashMap<List<Integer>, ItemStack> metaSmeltingList = new HashMap<List<Integer>, ItemStack>();
    private HashMap<List<Integer>, Float> metaExperience = new HashMap<List<Integer>, Float>();

[merge_posts_bbcode]Добавлено: 03.05.2014 15:46:41[/merge_posts_bbcode]

Далее, думаю это последний эррор из копипасты кода, с которым я не разобрался. Путь к Gui
Код:
this.mc.renderEngine.bindTexture("/gui/furnace.png")
Этот указан в туторе. Ошибка что мол аргумент(String) не может быть, должно быть ResourseLocation, что конкретно указать, мне не ясно.
 
771
5
Укажи new ResourceLocation("MODID", "textures/gui/furnace.png");
 
Спасибо, помогло. Но вопрос оказался не последний))
В главном файле:
Код:
public static final Block newFurnaceIdle = (new BlockNewFurnace(3100, false)).setHardness(3.5F).setUnlocalizedName("newfurnace").setCreativeTab(CreativeTabs.tabDecorations);
    public static final Block newFurnaceActive = (new BlockNewFurnace(3101, true)).setHardness(3.5F).setLightValue(0.875F).setUnlocalizedName("newfurnace");
"The constructor BlockNewFurnace(int, boolean) is not visible"
 
Сверху