예제 #1
0
 public void a(ONBTTagCompound onbttagcompound) {
   this.c = onbttagcompound.d("xTile");
   this.d = onbttagcompound.d("yTile");
   this.e = onbttagcompound.d("zTile");
   this.f = onbttagcompound.c("inTile") & 255;
   this.b = onbttagcompound.c("shake") & 255;
   this.a = onbttagcompound.c("inGround") == 1;
   this.h = onbttagcompound.i("ownerName");
   if (this.h != null && this.h.length() == 0) {
     this.h = null;
   }
 }
예제 #2
0
  protected OChunk a(OWorld oworld, int i, int j, ONBTTagCompound onbttagcompound) {
    if (!onbttagcompound.c("Level")) {
      System.out.println("Chunk file at " + i + "," + j + " is missing level data, skipping");
      return null;
    } else if (!onbttagcompound.m("Level").c("Sections")) {
      System.out.println("Chunk file at " + i + "," + j + " is missing block data, skipping");
      return null;
    } else {
      OChunk ochunk = this.a(oworld, onbttagcompound.m("Level"));

      if (!ochunk.a(i, j)) {
        System.out.println(
            "Chunk file at "
                + i
                + ","
                + j
                + " is in the wrong location; relocating. (Expected "
                + i
                + ", "
                + j
                + ", got "
                + ochunk.g
                + ", "
                + ochunk.h
                + ")");
        onbttagcompound.a("xPos", i);
        onbttagcompound.a("zPos", j);
        ochunk = this.a(oworld, onbttagcompound.m("Level"));
      }

      ochunk.i();
      return ochunk;
    }
  }
예제 #3
0
 @Override
 public void a(ONBTTagCompound var1) {
   super.a(var1);
   if (var1.c("playerGameType")) {
     this.c.a(var1.f("playerGameType"));
   }
 }
예제 #4
0
  private OChunk a(OWorld oworld, ONBTTagCompound onbttagcompound) {
    int i = onbttagcompound.f("xPos");
    int j = onbttagcompound.f("zPos");
    OChunk ochunk = new OChunk(oworld, i, j);

    ochunk.f = onbttagcompound.l("HeightMap");
    ochunk.k = onbttagcompound.o("TerrainPopulated");
    ONBTTagList onbttaglist = onbttagcompound.n("Sections");
    byte b0 = 16;
    OExtendedBlockStorage[] aoextendedblockstorage = new OExtendedBlockStorage[b0];

    for (int k = 0; k < onbttaglist.d(); ++k) {
      ONBTTagCompound onbttagcompound1 = (ONBTTagCompound) onbttaglist.a(k);
      byte b1 = onbttagcompound1.d("Y");
      OExtendedBlockStorage oextendedblockstorage = new OExtendedBlockStorage(b1 << 4);

      oextendedblockstorage.a(onbttagcompound1.k("Blocks"));
      if (onbttagcompound1.c("Add")) {
        oextendedblockstorage.a(new ONibbleArray(onbttagcompound1.k("Add"), 4));
      }

      oextendedblockstorage.b(new ONibbleArray(onbttagcompound1.k("Data"), 4));
      oextendedblockstorage.d(new ONibbleArray(onbttagcompound1.k("SkyLight"), 4));
      oextendedblockstorage.c(new ONibbleArray(onbttagcompound1.k("BlockLight"), 4));
      oextendedblockstorage.d();
      aoextendedblockstorage[b1] = oextendedblockstorage;
    }

    ochunk.a(aoextendedblockstorage);
    if (onbttagcompound.c("Biomes")) {
      ochunk.a(onbttagcompound.k("Biomes"));
    }

    ONBTTagList onbttaglist1 = onbttagcompound.n("Entities");

    if (onbttaglist1 != null) {
      for (int l = 0; l < onbttaglist1.d(); ++l) {
        ONBTTagCompound onbttagcompound2 = (ONBTTagCompound) onbttaglist1.a(l);
        OEntity oentity = OEntityList.a(onbttagcompound2, oworld);

        ochunk.m = true;
        if (oentity != null) {
          ochunk.a(oentity);
        }
      }
    }

    ONBTTagList onbttaglist2 = onbttagcompound.n("TileEntities");

    if (onbttaglist2 != null) {
      for (int i1 = 0; i1 < onbttaglist2.d(); ++i1) {
        ONBTTagCompound onbttagcompound3 = (ONBTTagCompound) onbttaglist2.a(i1);
        OTileEntity otileentity = OTileEntity.c(onbttagcompound3);

        if (otileentity != null) {
          ochunk.a(otileentity);
        }
      }
    }

    if (onbttagcompound.c("TileTicks")) {
      ONBTTagList onbttaglist3 = onbttagcompound.n("TileTicks");

      if (onbttaglist3 != null) {
        for (int j1 = 0; j1 < onbttaglist3.d(); ++j1) {
          ONBTTagCompound onbttagcompound4 = (ONBTTagCompound) onbttaglist3.a(j1);

          oworld.d(
              onbttagcompound4.f("x"),
              onbttagcompound4.f("y"),
              onbttagcompound4.f("z"),
              onbttagcompound4.f("i"),
              onbttagcompound4.f("t"));
        }
      }
    }

    return ochunk;
  }