The Fisrt Updated

This commit is contained in:
2026-01-25 13:51:15 +08:00
commit 0b71e2d301
22 changed files with 1889 additions and 0 deletions

189
CreateE_Server.py Normal file
View File

@@ -0,0 +1,189 @@
import Mil
import random
import time
import os
class CreateE_Server(Mil.MCROCN):
def __init__(self, host, password, port, debug=True):
super().__init__(host, password, port, debug=debug)
CreateE_User=CreateE_Server(host="mc.gvsds.com", password="1Qq@1Qq@190*", port=25567)
if not CreateE_User.Connect(): exit()
#CreateE_User.Speak(f"{"="*5} Welcome to use CreateE_Server SYSTEM {"="*5}", "green")
#CreateE_User.Speak("<CreateE_Server> The Python program has connected to the RCON port at 25566")
# CreateE_User.SetTitle("@a", "CreateE Server")
#print(CreateE_User.Execute("as", "@a", "at", "@s", "run", CreateE_User.Particle("minecraft:lava", RelativePos(), Delta(), 1, 100, "force", "@a", astext=True), astext=False))
#while True:
# CreateE_User.Execute("as", "MXYYSH2", "at", "@s", "run", CreateE_User.Particle("minecraft:end_rod", RelativePos(f"~", f"~", f"~"), Delta(), 0, 1, "force", "@a", astext=True))
# 参数设置
#num_points = 1000 # 点数
#theta_max = 2 * np.pi # 旋转角度范围
#height_max = 20 # 最大高度
# 生成参数t从0到1
#t = np.linspace(0, 1, num_points)
# 计算螺旋线坐标
#theta = theta_max * t # 角度
#z = height_max * t # 高度线性增加
#r = z # 半径随高度增加而增加(锥形螺旋)
#x = r * np.cos(theta)
#y = r * np.sin(theta)
# 将坐标组合成数组
#spiral_points = np.column_stack((x, y, z))
# 打印前10个点
#for i in range(1000):
# _=spiral_points[i]
# x, y, z=_[0], _[1], _[2]
# print(CreateE_User.Execute("as", "MXYYSH1", "at", "@s", "run", CreateE_User.Particle("minecraft:end_rod", RelativePos(f"~{x}", f"~{y+20}", f"~{z}"), Delta(), 0, 1, "force", "@a", astext=True), astext=False))
#print(CreateE_User.Execute("as", "yrzd6", "at", "@s", "run", CreateE_User.Particle("minecraft:end_rod", Mil.RelativePos(f"~", f"~", f"~"), Mil.Delta(), 10, 10000, "force", "@a", astext=True), astext=False))
#user="@a"
#for i in range(500, -1, -1):
# if i % 2 == 0: CreateE_User.SetTitle(user, "I SEE U", "red")
# CreateE_User.SetSubTitle(user, f"I'm Looking For U, So Hide Well! Count {i}", "red")
# time.sleep(0.2)
#time.sleep(1)
#CreateE_User.SetTitle(user, "0", "red")
#CreateE_User.SetSubTitle(user, "0", "red")
#time.sleep(5)
#CreateE_User.Execute("as", "@a", "at", "@s", "run", "tp @s ~ ~100 ~")
#time.sleep(5)
#CreateE_User.Execute("as", "@a", "at", "@s", "run", "kill @s")
#_=CreateE_User.Data("get", "entity", "MXYYSH1")
#CreateE_User.Gamemode("creative")
#201 68 -275
#201 68 -237
#for i in range(2369, 2750):
# CreateE_User.Particle("minecraft:lava", Mil.RelativePos(f"201", f"66", f"-{i/10}"), Mil.Delta(), 1, 100, "force", "@a", astext=False)
#CreateE_User.Weather("clear")
#215 81 -368
#200 90 -373
#198 69 -362
#256 66 -174
#254 62 -183
#s=Mil.Milib._Pos1ToPos2WithPoints(600, 0,
# Mil.Milib.RelativePos(276, 83, -175),
# Mil.Milib.RelativePos(218, 63, -189),
# Mil.Milib.RelativePos(189, 73, -161)
# )
#s=Mil.Milib._Pos1ToPos2WithPoints(50, 0,
# Mil.Milib.RelativePos(256, 66, -174),
# Mil.Milib.RelativePos(254, 62, -183),
# )
#print(s)
#for i in s:
# print(i.x, i.y, i.z)
# CreateE_User.Particle("minecraft:end_rod", Mil.Milib.RelativePos(f"{i.x}", f"{i.y}", f"{i.z}"), Mil.Milib.Delta(), 0, 150, "force", "@a", astext=False)
#for i in range(3000):
# CreateE_User.Execute("as", "yrzd6", "at", "@s", "facing", Mil.Milib.LocalCoordinatesPos("^1", "^", "^"), "run", CreateE_User.Tp(Mil.Milib.RelativePos(), astext=True))
#while True:
# CreateE_User.Kill("@e[type=tnt]")
#s=CreateE_User.Data("get", "entity", "MXYYSH1")
summon_pos=[
Mil.Milib.RelativePos(95, 81, 3),
Mil.Milib.RelativePos(146, 81, 15),
Mil.Milib.RelativePos(96, 81, 38),
Mil.Milib.RelativePos(65, 81, -1),
]
# NV_NUMBER = 1000
GC_NUMBER = 10000
'''
CreateE_User.SbSpeakRaw("赛方", [{"text":"========== 本次 ", "color":"green"}, {"text":"1v300女巫大赛", "color":"red"}, {"text":" 即将开始 ==========", "color":"green"}])
time.sleep(5)
CreateE_User.SbSpeak("赛方", "请各位稍安勿躁。")
time.sleep(5)
CreateE_User.SbSpeak("赛方", "本次比赛由选手 zhui_er 和 300 只女巫进行比拼。")
time.sleep(5)
CreateE_User.SbSpeak("赛方", f"胜利后每人可获得 { GC_NUMBER } GC游戏货币用于购买游戏商店内的优质物品。")
time.sleep(6)
CreateE_User.SbSpeak("赛方", "失败后每人可获得 50 + 250 * 波数 GC游戏货币用于购买游戏商店内的优质物品。")
time.sleep(6)
CreateE_User.SbSpeak("赛方", "允许使用药水、盾牌等不允许使用飞行、作弊、挖掘、放置、TNT等明显破坏平衡性的功能。")
time.sleep(7)
CreateE_User.SbSpeak("赛方", "如果死亡不可复活。")
time.sleep(5)
CreateE_User.SbSpeak("赛方", "女巫总共有6波每波50只女巫每波会随机生成十小波每小波女巫有5只女巫间隔随机时间 0-10 秒生成,每波间隔三分钟。")
time.sleep(5)
CreateE_User.SbSpeak("赛方", "本页面程序由 CreateE 《 基于 Python 的 我的世界 RCON 核心支持库(Mil Minecraft RCON Core Library For Python》 和 其作者 TermiNexusMXYYSH1的大力支持")
time.sleep(10)
CreateE_User.SbSpeak("赛方", "我宣布,本次比赛正式开始,十秒后开始生成")
CreateE_User.Bossbar("add", "minecraft:1", '[{"text":"==","color":"red"},{"text":"====","obfuscated":true,"color":"red"},{"text":"==","color":"red"},{"text":" 1","color":"blue"},{"text":"v","color":"yellow"},{"text":"300","color":"red"},{"text":" \u5973\u5deb","color":"dark_red"},{"text":"\u5927\u8d5b","color":"dark_green"},{"text":" \u751f\u6210","color":"gold"},{"text":"\u8fdb\u5ea6","color":"green"},{"text":" ==","color":"red"},{"text":"====","obfuscated":true,"color":"red"},{"text":"==","color":"red"}]')
CreateE_User.Bossbar("set", "minecraft:1", "color", "red")
CreateE_User.Bossbar("set", "minecraft:1", "max", "300")
CreateE_User.Bossbar("set", "minecraft:1", "style", "notched_20")
CreateE_User.Bossbar("set", "minecraft:1", "players", "@a")
CreateE_User.Bossbar("set", "minecraft:1", "visible", "true")
for _ in range(10, -1, -1):
CreateE_User.SbSpeak("赛方", f"{_} 秒后开始生成")
time.sleep(1)'''
CreateE_User.Bossbar("add", "minecraft:1", '[{"text":"==","color":"red"},{"text":"====","obfuscated":true,"color":"red"},{"text":"==","color":"red"},{"text":" 1","color":"blue"},{"text":"v","color":"yellow"},{"text":"300","color":"red"},{"text":" \u5973\u5deb","color":"dark_red"},{"text":"\u5927\u8d5b","color":"dark_green"},{"text":" \u751f\u6210","color":"gold"},{"text":"\u8fdb\u5ea6","color":"green"},{"text":" ==","color":"red"},{"text":"====","obfuscated":true,"color":"red"},{"text":"==","color":"red"}]')
CreateE_User.Bossbar("set", "minecraft:1", "color", "red")
CreateE_User.Bossbar("set", "minecraft:1", "max", "300")
CreateE_User.Bossbar("set", "minecraft:1", "style", "notched_20")
CreateE_User.Bossbar("set", "minecraft:1", "players", "@a")
CreateE_User.Bossbar("set", "minecraft:1", "visible", "true")
B=1
SummonCount=(B-1)*10
for i in range(B, 6+1):
CreateE_User.SbSpeak("赛方", f"开始生成第 {i} 波女巫,请选手准备迎敌!")
CreateE_User.SetTitle("@a", f"{i} 波!", "red")
StartRandomTime=random.uniform(0.0, 2.0)
LastRandomTime=StartRandomTime + random.uniform(0, 10.0)
for _ in range(5):
RPos = random.choice(summon_pos)
CreateE_User.SbSpeak("赛方", f"有一小波女巫生成在了 {RPos}")
for _ in range(5):
CreateE_User._RunCommand(f"execute in myid:1 run summon minecraft:witch {RPos}")
SummonCount+=1
CreateE_User.Bossbar("set", "minecraft:1", "value", f"{SummonCount}")
time.sleep(random.uniform(StartRandomTime, LastRandomTime))
CreateE_User.SbSpeak("赛方", f"{i} 波女巫生成已结束,{"本次比赛已结束" if i == 20 else ("开始 300 秒 中场休息" if i == 10 else "开始 90 秒休息。")}")
time.sleep(0 if i == 20 else (270 if i == 10 else 70))
if i != 20:
CreateE_User.SbSpeak("赛方", "还有30秒。")
time.sleep(20)
CreateE_User.SbSpeak("赛方", "最后10秒做好准备")
time.sleep(10)
CreateE_User.SbSpeak("赛方", "生成已结束!请迅速解决剩余残孽。")
CreateE_User.SetTitle("@a", "生成完毕!", "green")
com=input("OK?> ")
if com == "Y":
CreateE_User.SbSpeak("赛方", "恭喜各位完成本次比赛!!!")
time.sleep(5)
CreateE_User.SbSpeak("赛方", f"诸位凭借自己的实力赢得了 {GC_NUMBER} GC")
else:
CreateE_User.SbSpeakRaw("赛方", "对不起,你们失败了!", "red")
time.sleep(5)
CreateE_User.SbSpeak("赛方", "我们下次再见!")
time.sleep(5)
CreateE_User.SbSpeak("赛方", "我正式宣布比赛结束!")
CreateE_User.disconnect()