A python api made for more-particle mod
- 避免手打指令字符串,全部封装成了接口,极大程度上减少了语法错误
- 基于对more-particle的封装,可以更加方便地进行粒子制作和表达式编写,会自动生成表达式到mcfunction
- 转换逻辑事件为mcfunction,你无需直接操作mcfunction,只需调用api的方法即可
from mp_api import Save, ColorLifeParticle, ParticleEvent, CColor, MCFunction
# 加载一个存档
world = Save(
path="path/to/world",
datapack='datapack_name',
namespace='namespace',
)
# 实例化一个粒子
p = ColorLifeParticle(
color=CColor.WHITE
)
# 创建一个粒子事件
pe = ParticleEvent(
particle=p,
pos=(0, 0, 0),
speed=(0, 0, 0),
count=1,
)
# 创建一个mcfunction用于存放事件
func = MCFunction(
name='test',
)
func.add_events(pe)
world.add_function(func)
进入游戏后,使用/function namespace:test
即可看到粒子效果
-
说明 实例化颜色类
-
参数
color
符合规范的颜色输入或一个颜色实例化的对象,详细可以参考mp_api.mp_typing.T_Color
-
def
get_int(self, alpha: bool = False) -> int
获取颜色的整数表示- 参数
alpha
是否包含透明度
- 返回值
int
颜色的整数表示
- 参数
-
def
get_hex(self, alpha: bool = True, hashtag: bool = True) -> str
获取颜色的十六进制表示- 参数
alpha
是否包含透明度hashtag
是否包含#
- 返回值
str
颜色的十六进制表示
- 参数
-
def
get_tuple(self, alpha: bool = False) -> T_RGB | T_ARGB
获取颜色的元组表示- 参数
alpha
是否包含透明度
- 返回值
T_RGB | T_ARGB
颜色的元组表示
- 参数
-
def
gradient_interpolation(self, other: T_Color | Color, p: float) -> Color
获取两个颜色的插值- 参数
color
略p
插值系数 0~1
- 返回值
Color
插值后的颜色
- 参数
- 说明 颜色类,用于存放一些常用颜色
- attribute
BLACK: Color
黑色WHITE: Color
白色RED: Color
红色GREEN: Color
绿色BLUE: Color
蓝色YELLOW: Color
黄色CYAN: Color
青色MAGENTA: Color
洋红色ORANGE: Color
橙色PURPLE: Color
紫色PINK: Color
粉色GRAY: Color
灰色BROWN: Color
棕色
- 说明 事件基类
- def
__init__(self, time: int = 0)
- 参数
time
事件发生的时间
- 参数
- property
command
事件的命令
- 说明 execute事件
- def
__init__(self, sub_commands: List[str], run_event: BaseEvent, **kwargs)
- 说明 实例化execute事件
- 参数
sub_commands
execute的子命令run_event
执行的事件**kwargs
调用基类super()方法的传参
- 返回
None