Changed models loading (Done)
This commit is contained in:
parent
831faeb306
commit
5da634fc73
63 changed files with 490 additions and 729 deletions
|
@ -21,12 +21,7 @@ public class EnchantedPetalItem extends ModelProviderItem {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_GENERATED, "item/hydralux_petal");
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockModel getModel(ResourceLocation resourceLocation) {
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createItemModel("hydralux_petal");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,13 +9,13 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
public class EndArmorItem extends ArmorItem implements ModelProvider {
|
||||
public class EndArmorItem extends ArmorItem implements ItemModelProvider {
|
||||
|
||||
protected static final UUID[] ARMOR_MODIFIER_UUID_PER_SLOT = new UUID[] {
|
||||
UUID.fromString("845DB27C-C624-495F-8C9F-6020A9A58B6B"),
|
||||
|
@ -48,9 +48,4 @@ public class EndArmorItem extends ArmorItem implements ModelProvider {
|
|||
}
|
||||
defaultModifiers.put(attribute, modifier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createItemGenerated(name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,19 +3,14 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
import ru.betterend.registry.EndItems;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndBucketItem extends FishBucketItem implements ModelProvider {
|
||||
public class EndBucketItem extends FishBucketItem implements ItemModelProvider {
|
||||
public EndBucketItem(EntityType<?> type) {
|
||||
super(type, Fluids.WATER, EndItems.makeItemSettings().stacksTo(1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_GENERATED, name);
|
||||
}
|
||||
}
|
||||
|
|
14
src/main/java/ru/betterend/item/EndDiscItem.java
Normal file
14
src/main/java/ru/betterend/item/EndDiscItem.java
Normal file
|
@ -0,0 +1,14 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.item.RecordItem;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndDiscItem extends RecordItem implements ItemModelProvider {
|
||||
public EndDiscItem(int comparatorOutput, SoundEvent sound, Properties settings) {
|
||||
super(comparatorOutput, sound, settings);
|
||||
}
|
||||
}
|
|
@ -4,24 +4,19 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndSpawnEggItem extends SpawnEggItem implements ModelProvider {
|
||||
public class EndSpawnEggItem extends SpawnEggItem implements ItemModelProvider {
|
||||
public EndSpawnEggItem(EntityType<?> type, int primaryColor, int secondaryColor, Properties settings) {
|
||||
super(type, primaryColor, secondaryColor, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_SPAWN_EGG, name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockModel getModel(ResourceLocation resourceLocation) {
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
Optional<String> pattern = Patterns.createJson(Patterns.ITEM_SPAWN_EGG, resourceLocation.getPath());
|
||||
return ModelsHelper.fromPattern(pattern);
|
||||
}
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
package ru.betterend.item;
|
||||
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.item.RecordItem;
|
||||
import ru.betterend.client.models.ModelProvider;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class ModelProviderDiscItem extends RecordItem implements ModelProvider {
|
||||
public ModelProviderDiscItem(int comparatorOutput, SoundEvent sound, Properties settings) {
|
||||
super(comparatorOutput, sound, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_GENERATED, name);
|
||||
}
|
||||
}
|
|
@ -3,24 +3,19 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class ModelProviderItem extends Item implements ModelProvider {
|
||||
public class ModelProviderItem extends Item implements ItemModelProvider {
|
||||
public ModelProviderItem(Properties settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createItemGenerated(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockModel getModel(ResourceLocation resourceLocation) {
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createItemModel(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@ 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;
|
||||
|
@ -9,12 +11,13 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndAxeItem extends AxeItem implements DynamicAttributeTool, ModelProvider {
|
||||
public class EndAxeItem extends AxeItem implements DynamicAttributeTool, ItemModelProvider {
|
||||
public EndAxeItem(Tier material, float attackDamage, float attackSpeed, Properties settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
|
@ -28,7 +31,7 @@ public class EndAxeItem extends AxeItem implements DynamicAttributeTool, ModelPr
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,9 @@ import com.google.common.collect.Sets;
|
|||
|
||||
import io.netty.util.internal.ThreadLocalRandom;
|
||||
import net.fabricmc.fabric.api.tool.attribute.v1.DynamicAttributeTool;
|
||||
import net.minecraft.client.renderer.block.model.BlockModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
|
@ -27,11 +29,12 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
import ru.betterend.registry.EndTags;
|
||||
|
||||
public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, ModelProvider {
|
||||
public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, ItemModelProvider {
|
||||
public final static UUID ATTACK_KNOCKBACK_MODIFIER_ID = Mth.createInsecureUUID(ThreadLocalRandom.current());
|
||||
|
||||
private final Multimap<Attribute, AttributeModifier> attributeModifiers;
|
||||
|
@ -58,9 +61,7 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, M
|
|||
|
||||
@Override
|
||||
public boolean hurtEnemy(ItemStack stack, LivingEntity target, LivingEntity attacker) {
|
||||
stack.hurtAndBreak(1, attacker, ((entity) -> {
|
||||
entity.broadcastBreakEvent(EquipmentSlot.MAINHAND);
|
||||
}));
|
||||
stack.hurtAndBreak(1, attacker, ((entity) -> entity.broadcastBreakEvent(EquipmentSlot.MAINHAND)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -68,9 +69,7 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, M
|
|||
@Override
|
||||
public boolean mineBlock(ItemStack stack, Level world, BlockState state, BlockPos pos, LivingEntity miner) {
|
||||
if (state.getDestroySpeed(world, pos) != 0.0F) {
|
||||
stack.hurtAndBreak(1, miner, ((entity) -> {
|
||||
entity.broadcastBreakEvent(EquipmentSlot.MAINHAND);
|
||||
}));
|
||||
stack.hurtAndBreak(1, miner, ((entity) -> entity.broadcastBreakEvent(EquipmentSlot.MAINHAND)));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -82,13 +81,13 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, M
|
|||
return this.getTier().getSpeed() * 2.0F;
|
||||
}
|
||||
if (isCorrectToolForDrops(state)) {
|
||||
float mult = 1.0F;
|
||||
float mult;
|
||||
if (state.is(Blocks.DIAMOND_BLOCK) || state.is(Blocks.EMERALD_BLOCK) || state.is(Blocks.LAPIS_BLOCK) || state.is(Blocks.REDSTONE_BLOCK)) {
|
||||
mult = this.getTier().getSpeed();
|
||||
} else {
|
||||
mult = this.getTier().getSpeed() / 2.0F;
|
||||
}
|
||||
return mult > 1.0F ? mult : 1.0F;
|
||||
return Math.max(mult, 1.0F);
|
||||
}
|
||||
return 1.0F;
|
||||
}
|
||||
|
@ -136,7 +135,7 @@ public class EndHammerItem extends DiggerItem implements DynamicAttributeTool, M
|
|||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndHoeItem extends HoeItem implements ModelProvider {
|
||||
public class EndHoeItem extends HoeItem implements ItemModelProvider {
|
||||
public EndHoeItem(Tier material, int attackDamage, float attackSpeed, Properties settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ 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;
|
||||
|
@ -12,12 +14,13 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndPickaxeItem extends PickaxeItem implements DynamicAttributeTool, ModelProvider {
|
||||
public class EndPickaxeItem extends PickaxeItem implements DynamicAttributeTool, ItemModelProvider {
|
||||
public EndPickaxeItem(Tier material, int attackDamage, float attackSpeed, Properties settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
|
@ -25,22 +28,22 @@ public class EndPickaxeItem extends PickaxeItem implements DynamicAttributeTool,
|
|||
@Override
|
||||
public int getMiningLevel(Tag<Item> tag, BlockState state, ItemStack stack, LivingEntity user) {
|
||||
if (tag.equals(FabricToolTags.PICKAXES)) {
|
||||
return this.getTier().getLevel();
|
||||
return getTier().getLevel();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, BlockState state) {
|
||||
if (this.getTier().getLevel() > 2 && state.getMaterial().equals(Blocks.END_STONE.defaultBlockState().getMaterial())) {
|
||||
return this.speed * 3;
|
||||
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) ? this.speed : super.getDestroySpeed(stack, state);
|
||||
return (entry != null && entry.getMiningLevel(FabricToolTags.PICKAXES) >= 0) ? speed : super.getDestroySpeed(stack, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ 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;
|
||||
|
@ -11,12 +13,13 @@ 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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndShovelItem extends ShovelItem implements DynamicAttributeTool, ModelProvider {
|
||||
public class EndShovelItem extends ShovelItem implements DynamicAttributeTool, ItemModelProvider {
|
||||
public EndShovelItem(Tier material, float attackDamage, float attackSpeed, Properties settings) {
|
||||
super(material, attackDamage, attackSpeed, settings);
|
||||
}
|
||||
|
@ -32,11 +35,11 @@ public class EndShovelItem extends ShovelItem implements DynamicAttributeTool, M
|
|||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, BlockState state) {
|
||||
Entry entry = ToolManagerImpl.entryNullable(state.getBlock());
|
||||
return (entry != null && entry.getMiningLevel(FabricToolTags.SHOVELS) >= 0) ? this.speed : super.getDestroySpeed(stack, state);
|
||||
return (entry != null && entry.getMiningLevel(FabricToolTags.SHOVELS) >= 0) ? speed : super.getDestroySpeed(stack, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,20 +1,23 @@
|
|||
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.ModelProvider;
|
||||
import ru.betterend.client.models.ItemModelProvider;
|
||||
import ru.betterend.client.models.ModelsHelper;
|
||||
import ru.betterend.client.models.Patterns;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class EndSwordItem extends SwordItem implements DynamicAttributeTool, ModelProvider {
|
||||
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 Optional<String> getModelString(String name) {
|
||||
return Patterns.createJson(Patterns.ITEM_HANDHELD, name);
|
||||
public BlockModel getItemModel(ResourceLocation resourceLocation) {
|
||||
return ModelsHelper.createHandheldItem(resourceLocation.getPath());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue