mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-23 04:32:50 -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() {
|
||||
SetCoreProperties();
|
||||
BlockProps.Load("core", Block.Props, false);
|
||||
BlockDefinition.UpdateGlobalBlockProps();
|
||||
BlockPerms.Load();
|
||||
UpdateLoadedLevels();
|
||||
}
|
||||
|
||||
public static void UpdateLoadedLevels() {
|
||||
Level[] loaded = LevelInfo.Loaded.Items;
|
||||
foreach (Level lvl in loaded) {
|
||||
lvl.UpdateBlockProps();
|
||||
lvl.UpdateBlockHandlers();
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ namespace MCGalaxy {
|
||||
public const string GlobalPath = "blockdefs/global.json", GlobalBackupPath = "blockdefs/global.json.bak";
|
||||
|
||||
public static BlockDefinition[] GlobalDefs;
|
||||
public static Blocks.BlockProps[] GlobalProps;
|
||||
public static BlockProps[] GlobalProps = new BlockProps[Block.Count * 2];
|
||||
|
||||
public BlockDefinition Copy() {
|
||||
BlockDefinition def = new BlockDefinition();
|
||||
@ -134,8 +134,7 @@ namespace MCGalaxy {
|
||||
if (oldDefs != null) UpdateLoadedLevels(oldDefs);
|
||||
}
|
||||
|
||||
public static void LoadGlobalProps() {
|
||||
GlobalProps = new BlockProps[Block.Count * 2];
|
||||
public static void UpdateGlobalBlockProps() {
|
||||
for (int i = 0; i < Block.Count; i++) {
|
||||
GlobalProps[i] = Block.Props[i];
|
||||
GlobalProps[i + Block.Count] = BlockProps.MakeDefault();
|
||||
|
@ -382,7 +382,7 @@ namespace MCGalaxy {
|
||||
lvl.UpdateCustomBlock((byte)i, defs[i]);
|
||||
}
|
||||
|
||||
MCGalaxy.Blocks.BlockProps.Load("lvl_" + lvl.MapName, lvl.BlockProps, true);
|
||||
lvl.UpdateBlockProps();
|
||||
lvl.UpdateBlockHandlers();
|
||||
}
|
||||
|
||||
@ -470,6 +470,13 @@ namespace MCGalaxy {
|
||||
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() {
|
||||
for (int i = 0; i < BlockProps.Length; i++) {
|
||||
UpdateBlockHandler(ExtBlock.FromIndex(i));
|
||||
|
@ -203,7 +203,7 @@ namespace MCGalaxy {
|
||||
Command.InitAll();
|
||||
CommandPerms.Load();
|
||||
Block.SetBlocks();
|
||||
BlockDefinition.LoadGlobalProps();
|
||||
BlockDefinition.UpdateGlobalBlockProps();
|
||||
Awards.Load();
|
||||
Economy.Load();
|
||||
WarpList.Global.Load(null);
|
||||
|
Loading…
x
Reference in New Issue
Block a user