fxp
שחזור סיסמה הרשמה
  • הודעות
  • אשכולות
  • רשומים
  • מחוברים כרגע
הרשמה לאתר
עמוד 1 מתוך 8 12345 אחרוןאחרון
תגיות: מודים למיינקראפט, מודים
מדריך|

יצירת מודים למיינקראפט 1.2.3

  1. 12-03-2012 14:06 #1
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    יודעים לעשות מודים? רוצים לעזור?
    אם ידעת איך לעשות מודים לפני שקראת את המדריך, אתה מוזמן לעזור בלהמשיך אותו. שלח לי הודעה פרטית עם הנושא "עזרה במדריך".נדבר ונראה אם אתה יכול להמשיך את המדריך.


    תודה מראש

    רוצים מדריך ספציפי אחד?
    עמוד 1 : ההתחלה ו-ModLoader (באשכול הזה), בלוק, חפצים, טקסטורות.
    עמוד 2 : אוכל, אוכל עם אפקט שיקוי.
    עמוד 3 : מתכונים ומתכוני בישול, בנאדם NPC, יצור אקראי NPC.
    עמוד 4 : סיימתם את המוד?
    עמוד 5 : בלוק עם כמה טקסטורות.

    ברוכים הבאים למדריך יצירת מודים למיינקראפט!
    במדריך הזה אני אלמד אתכם איך ליצור מודים למיינקראפט באמצעות ModLoader.

    המדריך מיועד למי שלא יודע לתכנת ב-Java, מה שאומר שאני אסביר כל שורה ושורה במפורט.

    ההכנה
    הדבר הראשון שתצטרכו לעשות הוא להתקין את כלי יצור האפליקציות של Java Development Kit -Java
    המוצר לא עולה כסף ואתם יכולים להוריד אותו כאן : http://www.oracle.com/technetwork/ja...d-1501626.html

    עכשיו אתם צריכים לנווט את הנתיב של Java.
    נווטו ללוח הבקרה, לחצו על Java, כנסו לטאב שנקרא Java, ולחצו על כפתור ה"View...".
    שם תשנו את ה-Path לנתיב הבא :
    קוד:
    C:\Program Files\Java\jdk1.7.0_03\bin;
    ודאו שהגרסה תואמת לגרסה שיש לכם (1.7.0).

    הדבר הבא שתצטרכו לעשות הוא להוריד את חבילת המתכנת של מיינקראפט. (Minecraft Coder Pack)
    מצאו את השורה : You can find MCP 6.0 for Minecraft 1.2.3 and Server 1.2.3 here: mcp60.zip
    והורידו את הקובץ. חלצו את הקובץ איפה שאתם רוצים.
    עכשיו נווטו לתיקיית מיינקראפט כך : כנסו ל"מחשב" או "המחשב שלי" תעתיקו את הנתיב הבא לכתובת הנתיב :

    קוד:
    C:\Documents and Settings\Admin\Application Data
    בווינדוס 7 :
    קוד:
    C:\Documents and Settings\Admin\Application Data\Roaming
    כנסו לתיקיה שנקראת "minecraft.". ודאו שאין לכם מודים מותקנים פרט ל-ModLoader.
    עכשיו העתיקו את התיקיות bin ו- resources לתיקיה jars בחבילת המתכנת של מיינקראפט.
    עכשיו לחצו על "decompile.bat". זה יפתח לכם חלון שחור שנקרא CMD.לקראת הסיום זה אולי יתן לכם שגיאה או שתיים אבל זה בסדר כי כל הקוד של מיינקראפט הולך לתיקיה "mcp60/src/net/minecraft/src".

    הצעד הבא לא חובה אבל הוא מומלץ ביותר.
    הורידו "Eclipse". (קישורי ההורדה בצד ימין, תבחרו לפי מערכת ההפעלה שיש לכם.)
    אחרי שהורדתם את הקובץ, חלצו אותו ולחצו על "eclipse.exe".
    כשזה מבקש ממכם לבחור "Workspace" נווטו לתיקיה שנקראת "eclipse" בחבילת המתכנת של מיינקראפט.
    כדי לראות את הקבצים של הקוד כנסו לפרויקט "Client", תיקיה "src", חבילה "net.minecraft.src" .

    יצירת מודים למיינקראפט ..
    יצירת מודים למיינקראפט ..

    ModLoader
    קוד:
    package net.minecraft.src;
                    
    public class mod_*** extends BaseMod
    {               
            public void load()      
            {               
                    
            }
            
            public String getVersion()  
            {               
                    return "1.1";   
                    
            }
            
    }


    זהו המבנה הבסיסי של ModLoader. הוא די פשוט ואני אסביר מה כל חלק עושה.




    קוד:
    package net.minecraft.src;
    השורה הזאת מגדירה את החבילה שבא נמצא הקובץ.




    קוד:
    public class mod_*** extends BaseMod
    'public class' מגדיר שהקובץ הוא קלאס של Java. זה חלק מהשפה Java שאיתה נכתב המשחק. גם שפות עיליות אחרות משתמשות בזה.
    ' ***_mod' מגדיר שזה מוד של ModLoader. הקובץ '_mod' הוא החלק הכי חשוב במוד של ModLoader. בלעדיו, המוד לא יעבוד. 'extends BaseMod' נותן לך אפשרות להשתמש בכל הפונקציות של ModLoader בקובץ '_mod'. זה חשוב בדיוק כמו שזה חשוב להתחיל את השם של הקלאס ב-'_mod', כי בלי זה המוד לא יעבוד.





    קוד:
    public void load()
    זוהי הפונקציה הבונה של קובץ '_mod'. זוהי הפונקציה הבונה של ModLoader. תוכן הפונקציות נכנס בין שתי סוגריים מסולסלים.






    קוד:
    public String getVersion()
    {
            return "1.1";
    }



    ModLoader משתמש בזה כשזה טוען את המוד. הגרסה של מיינקראפט שבשבילה עשית את המוד נכנסת פה. מספרים או מילים במרכאות תמיד צריכים \ צריכות להיפלט מהפונקציה הזאת. הפלט של הפונקציה לא אמור להיות null, אף פעם.

    נערך לאחרונה על ידי TheElip100, 19-03-2012 בשעה 13:21

  2. 12-03-2012 14:10 #2
    בן
    תאריך הצטרפות
    07-08-11
    שם פרטי
    רון
    הודעות
    3,696
    עוד כמה תמונות יעזרו אבל מדריך סבבה





    O
    nly in Battlefield 4 - "Superman"


  3. 12-03-2012 14:12 #3
    בן
    תאריך הצטרפות
    18-11-11
    שם פרטי
    דניאל
    הודעות
    945
    הוא רשם

    "ההמשך יבוא"

  4. 12-03-2012 14:21 #4
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    המדריך
    בלוק
    mod_Block


    קוד:
    package net.minecraft.src;
    
    public class mod_Block extends BaseMod
    {
    public static final Block Namehere = new BlockNamehere(160, 0).setBlockName("anynamehere").setHardness(3F).setResistance(4F).setLightValue(1F);
    
            public void load()
            {
                    Namehere.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/pathtoyourfile/image.png");
                    ModLoader.registerBlock(Namehere);
                    ModLoader.addName(Namehere, "In-Game Name Here");
                    ModLoader.addRecipe(new ItemStack(Namehere, 1), new Object [] {"#", Character.valueOf('#'), Block.dirt});
            }
    
            public String getVersion()
              {
                              return "1.1";
            }
    }
    BlockNameHere
    קוד:
    package net.minecraft.src;
    import java.util.Random;
    
    public class BlockNamehere extends Block
    {
                    public BlockNamehere(int i, int j)
                    {
                            super(i, j, Material.wood);
                    }
    
    
            public int idDropped(int i, Random random, int j)
            {
                    return mod_Block.Namehere.blockID;
            }
            public int quantityDropped(Random random)
            {
                                    return 1;
            }}

    הבנת הקוד

    mod_Block




    קוד:
    public static final Block Namehere = new BlockNamehere(160, 0)
    • זה מגדיר את הבלוק החדש.
    • השם הראשון שאתה מכניס ('Namehere' במקרה הזה), בו אתה משתמש בשאר הקוד של הקובץ כדי להזכיר אותו במקרים שונים ולהבדיל בין בלוקים.
    • 'new BlockNamehere=' אומר שכשהבלוק נולד, המידע של הבלוק נלקח מהקלאס שלו, 'BlockNamehere'. זה יהיה שונה לבלוקים שיש להם נתונים מיוחדים (יבוא בהמשך).
    • '(0, 160)' זה ה-ID (המספר) של הבלוק. 0 זה הקורדינטה של הטקסטורה שלו בקובץ'terrain.png' (הקורדינטה היא 0 בגלל שאנחנו נשתמש בשיטה אחרת של זיהוי טקסטורה, השיטה של ModLoader). אסור לID להיות גבוה יותר מ-255 ואסור לו להיות ID שהמשחק כבר משתמש בו.




    קוד:
    .setBlockName("anynamehere").setHardness(3F).setResistance(4F).setLightValue(1F);
    • F אומר שהמספר שלפניו יכול להיות עם נקודה עשרונית.
    • הפונקציה 'setBlockName' מציבה את השם של הבלוק, והמשחק משתמש בשם הזה ('anynamehere') בזמן ההרצה. *המשחק לא משתמש בזה כשם לבלוק עצמו, כלומר, אם אתה שם את הסמן על הבלוק אתה לא תראה 'anynamehere' *.)
    • הפונקציה 'setHardness' מגדירה עד כמה הבלוק חזק, וכמה זמן לוקח לשבור אותו (לא בשניות אלא בכלל (מספר גבוה יותר, יותר זמן)). *אל תשכח לכתוב F אחרי המספר*.
    • הפונקציה 'setResistance' מגדירה עד כמה הבלוק עמיד ל-TNT (ככל שהמספר גבוה יותר, כך הבלוק חזק יותר).
    • הפונקציה 'setLightValue' מגדירה כמה אור הבלוק מוציא. אם המספר גבוה מדי (מעל 1), המשחק יקרוס מכיוון שהוא לא יכול לתפקד בכמות כזאת של בהירות. אם אתה לא רוצה שהבלוק יוציא אור, תציב את המספר 0 או פשוט תמחק את חתיכת הקוד הזאת.
    קוד:
    Namehere.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/pathtoyourfile/image.png");
    ModLoader.registerBlock(Namehere);
    ModLoader.addName(Namehere, "In-Game Name Here");
    ModLoader.addRecipe(new ItemStack(Namehere, 1), new Object [] {"#", Character.valueOf('#'), Block.dirt});

    • החלקים הכי חשובים בחתיכת הקוד הזאת הם 'ModLoader.registerBlock' ן- 'ModLoader.addName'. מה שעושה 'ModLoader.registerBlock' פשוט מכניס את הבלוק למשחק כך שהמשחק ידע שיש את הבלוק הזה, אם המשחק לא יודע על הבלוק הזה, הוא לא ימצא אותו, וזה אפילו עלול להיגמר בקריסת המשחק.
    • 'ModLoader.addName' קורא לבלוק בשם שיהיה אפשר לראות במשחק עצמו אם אתה שם את הסמן על הבלוק.
    • 'NameHere.blockIndexInTexture' לא חייב להיות פה אלא אם אתה רוצה להוסיף קובץ טקסטורה משלך לבלוק. כל טקסטורה חייבת להיות 16X16 פיקסלים. החלק שאחרי ה - '=' מוסיף לקובץ 'terrain.png' קובץ מהמחשב שלך, והקובץ מהמחשב שלך חייב להכיל את הטקסטורה של הבלוק. החלק האחרון של שם הקובץ חייב להיות 'png.'.
    • '......ModLoader.addRecipe' מוסיף את המתכון של הבלוק. ההסבר של איך לעשות את זה יבוא בהמשך.
    blockNameHere
    • לא הרבה להסביר פה חוץ מהחומר. יש כמה חומרים. החומרים העיקריים הם אדמה, עץ, אבן וברזל אבל יש הרבה יותר. אם אתה רוצה לראות את כולם, הצץ ב-'Material.java'.
    • אתה יכול לשנות את מה שהבלוק שלך מפיל על ידי הצבת השם שלו בפונקציה 'idDropped'. אתה יכול להציב רק שם אחד. אם אתה רוצה יותר אתה יכול להשתמש ב- 'if statements', לדוגמא הצץ ב- 'BlockCrops.java'. הפונקציה פולטת את ה-ID של הבלוק ('BlockID') כי הפונקציה צריכה לפלוט מספר.
    • הפונקציה 'quantityDropped' פולטת את מספר הדברים שהבלוק מפיל (אם אתה רוצה שהבלוק יפיל לדוגמא 2 כיכרי לחם, הפונקציה תחזיר את המספר 2).

  5. 12-03-2012 14:23 #5
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    חפצים


    mod_Item
    קוד:
    package net.minecraft.src;
    
    public class mod_Item extends BaseMod
    {
            public static final Item Namehere = new ItemNamehere(5000).setItemName("anynamehere");
            
            public void load()
            {
                    Namehere.iconIndex = ModLoader.addOverride("/gui/items.png", "/pathtoyourfile/image.png");
                    ModLoader.addName(Namehere, "In-Game Name Here");
                    ModLoader.addRecipe(new ItemStack(Namehere, 1), new Object [] {"#", Character.valueOf('#'), Block.dirt});
            }
            
            public String getVersion()
            {
                    return "1.1";
            }
    }


    ItemNameHere

    קוד:
    package net.minecraft.src;
    
    public class ItemNamehere extends Item
    {
            public ItemNamehere(int i)
            {
                    super(i);
                    maxStackSize = 64;              
            }
    }


    הבנת הקוד

    mod_Item

    • הקוד די דומה לקוד שבמדריך הבלוק, רק שיש כמה הבדלים קטנים.
    • במקום 'public static final Block' זה 'public static final Item' כדי להבדיל בין בלוקים לחפצים, כמובן.
    • 'setBlockName' השתנה ל-'setItemName' כדי להבדיל בין שמות של בלוקים לשמות של חפצים.
    • השינוי העיקרי פה זה שורת טקסטורת החפצים (השינויים בכחול) :
    קוד:
    Namehere.iconIndex = ModLoader.addOverride("/gui/items.png", "/filepath/image.png");
    • 'maxStackSize' מגדיר כמה מהחפצים האלה יכולים להיות בסטאק.

    ItemNameHere
    זה כמעט אותו דבר כמו בלוקים, רק שאין לזה 'int j' ואין לזה גם חומר. לחפצים אין חומרים. אין להם גם את הפונקציות 'idDropped' ן-'quantityDropped'.

    נערך לאחרונה על ידי TheElip100, 12-03-2012 בשעה 15:31 סיבה: לפני : שמירה. אחרי : הוספה.

  6. 12-03-2012 14:51 #6
    בן
    תאריך הצטרפות
    29-10-11
    שם פרטי
    **
    הודעות
    861
    אחלה מדריך,
    יפה ביותר,
    כל מה שכתוב פה זה Java בסיסי,
    מציע לך לעשות את המדריך יותר לעומק,
    בקיצור לא משנה אם זה Java בסיסי,
    אני נותן לך 10/10 (:
    הריפאק של VoltStory למכירה:
    - מערכת Potential 100% GMS-Like.
    - מערכת Enhancement 100% GMS-Like.
    - מערכת All Cubes 100% GMS-Like.
    - מערכת All Magnifying Glasses 100% GMS-Like.
    - חבילת בוסים - Von Leon & Zakum & Chaos Zakum & Horntail & Chaos Horntail 100% GMS-Like
    - פאקטים והידרים מתוקנים.
    - Crimsonwood Keep PQ - הידוע מExtaliaMS GMS-Like 100%.
    - פאקטים חסומים היטב הכולל מערכת AutoBan.
    - Wild Hunter & Battle Mage & Mechanic - חלק מהסקילים מתוקנים היטב.
    - Lion Heart Castle - GMS-Like 100%.
    - Boss Party Quest.
    ועוד ליצירת קשר בה"פ או בסקייפ MrSpital.

  7. 12-03-2012 14:54 #7
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    ציטוט פורסם במקור על ידי HideNinjaTube צפה בהודעה
    אחלה מדריך,
    יפה ביותר,
    כל מה שכתוב פה זה Java בסיסי,
    מציע לך לעשות את המדריך יותר לעומק,
    בקיצור לא משנה אם זה Java בסיסי,
    אני נותן לך 10/10 (:
    תודה!

  8. 12-03-2012 14:59 #8
    בן
    תאריך הצטרפות
    16-07-10
    שם פרטי
    Ram Revivo
    הודעות
    2,324
    כל הכבוד! מדריך מובן מושקע כמו שצריך! 10/10!!

  9. 12-03-2012 15:03 #9
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    ציטוט פורסם במקור על ידי Doodl3z צפה בהודעה
    כל הכבוד! מדריך מובן מושקע כמו שצריך! 10/10!!
    תודה רבה אחי! זה המדריך הראשון שלי...

  10. 12-03-2012 15:13 #10
    בן
    תאריך הצטרפות
    29-10-11
    שם פרטי
    **
    הודעות
    861
    ציטוט פורסם במקור על ידי TheElip100 צפה בהודעה
    תודה רבה אחי! זה המדריך הראשון שלי...
    כנראה בגלל זה העדפת לעשות בקוד Java בסיסי, כדי שאנשים יבינו את זה, הבנתי.
    הריפאק של VoltStory למכירה:
    - מערכת Potential 100% GMS-Like.
    - מערכת Enhancement 100% GMS-Like.
    - מערכת All Cubes 100% GMS-Like.
    - מערכת All Magnifying Glasses 100% GMS-Like.
    - חבילת בוסים - Von Leon & Zakum & Chaos Zakum & Horntail & Chaos Horntail 100% GMS-Like
    - פאקטים והידרים מתוקנים.
    - Crimsonwood Keep PQ - הידוע מExtaliaMS GMS-Like 100%.
    - פאקטים חסומים היטב הכולל מערכת AutoBan.
    - Wild Hunter & Battle Mage & Mechanic - חלק מהסקילים מתוקנים היטב.
    - Lion Heart Castle - GMS-Like 100%.
    - Boss Party Quest.
    ועוד ליצירת קשר בה"פ או בסקייפ MrSpital.

  11. 12-03-2012 15:36 #11
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    טקסטורות
    קוד:
    Namehere.iconIndex = ModLoader.addOverride("/gui/items.png", "/pathtoyourfile/image.png");

    קוד:
    Namehere.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/pathtoyourfile/image.png");
    אחת מהשורות האלה תהיה קיימת לבלוק או לחפץ שלכם. ודאו שיש לכם / בתחילת הנתיב. אם אתם תוהים מה זה אומר, או איפה להשים את הקובץ, המשיכו לקרוא. הפונקציה הזאת מעתיקה את הטקסטורה מהקובץ שלכם, ומדביקה אותה במקום פנוי ב-'terrain.png' או 'items.png'. אם הייתם עושים מוד למשחק בלי ModLoader, הייתם נכנסים לאחד הקבצים ('terrain.png' או 'items.png') והייתם מדביקים לשם את הטקסטורה בעצמכם. אבל אנחנו משתמשים ב-ModLoader.
    אם אתם משתמשים ב-Eclipse, הטקסטורות חייבות להיות באחד מהנתיבים הבאים :

    mcp/eclipse/Client/bin
    mcp/jars/bin/minecraft.jar
    אם אתם לא משתמשים ב-Eclipse הטקסטורות חייבות להיות באחד מהנתיבים הבאים :

    mcp/bin
    mcp/bin/minecraft
    mcp/jars/bin/minecraft.jar
    אם השורה שלי הייתה נראית כך :

    קוד:
    Namehere.iconIndex = ModLoader.addOverride("/gui/items.png", "/mods/flower.png");
    והייתי משתמש ב-Eclipse, הטקסטורה הייתה הולכת לכאן :

    mcp/eclipse/Client/bin/mods/flower.png

    זה פחות או יותר אותו דבר אם לא הייתי משתמש ב-Eclipse. התמונה הייתה הולכת לכאן :

    mcp/bin/minecraft/mods/flower.png
    כל הטקסטורות חייבות להיות 16X16 פיקסלים, ולהסתיים ב 'png.' .
    נערך לאחרונה על ידי TheElip100, 12-03-2012 בשעה 19:47

  12. 12-03-2012 15:38 #12
    בן
    תאריך הצטרפות
    12-03-12
    שם פרטי
    ג'קה
    הודעות
    125
    מדריך מעולה, באמת כול הכבוד!
    אני בטוח שהוא יעזור להמון אנשים להתחיל לתכנת מודים.

  13. 12-03-2012 15:43 #13
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    ציטוט פורסם במקור על ידי iJeka צפה בהודעה
    מדריך מעולה, באמת כול הכבוד!
    אני בטוח שהוא יעזור להמון אנשים להתחיל לתכנת מודים.
    תודה!

  14. 12-03-2012 15:58 #14
    בן
    תאריך הצטרפות
    10-02-11
    שם פרטי
    אלי
    הודעות
    1,257
    כל הכבוד ! תודה רבה .

    מד הודעות:

    1000 - 1100 - 1200 - 1300 - 1400 - 1500 - 1600 - 1700 - 1800 - 1900 - 2000

    אל תשכחו לצטט אותי בשביל שאני יענה

    אני יותר מאשמח לעזור בקשר לנושאים :
    חלומות צלולים /
    מסעות אסטרליים,
    Minecraft, כל מה שקשור לשרתים,
    Counter Strike 1.6.
    כל מה שאתם צריכים לעשות זה רק לשלוח לי הודעה פרטית ואני אשמח לעזור.

    המשך יום טוב !

  15. 12-03-2012 16:02 #15
    בן
    תאריך הצטרפות
    11-03-12
    שם פרטי
    אלי
    הודעות
    104
    ציטוט פורסם במקור על ידי mzoomani1996 צפה בהודעה
    כל הכבוד ! תודה רבה .
    תודה.. ואין בעד מה..

עמוד 1 מתוך 8 12345 אחרוןאחרון
מקרא דרגות:  » יו"ר » מנכ"ל » מנהל ראשי » מפקח » מנהל פורום » צוות פרוייקטים » צוות סיקורים » משתמש כבוד » היכל התהילה » Champ » משקיען כבוד » Winner