Hallo liebe Community,
ich wollte schon seit längerem eine Minecraft[1.6.2] Mod programmieren. Ich habe noch keine Java Kenntnisse kenne mich aber bereits ziemlich gut mit C++ aus. Ich habe mir das Minecraft Coderpack gedownloadet und nun angefangen nach einem noch aus der Beta von Minecraft stammenden Tutorial zu programmieren.
Ich wollte nun einen Block namens Uranium Erz erstellen den man einfach craften soll. Nun spuckt die recompile.bat folgendes aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
== MCP 8.01 (data: 8.02, client: 1.6.1, server: 1.6.1) ==
"scalac" is not found on the PATH. Scala files will not be recompiled
# found ff, ff patches, srgs, name csvs, doc csvs, param csvs, astyle, astyle co
nfig, rg, ss
== Recompiling client ==
> Cleaning bin
> Recompiling
'"C:\Program Files\Java\jdk1.7.0_25\bin\javac" -Xlint:-options -deprecation -g -
source 1.6 -target 1....' failed : 1
== ERRORS FOUND in JAVA CODE ==
src\minecraft\net\minecraft\src\ChatMessageComponent.java:256: warning: non-vara
rgs call of varargs method with inexact argument type for last parameter;
var7.append(StatCollector.translateToLocalFormatted(this.field_1
11090_h, var13));
^
cast to Object for a varargs call
cast to Object[] for a non-varargs call and to suppress this warning
src\minecraft\net\minecraft\src\Block.java:224: error: constructor BlockUraniumE
rz in class BlockUraniumErz cannot be applied to given types;
public static final Block uraniumErz = (new BlockUraniumErz(200, 33)).setBl
ockName("UraniumErz").setLightValue(0.5F).setHardness(3.0F).setStepSound(soundSt
oneFootstep);
^
required: int
found: int,int
reason: actual and formal argument lists differ in length
1 error
1 warning
==================
!! Can not find server sources, try decompiling !!
Drücken Sie eine beliebige Taste . . .
|
Ich habe insgesamt 3 Dateien verändert Block.java, CraftingManager.java und meine eigene Datei BlockUraniumErz.java
Der Code der Dateien sieht wie folgend aus:
Block.java
|
Quellcode
|
1
|
public static final Block uraniumErz = (new BlockUraniumErz(200, 33)).setBlockName("UraniumErz").setLightValue(0.5F).setHardness(3.0F).setStepSound(soundStoneFootstep);
|
Hier hab ich die Zeile die ich in Block.java verändert habe.
CraftingManager.java
|
Quellcode
|
1
|
this.addRecipe(new ItemStack(Block.uraniumErz, 8), new Object[] {"###", "#X#", "###", '#', Block.cobblestone, 'X', Block.planks});
|
Hier ist die Zeile in der ich das Craftingrezept erstelle.
BlockUraniumErz.java
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package net.minecraft.src;
import java.util.Random;
public class BlockUraniumErz extends Block
{
public BlockUraniumErz(int par1)
{
super(par1, Material.ground);
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* Returns the ID of the items to drop on destruction.
*/
public int idDropped(int par1, Random par2Random, int par3)
{
return Block.uraniumErz.blockID;
}
}
|
Und hier die Datei für meinen Block.
Hoffe ihr könnt mir weiterhelfen.