- 122
- 4
- 6
Всем привет. Я решил заняться созданием инструмента (меч) который бы менял: текстуру, свойства (урон, скорость атаки...), + при смене режима выполнялись свои эвенты. Но понял одно я вообще ни шарю за добавление тегов их создание. И только частично понимаю, как должен выглядеть код. Если кто создавал такой вот мультитул или знает, как должно это писаться буду очень благодарен и признателен если поделитесь советом или решением моего вопроса. (П.С. До создания этой темы, я пересмотрел довольно большое количество инфы по типу исходников других модов, гайды про теги и т.д. Понял только суть но не знаю, как написать.)
ОСНОВА ПОД ИНСТРУМЕНТ
ОСНОВА ПОД ИНСТРУМЕНТ
Java:
public class Scythe extends ItemSword implements IHasModel {
public Scythe(String name, ToolMaterial material, float damage, float speed) {
super(material);
//addPropertyOverride(new ResourceLocation(Main.MODID, "fire_scythe"), (itemStack, world, entity) -> {return 1;});
//addPropertyOverride(new ResourceLocation(Main.MODID, "void_scythe"), (itemStack, world, entity) -> {return 1;});
//addPropertyOverride(new ResourceLocation(Main.MODID, "soul_scythe"), (itemStack, world, entity) -> {return 1;});
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(Main.TEG);
ItemsInit.ITEMS.add(this);
}
@Override
public void registerModels() {
Main.proxy.registerItemRenderer(this, 0, "inventory");
}
public boolean hasEffect(ItemStack stack) {
return false;
}
@Override
public Entity createEntity(World world, Entity old, ItemStack itemstack) {
EntityItem item = new EntityItem(world, old.posX, old.posY, old.posZ, itemstack) {
@Override
public void setFire(int seconds) {}
@Override
protected void setOnFireFromLava() {}
@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
if (source.isFireDamage()) {
return false;
}
return super.attackEntityFrom(source, amount);
}
};
item.copyLocationAndAnglesFrom(old);
item.motionX = old.motionX;
item.motionY = old.motionY;
item.motionZ = old.motionZ;
item.setPickupDelay(30);
return item;
}
@Override
public boolean hasCustomEntity(ItemStack stack) {
return true;
}
}
Последнее редактирование: