mc.gamerzelite.de
Es ist: 25.11.2017, 01:13 Hallo, Gast! (AnmeldenRegistrieren)

Antwort schreiben 
 
Themabewertung:
  • 3 Bewertungen - 4.33 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[TuT]Minecraft Modden mit MCP
Verfasser Nachricht
C0D3
Junior Mitglied


Beiträge: 37
Thanks: 23
Registriert seit: Apr 2011
Points: 74.00 g-Coins


Beitrag #1
[TuT]Minecraft Modden mit MCP
Grundlegendes:
MCP = Minecraft Coder Pack
Information : Es ist nicht von mir ! Daher werden ein paar Tutorials übernommen sein, die Tutorials stammen alle von minecraft.de aus meinen Thread dort (Könnt den gründer des Threads auch anschreibn , dann werd ich es euch nochmals sagen).

INDEX:
1.Voraussetzungen
2.Compilen
3.Obfuscaten
4.Item erstellen Beta 1.2_02 // Jetziger MC stand
5.Crafting Rezept Beta 1.2_02
6.Block erstellen Beta 1.2_02
7.Waffen erstellen Beta 1.2_02
8.Essen erstellen Beta 1.1_02 // Tutorial Udated !
9.Video Tutorials 1.1_02 - 1.2_02


1.Voraussetzungen:
Ihr braucht:
Minecraft Coder Pack (MCP) , zum downloaden MCP Releases - Minecraft Coder Pack
Vllt Java Kentnisse
1Gb Ram
Zeit zum lernen
ALPHA 1.2.6 oder BETA ! BEIDES MÖGLICH

2. Compilen
Wenn ihr alles gedownloadet habt. Dann entpackt es in C:/MCP(z.b.)
Dannach kopiert ihr euren MC bin und resources ordner in C:/MCP/jars
Dann klickt ihr auf decompilen .
Schaut dananch in sources/net/minecraft/net/src.
Wenn ihr all die java datein sieht , habt ihr es richtig gemacht.
Wenn ihr fertig gemoddet habt macht ihr das:
recompilen
in logs nach minecraft-compile schauen und öffnen.
Nach ^ suchen , wenn ihr eins findet habt ihr falsch gemoddet.
Dann startet ihr test_game.bat und spielt euren Mod ^^.

3. Obfuscaten
So hab nun auch zeit , das Obfuscaten zu erklären.
1. Warum brauch ich das?
A: Da du damit die class datein erstellst (unter final_out)
2. Wie mach ich das ?
A: Ganz leicht:
Ihr geht unter C:/MCP oder da wo es ist
Dann unter Tools
wählt nun obfuscathonCharmer aus.
Dann seht ihr rechts ein paar namen stehen . Ändert diese , in die , der java datein wo ihr was geändert habt um . (Bei uns also so:
Code:
Item
ItemBeispiel
CraftingManager
)
Wenn es klappt habt ihr die class datein und addet sie nun in eure jar.


4. Item erstellen
So nun zeige ich euch wie ihr ein neues Item erstellt.
Ihr geht unter : sources/net/minecraft/net/src
Und macht eine neue Java Datei Namens : ItemBeispiel
So sieht der Grund Code aus :
Code:
package net.minecraft.src;  

public class ItemBeispiel extends Item
{
    public ItemBeispiel(int i)
    {
        super(i);
        maxStackSize = 64;
    }

    public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
    {
    }
}

Dannach geht ihr unter Item.java
Und added unten , unter den anderen befehlen die gleich anfangen:
Code:
public static Item beispiel = (new ItemExample(95)).func_20010_a(7, 6).func_20011_a("Beispiel1");

.func_20010_a(7, 6)
Ist : 7 = Waagrechte Position ; 6 = senkrechte Position
FÄNGT BEI 0 AN!

Video:
Beispiel Machete:
YouTube - Machete Minecraft
Mehr Folgen

5. Crafting Rezepte
Ihr geht nun unter CraftingManager.java und addet nun dort , wo wieder viele befehle gleich Anfangen:
Code:
addRecipe(new ItemStack(Item.beispiel, "anzahl") new Object[] {
"obernes 3 Felder crafting z.b. #  ", "mittleres 3 Felder Crafting", "unteres 3 Felder Crafting", Character.valueOf('#'), Item.stick
});
Ein Bsp:
Code:
addRecipe(new ItemStack(Item.beispiel, 2) new Object[] {
" #  ", " # ", " # ", Character.valueOf('#'), Item.stick
});

In die " " kommt immer ein Symbol hinein (Max. 3)
In Character.valueOf(' ') //welches symbol , was sein soll
, Item.stick //das Item was das Symbol davor ist.


6. Block erstellen
Also als erstes eine Datei erstellen Namens: Block.Beispiel
Das Block defeniert nun das es sich um ein Block handelt.
Der Normale Code:
Code:
package net.minecraft.src;

import java.util.Random;

public class BlockBeispiel extends Block
{
    public BlockBeispiel(int i, int j)
    {
        super(i, j, Material.rock);
    }

    public int idDropped(int i, Random random)
    {
        return 0;
    }
}

So nun muss der Block in Block.java definiert werden.
Bei mir ist ab Zeile 516 der erste "fast" gleich auszusehende source code.
Ihr addet nun bei der List ganz unten :
Code:
public static final Block Beispiel

Das war aber noch nicht alles in Block.java

