Add AbstractGameRule.cs & derived classes

This commit is contained in:
miku-666
2025-11-09 22:45:29 +01:00
parent 56e381af24
commit dc69ddc433
9 changed files with 251 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using System.Threading.Tasks;
using OMI.Formats.GameRule;
namespace PckStudio.Core.GameRule
{
internal sealed class UpdatePlayer : AbstractGameRule
{
private Vector3 _spawn;
private Vector2 _rot;
public UpdatePlayer(Vector3 spawn, Vector2 rot)
{
_spawn = spawn;
_rot = rot;
}
protected override GameRuleFile.GameRule GetGameRule()
{
var gameRule = new GameRuleFile.GameRule("UpdatePlayer");
gameRule.AddParameters(
new GameRuleFile.IntParameter("x", (int)_spawn.X),
new GameRuleFile.IntParameter("y", (int)_spawn.Y),
new GameRuleFile.IntParameter("z", (int)_spawn.Z),
new GameRuleFile.IntParameter("xRot", (int)_rot.X),
new GameRuleFile.IntParameter("yRot", (int)_rot.Y)
);
return gameRule;
}
}
}