Как изменить моды для майнкрафт

I an making a LotR advenure map,but I need a ring to use. I figured I would use the invisibiliy ring from the rings mod, but that makes enimies ignore you. I...

  • Search


    • Search all Forums


    • Search this Forum


    • Search this Thread


  • Tools


    • Jump to Forum

  • |<<
  • <
  • >
  • >>|
  • 1
  • 2
  • Next

  • #1

    Nov 19, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I an making a LotR advenure map,but I need a ring to use. I figured I would use the invisibiliy ring from the rings mod, but that makes enimies ignore you. I want all the enimies exept the ringwraiths to ignore me. I am making ringwraiths in a seprate mod, but I need some help. Baisiclyy what I’m asking is how do you edit an already created mod? Help me or I’ll stab you with my sword!! :WSWORD: :steve_rage:

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #2

    Nov 19, 2012

    I don’t help people who threaten me with violence.


  • #4

    Nov 20, 2012


    Plecks


    • View User Profile


    • View Posts


    • Send Message



    View Plecks's Profile

    • The Meaning of Life, the Universe, and Everything.
    • Join Date:

      1/18/2011
    • Posts:

      256
    • Minecraft:

      Plecks
    • Member Details

    JD-GUI is really good for being able to easily decompile and get a look into a compile .class file. The Minecraft stuff will still be obfuscated, but the mod’s code generally won’t be, and you can usually get a good idea on how someone did something. It’s not illegal, but if you just copy someone’s code without their permission it could violate their copyright, and as Tspro said it’s immoral. However, seeing how someone did something, then writing your own code to do something similar is fine.

    You could also work together with the rings mod author, and see if there’s a way you could use his mod as-is, while allowing Ringwraiths to ignore the invisability. That way you bring more traffic to his mod, and don’t have to write the ring/invisibility code yourself.


  • #5

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    Thank you Plecks and Tspro. I think I will try using JD-GUI since I am just 9 :P I don’t have a way of getting in touch with the mod author.
    If the mod is open source i will try looking at that too. Now just for fun I’m gonna light you three on fire. :VV: TEEHEE

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #6

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I downloaded it and it is open source. There is a folder called «source (for modders)».I opened it and there are 2 java files.
    I asked my dad and he said to open them with notepad. I did, but I dont know java :P
    It was gobbledegoop to me.

    So I opened ItemRingInvisible.class in JD-GUI and got gobbledeegoop again. If anyone can help me find what I need that would be nice. This is what I got in JD-GUI.

    import net.minecraft.client.Minecraft;

    public class ItemRingInvisible extends yr
    {
    public ItemRingInvisible(int par1)
    {
    super(par1);
    this.bR = 1;
    }

    public aan a(aan par1ItemStack, xd par2World, yw par3EntityPlayer)
    {
    ModLoader.getMinecraftInstance().h.startRing(«invisibleRing»);
    return par1ItemStack;
    }

    public boolean e(aan par1ItemStack)
    {
    return true;
    }

    public fo f(aan par1ItemStack)
    {
    return fo.d;
    }
    }

    Last edited by smpsh: Nov 20, 2012

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #7

    Nov 20, 2012

    JD-GUI is really good for being able to easily decompile and get a look into a compile .class file. The Minecraft stuff will still be obfuscated, but the mod’s code generally won’t be, and you can usually get a good idea on how someone did something. It’s not illegal, but if you just copy someone’s code without their permission it could violate their copyright, and as Tspro said it’s immoral.

    Change «could» to «definitely would,» unless the mod is open source, as the smpsh said. And if it is open source, you have to follow the terms yourself unless the mod author gives you a special license to do otherwise. Doesn’t appear to be an issue here, but just clarifying for other people who are reading.


  • #8

    Nov 20, 2012


    cikl


    • View User Profile


    • View Posts


    • Send Message



    View cikl's Profile

    • Zombie Killer
    • Join Date:

      9/2/2011
    • Posts:

      159
    • Member Details

    Use eclipse, Its the Modders most favorite Java Editing Program.
    Go to the tutorials section, they may have some info there.
    Also, class files dont help you need the Raw java files to edit the mob’s Entity files.
    If you dont know any coding, I wouldn’t bother doing this If I were you, request someone to do it…
    Its not «Gobldegoop» its Java coding…It may look like Just a bunch of Numbers, Letters, and brackets to you but to a coders eye that’s like a language…

    Hope I helped!

    Last edited by cikl: Nov 20, 2012


  • #9

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    cikl I will try eclipse, thanks

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #11

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #12

    Nov 20, 2012

    What are your questions? Maybe I can help you with it?


  • #13

    Nov 21, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    You know what, I think Ill just get some help. Will anyone help me make this mod?

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #14

    Nov 21, 2012

    I will. That is what I’m offering I have been coding for a while now. I cant make huge mods like Divine RPG and such but I can make a mod That people enjoy. So PM me and we can talk about what to do.


  • #15

    Nov 21, 2012


    sdj64


    • View User Profile


    • View Posts


    • Send Message



    View sdj64's Profile

    • Zombie Killer
    • Join Date:

      8/9/2011
    • Posts:

      207
    • Member Details

    source files are .java, the .class files are the compiled code, they’re not meant to be readable. Like the people above said, you can use JD-GUI or something else to decompile but that would violate the mod owner’s copyright.

    If you downloaded MCP and Eclipse and followed those instructions, take a look at the Enderman’s source file (EntityEnderman.java), specifically the method shouldAttackPlayer. You can change the block id from «pumpkin» to whatever id your ring is. Hope this helps!


  • #16

    Nov 21, 2012

    So PM me if you are still interested in me helping you create a simple/moderate skill level mod.


  • #17

    Nov 21, 2012

    *facepalm*
    If you don’t know java, why would you ask about editing an already existing mod? Plus, just because a mod is open-source does not mean you can use the code exactly or even the texture. Look at how to do basic coding and learn actual java before you go and try to learn to mod, because that’s much harder and more annoying to do. For your original question, just decompile minecraft using MCP and find the potion of invisibility, and look how that works.


  • #18

    Nov 21, 2012

    Char I know that is why i offered to help him.


  • #19

    Nov 21, 2012

    Still, try to learn java so that you at least have a basis of understanding instead of just asking people to make you something. ;) OP, understand that you do need the mod author’s permission in order to publish the mod, even if it is open source; if you use the texture and the code, you must acknowledge that it is the author’s original note. :)


  • #20

    Nov 21, 2012

    Yes that is true but when I said help him I’m implying we will start from scratch so he can learn how java works. Also Perfect Circles Exist.


  • #21

    Nov 21, 2012

  • To post a comment, please login.
  • 1
  • 2
  • Next
  • |<<
  • <
  • >
  • >>|

Posts Quoted:

Reply

Clear All Quotes



  • Search


    • Search all Forums


    • Search this Forum


    • Search this Thread


  • Tools


    • Jump to Forum

  • |<<
  • <
  • >
  • >>|
  • 1
  • 2
  • Next

  • #1

    Nov 19, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I an making a LotR advenure map,but I need a ring to use. I figured I would use the invisibiliy ring from the rings mod, but that makes enimies ignore you. I want all the enimies exept the ringwraiths to ignore me. I am making ringwraiths in a seprate mod, but I need some help. Baisiclyy what I’m asking is how do you edit an already created mod? Help me or I’ll stab you with my sword!! :WSWORD: :steve_rage:

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #2

    Nov 19, 2012

    I don’t help people who threaten me with violence.


  • #4

    Nov 20, 2012


    Plecks


    • View User Profile


    • View Posts


    • Send Message



    View Plecks's Profile

    • The Meaning of Life, the Universe, and Everything.
    • Join Date:

      1/18/2011
    • Posts:

      256
    • Minecraft:

      Plecks
    • Member Details

    JD-GUI is really good for being able to easily decompile and get a look into a compile .class file. The Minecraft stuff will still be obfuscated, but the mod’s code generally won’t be, and you can usually get a good idea on how someone did something. It’s not illegal, but if you just copy someone’s code without their permission it could violate their copyright, and as Tspro said it’s immoral. However, seeing how someone did something, then writing your own code to do something similar is fine.

    You could also work together with the rings mod author, and see if there’s a way you could use his mod as-is, while allowing Ringwraiths to ignore the invisability. That way you bring more traffic to his mod, and don’t have to write the ring/invisibility code yourself.


  • #5

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    Thank you Plecks and Tspro. I think I will try using JD-GUI since I am just 9 :P I don’t have a way of getting in touch with the mod author.
    If the mod is open source i will try looking at that too. Now just for fun I’m gonna light you three on fire. :VV: TEEHEE

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #6

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I downloaded it and it is open source. There is a folder called «source (for modders)».I opened it and there are 2 java files.
    I asked my dad and he said to open them with notepad. I did, but I dont know java :P
    It was gobbledegoop to me.

    So I opened ItemRingInvisible.class in JD-GUI and got gobbledeegoop again. If anyone can help me find what I need that would be nice. This is what I got in JD-GUI.

    import net.minecraft.client.Minecraft;

    public class ItemRingInvisible extends yr
    {
    public ItemRingInvisible(int par1)
    {
    super(par1);
    this.bR = 1;
    }

    public aan a(aan par1ItemStack, xd par2World, yw par3EntityPlayer)
    {
    ModLoader.getMinecraftInstance().h.startRing(«invisibleRing»);
    return par1ItemStack;
    }

    public boolean e(aan par1ItemStack)
    {
    return true;
    }

    public fo f(aan par1ItemStack)
    {
    return fo.d;
    }
    }

    Last edited by smpsh: Nov 20, 2012

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #7

    Nov 20, 2012

    JD-GUI is really good for being able to easily decompile and get a look into a compile .class file. The Minecraft stuff will still be obfuscated, but the mod’s code generally won’t be, and you can usually get a good idea on how someone did something. It’s not illegal, but if you just copy someone’s code without their permission it could violate their copyright, and as Tspro said it’s immoral.

    Change «could» to «definitely would,» unless the mod is open source, as the smpsh said. And if it is open source, you have to follow the terms yourself unless the mod author gives you a special license to do otherwise. Doesn’t appear to be an issue here, but just clarifying for other people who are reading.


  • #8

    Nov 20, 2012


    cikl


    • View User Profile


    • View Posts


    • Send Message



    View cikl's Profile

    • Zombie Killer
    • Join Date:

      9/2/2011
    • Posts:

      159
    • Member Details

    Use eclipse, Its the Modders most favorite Java Editing Program.
    Go to the tutorials section, they may have some info there.
    Also, class files dont help you need the Raw java files to edit the mob’s Entity files.
    If you dont know any coding, I wouldn’t bother doing this If I were you, request someone to do it…
    Its not «Gobldegoop» its Java coding…It may look like Just a bunch of Numbers, Letters, and brackets to you but to a coders eye that’s like a language…

    Hope I helped!

    Last edited by cikl: Nov 20, 2012


  • #9

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    cikl I will try eclipse, thanks

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #11

    Nov 20, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #12

    Nov 20, 2012

    What are your questions? Maybe I can help you with it?


  • #13

    Nov 21, 2012


    smpsh


    • View User Profile


    • View Posts


    • Send Message



    View smpsh's Profile

    • Tree Puncher
    • Location:

      not telling
    • Join Date:

      11/20/2012
    • Posts:

      25
    • Minecraft:

      smpsh
    • Xbox:

      Dont have one
    • Member Details

    You know what, I think Ill just get some help. Will anyone help me make this mod?

    I reject your reality and substitute my own. Adam Savage, Mythbuster.


  • #14

    Nov 21, 2012

    I will. That is what I’m offering I have been coding for a while now. I cant make huge mods like Divine RPG and such but I can make a mod That people enjoy. So PM me and we can talk about what to do.


  • #15

    Nov 21, 2012


    sdj64


    • View User Profile


    • View Posts


    • Send Message



    View sdj64's Profile

    • Zombie Killer
    • Join Date:

      8/9/2011
    • Posts:

      207
    • Member Details

    source files are .java, the .class files are the compiled code, they’re not meant to be readable. Like the people above said, you can use JD-GUI or something else to decompile but that would violate the mod owner’s copyright.

    If you downloaded MCP and Eclipse and followed those instructions, take a look at the Enderman’s source file (EntityEnderman.java), specifically the method shouldAttackPlayer. You can change the block id from «pumpkin» to whatever id your ring is. Hope this helps!


  • #16

    Nov 21, 2012

    So PM me if you are still interested in me helping you create a simple/moderate skill level mod.


  • #17

    Nov 21, 2012

    *facepalm*
    If you don’t know java, why would you ask about editing an already existing mod? Plus, just because a mod is open-source does not mean you can use the code exactly or even the texture. Look at how to do basic coding and learn actual java before you go and try to learn to mod, because that’s much harder and more annoying to do. For your original question, just decompile minecraft using MCP and find the potion of invisibility, and look how that works.


  • #18

    Nov 21, 2012

    Char I know that is why i offered to help him.


  • #19

    Nov 21, 2012

    Still, try to learn java so that you at least have a basis of understanding instead of just asking people to make you something. ;) OP, understand that you do need the mod author’s permission in order to publish the mod, even if it is open source; if you use the texture and the code, you must acknowledge that it is the author’s original note. :)


  • #20

    Nov 21, 2012

    Yes that is true but when I said help him I’m implying we will start from scratch so he can learn how java works. Also Perfect Circles Exist.


  • #21

    Nov 21, 2012

  • To post a comment, please login.
  • 1
  • 2
  • Next
  • |<<
  • <
  • >
  • >>|

Posts Quoted:

Reply

Clear All Quotes


Здесь представлены основные уроки по созданию модификаций с помощью Forge/1.7+. Остальную информацию по данной теме смотрите в соответствующей статье.

Локализация названий в игре

Собственно у нас есть некоторые предметы, блоки, а возможно даже кнопки, существа и надписи из нашего мода, называющиеся в инвентаре примерно так: item.block.name Естественно это нас не устраивает, и это можно исправить, даже не внося изменений в код!

Итак, приступим. Слева, в src/main/resources создайте пакет assets.mybestmod.lang Понятно, что mybestmod — это краткое имя мода(или modid), указанное в @Mod. Теперь где угодно создайте файл(создайте текстовой, а затем измените расширение) en_US.lang (где будут написаны английские название блоков, предметов и т. д.) и пропишите в нём то, что вы видите вместо названия в инвентаре (в случае нашего первого блока — tile.bestblockever.name), затем равно, и прямо за ним — ваше локализированное название, например: «Best Block EvAR!». То есть должно получиться:

tile.bestblockever.name=Best Block EvAR!

Теперь скопируйте файл, и назовите копию ru_RU.lang (собственно русский перевод). Внутри него измените название на русское, например

tile.bestblockever.name=Самый лучший блок!! =P

Теперь оба этих файла можете перетащить в заранее созданную assets.mybestmod.lang При переносе выберите Copy files.

Чтобы локализировать вкладки в режиме творчество добавьте такой код:

itemGroup.tabTutorial=Локализированое имя

tabTutorial — Название вашей вкладки

Вот и всё! Локализация завершена, теперь в игре будут отображаться выбранные вами названия.

Подобных названий можно вписывать сколько угодно, главное в столбик.

Скорее всего в игре русское название будет выглядеть вопросами! Это всё из-за кодировки. Исправить это можно зайдя в eclipse вкладку windowpreferencesgeneral и просто нажмите на workspace и внизу найдите text file encoding и поставьте на other и там выберите UTF-8. Всё! теперь у нас нормальный русский язык!

Дроп определённого предмета при разрушении блока

Всё очень просто. В конец класса созданного вами блока (перед последней фигурной скобкой) вставьте это:

@Override
public Item getItemDropped(int par1, Random par2Random, int par3)
{
  return Items.diamond;
}

То есть теперь при разрушении вашего блока из него выпадет алмаз. Вы можете написать, чтоб выпадало что угодно. Просто вместо
return Items.diamond; напишите «return Item.getItemFromBlock(Blocks.);» (для блоков) или «return Items.;» (для предметов), а после ввода вами точки выпадет список возможных предметов или блоков.

Если хотите, чтоб выпадал не один предмет, а несколько, просто вставьте сразу после предыдущих строк

@Override
public int quantityDropped(Random par1Random)
{
  return 20;
}

Тогда при разрушении выпадет 20 выбранных вами предметов или блоков.
Всё очень легко и просто!

Разносторонняя текстура блока

Я буду использовать следующие текстуры:
Нижняя сторона Верхняя сторона Северная часть Южная часть Западная часть Восточная часть

Для этого, добавьте такой код в тело класса:

public IIcon[] icons = new IIcon[6];

И такой после конструктора класса:

@Override
public void registerBlockIcons(IIconRegister reg) {
  for (int i = 0; i < 6; i ++) {
    this.icons[i] = reg.registerIcon(this.textureName + "_" + i);
  }
}

Теперь в папку assets/ID мода/resources/textures/blocks/ добавьте файлы с таким именем: <То, что вы указали в скобках в конструкторе класса, в методе this.setBlockTextureName()>_<код стороны блока>

И ещё такой код:

@Override
public IIcon getIcon(int side, int meta) {
  return this.icons[side];
}

В игре блок будет выглядеть так:

  • Блок с разностороней текстурой в игре.jpg

  • Блок с Разносторонней текстурой (Вид сзади).jpg

Важно то, что текстура северной и восточной (2 и 5) части блока отображается зеркально. Если вы не поняли, то поставьте блок ТНТ и посмотрите на части, где написано TNT. С одной стороны написано «TNT», а с другой — «ТИТ».

Собственная вкладка в Творческом режиме

Для этого добавьте такой код в тело класса:

public static CreativeTabs tabTutorial = new TabTutorial("ModID");

«ModID» заменяем на любое число. Рекомендую ID больше 11 (12 ID сразу на следующей странице творческого инвентаря).

Потом создайте класс TutorialTab. Если всё правильно, то ваш класс будет иметь extends CreativeTabs до первой фигурной скобки. Теперь добавьте этот метод в ново-созданный класс:

public TabTutorial(String lable) {
  super(lable);
}

@Override
public Item getTabIconItem()
{
  return Item.getItemFromBlock(Blocks.grass);
}

Теперь заходите в игру. Вы увидите свою вкладку во втором списке вкладок, её «символом» будет блок дёрна. Если вам хочется, чтобы «символом» был предмет, то вместо Blocks. напишите Items.предмет . Если вы хотите, чтобы «символом» был ваш блок или предмет, то напишите BestMod.bestBlockEver . BestMod — главный файл вашего мода. bestBlockEver — ваш блок/предмет.

Для того что бы добавить что либо из вашего мода в собственную вкладку пишем:

this.setCreativeTab(НазваниеГлавногоКласса.НазваниеВашейВкладки);

Собственная вкладка в креативе.png

Чтобы обновить версию Forge, на который вы создаёте моды, необязательно всё перекачивать.

Достаточно просто изменить build.gradle Так что если хотите обновить Forge откройте его любым редактором и найдите строчку

version = "1.7.2-10.12.0.998"

Там будет написана версия Forge, которая у вас сейчас, соответственно вам нужно всего лишь изменить значение на новое. Измените его на версию, до которой хотите обновить Forge (например на 1.7.2-10.12.0.1012) и сохраните файл. Далее запустите gradlew.bat с командой eclipse (то есть запустить bat-файл с кодом gradlew.bat eclipse) и после завершения его работы ваша версия Forge обновлена!

Обновление ForgeGradle

Forge отделён от ForgeGradle, поэтому если вы попытаетесь обновиться на версию Forge, которая использует более новой ForgeGradle, вы получите ошибки. Вот таблица версия Forge, и какие версии ForgeGradle он использует.

ForgeGradle Forge
959<, 965
1.0 960-964
1.1 967-1047
1.2 1048+

Удалите папку .gradle, которая находится в папке, куда вы разархивировали Forge.
Теперь, откройте файл build.gradle (который находится там же). Найдите такую строку:

dependencies {
  classpath 'net.minecraftforge.gradle:ForgeGradle:1.x-SNAPSHOT'
}

В 1.x-SNAPSHOT, поменяйте 1.x на нужную версию ForgeGradle. Сохраните файл и откройте командную строку. Повторно введите команды, которые вы использовали при установке Forge. ForgeGradle обновит все нужные файлы.

Свой материал для инструмента

Допустим вы хотите, чтобы ваш инструмент обладал свойствами не железной/алмазной кирок из майнкрафта, а собственными.

Тогда где-нибудь(вы можете где угодно написать эту строку, главное, чтоб можно было вызвать.), например в главном классе вне каких либо методов (то есть можно перед последней фигурной скобкой) напишите:

public static final ToolMaterial NEWMAT = EnumHelper.addToolMaterial("NEWMAT", 2, 564, 5.0F, 4.0F, 50);

Не забудьте про импорт. Давайте разберемся: static означает, что переменная NEWMAT типа ToolMaterial доступна из других классов. Затем приравнивается значению, которое и даст вашей кирке определённые свойства. Теперь об аргументах, перечисленных через запятую:

  1. Название материала
  2. На сколько кирка крута от 0 до 3, то есть какие блоки может ломать(1 — эквивалент каменной, 3 — алмазной).
  3. Максимальное количество сломанных блоков (у алмазной — 1561, каменной — 131).
  4. Скорость добычи (у золотой — 12, у алмазной — 8, деревянной — 2).
  5. Урон, наносимый существам (у деревянной/золотой — 0, железной — 2, алмазной — 3).
  6. Зачаровываемость, то есть какой шанс хороших чар (у золотой — 22, алмазной — 10, железной — 14).

Теперь можно придать какому-нибудь инструменту эти свойства, для этого в инструменте (например в нашей кирке) измените super(ToolMaterial.EMERALD); на super(BaseMyBestMod.NEWMAT); В таком случае вы отправляете в супер-класс инструмента информацию о том, что свойства описаны переменной NEWMAT типа ToolMaterial, которая описана в классе BaseMyBestMod (или любой другой класс, где она написана).

Вот и всё, свойства инструмента изменены.

Создание брони

Создание брони немного отличается от создания обычных предметов, точнее имеет свои особенности. Приступим.

Мы не будем создавать для каждого предмета свой отдельный класс, а создадим один универсальный, который опишет сразу шлем, нагрудник, штаны и ботинки.
Начнём с регистрации переменных.

public static Item bestarmorhelmet;
public static Item bestarmorplate;
public static Item bestarmorpants;
public static Item bestarmorboots;

Шлем, нагрудник, штаны и ботинки соответственно. Теперь описываем эти переменные с помощью универсального класса. Естественно внутри метода preLoad()

 bestarmorhelmet = new BestArmor(0, 0).setUnlocalizedName("bestarmorhelmet").setTextureName("mybestmod:BestArmorHelmet");
 bestarmorplate = new BestArmor(0, 1).setUnlocalizedName("bestarmorplate").setTextureName("mybestmod:BestArmorPlate");
 bestarmorpants = new BestArmor(0, 2).setUnlocalizedName("bestarmorpants").setTextureName("mybestmod:BestArmorPants");
 bestarmorboots = new BestArmor(0, 3).setUnlocalizedName("bestarmorboots").setTextureName("mybestmod:BestArmorBoots");