Geht weiter runter ( bei mir 635)
und addet ganz unten an der Liste :
Code:
beispiel =(new BlockBeispiel(92, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep);

Das erste setzt wieder die Id und dann des Texturenbild fest.
.setHardness(1.5F) ist wie hart der Block ist ( 10F ist ungefähr obsidian stärke)
.setResistance(10F) wie stark gegen Explosionen (10 F ist SEHR SEHR SCHWACH)
Das letzte kann glaub ich jeder selbst erschliesen ^^.

Extras:
.setLightValue(1.0F) Wie stark der gegenstand leuchtet. (1F ist wie der Kürbis)

Das war nun für den Block das Grundprinzip-
Anfragen sind gerne Erwünscht^^

7.Waffen erstellen
Da ich ma Zeit hab , mach ich das auch ma:
So der Grundcode(bei mir) sieht so aus:
Code:
package net.minecraft.src;
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode


public class ItemKlinge extends Item
{

    public ItemKlinge(int i, EnumToolMaterial enumtoolmaterial)
    {
        super(i);
        maxStackSize = 1;
        maxDamage = enumtoolmaterial.func_21207_a();
        weaponDamage = 4 + enumtoolmaterial.func_21205_c() * 2;
    }

    public float getStrVsBlock(ItemStack itemstack, Block block)
    {
        return 1.5F;
    }

    public void hitEntity(ItemStack itemstack, EntityLiving entityliving)
    {
        itemstack.damageItem(1);
    }

    public void hitBlock(ItemStack itemstack, int i, int j, int k, int l)
    {
        itemstack.damageItem(2);
    }

    public int getDamageVsEntity(Entity entity)
    {
        return weaponDamage;
    }

    public boolean isFull3D()
    {
        return true;
    }

    private int weaponDamage;
}
EnumToolMaterial.java = Hier wird die Stärke von der waffe festgelegt durch
Verschiedene Ziffern.

So Nun geht unter RecipesWeapons: Bei mir ab Zeile 35.
Und addet:
Code:
craftingmanager.addRecipe(new ItemStack(Item.klinge, 1), new Object[] {
            "X", " X", "X", Character.valueOf('X'), Item.stick
        });
Ändern ^^, sonst ist der Spielspaß weg.

Als letztes geht ihr unter:
Item.java und addet bei static
Code:
swordKlinge = (new ItemKlinge(99, EnumToolMaterial.WOOD)).func_20010_a(1, 5).func_20011_a("swordKlinge");
Und dann bei mir zeile 276 :
Code:
public static Item klinge;
X, X= waagrechte , senkrechte Position
Wenn ihr eigene Icons wollt , macht eins auf einen leeren Feld (in Items , bei Items und Terrain bei Blocks)
Und nimmt dann diese Stelle (wo das Icon ist) und setzt sie da ein.
Die Icons beginnen bei 0,1,2,3...

8.Essen erstellen
Wie versprochen kommt es nun^^
Also als erstes erstellt ihr eine neue Datei :
ItemSuppe , die sieht so aus :
Code:
package net.minecraft.src;
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode


public class ItemSuppe extends ItemFood
{

    public ItemSuppe(int i, int j)
    {
       super(i, j);
    }

    public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
    {
        itemstack.stackSize--;
        entityplayer.heal(healAmount);
        return itemstack;
    }

    private int healAmount;
}

Definitionen:
int j ist bei item.java wie viel es heilen soll
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
{
itemstack.stackSize--;
entityplayer.heal(healAmount);
return itemstack;
} Das es bei rechtsklick heilt

Dannach macht ihr in CraftingManager ein Rezept ! (Das poste ich nun nicht mehr)
Als letztes geht ihr unter Item.java
Und addet unten:
Code:
public static Item suppe = (new ItemFood(26, 6)).func_20010_a(X, X).func_20011_a("Suppe");
Das bedeuted das Item suppe dir 3 Leben heilt (wegen der 6/ 1= 0,5Leben ig) . Und das es aussieht wie die Suppe.
Warum ItemFood? Da es sonst nicht heilt.



Bitte dies hier nicht verschieben , da hier auch fragen rein kommen soll .
Und es kommen auch nóch mehr Tutorials .

HINWEIS: Das MCP ist nicht von mir.Sondern von Login - Minecraft Forums
16.04.2011 22:46
Alle Beiträge dieses Benutzers finden Add Thank You Diese Nachricht in einer Antwort zitieren
[-] The following 1 user says Thank You to C0D3 for this post:
Peda (16-04-2011)
Peda
~ AnImE-Sssuuchhtii ~

Administrators
Offline

Beiträge: 3.088
Thanks: 479
Registriert seit: Apr 2011
Points: 5,608.52 g-Coins


Items:

Beitrag #2
RE: [TuT]Minecraft Modden mit MCP
trotzdem genial Smile
16.04.2011 22:47
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Add Thank You Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Minecraft zu langsam?! AkinKose 13 3.043 30.10.2015 08:21
Letzter Beitrag: kjjustinXD
  [Minecraft] Allgemeiner Tratschthread German Dream 260 63.385 13.06.2015 23:44
Letzter Beitrag: Sikasy
  Minecraft Namechange Update Sikasy 2 873 02.02.2015 15:27
Letzter Beitrag: JuperJ0nas
  Minecraft Parodies Songs Peda 4 1.204 02.09.2014 10:29
Letzter Beitrag: LuPix
  minecraft 1.7 bewertung lolco123 1 1.062 02.09.2014 10:29
Letzter Beitrag: LuPix



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste

Partner
Partner: Basic-Tutorials.de | Gamble-Community.de
Forenstyle:
Impressum | Contact Us | GamerZElite.de | Nach oben | Zum Inhalt | Mobile Version | RSS-Synchronisation