Beginning of soul system
This commit is contained in:
parent
85733d44d3
commit
23ae02af78
45 changed files with 713 additions and 10 deletions
|
@ -0,0 +1,56 @@
|
|||
package com.wayoftime.bloodmagic.item;
|
||||
|
||||
import com.wayoftime.bloodmagic.BloodMagic;
|
||||
import com.wayoftime.bloodmagic.core.util.register.IModelLocator;
|
||||
import com.wayoftime.bloodmagic.core.will.DemonWill;
|
||||
import com.wayoftime.bloodmagic.core.will.DemonWillHolder;
|
||||
import com.wayoftime.bloodmagic.core.will.IWillContainer;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemMonsterSoul extends ItemMundane implements IWillContainer, IModelLocator {
|
||||
|
||||
public ItemMonsterSoul() {
|
||||
super("monster_soul");
|
||||
|
||||
setMaxStackSize(1);
|
||||
addPropertyOverride(new ResourceLocation(BloodMagic.MODID, "will"), (stack, worldIn, entityIn) -> {
|
||||
DemonWillHolder holder = getDemonWill(stack);
|
||||
return holder == null || holder.getType() == DemonWill.RAW ? 0F : Float.parseFloat("0." + holder.getType().ordinal());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
|
||||
for (DemonWill will : DemonWill.VALUES) {
|
||||
ItemStack stack = new ItemStack(this);
|
||||
applyDemonWill(stack, new DemonWillHolder(will, 0));
|
||||
items.add(stack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
|
||||
IWillContainer.appendTooltip(stack, tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getMaxContained(ItemStack stack) {
|
||||
DemonWillHolder holder = getDemonWill(stack);
|
||||
return holder == null ? Double.MAX_VALUE : holder.getAmount();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public ResourceLocation getModelPath() {
|
||||
return new ResourceLocation(BloodMagic.MODID, "soul/monster_soul");
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue