Apply BCLib (WIP)

This commit is contained in:
Aleksey 2021-05-28 16:42:14 +03:00
parent 746613cbf1
commit 006dc63583
65 changed files with 122 additions and 775 deletions

View file

@ -12,6 +12,7 @@ import net.minecraft.world.item.ItemUtils;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.level.Level;
import ru.bclib.items.ModelProviderItem;
public class DrinkItem extends ModelProviderItem {
public DrinkItem(Properties settings) {

View file

@ -4,7 +4,9 @@ import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import ru.betterend.client.models.ModelsHelper;
import ru.bclib.client.models.ModelsHelper;
import ru.bclib.items.ModelProviderItem;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndItems;
public class EnchantedPetalItem extends ModelProviderItem {
@ -19,6 +21,6 @@ public class EnchantedPetalItem extends ModelProviderItem {
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createItemModel("hydralux_petal");
return ModelsHelper.createItemModel(BetterEnd.makeID("hydralux_petal"));
}
}

View file

@ -11,7 +11,7 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ArmorItem;
import net.minecraft.world.item.ArmorMaterial;
import ru.betterend.client.models.ItemModelProvider;
import ru.bclib.client.models.ItemModelProvider;
public class EndArmorItem extends ArmorItem implements ItemModelProvider {

View file

@ -3,7 +3,7 @@ package ru.betterend.item;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.FishBucketItem;
import net.minecraft.world.level.material.Fluids;
import ru.betterend.client.models.ItemModelProvider;
import ru.bclib.client.models.ItemModelProvider;
import ru.betterend.registry.EndItems;
public class EndBucketItem extends FishBucketItem implements ItemModelProvider {

View file

@ -2,7 +2,7 @@ package ru.betterend.item;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.RecordItem;
import ru.betterend.client.models.ItemModelProvider;
import ru.bclib.client.models.ItemModelProvider;
public class EndDiscItem extends RecordItem implements ItemModelProvider {
public EndDiscItem(int comparatorOutput, SoundEvent sound, Properties settings) {

View file

@ -6,8 +6,8 @@ import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.SpawnEggItem;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
import ru.bclib.client.models.ItemModelProvider;
import ru.bclib.client.models.ModelsHelper;
import ru.betterend.client.models.Patterns;
public class EndSpawnEggItem extends SpawnEggItem implements ItemModelProvider {

View file

@ -1,6 +1,7 @@
package ru.betterend.item;
import net.minecraft.world.item.Rarity;
import ru.bclib.items.ModelProviderItem;
import ru.betterend.registry.EndItems;
public class EternalCrystalItem extends ModelProviderItem {

View file

@ -13,6 +13,7 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import ru.bclib.items.ModelProviderItem;
import ru.betterend.BetterEnd;
import ru.betterend.registry.EndItems;
import ru.betterend.util.LangUtil;

View file

@ -1,18 +0,0 @@
package ru.betterend.item;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class ModelProviderItem extends Item implements ItemModelProvider {
public ModelProviderItem(Properties settings) {
super(settings);
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createItemModel(resourceLocation.getPath());
}
}

View file

@ -1,34 +0,0 @@
package ru.betterend.item.tool;
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.Tag;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.AxeItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Tier;
import net.minecraft.world.level.block.state.BlockState;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class EndAxeItem extends AxeItem implements DynamicAttributeTool, ItemModelProvider {
public EndAxeItem(Tier material, float attackDamage, float attackSpeed, Properties settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.AXES)) {
return this.getTier().getLevel();
}
return 0;
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
}
}

View file

@ -28,8 +28,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.Material;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
import ru.bclib.client.models.ItemModelProvider;
import ru.bclib.client.models.ModelsHelper;
import ru.betterend.registry.EndTags;
public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, ItemModelProvider {
@ -134,6 +134,6 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, I
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
return ModelsHelper.createHandheldItem(resourceLocation);
}
}

View file

@ -1,19 +0,0 @@
package ru.betterend.item.tool;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.HoeItem;
import net.minecraft.world.item.Tier;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class EndHoeItem extends HoeItem implements ItemModelProvider {
public EndHoeItem(Tier material, int attackDamage, float attackSpeed, Properties settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
}
}

View file

@ -1,46 +0,0 @@
package ru.betterend.item.tool;
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl.Entry;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.Tag;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.Tier;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class EndPickaxeItem extends PickaxeItem implements DynamicAttributeTool, ItemModelProvider {
public EndPickaxeItem(Tier material, int attackDamage, float attackSpeed, Properties settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.PICKAXES)) {
return getTier().getLevel();
}
return 0;
}
@Override
public float getDestroySpeed(ItemStack stack, BlockState state) {
if (getTier().getLevel() > 2 && state.getMaterial().equals(Blocks.END_STONE.defaultBlockState().getMaterial())) {
return speed * 3;
}
Entry entry = ToolManagerImpl.entryNullable(state.getBlock());
return (entry != null && entry.getMiningLevel(FabricToolTags.PICKAXES) >= 0) ? speed : super.getDestroySpeed(stack, state);
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
}
}

View file

@ -1,42 +0,0 @@
package ru.betterend.item.tool;
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl;
import net.fabricmc.fabric.impl.tool.attribute.ToolManagerImpl.Entry;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.Tag;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ShovelItem;
import net.minecraft.world.item.Tier;
import net.minecraft.world.level.block.state.BlockState;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class EndShovelItem extends ShovelItem implements DynamicAttributeTool, ItemModelProvider {
public EndShovelItem(Tier material, float attackDamage, float attackSpeed, Properties settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
if (tag.equals(FabricToolTags.SHOVELS)) {
return this.getTier().getLevel();
}
return 0;
}
@Override
public float getDestroySpeed(ItemStack stack, BlockState state) {
Entry entry = ToolManagerImpl.entryNullable(state.getBlock());
return (entry != null && entry.getMiningLevel(FabricToolTags.SHOVELS) >= 0) ? speed : super.getDestroySpeed(stack, state);
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
}
}

View file

@ -1,20 +0,0 @@
package ru.betterend.item.tool;
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.Tier;
import ru.betterend.client.models.ItemModelProvider;
import ru.betterend.client.models.ModelsHelper;
public class EndSwordItem extends SwordItem implements DynamicAttributeTool, ItemModelProvider {
public EndSwordItem(Tier material, int attackDamage, float attackSpeed, Properties settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public BlockModel getItemModel(ResourceLocation resourceLocation) {
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
}
}