Помощь по проекту

Ребят я начинаю создание своего проекта но нифига не шарю в кодерстве. Прошу помочь=)
[merge_posts_bbcode]Добавлено: 29.12.2015 21:50:52[/merge_posts_bbcode]

Можно ли сделать несколько предметов в 1 классе а не создавая для каждого?
 
769
1
42
Да
вот так
Код:
package fb.futurebuilder.core.Items;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import fb.futurebuilder.core.client.FutureBuilder;

import java.util.List;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;

public class FBItem extends Item {

   public static final String[] names = new String[]{"Tar"};
   protected Icon[] icons;

   public FBItem(int par1) {
      super(par1);
      this.icons = new Icon[names.length];
      this.setHasSubtypes(true);
   }

   public CreativeTabs getCreativeTab() {
      return FutureBuilder.FutBuiItems;
   }

   @SideOnly(Side.CLIENT)
   public void registerIcons(IconRegister iconRegister) {
      int i = 0;
      String[] arr$ = names;
      int len$ = arr$.length;

      for(int i$ = 0; i$ < len$; ++i$) {
         String name = arr$[i$];
         this.icons[i++] = iconRegister.registerIcon("fbuilder/futurebuilder:item." + name);
      }

   }

   public String getUnlocalizedName(ItemStack itemStack) {
          return "item.fbitems." + names[itemStack.getItemDamage()];
       }

   public Icon getIconFromDamage(int damage) {
      return this.icons.length > damage?this.icons[damage]:super.getIconFromDamage(damage);
   }

   public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) {
      for(int i = 0; i < names.length; ++i) {
         par3List.add(new ItemStack(par1, 1, i));
      }

   }

   public int getMetadata(int par1) {
      return par1;
   }

}
 
769
1
42
Вообщем объясняю
Код:
public static final String[] names = new String[]{"Tar"};

Это имя которое указывается обычно так:
Код:
.setUnlocalizedName("Tar");
То есть это и есть UnlocalizedName


Затем регистрация иконки она идет по имени, которое ты дал
Код:
 public void registerIcons(IconRegister iconRegister) {
      int i = 0;
      String[] arr$ = names;
      int len$ = arr$.length;

      for(int i$ = 0; i$ < len$; ++i$) {
         String name = arr$[i$];
         this.icons[i++] = iconRegister.registerIcon("fbuilder/futurebuilder:item." + name);
      }

   }

Где
Код:
("fbuilder/futurebuilder:item." + name);
Путь до текстуры.
А где item. + name это название твоей текстуры
В данном случае item.Tar.png
 
RonyC написал(а):
Вообщем объясняю
Код:
public static final String[] names = new String[]{"Tar"};

Это имя которое указывается обычно так:
Код:
.setUnlocalizedName("Tar");
То есть это и есть UnlocalizedName


Затем регистрация иконки она идет по имени, которое ты дал
Код:
 public void registerIcons(IconRegister iconRegister) {
      int i = 0;
      String[] arr$ = names;
      int len$ = arr$.length;

      for(int i$ = 0; i$ < len$; ++i$) {
         String name = arr$[i$];
         this.icons[i++] = iconRegister.registerIcon("fbuilder/futurebuilder:item." + name);
      }

   }

Эту часть я вообще понял :D
 
769
1
42
Та же песня с языками. В главном классе пиши это
Код:
public static final String Lang = "путь";
private static final String[] Lang_Supported = new String[]{"en_US"};

Это путь до твоего языкового файла, а второе не трогай.

Потом вот это тоже в главном классе. И опять путь указываешь. где Stal Mine можешь что угодно писать.
Код:
@Init
    public void load (FMLInitializationEvent event)
    {
        System.out.println("Stal Mine Loaded: " + TranslationHelper.loadLanguages("путь", Lang_Supported) + " Languages.");
    }

Только если ты даешь имя уже то, которое будет в игре смотри на эту строку
Код:
public static final String[] names = new String[]{"Tar"};

Затем создаешь свой языковой файл
en_US.properties
И там пишешь так:
item.Tar.name=Смола

Если блок то: 
tile.Asphalt.name=Асфальт
 
Вопщем у меня такая белеберда

@Mod (modid = "StalkerMod", name = "Stalker Minecraft", version = "0.0.1")
@NetworkMod (clientSideRequired = true, serverSideRequired = false)

public class StalkerMod {
public static CreativeTabs tabTest = new TabTest(CreativeTabs.getNextID(),"DangerZone");
public static Item Ammopistol;
public static Item Ammoavtomat;

@Instance ("Ammopistol,")
public static Ammopistol instance;

@Init
public void load(FMLInitializationEvent event)
{
Ammopistol = new Ammopistol(2030).setUnlocalizedName("Ammopistol");
}

{
Ammoavtomat = new Ammoavtomat(2030).setUnlocalizedName("Ammoavtomat");
}

Сам если честно не понял что накалякал =)
 
769
1
42
Короче тут долго объяснять. Завтра напишу, ибо у тебя еще куча вопросов возникнет.
 
А нету в интернете никаких уроков кодерства или что-то на подобии этого?
 
509
2
cool56563 написал(а):
А нету в интернете никаких уроков кодерства или что-то на подобии этого?
Уроки по программированию по Java?
 
Skarlet написал(а):
cool56563 написал(а):
А нету в интернете никаких уроков кодерства или что-то на подобии этого?
Уроки по программированию по Java?
Нет именно по модингу, а то я нифига не пойму где что писать =(
Что-бы объясняли где-что писать.
 

svk

1,185
2
Для этого надо учить java.

В основном добавление прелестей просходит через регистрацию (Через определённые методы), а регистрирующие методы требуют класс с необходимым наследствием. Почти всё упирается в наследстве (Хочешь сделать меч - наследуй класс меча, хочешь блок - класс блока) прочитайте в книгах/статьях по java про это.
 
509
2
cool56563 написал(а):
Skarlet написал(а):
cool56563 написал(а):
А нету в интернете никаких уроков кодерства или что-то на подобии этого?
Уроки по программированию по Java?
Нет именно по модингу, а то я нифига не пойму где что писать =(
Что-бы объясняли где-что писать.
Моддинг - это тоже программирование.
Тебе нужно писать код, а для этого надо хотя бы знать основные понятия - циклы,условия и синтаксис.
А чтобы понимать,что куда писать, нужно уметь читать код, чтобы делать не что-то шаблонно, но и адаптировать под себя.

Я тоже хотела полезть в моддинг без основ, но всё показалось мне слишком сложным, я тогда не думала быть кодером. Да мало того, я даже не понимала,что это программный код. Для меня программирование тогда было 010101.
А потом, после пары лет, когда я постигла основы, я захотела сделать свой мод для своей любимой игры.
Моддинг - это не только создание доп. контент,но и немалый опыт.

Кароч. Учись программировать. Для здоровья вроде не вредно, но зависимость вызвать может :D

P.S. ВСЕХ С НАСТУПАЮЩИМ 2016!
 
Skarlet написал(а):
cool56563 написал(а):
Skarlet написал(а):
cool56563 написал(а):
А нету в интернете никаких уроков кодерства или что-то на подобии этого?
Уроки по программированию по Java?
Нет именно по модингу, а то я нифига не пойму где что писать =(
Что-бы объясняли где-что писать.
Моддинг - это тоже программирование.
Тебе нужно писать код, а для этого надо хотя бы знать основные понятия - циклы,условия и синтаксис.
А чтобы понимать,что куда писать, нужно уметь читать код, чтобы делать не что-то шаблонно, но и адаптировать под себя.

Я тоже хотела полезть в моддинг без основ, но всё показалось мне слишком сложным, я тогда не думала быть кодером. Да мало того, я даже не понимала,что это программный код. Для меня программирование тогда было 010101.
А потом, после пары лет, когда я постигла основы
Ну а можно добиться этого результата онлайн? Прост нашел такой канал http://www.youtube.com/channel/UCdXqgQdGW5go6nkkBbUVSMA (Не реклама) и думаю стоит ли уделить столько времени?
Да да Всех с наступающим!!
 
Вот ругается на new EntityPistolBullet(par2World, par3EntityPlayer, 2.0F);
Не пойму почему. Если создам аргумент то появится еще par3EntityPlayer и нифига работать не будет (Делал по видео CMTV про бластер)
 
Сверху