Здесь, вроде, всё знакомо, мы даём нелокализированное имя каждому из предметов, а также текстуру. Но здесь мы посылаем ещё и две цифры в метод BestArmor. Вторая цифра отвечает за тип брони (0 — шлем, 3 — ботинки), назначение первой неясно, но в данном случае она роли не играет. Далее тоже ничего нового, просто зарегистрируем эти предметы в Forge. Сделать это нужно после описания переменных.

 GameRegistry.registerItem(bestarmorhelmet, "bestarmorhelmet");
 GameRegistry.registerItem(bestarmorplate, "bestarmorplate");
 GameRegistry.registerItem(bestarmorpants, "bestarmorpants");
 GameRegistry.registerItem(bestarmorboots, "bestarmorboots");

С главным классом работа окончена.

Теперь щелкаем по одной из ошибок и создаём новый класс BestArmor. Теперь «продолжаем» класс ItemArmor, то есть пишем extends ItemArmor после названия класса. Теперь в тело класса вставляем следующее:

private String texturePath = "mybestmod:textures/model/armor/";

public BestArmor(int id, int armorType) {
  super(ArmorMaterial.DIAMOND, id, armorType);
  this.setCreativeTab(CreativeTabs.tabCombat);
  this.setMaxStackSize(1);
  this.setTextureName();
}

public void setTextureName ()
{
  if(armorType == 0||armorType == 1||armorType == 3){
    this.texturePath += "MyBestArmor_" + 1 + ".png";
  }
  else {
    this.texturePath += "MyBestArmor_" + 2 + ".png";
  }
}

@Override
public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, String type){
  return this.texturePath;
}

Что ж, давайте разбираться.

Первая переменная, просто обозначает начало пути к текстуре брони. Все нужные текстуры можно спокойно извлечь из майнкрафта и отредактировать по желанию. Вот мои отредактированные текстуры:

MyBestArmor 1.png MyBestArmor 2.png BestArmorHelmet.png BestArmorPlate.png BestArmorPants.png BestArmorBoots.png

Текстуры предметов помещаются туда же, где и текстура кирки. А вот две текстуры самой брони нужно поместить в другую папку. Поэтому создайте её: нажмите ПКМ по src/main/resources и выберите New — Package и назовите его assets.mybestmod.textures.model.armor и уже туда перетащите две оставшиеся текстуры.

Давайте дальше разбираться с кодом: следующим идёт метод BestArmor(), в который мы посылаем из главного класса параметры id и armorType. Напомню: от armorType зависит, какая это часть брони. В нём мы посылаем информацию о том, какой материал брони. Я написал, что броня будет аналогична алмазной, но можно создать свой материал для брони и вписать его. Далее мы настраиваем вкладку в креативе. Потом мы ограничиваем максимальное количество данного предмета в одной стопке до одного, чтобы броня не «стакалась». В конце концов мы вызываем созданный нами метод setTextureName()

В этом нашем собственном методе происходит проверка, какая часть брони вызвала этот класс. И, если это был шлем, нагрудник или ботинки, то используется первая текстура, а если поножи, то вторая. Мы прибавляем к изначальному пути брони нужное окончание, чтобы в определённом случае грузилась одна текстура, а в другом — вторая.

Последний же метод перезаписывает метод супер-класса и указывает Майнкрафту, что должна грузиться текстура по пути texturePath, который предварительно был отредактирован во втором методе.

Теперь можно запускать игру и убивать мобов в новых блестящих доспехах!

Свой материал для брони

Почти не отличается от создания собственного материала для инструмента.

В главном классе в любом месте, но вне каких-либо методов пишем:

static ArmorMaterial BESTMAT = EnumHelper.addArmorMaterial("BESTMAT", 100, new int[] {3, 8, 6, 3}, 30);

Затем импортируем ArmorMaterial. Теперь разберём:

  1. BESTMAT — название материала.
  2. 100 — прочность (железо — 15, алмазы — 33).
  3. 3 — защита шлема.
  4. 8 — защита нагрудника.
  5. 6 — защита штанов.
  6. 3 — защита ботинок.
  7. 30 — зачаровываемость.

Вот и все. Теперь можно использовать этот материал для брони, например заменив ArmorMaterial.DIAMOND на BaseMyBestMod.BESTMAT

Генерация предметов в контейнерах натуральных структур

Итак, вы можете сделать так, чтобы ваш, или любой другой предмет/блок генерировался в сундуках сокровищницы. Для этого в методе preLoad() в главном классе вставьте следующее:

  ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST,
    new WeightedRandomChestContent(new ItemStack(BaseMyBestMod.bestblockever), 1, 10, 3));

Разберемся в параметрах:

  1. (ChestGenHooks.DUNGEON_CHEST) — Вместо DUNGEON_CHEST выберете одно из возможных мест генерации в выпадающем списке.
  2. (BaseMyBestMod.bestblockever) — Требуемый блок/предмет. В скобках указывается любая переменная типа Block или Item.
  3. (1) — Минимальное генерируемое количество.
  4. (10) — Максимальное генерируемое количество.
  5. (3) — Шанс генерации.

Атрибуты для моба

Если вы уже проверили моба, то заметили, что он двигается очень медленно. Чтобы исправить это и изменить атрибуты для моба, добавьте в его класс следующий код:

@Override
protected void applyEntityAttributes()
{
  super.applyEntityAttributes();
  this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D);
  this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(32.0D);
  this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.0D);
  this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D);
  this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D);
}

Разъяснение:

Параметр Описание
maxHealth Максимальное здоровье
followRange Дистанция, на которой моб будет преследовать кого-либо
knockbackResistance Сопротивление к отбрасыванию
movementSpeed Скорость движения
attackDamage Сила атаки

Атрибуты установлены.

Интеллект для моба

Теперь моб будет просто двигаться, но ничего не делать. Для того, чтобы добавить ему интеллект создайте в класс моба следующий код:

public boolean isAIEnabled()
{
   return true;
}

Теперь в конструктор класса добавьте следующий код:

this.tasks.addTask(1, new  EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.2D, false));
this.tasks.addTask(3, new EntityAIWander(this, 1.0D));
this.tasks.addTask(4, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
this.tasks.addTask(5, new EntityAILookIdle(this));

this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));

Первый аргумент метода «addTask» — приоритет назначения интеллекта, второй — сам интеллект. В примере используются следующие интеллекты: «Swimming», «AttackOnCollid», «Wander», «WatchClosest», «LookIdle», «HurtByTarget» и «NearestAttackableTarget». Разъяснение:

Интеллект Описание
Swimming Может ли существо плавать?
AttackOnCollid Базовый тип атаки, который используют зомби и пауки.
Wander Существо будет ходить вокруг, когда никого не атакует.
WatchClosest Ищет назначенное существо на заданном расстоянии.
LookIdle Существо будет осматриваться, просто стоя.
HurtByTarget Сделает целью какого-либо моба, который его ударил.
NearestAttackableTarget Ищет любое существо, которое подходит по второму параметру.

Интеллект установлен.

Свой скин при моддинге

Внимание! Этот способ работает только на лицензионной версии Minecraft.

Чтобы при создании мода вы видели свой скин, вместо стандартного скина Steve, нужно прописать 2 строчки в аргументы запуска.

--username=ВашЛогин
--password=ВашПароль

После этого, при заходе в игру вы будете видеть свой скин.

Примечания

  • #1

Здравствуйте пользователи этого сайта!Вот наткнулся я на мод Last days для minecraft 1.7.10 и вот беда там появляется жажда и убираются значки сытости и защиты!чтобы их просмотреть надо заходить в инвентарь.И от первого лица появились ноги ну как обычно!минус этого в том что ты видишь броню только из этого мода остальная от первого лица невидима,а также скин поменялся у игрока.если менять скин в моде игра запускается но при загрузке мира вылетает!помогите мне пожалуйста как редактировать этот мод?!буду благодарен.

[youtube]2iulTiQaxlM[/youtube]

  • #2

Знакомый мой делал кстати. А вообще декомпилируй и измени сорцы. Можно их купить. Или «лажовая» рефлексия. Тоесть делаешь такие же переменные с таким же значением(методы и тд) а при сборке вместо «лажового»мода суй их мод

  • #3

LazyRavenMan написал(а):

Знакомый мой делал кстати. А вообще декомпилируй и измени сорцы. Можно их купить. Или «лажовая» рефлексия. Тоесть делаешь такие же переменные с таким же значением(методы и тд) а при сборке вместо «лажового»мода суй их мод

Что?

  • #4

Ну,например, создай переменную, которая работать не будет и скомпилируй мод(свой). Либо их мод разбери

  • #7

Bearded Octo Nemesis + Fernflower.

  • #8

Defilak написал(а):

Bearded Octo Nemesis + Fernflower.

Судя по «высокой» компетенции ТС, можно смело утверждать, что следующий вопрос будет «И чо с этим делать». А т.к. на него тут же понабежит матерящийся DragonLazAntiпрочие, и, упаси Сатана, Равен в компании с вовой_мастером…

А по теме: узнать есть ли у мода API. Если нет — просить автора добавить, если есть — пользоватся API мода и рефлексией. Это в теории….
[merge_posts_bbcode]Добавлено: 31.10.2014 13:20:04[/merge_posts_bbcode]

UPD: Агрдиванне и Равен уже тут были.

  • #9

Ну, материться я не буду, но скажу что некоторые моды имеют открытый исходный код и их декомпилировать и деобфуцировать не нужно. А вообще моды с закрытым исходным кодом делают не просто так, явно автор не хочет чтобы его код кто-то видел или использовал в своих целях.

  • #12

Я ваще ни чё не понял что вы говорили!

  • #13

Был пост про разборку. Загугли «use bearded octo nemesis»

  • #14

Ну тут и я могу помочь ТС… http://vk.cc/374dd0

  • Часть 0. Набор для моддинга. Версия Forge 1.16.5 LTS (Long Term Support) (Стабильная версия для моддинга)
  • https://files.minecraftforge.net/net/minecraftforge/forge/index_1.16.5.html — выбираем 1.16.5, версию справа где написано «Рекомендовано» скачиваем «Mdk» forge-1.16.5-36.2.20-mdk (MOD DEVELOPMENT KIT)
  • https://adoptium.net/index.html?variant=openjdk8&jvmVariant=hotspot — скачиваем Temurin-11 LTS JDK (JAVA DEVELOPMENT KIT)
  • https://www.jetbrains.com/idea/download/ — популярный для моддинга IDE (INTEGRAL DEVELOPMENT ENVIRONMENT) 
  • Это руководство основано на видео — Tutorials by kaupenjoe

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 1. установка и настройка

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

IDE

В установщике IntelliJ IDEA ставим add bin folder to path / add open as project / .java .groovy .kt —-> см картинки

  • Устанавливаем JDK 11, в установщике ставим Set JAVA_HOME variableadoptopenjdk-set-registry-keys.png.7737fbadb25a514d06661a45f05a81f5.png
  • Создаем — E:ModdingMinecraft Modding — в папку распакуем архив forge-1.16.5-36.2.20-mdk. удаляем не нужные блокноты LICENSE.txt README.txt changelog.txt.
  • Запускаем IntelliJ IDEA выбираем открыть проект E:ModdingMinecraft Modding — папка где лежит наш build.gradle
  • Ждем пока все загрузится

после того как все загрузится должно быть примерно такimage.png.ce494d73f4aaf5fcb892bc3de7a0bace.png

image.png.e61c304075eafa78ad054b2ea4e99dd7.png

Сразу жмем на шестеренку слева > Tree appearance > снимаем галочки flatten packages + compact middle packages. все настройка завершена.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 2 . создаем супер-мод без знания языка ! 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

в окне build.gradle на 15 строчке пишем нашу версию мода

version = '1.0'
version = '1.16.5-0.1'

в окне build.gradle на 16 строчке пишем автора мода и название мода.

(без пробелов, без хитростей и т.д.)

group = 'com.yourname.modid'
group = 'com.observer.supermod' 

в окне build.gradle на 17 строчке пишем название мода

archivesBaseName = 'supermod'

а теперь нам надо вызвать заменитель строк CTRL + R. появилось меню с лупой и 2мя строчками, в первую examplemod во вторую supermod

