视差库

视差库

一个为ParallaxLib模组共用的库,也向所有想使用它的其他模组创作者开放。这个高效的库旨在通过简化一些功能来减轻开发者的工作量。不要搞乱各种函数、导入等。使用ParallaxLib。

基础库

ParallaxLib - Parallax Studios 模组的核心库

更新即将发布,请耐心等待。

ParallaxLib 是所有由 Parallax Studios 开发的模组共享的库,旨在通过集中化核心功能来简化开发流程并提升性能。

🌟 为什么要使用 ParallaxLib?

🚀 更快的开发速度 – 提供共享代码,减少我们模组之间的冗余。

🔗 无缝集成 – 允许其他 Parallax Studios 模组无缝协作(即将推出!)

📦 高效的数据处理 – 存储玩家数据,如生命值、饥饿值、药水效果和物品栏,以便我们的模组快速访问。

PotionHandler 文档

如何将 PotionHandler 导入你的项目

import me.parallax.PotionHandler;

PotionHandler 是你在 Minecraft Forge 模组中轻松为实体施加药水效果的实用工具类。它按名称映射了所有已注册的 MobEffect,因此你可以直接通过字符串名称来施加效果——无需在各处引用原始的 MobEffect 实例。

工作原理——基础

效果注册表: PotionHandler 在内部构建了一个映射,将所有已注册的药水效果名称(如 "speed"、"strength" 等)映射到对应的 MobEffect 实例。这在静态代码块中自动完成。 获取效果:

MobEffect speedEffect = PotionHandler.getEffect("speed");

施加单个效果:

// entity = 某个 LivingEntity(玩家、生物等)
// duration 以刻为单位(20 刻 = 1 秒)
// amplifier = 药水等级 - 1(因此 0 表示 1 级)
PotionHandler.applyEffect(entity, "strength", 200, 1, true, false);

施加多个效果:

List<MobEffectInstance> effects = List.of(
  new MobEffectInstance(PotionHandler.getEffect("speed"), 300, 2),
  new MobEffectInstance(PotionHandler.getEffect("jump_boost"), 300, 1)
);
PotionHandler.applyEffects(entity, effects);

API 详解

public static MobEffect getEffect(String name)

  • 输入:药水效果名称(不区分大小写,例如 "speed"、"fire_resistance"、"haste")。
  • 返回:对应的 MobEffect,如果未找到则返回 null。

public static void applyEffect(LivingEntity entity, String effectName, int durationTicks, int amplifier, boolean showParticles, boolean isAmbient)

  • 按名称对给定实体施加药水效果。
  • 参数:
    • entity:要施加增益/减益的实体。
    • effectName:效果的字符串名称。
    • durationTicks:效果持续的时间,以刻为单位(20 刻 = 1 秒)。
    • amplifier:效果强度等级减一(0 = 1 级,1 = 2 级,以此类推)。
    • showParticles:是否显示药水粒子。
    • isAmbient:效果是否为环境效果(通常信标等为 true)。
  • 如果效果名称未知,则向控制台打印错误。

public static void applyEffects(LivingEntity entity, List effects)

  • 对实体施加一组 MobEffectInstance。
  • 如果你已经准备好了 MobEffectInstance,这会很方便。

📚 ItemIDGet 文档 🛠️

欢迎来到 ItemIDGet 文档!这个实用工具类是你在 Minecraft 模组中获取物品 ID 和命名空间信息的首选工具。无论你处理的是 ItemStack 还是纯物品 ID 字符串,这个类都能帮你快速获取所需信息。🚀

✨ 如何使用 ItemIDGet ✨ 要开始使用 ItemIDGet,你需要将其导入到你的项目中。别担心,很简单!只需在文件顶部添加:

import me.parallax.ItemIDGet;

🛠️ 可用方法 🛠️

  1. getId(ItemStack stack) 📜

描述:获取 ItemStack 的完整物品 ID。 用法:传入一个 ItemStack,以字符串形式获取物品 ID。 示例:

ItemStack stack = new ItemStack(Items.DIAMOND_SWORD);
String itemId = ItemIDGet.getId(stack);
System.out.println(itemId); // 输出:minecraft:diamond_sword
  1. getNamespace(ItemStack stack) 🌐

描述:从 ItemStack 获取物品的命名空间。 用法:传入一个 ItemStack,获取命名空间(如 minecraft、modid 等)。 示例:

String namespace = ItemIDGet.getNamespace(stack);
System.out.println(namespace); // 输出:minecraft

🔧 如何检查模组是否已加载 🚀 如果你想检查游戏中是否加载了某个模组,可以使用 isModLoaded 方法。

isModLoaded(String modid) ⚙️

描述:检查具有指定 ID 的模组是否已加载。 用法:传入模组 ID 字符串(例如 "minecraft")。 示例:

boolean isLoaded = ItemIDGet.isModLoaded("minecraft");
System.out.println(isLoaded); // 输出:true 或 false

🔑 关键说明 重要:ItemIDGet 设计用于直接处理物品 ID(例如 minecraft:diamond_block),但我们也添加了一个方法来处理 ItemStack。不过如果你只有字符串,就不需要 ItemStack 了。🎉 如果你在处理模组,你也可以用 isModLoaded() 方法检查它们是否已加载!🔍 🎉 结语 就这些!🎉 ItemIDGet 是一个便捷的工具,可简化在 Minecraft 模组中获取物品信息的过程。无论你处理的是 ItemStack 对象,还是只需要快速查找物品 ID,这个类都能满足你的需求。🚀

欢迎在你自己的模组中使用它,如有任何问题请告诉我们。祝你模组开发愉快!👾

如果某个 Parallax Studios 模组在其依赖项中或描述中的任何位置特别列出了 ParallaxLib,则意味着 ParallaxLib 是该模组运行所必需的。