Changed SchematicFormat to create only BaseBlocks rather than their subclasses, to prevent data loss.

This commit is contained in:
sk89q 2012-08-24 16:02:38 -07:00
parent 495a652f67
commit cfa1400c26

View File

@ -18,17 +18,6 @@
package com.sk89q.worldedit.schematic; package com.sk89q.worldedit.schematic;
import com.sk89q.worldedit.CuboidClipboard;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.blocks.BlockID;
import com.sk89q.worldedit.blocks.ChestBlock;
import com.sk89q.worldedit.blocks.DispenserBlock;
import com.sk89q.worldedit.blocks.FurnaceBlock;
import com.sk89q.worldedit.blocks.MobSpawnerBlock;
import com.sk89q.worldedit.blocks.NoteBlock;
import com.sk89q.worldedit.blocks.SignBlock;
import com.sk89q.worldedit.data.DataException;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@ -39,6 +28,10 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.sk89q.worldedit.CuboidClipboard;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.data.DataException;
/** /**
* Represents a format that a schematic can be stored as * Represents a format that a schematic can be stored as
* @author zml2008 * @author zml2008
@ -101,7 +94,7 @@ public abstract class SchematicFormat {
public BaseBlock getBlockForId(int id, short data) { public BaseBlock getBlockForId(int id, short data) {
BaseBlock block; BaseBlock block;
switch (id) { switch (id) {
case BlockID.WALL_SIGN: /*case BlockID.WALL_SIGN:
case BlockID.SIGN_POST: case BlockID.SIGN_POST:
block = new SignBlock(id, data); block = new SignBlock(id, data);
break; break;
@ -125,7 +118,7 @@ public abstract class SchematicFormat {
case BlockID.NOTE_BLOCK: case BlockID.NOTE_BLOCK:
block = new NoteBlock(data); block = new NoteBlock(data);
break; break;*/
default: default:
block = new BaseBlock(id, data); block = new BaseBlock(id, data);