调整gun item

This commit is contained in:
17146 2025-05-29 22:31:10 +08:00 committed by Light_Quanta
parent 2c3c1d3b54
commit 45044e9f81
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
38 changed files with 61 additions and 448 deletions

View file

@ -51,6 +51,10 @@ import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.SingletonGeoAnimatable;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.*;
@ -58,11 +62,19 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
@EventBusSubscriber(modid = Mod.MODID, bus = EventBusSubscriber.Bus.MOD)
public abstract class GunItem extends Item implements CustomRendererItem {
public abstract class GunItem extends Item implements CustomRendererItem, GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public GunItem(Properties properties) {
super(properties);
addReloadTimeBehavior(this.reloadTimeBehaviors);
SingletonGeoAnimatable.registerSyncedAnimatable(this);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override

View file

@ -21,11 +21,8 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.List;
@ -33,9 +30,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class AureliaSceptre extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class AureliaSceptre extends GunItem {
public AureliaSceptre() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -118,11 +113,6 @@ public class AureliaSceptre extends GunItem implements GeoItem {
data.add(meleeController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public ResourceLocation getGunIcon() {
return Mod.loc("textures/gun_icon/aurelia_sceptre_icon.png");

View file

@ -13,20 +13,15 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Glock17Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Glock17Item extends GunItem {
public Glock17Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -82,11 +77,6 @@ public class Glock17Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.GLOCK_17_RELOAD_EMPTY.get(), ModSounds.GLOCK_17_RELOAD_NORMAL.get());

View file

@ -13,20 +13,15 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Glock18Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Glock18Item extends GunItem {
public Glock18Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -81,11 +76,6 @@ public class Glock18Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(

View file

@ -11,24 +11,17 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class M1911Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public class M1911Item extends GunItem {
public M1911Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -39,10 +32,6 @@ public class M1911Item extends GunItem implements GeoItem {
return M1911ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState fireAnimPredicate(AnimationState<M1911Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -87,11 +76,6 @@ public class M1911Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(

View file

@ -13,20 +13,15 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Mp443Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Mp443Item extends GunItem {
public Mp443Item() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -82,11 +77,6 @@ public class Mp443Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.MP_443_RELOAD_EMPTY.get(), ModSounds.MP_443_RELOAD_NORMAL.get());

View file

@ -21,20 +21,15 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;
public class Trachelium extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Trachelium extends GunItem {
public Trachelium() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -203,11 +198,6 @@ public class Trachelium extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> list, TooltipFlag tooltipFlag) {

View file

@ -17,18 +17,13 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class Ntw20Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Ntw20Item extends GunItem {
public Ntw20Item() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -104,11 +99,6 @@ public class Ntw20Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public boolean canAdjustZoom(ItemStack stack) {
return GunData.from(stack).attachment.get(AttachmentType.SCOPE) == 3;

View file

@ -39,11 +39,8 @@ import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.network.PacketDistributor;
import org.jetbrains.annotations.NotNull;
import org.joml.Vector3d;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.List;
@ -51,9 +48,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.function.Supplier;
public class JavelinItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class JavelinItem extends GunItem {
public JavelinItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -91,11 +86,6 @@ public class JavelinItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.JAVELIN_RELOAD_EMPTY.get(), ModSounds.JAVELIN_LOCK.get(), ModSounds.JAVELIN_LOCKON.get());

View file

@ -20,29 +20,24 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Optional;
import java.util.Set;
import java.util.function.Supplier;
public class M79Item extends GunItem implements GeoItem {
public class M79Item extends GunItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public M79Item() {
super(new Item.Properties().stacksTo(1).fireResistant().rarity(Rarity.RARE));
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_79_RELOAD_EMPTY.get());
}
public M79Item() {
super(new Properties().stacksTo(1).fireResistant().rarity(Rarity.RARE));
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M79ItemRenderer::new;
@ -70,11 +65,6 @@ public class M79Item extends GunItem implements GeoItem {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_79.idle"));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var idleController = new AnimationController<>(this, "idleController", 3, this::idlePredicate);

View file

@ -22,11 +22,8 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Map;
@ -35,9 +32,7 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class RpgItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class RpgItem extends GunItem {
public RpgItem() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -81,11 +76,6 @@ public class RpgItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.RPG_RELOAD_EMPTY.get());

View file

@ -32,19 +32,15 @@ import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.List;
import java.util.Optional;
import java.util.function.Supplier;
public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class SecondaryCataclysm extends GunItem implements EnergyStorageItem {
public SecondaryCataclysm() {
super(new Properties().stacksTo(1).fireResistant().rarity(ModEnumExtensions.getLegendary()));
@ -144,11 +140,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.secondary_cataclysm.idle"));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var reloadAnimController = new AnimationController<>(this, "reloadAnimController", 1, this::reloadAnimPredicate);

View file

@ -11,22 +11,15 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class DevotionItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public class DevotionItem extends GunItem {
public DevotionItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -37,10 +30,6 @@ public class DevotionItem extends GunItem implements GeoItem {
return DevotionItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<DevotionItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -72,11 +61,6 @@ public class DevotionItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.DEVOTION_RELOAD_EMPTY.get(), ModSounds.DEVOTION_RELOAD_NORMAL.get());

View file

@ -16,11 +16,8 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Map;
@ -28,9 +25,7 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class M60Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class M60Item extends GunItem {
public M60Item() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -87,11 +82,6 @@ public class M60Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_60_RELOAD_EMPTY.get(), ModSounds.M_60_RELOAD_NORMAL.get());

View file

@ -11,17 +11,12 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.function.Supplier;
public class MinigunItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class MinigunItem extends GunItem {
public MinigunItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -59,11 +54,6 @@ public class MinigunItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public ResourceLocation getGunIcon() {
return Mod.loc("textures/gun_icon/minigun_icon.png");
@ -73,5 +63,4 @@ public class MinigunItem extends GunItem implements GeoItem {
public String getGunDisplayName() {
return "M134 MINIGUN";
}
}

View file

@ -19,19 +19,14 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Set;
import java.util.function.Supplier;
public class RpkItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class RpkItem extends GunItem {
public RpkItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -149,11 +144,6 @@ public class RpkItem extends GunItem implements GeoItem {
return GunData.from(stack).attachment.get(AttachmentType.SCOPE) == 3;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.RPK_RELOAD_EMPTY.get(), ModSounds.RPK_RELOAD_NORMAL.get());

View file

@ -15,39 +15,28 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class AK12Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.AK_12_RELOAD_EMPTY.get(), ModSounds.AK_12_RELOAD_NORMAL.get());
}
public class AK12Item extends GunItem {
public AK12Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return AK12ItemRenderer::new;
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.AK_12_RELOAD_EMPTY.get(), ModSounds.AK_12_RELOAD_NORMAL.get());
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return AK12ItemRenderer::new;
}
private PlayState idlePredicate(AnimationState<AK12Item> event) {
@ -124,11 +113,6 @@ public class AK12Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public boolean canAdjustZoom(ItemStack stack) {
return GunData.from(stack).attachment.get(AttachmentType.SCOPE) == 3;

View file

@ -15,41 +15,30 @@ import net.minecraft.client.player.LocalPlayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class AK47Item extends GunItem implements GeoItem {
public class AK47Item extends GunItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType;
public AK47Item() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.RARE));
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.AK_47_RELOAD_EMPTY.get(), ModSounds.AK_47_RELOAD_NORMAL.get());
}
public AK47Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return AK47ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<AK47Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -132,11 +121,6 @@ public class AK47Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public int getCustomMagazine(ItemStack stack) {
int magType = GunData.from(stack).attachment.get(AttachmentType.MAGAZINE);

View file

@ -17,18 +17,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class Hk416Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Hk416Item extends GunItem {
public Hk416Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -146,11 +141,6 @@ public class Hk416Item extends GunItem implements GeoItem {
return GunData.from(stack).attachment.get(AttachmentType.SCOPE) == 3;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.HK_416_RELOAD_EMPTY.get(), ModSounds.HK_416_RELOAD_NORMAL.get());

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class InsidiousItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class InsidiousItem extends GunItem {
public InsidiousItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -62,11 +57,6 @@ public class InsidiousItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.VECTOR_RELOAD_NORMAL.get(), ModSounds.VECTOR_RELOAD_EMPTY.get());

View file

@ -17,18 +17,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class M4Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class M4Item extends GunItem {
public M4Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -122,11 +117,6 @@ public class M4Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_4_RELOAD_EMPTY.get(), ModSounds.M_4_RELOAD_NORMAL.get());

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class MarlinItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class MarlinItem extends GunItem {
public MarlinItem() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
@ -95,11 +90,6 @@ public class MarlinItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.MARLIN_LOOP.get(),

View file

@ -17,20 +17,15 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Mk14Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Mk14Item extends GunItem {
public Mk14Item() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -123,11 +118,6 @@ public class Mk14Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public int getCustomMagazine(ItemStack stack) {
int magType = GunData.from(stack).attachment.get(AttachmentType.MAGAZINE);

View file

@ -19,11 +19,8 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Map;
@ -31,9 +28,7 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Qbz95Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Qbz95Item extends GunItem {
public Qbz95Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -126,11 +121,6 @@ public class Qbz95Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {

View file

@ -15,11 +15,8 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Map;
@ -27,9 +24,7 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class SksItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class SksItem extends GunItem {
public SksItem() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.RARE));
@ -76,11 +71,6 @@ public class SksItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {

View file

@ -14,18 +14,14 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class Aa12Item extends GunItem implements GeoItem {
public class Aa12Item extends GunItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationProcedure = "empty";
public static ItemDisplayContext transformType;
@ -38,10 +34,6 @@ public class Aa12Item extends GunItem implements GeoItem {
return Aa12ItemRenderer::new;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState<Aa12Item> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -93,11 +85,6 @@ public class Aa12Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.AA_12_RELOAD_EMPTY.get(), ModSounds.AA_12_RELOAD_NORMAL.get());

View file

@ -20,18 +20,13 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class HomemadeShotgunItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class HomemadeShotgunItem extends GunItem {
public HomemadeShotgunItem() {
super(new Item.Properties().durability(24).rarity(Rarity.COMMON));
@ -95,11 +90,6 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public ResourceLocation getGunIcon() {
return Mod.loc("textures/gun_icon/homemade_shotgun_icon.png");

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class M870Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class M870Item extends GunItem {
public M870Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -101,11 +96,6 @@ public class M870Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_870_PREPARE_LOAD.get(),

View file

@ -18,19 +18,14 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Set;
import java.util.function.Supplier;
public class Mp5Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class Mp5Item extends GunItem {
public Mp5Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -96,11 +91,6 @@ public class Mp5Item extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {

View file

@ -17,25 +17,19 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Set;
import java.util.function.Supplier;
public class VectorItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class VectorItem extends GunItem {
public VectorItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
}
private PlayState idlePredicate(AnimationState<VectorItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
@ -93,11 +87,6 @@ public class VectorItem extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return VectorItemRenderer::new;

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class HuntingRifleItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class HuntingRifleItem extends GunItem {
public HuntingRifleItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -66,11 +61,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public ResourceLocation getGunIcon() {
return Mod.loc("textures/gun_icon/hunting_rifle_icon.png");

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class K98Item extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class K98Item extends GunItem {
public K98Item() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -105,11 +100,6 @@ public class K98Item extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(

View file

@ -19,19 +19,14 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Set;
import java.util.function.Supplier;
public class M98bItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class M98bItem extends GunItem {
public M98bItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -101,11 +96,6 @@ public class M98bItem extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_98B_RELOAD_EMPTY.get(), ModSounds.M_98B_RELOAD_NORMAL.get(), ModSounds.M_98B_BOLT.get());

View file

@ -13,18 +13,13 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Set;
import java.util.function.Supplier;
public class MosinNagantItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class MosinNagantItem extends GunItem {
public MosinNagantItem() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
@ -103,11 +98,6 @@ public class MosinNagantItem extends GunItem implements GeoItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(

View file

@ -21,19 +21,14 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Optional;
import java.util.Set;
import java.util.function.Supplier;
public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class SentinelItem extends GunItem implements EnergyStorageItem {
public SentinelItem() {
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
@ -138,11 +133,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
}
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(

View file

@ -17,20 +17,15 @@ import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class SvdItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class SvdItem extends GunItem {
public SvdItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -87,11 +82,6 @@ public class SvdItem extends GunItem implements GeoItem {
data.add(editController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.SVD_RELOAD_EMPTY.get(), ModSounds.SVD_RELOAD_NORMAL.get());

View file

@ -28,19 +28,14 @@ import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.network.PacketDistributor;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Optional;
import java.util.function.Supplier;
public class BocekItem extends GunItem implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public class BocekItem extends GunItem {
public BocekItem() {
super(new Properties().stacksTo(1).rarity(Rarity.EPIC));
@ -109,12 +104,6 @@ public class BocekItem extends GunItem implements GeoItem {
data.add(reloadController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {

View file

@ -26,23 +26,18 @@ import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.*;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Optional;
import java.util.Set;
import java.util.function.Supplier;
public class TaserItem extends GunItem implements GeoItem, EnergyStorageItem {
public class TaserItem extends GunItem implements EnergyStorageItem {
public static final int MAX_ENERGY = 6000;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public TaserItem() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
}
@ -101,11 +96,6 @@ public class TaserItem extends GunItem implements GeoItem, EnergyStorageItem {
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
@ParametersAreNonnullByDefault
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {