Program: 58016
Project: 58016
Buggy source:
public void setupSchematics(){
  this.G_SCH_DATA=new HashMap<>();
  this.G_SCH=new HashMap<>();
  final String schem1Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final String schem2Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final String schem3Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final Schematic schem1=SchematicHandler.manager.getSchematic(schem1Str);
  final Schematic schem2=SchematicHandler.manager.getSchematic(schem2Str);
  final Schematic schem3=SchematicHandler.manager.getSchematic(schem3Str);
  final int shift=(int)this.ROAD_WIDTH / 2;
  int oddshift=0;
  if ((this.ROAD_WIDTH % 2) != 0) {
    oddshift=1;
  }
  if (schem3 != null) {
    this.PLOT_SCHEMATIC=true;
    byte[] ids=schem3.getIds();
    byte[] datas=schem3.getDatas();
    final Dimension d3=schem3.getSchematicDimension();
    final short w3=(short)d3.getX();
    final short l3=(short)d3.getZ();
    final short h3=(short)d3.getY();
    int center_shift_x=0;
    int center_shift_z=0;
    if (l3 < this.PLOT_WIDTH) {
      center_shift_z=(this.PLOT_WIDTH - l3) / 2;
    }
    if (w3 < this.PLOT_WIDTH) {
      center_shift_x=(this.PLOT_WIDTH - w3) / 2;
    }
    for (short x=0; x < w3; x++) {
      for (short z=0; z < l3; z++) {
        for (short y=0; y < h3; y++) {
          final int index=(y * w3 * l3) + (z * w3) + x;
          final short id=ids[index];
          final byte data=ids[index];
          if (id != 0) {
            addOverlayBlock((short)(x + shift + oddshift+ center_shift_x),(y),(short)(z + shift + oddshift+ center_shift_z),id,data,false);
          }
        }
      }
    }
    HashSet<PlotItem> items=schem3.getItems();
    if (items != null) {
      G_SCH_STATE=new HashMap<>();
      for (      PlotItem item : items) {
        item.x+=shift + oddshift + center_shift_x;
        item.z+=shift + oddshift + center_shift_z;
        item.y+=this.PLOT_HEIGHT;
        int x=item.x;
        int y=item.y;
        int z=item.z;
        PlotLoc loc=new PlotLoc(x,z);
        if (!G_SCH_STATE.containsKey(loc)) {
          G_SCH_STATE.put(loc,new HashSet<PlotItem>());
        }
        G_SCH_STATE.get(loc).add(item);
      }
    }
  }
  if ((schem1 == null) || (schem2 == null) || (this.ROAD_WIDTH == 0)) {
    PS.log(C.PREFIX.s() + "String_Node_Str");
    return;
  }
  this.ROAD_SCHEMATIC_ENABLED=true;
  this.ROAD_BLOCK=new PlotBlock(this.ROAD_BLOCK.id,(byte)0);
  byte[] ids1=schem1.getIds();
  byte[] datas1=schem1.getDatas();
  byte[] ids2=schem2.getIds();
  byte[] datas2=schem2.getDatas();
  final Dimension d1=schem1.getSchematicDimension();
  final short w1=(short)d1.getX();
  final short l1=(short)d1.getZ();
  final short h1=(short)d1.getY();
  final Dimension d2=schem2.getSchematicDimension();
  final short w2=(short)d2.getX();
  final short l2=(short)d2.getZ();
  final short h2=(short)d2.getY();
  this.SCHEMATIC_HEIGHT=(short)Math.max(h2,h1);
  for (short x=0; x < w1; x++) {
    for (short z=0; z < l1; z++) {
      for (short y=0; y < h1; y++) {
        final int index=(y * w1 * l1) + (z * w1) + x;
        final short id=ids1[index];
        final byte data=datas1[index];
        if (id != 0) {
          addOverlayBlock((short)(x - (shift)),(y),(short)(z + shift + oddshift),id,data,false);
          addOverlayBlock((short)(z + shift + oddshift),(y),(short)(x - shift),id,data,true);
        }
      }
    }
  }
  for (short x=0; x < w2; x++) {
    for (short z=0; z < l2; z++) {
      for (short y=0; y < h2; y++) {
        final int index=(y * w2 * l2) + (z * w2) + x;
        final short id=ids2[index];
        final byte data=datas2[index];
        if (id != 0) {
          addOverlayBlock((short)(x - shift),(y),(short)(z - shift),id,data,false);
        }
      }
    }
  }
}

