- Clientside anotations for ArmoredElytra

- Update dependency in fabric.mod.json
- Renamed interface
- Cleanup
This commit is contained in:
Aleksey 2021-05-04 10:37:48 +03:00
parent d7734cdf22
commit cdeabbccb2
5 changed files with 22 additions and 18 deletions

View file

@ -1,5 +0,0 @@
package ru.betterend.interfaces;
public interface BreakableItem {
void registerBrokenItem();
}

View file

@ -0,0 +1,9 @@
package ru.betterend.interfaces;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public interface MultiModelItem {
void registerModelPredicate();
}

View file

@ -1,7 +1,7 @@
package ru.betterend.item; package ru.betterend.item;
import net.fabricmc.fabric.api.item.v1.EquipmentSlotProvider; import net.fabricmc.api.EnvType;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlot;
@ -10,12 +10,10 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.interfaces.BreakableItem; import ru.betterend.interfaces.MultiModelItem;
import ru.betterend.patterns.Patterned;
import ru.betterend.patterns.Patterns;
import ru.betterend.registry.EndItems; import ru.betterend.registry.EndItems;
public class ArmoredElytra extends ElytraItem implements BreakableItem { public class ArmoredElytra extends ElytraItem implements MultiModelItem {
private final ResourceLocation wingTexture; private final ResourceLocation wingTexture;
private final Item repairItem; private final Item repairItem;
@ -35,6 +33,7 @@ public class ArmoredElytra extends ElytraItem implements BreakableItem {
return movementFactor; return movementFactor;
} }
@Environment(EnvType.CLIENT)
public ResourceLocation getWingTexture() { public ResourceLocation getWingTexture() {
return wingTexture; return wingTexture;
} }
@ -45,7 +44,8 @@ public class ArmoredElytra extends ElytraItem implements BreakableItem {
} }
@Override @Override
public void registerBrokenItem() { @Environment(EnvType.CLIENT)
public void registerModelPredicate() {
FabricModelPredicateProviderRegistry.register(this, new ResourceLocation("broken"), FabricModelPredicateProviderRegistry.register(this, new ResourceLocation("broken"),
(itemStack, clientLevel, livingEntity) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F); (itemStack, clientLevel, livingEntity) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F);
} }

View file

@ -21,7 +21,7 @@ import net.minecraft.world.item.*;
import net.minecraft.world.level.block.DispenserBlock; import net.minecraft.world.level.block.DispenserBlock;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.config.Configs; import ru.betterend.config.Configs;
import ru.betterend.interfaces.BreakableItem; import ru.betterend.interfaces.MultiModelItem;
import ru.betterend.item.*; import ru.betterend.item.*;
import ru.betterend.item.material.EndArmorMaterial; import ru.betterend.item.material.EndArmorMaterial;
import ru.betterend.item.material.EndToolMaterial; import ru.betterend.item.material.EndToolMaterial;
@ -132,8 +132,8 @@ public class EndItems {
return item; return item;
} }
registerItem(id, item, MOD_ITEMS); registerItem(id, item, MOD_ITEMS);
if (item instanceof BreakableItem) { if (item instanceof MultiModelItem) {
((BreakableItem) item).registerBrokenItem(); ((MultiModelItem) item).registerModelPredicate();
} }
return item; return item;
} }

View file

@ -43,9 +43,9 @@
], ],
"depends": { "depends": {
"fabricloader": ">=0.10.0", "fabricloader": ">=0.11.0",
"fabric": ">=0.29.0", "fabric": ">=0.32.0",
"minecraft": ">=1.16.3" "minecraft": ">=1.16.4"
}, },
"suggests": { "suggests": {
"byg": ">=1.1.3", "byg": ">=1.1.3",