public static TagCompound Merge(TagCompound parent, TagCompound left, TagCompound right) { CompoundDiff leftDiff = Diff(parent, left); CompoundDiff rightDiff = Diff(parent, right); CompoundDiff diff = CompoundDiff.Merge(leftDiff, rightDiff); TagCompound res = parent.DeepCopy(); diff.Apply(res); return(res); }
public static TagCompound MergeDetailed(TagCompound parent, TagCompound left, TagCompound right, out CompoundDiff leftDiff, out CompoundDiff rightDiff, out CompoundDiff mergedDiff) { leftDiff = Diff(parent, left); rightDiff = Diff(parent, right); mergedDiff = CompoundDiff.Merge(leftDiff, rightDiff); TagCompound res = parent.DeepCopy(); mergedDiff.Apply(res); return(res); }
public static TagCompound MergeDetailed(TagCompound parent, TagCompound left, TagCompound right, out CompoundDiff leftDiff, out CompoundDiff rightDiff, out CompoundDiff mergedDiff) { leftDiff = Diff(parent, left); rightDiff = Diff(parent, right); mergedDiff = CompoundDiff.Merge(leftDiff, rightDiff); TagCompound res = parent.DeepCopy(); mergedDiff.Apply(res); return res; }