Fixed version (ground truth):
public void setupSchematics(){
  this.G_SCH_DATA=new HashMap<>();
  this.G_SCH=new HashMap<>();
  final String schem1Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final String schem2Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final String schem3Str="String_Node_Str" + this.worldname + "String_Node_Str";
  final Schematic schem1=SchematicHandler.manager.getSchematic(schem1Str);
  final Schematic schem2=SchematicHandler.manager.getSchematic(schem2Str);
  final Schematic schem3=SchematicHandler.manager.getSchematic(schem3Str);
  final int shift=(int)this.ROAD_WIDTH / 2;
  int oddshift=0;
  if ((this.ROAD_WIDTH % 2) != 0) {
    oddshift=1;
  }
  if (schem3 != null) {
    this.PLOT_SCHEMATIC=true;
    short[] ids=schem3.getIds();
    byte[] datas=schem3.getDatas();
    final Dimension d3=schem3.getSchematicDimension();
    final short w3=(short)d3.getX();
    final short l3=(short)d3.getZ();
    final short h3=(short)d3.getY();
    int center_shift_x=0;
    int center_shift_z=0;
    if (l3 < this.PLOT_WIDTH) {
      center_shift_z=(this.PLOT_WIDTH - l3) / 2;
    }
    if (w3 < this.PLOT_WIDTH) {
      center_shift_x=(this.PLOT_WIDTH - w3) / 2;
    }
    for (short x=0; x < w3; x++) {
      for (short z=0; z < l3; z++) {
        for (short y=0; y < h3; y++) {
          final int index=(y * w3 * l3) + (z * w3) + x;
          final short id=ids[index];
          final byte data=datas[index];
          if (id != 0) {
            addOverlayBlock((short)(x + shift + oddshift+ center_shift_x),(y),(short)(z + shift + oddshift+ center_shift_z),id,data,false);
          }
        }
      }
    }
    HashSet<PlotItem> items=schem3.getItems();
    if (items != null) {
      G_SCH_STATE=new HashMap<>();
      for (      PlotItem item : items) {
        item.x+=shift + oddshift + center_shift_x;
        item.z+=shift + oddshift + center_shift_z;
        item.y+=this.PLOT_HEIGHT;
        int x=item.x;
        int y=item.y;
        int z=item.z;
        PlotLoc loc=new PlotLoc(x,z);
        if (!G_SCH_STATE.containsKey(loc)) {
          G_SCH_STATE.put(loc,new HashSet<PlotItem>());
        }
        G_SCH_STATE.get(loc).add(item);
      }
    }
  }
  if ((schem1 == null) || (schem2 == null) || (this.ROAD_WIDTH == 0)) {
    PS.log(C.PREFIX.s() + "String_Node_Str");
    return;
  }
  this.ROAD_SCHEMATIC_ENABLED=true;
  this.ROAD_BLOCK=new PlotBlock(this.ROAD_BLOCK.id,(byte)0);
  short[] ids1=schem1.getIds();
  byte[] datas1=schem1.getDatas();
  short[] ids2=schem2.getIds();
  byte[] datas2=schem2.getDatas();
  final Dimension d1=schem1.getSchematicDimension();
  final short w1=(short)d1.getX();
  final short l1=(short)d1.getZ();
  final short h1=(short)d1.getY();
  final Dimension d2=schem2.getSchematicDimension();
  final short w2=(short)d2.getX();
  final short l2=(short)d2.getZ();
  final short h2=(short)d2.getY();
  this.SCHEMATIC_HEIGHT=(short)Math.max(h2,h1);
  for (short x=0; x < w1; x++) {
    for (short z=0; z < l1; z++) {
      for (short y=0; y < h1; y++) {
        final int index=(y * w1 * l1) + (z * w1) + x;
        final short id=ids1[index];
        final byte data=datas1[index];
        if (id != 0) {
          addOverlayBlock((short)(x - (shift)),(y),(short)(z + shift + oddshift),id,data,false);
          addOverlayBlock((short)(z + shift + oddshift),(y),(short)(x - shift),id,data,true);
        }
      }
    }
  }
  for (short x=0; x < w2; x++) {
    for (short z=0; z < l2; z++) {
      for (short y=0; y < h2; y++) {
        final int index=(y * w2 * l2) + (z * w2) + x;
        final short id=ids2[index];
        final byte data=datas2[index];
        if (id != 0) {
          addOverlayBlock((short)(x - shift),(y),(short)(z - shift),id,data,false);
        }
      }
    }
  }
}