image.png.df3c1db8625ea31957cc6fa3b635c21f.png

в окне build.gradle на 34 строчке 

mappings channel: 'official', version: '1.16.5'

^ эту строчку стираем и вставляем строчку 34 :

mappings channel: 'snapshot', version: '20210309-1.16.5'

все. ничего не закрываем, оставь окно build.gradle.

и переходим по папкам:

src > main > java > com > example > examplemod > ExampleMod

открываем ExampleMod переходим в вкладку ExampleMod.java

в окне ExampleMod.java на 1 строчке пишем

package com.example.examplemod;
package com.observer.supermod;

после этого наша строчка 1 выделится красным, жмем по строчке ПКМ > show context actions > move to package ‘com.observer.supermod’

после этого появится наша папка слева,

удали ту папку которая com > example.

переходим по нашим папкам com > observer > supermod > ExampleMod

нажми на ExampleMod и нажми ПКМ > Refactor > Rename и пишем новое название SuperMod.

на 22 строчке видим это

@Mod("examplemod")

сразу переходим на 24 строчку и видим знак {

после знака { жми ENTER

public static final String MOD_ID = "supermod";

^ пишем вот это и после этого можно поменять наш @Mod(«examplemod») на 22 строчки вот так как на картинкеimage.png.e659724e050f4598d2570b9c77087338.png

если написать @Mod(supermod.MOD_ID) выдаст ошибку потому что название не правильное supermod, а надо точно так же как называется наш файл — SuperMod. 

правильно

@Mod(SuperMod.MOD_ID)

неправильно

@Mod("SuperMod".MOD_ID)

неправильно

@Mod("supermod.MOD_ID")

все. ничего не закрываем и теперь переходим в папку resources > META INF > mods.toml открываем его

в окне mods.toml находим строчку 18 и пишем

modId="supermod" #mandatory

в окне mods.toml находим строчку 24 и пишем

displayName="Super Mod" #mandatory

ВСЕ. 

Теперь надо сохранить все эти изменение

  1. сначала нажми на маленький призрак по середине, ждем.
  2. заходим в правом верхнем углу призрака с надписем Gradle.  открываем Tasks > forgegradle runs > genIntellijRuns. ждем.

image.png.11e349d5c8d438e7a61dc777f6507b45.png

 3. в самом Gradle открываем Tasks > forgegradle runs > genIntellijRuns. ждем.

После этого переходим в окно SuperMod.java и видим в строчке 54. его надо стереть 

LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().options);

^ стираем строчку 54.

Далее

Ищем следующие строчки 61 или 64, найдите вот это:

image.png.6251c360abc29f053d82ac6787429922.png

На этом месте осторожно удаляем и должно быть так:

image.png.eac6d670584b0752315d95dcf285a788.png

ВСЕ ! ФУХ. 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 3 . Проверяем наш мод

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

теперь мы должны проверить работает ли мод на клиенте и сервере, это можно сделать так:

  • заходим в правом верхнем углу призрака с надписем Gradle и переходим по Tasks > forgegradle runs > Run Client 
  • RunClient — имитация майнкрафта
  • RunServer — запуск сервера
  • если мод запустился без ошибок и на сервере и на клиенте — он готов.
  • пора выпустить мод — Gradle > Tasks > build > build

image.png.f483b081358048371fddd25c29932a4a.png

image.png.d53fea49aece80e4a1207340fbc92051.png

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Если дошли до конца — тебе очень повезло, можно начинать изучать JAVA.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Что дальше, как научиться делать свой мод? 

Научиться программировать может любой школьник — даже если вам 11 лет и вы двоечник!

Список основных вещей, которые нужно знать перед попыткой моддинга:

  • Базовое знание Java: переменные, методы, классы (variables, methods, classes… )
  • Концепции объектно-ориентированного программирования (ООП): extends, implements, polymorphism…
  • Общие шаблоны программирования: factories, registries, consumers
  • Основы функционального программирования (FP): lambdas, effective final things…
  • Понимание основ: уметь читать и писать код, сделанный вами и другими — Основы очистки: умение искать что-то в ванильном коде —
  • Основы английского: умение читать и понимать, что говорится в руководствах, документации и т. Д.

Финнский курс MOOC по Java — любой сможет научиться — главное мотивация……отличная возможность для всех, кто хочет изучить java https://java-programming.mooc.fi/ <——

Настройка среды обучение TMC java mooc.

TMCBeans Java MOOC — учитель по кодингу для чайников. В клубе будет все необходимое, помощь, настройка, вопросы, переходим дальше, в раздел (Основная информация) 

Данный гайд получится очень большим, т.к. создание мода это не перевод и тут есть огромная куча моментов, с которыми надо работать.
Начнем с самого сложного, создание модификации с нуля, чтобы начать, надо создать новый файл и дать ему имя, сделать это можно с помощью этой кнопки:

Как создать мод с нуля или модифицировать уже существующий! Часть 1.

После того как создали файл, откройте его как и любой другой мод, в данном случае я создам себе пояс, который будет чисто для «читеров», открываем значение «Items» далее подраздел Armour, нажимаем ПКМ на любом предмете и нажимаем на «New item» и получаем нашу рабочую зону:

Хоть это и наша рабочая зона, вы должны понимать, что за что отвечает, красным я выделил то, с чем можно работать, даже если вы не сильно понимаете, что делаете, зеленым если у вас есть текстуры которые вы хотите добавить или использовать уже имеющиеся:

Однако, есть еще и правая рабочая зона, тут можно размещать цвет, материал из чего оно сделано, дать этой вещи покрытие частей тела или другие настройки (если это не броня или оружие, а например генератор)

После того, как вы узнали то, с чем вы действительно должны работать, мы можем начать создавать то, что мы хотим создать.
Я выдал неоднозначное имя и описание этому предмету, далее я распишу, что за что отвечает, чтобы вам не пришлось переводить не всегда понятное описание от авторов:

Колонка: «Base» — редактируется только имя «Name» — дается всем объектам независимо от чего-либо.

Колонка: »        » — редактируется «description» — описание, «dont colorise» — не дает получать цветовые гаммы от принадлежности к какой либо фракции, «hide beard, hair, parts» — скрывает части тела или любые другие части, например шлем, однако у пояса нет возможности скрыть и поэтому мы их отключаем, «slot» — то место, куда игра позволит установить данный объект, «stigma» — дает распоряжение какая часть персонажей предпочитает носить, пример: военные, горожане, торговцы, рабы или же бандиты.

Колонка: «files» — отвечает за текстурную часть этого предмета, «ground mesh» — не трогаем, «has collision» — тоже не трогайте, отвечает за коллизию объекта, «icon» — отвечает за иконку объекта, вы можете задать ей как самостоятельную часть, либо выдать автоиконку, если выдали им «mesh», — mesh отвечает за саму текстуру, её вы либо не трогаете (не будет видна в мире), либо выдаете свою собственную текстуру или уже готовую игровую текстуру, остальное так же не стоит трогать.

Колонка: «inventory» — отвечает за вид, размещение, вес и цену объекта в инвентаре, «auto icon image» — как сказано ранее выставляется в положение True — если выдали им текстуру, «inventory footprint: height; width» — отвечают за занимаемую часть инвентаря — первая отвечает за высоту, вторая за ширину, «value» — отвечает за основную цену данного предмета, а дальше уже идет расчет из игровых настроек на продаваемый и покупаемый объект, «weight kg» — отвечает за вес объекта.

Колонка: «inventory icon» — отвечает за иконку в инвентаре, ширину, увеличение, высоту, поворот, трогайте если хотите изменить автоиконку.

Колонка: «locked» — отвечает заперт ли объект, «hardness» отвечает за сложность запертого замка, «is locked» — заперт ли объект (нужно для клеток, сундуков и т.д.), «lock level» — отвечает за уровень запертого замка.

Колонка: «skill bonus» — отвечает за даруемые бонусы объекта к Атакующим и защитным умениям, в данном случае общее значение 15, «combat attk bonus» — дает бонус к Атаке; «combat def bonus» — дает бонус к Защите; «perseption bonus» — дает бонус к Восприятию; «unarmed bonus» — бонус к Безоружному бою.

Колонка: «skills» — отвечает за «мультиплиер» — множитель умений, в данном случае мы видим общий множитель 2, «asassination»- Убийство; «athletics» — Атлетика; «combat speed» — Скорость боя; «damage output» — увеличивает исходящий от вас урон, было 100 — при множителе 2 — будет 200; «dextrerity» — Ловкость; «dodge» — Уклонение, «fist injury» — повреждение конечностей, чтобы не было получаемого урона, от безоружного боя (что-то типо стальных повязок) надо выставить множитель на 0 (проще говоря, урон который вы получаете при ударе металла и вместе с этим поясом — вы будете получать в 2 раза больше урона по конечностям); «ranged skill» — умения дальнего боя — арбалеты, турели; «stealth» — Скрытность.

Колонка: «stats 0-1» -(выставляется максимум 1, это что-то типо 100% защиты от урона) колонка которая отвечает за базовую защите которую дают другие вещи, защиту от разреза, дробящих ударов и т.д. — «blunt def bonus» — защита от дробящих ударов; «class» — тип объекта, в данном случае это легкий доспех; «cut def bonus» — защита от разреза; «cut into stan» — режущий урон, что может вас пошатнуть, «fabrics amount» — отвечает за кол-во используемого материала для создания данного предмета; «level bonus» — честно говоря, я до сих пор не знаю, что это дает; «material type» — выставляет материал, из которого данную вещь можно будет изготовить (а так же задает основной вид); «pierce def mult» — отвечает за множитель защиты от пробития этой брони (разреза и дробящего урона); «relative price mult» — отвечает за множители у торговцев на данный объект.

Колонка: «texture layers» — пожалуйста не трогайте эту колонку.

Колонка: «weather» — позволяет выдать вашему объекту защиту от погодных явлений, «weather protection amount» — выставляется от 0 до 1, 1 = 100% защите от погоды которую вы выставите, «weather protection0» — выставляется погодный эффект от которого будет защита.

Ну, сделали мы предмет, а что дальше?

А дальше уже вам решать, что вы будете делать, раздадите это как основной предмет кому-то из существующих фракций, персонажей, или сделаете его лишь для себя.
В моем случае я покажу, как я сделаю его лишь для себя, добавлю его как предмет продажи в баре Хаба, чтобы сделать это, надо создать торговый лист, найти вы его можете в основном меню под названием — «Vendor Lists» именно с этим предметом, чтобы ограничить его продажу в других магазинах, вот так выглядит этот лист:

Я выделил рабочие зоны, одно тут надо менять только имя и «items count» — максимальное количество предметов которое будет добавлено  (рандомно на самом деле) и полностью нужная нам рабочая зона — правая, тут мы добавляем предметы которые будут добавлены в лист торговли:

Ну, лист мы создали, пора добавить этот лист уже нужному нам торговцу, чтобы найти нужного вам торговца, в основном меню переходим в «Faction» — «Squads» и там вы уже выбираете кому будете добавлять данный лист, в моем случае я добавляю в бар Хаба, а называние его там пишется как «Bar blackmarket»:

Так как я добавляю лист, мне нужно выдать им параметр «vendors» — там будут все листы которые уже имеются, включая созданный мной.

Сохраняем и теперь мы протестим, есть ли этот пояс в игре:

Как видим, пояс есть, текстур и иконки нет, т.к. я ничего не выбирал.

Думаю в дальнейшем напишу как создавать персонажей, фракции.

Я думаю, вы из статьи поняли, как модифицировать ваши модификации на предметы (такие же характеристики присутствуют у объектов которые можно построить)

Понравилась статья? Поделить с друзьями:
  • Как изменить модуляцию на телевизоре
  • Как изменить модифицированность 1с
  • Как изменить модельку персонажа tf2
  • Как изменить модель флешки
  • Как изменить модель семьи