ForgePatch/patches/minecraft/net/minecraft/world/storage/WorldInfo.java.patch

46 lines
2.0 KiB
Diff

--- ../src-base/minecraft/net/minecraft/world/storage/WorldInfo.java
+++ ../src-work/minecraft/net/minecraft/world/storage/WorldInfo.java
@@ -66,6 +66,7 @@
private int field_176155_J = 15;
private final Map<DimensionType, NBTTagCompound> field_186348_N = Maps.newEnumMap(DimensionType.class);
private GameRules field_82577_x = new GameRules();
+ private java.util.Map<String, net.minecraft.nbt.NBTBase> additionalProperties;
protected WorldInfo()
{
@@ -335,6 +336,7 @@
nbttagcompound.func_74757_a("Snapshot", false);
p_76064_1_.func_74782_a("Version", nbttagcompound);
p_76064_1_.func_74768_a("DataVersion", 819);
+ net.minecraftforge.fml.common.FMLCommonHandler.instance().getDataFixer().writeVersionData(p_76064_1_);
p_76064_1_.func_74772_a("RandomSeed", this.field_76100_a);
p_76064_1_.func_74778_a("generatorName", this.field_76098_b.func_77127_a());
p_76064_1_.func_74768_a("generatorVersion", this.field_76098_b.func_77131_c());
@@ -807,6 +809,26 @@
});
}
+ /**
+ * Allow access to additional mod specific world based properties
+ * Used by FML to store mod list associated with a world, and maybe an id map
+ * Used by Forge to store the dimensions available to a world
+ * @param additionalProperties
+ */
+ public void setAdditionalProperties(java.util.Map<String,net.minecraft.nbt.NBTBase> additionalProperties)
+ {
+ // one time set for this
+ if (this.additionalProperties == null)
+ {
+ this.additionalProperties = additionalProperties;
+ }
+ }
+
+ public net.minecraft.nbt.NBTBase getAdditionalProperty(String additionalProperty)
+ {
+ return this.additionalProperties!=null? this.additionalProperties.get(additionalProperty) : null;
+ }
+
public NBTTagCompound func_186347_a(DimensionType p_186347_1_)
{
NBTTagCompound nbttagcompound = (NBTTagCompound)this.field_186348_N.get(p_186347_1_);