mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-23 12:42:22 -04:00
Fix blockprops from gui not updating loaded levels. Partially addresses #473, still need to fix /blockprops.
This commit is contained in:
parent
5f8827a575
commit
253cb65f85
@ -178,10 +178,15 @@ namespace MCGalaxy {
|
|||||||
public static void SetBlocks() {
|
public static void SetBlocks() {
|
||||||
SetCoreProperties();
|
SetCoreProperties();
|
||||||
BlockProps.Load("core", Block.Props, false);
|
BlockProps.Load("core", Block.Props, false);
|
||||||
|
BlockDefinition.UpdateGlobalBlockProps();
|
||||||
BlockPerms.Load();
|
BlockPerms.Load();
|
||||||
|
UpdateLoadedLevels();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void UpdateLoadedLevels() {
|
||||||
Level[] loaded = LevelInfo.Loaded.Items;
|
Level[] loaded = LevelInfo.Loaded.Items;
|
||||||
foreach (Level lvl in loaded) {
|
foreach (Level lvl in loaded) {
|
||||||
|
lvl.UpdateBlockProps();
|
||||||
lvl.UpdateBlockHandlers();
|
lvl.UpdateBlockHandlers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ namespace MCGalaxy {
|
|||||||
public const string GlobalPath = "blockdefs/global.json", GlobalBackupPath = "blockdefs/global.json.bak";
|
public const string GlobalPath = "blockdefs/global.json", GlobalBackupPath = "blockdefs/global.json.bak";
|
||||||
|
|
||||||
public static BlockDefinition[] GlobalDefs;
|
public static BlockDefinition[] GlobalDefs;
|
||||||
public static Blocks.BlockProps[] GlobalProps;
|
public static BlockProps[] GlobalProps = new BlockProps[Block.Count * 2];
|
||||||
|
|
||||||
public BlockDefinition Copy() {
|
public BlockDefinition Copy() {
|
||||||
BlockDefinition def = new BlockDefinition();
|
BlockDefinition def = new BlockDefinition();
|
||||||
@ -134,8 +134,7 @@ namespace MCGalaxy {
|
|||||||
if (oldDefs != null) UpdateLoadedLevels(oldDefs);
|
if (oldDefs != null) UpdateLoadedLevels(oldDefs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LoadGlobalProps() {
|
public static void UpdateGlobalBlockProps() {
|
||||||
GlobalProps = new BlockProps[Block.Count * 2];
|
|
||||||
for (int i = 0; i < Block.Count; i++) {
|
for (int i = 0; i < Block.Count; i++) {
|
||||||
GlobalProps[i] = Block.Props[i];
|
GlobalProps[i] = Block.Props[i];
|
||||||
GlobalProps[i + Block.Count] = BlockProps.MakeDefault();
|
GlobalProps[i + Block.Count] = BlockProps.MakeDefault();
|
||||||
|
@ -382,7 +382,7 @@ namespace MCGalaxy {
|
|||||||
lvl.UpdateCustomBlock((byte)i, defs[i]);
|
lvl.UpdateCustomBlock((byte)i, defs[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
MCGalaxy.Blocks.BlockProps.Load("lvl_" + lvl.MapName, lvl.BlockProps, true);
|
lvl.UpdateBlockProps();
|
||||||
lvl.UpdateBlockHandlers();
|
lvl.UpdateBlockHandlers();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -470,6 +470,13 @@ namespace MCGalaxy {
|
|||||||
public ushort smallX, smallY, smallZ;
|
public ushort smallX, smallY, smallZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateBlockProps() {
|
||||||
|
for (int i = 0; i < BlockProps.Length; i++) {
|
||||||
|
BlockProps[i] = BlockDefinition.GlobalProps[i];
|
||||||
|
}
|
||||||
|
MCGalaxy.Blocks.BlockProps.Load("lvl_" + MapName, BlockProps, true);
|
||||||
|
}
|
||||||
|
|
||||||
public void UpdateBlockHandlers() {
|
public void UpdateBlockHandlers() {
|
||||||
for (int i = 0; i < BlockProps.Length; i++) {
|
for (int i = 0; i < BlockProps.Length; i++) {
|
||||||
UpdateBlockHandler(ExtBlock.FromIndex(i));
|
UpdateBlockHandler(ExtBlock.FromIndex(i));
|
||||||
|
@ -203,7 +203,7 @@ namespace MCGalaxy {
|
|||||||
Command.InitAll();
|
Command.InitAll();
|
||||||
CommandPerms.Load();
|
CommandPerms.Load();
|
||||||
Block.SetBlocks();
|
Block.SetBlocks();
|
||||||
BlockDefinition.LoadGlobalProps();
|
BlockDefinition.UpdateGlobalBlockProps();
|
||||||
Awards.Load();
|
Awards.Load();
|
||||||
Economy.Load();
|
Economy.Load();
|
||||||
WarpList.Global.Load(null);
|
WarpList.Global.Load(null);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user