Hallo liebes Forum,
ist mir ein wenig peinlich diese Frage zu stellen aber anscheinend bin ich ein wenig betriebsblind und finde meinen Fehler nicht. Kommen wir zum Problem. Ich füge mithilfe meiner Mod einen Block hinzu welcher ein bestimmtes HarvestLevel und ein bestimmtes Tool benötigen soll. Wenn ich das HarvestLevel vom block abfrage dann wird auch der richtige wert angezeigt aber ingame kann ich trotzdem den block mit einem normalen Item (also kein Tool) abbauen. Hardness und Ressistance des Blocks wird auf die gleiche weise setzt und das funktioniert problemlos.
Vielleicht findet ja einer von euch vor mir den Fehler.
Schon mal im voraus danke
ist mir ein wenig peinlich diese Frage zu stellen aber anscheinend bin ich ein wenig betriebsblind und finde meinen Fehler nicht. Kommen wir zum Problem. Ich füge mithilfe meiner Mod einen Block hinzu welcher ein bestimmtes HarvestLevel und ein bestimmtes Tool benötigen soll. Wenn ich das HarvestLevel vom block abfrage dann wird auch der richtige wert angezeigt aber ingame kann ich trotzdem den block mit einem normalen Item (also kein Tool) abbauen. Hardness und Ressistance des Blocks wird auf die gleiche weise setzt und das funktioniert problemlos.
java:
public BlockBase(String name, Material material){
super(material);
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(CreativeTabs.MISC);
ModBlocks.BLOCKS.add(this);
ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
}
@Override
public void registerModels() {
BlutmondCore.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
}
java:
public BlockBaseAdvanced(String name, Material material, SoundType soundOnWalking, BlockHardness hardness, BlastResistance resistance, Tools tool, Harvestlevels harvestlevel){
super(name, material);
this.setSoundType(soundOnWalking);
this.setHardness(hardness.getHardness());
this.setResistance(resistance.getBlastResistance());
this.setHarvestLevel(tool.getToolType(), harvestlevel.getHarvestLevel());
System.out.println("Register: " + this.getRegistryName() + " with harvestlevel: " + this.getHarvestLevel(this.getDefaultState())); //debug
}
java:
AXE("axe"),
PICKAXE("pickaxe"),
SHOVEL("shovel"),
SWORD("sword");
private String type;
Tools(String type){
this.type = type;
}
public String getToolType(){
return this.type;
}
java:
WOOD(0),
STONE(1),
COPPER(2),
IRON(3),
BRONZ(4),
STEEL(5),
PLATINUM(6),
DARKSTEEL(7),
MITHRIL(8),
ORICHALCUM(9),
DELDRIMOR_STEEL(10);
private int level;
Harvestlevels(int level){
this.level = level;
}
public int getHarvestLevel(){
return this.level;
}
Vielleicht findet ja einer von euch vor mir den Fehler.
Schon mal im voraus danke
Zuletzt bearbeitet: