diff --git a/build.gradle b/build.gradle index 1ae9240416..1db455ddb2 100755 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'net.neoforged.gradle.userdev' version '7.+' - id "net.neoforged.gradle.mixin" version "7.+" + id 'net.neoforged.gradle.userdev' version '7.0.+' + id "net.neoforged.gradle.mixin" version "7.0.+" id 'com.matthewprenger.cursegradle' version '1.4.0' id "com.modrinth.minotaur" version "2.4.5" id 'de.undercouch.download' version '3.3.0' diff --git a/gradle.properties b/gradle.properties index 0c0095a45a..062e5a4a27 100755 --- a/gradle.properties +++ b/gradle.properties @@ -4,10 +4,10 @@ org.gradle.jvmargs=-Xmx3G org.gradle.debug=false # forge -minecraft_version=1.20.5 -minecraft_version_range=[1.20.5,1.21) -forge_version=20.5.15-beta -forge_version_range=[20.5.15-beta,) +minecraft_version=1.20.6 +minecraft_version_range=[1.20.6,1.21) +forge_version=20.6.16-beta +forge_version_range=[20.6.16-beta,) loader_version_range=[1,) parchment_minecraft_version=1.20.4 parchment_mappings_version=2024.04.14 @@ -45,7 +45,7 @@ include_guideapi=false guideapi_version=1.20.1-2.2.6 #terrablender setting -include_terrablender=true +include_terrablender=false terrablender_version=1.20.4-3.3.0.12 #jade diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 17655d0ef2..48c0a02ca4 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/api/java/de/teamlapen/vampirism/api/VReference.java b/src/api/java/de/teamlapen/vampirism/api/VReference.java index 709a756fdf..6a0d904bcb 100755 --- a/src/api/java/de/teamlapen/vampirism/api/VReference.java +++ b/src/api/java/de/teamlapen/vampirism/api/VReference.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.entity.player.hunter.IHunterPlayer; import de.teamlapen.vampirism.api.entity.player.vampire.IVampirePlayer; import de.teamlapen.vampirism.api.entity.player.vampire.IVampireVision; -import de.teamlapen.vampirism.api.items.IVampirismCrossbow; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.MobCategory; diff --git a/src/api/java/de/teamlapen/vampirism/api/VampirismDataComponents.java b/src/api/java/de/teamlapen/vampirism/api/VampirismDataComponents.java index 8f16e3fd28..bcd6e3f027 100644 --- a/src/api/java/de/teamlapen/vampirism/api/VampirismDataComponents.java +++ b/src/api/java/de/teamlapen/vampirism/api/VampirismDataComponents.java @@ -29,5 +29,7 @@ public static class Keys { public static final ResourceLocation VAMPIRE_SWORD = new ResourceLocation(VReference.MODID, "vampire_sword"); public static final ResourceLocation TRAINING_CACHE = new ResourceLocation(VReference.MODID, "training_cache"); public static final ResourceLocation SELECTED_AMMUNITION = new ResourceLocation(VReference.MODID, "selected_ammunition"); + public static final ResourceLocation BLOOD_CHARGED = new ResourceLocation(VReference.MODID, "blood_charged"); + public static final ResourceLocation BOTTLE_BLOOD = new ResourceLocation(VReference.MODID, "bottle_blood"); } } diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/convertible/Converter.java b/src/api/java/de/teamlapen/vampirism/api/entity/convertible/Converter.java index 7f2aefa953..d952f97e79 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/convertible/Converter.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/convertible/Converter.java @@ -4,7 +4,6 @@ import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.api.VampirismRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.Nullable; import java.util.function.Function; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/effect/EffectInstanceWithSource.java b/src/api/java/de/teamlapen/vampirism/api/entity/effect/EffectInstanceWithSource.java index c3e534643d..2464fc23e8 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/effect/EffectInstanceWithSource.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/effect/EffectInstanceWithSource.java @@ -2,7 +2,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.effect.MobEffectInstance; -import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.Nullable; /** diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionEntity.java b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionEntity.java index f717b67703..837b987214 100755 --- a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionEntity.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionEntity.java @@ -1,9 +1,7 @@ package de.teamlapen.vampirism.api.entity.factions; import de.teamlapen.vampirism.api.extensions.IEntity; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; /** diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionRegistry.java b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionRegistry.java index 716716dba1..4bd5669304 100755 --- a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionRegistry.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IFactionRegistry.java @@ -9,7 +9,6 @@ import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.neoforged.neoforge.attachment.AttachmentType; -import net.neoforged.neoforge.common.util.NonNullSupplier; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/factions/ILordPlayerBuilder.java b/src/api/java/de/teamlapen/vampirism/api/entity/factions/ILordPlayerBuilder.java index 0d19feb705..b203f83f66 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/factions/ILordPlayerBuilder.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/factions/ILordPlayerBuilder.java @@ -3,7 +3,6 @@ import de.teamlapen.vampirism.api.entity.minion.IMinionData; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IPlayableFaction.java b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IPlayableFaction.java index fa47fde998..909c782b01 100755 --- a/src/api/java/de/teamlapen/vampirism/api/entity/factions/IPlayableFaction.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/factions/IPlayableFaction.java @@ -6,7 +6,6 @@ import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import de.teamlapen.vampirism.api.items.IRefinementItem; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.StringRepresentable; import net.minecraft.world.entity.player.Player; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/hunter/IVampirismCrossbowUser.java b/src/api/java/de/teamlapen/vampirism/api/entity/hunter/IVampirismCrossbowUser.java index e3569e2ec6..92410e20a1 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/hunter/IVampirismCrossbowUser.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/hunter/IVampirismCrossbowUser.java @@ -24,18 +24,6 @@ default boolean canUseCrossbow(ItemStack stack){ return true; } - @Override - default void performCrossbowAttack(@Nonnull LivingEntity entity, float speed) { - InteractionHand hand = ProjectileUtil.getWeaponHoldingHand(entity, IVampirismCrossbow.class::isInstance); - ItemStack itemstack = entity.getItemInHand(hand); - if (itemstack.getItem() instanceof IVampirismCrossbow) { - if (CrossbowItem.isCharged(itemstack)){ - ((IVampirismCrossbow) itemstack.getItem()).performShootingMod(entity.level(), entity, hand, itemstack, speed, (float) (14 - entity.level().getDifficulty().getId() * 4)); - this.onCrossbowAttackPerformed(); - } - } - } - enum ArmPose { NEUTRAL, CROSSBOW_HOLD, CROSSBOW_CHARGE } diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/IFactionPlayer.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/IFactionPlayer.java index 57d3e6ddd0..d3987ecb52 100755 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/IFactionPlayer.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/IFactionPlayer.java @@ -10,7 +10,6 @@ import de.teamlapen.vampirism.api.extensions.IPlayer; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/ILordPlayer.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/ILordPlayer.java index 51e5e626db..6f4f5f8ec0 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/ILordPlayer.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/ILordPlayer.java @@ -2,7 +2,6 @@ import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillManager.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillManager.java index 30adfa3428..49a7bcca68 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillManager.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillManager.java @@ -22,11 +22,6 @@ public interface ISkillManager { */ > List> getSkillsForFaction(IPlayableFaction faction); - /** - * Get all available {@link de.teamlapen.vampirism.api.entity.player.skills.ISkillType}s that are registered - */ - Collection getSkillTypes(); - /** * Get a skill type registered to the given id * diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillType.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillType.java index 6d7c312786..57d48f44db 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillType.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/ISkillType.java @@ -9,8 +9,6 @@ public interface ISkillType { - Codec CODEC = ResourceLocation.CODEC.xmap(s -> VampirismAPI.skillManager().getSkillType(s), ISkillType::getRegistryName); - /** * Creates an id for this skill type depending on the faction id. *
diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/SkillType.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/SkillType.java deleted file mode 100644 index 21bee3b6fd..0000000000 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/skills/SkillType.java +++ /dev/null @@ -1,45 +0,0 @@ -package de.teamlapen.vampirism.api.entity.player.skills; - -import de.teamlapen.vampirism.api.entity.factions.IFactionPlayerHandler; -import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; -import net.minecraft.resources.ResourceLocation; -import org.jetbrains.annotations.NotNull; - -import java.util.function.Predicate; - -public enum SkillType implements ISkillType { - LEVEL(new ResourceLocation("vampirism", "level"), "", faction -> true, faction -> true), - LORD(new ResourceLocation("vampirism", "lord"), "_lord", IPlayableFaction::hasLordSkills, handler -> handler.getLordLevel() > 0); - - public final ResourceLocation id; - public final String nameSuffix; - public final Predicate> isForFaction; - public final Predicate isUnlocked; - - SkillType(ResourceLocation id, String nameSuffix, Predicate> isForFaction, Predicate isUnlocked) { - this.id = id; - this.nameSuffix = nameSuffix; - this.isForFaction = isForFaction; - this.isUnlocked = isUnlocked; - } - - public @NotNull ResourceLocation createIdForFaction(@NotNull ResourceLocation id) { - return new ResourceLocation(id.getNamespace(), id.getPath() + this.nameSuffix); - } - - @Override - public boolean isForFaction(@NotNull IPlayableFaction faction) { - return this.isForFaction.test(faction); - } - - @Override - public ResourceLocation getRegistryName() { - return this.id; - } - - @Override - public boolean isUnlocked(IFactionPlayerHandler handler) { - return this.isUnlocked.test(handler); - } - -} diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskInstance.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskInstance.java index 113e02ebee..8c8966e109 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskInstance.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskInstance.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.api.entity.player.task; import net.minecraft.core.Registry; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskRewardInstance.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskRewardInstance.java index 3e0102289b..25817e7461 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskRewardInstance.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/ITaskRewardInstance.java @@ -4,7 +4,6 @@ import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; -import net.minecraft.util.ExtraCodecs; import java.util.function.Function; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskRequirement.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskRequirement.java index e4aa532ec5..55c33cd489 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskRequirement.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskRequirement.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.StringRepresentable; import org.jetbrains.annotations.NotNull; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskReward.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskReward.java index aa0f5897df..814c121e58 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskReward.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskReward.java @@ -5,7 +5,6 @@ import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import net.minecraft.network.chat.Component; -import net.minecraft.util.ExtraCodecs; import java.util.function.Function; diff --git a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskUnlocker.java b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskUnlocker.java index 7e686a1ee6..73c901fbe3 100644 --- a/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskUnlocker.java +++ b/src/api/java/de/teamlapen/vampirism/api/entity/player/task/TaskUnlocker.java @@ -5,7 +5,6 @@ import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import net.minecraft.network.chat.Component; -import net.minecraft.util.ExtraCodecs; import java.util.function.Function; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/ExtendedPotionMix.java b/src/api/java/de/teamlapen/vampirism/api/items/ExtendedPotionMix.java index b45a1aff72..047b4d28f3 100644 --- a/src/api/java/de/teamlapen/vampirism/api/items/ExtendedPotionMix.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/ExtendedPotionMix.java @@ -5,9 +5,6 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.crafting.Ingredient; -import net.neoforged.neoforge.common.util.Lazy; -import net.neoforged.neoforge.common.util.NonNullLazy; -import net.neoforged.neoforge.common.util.NonNullSupplier; import org.jetbrains.annotations.NotNull; import java.util.function.Supplier; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/IExtendedBrewingRecipeRegistry.java b/src/api/java/de/teamlapen/vampirism/api/items/IExtendedBrewingRecipeRegistry.java index 436d8d591e..b8c72d73b8 100644 --- a/src/api/java/de/teamlapen/vampirism/api/items/IExtendedBrewingRecipeRegistry.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/IExtendedBrewingRecipeRegistry.java @@ -4,7 +4,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.level.Level; -import net.neoforged.neoforge.common.brewing.BrewingRecipeRegistry; import org.apache.commons.lang3.tuple.Triple; import java.util.List; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/IFactionExclusiveItem.java b/src/api/java/de/teamlapen/vampirism/api/items/IFactionExclusiveItem.java index 107aeafa3c..50568c1fe2 100644 --- a/src/api/java/de/teamlapen/vampirism/api/items/IFactionExclusiveItem.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/IFactionExclusiveItem.java @@ -2,21 +2,15 @@ import de.teamlapen.vampirism.api.VampirismAPI; import de.teamlapen.vampirism.api.VampirismDataComponents; -import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.components.IAppliedOilContent; import de.teamlapen.vampirism.api.entity.factions.IFaction; -import de.teamlapen.vampirism.api.items.oil.IApplicableOil; -import de.teamlapen.vampirism.api.items.oil.IOil; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/IFactionLevelItem.java b/src/api/java/de/teamlapen/vampirism/api/items/IFactionLevelItem.java index bc90df30d1..c22c738153 100755 --- a/src/api/java/de/teamlapen/vampirism/api/items/IFactionLevelItem.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/IFactionLevelItem.java @@ -12,7 +12,6 @@ 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 org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/IVampirismCrossbow.java b/src/api/java/de/teamlapen/vampirism/api/items/IVampirismCrossbow.java index 17a976a439..13b026e141 100644 --- a/src/api/java/de/teamlapen/vampirism/api/items/IVampirismCrossbow.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/IVampirismCrossbow.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.api.items; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; @@ -17,13 +16,6 @@ */ public interface IVampirismCrossbow extends ItemLike { - /** - * modded variant of {@link net.minecraft.world.item.CrossbowItem#performShooting(net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, net.minecraft.world.InteractionHand, net.minecraft.world.item.ItemStack, float, float)} that is not static - * - * @return true if the crossbow is empty - */ - boolean performShootingMod(Level level, LivingEntity shooter, InteractionHand hand, ItemStack stack, float speed, float angle); - /** * gets the required charge duration for the given crossbow * diff --git a/src/api/java/de/teamlapen/vampirism/api/items/IWeaponTableRecipe.java b/src/api/java/de/teamlapen/vampirism/api/items/IWeaponTableRecipe.java index 2c109b8248..9fbbcbee94 100755 --- a/src/api/java/de/teamlapen/vampirism/api/items/IWeaponTableRecipe.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/IWeaponTableRecipe.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.entity.player.skills.ISkill; import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; diff --git a/src/api/java/de/teamlapen/vampirism/api/items/oil/IOil.java b/src/api/java/de/teamlapen/vampirism/api/items/oil/IOil.java index a4361c1c6c..91801355dd 100644 --- a/src/api/java/de/teamlapen/vampirism/api/items/oil/IOil.java +++ b/src/api/java/de/teamlapen/vampirism/api/items/oil/IOil.java @@ -5,7 +5,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import java.util.List; diff --git a/src/api/java/de/teamlapen/vampirism/api/util/ItemOrdering.java b/src/api/java/de/teamlapen/vampirism/api/util/ItemOrdering.java index dc73d42ddb..bc5e8a56e3 100644 --- a/src/api/java/de/teamlapen/vampirism/api/util/ItemOrdering.java +++ b/src/api/java/de/teamlapen/vampirism/api/util/ItemOrdering.java @@ -1,8 +1,6 @@ package de.teamlapen.vampirism.api.util; import com.google.common.base.Preconditions; -import com.google.errorprone.annotations.Immutable; -import org.spongepowered.asm.mixin.Mutable; import java.util.ArrayList; import java.util.Collection; diff --git a/src/generated/resources/assets/vampirism/models/item/blood_bottle.json b/src/generated/resources/assets/vampirism/models/item/blood_bottle.json index 0bc1272845..cfb2e113b5 100644 --- a/src/generated/resources/assets/vampirism/models/item/blood_bottle.json +++ b/src/generated/resources/assets/vampirism/models/item/blood_bottle.json @@ -4,61 +4,61 @@ { "model": "vampirism:item/blood_bottle_0", "predicate": { - "minecraft:damage": 0.0 + "vampirism:blood": 0.0 } }, { "model": "vampirism:item/blood_bottle_1", "predicate": { - "minecraft:damage": 0.11 + "vampirism:blood": 0.11 } }, { "model": "vampirism:item/blood_bottle_2", "predicate": { - "minecraft:damage": 0.22 + "vampirism:blood": 0.22 } }, { "model": "vampirism:item/blood_bottle_3", "predicate": { - "minecraft:damage": 0.33 + "vampirism:blood": 0.33 } }, { "model": "vampirism:item/blood_bottle_4", "predicate": { - "minecraft:damage": 0.44 + "vampirism:blood": 0.44 } }, { "model": "vampirism:item/blood_bottle_5", "predicate": { - "minecraft:damage": 0.55 + "vampirism:blood": 0.55 } }, { "model": "vampirism:item/blood_bottle_6", "predicate": { - "minecraft:damage": 0.66 + "vampirism:blood": 0.66 } }, { "model": "vampirism:item/blood_bottle_7", "predicate": { - "minecraft:damage": 0.77 + "vampirism:blood": 0.77 } }, { "model": "vampirism:item/blood_bottle_8", "predicate": { - "minecraft:damage": 0.88 + "vampirism:blood": 0.88 } }, { "model": "vampirism:item/blood_bottle_9", "predicate": { - "minecraft:damage": 0.99 + "vampirism:blood": 0.99 } } ], diff --git a/src/generated/resources/data/forge/tags/items/crops/garlic.json b/src/generated/resources/data/c/tags/items/crops/garlic.json similarity index 100% rename from src/generated/resources/data/forge/tags/items/crops/garlic.json rename to src/generated/resources/data/c/tags/items/crops/garlic.json diff --git a/src/generated/resources/data/vampirism/advancements/recipes/food/general/garlic_bread.json b/src/generated/resources/data/vampirism/advancements/recipes/food/general/garlic_bread.json index 7b09fc29c4..1202c67c33 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/food/general/garlic_bread.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/food/general/garlic_bread.json @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/misc/vampire/garlic_finder.json b/src/generated/resources/data/vampirism/advancements/recipes/misc/vampire/garlic_finder.json index 9f50e64373..fc6f4182e7 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/misc/vampire/garlic_finder.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/misc/vampire/garlic_finder.json @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_enhanced.json index d98c7830a7..6224941ad4 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_normal.json index 712625e524..1ec77e95c1 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_chest_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_enhanced.json index 40cc9a3f49..cedb916481 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_normal.json index bf5c7b1df8..144ac3eaaa 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_feet_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_enhanced.json index 7bd617faa9..74b73df568 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_normal.json index 610abf17c9..0b345abc91 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_head_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_enhanced.json index 159df4b8a1..23d4a9996f 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_normal.json index f3c53596aa..739bfbc791 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/armor_of_swiftness_legs_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/crossbow_arrow_vampire_killer.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/crossbow_arrow_vampire_killer.json index a706377b14..0bfe405ff5 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/crossbow_arrow_vampire_killer.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/crossbow_arrow_vampire_killer.json @@ -15,7 +15,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_enhanced.json index 3ecbb60142..2822d6b828 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_normal.json index 9707991f24..33844622b7 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_chest_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_enhanced.json index 32ab4c436a..7b175f7931 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_normal.json index 863efc4aca..4d224bbb39 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_feet_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_enhanced.json index 249faa5424..c8bdbebee9 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_normal.json index 7b777fc2a8..085368f434 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_head_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_enhanced.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_enhanced.json index 39285cba85..78b30d9f14 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_enhanced.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_enhanced.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_normal.json b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_normal.json index 1e4153dbb8..907b2a2082 100644 --- a/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_normal.json +++ b/src/generated/resources/data/vampirism/advancements/recipes/weapontable/hunter_coat_legs_normal.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "#forge:crops/garlic" + "items": "#c:crops/garlic" } ] }, diff --git a/src/generated/resources/data/vampirism/data_maps/item/liquid_color.json b/src/generated/resources/data/vampirism/data_maps/item/liquid_color.json index 84eaa130f4..a2043b3df8 100644 --- a/src/generated/resources/data/vampirism/data_maps/item/liquid_color.json +++ b/src/generated/resources/data/vampirism/data_maps/item/liquid_color.json @@ -1,6 +1,6 @@ { "values": { - "#forge:crops/garlic": 12303291, + "#c:crops/garlic": 12303291, "#vampirism:holy_water": 6711039, "#vampirism:holy_water_splash": 6711039, "vampirism:pure_blood_0": 8128517, diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_enhanced.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_enhanced.json index db92aa9303..3bea75d23f 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_enhanced.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:ingots/gold" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_normal.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_normal.json index 2d3ac0b3bc..a37b460bd9 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_normal.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_chest_normal.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "item": "minecraft:potion" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_enhanced.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_enhanced.json index 3ea8d73aa6..c0f9070da0 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_enhanced.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:ingots/gold" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_normal.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_normal.json index b7a05deddb..91d6b330c1 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_normal.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_feet_normal.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "item": "minecraft:potion" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_enhanced.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_enhanced.json index a935ac3a54..d904f15d13 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_enhanced.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:ingots/gold" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_normal.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_normal.json index feb4cd02bb..bb0f2936b5 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_normal.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_head_normal.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "item": "minecraft:potion" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_enhanced.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_enhanced.json index 4a30133189..2e23111af1 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_enhanced.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:ingots/gold" diff --git a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_normal.json b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_normal.json index c8c32cd67c..2d837049ec 100644 --- a/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_normal.json +++ b/src/generated/resources/data/vampirism/recipes/armor_of_swiftness_legs_normal.json @@ -6,7 +6,7 @@ "tag": "c:leather" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "item": "minecraft:potion" diff --git a/src/generated/resources/data/vampirism/recipes/crossbow_arrow_vampire_killer.json b/src/generated/resources/data/vampirism/recipes/crossbow_arrow_vampire_killer.json index 02ef3703ba..1613957fa6 100644 --- a/src/generated/resources/data/vampirism/recipes/crossbow_arrow_vampire_killer.json +++ b/src/generated/resources/data/vampirism/recipes/crossbow_arrow_vampire_killer.json @@ -6,7 +6,7 @@ "item": "minecraft:feather" }, "X": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Y": { "tag": "c:ingots/gold" diff --git a/src/generated/resources/data/vampirism/recipes/garlic_diffuser_core.json b/src/generated/resources/data/vampirism/recipes/garlic_diffuser_core.json index 58d2b456d1..be4ead2615 100644 --- a/src/generated/resources/data/vampirism/recipes/garlic_diffuser_core.json +++ b/src/generated/resources/data/vampirism/recipes/garlic_diffuser_core.json @@ -2,7 +2,7 @@ "type": "vampirism:alchemical_cauldron", "category": "misc", "fluid": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "ingredient": { "tag": "minecraft:wool" diff --git a/src/generated/resources/data/vampirism/recipes/general/garlic_bread.json b/src/generated/resources/data/vampirism/recipes/general/garlic_bread.json index 7fbe96fb7a..feaa90cd12 100644 --- a/src/generated/resources/data/vampirism/recipes/general/garlic_bread.json +++ b/src/generated/resources/data/vampirism/recipes/general/garlic_bread.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, { "item": "minecraft:bread" diff --git a/src/generated/resources/data/vampirism/recipes/general/injection_1.json b/src/generated/resources/data/vampirism/recipes/general/injection_1.json index 458a64a51d..a9487f42c6 100644 --- a/src/generated/resources/data/vampirism/recipes/general/injection_1.json +++ b/src/generated/resources/data/vampirism/recipes/general/injection_1.json @@ -6,7 +6,7 @@ "item": "vampirism:injection_empty" }, { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } ], "result": { diff --git a/src/generated/resources/data/vampirism/recipes/hunter/alchemical_cauldron.json b/src/generated/resources/data/vampirism/recipes/hunter/alchemical_cauldron.json index d17a917b1d..1b6073f986 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter/alchemical_cauldron.json +++ b/src/generated/resources/data/vampirism/recipes/hunter/alchemical_cauldron.json @@ -9,7 +9,7 @@ "item": "minecraft:stone_bricks" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "pattern": [ diff --git a/src/generated/resources/data/vampirism/recipes/hunter/hunter_table.json b/src/generated/resources/data/vampirism/recipes/hunter/hunter_table.json index 96f6432079..86d40c8806 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter/hunter_table.json +++ b/src/generated/resources/data/vampirism/recipes/hunter/hunter_table.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "W": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "X": { "item": "vampirism:vampire_fang" diff --git a/src/generated/resources/data/vampirism/recipes/hunter_axe_enhanced.json b/src/generated/resources/data/vampirism/recipes/hunter_axe_enhanced.json index a6d7264b94..23fd634c38 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_axe_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_axe_enhanced.json @@ -9,7 +9,7 @@ "tag": "c:ingots/iron" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:rods/wooden" diff --git a/src/generated/resources/data/vampirism/recipes/hunter_axe_normal.json b/src/generated/resources/data/vampirism/recipes/hunter_axe_normal.json index 88c03677a2..c4aa2edb0c 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_axe_normal.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_axe_normal.json @@ -6,7 +6,7 @@ "tag": "c:ingots/iron" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "c:rods/wooden" diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_enhanced.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_enhanced.json index b35d4c88b2..ca5cba1ae4 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_enhanced.json @@ -12,7 +12,7 @@ "tag": "c:gems/diamond" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 5, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_normal.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_normal.json index feefd2f89d..9c77ed7923 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_normal.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_chest_normal.json @@ -12,7 +12,7 @@ "tag": "c:leather" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 2, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_enhanced.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_enhanced.json index 55bbbebaa1..bee93d786a 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_enhanced.json @@ -9,7 +9,7 @@ "tag": "c:gems/diamond" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 5, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_normal.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_normal.json index 157563b748..a2201685e1 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_normal.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_feet_normal.json @@ -9,7 +9,7 @@ "tag": "c:leather" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 2, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_head_enhanced.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_head_enhanced.json index 0576f568e5..91be868bc0 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_head_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_head_enhanced.json @@ -9,7 +9,7 @@ "tag": "c:gems/diamond" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 5, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_head_normal.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_head_normal.json index 30297d6166..4a2fa8b956 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_head_normal.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_head_normal.json @@ -9,7 +9,7 @@ "tag": "c:leather" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 2, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_enhanced.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_enhanced.json index d164166bdb..b214389ddb 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_enhanced.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_enhanced.json @@ -9,7 +9,7 @@ "tag": "c:gems/diamond" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 5, diff --git a/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_normal.json b/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_normal.json index 48c51bf738..1f9981a419 100644 --- a/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_normal.json +++ b/src/generated/resources/data/vampirism/recipes/hunter_coat_legs_normal.json @@ -9,7 +9,7 @@ "tag": "c:leather" }, "Z": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" } }, "lava": 2, diff --git a/src/generated/resources/data/vampirism/recipes/pure_salt.json b/src/generated/resources/data/vampirism/recipes/pure_salt.json index 13d5fce268..9df827472d 100644 --- a/src/generated/resources/data/vampirism/recipes/pure_salt.json +++ b/src/generated/resources/data/vampirism/recipes/pure_salt.json @@ -7,7 +7,7 @@ "id": "minecraft:water" }, "ingredient": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "result": { "count": 4, diff --git a/src/generated/resources/data/vampirism/recipes/purified_garlic.json b/src/generated/resources/data/vampirism/recipes/purified_garlic.json index bc76556489..a9450ff1bd 100644 --- a/src/generated/resources/data/vampirism/recipes/purified_garlic.json +++ b/src/generated/resources/data/vampirism/recipes/purified_garlic.json @@ -5,7 +5,7 @@ "tag": "vampirism:holy_water" }, "ingredient": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "result": { "count": 2, diff --git a/src/generated/resources/data/vampirism/recipes/vampire/blood_bottle.json b/src/generated/resources/data/vampirism/recipes/vampire/blood_bottle.json index ac813baf38..22b44b8d5d 100644 --- a/src/generated/resources/data/vampirism/recipes/vampire/blood_bottle.json +++ b/src/generated/resources/data/vampirism/recipes/vampire/blood_bottle.json @@ -23,6 +23,9 @@ " X " ], "result": { + "components": { + "minecraft:damage": 0 + }, "count": 1, "id": "vampirism:blood_bottle" } diff --git a/src/generated/resources/data/vampirism/recipes/vampire/garlic_finder.json b/src/generated/resources/data/vampirism/recipes/vampire/garlic_finder.json index b368ac7840..4c2bc97ee4 100644 --- a/src/generated/resources/data/vampirism/recipes/vampire/garlic_finder.json +++ b/src/generated/resources/data/vampirism/recipes/vampire/garlic_finder.json @@ -9,7 +9,7 @@ "item": "vampirism:blood_infused_iron_ingot" }, "Y": { - "tag": "forge:crops/garlic" + "tag": "c:crops/garlic" }, "Z": { "tag": "minecraft:planks" diff --git a/src/lib/java/de/teamlapen/lib/entity/EntityEventHandler.java b/src/lib/java/de/teamlapen/lib/entity/EntityEventHandler.java index 95486166d3..56efb48d14 100755 --- a/src/lib/java/de/teamlapen/lib/entity/EntityEventHandler.java +++ b/src/lib/java/de/teamlapen/lib/entity/EntityEventHandler.java @@ -12,7 +12,6 @@ import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; import net.neoforged.neoforge.event.entity.living.LivingAttackEvent; import net.neoforged.neoforge.event.entity.living.LivingDeathEvent; -import net.neoforged.neoforge.event.entity.living.LivingEvent; import net.neoforged.neoforge.event.entity.player.PlayerEvent; import net.neoforged.neoforge.event.tick.EntityTickEvent; import net.neoforged.neoforge.event.tick.PlayerTickEvent; diff --git a/src/lib/java/de/teamlapen/lib/lib/client/gui/screens/radialmenu/GuiRadialMenu.java b/src/lib/java/de/teamlapen/lib/lib/client/gui/screens/radialmenu/GuiRadialMenu.java index 56a583be15..7f1ad5dd4a 100644 --- a/src/lib/java/de/teamlapen/lib/lib/client/gui/screens/radialmenu/GuiRadialMenu.java +++ b/src/lib/java/de/teamlapen/lib/lib/client/gui/screens/radialmenu/GuiRadialMenu.java @@ -46,7 +46,6 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.common.Mod; import net.neoforged.neoforge.client.event.MovementInputUpdateEvent; import org.jetbrains.annotations.NotNull; import org.lwjgl.glfw.GLFW; @@ -213,7 +212,7 @@ public void render(@NotNull GuiGraphics graphics, int mouseX, int mouseY, float public void drawSecondaryIcons(GuiGraphics graphics, int positionXOfPrimaryIcon, int positionYOfPrimaryIcon, List secondarySlotIcons) { if (!radialMenu.isShowMoreSecondaryItems()) { - drawSecondaryIcon(graphics, secondarySlotIcons.get(0), positionXOfPrimaryIcon, positionYOfPrimaryIcon, radialMenu.getSecondaryIconStartingPosition()); + drawSecondaryIcon(graphics, secondarySlotIcons.getFirst(), positionXOfPrimaryIcon, positionYOfPrimaryIcon, radialMenu.getSecondaryIconStartingPosition()); } else { SecondaryIconPosition currentSecondaryIconPosition = radialMenu.getSecondaryIconStartingPosition(); for (T secondarySlotIcon : secondarySlotIcons) { diff --git a/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryContainerMenu.java b/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryContainerMenu.java index 506376647a..09015d7741 100644 --- a/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryContainerMenu.java +++ b/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryContainerMenu.java @@ -1,7 +1,6 @@ package de.teamlapen.lib.lib.inventory; import com.mojang.datafixers.util.Pair; -import net.minecraft.core.HolderLookup; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.Container; @@ -13,8 +12,6 @@ import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.neoforged.neoforge.common.util.NonNullLazy; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryHelper.java b/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryHelper.java index da5e76c0f6..9edc73f723 100755 --- a/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryHelper.java +++ b/src/lib/java/de/teamlapen/lib/lib/inventory/InventoryHelper.java @@ -3,10 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; import net.minecraft.world.Container; -import net.minecraft.world.SimpleContainer; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; diff --git a/src/lib/java/de/teamlapen/lib/lib/util/UtilLibClient.java b/src/lib/java/de/teamlapen/lib/lib/util/UtilLibClient.java deleted file mode 100644 index cec935c017..0000000000 --- a/src/lib/java/de/teamlapen/lib/lib/util/UtilLibClient.java +++ /dev/null @@ -1,24 +0,0 @@ -package de.teamlapen.lib.lib.util; - -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.network.chat.Component; -import net.minecraft.util.FormattedCharSequence; -import org.jetbrains.annotations.NotNull; - -public class UtilLibClient { - - /** - * Draws a TextComponent split over multiple lines - * - * @return The height of the rendered text - */ - public static int renderMultiLine(@NotNull Font fontRenderer, @NotNull GuiGraphics graphics, @NotNull Component text, int textLength, int x, int y, int color) { - int d = 0; - for (FormattedCharSequence sequence : fontRenderer.split(text, textLength)) { - graphics.drawString(fontRenderer, sequence, x, y + d, color, false); - d += fontRenderer.lineHeight; - } - return d; - } -} diff --git a/src/lib/java/de/teamlapen/lib/network/ClientPayloadHandler.java b/src/lib/java/de/teamlapen/lib/network/ClientPayloadHandler.java index 8d05b69ff1..4ea1b2e683 100644 --- a/src/lib/java/de/teamlapen/lib/network/ClientPayloadHandler.java +++ b/src/lib/java/de/teamlapen/lib/network/ClientPayloadHandler.java @@ -1,10 +1,8 @@ package de.teamlapen.lib.network; import de.teamlapen.lib.HelperRegistry; -import de.teamlapen.lib.VampLib; import de.teamlapen.lib.lib.storage.IAttachedSyncable; import de.teamlapen.lib.lib.storage.ISyncable; -import net.minecraft.client.Minecraft; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; @@ -15,8 +13,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.util.Optional; - public class ClientPayloadHandler { private static final Logger LOGGER = LogManager.getLogger(); diff --git a/src/lib/java/de/teamlapen/lib/network/ClientboundUpdateEntityPacket.java b/src/lib/java/de/teamlapen/lib/network/ClientboundUpdateEntityPacket.java index ec82e09a1f..8c37695016 100755 --- a/src/lib/java/de/teamlapen/lib/network/ClientboundUpdateEntityPacket.java +++ b/src/lib/java/de/teamlapen/lib/network/ClientboundUpdateEntityPacket.java @@ -6,7 +6,6 @@ import de.teamlapen.lib.lib.storage.ISyncable; import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -129,7 +128,7 @@ ClientboundUpdateEntityPacket createJoinWorldPacket(Entity entity) { } if (allCaps != null && !allCaps.isEmpty()) { for (AttachmentType cap : allCaps) { - Optional.ofNullable(entity.getData(cap)).ifPresent(capsToSync::add); + Optional.of(entity.getData(cap)).ifPresent(capsToSync::add); } } if (!capsToSync.isEmpty()) { diff --git a/src/lib/java/de/teamlapen/lib/proxy/ClientProxy.java b/src/lib/java/de/teamlapen/lib/proxy/ClientProxy.java index 107927c10f..11ce4dfc77 100755 --- a/src/lib/java/de/teamlapen/lib/proxy/ClientProxy.java +++ b/src/lib/java/de/teamlapen/lib/proxy/ClientProxy.java @@ -1,31 +1,18 @@ package de.teamlapen.lib.proxy; -import de.teamlapen.lib.HelperRegistry; -import de.teamlapen.lib.lib.storage.IAttachedSyncable; -import de.teamlapen.lib.lib.storage.ISyncable; -import de.teamlapen.lib.network.ClientboundUpdateEntityPacket; import de.teamlapen.lib.util.ISoundReference; import de.teamlapen.lib.util.SoundReference; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.sounds.SimpleSoundInstance; import net.minecraft.core.BlockPos; -import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; -import net.neoforged.neoforge.attachment.AttachmentType; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; -import java.util.Optional; - public class ClientProxy extends CommonProxy { @NotNull @@ -48,7 +35,7 @@ public ISoundReference createSoundReference(@NotNull SoundEvent event, @NotNull @Override public @NotNull String getActiveLanguage() { - return Minecraft.getInstance().getLanguageManager().getSelected().toString(); + return Minecraft.getInstance().getLanguageManager().getSelected(); } @Override diff --git a/src/lib/java/de/teamlapen/lib/proxy/IProxy.java b/src/lib/java/de/teamlapen/lib/proxy/IProxy.java index 79aa37986e..4dcf39fd6f 100755 --- a/src/lib/java/de/teamlapen/lib/proxy/IProxy.java +++ b/src/lib/java/de/teamlapen/lib/proxy/IProxy.java @@ -1,6 +1,5 @@ package de.teamlapen.lib.proxy; -import de.teamlapen.lib.network.ClientboundUpdateEntityPacket; import de.teamlapen.lib.util.ISoundReference; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceKey; diff --git a/src/main/java/de/teamlapen/vampirism/GeneralEventHandler.java b/src/main/java/de/teamlapen/vampirism/GeneralEventHandler.java index 5911515c22..67f49dffc6 100644 --- a/src/main/java/de/teamlapen/vampirism/GeneralEventHandler.java +++ b/src/main/java/de/teamlapen/vampirism/GeneralEventHandler.java @@ -28,8 +28,6 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; -import java.util.Optional; - /** * Handles all events used in central parts of the mod */ @@ -78,10 +76,9 @@ public void onServerTick(ServerTickEvent.Pre event) { @SubscribeEvent public void onWorldUnload(LevelEvent.@NotNull Unload event) { if (event.getLevel() instanceof Level level) { - level.getData(ModAttachments.LEVEL_FOG).clearCache(); - LevelFog.getOpt(level).ifPresent(LevelFog::clearCache); - LevelGarlic.getOpt(level).ifPresent(LevelGarlic::clearCache); - } + LevelFog.get(level).clearCache(); + LevelGarlic.get(level).clearCache(); + } } @SubscribeEvent diff --git a/src/main/java/de/teamlapen/vampirism/VampirismMod.java b/src/main/java/de/teamlapen/vampirism/VampirismMod.java index daf0e0ccb8..4fdf316dab 100755 --- a/src/main/java/de/teamlapen/vampirism/VampirismMod.java +++ b/src/main/java/de/teamlapen/vampirism/VampirismMod.java @@ -3,7 +3,6 @@ import com.mojang.brigadier.arguments.BoolArgumentType; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.arguments.StringArgumentType; -import com.mojang.serialization.Codec; import de.teamlapen.lib.HelperRegistry; import de.teamlapen.lib.lib.entity.IPlayerEventListener; import de.teamlapen.lib.lib.storage.IAttachedSyncable; @@ -13,13 +12,11 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.VampirismAPI; import de.teamlapen.vampirism.api.VampirismRegistries; -import de.teamlapen.vampirism.api.entity.effect.EffectInstanceWithSource; import de.teamlapen.vampirism.api.entity.hunter.IBasicHunter; import de.teamlapen.vampirism.api.entity.player.hunter.IHunterPlayer; -import de.teamlapen.vampirism.api.entity.player.skills.SkillType; import de.teamlapen.vampirism.api.entity.player.vampire.IVampirePlayer; import de.teamlapen.vampirism.api.entity.vampire.IBasicVampire; -import de.teamlapen.vampirism.blockentity.*; +import de.teamlapen.vampirism.blockentity.PotionTableBlockEntity; import de.teamlapen.vampirism.client.VampirismModClient; import de.teamlapen.vampirism.client.renderer.VampirismClientEntityRegistry; import de.teamlapen.vampirism.config.VampirismConfig; @@ -27,7 +24,6 @@ import de.teamlapen.vampirism.data.reloadlistener.SingleJigsawReloadListener; import de.teamlapen.vampirism.data.reloadlistener.SkillTreeReloadListener; import de.teamlapen.vampirism.data.reloadlistener.SundamageReloadListener; -import de.teamlapen.vampirism.effects.VampireNightVisionEffectInstance; import de.teamlapen.vampirism.entity.ExtendedCreature; import de.teamlapen.vampirism.entity.ModEntityEventHandler; import de.teamlapen.vampirism.entity.SundamageRegistry; @@ -54,7 +50,7 @@ import de.teamlapen.vampirism.mixin.accessor.ReloadableServerResourcesAccessor; import de.teamlapen.vampirism.mixin.accessor.TagManagerAccessor; import de.teamlapen.vampirism.modcompat.IMCHandler; -import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; +//import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; import de.teamlapen.vampirism.network.ModPacketDispatcher; import de.teamlapen.vampirism.proxy.IProxy; import de.teamlapen.vampirism.proxy.ServerProxy; @@ -67,14 +63,11 @@ import net.minecraft.ChatFormatting; import net.minecraft.core.Direction; import net.minecraft.core.registries.Registries; -import net.minecraft.network.RegistryFriendlyByteBuf; -import net.minecraft.network.codec.StreamCodec; -import net.minecraft.network.codec.StreamEncoder; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.item.crafting.ShapedRecipePattern; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModContainer; import net.neoforged.fml.common.Mod; import net.neoforged.fml.event.lifecycle.*; import net.neoforged.fml.loading.FMLEnvironment; @@ -85,12 +78,11 @@ import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.event.AddReloadListenerEvent; import net.neoforged.neoforge.event.OnDatapackSyncEvent; -import net.neoforged.neoforge.event.RegisterCommandsEvent; import net.neoforged.neoforge.event.server.ServerAboutToStartEvent; import net.neoforged.neoforge.event.server.ServerStoppedEvent; import net.neoforged.neoforge.items.IItemHandler; import net.neoforged.neoforge.items.wrapper.InvWrapper; -import net.neoforged.neoforge.registries.RegisterEvent; +import net.neoforged.neoforge.registries.NewRegistryEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; @@ -111,13 +103,15 @@ public class VampirismMod { private final @NotNull RegistryManager registryManager; private final IEventBus modBus; + private final ModContainer modContainer; - public VampirismMod(IEventBus modEventBus) { + public VampirismMod(IEventBus modEventBus, ModContainer modContainer) { instance = this; checkEnv(); this.modBus = modEventBus; + this.modContainer = modContainer; this.registryManager = new RegistryManager(modEventBus); @@ -144,7 +138,6 @@ public VampirismMod(IEventBus modEventBus) { NeoForge.EVENT_BUS.addListener(this::onServerStopped); NeoForge.EVENT_BUS.addListener(this::onDataPackSyncEvent); - VampirismConfig.init(); ShapedRecipePattern.setCraftingSize(4,4); prepareAPI(); @@ -188,7 +181,6 @@ private void registerCapabilities(@NotNull RegisterCapabilitiesEvent event) { event.registerItem(Capabilities.FluidHandler.ITEM, (item, b) -> new BloodBottleFluidHandler(item, BloodBottleItem.CAPACITY), ModItems.BLOOD_BOTTLE.get()); event.registerBlockEntity(Capabilities.FluidHandler.BLOCK, ModTiles.BLOOD_CONTAINER.get(), (o, side) -> o.getTank()); event.registerBlockEntity(Capabilities.FluidHandler.BLOCK, ModTiles.ALTAR_INSPIRATION.get(), (o, side) -> o.getTank()); - event.registerItem(Capabilities.FluidHandler.ITEM, (item, b) -> new BloodBottleFluidHandler(item, BloodBottleItem.CAPACITY), ModItems.BLOOD_BOTTLE.get()); event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, ModTiles.GRINDER.get(), (o, side) -> o.getItemHandler()); event.registerBlockEntity(Capabilities.ItemHandler.BLOCK, ModTiles.BLOOD_PEDESTAL.get(), (o, side) -> o); event.registerBlockEntity(Capabilities.FluidHandler.BLOCK, ModTiles.SIEVE.get(), (o, side) -> o.getTank()); @@ -218,8 +210,9 @@ private void onDataPackSyncEvent(OnDatapackSyncEvent event) { } } - private void finalizeConfiguration(RegisterEvent event) { - VampirismConfig.finalizeAndRegisterConfig(this.modBus); + private void finalizeConfiguration(NewRegistryEvent event) { + VampirismConfig.buildBalanceConfig(); + VampirismConfig.register(this.modContainer); } /** @@ -231,9 +224,7 @@ private void finishAPI() { private void loadComplete(final @NotNull FMLLoadCompleteEvent event) { onInitStep(IInitListener.Step.LOAD_COMPLETE, event); -// event.enqueueWork(OverworldModifications::addBiomesToOverworldUnsafe); - VampirismAPI.skillManager().registerSkillType(SkillType.LEVEL); - VampirismAPI.skillManager().registerSkillType(SkillType.LORD); + event.enqueueWork(OverworldModifications::addBiomesToOverworldUnsafe); if (FMLEnvironment.dist == Dist.DEDICATED_SERVER) { VampirismLogger.init(); } @@ -322,7 +313,8 @@ private void setup(final @NotNull FMLCommonSetupEvent event) { SupporterManager.init(); VampireBookManager.getInstance().init(); ModEntitySelectors.registerSelectors(); - event.enqueueWork(TerraBlenderCompat::registerBiomeProviderIfPresentUnsafe); + //TODO readd this +// event.enqueueWork(TerraBlenderCompat::registerBiomeProviderIfPresentUnsafe); event.enqueueWork(ModStats::registerFormatter); event.enqueueWork(CodecModifications::changeMobEffectCodec); diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/CuredVampireVillagerCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/CuredVampireVillagerCriterionTrigger.java index ea0123961d..b007af9905 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/CuredVampireVillagerCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/CuredVampireVillagerCriterionTrigger.java @@ -4,9 +4,10 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModAdvancements; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.level.storage.loot.LootContext; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionCriterionTrigger.java index 5eb9f0e0a9..58ecea2fc9 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionCriterionTrigger.java @@ -5,7 +5,9 @@ import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import de.teamlapen.vampirism.core.ModAdvancements; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.ExtraCodecs; import net.minecraft.util.StringRepresentable; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionSubPredicate.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionSubPredicate.java index c676246c7f..9925daf383 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionSubPredicate.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/FactionSubPredicate.java @@ -4,11 +4,9 @@ import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; -import de.teamlapen.vampirism.core.ModAdvancements; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import net.minecraft.advancements.critereon.EntitySubPredicate; import net.minecraft.server.level.ServerLevel; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.phys.Vec3; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/HunterActionCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/HunterActionCriterionTrigger.java index d7e268cddc..b99a10ada8 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/HunterActionCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/HunterActionCriterionTrigger.java @@ -4,9 +4,10 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModAdvancements; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.StringRepresentable; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/MinionTaskCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/MinionTaskCriterionTrigger.java index 100b0e4283..1184fc72fc 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/MinionTaskCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/MinionTaskCriterionTrigger.java @@ -6,9 +6,10 @@ import de.teamlapen.vampirism.core.ModAdvancements; import de.teamlapen.vampirism.core.ModRegistries; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/SkillUnlockedCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/SkillUnlockedCriterionTrigger.java index 9e786e8686..5d9b37f0a1 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/SkillUnlockedCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/SkillUnlockedCriterionTrigger.java @@ -6,9 +6,10 @@ import de.teamlapen.vampirism.core.ModAdvancements; import de.teamlapen.vampirism.core.ModRegistries; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/src/main/java/de/teamlapen/vampirism/advancements/critereon/VampireActionCriterionTrigger.java b/src/main/java/de/teamlapen/vampirism/advancements/critereon/VampireActionCriterionTrigger.java index 4f970af74f..48a1df8fe7 100644 --- a/src/main/java/de/teamlapen/vampirism/advancements/critereon/VampireActionCriterionTrigger.java +++ b/src/main/java/de/teamlapen/vampirism/advancements/critereon/VampireActionCriterionTrigger.java @@ -4,9 +4,10 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModAdvancements; import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.*; +import net.minecraft.advancements.critereon.ContextAwarePredicate; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.StringRepresentable; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/AlchemicalCauldronBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/AlchemicalCauldronBlockEntity.java index 0f1480875e..3389e7fbf5 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/AlchemicalCauldronBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/AlchemicalCauldronBlockEntity.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.blockentity; import com.mojang.datafixers.util.Either; -import de.teamlapen.vampirism.api.VampirismDataMaps; import de.teamlapen.vampirism.blocks.AlchemicalCauldronBlock; import de.teamlapen.vampirism.core.ModDataMaps; import de.teamlapen.vampirism.core.ModRecipes; @@ -31,8 +30,6 @@ import net.minecraft.world.level.block.AbstractFurnaceBlock; import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity; import net.minecraft.world.level.block.state.BlockState; - - import net.neoforged.neoforge.client.extensions.common.IClientFluidTypeExtensions; import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.FluidType; @@ -108,7 +105,7 @@ public Component getDisplayName() { } public int getLiquidColorClient() { - ItemStack liquidItem = this.items.get(0); + ItemStack liquidItem = this.items.getFirst(); return FluidUtil.getFluidContained(liquidItem).map(fluidStack -> IClientFluidTypeExtensions.of(fluidStack.getFluid()).getTintColor(fluidStack)).orElseGet(() -> { var color = liquidItem.getItemHolder().getData(ModDataMaps.LIQUID_COLOR_MAP); return color != null ? color : 0x00003B; @@ -185,7 +182,7 @@ public void setChanged() { if (level != null) { super.setChanged(); BlockState old = level.getBlockState(this.worldPosition); - BlockState state = old.setValue(AbstractFurnaceBlock.LIT, this.isBurning()).setValue(AlchemicalCauldronBlock.LIQUID, this.items.get(0).isEmpty() ? 0 : this.isBurning() ? 2 : 1); + BlockState state = old.setValue(AbstractFurnaceBlock.LIT, this.isBurning()).setValue(AlchemicalCauldronBlock.LIQUID, this.items.getFirst().isEmpty() ? 0 : this.isBurning() ? 2 : 1); if (old.equals(state)) { this.level.sendBlockUpdated(worldPosition, getBlockState(), getBlockState(), 2); } else { diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/AlchemyTableBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/AlchemyTableBlockEntity.java index 762df8e303..16644a5da1 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/AlchemyTableBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/AlchemyTableBlockEntity.java @@ -181,7 +181,7 @@ public static void serverTick(@NotNull Level level, @NotNull BlockPos pos, @NotN --blockEntity.fuel; blockEntity.brewTime = 600; blockEntity.ingredient = itemstack1.getItem(); - blockEntity.productColor = level.getRecipeManager().getAllRecipesFor(ModRecipes.ALCHEMICAL_TABLE_TYPE.get()).stream().filter(recipe -> recipe.value().isInput(blockEntity.items.get(4)) && (recipe.value().isIngredient(blockEntity.items.get(0)) || recipe.value().isIngredient(blockEntity.items.get(1)))).map(recipe -> recipe.value().getResultItem(level.registryAccess())).map(s -> OilContent.getOil(s).value().getColor()).findAny().orElse(0xffffff); + blockEntity.productColor = level.getRecipeManager().getAllRecipesFor(ModRecipes.ALCHEMICAL_TABLE_TYPE.get()).stream().filter(recipe -> recipe.value().isInput(blockEntity.items.get(4)) && (recipe.value().isIngredient(blockEntity.items.getFirst()) || recipe.value().isIngredient(blockEntity.items.get(1)))).map(recipe -> recipe.value().getResultItem(level.registryAccess())).map(s -> OilContent.getOil(s).value().getColor()).findAny().orElse(0xffffff); blockEntity.setChanged(); } diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/AltarInfusionBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/AltarInfusionBlockEntity.java index 1d659b1691..cef4992794 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/AltarInfusionBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/AltarInfusionBlockEntity.java @@ -39,14 +39,15 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import net.neoforged.neoforge.items.IItemHandler; -import net.neoforged.neoforge.items.wrapper.InvWrapper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; public class AltarInfusionBlockEntity extends InventoryBlockEntity { diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/BloodContainerBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/BloodContainerBlockEntity.java index a3eeef2086..1601398695 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/BloodContainerBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/BloodContainerBlockEntity.java @@ -19,8 +19,6 @@ import net.neoforged.neoforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; -import javax.annotation.ParametersAreNonnullByDefault; - /** * Stores blood and other liquids in a {@link net.neoforged.neoforge.fluids.capability.templates.FluidTank} * Tank is synced if the block is marked for update diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/CoffinBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/CoffinBlockEntity.java index 97906e46af..1acc3db5fb 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/CoffinBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/CoffinBlockEntity.java @@ -14,8 +14,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; - - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/GarlicDiffuserBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/GarlicDiffuserBlockEntity.java index 559f4fa222..1d4feeeafc 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/GarlicDiffuserBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/GarlicDiffuserBlockEntity.java @@ -19,8 +19,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; - - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/PotionTableBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/PotionTableBlockEntity.java index 5b5b1f64b6..184d42f79b 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/PotionTableBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/PotionTableBlockEntity.java @@ -28,7 +28,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; import net.minecraft.world.level.block.state.BlockState; @@ -271,7 +270,7 @@ public boolean stillValid(@NotNull Player player) { } public static void tick(@NotNull Level level, BlockPos pos, BlockState state, @NotNull PotionTableBlockEntity blockEntity) { - ItemStack itemstack = blockEntity.brewingItemStacks.get(0); + ItemStack itemstack = blockEntity.brewingItemStacks.getFirst(); if (blockEntity.fuel <= 0 && itemstack.getItem() == Items.BLAZE_POWDER) { blockEntity.fuel = 20; itemstack.shrink(1); diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/TentBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/TentBlockEntity.java index f1f90c156c..ded96c6c33 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/TentBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/TentBlockEntity.java @@ -15,8 +15,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; - - import org.jetbrains.annotations.NotNull; /** diff --git a/src/main/java/de/teamlapen/vampirism/blockentity/VampireBeaconBlockEntity.java b/src/main/java/de/teamlapen/vampirism/blockentity/VampireBeaconBlockEntity.java index ba219af251..921466c9e4 100644 --- a/src/main/java/de/teamlapen/vampirism/blockentity/VampireBeaconBlockEntity.java +++ b/src/main/java/de/teamlapen/vampirism/blockentity/VampireBeaconBlockEntity.java @@ -126,7 +126,7 @@ public static void tick(Level pLevel, BlockPos pPos, BlockState pState, VampireB blockpos = new BlockPos(i, pBlockEntity.lastCheckY + 1, k); } - BeaconBlockEntity.BeaconBeamSection beaconblockentity$beaconbeamsection = pBlockEntity.checkingBeamSections.isEmpty() ? null : pBlockEntity.checkingBeamSections.get(pBlockEntity.checkingBeamSections.size() - 1); + BeaconBlockEntity.BeaconBeamSection beaconblockentity$beaconbeamsection = pBlockEntity.checkingBeamSections.isEmpty() ? null : pBlockEntity.checkingBeamSections.getLast(); int l = pLevel.getHeight(Heightmap.Types.WORLD_SURFACE, i, k); for(int i1 = 0; i1 < BLOCKS_CHECK_PER_TICK && blockpos.getY() <= l; ++i1) { diff --git a/src/main/java/de/teamlapen/vampirism/blocks/AlchemyTableBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/AlchemyTableBlock.java index 06f45c3365..8466eb4df2 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/AlchemyTableBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/AlchemyTableBlock.java @@ -5,16 +5,10 @@ import de.teamlapen.vampirism.core.ModTiles; import de.teamlapen.vampirism.util.Helper; import net.minecraft.core.BlockPos; -import net.minecraft.core.component.DataComponentType; -import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.world.Containers; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; -import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.RenderShape; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/AltarCleansingBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/AltarCleansingBlock.java index 73af6f3d1a..283b94204a 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/AltarCleansingBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/AltarCleansingBlock.java @@ -6,11 +6,8 @@ import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/AltarInfusionBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/AltarInfusionBlock.java index 39c79e92a5..ffc7801b32 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/AltarInfusionBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/AltarInfusionBlock.java @@ -9,7 +9,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/BloodContainerBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/BloodContainerBlock.java index 0757ac7557..33cccd2556 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/BloodContainerBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/BloodContainerBlock.java @@ -12,12 +12,8 @@ import de.teamlapen.vampirism.items.component.ContainedFluid; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; -import net.minecraft.core.component.DataComponentType; -import net.minecraft.core.component.DataComponents; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; @@ -35,14 +31,12 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.FluidUtil; -import net.neoforged.neoforge.registries.DeferredRegister; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Optional; /** * Tileentity container that can store liquids. diff --git a/src/main/java/de/teamlapen/vampirism/blocks/CandleStickBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/CandleStickBlock.java index e43a22b5b4..eda84a11ad 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/CandleStickBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/CandleStickBlock.java @@ -10,7 +10,6 @@ import net.minecraft.tags.BlockTags; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/CoffinBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/CoffinBlock.java index 5e6a43232a..ceb122f4fd 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/CoffinBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/CoffinBlock.java @@ -13,7 +13,6 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; import net.minecraft.util.StringRepresentable; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/CursedEarthBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/CursedEarthBlock.java index 278a6cc4ce..a3bde6fc78 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/CursedEarthBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/CursedEarthBlock.java @@ -7,7 +7,6 @@ import de.teamlapen.vampirism.items.HolyWaterSplashBottleItem; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/CursedGrass.java b/src/main/java/de/teamlapen/vampirism/blocks/CursedGrass.java index 4ecc2a8905..76920ff098 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/CursedGrass.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/CursedGrass.java @@ -18,7 +18,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/DarkSpruceSaplingBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/DarkSpruceSaplingBlock.java index 3e92e2b6cd..9d1f7cc54e 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/DarkSpruceSaplingBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/DarkSpruceSaplingBlock.java @@ -6,7 +6,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneBlock.java index bd02a43223..bddf12835c 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneBlock.java @@ -11,7 +11,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneSlabBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneSlabBlock.java index 9c5a3df7c3..8c0aab609a 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneSlabBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneSlabBlock.java @@ -6,10 +6,8 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.SlabBlock; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneStairsBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneStairsBlock.java index 90d8343e17..df98de85d1 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneStairsBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/DarkStoneStairsBlock.java @@ -7,15 +7,11 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.StairBlock; -import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.function.Supplier; public class DarkStoneStairsBlock extends StairBlock { diff --git a/src/main/java/de/teamlapen/vampirism/blocks/GrinderBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/GrinderBlock.java index 85927a23e4..db088b474a 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/GrinderBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/GrinderBlock.java @@ -7,7 +7,6 @@ import de.teamlapen.vampirism.core.ModTiles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/HunterTableBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/HunterTableBlock.java index 220785e582..fc3eaebdea 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/HunterTableBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/HunterTableBlock.java @@ -10,7 +10,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.StringRepresentable; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.SimpleMenuProvider; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/MedChairBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/MedChairBlock.java index 5d13a43685..d86c37e3df 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/MedChairBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/MedChairBlock.java @@ -17,7 +17,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.util.StringRepresentable; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.SimpleMenuProvider; import net.minecraft.world.effect.MobEffectInstance; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/PedestalBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/PedestalBlock.java index 5f351895f7..315926433d 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/PedestalBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/PedestalBlock.java @@ -4,12 +4,11 @@ import de.teamlapen.vampirism.blockentity.PedestalBlockEntity; import de.teamlapen.vampirism.core.ModStats; import de.teamlapen.vampirism.core.ModTiles; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; +import de.teamlapen.vampirism.items.VampireSwordItem; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -37,9 +36,9 @@ public class PedestalBlock extends VampirismBlockContainer { private static void takeItemPlayer(@NotNull Player player, @NotNull InteractionHand hand, @NotNull ItemStack stack) { player.setItemInHand(hand, stack); - if (stack.getItem() instanceof VampirismVampireSwordItem) { - if (((VampirismVampireSwordItem) stack.getItem()).isFullyCharged(stack)) { - ((VampirismVampireSwordItem) stack.getItem()).tryName(stack, player); + if (stack.getItem() instanceof VampireSwordItem) { + if (((VampireSwordItem) stack.getItem()).isFullyCharged(stack)) { + ((VampireSwordItem) stack.getItem()).tryName(stack, player); } } } diff --git a/src/main/java/de/teamlapen/vampirism/blocks/PotionTableBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/PotionTableBlock.java index 1eff1e82b3..980de04d20 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/PotionTableBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/PotionTableBlock.java @@ -6,7 +6,6 @@ import de.teamlapen.vampirism.core.ModTiles; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/TentBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/TentBlock.java index 2706b92ba2..e4379f35a9 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/TentBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/TentBlock.java @@ -12,7 +12,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/ThroneBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/ThroneBlock.java index ac885502d0..04b0b28d23 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/ThroneBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/ThroneBlock.java @@ -7,7 +7,6 @@ import de.teamlapen.vampirism.util.BlockVoxelshapes; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/TotemTopBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/TotemTopBlock.java index a21c947acb..1f39670872 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/TotemTopBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/TotemTopBlock.java @@ -10,7 +10,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/VampireBeaconBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/VampireBeaconBlock.java index 268e5258a7..571657373b 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/VampireBeaconBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/VampireBeaconBlock.java @@ -9,7 +9,6 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/VampirismBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/VampirismBlock.java index 590aa722df..0b43f020e9 100755 --- a/src/main/java/de/teamlapen/vampirism/blocks/VampirismBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/VampirismBlock.java @@ -5,10 +5,8 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; diff --git a/src/main/java/de/teamlapen/vampirism/blocks/VampirismFlowerBlock.java b/src/main/java/de/teamlapen/vampirism/blocks/VampirismFlowerBlock.java index fbbe17b2a0..2c2d833ad7 100644 --- a/src/main/java/de/teamlapen/vampirism/blocks/VampirismFlowerBlock.java +++ b/src/main/java/de/teamlapen/vampirism/blocks/VampirismFlowerBlock.java @@ -11,8 +11,6 @@ import net.minecraft.world.level.material.PushReaction; import org.jetbrains.annotations.NotNull; -import java.util.function.Supplier; - /** * Vampirism's flowers. To add one add it to {@link TYPE} */ diff --git a/src/main/java/de/teamlapen/vampirism/client/ClientConfigHelper.java b/src/main/java/de/teamlapen/vampirism/client/ClientConfigHelper.java index 9400521357..2b0b9f4837 100644 --- a/src/main/java/de/teamlapen/vampirism/client/ClientConfigHelper.java +++ b/src/main/java/de/teamlapen/vampirism/client/ClientConfigHelper.java @@ -20,7 +20,6 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.common.Mod; import net.neoforged.fml.event.config.ModConfigEvent; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/client/ClientPayloadHandler.java b/src/main/java/de/teamlapen/vampirism/client/ClientPayloadHandler.java index 18b1daf278..e9d2cedb02 100644 --- a/src/main/java/de/teamlapen/vampirism/client/ClientPayloadHandler.java +++ b/src/main/java/de/teamlapen/vampirism/client/ClientPayloadHandler.java @@ -17,7 +17,6 @@ import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.network.handling.IPayloadContext; -import java.util.Objects; import java.util.Set; public class ClientPayloadHandler { diff --git a/src/main/java/de/teamlapen/vampirism/client/core/ClientEventHandler.java b/src/main/java/de/teamlapen/vampirism/client/core/ClientEventHandler.java index 2d3aa6d060..694c918827 100755 --- a/src/main/java/de/teamlapen/vampirism/client/core/ClientEventHandler.java +++ b/src/main/java/de/teamlapen/vampirism/client/core/ClientEventHandler.java @@ -21,23 +21,16 @@ import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.*; -import net.minecraft.server.packs.repository.Pack; -import net.minecraft.server.packs.repository.PackCompatibility; -import net.minecraft.server.packs.repository.PackSource; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.ai.attributes.AttributeInstance; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.flag.FeatureFlagSet; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.alchemy.Potion; import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.fml.ModList; import net.neoforged.neoforge.client.event.*; -import net.neoforged.neoforge.event.AddPackFindersEvent; import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent; import net.neoforged.neoforge.event.level.LevelEvent; import org.apache.logging.log4j.LogManager; diff --git a/src/main/java/de/teamlapen/vampirism/client/core/ModItemsRender.java b/src/main/java/de/teamlapen/vampirism/client/core/ModItemsRender.java index a79baeda55..c8f17be750 100755 --- a/src/main/java/de/teamlapen/vampirism/client/core/ModItemsRender.java +++ b/src/main/java/de/teamlapen/vampirism/client/core/ModItemsRender.java @@ -7,15 +7,17 @@ import de.teamlapen.vampirism.api.items.IRefinementItem; import de.teamlapen.vampirism.api.items.IVampirismCrossbow; import de.teamlapen.vampirism.core.ModBlocks; +import de.teamlapen.vampirism.core.ModDataComponents; import de.teamlapen.vampirism.core.ModItems; +import de.teamlapen.vampirism.items.BloodBottleItem; import de.teamlapen.vampirism.items.CrossbowArrowItem; +import de.teamlapen.vampirism.items.component.BottleBlood; import de.teamlapen.vampirism.items.component.OilContent; import net.minecraft.client.renderer.item.ItemProperties; -import net.minecraft.core.component.DataComponents; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.CrossbowItem; -import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.component.DyedItemColor; +import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent; import net.neoforged.neoforge.client.event.RegisterItemDecorationsEvent; import org.jetbrains.annotations.NotNull; @@ -27,15 +29,22 @@ */ public class ModItemsRender { + public static final ResourceLocation CHARGED = new ResourceLocation(REFERENCE.MODID, "charged"); + public static final ResourceLocation FILLED = new ResourceLocation(REFERENCE.MODID, "filled"); + public static final ResourceLocation BLOOD = new ResourceLocation(REFERENCE.MODID, "blood"); + public static void registerItemModelPropertyUnsafe() { Stream.of(ModItems.BASIC_CROSSBOW.get(),ModItems.BASIC_DOUBLE_CROSSBOW.get(),ModItems.ENHANCED_CROSSBOW.get(), ModItems.ENHANCED_DOUBLE_CROSSBOW.get(),ModItems.BASIC_TECH_CROSSBOW.get(), ModItems.ENHANCED_TECH_CROSSBOW.get()).forEach(item -> { - ItemProperties.register(item, new ResourceLocation(REFERENCE.MODID, "charged"), (stack, world, entity, tint) -> { + ItemProperties.register(item, CHARGED, (stack, world, entity, tint) -> { return CrossbowItem.isCharged(stack) ? 0.0f : 1.0f; }); }); - ItemProperties.register(ModItems.ARROW_CLIP.get(), new ResourceLocation(REFERENCE.MODID, "filled"), (stack, world, entity, tint) -> { + ItemProperties.register(ModItems.ARROW_CLIP.get(), FILLED, (stack, world, entity, tint) -> { return (float)((IArrowContainer) stack.getItem()).getArrows(stack).size()/(float)((IArrowContainer) stack.getItem()).getMaxArrows(stack); }); + ItemProperties.register(ModItems.BLOOD_BOTTLE.get(), BLOOD, (stack, world, entity, tint) -> { + return stack.getOrDefault(ModDataComponents.BOTTLE_BLOOD, BottleBlood.EMPTY).blood() / (float) BloodBottleItem.AMOUNT; + }); } static void registerColors(RegisterColorHandlersEvent.@NotNull Item event) { diff --git a/src/main/java/de/teamlapen/vampirism/client/core/ModKeys.java b/src/main/java/de/teamlapen/vampirism/client/core/ModKeys.java index 7d8644610a..ada5f3fd9d 100755 --- a/src/main/java/de/teamlapen/vampirism/client/core/ModKeys.java +++ b/src/main/java/de/teamlapen/vampirism/client/core/ModKeys.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.client.core; import com.google.common.collect.ImmutableMap; -import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.platform.InputConstants; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; @@ -20,7 +19,6 @@ import it.unimi.dsi.fastutil.ints.Int2LongArrayMap; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; -import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; diff --git a/src/main/java/de/teamlapen/vampirism/client/core/ModScreens.java b/src/main/java/de/teamlapen/vampirism/client/core/ModScreens.java index 08c6c48dbc..d2e14ed563 100644 --- a/src/main/java/de/teamlapen/vampirism/client/core/ModScreens.java +++ b/src/main/java/de/teamlapen/vampirism/client/core/ModScreens.java @@ -3,7 +3,7 @@ import de.teamlapen.vampirism.api.client.VIngameOverlays; import de.teamlapen.vampirism.client.gui.screens.*; import de.teamlapen.vampirism.client.gui.screens.taskboard.TaskBoardScreen; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import net.neoforged.neoforge.client.event.RegisterGuiLayersEvent; import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; import net.neoforged.neoforge.client.gui.VanillaGuiLayers; @@ -14,20 +14,20 @@ public class ModScreens { * Call on serial loading queue to avoid possible issues with parallel access */ public static void registerScreens(RegisterMenuScreensEvent event) { - event.register(ModContainer.HUNTER_TABLE.get(), HunterTableScreen::new); - event.register(ModContainer.ALCHEMICAL_CAULDRON.get(), AlchemicalCauldronScreen::new); - event.register(ModContainer.WEAPON_TABLE.get(), WeaponTableScreen::new); - event.register(ModContainer.HUNTER_TRAINER.get(), HunterTrainerScreen::new); - event.register(ModContainer.HUNTER_BASIC.get(), HunterBasicScreen::new); - event.register(ModContainer.ALTAR_INFUSION.get(), AltarInfusionScreen::new); - event.register(ModContainer.BLOOD_GRINDER.get(), BloodGrinderScreen::new); - event.register(ModContainer.MINION.get(), MinionScreen::new); - event.register(ModContainer.TASK_MASTER.get(), TaskBoardScreen::new); - event.register(ModContainer.EXTENDED_POTION_TABLE.get(), PotionTableScreen::new); - event.register(ModContainer.VAMPIRISM.get(), VampirismContainerScreen::new); - event.register(ModContainer.ALCHEMICAL_TABLE.get(), AlchemyTableScreen::new); - event.register(ModContainer.VAMPIRE_BEACON.get(), VampireBeaconScreen::new); - event.register(ModContainer.REVERT_BACK.get(), InjectionChairRevertBackScreen::new); + event.register(ModMenus.HUNTER_TABLE.get(), HunterTableScreen::new); + event.register(ModMenus.ALCHEMICAL_CAULDRON.get(), AlchemicalCauldronScreen::new); + event.register(ModMenus.WEAPON_TABLE.get(), WeaponTableScreen::new); + event.register(ModMenus.HUNTER_TRAINER.get(), HunterTrainerScreen::new); + event.register(ModMenus.HUNTER_BASIC.get(), HunterBasicScreen::new); + event.register(ModMenus.ALTAR_INFUSION.get(), AltarInfusionScreen::new); + event.register(ModMenus.BLOOD_GRINDER.get(), BloodGrinderScreen::new); + event.register(ModMenus.MINION.get(), MinionScreen::new); + event.register(ModMenus.TASK_MASTER.get(), TaskBoardScreen::new); + event.register(ModMenus.EXTENDED_POTION_TABLE.get(), PotionTableScreen::new); + event.register(ModMenus.VAMPIRISM.get(), VampirismContainerScreen::new); + event.register(ModMenus.ALCHEMICAL_TABLE.get(), AlchemyTableScreen::new); + event.register(ModMenus.VAMPIRE_BEACON.get(), VampireBeaconScreen::new); + event.register(ModMenus.REVERT_BACK.get(), InjectionChairRevertBackScreen::new); } static void registerScreenOverlays(@NotNull RegisterGuiLayersEvent event) { diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/ScreenEventHandler.java b/src/main/java/de/teamlapen/vampirism/client/gui/ScreenEventHandler.java index d62953cdcb..901ddf3da6 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/ScreenEventHandler.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/ScreenEventHandler.java @@ -21,8 +21,6 @@ import net.neoforged.neoforge.client.event.ScreenEvent; import org.jetbrains.annotations.NotNull; -import java.util.Optional; - /** * Add a button to the inventory screen that allows opening the skill menu from there */ diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/ActionCooldownOverlay.java b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/ActionCooldownOverlay.java index d9ee1042b8..b402410628 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/ActionCooldownOverlay.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/ActionCooldownOverlay.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.client.gui.overlay; -import de.teamlapen.lib.lib.client.gui.ExtendedGui; import de.teamlapen.vampirism.api.VampirismAPI; import de.teamlapen.vampirism.api.entity.player.actions.IAction; import de.teamlapen.vampirism.api.entity.player.actions.IActionHandler; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/BloodBarOverlay.java b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/BloodBarOverlay.java index 2cdbc306c3..41da589caf 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/BloodBarOverlay.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/BloodBarOverlay.java @@ -9,7 +9,6 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.LayeredDraw; import net.minecraft.resources.ResourceLocation; -import org.jetbrains.annotations.NotNull; public class BloodBarOverlay implements LayeredDraw.Layer { private final ResourceLocation icons = new ResourceLocation(REFERENCE.MODID + ":textures/gui/icons.png"); diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/FactionLevelOverlay.java b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/FactionLevelOverlay.java index 5b05f69543..453f482eef 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/overlay/FactionLevelOverlay.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/overlay/FactionLevelOverlay.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.client.gui.overlay; -import de.teamlapen.lib.lib.client.gui.ExtendedGui; import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import de.teamlapen.vampirism.config.VampirismConfig; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectActionScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectActionScreen.java index 0a45df6209..5219a9cd1d 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectActionScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectActionScreen.java @@ -29,7 +29,6 @@ import java.util.Comparator; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; public class EditSelectActionScreen> extends ReorderingGuiRadialMenu> { diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectMinionTaskScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectMinionTaskScreen.java index ac2f4a35d0..eb6d5841df 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectMinionTaskScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/EditSelectMinionTaskScreen.java @@ -14,7 +14,6 @@ import java.util.ArrayList; import java.util.Optional; -import java.util.stream.Collectors; import java.util.stream.Stream; import static de.teamlapen.vampirism.client.gui.screens.SelectMinionTaskRadialScreen.CUSTOM_ENTRIES; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/HunterMinionAppearanceScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/HunterMinionAppearanceScreen.java index 7f6d814930..620fcdcd44 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/HunterMinionAppearanceScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/HunterMinionAppearanceScreen.java @@ -14,7 +14,6 @@ import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.neoforge.client.gui.widget.ExtendedButton; -import org.jetbrains.annotations.NotNull; import java.util.stream.IntStream; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/NameSwordScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/NameSwordScreen.java index a2ceb34732..618c91a92c 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/NameSwordScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/NameSwordScreen.java @@ -1,7 +1,7 @@ package de.teamlapen.vampirism.client.gui.screens; import de.teamlapen.vampirism.VampirismMod; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; +import de.teamlapen.vampirism.items.VampireSwordItem; import de.teamlapen.vampirism.network.ServerboundNameItemPacket; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.Random; public class NameSwordScreen extends Screen { @@ -48,13 +49,13 @@ public void init() { this.addRenderableWidget(new ExtendedButton(this.width / 2 - 155, this.height / 6 + 96, 150, 20, this.yes, (context) -> { if (!StringUtils.isBlank(nameField.getValue())) { NameSwordScreen.this.sword.set(DataComponents.CUSTOM_NAME, Component.literal(nameField.getValue())); - VampirismMod.proxy.sendToServer(new ServerboundNameItemPacket(nameField.getValue())); + VampirismMod.proxy.sendToServer(new ServerboundNameItemPacket(Optional.of(nameField.getValue()))); } this.minecraft.setScreen(null); this.minecraft.setWindowActive(true); })); this.addRenderableWidget(new ExtendedButton(this.width / 2 - 155 + 160, this.height / 6 + 96, 150, 20, this.no, (context) -> { - VampirismMod.proxy.sendToServer(new ServerboundNameItemPacket(VampirismVampireSwordItem.DO_NOT_NAME_STRING)); + VampirismMod.proxy.sendToServer(new ServerboundNameItemPacket(Optional.empty())); this.minecraft.setScreen(null); this.minecraft.setWindowActive(true); })); @@ -74,7 +75,7 @@ public void init() { @Override public void render(@NotNull GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { - this.renderBackground(graphics, mouseX, mouseY, partialTicks); + super.render(graphics, mouseX, mouseY, partialTicks); graphics.drawCenteredString(this.font, this.text1, this.width / 2, 70, 16777215); int i = 90; for (FormattedCharSequence s : this.listLines) { @@ -82,9 +83,6 @@ public void render(@NotNull GuiGraphics graphics, int mouseX, int mouseY, float i += this.font.lineHeight; } this.nameField.render(graphics, mouseX, mouseY, partialTicks); - - - super.render(graphics, mouseX, mouseY, partialTicks); } @Override diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampireBookScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampireBookScreen.java index ec97291b41..2fa4878c4b 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampireBookScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampireBookScreen.java @@ -190,7 +190,7 @@ public void prevPage() { copy.add(elements.get(i)); copy.add(newLine); } - copy.add(elements.get(elements.size() - 1)); + copy.add(elements.getLast()); return FormattedText.composite(copy); } diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampirismContainerScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampirismContainerScreen.java index 8df002f4de..59e167b418 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampirismContainerScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/VampirismContainerScreen.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.api.items.IRefinementItem; import de.teamlapen.vampirism.client.core.ModKeys; import de.teamlapen.vampirism.client.gui.screens.skills.SkillsScreen; -import de.teamlapen.vampirism.client.gui.screens.taskboard.TaskList; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.player.VampirismPlayerAttributes; import de.teamlapen.vampirism.inventory.TaskMenu; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/radial/edit/ReorderingGuiRadialMenu.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/radial/edit/ReorderingGuiRadialMenu.java index d0e8234be0..430bbba53e 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/radial/edit/ReorderingGuiRadialMenu.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/radial/edit/ReorderingGuiRadialMenu.java @@ -93,7 +93,7 @@ public void reset() { } private void addDummyMenuItems() { - if (!(this.radialMenuSlots.size() == 1 && this.radialMenuSlots.get(0).primarySlotIcon().get() == null)) { + if (!(this.radialMenuSlots.size() == 1 && this.radialMenuSlots.getFirst().primarySlotIcon().get() == null)) { for (int i = this.radialMenuSlots.size() - 1; i >= 0; i--) { this.radialMenuSlots.add(i, new NoItemRadialMenuSlot<>(this.nameFunction, new ItemWrapper<>(), this.isEnabled)); } diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/recipebook/WeaponTableRecipeBookGui.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/recipebook/WeaponTableRecipeBookGui.java index f512e51f55..0c2981f1b9 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/recipebook/WeaponTableRecipeBookGui.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/recipebook/WeaponTableRecipeBookGui.java @@ -16,7 +16,6 @@ import java.util.List; import java.util.Locale; -import java.util.Optional; public class WeaponTableRecipeBookGui extends RecipeBookComponent { diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/skills/SkillsTabScreen.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/skills/SkillsTabScreen.java index 2ffd639684..cdf80b6ce9 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/skills/SkillsTabScreen.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/skills/SkillsTabScreen.java @@ -21,7 +21,6 @@ import net.minecraft.util.FormattedCharSequence; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.lwjgl.system.NonnullDefault; diff --git a/src/main/java/de/teamlapen/vampirism/client/gui/screens/taskboard/TaskList.java b/src/main/java/de/teamlapen/vampirism/client/gui/screens/taskboard/TaskList.java index 3f2effffa5..025afc2d01 100644 --- a/src/main/java/de/teamlapen/vampirism/client/gui/screens/taskboard/TaskList.java +++ b/src/main/java/de/teamlapen/vampirism/client/gui/screens/taskboard/TaskList.java @@ -128,7 +128,7 @@ public void render(GuiGraphics graphics, int pIndex, int pTop, int pLeft, int pW this.renderBackground(graphics, mc, pTop, pLeft, pWidth, pHeight + 4, pMouseX, pMouseY, pPartialTick); //render name - Optional text = Optional.ofNullable(mc.font.split(this.task.getTitle(), 131).get(0)); + Optional text = Optional.ofNullable(mc.font.split(this.task.getTitle(), 131).getFirst()); text.ifPresent(t -> graphics.drawString(mc.font, t, pLeft + 2, pTop + 4, 3419941, false));//(6839882 & 16711422) >> 1 //8453920 //4226832 //render progress @@ -184,7 +184,7 @@ private Tooltip generateTaskToolTip() { } else { for (List> requirements : task.getRequirement().requirements().values()) { if (requirements == null) continue; - TaskRequirement.Type type = requirements.get(0).getType(); + TaskRequirement.Type type = requirements.getFirst().getType(); boolean completed = menu.areRequirementsCompleted(this.getItem(), type); MutableComponent title = Component.translatable(type.getTranslationKey()).append(":"); @@ -309,7 +309,7 @@ protected void updateWidgetNarration(@NotNull NarrationElementOutput output) { protected List renderItemTooltip(@NotNull ItemStack stack, Component text, Item.TooltipContext context, boolean strikeThrough, @Nullable String bonus) { List tooltips = getTooltipFromItem2(context, stack, strikeThrough, bonus); - tooltips.add(0, text); + tooltips.addFirst(text); return tooltips; } @@ -318,7 +318,7 @@ protected List renderItemTooltip(@NotNull ItemStack stack, Component List list1 = Lists.newArrayList(); for (int i = 0; i < list.size(); i++) { if (i == 0) { - MutableComponent t = list.get(0).copy().append(" " + (bonus != null ? bonus : "") + itemStack.getCount()); + MutableComponent t = list.getFirst().copy().append(" " + (bonus != null ? bonus : "") + itemStack.getCount()); if (strikeThough) t.withStyle(ChatFormatting.STRIKETHROUGH); list1.add(t); } else { diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/CloakModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/CloakModel.java index c67d8cd427..2bb54b94b9 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/CloakModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/CloakModel.java @@ -13,8 +13,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; import net.minecraft.world.entity.LivingEntity; - - import org.jetbrains.annotations.NotNull; import static net.minecraft.client.renderer.entity.LivingEntityRenderer.isEntityUpsideDown; diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingBootsModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingBootsModel.java index 754896efca..bc709bb0b3 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingBootsModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingBootsModel.java @@ -7,8 +7,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; - - import org.jetbrains.annotations.NotNull; public class ClothingBootsModel extends VampirismArmorModel { diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingCrownModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingCrownModel.java index e40df623e9..9b8088fb5d 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingCrownModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingCrownModel.java @@ -7,8 +7,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; - - import org.jetbrains.annotations.NotNull; public class ClothingCrownModel extends VampirismArmorModel { diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingPantsModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingPantsModel.java index 18e5124cc7..c9b496bcba 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingPantsModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/ClothingPantsModel.java @@ -7,8 +7,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; - - import org.jetbrains.annotations.NotNull; public class ClothingPantsModel extends VampirismArmorModel { diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/HunterHatModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/HunterHatModel.java index db6c9f8508..c4bee80f18 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/HunterHatModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/HunterHatModel.java @@ -10,8 +10,6 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; - - import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/client/model/armor/VampireHatModel.java b/src/main/java/de/teamlapen/vampirism/client/model/armor/VampireHatModel.java index 1c716115c4..42374ffe13 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/armor/VampireHatModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/armor/VampireHatModel.java @@ -7,8 +7,6 @@ import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.*; - - import org.jetbrains.annotations.NotNull; public class VampireHatModel extends VampirismArmorModel { diff --git a/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedAltarInspirationModel.java b/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedAltarInspirationModel.java index ac44a54263..ecd2778710 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedAltarInspirationModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedAltarInspirationModel.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.client.model.blocks; import de.teamlapen.vampirism.blockentity.AltarInspirationBlockEntity; -import de.teamlapen.vampirism.client.core.ClientEventHandler; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.ItemOverrides; diff --git a/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedBloodContainerModel.java b/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedBloodContainerModel.java index 0049966204..d60236466d 100644 --- a/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedBloodContainerModel.java +++ b/src/main/java/de/teamlapen/vampirism/client/model/blocks/BakedBloodContainerModel.java @@ -1,9 +1,6 @@ package de.teamlapen.vampirism.client.model.blocks; import de.teamlapen.vampirism.blockentity.BloodContainerBlockEntity; -import de.teamlapen.vampirism.blocks.BloodContainerBlock; -import de.teamlapen.vampirism.client.core.ClientEventHandler; -import de.teamlapen.vampirism.core.ModDataComponents; import de.teamlapen.vampirism.core.ModFluids; import de.teamlapen.vampirism.items.component.ContainedFluid; import net.minecraft.client.multiplayer.ClientLevel; diff --git a/src/main/java/de/teamlapen/vampirism/client/particle/FlyingBloodEntityParticle.java b/src/main/java/de/teamlapen/vampirism/client/particle/FlyingBloodEntityParticle.java index ff24a2cb88..493604b78e 100755 --- a/src/main/java/de/teamlapen/vampirism/client/particle/FlyingBloodEntityParticle.java +++ b/src/main/java/de/teamlapen/vampirism/client/particle/FlyingBloodEntityParticle.java @@ -12,7 +12,6 @@ import net.minecraft.world.entity.Entity; import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; -import org.apache.commons.lang3.Validate; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/client/renderer/RenderHandler.java b/src/main/java/de/teamlapen/vampirism/client/renderer/RenderHandler.java index 627b094a0b..2f89ddd3d8 100644 --- a/src/main/java/de/teamlapen/vampirism/client/renderer/RenderHandler.java +++ b/src/main/java/de/teamlapen/vampirism/client/renderer/RenderHandler.java @@ -32,8 +32,10 @@ import net.minecraft.server.packs.resources.ResourceManagerReloadListener; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.*; -import net.minecraft.world.entity.ambient.Bat; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.HumanoidArm; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.PathfinderMob; import net.minecraft.world.entity.player.Player; import net.neoforged.bus.api.EventPriority; import net.neoforged.bus.api.SubscribeEvent; @@ -366,9 +368,9 @@ private void reMakeBloodVisionShader() { RenderTarget swap = this.blurShader.getTempTarget("swap"); blit0 = blurShader.addPass("blit", swap, this.mc.getMainRenderTarget(), false); - blur1 = blurShader.addPass("blur", this.mc.getMainRenderTarget(), swap, false); + blur1 = blurShader.addPass("box_blur", this.mc.getMainRenderTarget(), swap, false); blur1.getEffect().safeGetUniform("BlurDir").set(1F, 0F); - blur2 = blurShader.addPass("blur", swap, this.mc.getMainRenderTarget(), false); + blur2 = blurShader.addPass("box_blur", swap, this.mc.getMainRenderTarget(), false); blur2.getEffect().safeGetUniform("BlurDir").set(0F, 1F); this.blurShader.resize(this.mc.getWindow().getWidth(), this.mc.getWindow().getHeight()); diff --git a/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/AltarInfusionBESR.java b/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/AltarInfusionBESR.java index e3c40294f9..c765b745d2 100755 --- a/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/AltarInfusionBESR.java +++ b/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/AltarInfusionBESR.java @@ -15,7 +15,6 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.NotNull; -import org.joml.Matrix3f; import org.joml.Matrix4f; /** diff --git a/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/GarlicDiffuserBESR.java b/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/GarlicDiffuserBESR.java index 8c4cb8cad3..5fb2206b3b 100644 --- a/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/GarlicDiffuserBESR.java +++ b/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/GarlicDiffuserBESR.java @@ -15,7 +15,6 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.util.Mth; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/command/BloodBarCommand.java b/src/main/java/de/teamlapen/vampirism/command/BloodBarCommand.java index cc0845040b..8625e05794 100644 --- a/src/main/java/de/teamlapen/vampirism/command/BloodBarCommand.java +++ b/src/main/java/de/teamlapen/vampirism/command/BloodBarCommand.java @@ -4,7 +4,6 @@ import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.builder.ArgumentBuilder; import de.teamlapen.lib.lib.util.BasicCommand; -import de.teamlapen.vampirism.entity.player.FactionBasePlayer; import de.teamlapen.vampirism.entity.player.vampire.VampirePlayer; import de.teamlapen.vampirism.entity.vampire.DrinkBloodContext; import net.minecraft.commands.CommandSourceStack; diff --git a/src/main/java/de/teamlapen/vampirism/command/LevelCommand.java b/src/main/java/de/teamlapen/vampirism/command/LevelCommand.java index 8355a9898e..bdd10f5bbf 100644 --- a/src/main/java/de/teamlapen/vampirism/command/LevelCommand.java +++ b/src/main/java/de/teamlapen/vampirism/command/LevelCommand.java @@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull; import java.util.Collection; -import java.util.Optional; public class LevelCommand extends BasicCommand { diff --git a/src/main/java/de/teamlapen/vampirism/command/LordCommand.java b/src/main/java/de/teamlapen/vampirism/command/LordCommand.java index 09092d948b..e9e9ca4905 100644 --- a/src/main/java/de/teamlapen/vampirism/command/LordCommand.java +++ b/src/main/java/de/teamlapen/vampirism/command/LordCommand.java @@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull; import java.util.Collection; -import java.util.Optional; public class LordCommand extends BasicCommand { diff --git a/src/main/java/de/teamlapen/vampirism/command/MinionInventoryCommand.java b/src/main/java/de/teamlapen/vampirism/command/MinionInventoryCommand.java index c82dc972ed..185da4d7fc 100644 --- a/src/main/java/de/teamlapen/vampirism/command/MinionInventoryCommand.java +++ b/src/main/java/de/teamlapen/vampirism/command/MinionInventoryCommand.java @@ -66,7 +66,7 @@ private static int removeItem(CommandSourceStack source, ServerPlayer player, Mi getInventory(playerMinionIdentifier).ifPresent(minionInventory -> { List itemStacks = minionInventory.getAllInventorys().stream().flatMap(Collection::stream).filter(s -> ItemStack.isSameItemSameComponents(s, itemStack)).toList(); if (!itemStacks.isEmpty()) { - ItemStack stack = itemStacks.get(0).split(count); + ItemStack stack = itemStacks.getFirst().split(count); player.addItem(stack.copy()); VampirismLogger.info(VampirismLogger.MINION_INVENTORY, "{} removed {} {} from inventory of {}", player.getName().getString(), stack.getCount(), stack.getDisplayName().getString(), playerMinionIdentifier); source.sendSuccess(() -> Component.translatable("command.vampirism.base.minion_inventory.item_removed", stack.getCount(), stack.getDisplayName().getString(), playerMinionIdentifier).withStyle(ChatFormatting.AQUA), false); diff --git a/src/main/java/de/teamlapen/vampirism/command/test/ResetActionsCommand.java b/src/main/java/de/teamlapen/vampirism/command/test/ResetActionsCommand.java index ce27852384..9bbe36f25b 100644 --- a/src/main/java/de/teamlapen/vampirism/command/test/ResetActionsCommand.java +++ b/src/main/java/de/teamlapen/vampirism/command/test/ResetActionsCommand.java @@ -13,7 +13,6 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -import java.util.Optional; public class ResetActionsCommand extends BasicCommand { diff --git a/src/main/java/de/teamlapen/vampirism/command/test/SetSwordChargedCommand.java b/src/main/java/de/teamlapen/vampirism/command/test/SetSwordChargedCommand.java deleted file mode 100644 index 36bf17f59c..0000000000 --- a/src/main/java/de/teamlapen/vampirism/command/test/SetSwordChargedCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -package de.teamlapen.vampirism.command.test; - -import com.mojang.brigadier.arguments.FloatArgumentType; -import com.mojang.brigadier.builder.ArgumentBuilder; -import de.teamlapen.lib.lib.util.BasicCommand; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.commands.Commands; -import net.minecraft.commands.arguments.EntityArgument; -import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; -import java.util.Collections; - -public class SetSwordChargedCommand extends BasicCommand { - - public static ArgumentBuilder register() { - return Commands.literal("setSwordCharged") - .requires(context -> context.hasPermission(PERMISSION_LEVEL_CHEAT)) - .then(Commands.argument("charge", FloatArgumentType.floatArg(0)) - .executes(context -> setSwordCharged(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()), FloatArgumentType.getFloat(context, "charge"))) - .then(Commands.argument("players", EntityArgument.players()) - .executes(context -> setSwordCharged(context.getSource(), EntityArgument.getPlayers(context, "players"), FloatArgumentType.getFloat(context, "charge"))))); - } - - @SuppressWarnings("SameReturnValue") - private static int setSwordCharged(@NotNull CommandSourceStack commandSource, @NotNull Collection players, float charge) { - for (ServerPlayer player : players) { - ItemStack held = player.getMainHandItem(); - - if (held.getItem() instanceof VampirismVampireSwordItem) { - ((VampirismVampireSwordItem) held.getItem()).setCharged(held, charge); - player.setItemInHand(InteractionHand.MAIN_HAND, held); - } else { - commandSource.sendSuccess(() -> Component.translatable("command.vampirism.test.swordcharged.nosword"), false); - } - } - return 0; - } -} diff --git a/src/main/java/de/teamlapen/vampirism/command/test/SetSwordTrainedCommand.java b/src/main/java/de/teamlapen/vampirism/command/test/SetSwordTrainedCommand.java deleted file mode 100644 index 41070bd74d..0000000000 --- a/src/main/java/de/teamlapen/vampirism/command/test/SetSwordTrainedCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -package de.teamlapen.vampirism.command.test; - -import com.mojang.brigadier.arguments.FloatArgumentType; -import com.mojang.brigadier.builder.ArgumentBuilder; -import de.teamlapen.lib.lib.util.BasicCommand; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.commands.Commands; -import net.minecraft.commands.arguments.EntityArgument; -import net.minecraft.network.chat.Component; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.NotNull; - -import java.util.Collection; -import java.util.Collections; - -public class SetSwordTrainedCommand extends BasicCommand { - - public static ArgumentBuilder register() { - return Commands.literal("setSwordTrained") - .requires(context -> context.hasPermission(PERMISSION_LEVEL_CHEAT)) - .then(Commands.argument("train", FloatArgumentType.floatArg(0)) - .executes(context -> setSwordCharged(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()), FloatArgumentType.getFloat(context, "train"))) - .then(Commands.argument("players", EntityArgument.players()) - .executes(context -> setSwordCharged(context.getSource(), EntityArgument.getPlayers(context, "players"), FloatArgumentType.getFloat(context, "charge"))))); - } - - @SuppressWarnings("SameReturnValue") - private static int setSwordCharged(@NotNull CommandSourceStack commandSource, @NotNull Collection players, float train) { - for (ServerPlayer player : players) { - ItemStack held = player.getMainHandItem(); - - if (held.getItem() instanceof VampirismVampireSwordItem) { - ((VampirismVampireSwordItem) held.getItem()).setTrained(held, player, train); - player.setItemInHand(InteractionHand.MAIN_HAND, held); - } else { - commandSource.sendSuccess(() -> Component.translatable("command.vampirism.test.swordtrained.nosword"), false); - } - } - return 0; - } -} diff --git a/src/main/java/de/teamlapen/vampirism/command/test/VampireSwordCommand.java b/src/main/java/de/teamlapen/vampirism/command/test/VampireSwordCommand.java new file mode 100644 index 0000000000..9899bd6813 --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/command/test/VampireSwordCommand.java @@ -0,0 +1,65 @@ +package de.teamlapen.vampirism.command.test; + +import com.mojang.brigadier.arguments.FloatArgumentType; +import com.mojang.brigadier.builder.ArgumentBuilder; +import de.teamlapen.lib.lib.util.BasicCommand; +import de.teamlapen.vampirism.items.VampireSwordItem; +import net.minecraft.commands.CommandSourceStack; +import net.minecraft.commands.Commands; +import net.minecraft.commands.arguments.EntityArgument; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; +import java.util.Collections; + +public class VampireSwordCommand extends BasicCommand { + + public static ArgumentBuilder register() { + return Commands.literal("sword") + .then(Commands.literal("charge") + .requires(context -> context.hasPermission(PERMISSION_LEVEL_CHEAT)) + .then(Commands.argument("charge_amount", FloatArgumentType.floatArg(0, 1)) + .executes(context -> setSwordCharged(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()), FloatArgumentType.getFloat(context, "charge_amount"))) + .then(Commands.argument("players", EntityArgument.players()) + .executes(context -> setSwordCharged(context.getSource(), EntityArgument.getPlayers(context, "players"), FloatArgumentType.getFloat(context, "charge_amount")))))) + .then(Commands.literal("trained") + .requires(context -> context.hasPermission(PERMISSION_LEVEL_CHEAT)) + .then(Commands.argument("train_amount", FloatArgumentType.floatArg(0, 1)) + .executes(context -> setSwordTrained(context.getSource(), Collections.singleton(context.getSource().getPlayerOrException()), FloatArgumentType.getFloat(context, "train_amount"))) + .then(Commands.argument("players", EntityArgument.players()) + .executes(context -> setSwordTrained(context.getSource(), EntityArgument.getPlayers(context, "players"), FloatArgumentType.getFloat(context, "train_amount")))))); + } + + @SuppressWarnings("SameReturnValue") + private static int setSwordCharged(@NotNull CommandSourceStack commandSource, @NotNull Collection players, float charge) { + for (ServerPlayer player : players) { + ItemStack held = player.getMainHandItem().copy(); + + if (held.getItem() instanceof VampireSwordItem sword) { + sword.setCharged(held, charge); + player.setItemInHand(InteractionHand.MAIN_HAND, held); + } else { + commandSource.sendSuccess(() -> Component.translatable("command.vampirism.test.swordcharged.nosword"), false); + } + } + return 0; + } + + private static int setSwordTrained(@NotNull CommandSourceStack commandSource, @NotNull Collection players, float train) { + for (ServerPlayer player : players) { + ItemStack held = player.getMainHandItem().copy(); + + if (held.getItem() instanceof VampireSwordItem sword) { + sword.setTrained(held, player, train); + player.setItemInHand(InteractionHand.MAIN_HAND, held); + } else { + commandSource.sendSuccess(() -> Component.translatable("command.vampirism.test.swordtrained.nosword"), false); + } + } + return 0; + } +} diff --git a/src/main/java/de/teamlapen/vampirism/config/BalanceConfig.java b/src/main/java/de/teamlapen/vampirism/config/BalanceConfig.java index d7ec76c00a..3bd57ca4f1 100644 --- a/src/main/java/de/teamlapen/vampirism/config/BalanceConfig.java +++ b/src/main/java/de/teamlapen/vampirism/config/BalanceConfig.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.config; -import com.google.common.collect.Lists; import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.core.ModTags; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/de/teamlapen/vampirism/config/ClientConfig.java b/src/main/java/de/teamlapen/vampirism/config/ClientConfig.java new file mode 100644 index 0000000000..9fe2ef3a10 --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/config/ClientConfig.java @@ -0,0 +1,64 @@ +package de.teamlapen.vampirism.config; + +import de.teamlapen.vampirism.client.ClientConfigHelper; +import net.neoforged.neoforge.common.ModConfigSpec; +import org.jetbrains.annotations.NotNull; + +/** + * Client only configuration + */ +public class ClientConfig { + + public final ModConfigSpec.IntValue overrideGuiSkillButtonX; + public final ModConfigSpec.IntValue overrideGuiSkillButtonY; + public final ModConfigSpec.IntValue guiLevelOffsetX; + public final ModConfigSpec.IntValue guiLevelOffsetY; + public final ModConfigSpec.BooleanValue guiSkillButton; + public final ModConfigSpec.BooleanValue renderAdvancedMobPlayerFaces; + public final ModConfigSpec.BooleanValue renderVampireEyes; + public final ModConfigSpec.BooleanValue renderVampireForestFog; + public final ModConfigSpec.BooleanValue renderScreenOverlay; + public final ModConfigSpec.BooleanValue disableFovChange; + public final ModConfigSpec.BooleanValue disableBloodVisionRendering; + public final ModConfigSpec.BooleanValue disableHudActionCooldownRendering; + public final ModConfigSpec.BooleanValue disableHudActionDurationRendering; + public final ModConfigSpec.ConfigValue actionOrder; + public final ModConfigSpec.ConfigValue minionTaskOrder; + + ClientConfig(ModConfigSpec.@NotNull Builder builder) { + builder.comment("Client configuration settings") + .push("client"); + + + //Rendering + builder.comment("Configure rendering").push("render"); + renderAdvancedMobPlayerFaces = builder.comment("Render player faces on advanced hunter or vampires").define("advancedMobPlayerFaces", true); + renderVampireEyes = builder.comment("Render vampire eye/fang face overlay").define("vampireEyes", true); + renderVampireForestFog = builder.comment("Render fog in vampire biome. Might be enforced server side").define("vampireForestFog", true); + renderScreenOverlay = builder.comment("Render screen overlay. Don't disable").define("screenOverlay", true); + + builder.pop(); + + builder.comment("Configure GUI").push("gui"); + guiLevelOffsetX = builder.comment("X-Offset of the level indicator from the center in pixels").defineInRange("levelOffsetX", 0, -250, 250); + guiLevelOffsetY = builder.comment("Y-Offset of the level indicator from the bottom in pixels. Must be > 0").defineInRange("levelOffsetY", 47, 0, 270); + guiSkillButton = builder.comment("Render skill menu button in inventory").define("skillButtonEnable", true); + overrideGuiSkillButtonX = builder.comment("Force the guiSkillButton to the following x position from the center of the inventory, default value is 125").defineInRange("overrideGuiSkillButtonX", 125, Integer.MIN_VALUE, Integer.MAX_VALUE); + overrideGuiSkillButtonY = builder.comment("Force the guiSkillButton to the following y position from the center of the inventory, default value is -22").defineInRange("overrideGuiSkillButtonY", -22, Integer.MIN_VALUE, Integer.MAX_VALUE); + + disableFovChange = builder.comment("Disable the FOV change caused by the speed buf for vampire players").define("disableFovChange", false); + disableBloodVisionRendering = builder.comment("Disable the effect of blood vision. It can still be unlocked and activated but does not have any effect").define("disableBloodVisionRendering", false); + disableHudActionCooldownRendering = builder.comment("Disable the rendering of the action cooldowns in the HUD").define("disableHudActionCooldownRendering", false); + disableHudActionDurationRendering = builder.comment("Disable the rendering of the action durations in the HUD").define("disableHudActionDurationRendering", false); + + builder.pop(); + + builder.push("internal"); + actionOrder = builder.comment("Action ordering").define("actionOrder", "", ClientConfigHelper::testActions); + minionTaskOrder = builder.comment("Minion task ordering").define("minionTaskOrder", "", ClientConfigHelper::testTasks); + builder.pop(); + + builder.pop(); + } + +} diff --git a/src/main/java/de/teamlapen/vampirism/config/CommonConfig.java b/src/main/java/de/teamlapen/vampirism/config/CommonConfig.java new file mode 100644 index 0000000000..edfbdbd79e --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/config/CommonConfig.java @@ -0,0 +1,65 @@ +package de.teamlapen.vampirism.config; + +import net.neoforged.neoforge.common.ModConfigSpec; +import org.jetbrains.annotations.NotNull; + +public class CommonConfig { + + public final ModConfigSpec.BooleanValue collectStats; + public final ModConfigSpec.ConfigValue integrationsNotifier; + public final ModConfigSpec.BooleanValue optifineBloodvisionWarning; + + //Common server + public final ModConfigSpec.BooleanValue autoConvertGlassBottles; + public final ModConfigSpec.BooleanValue umbrella; + public final ModConfigSpec.BooleanValue enableFactionLogging; + + //World + public final ModConfigSpec.BooleanValue addVampireForestToOverworld; + public final ModConfigSpec.IntValue vampireForestWeight_terrablender; + public final ModConfigSpec.BooleanValue enableHunterTentGeneration; + public final ModConfigSpec.BooleanValue useVanillaCampfire; + + //World village + public final ModConfigSpec.IntValue villageTotemWeight; + public final ModConfigSpec.BooleanValue villageReplaceTemples; + public final ModConfigSpec.DoubleValue villageTotemFactionChance; + public final ModConfigSpec.IntValue villageHunterTrainerWeight; + + + CommonConfig(ModConfigSpec.@NotNull Builder builder) { + builder.comment("Common configuration settings. Most other configuration can be found in the world (server)configuration folder") + .push("common"); + collectStats = builder.comment("Send mod version, MC version and mod count to mod author").define("collectStats", true); + + builder.push("internal"); + integrationsNotifier = builder.comment("INTERNAL - Set to 'never' if you don't want to be notified about integration mods").define("integrationsNotifier", ""); + optifineBloodvisionWarning = builder.comment("INTERNAL").define("optifineBloodvisionWarning", false); + builder.pop(); + + builder.pop(); + builder.comment("Affects all worlds. This is only considered on server (or in singleplayer), but Forge requires us to put it here") + .push("common-server"); + autoConvertGlassBottles = builder.comment("Whether glass bottles should be automatically be converted to blood bottles when needed").define("autoConvertGlassBottles", true); + umbrella = builder.comment("If enabled adds a craftable umbrella that can be used to slowly walk though sunlight without taking damage").define("umbrella", false); + enableFactionLogging = builder.comment("Enable a custom vampirism log file that logs specific faction actions", "Requires restart").define("enableFactionLogging", false); + + builder.comment("Settings here require a game restart").push("world"); + addVampireForestToOverworld = builder.comment("Whether to inject the vampire forest into the default overworld generation and to replace some Taiga areas").define("addVampireForestToOverworld", true); + vampireForestWeight_terrablender = builder.comment("Only considered if terrablender installed. Heigher values increase Vampirism region weight (likelyhood to appear)").defineInRange("vampireForestWeight_terrablender", 2, 1, 1000); + enableHunterTentGeneration = builder.comment("Control hunter camp generation. If disabled you should set hunterSpawnChance to 75.").define("enableHunterTentGeneration", true); + useVanillaCampfire = builder.comment("Use the vanilla campfire block instead of Vampirism's much cooler one").define("useVanillaCampfire", false); + + + builder.push("village"); + villageTotemWeight = builder.comment("Weight of the Totem Building inside the Village").defineInRange("totemWeight", 20, 0, 140); + villageTotemFactionChance = builder.comment("Chance for a totem to have a faction after generation").defineInRange("villageTotemFactionChance", 0.6, 0, 1); + villageHunterTrainerWeight = builder.comment("Weight of the Hunter Trainer Building inside the Village").defineInRange("villageHunterTrainerWeight", 50, 0, 140); + villageReplaceTemples = builder.comment("Whether village Temples should be replaced with versions that contain church altars.").define("villageReplaceTemples", true); + builder.pop(); + + builder.pop(); + builder.pop(); + } + +} diff --git a/src/main/java/de/teamlapen/vampirism/config/ServerConfig.java b/src/main/java/de/teamlapen/vampirism/config/ServerConfig.java new file mode 100644 index 0000000000..360dadcdd7 --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/config/ServerConfig.java @@ -0,0 +1,101 @@ +package de.teamlapen.vampirism.config; + +import de.teamlapen.lib.lib.util.UtilLib; +import net.minecraft.world.level.Level; +import net.neoforged.neoforge.common.ModConfigSpec; +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.List; + +public class ServerConfig { + + public final ModConfigSpec.BooleanValue enforceRenderForestFog; + public final ModConfigSpec.BooleanValue unlockAllSkills; + public final ModConfigSpec.BooleanValue pvpOnlyBetweenFactions; + public final ModConfigSpec.BooleanValue pvpOnlyBetweenFactionsIncludeHumans; + public final ModConfigSpec.IntValue sunscreenBeaconDistance; + public final ModConfigSpec.BooleanValue sunscreenBeaconMineable; + public final ModConfigSpec.BooleanValue autoCalculateEntityBlood; + public final ModConfigSpec.BooleanValue playerCanTurnPlayer; + public final ModConfigSpec.BooleanValue factionColorInChat; + public final ModConfigSpec.BooleanValue lordPrefixInChat; + public final ModConfigSpec.EnumValue entityIMob; + public final ModConfigSpec.BooleanValue infectCreaturesSanguinare; + public final ModConfigSpec.BooleanValue preventRenderingDebugBoundingBoxes; + public final ModConfigSpec.BooleanValue allowVillageDestroyBlocks; + public final ModConfigSpec.BooleanValue usePermissions; + + public final ModConfigSpec.BooleanValue sundamageUnknownDimension; + public final ModConfigSpec.ConfigValue> sundamageDimensionsOverridePositive; + public final ModConfigSpec.ConfigValue> sundamageDimensionsOverrideNegative; + public final ModConfigSpec.ConfigValue> sundamageDisabledBiomes; + public final ModConfigSpec.ConfigValue> batDimensionBlacklist; + + + public final ModConfigSpec.ConfigValue> blacklistedBloodEntity; + + public final ModConfigSpec.BooleanValue disableFangInfection; + public final ModConfigSpec.BooleanValue disableMobBiteInfection; + public final ModConfigSpec.BooleanValue disableVillageGuards; + + public final ModConfigSpec.BooleanValue oldVampireBiomeGen; + + public final ModConfigSpec.BooleanValue infoAboutGuideAPI; + + + ServerConfig(ModConfigSpec.@NotNull Builder builder) { + builder.comment("Server configuration settings") + .push("server"); + + enforceRenderForestFog = builder.comment("Prevent clients from disabling the vampire forest fog").define("enforceForestFog", true); + pvpOnlyBetweenFactions = builder.comment("If PVP should only be allowed between factions. PVP has to be enabled in the server properties for this. Not guaranteed to always protect player from teammates").define("pvpOnlyBetweenFactions", false); + pvpOnlyBetweenFactionsIncludeHumans = builder.comment("If pvpOnlyBetweenFactions is enabled, this decides whether human players can be attacked and attack others").define("pvpOnlyBetweenFactionsIncludeHumans", false); + sunscreenBeaconDistance = builder.comment("Block radius the sunscreen beacon affects").defineInRange("sunscreenBeaconDistance", 32, 1, 40000); + sunscreenBeaconMineable = builder.comment("Whether the suncreen beacon can be mined in survival").define("sunscreenBeaconMineable", false); + autoCalculateEntityBlood = builder.comment("Calculate the blood level for unknown creatures based on their size").define("autoCalculateEntityBlood", true); + playerCanTurnPlayer = builder.comment("Whether players can infect other players").define("playersCanTurnPlayers", true); + factionColorInChat = builder.comment("Whether to color player names in chat based on their current faction").define("factionColorInChat", true); + lordPrefixInChat = builder.comment("Whether to add a prefix title based on the current lord level to the player names").define("lordPrefixInChat", true); + entityIMob = builder.comment("Changes if entities are recognized as hostile by other mods. See https://github.com/TeamLapen/Vampirism/issues/199. Smart falls back to Never on servers ").defineEnum("entitiesIMob", IMobOptions.SMART); + infectCreaturesSanguinare = builder.comment("If enabled, creatures are infected with Sanguinare Vampirism first instead of immediately being converted to a vampire when their blood is sucked dry").define("infectCreaturesSanguinare", false); + preventRenderingDebugBoundingBoxes = builder.comment("Prevent players from enabling the rendering of debug bounding boxes. This can allow them to see certain entities they are not supposed to see (e.g. disguised hunter").define("preventDebugBoundingBoxes", false); + batDimensionBlacklist = builder.comment("Prevent vampire players to transform into a bat").defineList("batDimensionBlacklist", Collections.singletonList(Level.END.location().toString()), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); + allowVillageDestroyBlocks = builder.comment("Allow players to destroy point of interest blocks in faction villages if they no not have the faction village").define("allowVillageDestroyBlocks", false); + usePermissions = builder.comment("Use the forge permission system for certain actions. Take a look at the wiki for more information").define("usePermissions", false); + + builder.push("sundamage"); + sundamageUnknownDimension = builder.comment("Whether vampires should receive sundamage in unknown dimensions").define("sundamageUnknownDimension", false); + sundamageDimensionsOverridePositive = builder.comment("Add the string id in quotes of any dimension (/vampirism currentDimension) you want to enforce sundamage for to this comma-separated list. Overrides defaults and values added by other mods").defineList("sundamageDimensionsOverridePositive", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); + + sundamageDimensionsOverrideNegative = builder.comment("Add the string id in quotes of any dimension (/vampirism currentDimension) you want to disable sundamage for to this comma-separated list. Overrides defaults and values added by other mods").defineList("sundamageDimensionsOverrideNegative", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); + sundamageDisabledBiomes = builder.comment("Additional biomes the player should not get sundamage in. Use biome ids e.g. [\"minecraft:mesa\", \"minecraft:plains\"]").defineList("sundamageDisabledBiomes", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); + builder.pop(); + + builder.push("entities"); + blacklistedBloodEntity = builder.comment("Blacklist entities from predefined or auto calculated blood values").defineList("blacklistedBloodEntity", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); + builder.pop(); + + builder.push("cheats"); + unlockAllSkills = builder.comment("CHEAT: If enabled, you will be able to unlock all skills at max level").define("allSkillsAtMaxLevel", false); + builder.pop(); + + builder.comment("Disabling these things might reduce fun or interfere with gameplay"); + builder.push("disable"); + disableFangInfection = builder.comment("Disable vampire fangs being usable to infect yourself").define("disableFangInfection", false); + disableMobBiteInfection = builder.comment("Prevent vampire mobs from infecting players when attacking").define("disableMobBiteInfection", false); + disableVillageGuards = builder.comment("Prevent villagers in hunter controlled villages to turn into guard villager when the village is attacked").define("disableVillageGuards", false); + builder.pop(); + + builder.push("internal"); + infoAboutGuideAPI = builder.comment("Send message about Guide-API once").define("infoAboutGuideAPI", true); + oldVampireBiomeGen = builder.comment("If world was generated using the old vampirism biome").define("oldVampireBiomeGen", true); + builder.pop(); + + builder.pop(); + } + + public enum IMobOptions { + ALWAYS_IMOB, NEVER_IMOB, SMART + } +} diff --git a/src/main/java/de/teamlapen/vampirism/config/VampirismConfig.java b/src/main/java/de/teamlapen/vampirism/config/VampirismConfig.java index c2941356b6..3d66f5a00c 100644 --- a/src/main/java/de/teamlapen/vampirism/config/VampirismConfig.java +++ b/src/main/java/de/teamlapen/vampirism/config/VampirismConfig.java @@ -1,17 +1,14 @@ package de.teamlapen.vampirism.config; -import de.teamlapen.lib.lib.util.UtilLib; +import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.api.ThreadSafeAPI; import de.teamlapen.vampirism.api.VampirismAPI; -import de.teamlapen.vampirism.client.ClientConfigHelper; import de.teamlapen.vampirism.entity.SundamageRegistry; -import net.minecraft.world.level.Level; -import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.ModContainer; -import net.neoforged.fml.ModLoadingContext; +import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.config.IConfigSpec; import net.neoforged.fml.config.ModConfig; import net.neoforged.fml.event.config.ModConfigEvent; @@ -22,49 +19,38 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Collections; -import java.util.List; import java.util.function.Consumer; +@EventBusSubscriber(modid = REFERENCE.MODID, bus = EventBusSubscriber.Bus.MOD) public class VampirismConfig { public static final Logger LOGGER = LogManager.getLogger(); - /** - * For client side only configuration. - * Loaded after registry events but before setup - */ - public static final Client CLIENT; - /** - * Synced to clients. - * Only loaded on world load - */ - public static final Server SERVER; - /** - * For side independent configuration. Not synced. - * Loaded after registry events but before setup - */ - public static final Common COMMON; + public static final ClientConfig CLIENT; + public static final ServerConfig SERVER; + public static final CommonConfig COMMON; public static final @NotNull BalanceConfig BALANCE; + private static final ModConfigSpec clientSpec; private static final ModConfigSpec serverSpec; private static final ModConfigSpec commonSpec; + private static ModConfigSpec balanceSpec; private static @Nullable BalanceBuilder balanceBuilder; static { - final Pair specPair = new ModConfigSpec.Builder().configure(Client::new); + final Pair specPair = new ModConfigSpec.Builder().configure(ClientConfig::new); clientSpec = specPair.getRight(); CLIENT = specPair.getLeft(); } static { - final Pair specPair = new ModConfigSpec.Builder().configure(Server::new); + final Pair specPair = new ModConfigSpec.Builder().configure(ServerConfig::new); serverSpec = specPair.getRight(); SERVER = specPair.getLeft(); } static { - final Pair specPair = new ModConfigSpec.Builder().configure(Common::new); + final Pair specPair = new ModConfigSpec.Builder().configure(CommonConfig::new); commonSpec = specPair.getRight(); COMMON = specPair.getLeft(); } @@ -74,11 +60,6 @@ public class VampirismConfig { BALANCE = new BalanceConfig(balanceBuilder); } - @SuppressWarnings("EmptyMethod") - public static void init() { - - } - public static boolean isClientConfigSpec(IConfigSpec specs) { return specs == clientSpec; } @@ -91,7 +72,7 @@ public static void addBalanceModification(@NotNu balanceBuilder.addBalanceModifier(key, modifier); } - public static void finalizeAndRegisterConfig(IEventBus modBus) { + public static void buildBalanceConfig() { if (balanceBuilder == null) return; /* Build balance configuration @@ -103,18 +84,18 @@ public static void finalizeAndRegisterConfig(IEventBus modBus) { builder.pop(); return BALANCE; }); - ModConfigSpec balanceSpec = specPair.getRight(); + balanceSpec = specPair.getRight(); if (VampirismMod.inDev) { balanceBuilder.checkFields(BALANCE); } balanceBuilder = null; + } - ModContainer activeContainer = ModLoadingContext.get().getActiveContainer(); - activeContainer.registerConfig(ModConfig.Type.COMMON, commonSpec); - activeContainer.registerConfig(ModConfig.Type.CLIENT, clientSpec); - activeContainer.registerConfig(ModConfig.Type.SERVER, serverSpec); - activeContainer.registerConfig(ModConfig.Type.SERVER, balanceSpec, "vampirism-balance.toml"); - modBus.register(VampirismConfig.class); + public static void register(ModContainer modContainer) { + modContainer.registerConfig(ModConfig.Type.COMMON, commonSpec); + modContainer.registerConfig(ModConfig.Type.CLIENT, clientSpec); + modContainer.registerConfig(ModConfig.Type.SERVER, serverSpec); + modContainer.registerConfig(ModConfig.Type.SERVER, balanceSpec, "vampirism-balance.toml"); } @SubscribeEvent @@ -135,224 +116,4 @@ public static void onReload(final ModConfigEvent.@NotNull Reloading configEvent) } } - /** - * This is stored server side on a per world base. - * Config is synced to clients on connect - */ - public static class Server { - - public final ModConfigSpec.BooleanValue enforceRenderForestFog; - public final ModConfigSpec.BooleanValue unlockAllSkills; - public final ModConfigSpec.BooleanValue pvpOnlyBetweenFactions; - public final ModConfigSpec.BooleanValue pvpOnlyBetweenFactionsIncludeHumans; - public final ModConfigSpec.IntValue sunscreenBeaconDistance; - public final ModConfigSpec.BooleanValue sunscreenBeaconMineable; - public final ModConfigSpec.BooleanValue autoCalculateEntityBlood; - public final ModConfigSpec.BooleanValue playerCanTurnPlayer; - public final ModConfigSpec.BooleanValue factionColorInChat; - public final ModConfigSpec.BooleanValue lordPrefixInChat; - public final ModConfigSpec.EnumValue entityIMob; - public final ModConfigSpec.BooleanValue infectCreaturesSanguinare; - public final ModConfigSpec.BooleanValue preventRenderingDebugBoundingBoxes; - public final ModConfigSpec.BooleanValue allowVillageDestroyBlocks; - public final ModConfigSpec.BooleanValue usePermissions; - - public final ModConfigSpec.BooleanValue sundamageUnknownDimension; - public final ModConfigSpec.ConfigValue> sundamageDimensionsOverridePositive; - public final ModConfigSpec.ConfigValue> sundamageDimensionsOverrideNegative; - public final ModConfigSpec.ConfigValue> sundamageDisabledBiomes; - public final ModConfigSpec.ConfigValue> batDimensionBlacklist; - - - public final ModConfigSpec.ConfigValue> blacklistedBloodEntity; - - public final ModConfigSpec.BooleanValue disableFangInfection; - public final ModConfigSpec.BooleanValue disableMobBiteInfection; - public final ModConfigSpec.BooleanValue disableVillageGuards; - - public final ModConfigSpec.BooleanValue oldVampireBiomeGen; - - public final ModConfigSpec.BooleanValue infoAboutGuideAPI; - - - Server(ModConfigSpec.@NotNull Builder builder) { - builder.comment("Server configuration settings") - .push("server"); - - enforceRenderForestFog = builder.comment("Prevent clients from disabling the vampire forest fog").define("enforceForestFog", true); - pvpOnlyBetweenFactions = builder.comment("If PVP should only be allowed between factions. PVP has to be enabled in the server properties for this. Not guaranteed to always protect player from teammates").define("pvpOnlyBetweenFactions", false); - pvpOnlyBetweenFactionsIncludeHumans = builder.comment("If pvpOnlyBetweenFactions is enabled, this decides whether human players can be attacked and attack others").define("pvpOnlyBetweenFactionsIncludeHumans", false); - sunscreenBeaconDistance = builder.comment("Block radius the sunscreen beacon affects").defineInRange("sunscreenBeaconDistance", 32, 1, 40000); - sunscreenBeaconMineable = builder.comment("Whether the suncreen beacon can be mined in survival").define("sunscreenBeaconMineable", false); - autoCalculateEntityBlood = builder.comment("Calculate the blood level for unknown creatures based on their size").define("autoCalculateEntityBlood", true); - playerCanTurnPlayer = builder.comment("Whether players can infect other players").define("playersCanTurnPlayers", true); - factionColorInChat = builder.comment("Whether to color player names in chat based on their current faction").define("factionColorInChat", true); - lordPrefixInChat = builder.comment("Whether to add a prefix title based on the current lord level to the player names").define("lordPrefixInChat", true); - entityIMob = builder.comment("Changes if entities are recognized as hostile by other mods. See https://github.com/TeamLapen/Vampirism/issues/199. Smart falls back to Never on servers ").defineEnum("entitiesIMob", IMobOptions.SMART); - infectCreaturesSanguinare = builder.comment("If enabled, creatures are infected with Sanguinare Vampirism first instead of immediately being converted to a vampire when their blood is sucked dry").define("infectCreaturesSanguinare", false); - preventRenderingDebugBoundingBoxes = builder.comment("Prevent players from enabling the rendering of debug bounding boxes. This can allow them to see certain entities they are not supposed to see (e.g. disguised hunter").define("preventDebugBoundingBoxes", false); - batDimensionBlacklist = builder.comment("Prevent vampire players to transform into a bat").defineList("batDimensionBlacklist", Collections.singletonList(Level.END.location().toString()), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); - allowVillageDestroyBlocks = builder.comment("Allow players to destroy point of interest blocks in faction villages if they no not have the faction village").define("allowVillageDestroyBlocks", false); - usePermissions = builder.comment("Use the forge permission system for certain actions. Take a look at the wiki for more information").define("usePermissions", false); - - builder.push("sundamage"); - sundamageUnknownDimension = builder.comment("Whether vampires should receive sundamage in unknown dimensions").define("sundamageUnknownDimension", false); - sundamageDimensionsOverridePositive = builder.comment("Add the string id in quotes of any dimension (/vampirism currentDimension) you want to enforce sundamage for to this comma-separated list. Overrides defaults and values added by other mods").defineList("sundamageDimensionsOverridePositive", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); - - sundamageDimensionsOverrideNegative = builder.comment("Add the string id in quotes of any dimension (/vampirism currentDimension) you want to disable sundamage for to this comma-separated list. Overrides defaults and values added by other mods").defineList("sundamageDimensionsOverrideNegative", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); - sundamageDisabledBiomes = builder.comment("Additional biomes the player should not get sundamage in. Use biome ids e.g. [\"minecraft:mesa\", \"minecraft:plains\"]").defineList("sundamageDisabledBiomes", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); - builder.pop(); - - builder.push("entities"); - blacklistedBloodEntity = builder.comment("Blacklist entities from predefined or auto calculated blood values").defineList("blacklistedBloodEntity", Collections.emptyList(), string -> string instanceof String && UtilLib.isValidResourceLocation(((String) string))); - builder.pop(); - - builder.push("cheats"); - unlockAllSkills = builder.comment("CHEAT: If enabled, you will be able to unlock all skills at max level").define("allSkillsAtMaxLevel", false); - builder.pop(); - - builder.comment("Disabling these things might reduce fun or interfere with gameplay"); - builder.push("disable"); - disableFangInfection = builder.comment("Disable vampire fangs being usable to infect yourself").define("disableFangInfection", false); - disableMobBiteInfection = builder.comment("Prevent vampire mobs from infecting players when attacking").define("disableMobBiteInfection", false); - disableVillageGuards = builder.comment("Prevent villagers in hunter controlled villages to turn into guard villager when the village is attacked").define("disableVillageGuards", false); - builder.pop(); - - builder.push("internal"); - infoAboutGuideAPI = builder.comment("Send message about Guide-API once").define("infoAboutGuideAPI", true); - oldVampireBiomeGen = builder.comment("If world was generated using the old vampirism biome").define("oldVampireBiomeGen", true); - builder.pop(); - - builder.pop(); - } - - public enum IMobOptions { - ALWAYS_IMOB, NEVER_IMOB, SMART - } - } - - /** - * Client only configuration - */ - public static class Client { - - public final ModConfigSpec.IntValue overrideGuiSkillButtonX; - public final ModConfigSpec.IntValue overrideGuiSkillButtonY; - public final ModConfigSpec.IntValue guiLevelOffsetX; - public final ModConfigSpec.IntValue guiLevelOffsetY; - public final ModConfigSpec.BooleanValue guiSkillButton; - public final ModConfigSpec.BooleanValue renderAdvancedMobPlayerFaces; - public final ModConfigSpec.BooleanValue renderVampireEyes; - public final ModConfigSpec.BooleanValue renderVampireForestFog; - public final ModConfigSpec.BooleanValue renderScreenOverlay; - public final ModConfigSpec.BooleanValue disableFovChange; - public final ModConfigSpec.BooleanValue disableBloodVisionRendering; - public final ModConfigSpec.BooleanValue disableHudActionCooldownRendering; - public final ModConfigSpec.BooleanValue disableHudActionDurationRendering; - public final ModConfigSpec.ConfigValue actionOrder; - public final ModConfigSpec.ConfigValue minionTaskOrder; - - Client(ModConfigSpec.@NotNull Builder builder) { - builder.comment("Client configuration settings") - .push("client"); - - - //Rendering - builder.comment("Configure rendering").push("render"); - renderAdvancedMobPlayerFaces = builder.comment("Render player faces on advanced hunter or vampires").define("advancedMobPlayerFaces", true); - renderVampireEyes = builder.comment("Render vampire eye/fang face overlay").define("vampireEyes", true); - renderVampireForestFog = builder.comment("Render fog in vampire biome. Might be enforced server side").define("vampireForestFog", true); - renderScreenOverlay = builder.comment("Render screen overlay. Don't disable").define("screenOverlay", true); - - builder.pop(); - - builder.comment("Configure GUI").push("gui"); - guiLevelOffsetX = builder.comment("X-Offset of the level indicator from the center in pixels").defineInRange("levelOffsetX", 0, -250, 250); - guiLevelOffsetY = builder.comment("Y-Offset of the level indicator from the bottom in pixels. Must be > 0").defineInRange("levelOffsetY", 47, 0, 270); - guiSkillButton = builder.comment("Render skill menu button in inventory").define("skillButtonEnable", true); - overrideGuiSkillButtonX = builder.comment("Force the guiSkillButton to the following x position from the center of the inventory, default value is 125").defineInRange("overrideGuiSkillButtonX", 125, Integer.MIN_VALUE, Integer.MAX_VALUE); - overrideGuiSkillButtonY = builder.comment("Force the guiSkillButton to the following y position from the center of the inventory, default value is -22").defineInRange("overrideGuiSkillButtonY", -22, Integer.MIN_VALUE, Integer.MAX_VALUE); - - disableFovChange = builder.comment("Disable the FOV change caused by the speed buf for vampire players").define("disableFovChange", false); - disableBloodVisionRendering = builder.comment("Disable the effect of blood vision. It can still be unlocked and activated but does not have any effect").define("disableBloodVisionRendering", false); - disableHudActionCooldownRendering = builder.comment("Disable the rendering of the action cooldowns in the HUD").define("disableHudActionCooldownRendering", false); - disableHudActionDurationRendering = builder.comment("Disable the rendering of the action durations in the HUD").define("disableHudActionDurationRendering", false); - - builder.pop(); - - builder.push("internal"); - actionOrder = builder.comment("Action ordering").define("actionOrder", "", ClientConfigHelper::testActions); - minionTaskOrder = builder.comment("Minion task ordering").define("minionTaskOrder", "", ClientConfigHelper::testTasks); - builder.pop(); - - builder.pop(); - } - - } - - /** - * Separate configuration for client and server. - * E.g. enable update check - * Not synced - */ - public static class Common { - - public final ModConfigSpec.BooleanValue collectStats; - public final ModConfigSpec.ConfigValue integrationsNotifier; - public final ModConfigSpec.BooleanValue optifineBloodvisionWarning; - - //Common server - public final ModConfigSpec.BooleanValue autoConvertGlassBottles; - public final ModConfigSpec.BooleanValue umbrella; - public final ModConfigSpec.BooleanValue enableFactionLogging; - - //World - public final ModConfigSpec.BooleanValue addVampireForestToOverworld; - public final ModConfigSpec.IntValue vampireForestWeight_terrablender; - public final ModConfigSpec.BooleanValue enableHunterTentGeneration; - public final ModConfigSpec.BooleanValue useVanillaCampfire; - - //World village - public final ModConfigSpec.IntValue villageTotemWeight; - public final ModConfigSpec.BooleanValue villageReplaceTemples; - public final ModConfigSpec.DoubleValue villageTotemFactionChance; - public final ModConfigSpec.IntValue villageHunterTrainerWeight; - - - Common(ModConfigSpec.@NotNull Builder builder) { - builder.comment("Common configuration settings. Most other configuration can be found in the world (server)configuration folder") - .push("common"); - collectStats = builder.comment("Send mod version, MC version and mod count to mod author").define("collectStats", true); - - builder.push("internal"); - integrationsNotifier = builder.comment("INTERNAL - Set to 'never' if you don't want to be notified about integration mods").define("integrationsNotifier", ""); - optifineBloodvisionWarning = builder.comment("INTERNAL").define("optifineBloodvisionWarning", false); - builder.pop(); - - builder.pop(); - builder.comment("Affects all worlds. This is only considered on server (or in singleplayer), but Forge requires us to put it here") - .push("common-server"); - autoConvertGlassBottles = builder.comment("Whether glass bottles should be automatically be converted to blood bottles when needed").define("autoConvertGlassBottles", true); - umbrella = builder.comment("If enabled adds a craftable umbrella that can be used to slowly walk though sunlight without taking damage").define("umbrella", false); - enableFactionLogging = builder.comment("Enable a custom vampirism log file that logs specific faction actions", "Requires restart").define("enableFactionLogging", false); - - builder.comment("Settings here require a game restart").push("world"); - addVampireForestToOverworld = builder.comment("Whether to inject the vampire forest into the default overworld generation and to replace some Taiga areas").define("addVampireForestToOverworld", true); - vampireForestWeight_terrablender = builder.comment("Only considered if terrablender installed. Heigher values increase Vampirism region weight (likelyhood to appear)").defineInRange("vampireForestWeight_terrablender", 2, 1, 1000); - enableHunterTentGeneration = builder.comment("Control hunter camp generation. If disabled you should set hunterSpawnChance to 75.").define("enableHunterTentGeneration", true); - useVanillaCampfire = builder.comment("Use the vanilla campfire block instead of Vampirism's much cooler one").define("useVanillaCampfire", false); - - - builder.push("village"); - villageTotemWeight = builder.comment("Weight of the Totem Building inside the Village").defineInRange("totemWeight", 20, 0, 140); - villageTotemFactionChance = builder.comment("Chance for a totem to have a faction after generation").defineInRange("villageTotemFactionChance", 0.6, 0, 1); - villageHunterTrainerWeight = builder.comment("Weight of the Hunter Trainer Building inside the Village").defineInRange("villageHunterTrainerWeight", 50, 0, 140); - villageReplaceTemples = builder.comment("Whether village Temples should be replaced with versions that contain church altars.").define("villageReplaceTemples", true); - builder.pop(); - - builder.pop(); - builder.pop(); - } - - } } diff --git a/src/main/java/de/teamlapen/vampirism/core/ModAdvancements.java b/src/main/java/de/teamlapen/vampirism/core/ModAdvancements.java index 64d6a080ea..3cd36dedd1 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModAdvancements.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModAdvancements.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.advancements.critereon.*; import de.teamlapen.vampirism.mixin.accessor.PlayerAdvancementsAccessor; import net.minecraft.advancements.CriterionTrigger; -import net.minecraft.advancements.critereon.EntitySubPredicate; import net.minecraft.advancements.critereon.PlayerTrigger; import net.minecraft.core.registries.Registries; import net.minecraft.server.PlayerAdvancements; @@ -13,10 +12,6 @@ import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; -/** - * Actual advancements are loaded from assets (JSON) - * Criteria are registered here - */ public class ModAdvancements { private static final DeferredRegister> TRIGGERS = DeferredRegister.create(Registries.TRIGGER_TYPE, REFERENCE.MODID); diff --git a/src/main/java/de/teamlapen/vampirism/core/ModArmorMaterials.java b/src/main/java/de/teamlapen/vampirism/core/ModArmorMaterials.java index e813240fc6..f00fca0059 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModArmorMaterials.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModArmorMaterials.java @@ -2,7 +2,6 @@ import de.teamlapen.vampirism.REFERENCE; import net.minecraft.Util; -import net.minecraft.client.gui.components.SpriteIconButton; import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; @@ -34,6 +33,11 @@ public class ModArmorMaterials { public static final DeferredHolder ULTIMATE_SWIFTNESS = register("armor_of_swiftness_ultimate", createReduction(3, 8, 6, 3), 12, SoundEvents.ARMOR_EQUIP_LEATHER, () -> Ingredient.of(Tags.Items.LEATHERS), 0, 0); + static void register(IEventBus bus) { + ARMOR_MATERIALS.register(bus); + } + + private static DeferredHolder register(String name, Map defense, int enchantmentValue, Holder equipSound, Supplier repairIngredient, float toughness, float knockbackResistance) { return ARMOR_MATERIALS.register(name, () -> { List list = List.of(new ArmorMaterial.Layer(new ResourceLocation(REFERENCE.MODID, name))); @@ -41,11 +45,7 @@ private static DeferredHolder register(String name }); } - static void register(IEventBus bus) { - ARMOR_MATERIALS.register(bus); - } - - public static EnumMap createReduction(int helmet, int chestplate, int leggings, int boots) { + private static EnumMap createReduction(int helmet, int chestplate, int leggings, int boots) { return Util.make(new EnumMap<>(ArmorItem.Type.class), (map) -> { map.put(ArmorItem.Type.BOOTS, boots); map.put(ArmorItem.Type.LEGGINGS, leggings); diff --git a/src/main/java/de/teamlapen/vampirism/core/ModBlocks.java b/src/main/java/de/teamlapen/vampirism/core/ModBlocks.java index 1a5c888db5..4cecd98f6d 100755 --- a/src/main/java/de/teamlapen/vampirism/core/ModBlocks.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModBlocks.java @@ -30,7 +30,8 @@ import java.util.function.Supplier; import java.util.stream.Collectors; -import static de.teamlapen.lib.lib.util.RegisterHelper.*; +import static de.teamlapen.lib.lib.util.RegisterHelper.flammable; +import static de.teamlapen.lib.lib.util.RegisterHelper.potted; /** * Handles all block registrations and reference. diff --git a/src/main/java/de/teamlapen/vampirism/core/ModCommands.java b/src/main/java/de/teamlapen/vampirism/core/ModCommands.java index 6f9f0f3a5e..03ec81cf4a 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModCommands.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModCommands.java @@ -83,8 +83,7 @@ static void registerCommands(@NotNull RegisterCommandsEvent event) { .then(TentCommand.register()) .then(VampireBookCommand.register()) .then(GarlicCheckCommand.register()) - .then(SetSwordChargedCommand.register()) - .then(SetSwordTrainedCommand.register()) + .then(VampireSwordCommand.register()) .then(SpawnTestAnimalCommand.register()) .then(HealCommand.register()) .then(VillageCommand.register()) diff --git a/src/main/java/de/teamlapen/vampirism/core/ModDataComponents.java b/src/main/java/de/teamlapen/vampirism/core/ModDataComponents.java index 59d9a2866e..03b0c38580 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModDataComponents.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModDataComponents.java @@ -3,19 +3,12 @@ import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.VampirismDataComponents; -import de.teamlapen.vampirism.api.VampirismRegistries; -import de.teamlapen.vampirism.api.entity.player.refinement.IRefinementSet; import de.teamlapen.vampirism.items.component.*; import net.minecraft.core.component.DataComponentType; -import net.minecraft.core.component.DataComponents; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.Unit; -import net.minecraft.world.item.Item; import net.neoforged.bus.api.IEventBus; -import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; @@ -31,8 +24,10 @@ public class ModDataComponents { public static final DeferredHolder, DataComponentType> REFINEMENT_SET = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.REFINEMENT_SET.getPath(), (builder) -> builder.persistent(EffectiveRefinementSet.CODEC).networkSynchronized(EffectiveRefinementSet.STREAM_CODEC)); public static final DeferredHolder, DataComponentType> DO_NOT_NAME = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.DO_NOT_NAME.getPath(), (builder) -> builder.persistent(Codec.unit(Unit.INSTANCE)).networkSynchronized(StreamCodec.unit(Unit.INSTANCE))); public static final DeferredHolder, DataComponentType> VAMPIRE_SWORD = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.VAMPIRE_SWORD.getPath(), (builder) -> builder.persistent(SwordTraining.CODEC).networkSynchronized(SwordTraining.STREAM_CODEC)); + public static final DeferredHolder, DataComponentType> BLOOD_CHARGED = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.BLOOD_CHARGED.getPath(), (builder) -> builder.persistent(BloodCharged.CODEC).networkSynchronized(BloodCharged.STREAM_CODEC)); public static final DeferredHolder, DataComponentType> TRAINING_CACHE = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.TRAINING_CACHE.getPath(), (builder) -> builder.persistent(Codec.FLOAT).networkSynchronized(ByteBufCodecs.FLOAT)); public static final DeferredHolder, DataComponentType> SELECTED_AMMUNITION = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.SELECTED_AMMUNITION.getPath(), (builder) -> builder.persistent(SelectedAmmunition.CODEC).networkSynchronized(SelectedAmmunition.STREAM_CODEC)); + public static final DeferredHolder, DataComponentType> BOTTLE_BLOOD = DATA_COMPONENTS.registerComponentType(VampirismDataComponents.Keys.BOTTLE_BLOOD.getPath(), (builder) -> builder.persistent(BottleBlood.CODEC).networkSynchronized(BottleBlood.STREAM_CODEC)); static void register(IEventBus eventBus) { DATA_COMPONENTS.register(eventBus); diff --git a/src/main/java/de/teamlapen/vampirism/core/ModEntities.java b/src/main/java/de/teamlapen/vampirism/core/ModEntities.java index e422fa41e4..a39c05603b 100755 --- a/src/main/java/de/teamlapen/vampirism/core/ModEntities.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModEntities.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.core; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.advancements.critereon.FactionSubPredicate; diff --git a/src/main/java/de/teamlapen/vampirism/core/ModItems.java b/src/main/java/de/teamlapen/vampirism/core/ModItems.java index 0c591dc3a9..dd8015b193 100755 --- a/src/main/java/de/teamlapen/vampirism/core/ModItems.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModItems.java @@ -25,7 +25,6 @@ import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.Level; import net.minecraft.world.level.block.DispenserBlock; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.common.DeferredSpawnEggItem; diff --git a/src/main/java/de/teamlapen/vampirism/core/ModLoot.java b/src/main/java/de/teamlapen/vampirism/core/ModLoot.java index adbbf6af1d..11c0ff681c 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModLoot.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModLoot.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.core; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.world.loot.SmeltItemLootModifier; diff --git a/src/main/java/de/teamlapen/vampirism/core/ModLootTables.java b/src/main/java/de/teamlapen/vampirism/core/ModLootTables.java index 9080951609..2e684d2500 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModLootTables.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModLootTables.java @@ -11,11 +11,9 @@ import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer; -import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer; import net.minecraft.world.level.storage.loot.entries.NestedLootTable; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; -import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.neoforge.event.LootTableLoadEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -77,17 +75,15 @@ public class ModLootTables { static void onLootLoad(@NotNull LootTableLoadEvent event) { String prefix = "minecraft:chests/"; - if (event.getName() != null) { - String name = event.getName().toString(); - if (name.startsWith(prefix)) { - String file = name.substring(name.indexOf(prefix) + prefix.length()); - if (INJECTION_TABLES.containsKey(file)) { - try { - ((LootTableAccessor) event.getTable()).getPools().add(getInjectPool(file)); - injected++; - } catch (NullPointerException e) { - LOGGER.warn("Loottable {} is broken by some other mod. Cannot add Vampirism loot to it.", name); - } + String name = event.getName().toString(); + if (name.startsWith(prefix)) { + String file = name.substring(name.indexOf(prefix) + prefix.length()); + if (INJECTION_TABLES.containsKey(file)) { + try { + ((LootTableAccessor) event.getTable()).getPools().add(getInjectPool(file)); + injected++; + } catch (NullPointerException e) { + LOGGER.warn("Loottable {} is broken by some other mod. Cannot add Vampirism loot to it.", name); } } } diff --git a/src/main/java/de/teamlapen/vampirism/core/ModContainer.java b/src/main/java/de/teamlapen/vampirism/core/ModMenus.java similarity index 99% rename from src/main/java/de/teamlapen/vampirism/core/ModContainer.java rename to src/main/java/de/teamlapen/vampirism/core/ModMenus.java index 641e732bcc..b1692ec1e4 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModContainer.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModMenus.java @@ -12,7 +12,7 @@ import net.neoforged.neoforge.registries.DeferredRegister; @SuppressWarnings("deprecation") -public class ModContainer { +public class ModMenus { public static final DeferredRegister> MENUS = DeferredRegister.create(Registries.MENU, REFERENCE.MODID); public static final DeferredHolder, MenuType> HUNTER_TRAINER = MENUS.register("hunter_trainer", () -> create(HunterTrainerMenu::new)); diff --git a/src/main/java/de/teamlapen/vampirism/core/ModParticles.java b/src/main/java/de/teamlapen/vampirism/core/ModParticles.java index 114368da8b..94abb3c310 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModParticles.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModParticles.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.core; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.particle.FlyingBloodEntityParticleOptions; diff --git a/src/main/java/de/teamlapen/vampirism/core/ModRecipes.java b/src/main/java/de/teamlapen/vampirism/core/ModRecipes.java index 89962b485f..85b165dcc5 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModRecipes.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModRecipes.java @@ -1,29 +1,25 @@ package de.teamlapen.vampirism.core; -import com.google.common.collect.Maps; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.items.IWeaponTableRecipe; import de.teamlapen.vampirism.datamaps.EntityExistsCondition; import de.teamlapen.vampirism.recipes.*; +import net.minecraft.client.RecipeBookCategories; import net.minecraft.core.registries.Registries; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; +import net.minecraft.world.inventory.RecipeBookType; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.ShapedRecipe; import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.client.event.RegisterRecipeBookCategoriesEvent; import net.neoforged.neoforge.common.conditions.ICondition; import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; import net.neoforged.neoforge.registries.NeoForgeRegistries; import org.jetbrains.annotations.NotNull; -import java.util.Map; - /** * Handles all recipe registrations and reference. */ @@ -66,4 +62,10 @@ static void register(@NotNull IEventBus bus) { CONDITION_CODECS.register(bus); } + static void registerCategories(RegisterRecipeBookCategoriesEvent event) { + event.registerRecipeCategoryFinder(ALCHEMICAL_CAULDRON_TYPE.get(), holder -> RecipeBookCategories.UNKNOWN); + event.registerRecipeCategoryFinder(ALCHEMICAL_TABLE_TYPE.get(), holder -> RecipeBookCategories.UNKNOWN); + event.registerRecipeCategoryFinder(WEAPONTABLE_CRAFTING_TYPE.get(), holder -> RecipeBookCategories.UNKNOWN); + } + } diff --git a/src/main/java/de/teamlapen/vampirism/core/ModRegistries.java b/src/main/java/de/teamlapen/vampirism/core/ModRegistries.java index e7e2762a9c..86051235f3 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModRegistries.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModRegistries.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.core; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.actions.IEntityAction; @@ -19,9 +18,9 @@ import net.minecraft.core.Registry; import net.minecraft.core.RegistrySetBuilder; import net.minecraft.core.registries.Registries; -import net.neoforged.neoforge.registries.*; - -import java.util.Collection; +import net.neoforged.neoforge.registries.DataPackRegistryEvent; +import net.neoforged.neoforge.registries.NewRegistryEvent; +import net.neoforged.neoforge.registries.RegistryBuilder; import static de.teamlapen.vampirism.api.VampirismRegistries.Keys.*; @@ -48,7 +47,7 @@ public class ModRegistries { .add(Registries.PROCESSOR_LIST, ModStructures::createStructureProcessorLists) .add(Registries.TEMPLATE_POOL, ModStructures::createStructurePoolTemplates) .add(Registries.STRUCTURE_SET, ModStructures::createStructureSets) -// .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, VampirismFeatures::createBiomeModifier) +// .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, VampirismFeatures::createBiomeModifier) TODO readd this .add(Registries.DAMAGE_TYPE, ModDamageTypes::createDamageTypes) .add(TASK, ModTasks::createTasks) .add(SKILL_NODE, ModSkills::createSkillNodes) diff --git a/src/main/java/de/teamlapen/vampirism/core/ModStructures.java b/src/main/java/de/teamlapen/vampirism/core/ModStructures.java index 2c6f1484be..e9a07f8f2c 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModStructures.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModStructures.java @@ -144,6 +144,7 @@ static void createStructureSets(BootstrapContext context) { context.register(HUNTER_OUTPOST, new StructureSet(List.of(StructureSet.entry(structureLookup.getOrThrow(HUNTER_OUTPOST_PLAINS)), StructureSet.entry(structureLookup.getOrThrow(HUNTER_OUTPOST_DESERT)), StructureSet.entry(structureLookup.getOrThrow(HUNTER_OUTPOST_VAMPIRE_FOREST)), StructureSet.entry(structureLookup.getOrThrow(HUNTER_OUTPOST_BADLANDS))), new RandomSpreadStructurePlacement(45, 25, RandomSpreadType.LINEAR, 36413509))); } + @SuppressWarnings("UnreachableCode") static void createStructures(BootstrapContext context) { HolderGetter lookup = context.lookup(Registries.BIOME); HolderGetter lookup1 = context.lookup(Registries.TEMPLATE_POOL); diff --git a/src/main/java/de/teamlapen/vampirism/core/ModTags.java b/src/main/java/de/teamlapen/vampirism/core/ModTags.java index bee8593ce9..35f1459df0 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModTags.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModTags.java @@ -24,7 +24,7 @@ public class ModTags { private static @NotNull ResourceLocation forge(@NotNull String resourceName) { - return new ResourceLocation("forge", resourceName); + return new ResourceLocation("c", resourceName); } private static @NotNull ResourceLocation vanilla(@NotNull String resourceName) { diff --git a/src/main/java/de/teamlapen/vampirism/core/ModTasks.java b/src/main/java/de/teamlapen/vampirism/core/ModTasks.java index ff3a5ffff7..edb4ac818a 100644 --- a/src/main/java/de/teamlapen/vampirism/core/ModTasks.java +++ b/src/main/java/de/teamlapen/vampirism/core/ModTasks.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.core; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.VReference; diff --git a/src/main/java/de/teamlapen/vampirism/core/RegistryManager.java b/src/main/java/de/teamlapen/vampirism/core/RegistryManager.java index 323ca94251..145563335c 100644 --- a/src/main/java/de/teamlapen/vampirism/core/RegistryManager.java +++ b/src/main/java/de/teamlapen/vampirism/core/RegistryManager.java @@ -37,7 +37,7 @@ public void setupRegistries() { ModAttributes.register(eventBus); ModBiomes.register(eventBus); ModBlocks.register(eventBus); - ModContainer.register(eventBus); + ModMenus.register(eventBus); ModEffects.register(eventBus); ModEnchantments.register(eventBus); ModEntities.register(eventBus); @@ -103,6 +103,7 @@ public void registerModEventHandler() { this.eventBus.addListener(ModItems::registerOtherCreativeTabItems); this.eventBus.addListener(ModRegistries::registerRegistries); this.eventBus.addListener(PackRepositories::registerPackRepository); + this.eventBus.addListener(ModRecipes::registerCategories); } public void registerForgeEventHandler() { diff --git a/src/main/java/de/teamlapen/vampirism/data/PackRepositories.java b/src/main/java/de/teamlapen/vampirism/data/PackRepositories.java index 1b6e4cadc4..e949037c60 100644 --- a/src/main/java/de/teamlapen/vampirism/data/PackRepositories.java +++ b/src/main/java/de/teamlapen/vampirism/data/PackRepositories.java @@ -22,23 +22,11 @@ public class PackRepositories { public static final PackLocationInfo BUILTIN_COMPAT = new PackLocationInfo(BUILTIN_COMPAT_ID, Component.literal("Vampirism builtin mod compatibility data"), PackSource.DEFAULT, Optional.empty()); public static void registerPackRepository(AddPackFindersEvent event) { - var supplier = new Pack.ResourcesSupplier() { - - @Override - public @NotNull PackResources openPrimary(@NotNull PackLocationInfo info) { - return new PathPackResources(info, ModList.get().getModFileById(REFERENCE.MODID).getFile().findResource("packs/" + info.id())); - } - - @Override - public @NotNull PackResources openFull(@NotNull PackLocationInfo info, Pack.@NotNull Metadata metadata) { - return openPrimary(info); - } - }; if (event.getPackType() == PackType.CLIENT_RESOURCES) { - event.addRepositorySource(s -> s.accept(Pack.readMetaAndCreate(VAMPIRISM_2D_PACK, supplier, PackType.CLIENT_RESOURCES, new PackSelectionConfig(false, Pack.Position.TOP, false)))); + event.addRepositorySource(s -> s.accept(Pack.readMetaAndCreate(VAMPIRISM_2D_PACK, new PathPackResources.PathResourcesSupplier(ModList.get().getModFileById(REFERENCE.MODID).getFile().findResource("packs/" + VAMPIRISM_2D_PACK_ID)), PackType.CLIENT_RESOURCES, new PackSelectionConfig(false, Pack.Position.TOP, false)))); } if (event.getPackType() == PackType.SERVER_DATA) { - event.addRepositorySource(s -> s.accept(new Pack(BUILTIN_COMPAT, supplier, new Pack.Metadata(BUILTIN_COMPAT.title(), PackCompatibility.COMPATIBLE, FeatureFlagSet.of(), List.of(), true), new PackSelectionConfig(false, Pack.Position.TOP, false)))); + event.addRepositorySource(s -> s.accept(new Pack(BUILTIN_COMPAT, new PathPackResources.PathResourcesSupplier(ModList.get().getModFileById(REFERENCE.MODID).getFile().findResource("packs/" + BUILTIN_COMPAT_ID)), new Pack.Metadata(BUILTIN_COMPAT.title(), PackCompatibility.COMPATIBLE, FeatureFlagSet.of(), List.of(), true), new PackSelectionConfig(false, Pack.Position.TOP, false)))); } } } diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/DataMapsProvider.java b/src/main/java/de/teamlapen/vampirism/data/provider/DataMapsProvider.java index a6d3fdc0e8..15a1493c31 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/DataMapsProvider.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/DataMapsProvider.java @@ -5,8 +5,11 @@ import de.teamlapen.vampirism.api.datamaps.IEntityBlood; import de.teamlapen.vampirism.api.datamaps.IFluidBloodConversion; import de.teamlapen.vampirism.api.datamaps.IItemBlood; -import de.teamlapen.vampirism.datamaps.*; import de.teamlapen.vampirism.core.*; +import de.teamlapen.vampirism.datamaps.ConverterEntry; +import de.teamlapen.vampirism.datamaps.EntityBloodEntry; +import de.teamlapen.vampirism.datamaps.FluidBloodConversion; +import de.teamlapen.vampirism.datamaps.ItemBlood; import de.teamlapen.vampirism.entity.converted.converter.SpecialConverter; import net.minecraft.core.Holder; import net.minecraft.core.HolderLookup; diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/DataProvider.java b/src/main/java/de/teamlapen/vampirism/data/provider/DataProvider.java index 26ba1db45b..44bc75c317 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/DataProvider.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/DataProvider.java @@ -9,7 +9,6 @@ import net.minecraft.data.PackOutput; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; -import net.neoforged.fml.common.Mod; import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider; import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.data.event.GatherDataEvent; diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/ItemModelGenerator.java b/src/main/java/de/teamlapen/vampirism/data/provider/ItemModelGenerator.java index 7b8244e215..41b232f077 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/ItemModelGenerator.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/ItemModelGenerator.java @@ -2,6 +2,7 @@ import de.teamlapen.lib.lib.data.BaseItemModelGenerator; import de.teamlapen.vampirism.REFERENCE; +import de.teamlapen.vampirism.client.core.ModItemsRender; import de.teamlapen.vampirism.core.ModBlocks; import de.teamlapen.vampirism.core.ModItems; import net.minecraft.data.PackOutput; @@ -284,16 +285,16 @@ protected void registerModels() { singleTexture("blood_bottle", mcLoc("item/generated"), "layer0", modLoc("item/blood_bottle_0")) - .override().predicate(mcLoc("damage"), 0f).model(withExistingParent("blood_bottle_0", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_0"))).end() - .override().predicate(mcLoc("damage"), 0.11f).model(withExistingParent("blood_bottle_1", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_1"))).end() - .override().predicate(mcLoc("damage"), 0.22f).model(withExistingParent("blood_bottle_2", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_2"))).end() - .override().predicate(mcLoc("damage"), 0.33f).model(withExistingParent("blood_bottle_3", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_3"))).end() - .override().predicate(mcLoc("damage"), 0.44f).model(withExistingParent("blood_bottle_4", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_4"))).end() - .override().predicate(mcLoc("damage"), 0.55f).model(withExistingParent("blood_bottle_5", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_5"))).end() - .override().predicate(mcLoc("damage"), 0.66f).model(withExistingParent("blood_bottle_6", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_6"))).end() - .override().predicate(mcLoc("damage"), 0.77f).model(withExistingParent("blood_bottle_7", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_7"))).end() - .override().predicate(mcLoc("damage"), 0.88f).model(withExistingParent("blood_bottle_8", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_8"))).end() - .override().predicate(mcLoc("damage"), 0.99f).model(withExistingParent("blood_bottle_9", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_9"))).end(); + .override().predicate(ModItemsRender.BLOOD, 0f).model(withExistingParent("blood_bottle_0", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_0"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.11f).model(withExistingParent("blood_bottle_1", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_1"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.22f).model(withExistingParent("blood_bottle_2", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_2"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.33f).model(withExistingParent("blood_bottle_3", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_3"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.44f).model(withExistingParent("blood_bottle_4", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_4"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.55f).model(withExistingParent("blood_bottle_5", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_5"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.66f).model(withExistingParent("blood_bottle_6", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_6"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.77f).model(withExistingParent("blood_bottle_7", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_7"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.88f).model(withExistingParent("blood_bottle_8", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_8"))).end() + .override().predicate(ModItemsRender.BLOOD, 0.99f).model(withExistingParent("blood_bottle_9", mcLoc("item/generated")).texture("layer0", modLoc("item/blood_bottle_9"))).end(); singleTexture("tech_crossbow_ammo_package", mcLoc("item/generated"), "layer0", modLoc("item/arrow_clip0")) .override().predicate(new ResourceLocation(REFERENCE.MODID, "filled"), 0.0f).model(withExistingParent("arrow_clip/arrow_clip0", mcLoc("item/generated")).texture("layer0", modLoc("item/arrow_clip0"))).end() diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/LootTablesProvider.java b/src/main/java/de/teamlapen/vampirism/data/provider/LootTablesProvider.java index 4d945373cf..00fab126c4 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/LootTablesProvider.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/LootTablesProvider.java @@ -20,11 +20,9 @@ import net.minecraft.data.loot.LootTableSubProvider; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EntityType; import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.item.Items; -import net.minecraft.world.item.SplashPotionItem; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; @@ -34,7 +32,10 @@ import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.entries.EmptyLootItem; import net.minecraft.world.level.storage.loot.entries.LootItem; -import net.minecraft.world.level.storage.loot.functions.*; +import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; +import net.minecraft.world.level.storage.loot.functions.LootingEnchantFunction; +import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; +import net.minecraft.world.level.storage.loot.functions.SetItemDamageFunction; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.predicates.ExplosionCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition; diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/SundamageProvider.java b/src/main/java/de/teamlapen/vampirism/data/provider/SundamageProvider.java index 0c65117e10..d6d9df47b3 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/SundamageProvider.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/SundamageProvider.java @@ -4,7 +4,6 @@ import com.mojang.serialization.JsonOps; import de.teamlapen.vampirism.core.ModTags; import de.teamlapen.vampirism.data.reloadlistener.SundamageReloadListener; -import io.netty.handler.codec.DecoderException; import io.netty.handler.codec.EncoderException; import net.minecraft.data.CachedOutput; import net.minecraft.data.DataProvider; diff --git a/src/main/java/de/teamlapen/vampirism/data/provider/parent/SkillTreeProvider.java b/src/main/java/de/teamlapen/vampirism/data/provider/parent/SkillTreeProvider.java index 01adbc2bd2..e4026c38c7 100644 --- a/src/main/java/de/teamlapen/vampirism/data/provider/parent/SkillTreeProvider.java +++ b/src/main/java/de/teamlapen/vampirism/data/provider/parent/SkillTreeProvider.java @@ -2,18 +2,13 @@ import com.google.gson.JsonElement; import com.mojang.serialization.JsonOps; -import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.entity.player.skills.SkillTreeConfiguration; -import io.netty.handler.codec.DecoderException; -import io.netty.handler.codec.EncoderException; import net.minecraft.core.HolderLookup; -import net.minecraft.core.WritableRegistry; import net.minecraft.data.CachedOutput; import net.minecraft.data.DataProvider; import net.minecraft.data.PackOutput; import net.minecraft.resources.RegistryOps; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.commands.data.DataCommands; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/de/teamlapen/vampirism/data/recipebuilder/ShapedWeaponTableRecipeBuilder.java b/src/main/java/de/teamlapen/vampirism/data/recipebuilder/ShapedWeaponTableRecipeBuilder.java index a598b1c1ad..77886eaf46 100644 --- a/src/main/java/de/teamlapen/vampirism/data/recipebuilder/ShapedWeaponTableRecipeBuilder.java +++ b/src/main/java/de/teamlapen/vampirism/data/recipebuilder/ShapedWeaponTableRecipeBuilder.java @@ -13,7 +13,6 @@ import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.ShapedRecipeBuilder; -import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; @@ -28,7 +27,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Objects; -import java.util.function.Consumer; public class ShapedWeaponTableRecipeBuilder extends ShapedRecipeBuilder { diff --git a/src/main/java/de/teamlapen/vampirism/data/reloadlistener/SkillTreeReloadListener.java b/src/main/java/de/teamlapen/vampirism/data/reloadlistener/SkillTreeReloadListener.java index d8f8e2abab..6faa70fd72 100644 --- a/src/main/java/de/teamlapen/vampirism/data/reloadlistener/SkillTreeReloadListener.java +++ b/src/main/java/de/teamlapen/vampirism/data/reloadlistener/SkillTreeReloadListener.java @@ -9,13 +9,11 @@ import de.teamlapen.vampirism.entity.player.skills.SkillTreeConfiguration; import de.teamlapen.vampirism.entity.player.skills.SkillTreeHolder; import io.netty.handler.codec.DecoderException; -import net.minecraft.core.RegistryAccess; import net.minecraft.resources.RegistryOps; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener; import net.minecraft.util.profiling.ProfilerFiller; -import net.neoforged.neoforge.common.conditions.ICondition; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/datamaps/ConverterEntry.java b/src/main/java/de/teamlapen/vampirism/datamaps/ConverterEntry.java index b35a7226ec..d63d6d6a2d 100644 --- a/src/main/java/de/teamlapen/vampirism/datamaps/ConverterEntry.java +++ b/src/main/java/de/teamlapen/vampirism/datamaps/ConverterEntry.java @@ -9,7 +9,6 @@ import net.minecraft.core.Holder; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.valueproviders.ConstantFloat; import net.minecraft.util.valueproviders.FloatProvider; import net.minecraft.world.entity.ai.attributes.Attribute; diff --git a/src/main/java/de/teamlapen/vampirism/datamaps/EntityBloodEntry.java b/src/main/java/de/teamlapen/vampirism/datamaps/EntityBloodEntry.java index 1f719d6464..87cbedb877 100644 --- a/src/main/java/de/teamlapen/vampirism/datamaps/EntityBloodEntry.java +++ b/src/main/java/de/teamlapen/vampirism/datamaps/EntityBloodEntry.java @@ -1,11 +1,8 @@ package de.teamlapen.vampirism.datamaps; -import com.mojang.datafixers.util.Either; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import de.teamlapen.vampirism.api.datamaps.IConverterEntry; import de.teamlapen.vampirism.api.datamaps.IEntityBlood; -import org.jetbrains.annotations.Nullable; public record EntityBloodEntry(int blood) implements IEntityBlood { diff --git a/src/main/java/de/teamlapen/vampirism/datamaps/EntityExistsCondition.java b/src/main/java/de/teamlapen/vampirism/datamaps/EntityExistsCondition.java index f764db284a..d502546635 100644 --- a/src/main/java/de/teamlapen/vampirism/datamaps/EntityExistsCondition.java +++ b/src/main/java/de/teamlapen/vampirism/datamaps/EntityExistsCondition.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.datamaps; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.core.registries.BuiltInRegistries; diff --git a/src/main/java/de/teamlapen/vampirism/datamaps/FluidBloodConversion.java b/src/main/java/de/teamlapen/vampirism/datamaps/FluidBloodConversion.java index c53532a34b..77f771ccec 100644 --- a/src/main/java/de/teamlapen/vampirism/datamaps/FluidBloodConversion.java +++ b/src/main/java/de/teamlapen/vampirism/datamaps/FluidBloodConversion.java @@ -3,7 +3,6 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.datamaps.IFluidBloodConversion; -import net.minecraft.util.ExtraCodecs; public record FluidBloodConversion(float conversionRate) implements IFluidBloodConversion { public static final Codec NETWORK_CODEC = Codec.FLOAT.xmap(FluidBloodConversion::new, IFluidBloodConversion::conversionRate); diff --git a/src/main/java/de/teamlapen/vampirism/datamaps/ItemBlood.java b/src/main/java/de/teamlapen/vampirism/datamaps/ItemBlood.java index a608f6bc2b..a0a29b7b79 100644 --- a/src/main/java/de/teamlapen/vampirism/datamaps/ItemBlood.java +++ b/src/main/java/de/teamlapen/vampirism/datamaps/ItemBlood.java @@ -3,7 +3,6 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.datamaps.IItemBlood; -import net.minecraft.util.ExtraCodecs; public record ItemBlood(int blood) implements IItemBlood { public static final Codec NETWORK_CODEC = Codec.intRange(0, Integer.MAX_VALUE).xmap(ItemBlood::new, IItemBlood::blood); diff --git a/src/main/java/de/teamlapen/vampirism/effects/BadOmenEffect.java b/src/main/java/de/teamlapen/vampirism/effects/BadOmenEffect.java index a2ae9173a6..39553fef13 100644 --- a/src/main/java/de/teamlapen/vampirism/effects/BadOmenEffect.java +++ b/src/main/java/de/teamlapen/vampirism/effects/BadOmenEffect.java @@ -5,7 +5,6 @@ import de.teamlapen.vampirism.entity.player.VampirismPlayerAttributes; import de.teamlapen.vampirism.util.TotemHelper; import net.minecraft.core.Holder; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.Difficulty; diff --git a/src/main/java/de/teamlapen/vampirism/effects/OblivionEffect.java b/src/main/java/de/teamlapen/vampirism/effects/OblivionEffect.java index be276e55fa..aa0c4845c3 100644 --- a/src/main/java/de/teamlapen/vampirism/effects/OblivionEffect.java +++ b/src/main/java/de/teamlapen/vampirism/effects/OblivionEffect.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.entity.factions.ISkillNode; import de.teamlapen.vampirism.api.entity.player.skills.ISkill; import de.teamlapen.vampirism.api.entity.player.skills.ISkillHandler; -import de.teamlapen.vampirism.core.ModEffects; import de.teamlapen.vampirism.core.ModStats; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.player.skills.SkillHandler; diff --git a/src/main/java/de/teamlapen/vampirism/effects/VampireNightVisionEffectInstance.java b/src/main/java/de/teamlapen/vampirism/effects/VampireNightVisionEffectInstance.java index ae3a8bf59a..83a608fcd7 100755 --- a/src/main/java/de/teamlapen/vampirism/effects/VampireNightVisionEffectInstance.java +++ b/src/main/java/de/teamlapen/vampirism/effects/VampireNightVisionEffectInstance.java @@ -2,7 +2,6 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.entity.effect.EffectInstanceWithSource; -import net.minecraft.nbt.CompoundTag; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.LivingEntity; diff --git a/src/main/java/de/teamlapen/vampirism/effects/VampirismPotion.java b/src/main/java/de/teamlapen/vampirism/effects/VampirismPotion.java index 20249a88f8..ad847d9ce5 100644 --- a/src/main/java/de/teamlapen/vampirism/effects/VampirismPotion.java +++ b/src/main/java/de/teamlapen/vampirism/effects/VampirismPotion.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.effects; import net.minecraft.core.Holder; -import net.minecraft.core.component.DataComponentType; import net.minecraft.core.component.DataComponents; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/entity/ExtendedCreature.java b/src/main/java/de/teamlapen/vampirism/entity/ExtendedCreature.java index 24d313409e..bb8dcd49af 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/ExtendedCreature.java +++ b/src/main/java/de/teamlapen/vampirism/entity/ExtendedCreature.java @@ -5,7 +5,6 @@ import de.teamlapen.lib.lib.util.UtilLib; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.VampirismAPI; -import de.teamlapen.vampirism.api.datamaps.IConverterEntry; import de.teamlapen.vampirism.api.datamaps.IEntityBlood; import de.teamlapen.vampirism.api.entity.IExtendedCreatureVampirism; import de.teamlapen.vampirism.api.entity.convertible.IConvertedCreature; diff --git a/src/main/java/de/teamlapen/vampirism/entity/GhostEntity.java b/src/main/java/de/teamlapen/vampirism/entity/GhostEntity.java index 1444c5a177..fabf871517 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/GhostEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/GhostEntity.java @@ -33,7 +33,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.pathfinder.PathType; import net.minecraft.world.phys.Vec3; -import net.neoforged.neoforge.common.NeoForgeMod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/entity/IDefaultTaskMasterEntity.java b/src/main/java/de/teamlapen/vampirism/entity/IDefaultTaskMasterEntity.java index eb432766f5..03e97e257f 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/IDefaultTaskMasterEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/IDefaultTaskMasterEntity.java @@ -12,7 +12,6 @@ import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.NotNull; -import java.util.Optional; import java.util.OptionalInt; public interface IDefaultTaskMasterEntity extends ForceLookEntityGoal.TaskOwner, ITaskMasterEntity { diff --git a/src/main/java/de/teamlapen/vampirism/entity/ModEntityEventHandler.java b/src/main/java/de/teamlapen/vampirism/entity/ModEntityEventHandler.java index dbdeb7f42b..bffd8be0a9 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/ModEntityEventHandler.java +++ b/src/main/java/de/teamlapen/vampirism/entity/ModEntityEventHandler.java @@ -16,7 +16,7 @@ import de.teamlapen.vampirism.entity.player.VampirismPlayerAttributes; import de.teamlapen.vampirism.entity.player.vampire.VampirePlayer; import de.teamlapen.vampirism.entity.vampire.VampireBaseEntity; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; +import de.teamlapen.vampirism.items.VampireSwordItem; import de.teamlapen.vampirism.items.oil.EvasionOil; import de.teamlapen.vampirism.mixin.accessor.GoalSelectorAccessor; import de.teamlapen.vampirism.mixin.accessor.NearestAttackableTargetGoalAccessor; @@ -249,8 +249,8 @@ public void onItemUseFinish(LivingEntityUseItemEvent.@NotNull Finish event) { @SubscribeEvent(priority = EventPriority.LOW) public void onLivingEquipmentChange(@NotNull LivingEquipmentChangeEvent event) { - if (event.getTo().getItem() instanceof VampirismVampireSwordItem) { - ((VampirismVampireSwordItem) event.getTo().getItem()).updateTrainedCached(event.getTo(), event.getEntity()); + if (event.getTo().getItem() instanceof VampireSwordItem) { + ((VampireSwordItem) event.getTo().getItem()).updateTrainedCached(event.getTo(), event.getEntity()); } } diff --git a/src/main/java/de/teamlapen/vampirism/entity/VampirismEntity.java b/src/main/java/de/teamlapen/vampirism/entity/VampirismEntity.java index b01bfc3219..b67b9153e2 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/VampirismEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/VampirismEntity.java @@ -7,6 +7,7 @@ import de.teamlapen.vampirism.api.entity.factions.IFaction; import de.teamlapen.vampirism.api.entity.factions.IFactionEntity; import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; +import de.teamlapen.vampirism.config.ServerConfig; import de.teamlapen.vampirism.config.VampirismConfig; import de.teamlapen.vampirism.core.ModParticles; import de.teamlapen.vampirism.core.ModTags; @@ -317,11 +318,11 @@ private void checkImobConversion() { if (this.tickCount % 256 == 0 && this.isAlive()) { boolean current = this instanceof Enemy; boolean convert = false; - VampirismConfig.Server.IMobOptions opt = VampirismConfig.SERVER.entityIMob.get(); + ServerConfig.IMobOptions opt = VampirismConfig.SERVER.entityIMob.get(); if (ServerLifecycleHooks.getCurrentServer().isDedicatedServer()) { - convert = (opt == VampirismConfig.Server.IMobOptions.ALWAYS_IMOB) != current; + convert = (opt == ServerConfig.IMobOptions.ALWAYS_IMOB) != current; } else { - if (opt == VampirismConfig.Server.IMobOptions.SMART) { + if (opt == ServerConfig.IMobOptions.SMART) { Player player = VampirismMod.proxy.getClientPlayer(); if (player != null && player.isAlive()) { IPlayableFaction f = VampirismPlayerAttributes.get(player).faction; @@ -332,7 +333,7 @@ private void checkImobConversion() { } } else { - convert = (opt == VampirismConfig.Server.IMobOptions.ALWAYS_IMOB) != current; + convert = (opt == ServerConfig.IMobOptions.ALWAYS_IMOB) != current; } } if (convert) { diff --git a/src/main/java/de/teamlapen/vampirism/entity/ai/goals/AttackRangedCrossbowGoal.java b/src/main/java/de/teamlapen/vampirism/entity/ai/goals/AttackRangedCrossbowGoal.java index c396418e4b..cb5dc5cb34 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/ai/goals/AttackRangedCrossbowGoal.java +++ b/src/main/java/de/teamlapen/vampirism/entity/ai/goals/AttackRangedCrossbowGoal.java @@ -3,7 +3,6 @@ import de.teamlapen.vampirism.api.entity.hunter.IVampirismCrossbowUser; import de.teamlapen.vampirism.api.items.IVampirismCrossbow; import de.teamlapen.vampirism.items.crossbow.TechCrossbowItem; -import de.teamlapen.vampirism.mixin.accessor.CrossbowItemMixin; import net.minecraft.core.component.DataComponents; import net.minecraft.util.TimeUtil; import net.minecraft.util.valueproviders.UniformInt; @@ -12,7 +11,6 @@ import net.minecraft.world.entity.ai.goal.Goal; import net.minecraft.world.entity.monster.RangedAttackMob; import net.minecraft.world.entity.projectile.ProjectileUtil; -import net.minecraft.world.item.CrossbowItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.component.ChargedProjectiles; @@ -74,7 +72,7 @@ private boolean isValidTarget() { public void stop() { super.stop(); this.mob.setAggressive(false); - this.mob.setTarget((LivingEntity)null); + this.mob.setTarget(null); this.seeTime = 0; if (this.mob.isUsingItem()) { this.mob.stopUsingItem(); diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/BiteableEntryManager.java b/src/main/java/de/teamlapen/vampirism/entity/converted/BiteableEntryManager.java index 7153cedc9a..d008ceda51 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/BiteableEntryManager.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/BiteableEntryManager.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.entity.vampire.IVampire; import de.teamlapen.vampirism.config.VampirismConfig; import de.teamlapen.vampirism.core.ModDataMaps; -import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.core.ModTags; import de.teamlapen.vampirism.datamaps.EntityBloodEntry; import de.teamlapen.vampirism.util.RegUtil; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCamelEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCamelEntity.java index 7492a1889e..42cfa5b321 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCamelEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCamelEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCowEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCowEntity.java index b8d66fd86d..a10c97c849 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCowEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCowEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCreatureEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCreatureEntity.java index fbb6bbd910..8c1e1b668a 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCreatureEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedCreatureEntity.java @@ -2,7 +2,6 @@ import de.teamlapen.lib.lib.storage.ISyncable; import de.teamlapen.vampirism.api.VampirismAPI; -import de.teamlapen.vampirism.api.datamaps.IEntityBlood; import de.teamlapen.vampirism.api.entity.convertible.IConvertingHandler; import de.teamlapen.vampirism.core.ModEntities; import de.teamlapen.vampirism.core.ModTags; @@ -19,7 +18,6 @@ import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.ItemTags; import net.minecraft.util.RandomSource; @@ -29,7 +27,6 @@ import net.minecraft.world.entity.*; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedDonkeyEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedDonkeyEntity.java index 19694b4be8..d6f52a17ff 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedDonkeyEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedDonkeyEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedFoxEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedFoxEntity.java index b163917252..328c9efe16 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedFoxEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedFoxEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedGoatEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedGoatEntity.java index 7661a0a24d..732926d1b5 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedGoatEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedGoatEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedHorseEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedHorseEntity.java index cf7309b092..b21d648515 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedHorseEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedHorseEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedMuleEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedMuleEntity.java index eb28e4bc67..7a3cb2a5e6 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedMuleEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedMuleEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedSheepEntity.java b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedSheepEntity.java index c56bed008d..562c644dcf 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedSheepEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/ConvertedSheepEntity.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.BalanceMobProps; import de.teamlapen.vampirism.core.ModAttributes; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/VampirismEntityRegistry.java b/src/main/java/de/teamlapen/vampirism/entity/converted/VampirismEntityRegistry.java index 700016c70e..b4578e62c5 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/VampirismEntityRegistry.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/VampirismEntityRegistry.java @@ -4,12 +4,11 @@ import de.teamlapen.vampirism.api.VampirismDataMaps; import de.teamlapen.vampirism.api.datamaps.IConverterEntry; import de.teamlapen.vampirism.api.datamaps.IEntityBlood; -import de.teamlapen.vampirism.core.ModDataMaps; -import de.teamlapen.vampirism.core.ModRegistries; -import de.teamlapen.vampirism.datamaps.ConverterEntry; import de.teamlapen.vampirism.api.entity.IVampirismEntityRegistry; import de.teamlapen.vampirism.api.entity.convertible.IConvertedCreature; import de.teamlapen.vampirism.api.entity.convertible.IConvertingHandler; +import de.teamlapen.vampirism.core.ModDataMaps; +import de.teamlapen.vampirism.datamaps.ConverterEntry; import net.minecraft.core.DefaultedRegistry; import net.minecraft.core.Holder; import net.minecraft.core.registries.BuiltInRegistries; @@ -23,7 +22,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.*; +import java.util.Map; +import java.util.Optional; public class VampirismEntityRegistry implements IVampirismEntityRegistry { diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/converter/DefaultConverter.java b/src/main/java/de/teamlapen/vampirism/entity/converted/converter/DefaultConverter.java index 46618edd58..dcd6f9118d 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/converter/DefaultConverter.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/converter/DefaultConverter.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted.converter; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.convertible.Converter; @@ -10,7 +9,6 @@ import de.teamlapen.vampirism.entity.converted.DefaultConvertingHandler; import de.teamlapen.vampirism.entity.converted.VampirismEntityRegistry; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import org.jetbrains.annotations.Nullable; import java.util.Optional; diff --git a/src/main/java/de/teamlapen/vampirism/entity/converted/converter/SpecialConverter.java b/src/main/java/de/teamlapen/vampirism/entity/converted/converter/SpecialConverter.java index 68b3621212..735e8e50fa 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/converted/converter/SpecialConverter.java +++ b/src/main/java/de/teamlapen/vampirism/entity/converted/converter/SpecialConverter.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.converted.converter; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.convertible.Converter; @@ -12,7 +11,6 @@ import de.teamlapen.vampirism.entity.converted.VampirismEntityRegistry; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.PathfinderMob; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/entity/factions/FactionPredicate.java b/src/main/java/de/teamlapen/vampirism/entity/factions/FactionPredicate.java index b73ac35d56..a6262b174e 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/factions/FactionPredicate.java +++ b/src/main/java/de/teamlapen/vampirism/entity/factions/FactionPredicate.java @@ -8,8 +8,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.Optional; - /** * Predicate for faction related selection */ diff --git a/src/main/java/de/teamlapen/vampirism/entity/factions/FactionRegistry.java b/src/main/java/de/teamlapen/vampirism/entity/factions/FactionRegistry.java index 7db206a9b8..f577f2e657 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/factions/FactionRegistry.java +++ b/src/main/java/de/teamlapen/vampirism/entity/factions/FactionRegistry.java @@ -15,7 +15,6 @@ import net.minecraft.commands.CommandSourceStack; import net.minecraft.core.Registry; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextColor; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -25,7 +24,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.neoforged.neoforge.attachment.AttachmentType; -import net.neoforged.neoforge.common.util.NonNullSupplier; import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/de/teamlapen/vampirism/entity/factions/PlayableFaction.java b/src/main/java/de/teamlapen/vampirism/entity/factions/PlayableFaction.java index 3c7503fd78..c9e1431693 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/factions/PlayableFaction.java +++ b/src/main/java/de/teamlapen/vampirism/entity/factions/PlayableFaction.java @@ -4,11 +4,9 @@ import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; import de.teamlapen.vampirism.api.items.IRefinementItem; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.neoforged.neoforge.attachment.AttachmentType; -import net.neoforged.neoforge.common.util.NonNullSupplier; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/src/main/java/de/teamlapen/vampirism/entity/hunter/AdvancedHunterEntity.java b/src/main/java/de/teamlapen/vampirism/entity/hunter/AdvancedHunterEntity.java index 87e6256e64..bf6f62daf5 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/hunter/AdvancedHunterEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/hunter/AdvancedHunterEntity.java @@ -49,7 +49,6 @@ import net.minecraft.world.entity.monster.PatrollingMonster; import net.minecraft.world.entity.monster.Zombie; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; diff --git a/src/main/java/de/teamlapen/vampirism/entity/hunter/BasicHunterEntity.java b/src/main/java/de/teamlapen/vampirism/entity/hunter/BasicHunterEntity.java index b6d0d2f655..30a53aca8d 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/hunter/BasicHunterEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/hunter/BasicHunterEntity.java @@ -56,7 +56,6 @@ import net.minecraft.world.entity.monster.PatrollingMonster; import net.minecraft.world.entity.monster.Zombie; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; diff --git a/src/main/java/de/teamlapen/vampirism/entity/hunter/HunterTaskMasterEntity.java b/src/main/java/de/teamlapen/vampirism/entity/hunter/HunterTaskMasterEntity.java index 03d348fcfc..61f17b724e 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/hunter/HunterTaskMasterEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/hunter/HunterTaskMasterEntity.java @@ -9,7 +9,6 @@ import de.teamlapen.vampirism.inventory.TaskBoardMenu; import de.teamlapen.vampirism.util.Helper; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; diff --git a/src/main/java/de/teamlapen/vampirism/entity/minion/HunterMinionEntity.java b/src/main/java/de/teamlapen/vampirism/entity/minion/HunterMinionEntity.java index f8fcbfb813..ca5de440f6 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/minion/HunterMinionEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/minion/HunterMinionEntity.java @@ -41,7 +41,6 @@ import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.entity.monster.Enemy; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; diff --git a/src/main/java/de/teamlapen/vampirism/entity/minion/MinionEntity.java b/src/main/java/de/teamlapen/vampirism/entity/minion/MinionEntity.java index 3d790cc47c..db2db1d2c7 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/minion/MinionEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/minion/MinionEntity.java @@ -31,7 +31,6 @@ import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.syncher.EntityDataAccessor; diff --git a/src/main/java/de/teamlapen/vampirism/entity/minion/management/MinionInventory.java b/src/main/java/de/teamlapen/vampirism/entity/minion/management/MinionInventory.java index acbb6c73c0..3a835aa8c6 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/minion/management/MinionInventory.java +++ b/src/main/java/de/teamlapen/vampirism/entity/minion/management/MinionInventory.java @@ -2,17 +2,11 @@ import com.google.common.collect.ImmutableList; import de.teamlapen.lib.lib.inventory.InventoryHelper; -import de.teamlapen.vampirism.entity.minion.MinionEntity; import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; -import net.minecraft.tags.DamageTypeTags; -import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/entity/minion/management/PlayerMinionController.java b/src/main/java/de/teamlapen/vampirism/entity/minion/management/PlayerMinionController.java index aa5af1fb0d..ad6d0ca0e2 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/minion/management/PlayerMinionController.java +++ b/src/main/java/de/teamlapen/vampirism/entity/minion/management/PlayerMinionController.java @@ -369,12 +369,10 @@ public void markDeadAndReleaseMinionSlot(int id, int token) { if (i != null) { i.checkin(); i.deathCooldown = 20 * VampirismConfig.BALANCE.miDeathRecoveryTime.get(); - getLord().ifPresent(player -> { - player.getLordFaction().getPlayerCapability(player.getPlayer()).map(IFactionPlayer::getSkillHandler).ifPresent(s -> { - if (s.isSkillEnabled(LordSkills.MINION_RECOVERY.get())) { - i.deathCooldown *= (int) 0.8; - } - }); + getLord().flatMap(player -> player.getLordFaction().getPlayerCapability(player.getPlayer()).map(IFactionPlayer::getSkillHandler)).ifPresent(s -> { + if (s.isSkillEnabled(LordSkills.MINION_RECOVERY.get())) { + i.deathCooldown *= (int) 0.8; + } }); if (id < minionTokens.length) { minionTokens[id] = Optional.empty(); diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/ModPlayerEventHandler.java b/src/main/java/de/teamlapen/vampirism/entity/player/ModPlayerEventHandler.java index 91e4f7c972..cfe44157b2 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/ModPlayerEventHandler.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/ModPlayerEventHandler.java @@ -57,7 +57,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.ThrowablePotionItem; -import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.level.GameType; import net.minecraft.world.level.Level; @@ -85,8 +84,6 @@ import java.util.Set; import java.util.stream.StreamSupport; -import static com.mojang.datafixers.TypeRewriteRule.orElse; - /** * Event handler for player related events */ diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/TaskManager.java b/src/main/java/de/teamlapen/vampirism/entity/player/TaskManager.java index cb7d592f6d..4c9651b74a 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/TaskManager.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/TaskManager.java @@ -37,7 +37,6 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.SimpleMenuProvider; import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.server.ServerLifecycleHooks; import org.apache.commons.lang3.tuple.Pair; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/HunterPlayer.java b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/HunterPlayer.java index 7a1ba57f3e..a204241f4f 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/HunterPlayer.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/HunterPlayer.java @@ -44,8 +44,6 @@ import net.neoforged.neoforge.attachment.IAttachmentHolder; import net.neoforged.neoforge.attachment.IAttachmentSerializer; import net.neoforged.neoforge.event.tick.PlayerTickEvent; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import java.util.Optional; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/actions/PotionResistanceHunterAction.java b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/actions/PotionResistanceHunterAction.java index d65b07cbbd..7391f24ba2 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/actions/PotionResistanceHunterAction.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/actions/PotionResistanceHunterAction.java @@ -4,12 +4,10 @@ import de.teamlapen.vampirism.api.entity.player.hunter.DefaultHunterAction; import de.teamlapen.vampirism.api.entity.player.hunter.IHunterPlayer; import de.teamlapen.vampirism.config.VampirismConfig; -import de.teamlapen.vampirism.core.ModEffects; import de.teamlapen.vampirism.core.ModTags; import net.minecraft.core.Holder; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.player.Player; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/skills/HunterSkills.java b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/skills/HunterSkills.java index 13ddec0d98..8f1899695f 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/hunter/skills/HunterSkills.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/hunter/skills/HunterSkills.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.api.entity.factions.ISkillTree; import de.teamlapen.vampirism.api.entity.player.hunter.IHunterPlayer; import de.teamlapen.vampirism.api.entity.player.skills.ISkill; -import de.teamlapen.vampirism.api.entity.player.skills.SkillType; import de.teamlapen.vampirism.config.VampirismConfig; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.entity.player.hunter.actions.HunterActions; @@ -39,8 +38,8 @@ public class HunterSkills { public static final DeferredRegister> SKILLS = DeferredRegister.create(VampirismRegistries.Keys.SKILL, REFERENCE.MODID); - public static final DeferredHolder, ISkill> LEVEL_ROOT = SKILLS.register(SkillType.LEVEL.createIdForFaction(VReference.HUNTER_FACTION.getID()).getPath(), () -> new VampirismSkill.SimpleHunterSkill(0, false)); - public static final DeferredHolder, ISkill> LORD_ROOT = SKILLS.register(SkillType.LORD.createIdForFaction(VReference.HUNTER_FACTION.getID()).getPath(), () -> new VampirismSkill.SimpleHunterSkill(0, false)); + public static final DeferredHolder, ISkill> LEVEL_ROOT = SKILLS.register(VReference.HUNTER_FACTION.getID().getPath(), () -> new VampirismSkill.SimpleHunterSkill(0, false)); + public static final DeferredHolder, ISkill> LORD_ROOT = SKILLS.register(VReference.HUNTER_FACTION.getID().withSuffix("_lord").getPath(), () -> new VampirismSkill.SimpleHunterSkill(0, false)); public static final DeferredHolder, ISkill> BASIC_ALCHEMY = SKILLS.register("basic_alchemy", () -> new VampirismSkill.SimpleHunterSkill(2, true)); public static final DeferredHolder, ISkill> DOUBLE_CROSSBOW = SKILLS.register("double_crossbow", () -> new VampirismSkill.SimpleHunterSkill(1, true)); public static final DeferredHolder, ISkill> ENHANCED_ARMOR = SKILLS.register("enhanced_armor", () -> new VampirismSkill.SimpleHunterSkill(2, true)); diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/lord/actions/LordRangeEffectAction.java b/src/main/java/de/teamlapen/vampirism/entity/player/lord/actions/LordRangeEffectAction.java index 39bf43544e..36b633956c 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/lord/actions/LordRangeEffectAction.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/lord/actions/LordRangeEffectAction.java @@ -16,7 +16,6 @@ import java.util.List; import java.util.Optional; -import java.util.function.Supplier; public abstract class LordRangeEffectAction> extends DefaultAction { diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillHandler.java b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillHandler.java index c2e1b3822a..4d558a264f 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillHandler.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillHandler.java @@ -24,23 +24,23 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; import net.minecraft.core.Registry; -import net.minecraft.nbt.*; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.StringTag; +import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.ai.attributes.AttributeInstance; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; -import net.minecraft.world.item.enchantment.ItemEnchantments; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.*; -import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collectors; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillManager.java b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillManager.java index 6146a5db09..8d662f1950 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillManager.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillManager.java @@ -21,55 +21,17 @@ import java.util.Map; import java.util.stream.Collectors; -/** - * 1.12 - * - * @author maxanier - */ public class SkillManager implements ISkillManager { private final static Logger LOGGER = LogManager.getLogger(SkillManager.class); private final Map skillTypes = new HashMap<>(); - /** - * Gets the root skill of the faction for the given skill type. The skill must be registered with an id that matches {@link de.teamlapen.vampirism.api.entity.player.skills.ISkillType#createIdForFaction(net.minecraft.resources.ResourceLocation)} - * - * @param faction the faction for which the skill should be returned - * @param type the type of skill that is searched for - * @return th root skill for the parameters - * @throws java.lang.IllegalStateException when the faction can not have a skill for the given skill type or when there is no skill registered conforming to the skill type's naming scheme - */ - @NotNull - public > ISkill getRootSkill(@NotNull IPlayableFaction faction, @NotNull ISkillType type) { - if (!type.isForFaction(faction)) throw new IllegalStateException("The skilltype " + type + " is not applicable for the faction " + faction.getID()); - ISkill skill = RegUtil.getSkill(type.createIdForFaction(faction.getID())); - if (skill == null) { - LOGGER.warn("No root skill exists for faction {}", faction.getID()); - throw new IllegalStateException("You need to register a root skill for your faction " + faction.getID()); - } - return skill; - } - @SuppressWarnings("unchecked") @Override public > @NotNull List> getSkillsForFaction(IPlayableFaction faction) { return RegUtil.values(ModRegistries.SKILLS).stream().filter(action -> action.getFaction().map(f -> f == faction).orElse(true)).map(action -> (ISkill) action).collect(Collectors.toList()); } - @Override - public @NotNull Collection getSkillTypes() { - return this.skillTypes.values(); - } - - /** - * For debug purpose only. - * Prints the skills of the given faction to the given sender - */ - public void printSkills(IPlayableFaction faction, @NotNull CommandSourceStack sender) { - for (ISkill s : getSkillsForFaction(faction)) { - sender.sendSuccess(() -> Component.literal("ID: " + RegUtil.id(s) + " Skill: ").append(s.getName()), true); - } - } @Nullable @Override diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTree.java b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTree.java index 1585666cc8..20ec02651f 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTree.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTree.java @@ -7,7 +7,6 @@ import net.minecraft.advancements.critereon.EntityPredicate; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.ComponentSerialization; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTreeConfiguration.java b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTreeConfiguration.java index 2d42e7e988..60dff6aac6 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTreeConfiguration.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/skills/SkillTreeConfiguration.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.api.entity.player.skills.ISkill; import net.minecraft.core.Holder; import net.minecraft.resources.RegistryFixedCodec; -import net.minecraft.util.ExtraCodecs; import java.util.List; import java.util.Optional; @@ -32,7 +31,7 @@ public SkillTreeConfiguration(Holder skillTree, Holder r } public boolean contains(ISkill skill) { - if (root.value() == skill) { + if (root.value().containsSkill(skill)) { return true; } for (SkillTreeNodeConfiguration child : children) { @@ -115,7 +114,7 @@ public SkillTreeConfiguration getTreeConfig() { } public boolean contains(ISkill skill) { - if (node.value() == skill) { + if (node.value().containsSkill(skill)) { return true; } for (SkillTreeNodeConfiguration child : children) { diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/TaskInstance.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/TaskInstance.java index f4807a92e8..0e6bb725a3 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/TaskInstance.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/TaskInstance.java @@ -2,7 +2,6 @@ import com.google.common.base.Objects; import com.mojang.serialization.Codec; -import com.mojang.serialization.DataResult; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; @@ -10,23 +9,15 @@ import de.teamlapen.vampirism.api.entity.player.task.ITaskRewardInstance; import de.teamlapen.vampirism.api.entity.player.task.Task; import de.teamlapen.vampirism.core.ModTags; -import de.teamlapen.vampirism.entity.player.tasks.reward.ItemReward; -import de.teamlapen.vampirism.entity.player.tasks.reward.LordLevelReward; import de.teamlapen.vampirism.util.CodecUtil; import net.minecraft.core.Holder; import net.minecraft.core.Registry; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.NbtOps; -import net.minecraft.nbt.Tag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import org.apache.logging.log4j.LogManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.UUID; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/req/BooleanRequirement.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/req/BooleanRequirement.java index d5b9be510f..f481719488 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/req/BooleanRequirement.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/req/BooleanRequirement.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.player.tasks.req; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.player.FactionPlayerBooleanSupplier; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ConsumerReward.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ConsumerReward.java index 8bec7c3b90..529d8f7ecc 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ConsumerReward.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ConsumerReward.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.player.tasks.reward; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.player.FactionPlayerConsumer; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ItemReward.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ItemReward.java index 7311580b38..187aab6a1d 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ItemReward.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/ItemReward.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.player.tasks.reward; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/RefinementItemReward.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/RefinementItemReward.java index 8b6c7a43e4..00ca54bb44 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/RefinementItemReward.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/reward/RefinementItemReward.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.entity.player.tasks.reward; import com.google.common.base.Preconditions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.VampirismAPI; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/unlock/ParentUnlocker.java b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/unlock/ParentUnlocker.java index 2c9a079f03..e5d12b3986 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/tasks/unlock/ParentUnlocker.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/tasks/unlock/ParentUnlocker.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.entity.player.tasks.unlock; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/BloodStats.java b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/BloodStats.java index 99de6a9a26..2a7365311f 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/BloodStats.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/BloodStats.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.core.ModTags; import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.Tag; import net.minecraft.world.Difficulty; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampireBat.java b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampireBat.java index b78030c0e4..8c9c6fcd0b 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampireBat.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampireBat.java @@ -3,7 +3,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.ambient.Bat; -import net.minecraft.world.entity.player.Player; import net.neoforged.neoforge.attachment.IAttachmentHolder; import java.util.function.Function; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampirePlayer.java b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampirePlayer.java index 519bfa8ed9..62c06b91a1 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampirePlayer.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/VampirePlayer.java @@ -85,7 +85,6 @@ import net.neoforged.neoforge.attachment.IAttachmentHolder; import net.neoforged.neoforge.attachment.IAttachmentSerializer; import net.neoforged.neoforge.capabilities.Capabilities; -import net.neoforged.neoforge.common.NeoForgeMod; import net.neoforged.neoforge.event.tick.PlayerTickEvent; import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.capability.IFluidHandler; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/actions/HissingAction.java b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/actions/HissingAction.java index 2737a54e2e..d9e7e91a6a 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/actions/HissingAction.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/actions/HissingAction.java @@ -7,7 +7,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.ai.goal.WrappedGoal; -import net.minecraft.world.entity.ai.goal.target.TargetGoal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/skills/VampireSkills.java b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/skills/VampireSkills.java index 88e9e186cb..78b8494e4d 100755 --- a/src/main/java/de/teamlapen/vampirism/entity/player/vampire/skills/VampireSkills.java +++ b/src/main/java/de/teamlapen/vampirism/entity/player/vampire/skills/VampireSkills.java @@ -8,7 +8,6 @@ import de.teamlapen.vampirism.api.entity.factions.ISkillTree; import de.teamlapen.vampirism.api.entity.player.actions.IAction; import de.teamlapen.vampirism.api.entity.player.skills.ISkill; -import de.teamlapen.vampirism.api.entity.player.skills.SkillType; import de.teamlapen.vampirism.api.entity.player.vampire.IVampirePlayer; import de.teamlapen.vampirism.config.VampirismConfig; import de.teamlapen.vampirism.core.ModAttributes; @@ -44,8 +43,8 @@ public class VampireSkills { public static final DeferredRegister> SKILLS = DeferredRegister.create(VampirismRegistries.Keys.SKILL, REFERENCE.MODID); - public static final DeferredHolder, ISkill> LEVEL_ROOT = SKILLS.register(SkillType.LEVEL.createIdForFaction(VReference.VAMPIRE_FACTION.getID()).getPath(), () -> new VampirismSkill.SimpleVampireSkill(0, false)); - public static final DeferredHolder, ISkill> LORD_ROOT = SKILLS.register(SkillType.LORD.createIdForFaction(VReference.VAMPIRE_FACTION.getID()).getPath(), () -> new VampirismSkill.SimpleVampireSkill(0, false)); + public static final DeferredHolder, ISkill> LEVEL_ROOT = SKILLS.register(VReference.VAMPIRE_FACTION.getID().getPath(), () -> new VampirismSkill.SimpleVampireSkill(0, false)); + public static final DeferredHolder, ISkill> LORD_ROOT = SKILLS.register(VReference.VAMPIRE_FACTION.getID().withSuffix("_lord").getPath(), () -> new VampirismSkill.SimpleVampireSkill(0, false)); public static final DeferredHolder, ISkill> ADVANCED_BITER = SKILLS.register("advanced_biter", () -> new VampirismSkill.SimpleVampireSkill(2, false).setToggleActions(player -> ((VampirePlayer) player).getSpecialAttributes().advanced_biter = true, player -> ((VampirePlayer) player).getSpecialAttributes().advanced_biter = false).setHasDefaultDescription()); public static final DeferredHolder, ISkill> FLEDGLING = SKILLS.register("fledgling", () -> new VampirismSkill.SimpleVampireSkill(2, true) { @Override diff --git a/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireBaseEntity.java b/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireBaseEntity.java index 512d6c92e6..64f629ad2c 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireBaseEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireBaseEntity.java @@ -3,7 +3,6 @@ import de.teamlapen.lib.lib.util.UtilLib; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.EnumStrength; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.entity.player.vampire.IBloodStats; import de.teamlapen.vampirism.api.entity.player.vampire.IDrinkBloodContext; import de.teamlapen.vampirism.api.entity.vampire.IVampireMob; diff --git a/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireTaskMasterEntity.java b/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireTaskMasterEntity.java index 939f241f28..5162c24e27 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireTaskMasterEntity.java +++ b/src/main/java/de/teamlapen/vampirism/entity/vampire/VampireTaskMasterEntity.java @@ -12,7 +12,6 @@ import de.teamlapen.vampirism.inventory.TaskBoardMenu; import de.teamlapen.vampirism.util.Helper; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; diff --git a/src/main/java/de/teamlapen/vampirism/entity/villager/Trades.java b/src/main/java/de/teamlapen/vampirism/entity/villager/Trades.java index 1772cf68d5..74c74af012 100644 --- a/src/main/java/de/teamlapen/vampirism/entity/villager/Trades.java +++ b/src/main/java/de/teamlapen/vampirism/entity/villager/Trades.java @@ -16,8 +16,6 @@ import net.minecraft.world.item.trading.ItemCost; import net.minecraft.world.item.trading.MerchantOffer; import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.saveddata.maps.MapDecoration; -import net.minecraft.world.level.saveddata.maps.MapDecorationType; import net.minecraft.world.level.saveddata.maps.MapDecorationTypes; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/fluids/BloodHelper.java b/src/main/java/de/teamlapen/vampirism/fluids/BloodHelper.java index a378a02aca..a5444c5ddc 100755 --- a/src/main/java/de/teamlapen/vampirism/fluids/BloodHelper.java +++ b/src/main/java/de/teamlapen/vampirism/fluids/BloodHelper.java @@ -16,7 +16,6 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; -import java.util.Optional; import java.util.function.Consumer; /** diff --git a/src/main/java/de/teamlapen/vampirism/inventory/AlchemicalCauldronMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/AlchemicalCauldronMenu.java index 9af3280ecd..9b65fa7b4a 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/AlchemicalCauldronMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/AlchemicalCauldronMenu.java @@ -1,6 +1,6 @@ package de.teamlapen.vampirism.inventory; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.mixin.accessor.AbstractContainerMenuAccessor; import de.teamlapen.vampirism.mixin.accessor.AbstractFurnaceMenuAccessor; @@ -22,7 +22,7 @@ public AlchemicalCauldronMenu(int id, @NotNull Inventory playerInventory) { } public AlchemicalCauldronMenu(int id, @NotNull Inventory playerInventory, @NotNull Container inv, @NotNull ContainerData data, ContainerLevelAccess worldPos) { - super(ModContainer.ALCHEMICAL_CAULDRON.get(), ModRecipes.ALCHEMICAL_CAULDRON_TYPE.get(), RecipeBookType.FURNACE, id, playerInventory, inv, data); + super(ModMenus.ALCHEMICAL_CAULDRON.get(), ModRecipes.ALCHEMICAL_CAULDRON_TYPE.get(), RecipeBookType.FURNACE, id, playerInventory, inv, data); setSlots(playerInventory); } diff --git a/src/main/java/de/teamlapen/vampirism/inventory/AlchemyTableMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/AlchemyTableMenu.java index 878f4223ea..ca475f51a4 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/AlchemyTableMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/AlchemyTableMenu.java @@ -1,6 +1,6 @@ package de.teamlapen.vampirism.inventory; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModRecipes; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; @@ -26,7 +26,7 @@ public AlchemyTableMenu(int containerId, @NotNull Inventory playerInventory) { } public AlchemyTableMenu(int containerId, Level level, @NotNull Inventory playerInventory, @NotNull Container inventory, @NotNull ContainerData data) { - super(ModContainer.ALCHEMICAL_TABLE.get(), containerId); + super(ModMenus.ALCHEMICAL_TABLE.get(), containerId); checkContainerSize(inventory, 5); checkContainerDataCount(data, 3); this.alchemyTable = inventory; diff --git a/src/main/java/de/teamlapen/vampirism/inventory/AltarInfusionMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/AltarInfusionMenu.java index 157dd5770c..d87b63105b 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/AltarInfusionMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/AltarInfusionMenu.java @@ -2,7 +2,7 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.core.ModBlocks; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.core.ModTags; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; @@ -34,7 +34,7 @@ public AltarInfusionMenu(int id, @NotNull Inventory playerInventory) { } public AltarInfusionMenu(int id, @NotNull Inventory playerInventory, @NotNull Container inventory, ContainerLevelAccess worldPosCallable) { - super(ModContainer.ALTAR_INFUSION.get(), id, playerInventory, worldPosCallable); + super(ModMenus.ALTAR_INFUSION.get(), id, playerInventory, worldPosCallable); ((ItemCombinerMenuAccessor) this).setInputSlots(inventory); this.init(playerInventory); this.lvlRequirement = VampireLeveling.getInfusionRequirement(FactionPlayerHandler.get(player).getCurrentLevel(VReference.VAMPIRE_FACTION) + 1); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/BloodGrinderMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/BloodGrinderMenu.java index 2021ec64ab..4d7118829b 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/BloodGrinderMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/BloodGrinderMenu.java @@ -2,7 +2,7 @@ import de.teamlapen.lib.lib.inventory.InventoryContainerMenu; import de.teamlapen.vampirism.api.VampirismAPI; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; import net.minecraft.world.entity.player.Inventory; @@ -23,7 +23,7 @@ public BloodGrinderMenu(int id, @NotNull Inventory playerInventory) { } public BloodGrinderMenu(int id, @NotNull Inventory playerInventory, @NotNull Container inventory, ContainerLevelAccess worldPosIn) { - super(ModContainer.BLOOD_GRINDER.get(), id, playerInventory, worldPosIn, inventory, SELECTOR_INFOS); + super(ModMenus.BLOOD_GRINDER.get(), id, playerInventory, worldPosIn, inventory, SELECTOR_INFOS); this.addPlayerSlots(playerInventory); } } diff --git a/src/main/java/de/teamlapen/vampirism/inventory/HunterBasicMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/HunterBasicMenu.java index 32cb6d7e15..3016903b5c 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/HunterBasicMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/HunterBasicMenu.java @@ -3,7 +3,7 @@ import de.teamlapen.lib.lib.inventory.InventoryContainerMenu; import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.entity.player.hunter.IHunterPlayer; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.hunter.BasicHunterEntity; @@ -35,7 +35,7 @@ public HunterBasicMenu(int id, @NotNull Inventory playerInventory) { } public HunterBasicMenu(int id, @NotNull Inventory playerInventory, @Nullable BasicHunterEntity hunter) { - super(ModContainer.HUNTER_BASIC.get(), id, playerInventory, hunter == null ? ContainerLevelAccess.NULL : ContainerLevelAccess.create(hunter.level(), hunter.blockPosition()), new SimpleContainer(SELECTOR_INFOS.length), SELECTOR_INFOS); + super(ModMenus.HUNTER_BASIC.get(), id, playerInventory, hunter == null ? ContainerLevelAccess.NULL : ContainerLevelAccess.create(hunter.level(), hunter.blockPosition()), new SimpleContainer(SELECTOR_INFOS.length), SELECTOR_INFOS); player = HunterPlayer.get(playerInventory.player); this.addPlayerSlots(playerInventory); this.entity = hunter; diff --git a/src/main/java/de/teamlapen/vampirism/inventory/HunterTableMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/HunterTableMenu.java index 4de15a4031..f06957077e 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/HunterTableMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/HunterTableMenu.java @@ -4,14 +4,13 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.blocks.HunterTableBlock; import de.teamlapen.vampirism.core.ModBlocks; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.player.hunter.HunterLeveling; import de.teamlapen.vampirism.items.PureBloodItem; import de.teamlapen.vampirism.mixin.accessor.ItemCombinerMenuAccessor; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.world.Container; import net.minecraft.world.entity.player.Inventory; @@ -34,7 +33,7 @@ public class HunterTableMenu extends ItemCombinerMenu { public HunterTableMenu(int id, @NotNull Inventory playerInventory, ContainerLevelAccess worldPosCallable) { - super(ModContainer.HUNTER_TABLE.get(), id, playerInventory, worldPosCallable); + super(ModMenus.HUNTER_TABLE.get(), id, playerInventory, worldPosCallable); int hunterLevel = FactionPlayerHandler.get(playerInventory.player).getCurrentLevel(VReference.HUNTER_FACTION); this.tableRequirement = HunterLeveling.getTrainerRequirement(hunterLevel + 1).map(HunterLeveling.HunterTrainerRequirement::tableRequirement); } diff --git a/src/main/java/de/teamlapen/vampirism/inventory/HunterTrainerMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/HunterTrainerMenu.java index cbe6ecb72a..bb9c96c6b5 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/HunterTrainerMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/HunterTrainerMenu.java @@ -2,7 +2,7 @@ import de.teamlapen.lib.lib.inventory.InventoryHelper; import de.teamlapen.vampirism.api.VReference; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModEffects; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.hunter.HunterTrainerEntity; @@ -41,7 +41,7 @@ public HunterTrainerMenu(int id, @NotNull Inventory playerInventory) { } public HunterTrainerMenu(int id, @NotNull Inventory playerInventory, @Nullable HunterTrainerEntity trainer) { - super(ModContainer.HUNTER_TRAINER.get(), id, playerInventory, trainer == null ? ContainerLevelAccess.NULL : ContainerLevelAccess.create(trainer.level(), trainer.blockPosition())); + super(ModMenus.HUNTER_TRAINER.get(), id, playerInventory, trainer == null ? ContainerLevelAccess.NULL : ContainerLevelAccess.create(trainer.level(), trainer.blockPosition())); this.player = playerInventory.player; this.entity = trainer; this.lvlRequirement = HunterLeveling.getTrainerRequirement(FactionPlayerHandler.get(player).getCurrentLevel(VReference.HUNTER_FACTION) + 1); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/MinionContainer.java b/src/main/java/de/teamlapen/vampirism/inventory/MinionContainer.java index 0e072afa76..8e6745e84c 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/MinionContainer.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/MinionContainer.java @@ -6,14 +6,13 @@ import de.teamlapen.vampirism.api.entity.minion.IMinionInventory; import de.teamlapen.vampirism.api.entity.minion.IMinionTask; import de.teamlapen.vampirism.api.entity.player.ILordPlayer; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.minion.MinionEntity; import de.teamlapen.vampirism.entity.minion.management.MinionTasks; import de.teamlapen.vampirism.network.ServerboundSelectMinionTaskPacket; import de.teamlapen.vampirism.network.ServerboundToggleMinionTaskLock; import de.teamlapen.vampirism.util.RegUtil; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.world.Container; import net.minecraft.world.entity.Entity; @@ -69,7 +68,7 @@ public static MinionContainer create(int id, @NotNull Inventory playerInventory, private boolean taskLocked; public MinionContainer(int id, @NotNull Inventory playerInventory, @NotNull ILordPlayer lord, @NotNull MinionEntity minionEntity, @NotNull Container inventory, int extraSlots, SelectorInfo... selectorInfos) { - super(ModContainer.MINION.get(), id, playerInventory, ContainerLevelAccess.create(minionEntity.level(), minionEntity.blockPosition()), inventory, selectorInfos); + super(ModMenus.MINION.get(), id, playerInventory, ContainerLevelAccess.create(minionEntity.level(), minionEntity.blockPosition()), inventory, selectorInfos); this.minionEntity = minionEntity; this.extraSlots = extraSlots; this.availableTasks = this.minionEntity.getAvailableTasks().stream().filter(task -> task.isAvailable(lord.getLordFaction(), lord)).toArray(IMinionTask[]::new); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/PotionTableMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/PotionTableMenu.java index 3d6c816875..53c34667ee 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/PotionTableMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/PotionTableMenu.java @@ -2,8 +2,7 @@ import de.teamlapen.lib.lib.inventory.InventoryContainerMenu; import de.teamlapen.vampirism.api.VampirismAPI; -import de.teamlapen.vampirism.core.ModContainer; -import net.minecraft.network.FriendlyByteBuf; +import de.teamlapen.vampirism.core.ModMenus; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; @@ -24,7 +23,7 @@ public class PotionTableMenu extends InventoryContainerMenu { private final @NotNull ContainerData syncedProperties; public PotionTableMenu(int id, @NotNull Inventory playerInventory, ContainerLevelAccess worldPos, @NotNull Container inventory, boolean extended, @Nullable ContainerData syncedProperties) { - super(ModContainer.EXTENDED_POTION_TABLE.get(), id, playerInventory, worldPos, inventory, getSelectorInfos(playerInventory.player.level(), extended)); + super(ModMenus.EXTENDED_POTION_TABLE.get(), id, playerInventory, worldPos, inventory, getSelectorInfos(playerInventory.player.level(), extended)); assert inventory.getContainerSize() >= (extended ? 8 : 6); this.syncedProperties = syncedProperties == null ? new SimpleContainerData(2) : syncedProperties; addPlayerSlots(playerInventory); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/RevertBackMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/RevertBackMenu.java index f37ab4ab1f..d24e25b251 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/RevertBackMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/RevertBackMenu.java @@ -1,7 +1,7 @@ package de.teamlapen.vampirism.inventory; import de.teamlapen.vampirism.core.ModBlocks; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -20,7 +20,7 @@ public RevertBackMenu(int pContainerId, Inventory container) { } public RevertBackMenu(int pContainerId, Inventory container, ContainerLevelAccess pAccess) { - super(ModContainer.REVERT_BACK.get(), pContainerId); + super(ModMenus.REVERT_BACK.get(), pContainerId); this.pAccess = pAccess; this.addSlot(new Slot(container, container.selected, 80, 35)); } diff --git a/src/main/java/de/teamlapen/vampirism/inventory/TaskBoardMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/TaskBoardMenu.java index 6d451bdda3..cd7c6f3866 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/TaskBoardMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/TaskBoardMenu.java @@ -9,7 +9,7 @@ import de.teamlapen.vampirism.api.entity.player.task.ITaskInstance; import de.teamlapen.vampirism.api.entity.player.task.Task; import de.teamlapen.vampirism.api.entity.player.task.TaskRequirement; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModSounds; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.player.VampirismPlayerAttributes; @@ -54,7 +54,7 @@ public class TaskBoardMenu extends AbstractContainerMenu implements TaskMenu { private final Registry registry; public TaskBoardMenu(int id, @NotNull Inventory playerInventory) { - super(ModContainer.TASK_MASTER.get(), id); + super(ModMenus.TASK_MASTER.get(), id); this.factionPlayer = FactionPlayerHandler.getCurrentFactionPlayer(playerInventory.player).orElseThrow(() -> new IllegalStateException("Can't open container without faction")); this.factionColor = this.factionPlayer.getFaction().getChatColor(); this.registry = playerInventory.player.level().registryAccess().registryOrThrow(VampirismRegistries.Keys.TASK); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/VampireBeaconMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/VampireBeaconMenu.java index c0fd7cbb75..15224e3ead 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/VampireBeaconMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/VampireBeaconMenu.java @@ -2,7 +2,7 @@ import de.teamlapen.vampirism.blockentity.VampireBeaconBlockEntity; import de.teamlapen.vampirism.core.ModBlocks; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModTags; import net.minecraft.core.Holder; import net.minecraft.world.Container; @@ -40,7 +40,7 @@ public VampireBeaconMenu(int pContainerId, Container container) { } public VampireBeaconMenu(int pContainerId, Container container, ContainerData beaconData, ContainerLevelAccess pLevelAccess) { - super(ModContainer.VAMPIRE_BEACON.get(), pContainerId, 1); + super(ModMenus.VAMPIRE_BEACON.get(), pContainerId, 1); this.beaconData = beaconData; this.access = pLevelAccess; this.paymentSlot = new PaymentSlot(this.beacon, 0, 136, 110); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/VampirismMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/VampirismMenu.java index f2f52514da..cde2e1bade 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/VampirismMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/VampirismMenu.java @@ -9,7 +9,7 @@ import de.teamlapen.vampirism.api.entity.player.task.Task; import de.teamlapen.vampirism.api.entity.player.task.TaskRequirement; import de.teamlapen.vampirism.api.items.IRefinementItem; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.player.TaskManager; import de.teamlapen.vampirism.network.ServerboundTaskActionPacket; @@ -53,7 +53,7 @@ public class VampirismMenu extends InventoryContainerMenu implements TaskMenu { private final Registry registry; public VampirismMenu(int id, @NotNull Inventory playerInventory) { - super(ModContainer.VAMPIRISM.get(), id, playerInventory, ContainerLevelAccess.NULL, new SimpleContainer(3), RemovingSelectorSlot::new, SELECTOR_INFOS.apply(playerInventory.player)); + super(ModMenus.VAMPIRISM.get(), id, playerInventory, ContainerLevelAccess.NULL, new SimpleContainer(3), RemovingSelectorSlot::new, SELECTOR_INFOS.apply(playerInventory.player)); this.factionPlayer = FactionPlayerHandler.get(playerInventory.player).getCurrentFactionPlayer().orElseThrow(() -> new IllegalStateException("Opening vampirism container without faction")); this.factionColor = factionPlayer.getFaction().getChatColor(); this.refinementsAvailable = factionPlayer.getFaction().hasRefinements(); diff --git a/src/main/java/de/teamlapen/vampirism/inventory/WeaponTableMenu.java b/src/main/java/de/teamlapen/vampirism/inventory/WeaponTableMenu.java index a710e0601e..5df69179a5 100644 --- a/src/main/java/de/teamlapen/vampirism/inventory/WeaponTableMenu.java +++ b/src/main/java/de/teamlapen/vampirism/inventory/WeaponTableMenu.java @@ -5,14 +5,13 @@ import de.teamlapen.vampirism.api.items.IWeaponTableRecipe; import de.teamlapen.vampirism.blocks.WeaponTableBlock; import de.teamlapen.vampirism.core.ModBlocks; -import de.teamlapen.vampirism.core.ModContainer; +import de.teamlapen.vampirism.core.ModMenus; import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.entity.player.hunter.HunterPlayer; import de.teamlapen.vampirism.util.Helper; import net.minecraft.client.RecipeBookCategories; import net.minecraft.core.BlockPos; import net.minecraft.core.component.DataComponents; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket; import net.minecraft.recipebook.ServerPlaceRecipe; @@ -45,7 +44,7 @@ public class WeaponTableMenu extends RecipeBookMenu { private final BooleanDataSlot missingLava = new BooleanDataSlot(); public WeaponTableMenu(int id, @NotNull Inventory playerInventory, ContainerLevelAccess worldPosCallable) { - super(ModContainer.WEAPON_TABLE.get(), id); + super(ModMenus.WEAPON_TABLE.get(), id); this.worldPos = worldPosCallable; this.hunterPlayer = HunterPlayer.get(playerInventory.player); this.player = playerInventory.player; diff --git a/src/main/java/de/teamlapen/vampirism/items/AlchemicalFireItem.java b/src/main/java/de/teamlapen/vampirism/items/AlchemicalFireItem.java index cdc07a374f..6baaceaf4c 100644 --- a/src/main/java/de/teamlapen/vampirism/items/AlchemicalFireItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/AlchemicalFireItem.java @@ -12,7 +12,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/ArmorOfSwiftnessItem.java b/src/main/java/de/teamlapen/vampirism/items/ArmorOfSwiftnessItem.java index 43e3073d5e..7daed023df 100644 --- a/src/main/java/de/teamlapen/vampirism/items/ArmorOfSwiftnessItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/ArmorOfSwiftnessItem.java @@ -13,7 +13,10 @@ import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.*; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/items/BloodBottleFluidHandler.java b/src/main/java/de/teamlapen/vampirism/items/BloodBottleFluidHandler.java index 7e5a70b3eb..735c663ff9 100755 --- a/src/main/java/de/teamlapen/vampirism/items/BloodBottleFluidHandler.java +++ b/src/main/java/de/teamlapen/vampirism/items/BloodBottleFluidHandler.java @@ -2,8 +2,10 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.config.VampirismConfig; +import de.teamlapen.vampirism.core.ModDataComponents; import de.teamlapen.vampirism.core.ModFluids; import de.teamlapen.vampirism.core.ModItems; +import de.teamlapen.vampirism.items.component.BottleBlood; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.neoforged.neoforge.fluids.FluidStack; @@ -78,7 +80,7 @@ public int fill(@Nullable FluidStack resource, @NotNull FluidAction action) { } public int getBlood(@NotNull ItemStack stack) { - return stack.getItem() == ModItems.BLOOD_BOTTLE.get() ? stack.getDamageValue() * MULTIPLIER : 0; + return stack.getItem() == ModItems.BLOOD_BOTTLE.get() ? stack.getOrDefault(ModDataComponents.BOTTLE_BLOOD, BottleBlood.EMPTY).blood() * MULTIPLIER : 0; } @NotNull @@ -109,6 +111,6 @@ public boolean isFluidValid(int tank, @NotNull FluidStack stack) { } public void setBlood(@NotNull ItemStack stack, int amt) { - stack.setDamageValue(amt / MULTIPLIER); + stack.set(ModDataComponents.BOTTLE_BLOOD, new BottleBlood(amt / MULTIPLIER)); } } diff --git a/src/main/java/de/teamlapen/vampirism/items/BloodBottleItem.java b/src/main/java/de/teamlapen/vampirism/items/BloodBottleItem.java index 8067dc4161..4c763f74d6 100644 --- a/src/main/java/de/teamlapen/vampirism/items/BloodBottleItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/BloodBottleItem.java @@ -5,10 +5,12 @@ import de.teamlapen.vampirism.api.entity.factions.IFaction; import de.teamlapen.vampirism.api.entity.vampire.IVampire; import de.teamlapen.vampirism.api.items.IFactionExclusiveItem; +import de.teamlapen.vampirism.core.ModDataComponents; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.entity.player.vampire.VampirePlayer; import de.teamlapen.vampirism.entity.vampire.DrinkBloodContext; import de.teamlapen.vampirism.fluids.BloodHelper; +import de.teamlapen.vampirism.items.component.BottleBlood; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -42,7 +44,7 @@ public class BloodBottleItem extends Item implements IFactionExclusiveItem, ModD public static @NotNull ItemStack getStackWithDamage(int damage) { ItemStack stack = new ItemStack(ModItems.BLOOD_BOTTLE.get()); - stack.setDamageValue(damage); + stack.set(ModDataComponents.BOTTLE_BLOOD, new BottleBlood(damage)); return stack; } @@ -50,7 +52,7 @@ public class BloodBottleItem extends Item implements IFactionExclusiveItem, ModD * Set's the registry name and the unlocalized name */ public BloodBottleItem() { - super(new Properties().durability(AMOUNT).setNoRepair()); + super(new Properties()); } @Override @@ -80,14 +82,14 @@ public boolean doesSneakBypassUse(ItemStack stack, @NotNull LevelReader world, @ public void generateCreativeTab(CreativeModeTab.@NotNull ItemDisplayParameters parameters, CreativeModeTab.Output output) { for (int i = 0; i < BloodBottleItem.AMOUNT; i++) { ItemStack stack = getDefaultInstance(); - stack.setDamageValue(i); + stack.set(ModDataComponents.BOTTLE_BLOOD, new BottleBlood(i)); output.accept(stack, CreativeModeTab.TabVisibility.SEARCH_TAB_ONLY); } ItemStack stack0 = getDefaultInstance(); - stack0.setDamageValue(0); + stack0.set(ModDataComponents.BOTTLE_BLOOD, BottleBlood.EMPTY); output.accept(stack0, CreativeModeTab.TabVisibility.PARENT_TAB_ONLY); ItemStack stack9 = getDefaultInstance(); - stack9.setDamageValue(BloodBottleItem.AMOUNT); + stack9.set(ModDataComponents.BOTTLE_BLOOD, new BottleBlood(BloodBottleItem.AMOUNT)); output.accept(stack9, CreativeModeTab.TabVisibility.PARENT_TAB_ONLY); } diff --git a/src/main/java/de/teamlapen/vampirism/items/ColoredVampireClothingItem.java b/src/main/java/de/teamlapen/vampirism/items/ColoredVampireClothingItem.java index 14e0a2c0d4..19e20a58f8 100644 --- a/src/main/java/de/teamlapen/vampirism/items/ColoredVampireClothingItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/ColoredVampireClothingItem.java @@ -1,12 +1,8 @@ package de.teamlapen.vampirism.items; -import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.client.extensions.ItemExtensions; import net.minecraft.util.StringRepresentable; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/items/CrossbowArrowItem.java b/src/main/java/de/teamlapen/vampirism/items/CrossbowArrowItem.java index 8df67ef1ec..91decccc59 100644 --- a/src/main/java/de/teamlapen/vampirism/items/CrossbowArrowItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/CrossbowArrowItem.java @@ -20,7 +20,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.item.ArrowItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; diff --git a/src/main/java/de/teamlapen/vampirism/items/FeedingAdapterItem.java b/src/main/java/de/teamlapen/vampirism/items/FeedingAdapterItem.java index 93e4f9309c..a3cdedc9cd 100644 --- a/src/main/java/de/teamlapen/vampirism/items/FeedingAdapterItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/FeedingAdapterItem.java @@ -18,8 +18,6 @@ import net.neoforged.neoforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; -import java.util.Optional; - public class FeedingAdapterItem extends Item { public FeedingAdapterItem() { diff --git a/src/main/java/de/teamlapen/vampirism/items/HeartSeekerItem.java b/src/main/java/de/teamlapen/vampirism/items/HeartSeekerItem.java index 7629734a23..de5d16631c 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HeartSeekerItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HeartSeekerItem.java @@ -8,17 +8,16 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -public class HeartSeekerItem extends VampirismVampireSwordItem implements IItemWithTier { +public class HeartSeekerItem extends VampireSwordItem implements IItemWithTier { - public static final VampireSwordMaterial NORMAL = new VampireSwordMaterial(TIER.NORMAL, BlockTags.INCORRECT_FOR_IRON_TOOL, 500, -3.6f, 1.5F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_IRON_INGOT.get()), 1.3f); - public static final VampireSwordMaterial ENHANCED = new VampireSwordMaterial(TIER.ENHANCED,BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1750, -3.5f, 2.5F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.4f); - public static final VampireSwordMaterial ULTIMATE = new VampireSwordMaterial(TIER.ULTIMATE,BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2500, -3.4f, 3.5F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.5f); + public static final VampireSwordMaterial NORMAL = new VampireSwordMaterial(TIER.NORMAL, BlockTags.INCORRECT_FOR_IRON_TOOL, 500, -3.6f, 1.7F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_IRON_INGOT.get()), 1.3f); + public static final VampireSwordMaterial ENHANCED = new VampireSwordMaterial(TIER.ENHANCED,BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1750, -3.5f, 2.7F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.4f); + public static final VampireSwordMaterial ULTIMATE = new VampireSwordMaterial(TIER.ULTIMATE,BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2500, -3.4f, 3.7F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.5f); private final @NotNull TIER tier; diff --git a/src/main/java/de/teamlapen/vampirism/items/HeartStrikerItem.java b/src/main/java/de/teamlapen/vampirism/items/HeartStrikerItem.java index c2c5a45ed4..352eaab898 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HeartStrikerItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HeartStrikerItem.java @@ -8,17 +8,16 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -public class HeartStrikerItem extends VampirismVampireSwordItem implements IItemWithTier { +public class HeartStrikerItem extends VampireSwordItem implements IItemWithTier { - public static final VampireSwordMaterial NORMAL = new VampireSwordMaterial(TIER.NORMAL, BlockTags.INCORRECT_FOR_IRON_TOOL, 500, -4.1f, 2.0F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_IRON_INGOT.get()), 1.25f); - public static final VampireSwordMaterial ENHANCED = new VampireSwordMaterial(TIER.ENHANCED,BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1750, -4.0f, 4.0F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.3f); - public static final VampireSwordMaterial ULTIMATE = new VampireSwordMaterial(TIER.ULTIMATE,BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2500, -3.9f, 6.0F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.35f); + public static final VampireSwordMaterial NORMAL = new VampireSwordMaterial(TIER.NORMAL, BlockTags.INCORRECT_FOR_IRON_TOOL, 500, -4.1f, 2.2F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_IRON_INGOT.get()), 1.25f); + public static final VampireSwordMaterial ENHANCED = new VampireSwordMaterial(TIER.ENHANCED,BlockTags.INCORRECT_FOR_DIAMOND_TOOL, 1750, -4.0f, 4.2F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.3f); + public static final VampireSwordMaterial ULTIMATE = new VampireSwordMaterial(TIER.ULTIMATE,BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 2500, -3.9f, 6.2F, 14, () -> Ingredient.of(ModItems.BLOOD_INFUSED_ENHANCED_IRON_INGOT.get()), 1.35f); private final @NotNull TIER tier; diff --git a/src/main/java/de/teamlapen/vampirism/items/HolyWaterBottleItem.java b/src/main/java/de/teamlapen/vampirism/items/HolyWaterBottleItem.java index e702211367..31f0bb5010 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HolyWaterBottleItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HolyWaterBottleItem.java @@ -9,7 +9,6 @@ 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 org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/HolyWaterSplashBottleItem.java b/src/main/java/de/teamlapen/vampirism/items/HolyWaterSplashBottleItem.java index a764370af8..716af9bea4 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HolyWaterSplashBottleItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HolyWaterSplashBottleItem.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.blocks.HolyWaterEffectConsumer; import de.teamlapen.vampirism.entity.ThrowableItemEntity; import de.teamlapen.vampirism.util.DamageHandler; -import de.teamlapen.vampirism.util.ItemDataUtils; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; diff --git a/src/main/java/de/teamlapen/vampirism/items/HunterArmorItem.java b/src/main/java/de/teamlapen/vampirism/items/HunterArmorItem.java index b890064276..984cf53109 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HunterArmorItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HunterArmorItem.java @@ -1,9 +1,5 @@ package de.teamlapen.vampirism.items; -import com.google.common.base.Suppliers; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.Multimap; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.api.VReference; @@ -11,30 +7,19 @@ import de.teamlapen.vampirism.api.items.IFactionExclusiveItem; import de.teamlapen.vampirism.core.ModEffects; import de.teamlapen.vampirism.entity.player.VampirismPlayerAttributes; -import de.teamlapen.vampirism.mixin.accessor.ArmorItemAccessor; import de.teamlapen.vampirism.util.Helper; -import net.minecraft.Util; import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; -import net.minecraft.util.Tuple; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.ai.attributes.Attribute; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.*; -import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.EnumMap; import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.function.Supplier; /** * Base class for all hunter only armor tileInventory diff --git a/src/main/java/de/teamlapen/vampirism/items/HunterAxeItem.java b/src/main/java/de/teamlapen/vampirism/items/HunterAxeItem.java index 2baf31dc12..3e62925077 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HunterAxeItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HunterAxeItem.java @@ -7,23 +7,17 @@ import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.tags.BlockTags; -import net.minecraft.tags.ItemTags; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.crafting.Ingredient; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; -import net.minecraft.world.level.Level; import net.neoforged.neoforge.common.Tags; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class HunterAxeItem extends VampirismHunterWeaponItem implements IItemWithTier, ModDisplayItemGenerator.CreativeTabItemProvider { @@ -97,8 +91,7 @@ private int getMinLevel() { private float getVampireMult() { return switch (tier) { - case ULTIMATE -> 1.3F; - case ENHANCED -> 1.3F; + case ULTIMATE, ENHANCED -> 1.3F; default -> 1.2F; }; } diff --git a/src/main/java/de/teamlapen/vampirism/items/HunterHatItem.java b/src/main/java/de/teamlapen/vampirism/items/HunterHatItem.java index 11cd2e689a..d9cb6dac04 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HunterHatItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HunterHatItem.java @@ -3,13 +3,11 @@ import de.teamlapen.lib.lib.util.UtilLib; import de.teamlapen.vampirism.api.VampirismAPI; import de.teamlapen.vampirism.client.extensions.ItemExtensions; -import de.teamlapen.vampirism.util.RegUtil; import net.minecraft.core.component.DataComponents; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ArmorMaterials; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/items/HunterIntelItem.java b/src/main/java/de/teamlapen/vampirism/items/HunterIntelItem.java index b398deb4f3..8a8cc4a191 100644 --- a/src/main/java/de/teamlapen/vampirism/items/HunterIntelItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/HunterIntelItem.java @@ -6,7 +6,6 @@ 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 org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/items/ItemEventHandler.java b/src/main/java/de/teamlapen/vampirism/items/ItemEventHandler.java new file mode 100644 index 0000000000..f851b73aca --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/items/ItemEventHandler.java @@ -0,0 +1,25 @@ +package de.teamlapen.vampirism.items; + +import de.teamlapen.vampirism.REFERENCE; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.EquipmentSlotGroup; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ItemAttributeModifiers; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.event.ItemAttributeModifierEvent; + +@EventBusSubscriber(modid = REFERENCE.MODID) +public class ItemEventHandler { + + @SubscribeEvent + public static void onItemAttributeModifier(ItemAttributeModifierEvent event) { + ItemStack stack = event.getItemStack(); + if (stack.getItem() instanceof VampireSwordItem sword && event.getSlotType() == EquipmentSlot.MAINHAND) { + event.addModifier(Attributes.ATTACK_DAMAGE, new AttributeModifier(VampireSwordItem.CHARGED, "Vampire Sword Blood Charged", sword.getAttackDamageModifier(stack), AttributeModifier.Operation.ADD_VALUE)); + event.addModifier(Attributes.ATTACK_SPEED, new AttributeModifier(VampireSwordItem.TRAINED, "Vampire Sword Trained", sword.getSpeedModifier(stack), AttributeModifier.Operation.ADD_VALUE)); + } + } +} diff --git a/src/main/java/de/teamlapen/vampirism/items/MinionUpgradeItem.java b/src/main/java/de/teamlapen/vampirism/items/MinionUpgradeItem.java index f8faf10438..a1d7727802 100644 --- a/src/main/java/de/teamlapen/vampirism/items/MinionUpgradeItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/MinionUpgradeItem.java @@ -6,7 +6,6 @@ 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 org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/OblivionItem.java b/src/main/java/de/teamlapen/vampirism/items/OblivionItem.java index 0a702c7b7f..b9f5bcd53c 100644 --- a/src/main/java/de/teamlapen/vampirism/items/OblivionItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/OblivionItem.java @@ -20,10 +20,8 @@ import net.minecraft.world.item.*; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Optional; public class OblivionItem extends Item { diff --git a/src/main/java/de/teamlapen/vampirism/items/OilBottleItem.java b/src/main/java/de/teamlapen/vampirism/items/OilBottleItem.java index c8f6c427af..2986c24904 100644 --- a/src/main/java/de/teamlapen/vampirism/items/OilBottleItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/OilBottleItem.java @@ -4,7 +4,6 @@ import de.teamlapen.vampirism.api.items.IOilItem; import de.teamlapen.vampirism.api.items.oil.IOil; import de.teamlapen.vampirism.core.ModDataComponents; -import de.teamlapen.vampirism.core.ModOils; import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.items.component.OilContent; import de.teamlapen.vampirism.util.ItemDataUtils; diff --git a/src/main/java/de/teamlapen/vampirism/items/RefinementItem.java b/src/main/java/de/teamlapen/vampirism/items/RefinementItem.java index e16a3d8855..b32b71f312 100644 --- a/src/main/java/de/teamlapen/vampirism/items/RefinementItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/RefinementItem.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.items; import de.teamlapen.lib.lib.util.ModDisplayItemGenerator; -import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.factions.IFaction; import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; @@ -14,9 +13,7 @@ import de.teamlapen.vampirism.items.component.EffectiveRefinementSet; import de.teamlapen.vampirism.util.RegUtil; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; import net.minecraft.util.random.WeightedEntry; import net.minecraft.util.random.WeightedRandom; @@ -36,7 +33,6 @@ import java.util.List; import java.util.function.Supplier; import java.util.stream.Collectors; -import java.util.stream.StreamSupport; public abstract class RefinementItem extends Item implements IRefinementItem, ModDisplayItemGenerator.CreativeTabItemProvider { @@ -46,7 +42,7 @@ public abstract class RefinementItem extends Item implements IRefinementItem, Mo public static @NotNull ItemStack getRandomRefinementItem(@NotNull IPlayableFaction faction) { List< WeightedEntry.Wrapper> sets = RegUtil.values(ModRegistries.REFINEMENT_SETS).stream().filter(set -> set.getFaction() == faction).map(a -> ((RefinementSet) a).getWeightedRandom()).collect(Collectors.toList()); if (sets.isEmpty()) return ItemStack.EMPTY; - IRefinementSet s = WeightedRandom.getRandomItem(RANDOM, sets).map(WeightedEntry.Wrapper::data).orElseGet(() -> sets.get(0).data()); + IRefinementSet s = WeightedRandom.getRandomItem(RANDOM, sets).map(WeightedEntry.Wrapper::data).orElseGet(() -> sets.getFirst().data()); AccessorySlotType t = s.getSlotType().orElseGet(() -> switch (RANDOM.nextInt(3)) { case 0 -> AccessorySlotType.OBI_BELT; case 1 -> AccessorySlotType.RING; diff --git a/src/main/java/de/teamlapen/vampirism/items/TentItem.java b/src/main/java/de/teamlapen/vampirism/items/TentItem.java index 196d211a73..aa51dfd58c 100644 --- a/src/main/java/de/teamlapen/vampirism/items/TentItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/TentItem.java @@ -13,7 +13,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; diff --git a/src/main/java/de/teamlapen/vampirism/items/UmbrellaItem.java b/src/main/java/de/teamlapen/vampirism/items/UmbrellaItem.java index 398fef428d..f6d0f59e92 100644 --- a/src/main/java/de/teamlapen/vampirism/items/UmbrellaItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/UmbrellaItem.java @@ -2,12 +2,7 @@ import com.google.common.base.Suppliers; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.Multimap; -import net.minecraft.core.Holder; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlotGroup; -import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.Item; diff --git a/src/main/java/de/teamlapen/vampirism/items/VampireBookItem.java b/src/main/java/de/teamlapen/vampirism/items/VampireBookItem.java index dfe72ce48c..97e304398a 100644 --- a/src/main/java/de/teamlapen/vampirism/items/VampireBookItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/VampireBookItem.java @@ -6,7 +6,6 @@ import de.teamlapen.vampirism.network.ClientboundOpenVampireBookPacket; import de.teamlapen.vampirism.util.VampireBookManager; import net.minecraft.ChatFormatting; -import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.StringUtil; diff --git a/src/main/java/de/teamlapen/vampirism/items/VampireClothingItem.java b/src/main/java/de/teamlapen/vampirism/items/VampireClothingItem.java index a2caebc78b..495fa0bd80 100644 --- a/src/main/java/de/teamlapen/vampirism/items/VampireClothingItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/VampireClothingItem.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.items; import de.teamlapen.lib.lib.util.UtilLib; -import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.VampirismAPI; @@ -11,21 +10,18 @@ import de.teamlapen.vampirism.core.ModArmorMaterials; import de.teamlapen.vampirism.core.ModEffects; import de.teamlapen.vampirism.core.ModItems; -import de.teamlapen.vampirism.core.ModTags; import de.teamlapen.vampirism.util.Helper; -import de.teamlapen.vampirism.util.RegUtil; import net.minecraft.core.component.DataComponents; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvents; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.*; -import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/items/VampirismVampireSwordItem.java b/src/main/java/de/teamlapen/vampirism/items/VampireSwordItem.java similarity index 89% rename from src/main/java/de/teamlapen/vampirism/items/VampirismVampireSwordItem.java rename to src/main/java/de/teamlapen/vampirism/items/VampireSwordItem.java index 83b78f070f..f969bdd05d 100644 --- a/src/main/java/de/teamlapen/vampirism/items/VampirismVampireSwordItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/VampireSwordItem.java @@ -1,7 +1,5 @@ package de.teamlapen.vampirism.items; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; import de.teamlapen.lib.lib.util.UtilLib; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.api.VReference; @@ -20,6 +18,7 @@ import de.teamlapen.vampirism.core.ModTags; import de.teamlapen.vampirism.entity.player.vampire.VampirePlayer; import de.teamlapen.vampirism.entity.player.vampire.skills.VampireSkills; +import de.teamlapen.vampirism.items.component.BloodCharged; import de.teamlapen.vampirism.items.component.SwordTraining; import de.teamlapen.vampirism.particle.FlyingBloodParticleOptions; import de.teamlapen.vampirism.particle.GenericParticleOptions; @@ -28,24 +27,18 @@ import de.teamlapen.vampirism.util.ToolMaterial; import net.minecraft.ChatFormatting; import net.minecraft.core.component.DataComponents; -import net.minecraft.nbt.ByteTag; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.FloatTag; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.TagKey; -import net.minecraft.util.Mth; import net.minecraft.util.Unit; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlotGroup; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; @@ -58,7 +51,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.phys.Vec3; -import net.neoforged.fml.common.Mod; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -66,20 +58,16 @@ import java.util.UUID; import java.util.function.Supplier; -public abstract class VampirismVampireSwordItem extends VampirismSwordItem implements IBloodChargeable, IFactionExclusiveItem, IFactionLevelItem { //TODO 1.20 rename to VampireSwordItem +public abstract class VampireSwordItem extends VampirismSwordItem implements IBloodChargeable, IFactionExclusiveItem, IFactionLevelItem { - - public static final String DO_NOT_NAME_STRING = "DO_NOT_NAME"; - /** - * Minimal strength modifier - */ - private static final float minStrength = 0.2f; + public static final UUID TRAINED = UUID.fromString("eb44ff1e-df04-44d4-930c-ba5ee3a9f640"); + public static final UUID CHARGED = UUID.fromString("e992975e-8ae4-45d1-a3b2-98a068abc839"); /** * Speed modifier on max training */ private final float trainedAttackSpeedIncrease; - public VampirismVampireSwordItem(@NotNull VampireSwordMaterial material, int attackDamage, @NotNull Properties prop) { + public VampireSwordItem(@NotNull VampireSwordMaterial material, int attackDamage, @NotNull Properties prop) { super(material, attackDamage, material.getSpeed(), prop); this.trainedAttackSpeedIncrease = material.getTrainedSpeedIncrease(); } @@ -238,7 +226,7 @@ public boolean onLeftClickEntity(ItemStack stack, Player player, Entity entity) * @param value Is clamped between 0 and 1 */ public void setCharged(@NotNull ItemStack stack, float value) { - stack.set(ModDataComponents.VAMPIRE_SWORD, stack.getOrDefault(ModDataComponents.VAMPIRE_SWORD, SwordTraining.EMPTY).charge(value)); + stack.set(ModDataComponents.BLOOD_CHARGED, stack.getOrDefault(ModDataComponents.BLOOD_CHARGED, BloodCharged.EMPTY).charged(value)); } /** @@ -290,16 +278,8 @@ public InteractionResultHolder use(@NotNull Level worldIn, @NotNull P return new InteractionResultHolder<>(InteractionResult.PASS, stack); } - @Override - public ItemAttributeModifiers getAttributeModifiers(ItemStack stack) { - ItemAttributeModifiers.Builder builder = ItemAttributeModifiers.builder(); - builder.add(Attributes.ATTACK_DAMAGE, new AttributeModifier(BASE_ATTACK_DAMAGE_UUID, "Weapon modifier", getAttackDamageModifier(stack), AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND); - builder.add(Attributes.ATTACK_SPEED, new AttributeModifier(BASE_ATTACK_SPEED_UUID, "Weapon modifier", this.getTier().getSpeed() + getSpeedModifier(stack), AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND); - return builder.build(); - } - protected float getAttackDamageModifier(@NotNull ItemStack stack) { - return getChargePercentage(stack) > 0 ? 1f : minStrength; + return getChargePercentage(stack) > 0 ? 0.8f : 0; } protected float getSpeedModifier(@NotNull ItemStack stack) { @@ -318,7 +298,7 @@ protected float getSpeedModifier(@NotNull ItemStack stack) { */ @Override public float getChargePercentage(@NotNull ItemStack stack) { - return stack.getOrDefault(ModDataComponents.VAMPIRE_SWORD, SwordTraining.EMPTY).charged(); + return stack.getOrDefault(ModDataComponents.BLOOD_CHARGED, BloodCharged.EMPTY).charged(); } /** diff --git a/src/main/java/de/teamlapen/vampirism/items/VampirismHunterWeaponItem.java b/src/main/java/de/teamlapen/vampirism/items/VampirismHunterWeaponItem.java index 41653768e3..046328d078 100755 --- a/src/main/java/de/teamlapen/vampirism/items/VampirismHunterWeaponItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/VampirismHunterWeaponItem.java @@ -13,7 +13,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/component/BloodCharged.java b/src/main/java/de/teamlapen/vampirism/items/component/BloodCharged.java new file mode 100644 index 0000000000..d3c76478e2 --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/items/component/BloodCharged.java @@ -0,0 +1,24 @@ +package de.teamlapen.vampirism.items.component; + +import com.mojang.serialization.Codec; +import io.netty.buffer.ByteBuf; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import org.jetbrains.annotations.Range; + +public record BloodCharged(float charged) { + + public static final BloodCharged EMPTY = new BloodCharged(0); + + public static final Codec CODEC = Codec.floatRange(0, 1).xmap(BloodCharged::new, BloodCharged::charged); + public static final StreamCodec STREAM_CODEC = ByteBufCodecs.FLOAT.map(BloodCharged::new, BloodCharged::charged); + + public BloodCharged(float charged) { + this.charged = Math.clamp(charged, 0, 1); + } + + public BloodCharged charged(float charged) { + return new BloodCharged(charged); + } +} diff --git a/src/main/java/de/teamlapen/vampirism/items/component/BottleBlood.java b/src/main/java/de/teamlapen/vampirism/items/component/BottleBlood.java new file mode 100644 index 0000000000..508b5e7b5e --- /dev/null +++ b/src/main/java/de/teamlapen/vampirism/items/component/BottleBlood.java @@ -0,0 +1,23 @@ +package de.teamlapen.vampirism.items.component; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; + +public record BottleBlood(int blood) { + + public static final BottleBlood EMPTY = new BottleBlood(0); + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + Codec.INT.fieldOf("blood").forGetter(BottleBlood::blood) + ).apply(instance, BottleBlood::new)); + + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(ByteBufCodecs.VAR_INT, BottleBlood::blood, BottleBlood::new); + + public BottleBlood { + if (blood < 0 || blood > 9) { + throw new IllegalArgumentException("Blood amount must be between 0 and 9"); + } + } +} diff --git a/src/main/java/de/teamlapen/vampirism/items/component/ContainedFluid.java b/src/main/java/de/teamlapen/vampirism/items/component/ContainedFluid.java index 763e41667c..94ed6523a7 100644 --- a/src/main/java/de/teamlapen/vampirism/items/component/ContainedFluid.java +++ b/src/main/java/de/teamlapen/vampirism/items/component/ContainedFluid.java @@ -1,22 +1,35 @@ package de.teamlapen.vampirism.items.component; import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModDataComponents; +import net.minecraft.core.Holder; import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.material.Fluid; import net.neoforged.neoforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; + public record ContainedFluid(FluidStack fluid) { public static final ContainedFluid EMPTY = new ContainedFluid(FluidStack.EMPTY); - public static final Codec CODEC = FluidStack.CODEC.xmap(ContainedFluid::new, ContainedFluid::fluid); + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + FluidStack.CODEC.fieldOf("fluid").forGetter(ContainedFluid::fluid) + ).apply(instance, ContainedFluid::new)); - public static final StreamCodec STREAM_CODEC = FluidStack.STREAM_CODEC.map(ContainedFluid::new, ContainedFluid::fluid); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(FluidStack.STREAM_CODEC, ContainedFluid::fluid, ContainedFluid::new); @NotNull public static FluidStack get(ItemStack stack) { return stack.getOrDefault(ModDataComponents.BLOOD_CONTAINER, EMPTY).fluid(); } + + @Override + public FluidStack fluid() { + return fluid.copy(); + } + } diff --git a/src/main/java/de/teamlapen/vampirism/items/component/OilContent.java b/src/main/java/de/teamlapen/vampirism/items/component/OilContent.java index 4400690623..c677bf9df8 100644 --- a/src/main/java/de/teamlapen/vampirism/items/component/OilContent.java +++ b/src/main/java/de/teamlapen/vampirism/items/component/OilContent.java @@ -15,8 +15,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import java.util.Objects; - public record OilContent(Holder oil) implements IOilContent { public static final OilContent EMPTY = new OilContent(ModOils.EMPTY); private static final Codec FULL_CODEC = RecordCodecBuilder.create(inst -> diff --git a/src/main/java/de/teamlapen/vampirism/items/component/SwordTraining.java b/src/main/java/de/teamlapen/vampirism/items/component/SwordTraining.java index 90f607ffbf..612a090f12 100644 --- a/src/main/java/de/teamlapen/vampirism/items/component/SwordTraining.java +++ b/src/main/java/de/teamlapen/vampirism/items/component/SwordTraining.java @@ -9,32 +9,26 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.Mth; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.UUID; -public record SwordTraining(float charged, Map training) { +public record SwordTraining(Map training) { - public static final SwordTraining EMPTY = new SwordTraining(0, ImmutableMap.of()); - public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Codec.FLOAT.fieldOf("charging").forGetter(SwordTraining::charged), - Codec.unboundedMap(UUIDUtil.CODEC, Codec.FLOAT).fieldOf("training").forGetter(SwordTraining::training) - ).apply(instance, SwordTraining::new)); + public static final SwordTraining EMPTY = new SwordTraining(ImmutableMap.of()); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.FLOAT, SwordTraining::charged, - ByteBufCodecs.map(s -> (Map) new HashMap(), UUIDUtil.STREAM_CODEC, ByteBufCodecs.FLOAT).map(ImmutableMap::copyOf, s -> s), SwordTraining::training, - SwordTraining::new - ); + public static final Codec CODEC = Codec.unboundedMap(UUIDUtil.STRING_CODEC, Codec.FLOAT).xmap(SwordTraining::new, SwordTraining::training); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite(ByteBufCodecs.map(s -> new HashMap<>(), UUIDUtil.STREAM_CODEC, ByteBufCodecs.FLOAT), SwordTraining::training, SwordTraining::new); - public SwordTraining charge(float charged) { - return new SwordTraining(Mth.clamp(charged, 0, 1), training); + public SwordTraining(Map training) { + this.training = Collections.unmodifiableMap(training); } public SwordTraining addTraining(UUID id, float amount) { Map newTraining = new HashMap<>(training); newTraining.put(id, amount); - return new SwordTraining(charged, newTraining); + return new SwordTraining(newTraining); } } diff --git a/src/main/java/de/teamlapen/vampirism/items/component/VampireBookContents.java b/src/main/java/de/teamlapen/vampirism/items/component/VampireBookContents.java index 2e440de76a..f4ac92075b 100644 --- a/src/main/java/de/teamlapen/vampirism/items/component/VampireBookContents.java +++ b/src/main/java/de/teamlapen/vampirism/items/component/VampireBookContents.java @@ -5,7 +5,6 @@ import de.teamlapen.vampirism.api.components.IVampireBookContent; import de.teamlapen.vampirism.core.ModDataComponents; import de.teamlapen.vampirism.util.VampireBookManager; -import io.netty.buffer.ByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/items/crossbow/DoubleCrossbowItem.java b/src/main/java/de/teamlapen/vampirism/items/crossbow/DoubleCrossbowItem.java index e4254f5934..19132d6a21 100644 --- a/src/main/java/de/teamlapen/vampirism/items/crossbow/DoubleCrossbowItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/crossbow/DoubleCrossbowItem.java @@ -5,9 +5,12 @@ import de.teamlapen.vampirism.api.items.IVampirismCrossbowArrow; import de.teamlapen.vampirism.entity.player.hunter.skills.HunterSkills; import de.teamlapen.vampirism.mixin.accessor.CrossbowItemMixin; +import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.core.component.DataComponents; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; +import net.minecraft.stats.Stats; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; @@ -16,7 +19,6 @@ import net.minecraft.world.item.Tier; import net.minecraft.world.item.component.ChargedProjectiles; import net.minecraft.world.level.Level; -import net.neoforged.neoforge.common.NeoForge; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -40,12 +42,6 @@ public ISkill getRequiredSkill(@Nonnull ItemStack stack) { return HunterSkills.DOUBLE_CROSSBOW.get(); } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#releaseUsing(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, int)} - *
- * check comments for change - * TODO 1.19 recheck - */ @Override public void releaseUsing(@Nonnull ItemStack p_77615_1_, @Nonnull Level p_77615_2_, @Nonnull LivingEntity p_77615_3_, int p_77615_4_) { int i = this.getUseDuration(p_77615_1_) - p_77615_4_; @@ -55,29 +51,25 @@ public void releaseUsing(@Nonnull ItemStack p_77615_1_, @Nonnull Level p_77615_2 boolean second = tryLoadProjectilesMod(p_77615_3_, p_77615_1_); if (first || second) { //load two projectiles or only one SoundSource soundcategory = p_77615_3_ instanceof Player ? SoundSource.PLAYERS : SoundSource.HOSTILE; - p_77615_2_.playSound((Player) null, p_77615_3_.getX(), p_77615_3_.getY(), p_77615_3_.getZ(), SoundEvents.CROSSBOW_LOADING_END, soundcategory, 1.0F, 1.0F / (p_77615_2_.random.nextFloat() * 0.5F + 1.0F) + 0.2F); + p_77615_2_.playSound(null, p_77615_3_.getX(), p_77615_3_.getY(), p_77615_3_.getZ(), SoundEvents.CROSSBOW_LOADING_END, soundcategory, 1.0F, 1.0F / (p_77615_2_.random.nextFloat() * 0.5F + 1.0F) + 0.2F); } } } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#performShooting(net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, net.minecraft.world.InteractionHand, net.minecraft.world.item.ItemStack, float, float)} - *
- * see comments for changes - * TODO 1.19 recheck - */ - public boolean performShootingMod(Level level, LivingEntity shooter, InteractionHand hand, ItemStack stack, float speed, float angle) { - List list = stack.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY).getItems(); - - for(int i = 0; i < list.size() && i < 2; ++i) { // only shoot a maximum of 2 arrows - ItemStack itemstack = list.get(i); - boolean flag = !(shooter instanceof Player player) || player.getAbilities().instabuild; - if (!itemstack.isEmpty()) { - shootProjectileMod(level, shooter, hand, stack, itemstack, CrossbowItemMixin.getShotPitches(shooter.getRandom(), i), flag, speed, angle); // only one arrow per projectile + @Override + public void performShooting(Level level, LivingEntity shooter, InteractionHand hand, ItemStack crossbow, float speed, float angle, @org.jetbrains.annotations.Nullable LivingEntity p_331602_) { + if (!level.isClientSide()) { + if (shooter instanceof Player player && net.neoforged.neoforge.event.EventHooks.onArrowLoose(crossbow, shooter.level(), player, 1, true) < 0) return; + ChargedProjectiles chargedprojectiles = crossbow.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY); + if (!chargedprojectiles.isEmpty()) { + List arrows = chargedprojectiles.getItems().subList(0, 2); + this.shoot(level, shooter, hand, crossbow, arrows, speed, angle, shooter instanceof Player, p_331602_); + if (shooter instanceof ServerPlayer serverplayer) { + CriteriaTriggers.SHOT_CROSSBOW.trigger(serverplayer, crossbow); + serverplayer.awardStat(Stats.ITEM_USED.get(crossbow.getItem())); + } + crossbow.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(chargedprojectiles.getItems().stream().filter(s -> !arrows.contains(s)).toList())); } } - - onShot(shooter, stack); - return list.isEmpty(); } } diff --git a/src/main/java/de/teamlapen/vampirism/items/crossbow/TechCrossbowItem.java b/src/main/java/de/teamlapen/vampirism/items/crossbow/TechCrossbowItem.java index 19a01a8033..00ae9e1d24 100644 --- a/src/main/java/de/teamlapen/vampirism/items/crossbow/TechCrossbowItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/crossbow/TechCrossbowItem.java @@ -6,9 +6,7 @@ import de.teamlapen.vampirism.entity.player.hunter.skills.HunterSkills; import de.teamlapen.vampirism.mixin.accessor.CrossbowItemMixin; import net.minecraft.core.component.DataComponents; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.stats.Stats; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.LivingEntity; @@ -28,8 +26,6 @@ import java.util.Optional; import java.util.function.Predicate; -import static net.minecraft.world.item.CrossbowItem.isCharged; - public class TechCrossbowItem extends VampirismCrossbowItem { public TechCrossbowItem(Item.Properties properties, float arrowVelocity, int chargeTime, Tier itemTier) { @@ -48,70 +44,19 @@ public Predicate getAllSupportedProjectiles() { return stack -> stack.getItem() instanceof IArrowContainer && !((IArrowContainer) stack.getItem()).getArrows(stack).isEmpty(); } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#use(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand)} - *
- * check comments - * TODO 1.19 recheck - */ - @Nonnull @Override - public InteractionResultHolder use(@Nonnull Level p_77659_1_, Player p_77659_2_, @Nonnull InteractionHand p_77659_3_) { - ItemStack itemstack = p_77659_2_.getItemInHand(p_77659_3_); - if (isCharged(itemstack)) { - if (!performShootingMod(p_77659_1_, p_77659_2_, p_77659_3_, itemstack, getShootingPowerMod(itemstack), 1.0F)) { - p_77659_2_.getCooldowns().addCooldown(this, 10); // add cooldown if projectiles left - } - return InteractionResultHolder.consume(itemstack); - } else if (!p_77659_2_.getProjectile(itemstack).isEmpty()) { - if (!isCharged(itemstack)) { - ((CrossbowItemMixin) this).setStartSoundPlayed(false); - ((CrossbowItemMixin) this).setMidLoadSoundPlayer(false); - p_77659_2_.startUsingItem(p_77659_3_); - } - - return InteractionResultHolder.consume(itemstack); - } else { - return InteractionResultHolder.fail(itemstack); + protected void onShoot(LivingEntity shooter, ItemStack crossbow) { + super.onShoot(shooter, crossbow); + if (shooter instanceof Player player) { + player.getCooldowns().addCooldown(this, 10); } } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#performShooting(net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, net.minecraft.world.InteractionHand, net.minecraft.world.item.ItemStack, float, float)} - *
- * TODO 1.19 recheck - */ - public boolean performShootingMod(Level p_220014_0_, LivingEntity p_220014_1_, InteractionHand p_220014_2_, ItemStack p_220014_3_, float p_220014_4_, float p_220014_5_) { - List list = p_220014_3_.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY).getItems(); - - ItemStack itemstack = getProjectile(p_220014_1_, p_220014_3_, list); //delegate for easy usage and frugality - boolean flag = !(p_220014_1_ instanceof Player player) || player.getAbilities().instabuild; - if (!itemstack.isEmpty()) { - shootProjectileMod(p_220014_0_, p_220014_1_, p_220014_2_, p_220014_3_, itemstack, CrossbowItemMixin.getShotPitches(p_220014_1_.getRandom(), 0), flag, p_220014_4_, p_220014_5_); // do not shoot more than one projectile - } - - onShot(p_220014_1_, p_220014_3_); - setChargedProjectiles(p_220014_3_, list); // set the loaded projectiles - return list.isEmpty(); - } - - private static void setChargedProjectiles(ItemStack p_220014_0_, List p_220014_1_) { - p_220014_0_.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(p_220014_1_)); - } - @Override public boolean isValidRepairItem(@Nonnull ItemStack crossbow, ItemStack repairItem) { return repairItem.is(Tags.Items.INGOTS_IRON); } - private ItemStack getProjectile(LivingEntity entity, ItemStack crossbow, List projectiles) { - int frugal = isFrugal(crossbow); - if (frugal > 0 && entity.getRandom().nextInt(Math.max(2, 4 - frugal)) == 0) { - return projectiles.get(0).copy(); - } - return projectiles.remove(0); - } - @Override protected boolean canBeInfinit(ItemStack crossbow) { return false; diff --git a/src/main/java/de/teamlapen/vampirism/items/crossbow/VampirismCrossbowItem.java b/src/main/java/de/teamlapen/vampirism/items/crossbow/VampirismCrossbowItem.java index 5bb006995d..edd2b2b56b 100644 --- a/src/main/java/de/teamlapen/vampirism/items/crossbow/VampirismCrossbowItem.java +++ b/src/main/java/de/teamlapen/vampirism/items/crossbow/VampirismCrossbowItem.java @@ -10,14 +10,10 @@ import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.items.component.SelectedAmmunition; import de.teamlapen.vampirism.mixin.accessor.CrossbowItemMixin; -import de.teamlapen.vampirism.util.RegUtil; -import io.netty.util.concurrent.BlockingOperationException; import net.minecraft.ChatFormatting; import net.minecraft.advancements.CriteriaTriggers; import net.minecraft.core.component.DataComponents; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -25,7 +21,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.monster.CrossbowAttackMob; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.*; @@ -109,112 +104,33 @@ public int getUseDuration(@NotNull ItemStack crossbow) { return getChargeDurationMod(crossbow) + 3; } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#use(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand)} - *
- * check comments for changes - */ - @NotNull - public InteractionResultHolder use(@NotNull Level p_77659_1_, Player p_77659_2_, @NotNull InteractionHand p_77659_3_) { - ItemStack itemstack = p_77659_2_.getItemInHand(p_77659_3_); - if (isCharged(itemstack)) { - performShootingMod(p_77659_1_, p_77659_2_, p_77659_3_, itemstack, getShootingPowerMod(itemstack), 1.0F); //call modded shoot function with shooting power - return InteractionResultHolder.consume(itemstack); - } else if (!p_77659_2_.getProjectile(itemstack).isEmpty()) { - if (!isCharged(itemstack)) { - ((CrossbowItemMixin) this).setStartSoundPlayed(false); - ((CrossbowItemMixin) this).setMidLoadSoundPlayer(false); - p_77659_2_.startUsingItem(p_77659_3_); - } - - return InteractionResultHolder.consume(itemstack); - } else { - return InteractionResultHolder.fail(itemstack); - } - } - - /** - * same as {@link net.minecraft.world.item.CrossbowItem#performShooting(net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, net.minecraft.world.InteractionHand, net.minecraft.world.item.ItemStack, float, float)} - *
- * check comments for changes - */ - public boolean performShootingMod(Level level, LivingEntity shooter, InteractionHand hand, ItemStack stack, float speed, float angle) { - List list = stack.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY).getItems(); - - List consumed = new ArrayList<>(); - for(int i = 0; i < list.size(); ++i) { - ItemStack itemstack = list.get(i); - boolean flag = !(shooter instanceof Player player) || player.getAbilities().instabuild; - if (!itemstack.isEmpty()) { - shootProjectileMod(level, shooter, hand, stack, itemstack, CrossbowItemMixin.getShotPitches(shooter.getRandom(), i), flag, speed, angle); - consumed.add(itemstack); - break; // only shoot one projectile + @Override + public void performShooting(Level level, LivingEntity shooter, InteractionHand hand, ItemStack crossbow, float speed, float angle, @Nullable LivingEntity p_331602_) { + if (!level.isClientSide()) { + if (shooter instanceof Player player && net.neoforged.neoforge.event.EventHooks.onArrowLoose(crossbow, shooter.level(), player, 1, true) < 0) return; + ChargedProjectiles chargedprojectiles = crossbow.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY); + if (!chargedprojectiles.isEmpty()) { + List arrows = List.of(chargedprojectiles.getItems().getFirst()); + this.shoot(level, shooter, hand, crossbow, arrows, speed, angle, shooter instanceof Player, p_331602_); + onShoot(shooter, crossbow); + crossbow.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(chargedprojectiles.getItems().stream().filter(s -> !arrows.contains(s)).toList())); } } - - list.removeAll(consumed); - stack.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.of(list)); - - onShot(shooter, stack); - return list.isEmpty(); } - protected void onShot(LivingEntity shooter, ItemStack stack) { - if (shooter instanceof ServerPlayer player) { - CriteriaTriggers.SHOT_CROSSBOW.trigger(player, stack); - player.awardStat(Stats.ITEM_USED.get(stack.getItem())); + protected void onShoot(LivingEntity shooter, ItemStack crossbow) { + if (shooter instanceof ServerPlayer serverplayer) { + CriteriaTriggers.SHOT_CROSSBOW.trigger(serverplayer, crossbow); + serverplayer.awardStat(Stats.ITEM_USED.get(crossbow.getItem())); } } - /** - * same as {@link net.minecraft.world.item.CrossbowItem#shootProjectile(net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, net.minecraft.world.InteractionHand, net.minecraft.world.item.ItemStack, net.minecraft.world.item.ItemStack, float, boolean, float, float, float)} - *
- * see comments for changes - */ - @SuppressWarnings("JavadocReference") - protected void shootProjectileMod(Level p_220016_0_, LivingEntity p_220016_1_, InteractionHand p_220016_2_, ItemStack p_220016_3_, ItemStack p_220016_4_, float p_220016_5_, boolean p_220016_6_, float p_220016_7_, float p_220016_8_) { - if (!p_220016_0_.isClientSide) { - ChargedProjectiles projectiles = p_220016_3_.set(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY); - if (projectiles != null && !projectiles.isEmpty()) { - } - AbstractArrow projectileentity; - projectileentity = modifyArrow(p_220016_3_, null); // modify arrow - if (p_220016_6_) { - projectileentity.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; - } - - Vec3 vec31 = p_220016_1_.getUpVector(1.0F); - Quaternionf quaternionf = (new Quaternionf()).setAngleAxis((float) 0.0 * ((float)Math.PI / 180F), vec31.x, vec31.y, vec31.z); - Vec3 vec3 = p_220016_1_.getViewVector(1.0F); - Vector3f vector3f = vec3.toVector3f().rotate(quaternionf); - projectileentity.shoot(vector3f.x(), vector3f.y(), vector3f.z(), p_220016_7_, p_220016_8_); - - p_220016_3_.hurtAndBreak(getUseDuration(p_220016_3_), p_220016_1_, LivingEntity.getSlotForHand(p_220016_2_)); - - if (isInfinit(p_220016_3_)) { - projectileentity.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; - } - p_220016_0_.addFreshEntity(projectileentity); - p_220016_0_.playSound((Player)null, p_220016_1_.getX(), p_220016_1_.getY(), p_220016_1_.getZ(), SoundEvents.CROSSBOW_SHOOT, SoundSource.PLAYERS, 1.0F, p_220016_5_); - } - } - - protected AbstractArrow modifyArrow(ItemStack stack, AbstractArrow arrowEntity) { - if (ignoreHurtTimer(stack) && arrowEntity instanceof IEntityCrossbowArrow) { - ((IEntityCrossbowArrow)arrowEntity).setIgnoreHurtTimer(); - } - - int j = stack.getEnchantmentLevel(Enchantments.POWER); - if (j > 0) { - arrowEntity.setBaseDamage(arrowEntity.getBaseDamage() + (double) j * 0.2D + 0.2D); - } - - int k = stack.getEnchantmentLevel(Enchantments.PUNCH); - - if (k > 0) { - arrowEntity.setKnockback(k); + @Override + public AbstractArrow customArrow(AbstractArrow arrow, ItemStack stack) { + if (ignoreHurtTimer(stack) && arrow instanceof IEntityCrossbowArrow) { + ((IEntityCrossbowArrow)arrow).setIgnoreHurtTimer(); } - return arrowEntity; + return arrow; } protected boolean ignoreHurtTimer(ItemStack crossbow) { @@ -303,7 +219,7 @@ protected boolean loadProjectileMod(LivingEntity entity, ItemStack crossbow, Ite itemstack = projectile.getItem() instanceof IArrowContainer ? projectile : projectile.copy(); } - List loaded = crossbow.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY).getItems(); + List loaded = new ArrayList<>(crossbow.getOrDefault(DataComponents.CHARGED_PROJECTILES, ChargedProjectiles.EMPTY).getItems()); if (itemstack.getItem() instanceof IArrowContainer container) { // if arrow container use contents Collection projectiles = noConsume ? container.getArrows(projectile) : container.getAndRemoveArrows(projectile); loaded.addAll(projectiles); diff --git a/src/main/java/de/teamlapen/vampirism/items/oil/EffectWeaponOil.java b/src/main/java/de/teamlapen/vampirism/items/oil/EffectWeaponOil.java index cbb2a4e658..3c06e91b91 100644 --- a/src/main/java/de/teamlapen/vampirism/items/oil/EffectWeaponOil.java +++ b/src/main/java/de/teamlapen/vampirism/items/oil/EffectWeaponOil.java @@ -11,7 +11,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/oil/EvasionOil.java b/src/main/java/de/teamlapen/vampirism/items/oil/EvasionOil.java index 3ac5284135..4e18ff54fb 100644 --- a/src/main/java/de/teamlapen/vampirism/items/oil/EvasionOil.java +++ b/src/main/java/de/teamlapen/vampirism/items/oil/EvasionOil.java @@ -8,7 +8,6 @@ import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/items/oil/Oil.java b/src/main/java/de/teamlapen/vampirism/items/oil/Oil.java index 9142ea987d..6c0b232885 100644 --- a/src/main/java/de/teamlapen/vampirism/items/oil/Oil.java +++ b/src/main/java/de/teamlapen/vampirism/items/oil/Oil.java @@ -1,16 +1,13 @@ package de.teamlapen.vampirism.items.oil; import de.teamlapen.vampirism.api.items.oil.IOil; -import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Optional; public class Oil implements IOil { diff --git a/src/main/java/de/teamlapen/vampirism/items/oil/SmeltingOil.java b/src/main/java/de/teamlapen/vampirism/items/oil/SmeltingOil.java index 795d815e4d..9277128219 100644 --- a/src/main/java/de/teamlapen/vampirism/items/oil/SmeltingOil.java +++ b/src/main/java/de/teamlapen/vampirism/items/oil/SmeltingOil.java @@ -8,7 +8,6 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PickaxeItem; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/misc/VampirismCreativeTab.java b/src/main/java/de/teamlapen/vampirism/misc/VampirismCreativeTab.java index d295395837..d8bbcc192c 100644 --- a/src/main/java/de/teamlapen/vampirism/misc/VampirismCreativeTab.java +++ b/src/main/java/de/teamlapen/vampirism/misc/VampirismCreativeTab.java @@ -1,13 +1,10 @@ package de.teamlapen.vampirism.misc; import de.teamlapen.lib.lib.util.ModDisplayItemGenerator; -import de.teamlapen.vampirism.api.items.oil.IOil; import de.teamlapen.vampirism.core.ModItems; import de.teamlapen.vampirism.core.ModOils; import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.util.ItemDataUtils; -import de.teamlapen.vampirism.util.OilUtils; -import de.teamlapen.vampirism.util.RegUtil; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; diff --git a/src/main/java/de/teamlapen/vampirism/misc/VampirismLogger.java b/src/main/java/de/teamlapen/vampirism/misc/VampirismLogger.java index e18ffe8c3f..89cdfef5b9 100644 --- a/src/main/java/de/teamlapen/vampirism/misc/VampirismLogger.java +++ b/src/main/java/de/teamlapen/vampirism/misc/VampirismLogger.java @@ -1,11 +1,7 @@ package de.teamlapen.vampirism.misc; import de.teamlapen.vampirism.config.VampirismConfig; -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.Marker; -import org.apache.logging.log4j.MarkerManager; +import org.apache.logging.log4j.*; import org.apache.logging.log4j.core.Appender; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.appender.FileAppender; @@ -15,7 +11,7 @@ import org.apache.logging.log4j.core.layout.PatternLayout; /** - * logger for vampirism faction stuff that is only initialized for dedicated server and only woorking if {@link de.teamlapen.vampirism.config.VampirismConfig.Common#enableFactionLogging} is true
+ * logger for vampirism faction stuff that is only initialized for dedicated server and only woorking if {@link de.teamlapen.vampirism.config.CommonConfig#enableFactionLogging} is true
* otherwise the logger does nothing */ public class VampirismLogger { diff --git a/src/main/java/de/teamlapen/vampirism/mixin/AreaEffectCloudMixin.java b/src/main/java/de/teamlapen/vampirism/mixin/AreaEffectCloudMixin.java index ed108d4dae..a4ebd1bbe7 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/AreaEffectCloudMixin.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/AreaEffectCloudMixin.java @@ -9,7 +9,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/de/teamlapen/vampirism/mixin/MixinMobEffectInstance.java b/src/main/java/de/teamlapen/vampirism/mixin/MixinMobEffectInstance.java index 0019c1e326..0cda1d9f00 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/MixinMobEffectInstance.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/MixinMobEffectInstance.java @@ -1,9 +1,7 @@ package de.teamlapen.vampirism.mixin; import de.teamlapen.vampirism.api.entity.effect.EffectInstanceWithSource; -import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/mixin/NoiseGeneratorSettingsMixin.java b/src/main/java/de/teamlapen/vampirism/mixin/NoiseGeneratorSettingsMixin.java index f7a6b1bd08..7ec8b4ae66 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/NoiseGeneratorSettingsMixin.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/NoiseGeneratorSettingsMixin.java @@ -1,6 +1,6 @@ package de.teamlapen.vampirism.mixin; -import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; +//import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; import de.teamlapen.vampirism.world.biome.OverworldModifications; import net.minecraft.world.level.levelgen.NoiseGeneratorSettings; import net.minecraft.world.level.levelgen.SurfaceRules; @@ -14,8 +14,9 @@ public class NoiseGeneratorSettingsMixin { @Inject(method = "surfaceRule", at = @At("RETURN"), cancellable = true) private void addVampirismOverworldSurfaceRules(CallbackInfoReturnable cir) { - if (!TerraBlenderCompat.areBiomesAddedViaTerraBlender()) { //When TerraBlender is installed, it adds the surface rules appropriately. This is likely called a few times before terrablender is activated, but that should not be an issue - cir.setReturnValue(SurfaceRules.sequence(OverworldModifications.buildOverworldSurfaceRules(), cir.getReturnValue())); - } + // TODO readd this +// if (!TerraBlenderCompat.areBiomesAddedViaTerraBlender()) { //When TerraBlender is installed, it adds the surface rules appropriately. This is likely called a few times before terrablender is activated, but that should not be an issue +// cir.setReturnValue(SurfaceRules.sequence(OverworldModifications.buildOverworldSurfaceRules(), cir.getReturnValue())); +// } } } diff --git a/src/main/java/de/teamlapen/vampirism/mixin/accessor/AttributeInstanceAccessor.java b/src/main/java/de/teamlapen/vampirism/mixin/accessor/AttributeInstanceAccessor.java index f58e4d5ebe..80d0cacb7e 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/accessor/AttributeInstanceAccessor.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/accessor/AttributeInstanceAccessor.java @@ -6,8 +6,6 @@ import org.spongepowered.asm.mixin.gen.Invoker; import java.util.Collection; -import java.util.Map; -import java.util.UUID; @Mixin(AttributeInstance.class) public interface AttributeInstanceAccessor { diff --git a/src/main/java/de/teamlapen/vampirism/mixin/accessor/CrossbowItemMixin.java b/src/main/java/de/teamlapen/vampirism/mixin/accessor/CrossbowItemMixin.java index 6610687a2e..cc59d6d23f 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/accessor/CrossbowItemMixin.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/accessor/CrossbowItemMixin.java @@ -1,18 +1,11 @@ package de.teamlapen.vampirism.mixin.accessor; import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.item.CrossbowItem; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; import org.spongepowered.asm.mixin.gen.Invoker; -import java.util.List; - @Mixin(CrossbowItem.class) public interface CrossbowItemMixin { diff --git a/src/main/java/de/teamlapen/vampirism/mixin/accessor/ItemCombinerMenuAccessor.java b/src/main/java/de/teamlapen/vampirism/mixin/accessor/ItemCombinerMenuAccessor.java index 6798fb58af..e19f4352ab 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/accessor/ItemCombinerMenuAccessor.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/accessor/ItemCombinerMenuAccessor.java @@ -2,7 +2,6 @@ import net.minecraft.world.Container; import net.minecraft.world.inventory.ItemCombinerMenu; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mutable; import org.spongepowered.asm.mixin.gen.Accessor; diff --git a/src/main/java/de/teamlapen/vampirism/mixin/accessor/RecipeManagerAccessor.java b/src/main/java/de/teamlapen/vampirism/mixin/accessor/RecipeManagerAccessor.java index 10000bd463..baf540696c 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/accessor/RecipeManagerAccessor.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/accessor/RecipeManagerAccessor.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.mixin.accessor; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeHolder; @@ -10,7 +9,6 @@ import org.spongepowered.asm.mixin.gen.Invoker; import java.util.Collection; -import java.util.Map; @Mixin(RecipeManager.class) public interface RecipeManagerAccessor { diff --git a/src/main/java/de/teamlapen/vampirism/mixin/client/LevelRendererMixin.java b/src/main/java/de/teamlapen/vampirism/mixin/client/LevelRendererMixin.java index 75833b9fe4..76817690da 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/client/LevelRendererMixin.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/client/LevelRendererMixin.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.mixin.client; -import com.mojang.blaze3d.vertex.PoseStack; import de.teamlapen.vampirism.VampirismMod; import net.minecraft.client.Camera; import net.minecraft.client.renderer.GameRenderer; diff --git a/src/main/java/de/teamlapen/vampirism/mixin/client/accessor/StatsScreenAccessor.java b/src/main/java/de/teamlapen/vampirism/mixin/client/accessor/StatsScreenAccessor.java index 5a0d66f701..492477a43f 100644 --- a/src/main/java/de/teamlapen/vampirism/mixin/client/accessor/StatsScreenAccessor.java +++ b/src/main/java/de/teamlapen/vampirism/mixin/client/accessor/StatsScreenAccessor.java @@ -1,13 +1,11 @@ package de.teamlapen.vampirism.mixin.client.accessor; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.achievement.StatsScreen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.stats.StatsCounter; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; -import org.spongepowered.asm.mixin.gen.Invoker; @Mixin(StatsScreen.class) public interface StatsScreenAccessor { diff --git a/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PagePotionTableMix.java b/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PagePotionTableMix.java index 76eccce84d..1ac219a66d 100644 --- a/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PagePotionTableMix.java +++ b/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PagePotionTableMix.java @@ -18,8 +18,8 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.PotionUtils; import net.minecraft.world.item.crafting.Ingredient; - - +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PageTable.java b/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PageTable.java index b38f9faaae..cf7be2aa1e 100644 --- a/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PageTable.java +++ b/src/main/java/de/teamlapen/vampirism/modcompat/guide/pages/PageTable.java @@ -14,8 +14,8 @@ import net.minecraft.client.gui.GuiGraphics; import net.minecraft.core.RegistryAccess; import net.minecraft.network.chat.MutableComponent; - - +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; import org.joml.Matrix4f; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/BasicWeaponTableRecipeRenderer.java b/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/BasicWeaponTableRecipeRenderer.java index 7b37824d9f..b64184e6c1 100644 --- a/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/BasicWeaponTableRecipeRenderer.java +++ b/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/BasicWeaponTableRecipeRenderer.java @@ -22,8 +22,8 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; - - +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; diff --git a/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/ShapelessWeaponTableRecipeRenderer.java b/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/ShapelessWeaponTableRecipeRenderer.java index b24e1008ce..ee335a1444 100644 --- a/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/ShapelessWeaponTableRecipeRenderer.java +++ b/src/main/java/de/teamlapen/vampirism/modcompat/guide/recipes/ShapelessWeaponTableRecipeRenderer.java @@ -13,8 +13,8 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.crafting.Ingredient; - - +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/modcompat/jei/VampirismJEIPlugin.java b/src/main/java/de/teamlapen/vampirism/modcompat/jei/VampirismJEIPlugin.java index d523a7f480..e3de864df0 100755 --- a/src/main/java/de/teamlapen/vampirism/modcompat/jei/VampirismJEIPlugin.java +++ b/src/main/java/de/teamlapen/vampirism/modcompat/jei/VampirismJEIPlugin.java @@ -30,7 +30,6 @@ import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.ingredients.subtypes.IIngredientSubtypeInterpreter; import mezz.jei.api.ingredients.subtypes.UidContext; -import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.vanilla.IJeiAnvilRecipe; import mezz.jei.api.recipe.vanilla.IVanillaRecipeFactory; import mezz.jei.api.registration.*; @@ -98,9 +97,9 @@ public void registerGuiHandlers(@NotNull IGuiHandlerRegistration registration) { @Override public void registerRecipeTransferHandlers(@NotNull IRecipeTransferRegistration registration) { - registration.addRecipeTransferHandler(AlchemicalCauldronMenu.class, ModContainer.ALCHEMICAL_CAULDRON.get(), ALCHEMICAL_CAULDRON, 0, 2, 4, 36); - registration.addRecipeTransferHandler(AlchemicalCauldronMenu.class, ModContainer.ALCHEMICAL_CAULDRON.get(), RecipeTypes.FUELING, 3, 1, 4, 36); - registration.addRecipeTransferHandler(WeaponTableMenu.class, ModContainer.WEAPON_TABLE.get(), WEAPON_TABLE, 1, 16, 17, 36); + registration.addRecipeTransferHandler(AlchemicalCauldronMenu.class, ModMenus.ALCHEMICAL_CAULDRON.get(), ALCHEMICAL_CAULDRON, 0, 2, 4, 36); + registration.addRecipeTransferHandler(AlchemicalCauldronMenu.class, ModMenus.ALCHEMICAL_CAULDRON.get(), RecipeTypes.FUELING, 3, 1, 4, 36); + registration.addRecipeTransferHandler(WeaponTableMenu.class, ModMenus.WEAPON_TABLE.get(), WEAPON_TABLE, 1, 16, 17, 36); } @Override diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundBossEventSoundPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundBossEventSoundPacket.java index 80f385c952..e9bff0d711 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundBossEventSoundPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundBossEventSoundPacket.java @@ -1,20 +1,14 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import net.minecraft.core.registries.Registries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; -import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.common.util.NeoForgeExtraCodecs; -import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; import java.util.UUID; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundOpenVampireBookPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundOpenVampireBookPacket.java index d47bf58dbb..85db44aebf 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundOpenVampireBookPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundOpenVampireBookPacket.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundPlayEventPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundPlayEventPacket.java index df1f47dc67..5b4cc79e34 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundPlayEventPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundPlayEventPacket.java @@ -1,7 +1,5 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.core.BlockPos; import net.minecraft.network.RegistryFriendlyByteBuf; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundRequestMinionSelectPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundRequestMinionSelectPacket.java index f037abf227..cdafad03f0 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundRequestMinionSelectPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundRequestMinionSelectPacket.java @@ -1,14 +1,11 @@ package de.teamlapen.vampirism.network; import com.mojang.datafixers.util.Pair; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import de.teamlapen.vampirism.entity.minion.management.PlayerMinionController; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import de.teamlapen.vampirism.world.MinionWorldData; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.ComponentSerialization; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundSkillTreePacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundSkillTreePacket.java index 8e694d4c16..3e31733c86 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundSkillTreePacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundSkillTreePacket.java @@ -1,21 +1,17 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.factions.ISkillNode; import de.teamlapen.vampirism.api.entity.factions.ISkillTree; import de.teamlapen.vampirism.entity.player.skills.SkillTreeConfiguration; import net.minecraft.core.Registry; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundSundamagePacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundSundamagePacket.java index 8ff8603cae..af6135fe6e 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundSundamagePacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundSundamagePacket.java @@ -1,11 +1,8 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.core.registries.Registries; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskPacket.java index 90a87ae1e6..71e224a824 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskPacket.java @@ -1,12 +1,8 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.DataResult; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.entity.player.TaskManager; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskStatusPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskStatusPacket.java index b519eb99e0..b74538bec3 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskStatusPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundTaskStatusPacket.java @@ -1,12 +1,9 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.entity.player.task.ITaskInstance; import de.teamlapen.vampirism.entity.player.tasks.TaskInstance; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/network/ClientboundUpdateMultiBossEventPacket.java b/src/main/java/de/teamlapen/vampirism/network/ClientboundUpdateMultiBossEventPacket.java index e4b2a2e034..cd5f46b312 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ClientboundUpdateMultiBossEventPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ClientboundUpdateMultiBossEventPacket.java @@ -1,12 +1,9 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.lib.util.Color; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import de.teamlapen.vampirism.world.MultiBossEvent; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.ComponentSerialization; @@ -14,14 +11,11 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; -import net.minecraft.util.StringRepresentable; import net.minecraft.world.BossEvent; import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; import java.util.*; -import java.util.stream.Stream; public record ClientboundUpdateMultiBossEventPacket(Operation operation) implements CustomPacketPayload { diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundActionBindingPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundActionBindingPacket.java index 90ec0f8f96..5dc95a8aaf 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundActionBindingPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundActionBindingPacket.java @@ -1,19 +1,13 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.VampirismRegistries; import de.teamlapen.vampirism.api.entity.player.actions.IAction; -import de.teamlapen.vampirism.core.ModRegistries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; -import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundAppearancePacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundAppearancePacket.java index 9c4b44d39a..aa566a8644 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundAppearancePacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundAppearancePacket.java @@ -1,10 +1,6 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import com.sun.jna.platform.win32.WinDef; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundDeleteRefinementPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundDeleteRefinementPacket.java index 5938c7fb29..8c6d164fe4 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundDeleteRefinementPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundDeleteRefinementPacket.java @@ -1,14 +1,11 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.api.items.IRefinementItem; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.StringRepresentable; import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundNameItemPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundNameItemPacket.java index 2feceb2933..844dfd55eb 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundNameItemPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundNameItemPacket.java @@ -1,8 +1,6 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -10,12 +8,14 @@ import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; +import java.util.Optional; -public record ServerboundNameItemPacket(String name) implements CustomPacketPayload { + +public record ServerboundNameItemPacket(Optional name) implements CustomPacketPayload { public static final Type TYPE = new Type<>(new ResourceLocation(REFERENCE.MODID, "name_item")); public static final StreamCodec CODEC = StreamCodec.composite( - ByteBufCodecs.STRING_UTF8, ServerboundNameItemPacket::name, + ByteBufCodecs.optional(ByteBufCodecs.STRING_UTF8), ServerboundNameItemPacket::name, ServerboundNameItemPacket::new ); diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundRequestSkillTreePacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundRequestSkillTreePacket.java index 1ac603b463..1a77b0fb26 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundRequestSkillTreePacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundRequestSkillTreePacket.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.network; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectAmmoTypePacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectAmmoTypePacket.java index 1608879ce2..afd2b1ed07 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectAmmoTypePacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectAmmoTypePacket.java @@ -1,20 +1,14 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.client.gui.screens.SelectAmmoScreen; -import de.teamlapen.vampirism.util.RegUtil; import net.minecraft.core.registries.Registries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.item.Item; -import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectMinionTaskPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectMinionTaskPacket.java index e4642dfba3..67136a8871 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectMinionTaskPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundSelectMinionTaskPacket.java @@ -1,9 +1,6 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; @@ -12,8 +9,6 @@ import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -31,7 +26,7 @@ public record ServerboundSelectMinionTaskPacket(int minionID, ResourceLocation t public static void printRecoveringMinions(@NotNull ServerPlayer player, @NotNull List recoveringMinions) { if (recoveringMinions.size() == 1) { - player.displayClientMessage(Component.translatable("text.vampirism.minion_is_still_recovering", recoveringMinions.get(0)), true); + player.displayClientMessage(Component.translatable("text.vampirism.minion_is_still_recovering", recoveringMinions.getFirst()), true); } else if (recoveringMinions.size() > 1) { player.displayClientMessage(Component.translatable("text.vampirism.n_minions_are_still_recovering", recoveringMinions.size()), true); } diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundSetVampireBeaconPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundSetVampireBeaconPacket.java index 806e5fb495..0973def7d1 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundSetVampireBeaconPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundSetVampireBeaconPacket.java @@ -1,12 +1,8 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.core.Holder; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundSimpleInputEvent.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundSimpleInputEvent.java index bb867c87c3..88deeccd90 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundSimpleInputEvent.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundSimpleInputEvent.java @@ -1,13 +1,10 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.StringRepresentable; import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundStartFeedingPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundStartFeedingPacket.java index e713229762..745dad4214 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundStartFeedingPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundStartFeedingPacket.java @@ -1,16 +1,13 @@ package de.teamlapen.vampirism.network; import com.mojang.datafixers.util.Either; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; public record ServerboundStartFeedingPacket(Either target) implements CustomPacketPayload { diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundTaskActionPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundTaskActionPacket.java index b07b5c3536..afa5f56312 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundTaskActionPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundTaskActionPacket.java @@ -1,16 +1,12 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.inventory.TaskMenu; import de.teamlapen.vampirism.util.ByteBufferCodecUtil; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.StringRepresentable; import net.neoforged.neoforge.network.codec.NeoForgeStreamCodecs; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleActionPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleActionPacket.java index 66ff90ae19..aa4b1b3fb5 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleActionPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleActionPacket.java @@ -1,17 +1,13 @@ package de.teamlapen.vampirism.network; import com.mojang.datafixers.util.Either; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; import net.minecraft.core.BlockPos; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.EntityHitResult; import net.minecraft.world.phys.HitResult; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleMinionTaskLock.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleMinionTaskLock.java index d01be4235f..e57facfd86 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleMinionTaskLock.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundToggleMinionTaskLock.java @@ -1,8 +1,6 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundUnlockSkillPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundUnlockSkillPacket.java index a78d3bf21d..e00960745f 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundUnlockSkillPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundUnlockSkillPacket.java @@ -1,14 +1,10 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.resources.ResourceLocation; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/network/ServerboundUpgradeMinionStatPacket.java b/src/main/java/de/teamlapen/vampirism/network/ServerboundUpgradeMinionStatPacket.java index 295630fdeb..a11b4d1085 100644 --- a/src/main/java/de/teamlapen/vampirism/network/ServerboundUpgradeMinionStatPacket.java +++ b/src/main/java/de/teamlapen/vampirism/network/ServerboundUpgradeMinionStatPacket.java @@ -1,9 +1,6 @@ package de.teamlapen.vampirism.network; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.REFERENCE; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; diff --git a/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodEntityParticleOptions.java b/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodEntityParticleOptions.java index 46395327f5..3e5ac1491a 100644 --- a/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodEntityParticleOptions.java +++ b/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodEntityParticleOptions.java @@ -1,22 +1,15 @@ package de.teamlapen.vampirism.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModParticles; -import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; -import org.joml.Vector3d; public record FlyingBloodEntityParticleOptions(int entity, boolean direct) implements ParticleOptions { diff --git a/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodParticleOptions.java b/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodParticleOptions.java index 0f20e5593b..788cf85eaa 100644 --- a/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodParticleOptions.java +++ b/src/main/java/de/teamlapen/vampirism/particle/FlyingBloodParticleOptions.java @@ -1,7 +1,5 @@ package de.teamlapen.vampirism.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; @@ -9,8 +7,6 @@ import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -18,9 +14,6 @@ import org.jetbrains.annotations.NotNull; import org.joml.Vector3d; -import java.util.ArrayList; -import java.util.List; - public record FlyingBloodParticleOptions(int maxAge, boolean direct, double targetX, double targetY, double targetZ, ResourceLocation texture, float scale) implements ParticleOptions { public FlyingBloodParticleOptions(int maxAge, boolean direct, Vector3d target, ResourceLocation texture, float scale) { diff --git a/src/main/java/de/teamlapen/vampirism/particle/GenericParticleOptions.java b/src/main/java/de/teamlapen/vampirism/particle/GenericParticleOptions.java index 81628e1b58..c267877634 100644 --- a/src/main/java/de/teamlapen/vampirism/particle/GenericParticleOptions.java +++ b/src/main/java/de/teamlapen/vampirism/particle/GenericParticleOptions.java @@ -1,22 +1,16 @@ package de.teamlapen.vampirism.particle; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModParticles; -import de.teamlapen.vampirism.util.ByteBufferCodecUtil; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; -import org.joml.Vector3d; public record GenericParticleOptions(ResourceLocation texture, int maxAge, int color, float speed) implements ParticleOptions { diff --git a/src/main/java/de/teamlapen/vampirism/proxy/ClientProxy.java b/src/main/java/de/teamlapen/vampirism/proxy/ClientProxy.java index 47f19eb694..4750832f2e 100755 --- a/src/main/java/de/teamlapen/vampirism/proxy/ClientProxy.java +++ b/src/main/java/de/teamlapen/vampirism/proxy/ClientProxy.java @@ -8,7 +8,10 @@ import de.teamlapen.vampirism.blocks.CoffinBlock; import de.teamlapen.vampirism.blocks.LogBlock; import de.teamlapen.vampirism.blocks.TentBlock; -import de.teamlapen.vampirism.client.core.*; +import de.teamlapen.vampirism.client.core.ClientEventHandler; +import de.teamlapen.vampirism.client.core.ModBlocksRender; +import de.teamlapen.vampirism.client.core.ModItemsRender; +import de.teamlapen.vampirism.client.core.ModKeys; import de.teamlapen.vampirism.client.gui.ScreenEventHandler; import de.teamlapen.vampirism.client.gui.overlay.*; import de.teamlapen.vampirism.client.gui.screens.*; diff --git a/src/main/java/de/teamlapen/vampirism/proxy/CommonProxy.java b/src/main/java/de/teamlapen/vampirism/proxy/CommonProxy.java index 75564c6818..4312edab27 100755 --- a/src/main/java/de/teamlapen/vampirism/proxy/CommonProxy.java +++ b/src/main/java/de/teamlapen/vampirism/proxy/CommonProxy.java @@ -1,8 +1,6 @@ package de.teamlapen.vampirism.proxy; -import net.neoforged.fml.event.lifecycle.ParallelDispatchEvent; - /** * Abstract proxy base for both client and server. * Try to keep this quite empty and move larger code parts into dedicated classes. diff --git a/src/main/java/de/teamlapen/vampirism/recipes/AbstractBrewingRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/AbstractBrewingRecipe.java index cd52f3e2f5..38fab692b4 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/AbstractBrewingRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/AbstractBrewingRecipe.java @@ -2,7 +2,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; diff --git a/src/main/java/de/teamlapen/vampirism/recipes/AlchemicalCauldronRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/AlchemicalCauldronRecipe.java index 25a3c0a675..23bc578dc7 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/AlchemicalCauldronRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/AlchemicalCauldronRecipe.java @@ -11,11 +11,9 @@ import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.util.StreamCodecExtension; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.AbstractCookingRecipe; diff --git a/src/main/java/de/teamlapen/vampirism/recipes/AlchemyTableRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/AlchemyTableRecipe.java index 34df8e0f4c..430dc435f6 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/AlchemyTableRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/AlchemyTableRecipe.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.recipes; -import com.mojang.datafixers.util.Either; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; @@ -9,11 +8,9 @@ import de.teamlapen.vampirism.api.entity.player.skills.ISkill; import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.core.ModRegistries; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; diff --git a/src/main/java/de/teamlapen/vampirism/recipes/CleanOilRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/CleanOilRecipe.java index 6a03edf55d..6a91a20fe3 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/CleanOilRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/CleanOilRecipe.java @@ -3,7 +3,6 @@ import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.items.component.AppliedOilContent; import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; diff --git a/src/main/java/de/teamlapen/vampirism/recipes/ExtendedBrewingRecipeRegistry.java b/src/main/java/de/teamlapen/vampirism/recipes/ExtendedBrewingRecipeRegistry.java index d65ef208d6..3b45ca4dca 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/ExtendedBrewingRecipeRegistry.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/ExtendedBrewingRecipeRegistry.java @@ -10,11 +10,9 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.ThrowablePotionItem; -import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.level.Level; -import net.neoforged.neoforge.common.brewing.BrewingRecipeRegistry; import org.apache.commons.lang3.tuple.Triple; import org.jetbrains.annotations.NotNull; @@ -91,7 +89,7 @@ public boolean canBrew(Level level, @NotNull NonNullList inputs, @Not possibleResults.sort((mix1, mix2) -> mix1.efficient ? (mix2.efficient ? 0 : -1) : (mix2.efficient ? 1 : 0) ); - ExtendedPotionMix mix = possibleResults.get(0); + ExtendedPotionMix mix = possibleResults.getFirst(); return Optional.of(Triple.of(ItemDataUtils.setPotion(new ItemStack(item), mix.output), mix.reagent1Count, mix.reagent2Count)); } diff --git a/src/main/java/de/teamlapen/vampirism/recipes/ShapedItemWithTierRepair.java b/src/main/java/de/teamlapen/vampirism/recipes/ShapedItemWithTierRepair.java index 4e5d1c1ecd..c551f0de34 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/ShapedItemWithTierRepair.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/ShapedItemWithTierRepair.java @@ -1,13 +1,10 @@ package de.teamlapen.vampirism.recipes; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.api.items.IItemWithTier; import de.teamlapen.vampirism.core.ModRecipes; import de.teamlapen.vampirism.mixin.accessor.ShapedRecipeAccessor; import net.minecraft.core.HolderLookup; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingBookCategory; @@ -15,8 +12,6 @@ import net.minecraft.world.item.crafting.ShapedRecipe; import org.jetbrains.annotations.NotNull; -import java.util.Map; - /** * This recipe copies the {@link net.minecraft.nbt.CompoundTag} from the first found {@link IItemWithTier} and inserts it into the manufacturing result with damage = 0 * diff --git a/src/main/java/de/teamlapen/vampirism/recipes/ShapedWeaponTableRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/ShapedWeaponTableRecipe.java index d1dd9a5757..40fc2fb0af 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/ShapedWeaponTableRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/ShapedWeaponTableRecipe.java @@ -11,12 +11,9 @@ import de.teamlapen.vampirism.util.StreamCodecExtension; import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.*; diff --git a/src/main/java/de/teamlapen/vampirism/recipes/ShapelessWeaponTableRecipe.java b/src/main/java/de/teamlapen/vampirism/recipes/ShapelessWeaponTableRecipe.java index e3f59445f1..aa247625e8 100644 --- a/src/main/java/de/teamlapen/vampirism/recipes/ShapelessWeaponTableRecipe.java +++ b/src/main/java/de/teamlapen/vampirism/recipes/ShapelessWeaponTableRecipe.java @@ -12,12 +12,9 @@ import de.teamlapen.vampirism.util.StreamCodecExtension; import net.minecraft.core.HolderLookup; import net.minecraft.core.NonNullList; -import net.minecraft.core.RegistryAccess; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.entity.player.StackedContents; import net.minecraft.world.inventory.CraftingContainer; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/server/ServerPayloadHandler.java b/src/main/java/de/teamlapen/vampirism/server/ServerPayloadHandler.java index 8ba0b54d08..11b09fd3d6 100644 --- a/src/main/java/de/teamlapen/vampirism/server/ServerPayloadHandler.java +++ b/src/main/java/de/teamlapen/vampirism/server/ServerPayloadHandler.java @@ -25,7 +25,7 @@ import de.teamlapen.vampirism.inventory.RevertBackMenu; import de.teamlapen.vampirism.inventory.VampireBeaconMenu; import de.teamlapen.vampirism.items.OblivionItem; -import de.teamlapen.vampirism.items.VampirismVampireSwordItem; +import de.teamlapen.vampirism.items.VampireSwordItem; import de.teamlapen.vampirism.network.*; import de.teamlapen.vampirism.util.RegUtil; import de.teamlapen.vampirism.world.MinionWorldData; @@ -77,15 +77,17 @@ public void handleDeleteRefinementPacket(ServerboundDeleteRefinementPacket msg, public void handleNameItemPacket(ServerboundNameItemPacket msg, IPayloadContext context) { context.enqueueWork(() -> { - if (VampirismVampireSwordItem.DO_NOT_NAME_STRING.equals(msg.name())) { + msg.name().ifPresentOrElse(name -> { + if (!org.apache.commons.lang3.StringUtils.isBlank(name)) { ItemStack stack = context.player().getMainHandItem(); - if (stack.getItem() instanceof VampirismVampireSwordItem swordItem) { - swordItem.doNotName(stack); - } - } else if (!org.apache.commons.lang3.StringUtils.isBlank(msg.name())) { - ItemStack stack = context.player().getMainHandItem(); - stack.set(DataComponents.CUSTOM_NAME, Component.literal(msg.name()).withStyle(ChatFormatting.AQUA)); + stack.set(DataComponents.CUSTOM_NAME, Component.literal(name).withStyle(ChatFormatting.AQUA)); } + }, () -> { + ItemStack stack = context.player().getMainHandItem(); + if (stack.getItem() instanceof VampireSwordItem swordItem) { + swordItem.doNotName(stack); + } + }); }); } diff --git a/src/main/java/de/teamlapen/vampirism/sit/SitHandler.java b/src/main/java/de/teamlapen/vampirism/sit/SitHandler.java index 7031c039c0..baad02e709 100644 --- a/src/main/java/de/teamlapen/vampirism/sit/SitHandler.java +++ b/src/main/java/de/teamlapen/vampirism/sit/SitHandler.java @@ -12,12 +12,9 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.neoforge.common.NeoForgeMod; import net.neoforged.neoforge.event.level.BlockEvent; import org.jetbrains.annotations.NotNull; -import javax.management.Attribute; - public class SitHandler { public static void startSitting(@NotNull Player player, @NotNull Level level, @NotNull BlockPos pos, double offset) { if (!level.isClientSide && !SitUtil.isPlayerSitting(player) && !player.isShiftKeyDown()) { diff --git a/src/main/java/de/teamlapen/vampirism/util/ByteBufferCodecUtil.java b/src/main/java/de/teamlapen/vampirism/util/ByteBufferCodecUtil.java index 7e0a21561b..85c084b698 100644 --- a/src/main/java/de/teamlapen/vampirism/util/ByteBufferCodecUtil.java +++ b/src/main/java/de/teamlapen/vampirism/util/ByteBufferCodecUtil.java @@ -3,8 +3,6 @@ import com.mojang.datafixers.util.Pair; import io.netty.buffer.ByteBuf; import net.minecraft.core.UUIDUtil; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import org.jetbrains.annotations.NotNull; import org.joml.Vector3d; diff --git a/src/main/java/de/teamlapen/vampirism/util/DifficultyCalculator.java b/src/main/java/de/teamlapen/vampirism/util/DifficultyCalculator.java index ff5a392501..8a4c92e667 100755 --- a/src/main/java/de/teamlapen/vampirism/util/DifficultyCalculator.java +++ b/src/main/java/de/teamlapen/vampirism/util/DifficultyCalculator.java @@ -2,7 +2,6 @@ import de.teamlapen.lib.lib.util.UtilLib; import de.teamlapen.vampirism.api.difficulty.Difficulty; -import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import de.teamlapen.vampirism.entity.factions.FactionPlayerHandler; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Player; @@ -14,7 +13,6 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.Optional; /** * Calculates a (local) difficulity based on the player faction levels diff --git a/src/main/java/de/teamlapen/vampirism/util/HunterVillage.java b/src/main/java/de/teamlapen/vampirism/util/HunterVillage.java index fc356cb87f..7e232ecbcb 100644 --- a/src/main/java/de/teamlapen/vampirism/util/HunterVillage.java +++ b/src/main/java/de/teamlapen/vampirism/util/HunterVillage.java @@ -12,8 +12,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; import net.minecraft.network.chat.Component; import net.minecraft.util.Unit; import net.minecraft.world.item.DyeColor; diff --git a/src/main/java/de/teamlapen/vampirism/util/ItemDataUtils.java b/src/main/java/de/teamlapen/vampirism/util/ItemDataUtils.java index e845b939a1..b225919dda 100644 --- a/src/main/java/de/teamlapen/vampirism/util/ItemDataUtils.java +++ b/src/main/java/de/teamlapen/vampirism/util/ItemDataUtils.java @@ -10,7 +10,6 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionContents; -import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.ItemEnchantments; diff --git a/src/main/java/de/teamlapen/vampirism/util/MixinHooks.java b/src/main/java/de/teamlapen/vampirism/util/MixinHooks.java index bcc756ad31..3282c7a856 100644 --- a/src/main/java/de/teamlapen/vampirism/util/MixinHooks.java +++ b/src/main/java/de/teamlapen/vampirism/util/MixinHooks.java @@ -1,22 +1,16 @@ package de.teamlapen.vampirism.util; import com.google.common.collect.Lists; -import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.core.ModEnchantments; -import de.teamlapen.vampirism.core.ModEntities; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.item.enchantment.EnchantmentHelper; -import net.minecraft.world.item.enchantment.ItemEnchantments; import net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece; import net.minecraft.world.level.levelgen.structure.pools.StructurePoolElement; import org.jetbrains.annotations.NotNull; import java.util.List; -import java.util.Map; public class MixinHooks { /** diff --git a/src/main/java/de/teamlapen/vampirism/util/Permissions.java b/src/main/java/de/teamlapen/vampirism/util/Permissions.java index 0b2e683f3c..609f08f2f3 100755 --- a/src/main/java/de/teamlapen/vampirism/util/Permissions.java +++ b/src/main/java/de/teamlapen/vampirism/util/Permissions.java @@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull; import java.util.Arrays; -import java.util.Objects; public class Permissions { public static final PermissionDynamicContextKey> ACTION_CONTEXT = new PermissionDynamicContextKey<>((Class>) (Object) IAction.class, "action", action -> RegUtil.id(action).toString()); diff --git a/src/main/java/de/teamlapen/vampirism/util/StreamCodecExtension.java b/src/main/java/de/teamlapen/vampirism/util/StreamCodecExtension.java index 05d97aa4b0..1402cd5593 100644 --- a/src/main/java/de/teamlapen/vampirism/util/StreamCodecExtension.java +++ b/src/main/java/de/teamlapen/vampirism/util/StreamCodecExtension.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.util; -import com.mojang.datafixers.util.Function6; import com.mojang.datafixers.util.Function7; import com.mojang.datafixers.util.Function8; import com.mojang.datafixers.util.Function9; diff --git a/src/main/java/de/teamlapen/vampirism/util/SupporterManager.java b/src/main/java/de/teamlapen/vampirism/util/SupporterManager.java index 67a5a30a81..d4dfe8bbfc 100755 --- a/src/main/java/de/teamlapen/vampirism/util/SupporterManager.java +++ b/src/main/java/de/teamlapen/vampirism/util/SupporterManager.java @@ -3,8 +3,6 @@ import de.teamlapen.vampirism.api.VReference; import de.teamlapen.vampirism.api.VampirismAPI; import de.teamlapen.vampirism.api.settings.Supporter; -import de.teamlapen.vampirism.entity.player.hunter.HunterPlayer; -import de.teamlapen.vampirism.entity.player.vampire.VampirePlayer; import net.minecraft.util.RandomSource; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/de/teamlapen/vampirism/util/TelemetryCollector.java b/src/main/java/de/teamlapen/vampirism/util/TelemetryCollector.java index 713cd47dac..0542f829de 100644 --- a/src/main/java/de/teamlapen/vampirism/util/TelemetryCollector.java +++ b/src/main/java/de/teamlapen/vampirism/util/TelemetryCollector.java @@ -2,10 +2,14 @@ import de.teamlapen.vampirism.REFERENCE; import de.teamlapen.vampirism.config.VampirismConfig; +import net.minecraft.DetectedVersion; +import net.minecraftforge.srgutils.MinecraftVersion; import net.neoforged.fml.LogicalSide; import net.neoforged.fml.ModList; +import net.neoforged.fml.VersionChecker; import net.neoforged.fml.util.thread.EffectiveSide; -import net.neoforged.neoforge.internal.versions.neoform.NeoFormVersion; +import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.internal.versions.neoforge.NeoForgeVersion; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -33,21 +37,21 @@ public static void execute() { } private static void send() { - try { + try(var http =HttpClient.newHttpClient()) { StringBuilder builder = new StringBuilder(); builder.append(REFERENCE.SETTINGS_API); builder.append("/telemetry/basic"); Map params = new HashMap<>(); params.put("mod_version", REFERENCE.VERSION.toString()); - params.put("mc_version", NeoFormVersion.getMCVersion()); + params.put("mc_version", DetectedVersion.BUILT_IN.getName()); params.put("mod_count", Integer.toString(ModList.get().size())); params.put("side", (EffectiveSide.get() == LogicalSide.CLIENT ? "client" : "server")); builder.append("?"); builder.append(params.entrySet().stream().map(s -> s.getKey() + "=" + URLEncoder.encode(s.getValue(), StandardCharsets.UTF_8)).collect(Collectors.joining("&"))); - HttpClient.newHttpClient().send(HttpRequest.newBuilder().uri(new URI(builder.toString())).build(), HttpResponse.BodyHandlers.ofString()); + http.send(HttpRequest.newBuilder().uri(new URI(builder.toString())).build(), HttpResponse.BodyHandlers.ofString()); } catch (URISyntaxException | IOException | InterruptedException e) { LOGGER.error("Failed to send telemetry data", e); } diff --git a/src/main/java/de/teamlapen/vampirism/util/ToolMaterial.java b/src/main/java/de/teamlapen/vampirism/util/ToolMaterial.java index 5df9ab9059..c54b7571b8 100644 --- a/src/main/java/de/teamlapen/vampirism/util/ToolMaterial.java +++ b/src/main/java/de/teamlapen/vampirism/util/ToolMaterial.java @@ -2,11 +2,9 @@ import de.teamlapen.vampirism.api.items.IItemWithTier; import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Tier; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.block.Block; import net.neoforged.neoforge.common.SimpleTier; -import org.jetbrains.annotations.NotNull; import java.util.function.Supplier; diff --git a/src/main/java/de/teamlapen/vampirism/util/TotemHelper.java b/src/main/java/de/teamlapen/vampirism/util/TotemHelper.java index d73d34bc91..c2f2f65143 100644 --- a/src/main/java/de/teamlapen/vampirism/util/TotemHelper.java +++ b/src/main/java/de/teamlapen/vampirism/util/TotemHelper.java @@ -217,9 +217,9 @@ public static Optional getTotemNearPos(@NotNull ServerLevel wo if (pointOfInterests.stream().noneMatch(point -> totemPositions.containsKey(point.getPos()))) { return Component.translatable("command.vampirism.test.village.no_village"); } - BlockEntity te = player.getCommandSenderWorld().getBlockEntity(totemPositions.get(pointOfInterests.get(0).getPos())); + BlockEntity te = player.getCommandSenderWorld().getBlockEntity(totemPositions.get(pointOfInterests.getFirst().getPos())); if (!(te instanceof TotemBlockEntity tile)) { - LOGGER.warn("TileEntity at {} is no TotemTileEntity", totemPositions.get(pointOfInterests.get(0).getPos())); + LOGGER.warn("TileEntity at {} is no TotemTileEntity", totemPositions.get(pointOfInterests.getFirst().getPos())); return Component.literal(""); } tile.setForcedFaction(faction); diff --git a/src/main/java/de/teamlapen/vampirism/util/VampireBookManager.java b/src/main/java/de/teamlapen/vampirism/util/VampireBookManager.java index 92ee515570..203057fa9c 100644 --- a/src/main/java/de/teamlapen/vampirism/util/VampireBookManager.java +++ b/src/main/java/de/teamlapen/vampirism/util/VampireBookManager.java @@ -10,7 +10,6 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.VampirismMod; import de.teamlapen.vampirism.core.ModItems; -import de.teamlapen.vampirism.items.VampireBookItem; import de.teamlapen.vampirism.items.component.VampireBookContents; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/de/teamlapen/vampirism/util/VampireVillage.java b/src/main/java/de/teamlapen/vampirism/util/VampireVillage.java index ecb1d2b38a..bee0e66bdd 100644 --- a/src/main/java/de/teamlapen/vampirism/util/VampireVillage.java +++ b/src/main/java/de/teamlapen/vampirism/util/VampireVillage.java @@ -12,8 +12,6 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; import net.minecraft.network.chat.Component; import net.minecraft.util.Unit; import net.minecraft.world.item.DyeColor; diff --git a/src/main/java/de/teamlapen/vampirism/util/VampirismEventFactory.java b/src/main/java/de/teamlapen/vampirism/util/VampirismEventFactory.java index ab4e5a176c..aa8739bb85 100644 --- a/src/main/java/de/teamlapen/vampirism/util/VampirismEventFactory.java +++ b/src/main/java/de/teamlapen/vampirism/util/VampirismEventFactory.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.util; -import de.teamlapen.vampirism.api.entity.factions.IFaction; import de.teamlapen.vampirism.api.entity.factions.IFactionPlayerHandler; import de.teamlapen.vampirism.api.entity.factions.IPlayableFaction; import de.teamlapen.vampirism.api.entity.player.IFactionPlayer; @@ -16,7 +15,6 @@ import de.teamlapen.vampirism.api.world.ITotem; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.npc.Villager; -import net.neoforged.bus.api.Event; import net.neoforged.neoforge.common.NeoForge; import org.apache.commons.lang3.tuple.Pair; import org.jetbrains.annotations.NotNull; diff --git a/src/main/java/de/teamlapen/vampirism/world/BloodConversionRegistry.java b/src/main/java/de/teamlapen/vampirism/world/BloodConversionRegistry.java index 05024b043f..aef393c22e 100644 --- a/src/main/java/de/teamlapen/vampirism/world/BloodConversionRegistry.java +++ b/src/main/java/de/teamlapen/vampirism/world/BloodConversionRegistry.java @@ -6,7 +6,6 @@ import de.teamlapen.vampirism.api.datamaps.IItemBlood; import de.teamlapen.vampirism.api.general.IBloodConversionRegistry; import de.teamlapen.vampirism.core.ModDataMaps; -import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.datamaps.FluidBloodConversion; import de.teamlapen.vampirism.datamaps.ItemBlood; import net.minecraft.core.registries.BuiltInRegistries; diff --git a/src/main/java/de/teamlapen/vampirism/world/LevelFog.java b/src/main/java/de/teamlapen/vampirism/world/LevelFog.java index 35401efad9..ae9ea03170 100644 --- a/src/main/java/de/teamlapen/vampirism/world/LevelFog.java +++ b/src/main/java/de/teamlapen/vampirism/world/LevelFog.java @@ -17,8 +17,13 @@ public class LevelFog implements IFogHandler { + @Deprecated public static Optional getOpt(@NotNull Level level) { - return Optional.ofNullable(level.getData(ModAttachments.LEVEL_FOG)); + return Optional.of(level.getData(ModAttachments.LEVEL_FOG)); + } + + public static LevelFog get(@NotNull Level level) { + return level.getData(ModAttachments.LEVEL_FOG); } private final Map fogAreas = new ConcurrentHashMap<>(); diff --git a/src/main/java/de/teamlapen/vampirism/world/LevelGarlic.java b/src/main/java/de/teamlapen/vampirism/world/LevelGarlic.java index 2e9b006577..4b77f67213 100644 --- a/src/main/java/de/teamlapen/vampirism/world/LevelGarlic.java +++ b/src/main/java/de/teamlapen/vampirism/world/LevelGarlic.java @@ -16,8 +16,13 @@ public class LevelGarlic implements IGarlicChunkHandler { + @Deprecated public static Optional getOpt(@NotNull Level level) { - return Optional.ofNullable(level.getData(ModAttachments.LEVEL_GARLIC)); + return Optional.of(level.getData(ModAttachments.LEVEL_GARLIC)); + } + + public static LevelGarlic get(@NotNull Level level) { + return level.getData(ModAttachments.LEVEL_GARLIC); } private final HashMap strengthHashMap = Maps.newHashMap(); diff --git a/src/main/java/de/teamlapen/vampirism/world/biome/OverworldModifications.java b/src/main/java/de/teamlapen/vampirism/world/biome/OverworldModifications.java index ee40949010..cb59f40307 100644 --- a/src/main/java/de/teamlapen/vampirism/world/biome/OverworldModifications.java +++ b/src/main/java/de/teamlapen/vampirism/world/biome/OverworldModifications.java @@ -5,7 +5,7 @@ import de.teamlapen.vampirism.core.ModBiomes; import de.teamlapen.vampirism.core.ModBlocks; import de.teamlapen.vampirism.mixin.accessor.MultiNoiseBiomeSourceParameterListPresetAccessor; -import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; +//import de.teamlapen.vampirism.modcompat.terrablender.TerraBlenderCompat; import net.minecraft.core.Holder; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; @@ -53,10 +53,11 @@ private static boolean intersects(Climate.@NotNull Parameter a, Climate.@NotNull * Add our biomes to the overworld biome source preset */ public static void addBiomesToOverworldUnsafe() { - if (TerraBlenderCompat.areBiomesAddedViaTerraBlender()) { //If we are already adding the biome to the overworld using TerraBlender, we shouldn't hack it into the overworld preset - LOGGER.info("Vampirism Biomes are added via TerraBlender. Not adding them to overworld preset."); - return; - } + // TODO readd this +// if (TerraBlenderCompat.areBiomesAddedViaTerraBlender()) { //If we are already adding the biome to the overworld using TerraBlender, we shouldn't hack it into the overworld preset +// LOGGER.info("Vampirism Biomes are added via TerraBlender. Not adding them to overworld preset."); +// return; +// } if (!VampirismConfig.COMMON.addVampireForestToOverworld.get()) { return; } @@ -67,6 +68,7 @@ public static void addBiomesToOverworldUnsafe() { */ final MultiNoiseBiomeSourceParameterList.Preset.SourceProvider originalParameterSourceFunction = ((MultiNoiseBiomeSourceParameterListPresetAccessor) (Object) MultiNoiseBiomeSourceParameterList.Preset.OVERWORLD).getProvider(); + // TODO readd this MultiNoiseBiomeSourceParameterList.Preset.SourceProvider wrapperParameterSourceFunction = new MultiNoiseBiomeSourceParameterList.Preset.SourceProvider() { @Override public Climate.ParameterList apply(Function, T> p_275485_) { diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/feature/treedecorators/TrunkCursedVineDecorator.java b/src/main/java/de/teamlapen/vampirism/world/gen/feature/treedecorators/TrunkCursedVineDecorator.java index 0fa37eccc1..42f90fd034 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/feature/treedecorators/TrunkCursedVineDecorator.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/feature/treedecorators/TrunkCursedVineDecorator.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.feature.treedecorators; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.blocks.DiagonalCursedBarkBlock; import de.teamlapen.vampirism.blocks.DirectCursedBarkBlock; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/modifier/ExtendedAddSpawnsBiomeModifier.java b/src/main/java/de/teamlapen/vampirism/world/gen/modifier/ExtendedAddSpawnsBiomeModifier.java index 424fbfebea..5b560004a2 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/modifier/ExtendedAddSpawnsBiomeModifier.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/modifier/ExtendedAddSpawnsBiomeModifier.java @@ -4,10 +4,8 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import de.teamlapen.vampirism.core.ModBiomes; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.random.Weight; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; @@ -28,7 +26,7 @@ public record ExtendedAddSpawnsBiomeModifier(HolderSet biomes, HolderSet< Biome.LIST_CODEC.fieldOf("excludedBiomes").forGetter(ExtendedAddSpawnsBiomeModifier::excludedBiomes), Codec.either(ExtendedAddSpawnsBiomeModifier.ExtendedSpawnData.CODEC.listOf(), ExtendedAddSpawnsBiomeModifier.ExtendedSpawnData.CODEC).xmap( either -> either.map(Function.identity(), List::of), // convert list/singleton to list when decoding - list -> list.size() == 1 ? Either.right(list.get(0)) : Either.left(list) // convert list to singleton/list when encoding + list -> list.size() == 1 ? Either.right(list.getFirst()) : Either.left(list) // convert list to singleton/list when encoding ).fieldOf("spawners").forGetter(ExtendedAddSpawnsBiomeModifier::spawners) ).apply(builder, ExtendedAddSpawnsBiomeModifier::new)); diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/huntercamp/HunterCampStructure.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/huntercamp/HunterCampStructure.java index ddcaa94295..079e0bf73e 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/huntercamp/HunterCampStructure.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/huntercamp/HunterCampStructure.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.structure.huntercamp; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import de.teamlapen.vampirism.world.gen.structure.StructureEx; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/mother/MotherStructure.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/mother/MotherStructure.java index 1252deb084..4cce083e4f 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/mother/MotherStructure.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/mother/MotherStructure.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.structure.mother; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import net.minecraft.world.level.levelgen.structure.SinglePieceStructure; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/BiomeTopBlockProcessor.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/BiomeTopBlockProcessor.java index 6c40534848..bd65f06096 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/BiomeTopBlockProcessor.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/BiomeTopBlockProcessor.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.structure.templatesystem; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomBlockStateRule.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomBlockStateRule.java index 10053b368d..8aa26c6ebd 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomBlockStateRule.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomBlockStateRule.java @@ -2,7 +2,6 @@ import com.google.common.collect.Lists; import com.mojang.serialization.Codec; -import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.mixin.accessor.ProcessorRuleAccessor; import net.minecraft.world.level.block.state.BlockState; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomStructureProcessor.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomStructureProcessor.java index ecd598b3a3..662438acd0 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomStructureProcessor.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/templatesystem/RandomStructureProcessor.java @@ -1,7 +1,6 @@ package de.teamlapen.vampirism.world.gen.structure.templatesystem; import com.google.common.collect.ImmutableList; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirealtar/VampireAltarStructure.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirealtar/VampireAltarStructure.java index 66bf05d634..112a04faa9 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirealtar/VampireAltarStructure.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirealtar/VampireAltarStructure.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.structure.vampirealtar; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import de.teamlapen.vampirism.world.gen.structure.StructureEx; diff --git a/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirehut/VampireHutStructure.java b/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirehut/VampireHutStructure.java index e771677075..ed3f32ac6f 100644 --- a/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirehut/VampireHutStructure.java +++ b/src/main/java/de/teamlapen/vampirism/world/gen/structure/vampirehut/VampireHutStructure.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.gen.structure.vampirehut; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.core.ModStructures; import net.minecraft.core.BlockPos; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/SmeltItemLootModifier.java b/src/main/java/de/teamlapen/vampirism/world/loot/SmeltItemLootModifier.java index 8fea54b1b8..9ade6ad5f2 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/SmeltItemLootModifier.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/SmeltItemLootModifier.java @@ -1,9 +1,7 @@ package de.teamlapen.vampirism.world.loot; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import de.teamlapen.vampirism.core.ModLoot; import de.teamlapen.vampirism.core.ModOils; import de.teamlapen.vampirism.util.OilUtils; import it.unimi.dsi.fastutil.objects.ObjectArrayList; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/FactionCondition.java b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/FactionCondition.java index ae7c0062da..a41b44614d 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/FactionCondition.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/FactionCondition.java @@ -7,7 +7,6 @@ import de.teamlapen.vampirism.api.entity.factions.IFaction; import de.teamlapen.vampirism.api.entity.factions.IFactionPlayerHandler; import de.teamlapen.vampirism.core.ModLoot; -import net.minecraft.util.ExtraCodecs; import net.minecraft.util.StringRepresentable; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/OilItemCondition.java b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/OilItemCondition.java index bd708b3844..8e7d164e4c 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/OilItemCondition.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/OilItemCondition.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.loot.conditions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.items.oil.IOil; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/StakeCondition.java b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/StakeCondition.java index 469a3eb241..a3e28c4f99 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/StakeCondition.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/StakeCondition.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.loot.conditions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.core.ModLoot; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/TentSpawnerCondition.java b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/TentSpawnerCondition.java index 07a7366910..39adce6f4b 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/conditions/TentSpawnerCondition.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/conditions/TentSpawnerCondition.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.loot.conditions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import de.teamlapen.vampirism.blockentity.TentBlockEntity; import de.teamlapen.vampirism.core.ModLoot; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/functions/AddBookNbtFunction.java b/src/main/java/de/teamlapen/vampirism/world/loot/functions/AddBookNbtFunction.java index ea2abf794f..7aaf0b75fa 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/functions/AddBookNbtFunction.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/functions/AddBookNbtFunction.java @@ -1,11 +1,9 @@ package de.teamlapen.vampirism.world.loot.functions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.VampireBookLootProvider; import de.teamlapen.vampirism.core.ModLoot; -import de.teamlapen.vampirism.items.VampireBookItem; import de.teamlapen.vampirism.items.component.VampireBookContents; import de.teamlapen.vampirism.util.VampireBookManager; import net.minecraft.world.entity.Entity; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/functions/RefinementSetFunction.java b/src/main/java/de/teamlapen/vampirism/world/loot/functions/RefinementSetFunction.java index ac434922d9..87b20ee55b 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/functions/RefinementSetFunction.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/functions/RefinementSetFunction.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.loot.functions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.entity.factions.IFaction; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetItemBloodChargeFunction.java b/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetItemBloodChargeFunction.java index 9a25086a9c..bf7b1dab51 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetItemBloodChargeFunction.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetItemBloodChargeFunction.java @@ -1,6 +1,5 @@ package de.teamlapen.vampirism.world.loot.functions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.items.IBloodChargeable; diff --git a/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetOilFunction.java b/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetOilFunction.java index c4b9df560e..f3d0ab8d8b 100644 --- a/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetOilFunction.java +++ b/src/main/java/de/teamlapen/vampirism/world/loot/functions/SetOilFunction.java @@ -1,15 +1,12 @@ package de.teamlapen.vampirism.world.loot.functions; -import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.teamlapen.vampirism.api.items.oil.IOil; import de.teamlapen.vampirism.core.ModLoot; import de.teamlapen.vampirism.core.ModRegistries; import de.teamlapen.vampirism.util.ItemDataUtils; -import de.teamlapen.vampirism.util.OilUtils; import net.minecraft.core.Holder; -import net.minecraft.util.ExtraCodecs; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.functions.LootItemConditionalFunction; @@ -17,7 +14,6 @@ import net.minecraft.world.level.storage.loot.predicates.LootItemCondition; import org.jetbrains.annotations.NotNull; -import java.util.Collection; import java.util.List; import java.util.Optional;