changed import function

This commit is contained in:
StevenRS11
2013-06-02 01:46:31 -04:00
parent 27c073f75d
commit c16dd49a18
8 changed files with 80 additions and 50 deletions

View File

@@ -180,7 +180,7 @@ public class DimDoorsConfig
bWorldGenRifts = config.get(Configuration.CATEGORY_GENERAL, "bWorldGenRifts", true);
bWorldGenRifts.comment = "Toggles the natrual generation of dungeon rifts other dimensions";
bWorldGenRifts.comment = "Toggles the natrual generation of dungeon rifts in other dimensions";
bLimboActive = config.get(Configuration.CATEGORY_GENERAL, "bLimboActive", true);
bLimboActive.comment="Toggles if dying in a pocket dim respawns the player in limbo";
@@ -188,8 +188,8 @@ public class DimDoorsConfig
riftSpreadModifier = config.get(Configuration.CATEGORY_GENERAL, "riftSpreadModifier", 3);
riftSpreadModifier.comment = "How many times a rift can spread- 0 prevents rifts from spreading at all. I dont recommend putting it highter than 5, because its rather exponential. ";
limboBiomeID=config.get(Configuration.CATEGORY_GENERAL, "limboBiomeID", 217);
pocketBiomeID=config.get(Configuration.CATEGORY_GENERAL, "pocketBiomeID", 218);
limboBiomeID=config.get(Configuration.CATEGORY_GENERAL, "limboBiomeID", 251);
pocketBiomeID=config.get(Configuration.CATEGORY_GENERAL, "pocketBiomeID", 250);
config.save();

View File

@@ -49,7 +49,8 @@ public class DungeonGenerator implements Serializable
// DungeonGenerator
boolean flag = true;
int count=10;
try
{
if(incoming.destYCoord>15)
{
do
@@ -178,6 +179,11 @@ public class DungeonGenerator implements Serializable
{
dungeon= mod_pocketDim.defaultUp;
}
}
catch(Exception e)
{
dungeon = mod_pocketDim.registeredDungeons.get(rand.nextInt(mod_pocketDim.registeredDungeons.size()));
}
mod_pocketDim.loader.init(dungeon.schematicPath, incoming);

View File

@@ -6,10 +6,11 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper;
import net.minecraft.block.Block;
import net.minecraft.block.BlockComparator;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.BlockDoor;
import net.minecraft.block.BlockRedstoneRepeater;
import net.minecraft.block.BlockStairs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -21,9 +22,9 @@ import net.minecraft.tileentity.TileEntityDispenser;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.EmptyChunk;
import net.minecraft.world.chunk.storage.ExtendedBlockStorage;
import net.minecraftforge.common.ChestGenHooks;
import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper;
public class SchematicLoader
@@ -32,8 +33,11 @@ public class SchematicLoader
public short height;
public short length;
public byte[] blocks;
public byte[] data;
public short[] blocks;
public byte[] blockData;
public byte[] addId = new byte[0];
public byte[] blockId;
public NBTTagList entities;
public NBTTagList tileentities;
private Random rand = new Random();
@@ -88,14 +92,34 @@ public class SchematicLoader
height = nbtdata.getShort("Height");
length = nbtdata.getShort("Length");
blocks = nbtdata.getByteArray("Blocks");
data = nbtdata.getByteArray("Data");
blockId = nbtdata.getByteArray("Blocks");
blockData = nbtdata.getByteArray("Data");
blocks=new short[blockId.length];
this.addId = nbtdata.getByteArray("AddBlocks");
entities = nbtdata.getTagList("Entities");
tileentities = nbtdata.getTagList("TileEntities");
this.didRead=true;
input.close();
for (int index = 0; index < blockId.length; index++) {
if ((index >> 1) >= addId.length) { // No corresponding AddBlocks index
blocks[index] = (short) (blockId[index] & 0xFF);
} else {
if ((index & 1) == 0) {
blocks[index] = (short) (((addId[index >> 1] & 0x0F) << 8) + (blockId[index] & 0xFF));
} else {
blocks[index] = (short) (((addId[index >> 1] & 0xF0) << 4) + (blockId[index] & 0xFF));
}
}
}
}
catch (Exception e)
{
@@ -188,7 +212,7 @@ public class SchematicLoader
}
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID)
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID||blockID==Block.dropper.blockID)
{
switch (metadata)
{
@@ -224,7 +248,7 @@ public class SchematicLoader
}
else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID)
else if(Block.blocksList[blockID] instanceof BlockRedstoneRepeater ||Block.blocksList[blockID] instanceof BlockDoor ||blockID== Block.tripWireSource.blockID||Block.blocksList[blockID] instanceof BlockComparator)
{
switch (metadata)
{
@@ -359,7 +383,7 @@ public class SchematicLoader
}
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID)
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID||blockID==Block.dropper.blockID)
{
switch (metadata)
{
@@ -394,7 +418,7 @@ public class SchematicLoader
}
else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID)
else if(Block.blocksList[blockID] instanceof BlockRedstoneRepeater ||Block.blocksList[blockID] instanceof BlockDoor ||blockID== Block.tripWireSource.blockID||Block.blocksList[blockID] instanceof BlockComparator)
{
switch (metadata)
{
@@ -524,7 +548,7 @@ public class SchematicLoader
}
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID)
else if(blockID== Block.pistonBase.blockID||blockID==Block.pistonStickyBase.blockID||blockID==Block.dispenser.blockID||blockID==Block.dropper.blockID)
{
switch (metadata)
{
@@ -560,7 +584,7 @@ public class SchematicLoader
}
else if(blockID== Block.redstoneRepeaterActive.blockID||blockID==Block.redstoneRepeaterIdle.blockID||blockID== Block.tripWireSource.blockID||blockID== Block.doorIron.blockID||blockID==Block.doorWood.blockID)
else if(Block.blocksList[blockID] instanceof BlockRedstoneRepeater ||Block.blocksList[blockID] instanceof BlockDoor ||blockID== Block.tripWireSource.blockID||Block.blocksList[blockID] instanceof BlockComparator)
{
switch (metadata)
{
@@ -715,10 +739,10 @@ public class SchematicLoader
zCooe=z-35;
}
int index = y * loader.width * loader.length + z * loader.width + x;
int index = y * width * length + z * width + x;
int blockToReplace=loader.blocks[index];
int blockMetaData=loader.data[index];
int blockMetaData=loader.blockData[index];
NBTTagList tileEntity = loader.tileentities;
HashMap tileEntityMap= new HashMap();
int size = tileEntity.tagCount();
@@ -732,21 +756,10 @@ public class SchematicLoader
{
this.exitLinks.add(new Point3D(i+xCooe, j+yCooe, k+zCooe));
}
if(blockToReplace==-124)
{
blockToReplace=Block.tripWire.blockID;
}
if(blockToReplace==-125)
{
blockToReplace=Block.tripWireSource.blockID;
}
if(blockToReplace<0&&blockToReplace!=-39)
{
}
if(blockToReplace<0)
if(Block.blocksList[blockToReplace]==null&&blockToReplace!=0||blockToReplace>158)
{
blockToReplace=mod_pocketDim.blockDimWallID;
blockToReplace=mod_pocketDim.blockDimWall.blockID;
}
if(blockToReplace>0)
@@ -951,6 +964,10 @@ public class SchematicLoader
public void setBlockDirectly(World world, int x, int y, int z,int id, int metadata)
{
if(Block.blocksList[id]==null)
{
return;
}
Chunk chunk;
this.cX=x >>4;
this.cZ=z >>4;
@@ -965,7 +982,8 @@ public class SchematicLoader
try
{
chunk=world.getChunkFromChunkCoords(cX, cZ);
if (chunk.getBlockStorageArray()[cY] == null) {
if (chunk.getBlockStorageArray()[cY] == null)
{
chunk.getBlockStorageArray()[cY] = new ExtendedBlockStorage(cY << 4, !world.provider.hasNoSky);
}

View File

@@ -38,6 +38,9 @@ public class CommandStartDungeonCreation extends CommandBase
dimHelper.instance.teleportToPocket(player.worldObj, link, player);
this.getCommandSenderAsPlayer(var1).sendChatToPlayer("DimID = "+ link.destDimID);

View File

@@ -327,7 +327,7 @@ public class mod_pocketDim
this.complexHalls.add(new DungeonGenerator(weight,path,open));
}
else if(name[0].equals("pistonTrap"))
else if(name[0].equals("trap"))
{
this.pistonTraps.add(new DungeonGenerator(weight,path,open));
@@ -438,7 +438,7 @@ public class mod_pocketDim
DimensionManager.registerProviderType(this.providerID, pocketProvider.class, false);
DimensionManager.registerProviderType(this.limboProviderID, LimboProvider.class, false);
DimensionManager.registerProviderType(this.limboProviderID, LimboProvider.class, true);
@@ -612,7 +612,7 @@ public class mod_pocketDim
this.blocksImmuneToRift.add(Block.blockLapis.blockID);
this.blocksImmuneToRift.add(Block.bedrock.blockID);
/**
this.hubs.add(new DungeonGenerator(0, "/schematics/4WayBasicHall.schematic", false));
this.hubs.add(new DungeonGenerator(0, "/schematics/4WayBasicHall.schematic", false));
this.hubs.add(new DungeonGenerator(0, "/schematics/doorTotemRuins.schematic", true));
@@ -690,7 +690,7 @@ public class mod_pocketDim
this.registeredDungeons.addAll(this.hubs);
**/
@@ -708,6 +708,8 @@ public class mod_pocketDim
this.metadataFlipList.add(Block.doorWood.blockID);
this.metadataFlipList.add(Block.pistonBase.blockID);
this.metadataFlipList.add(Block.pistonStickyBase.blockID);
this.metadataFlipList.add(Block.redstoneComparatorActive);
this.metadataFlipList.add(Block.redstoneComparatorIdle);
this.metadataFlipList.add(Block.stairsNetherBrick.blockID);
this.metadataFlipList.add(Block.stairsCobblestone.blockID);

View File

@@ -46,7 +46,8 @@ public class pocketGenerator extends ChunkProviderGenerate implements IChunkProv
@Override
public Chunk loadChunk(int var1, int var2) {
public Chunk loadChunk(int var1, int var2)
{
// TODO Auto-generated method stub
return super.loadChunk(var1, var2);
}

View File

@@ -98,13 +98,13 @@ public class pocketProvider extends WorldProvider
{
int respawnDim;
// if(mod_pocketDim.isLimboActive)
if(mod_pocketDim.isLimboActive)
{
respawnDim= mod_pocketDim.limboDimID;
}
// else
else
{
// respawnDim= dimHelper.dimList.get(this.dimensionId).exitDimLink.destDimID;
respawnDim= dimHelper.dimList.get(this.dimensionId).exitDimLink.destDimID;
}
if(dimHelper.getWorld(respawnDim)==null)

View File

@@ -29,7 +29,7 @@ To name it, use the following format-
<dungeonType>_<yourDungeonName>_<isOpen>_<spawnWeight>.schematic
The dungeon types are <20>hub<75>, <20>simpleHall<6C>, <20>complexHall<6C>, <20>pistonTrap<EFBFBD>, <20>maze<7A>, <20>exit<69>, and <20>deadEnd<6E>.
The dungeon types are <20>hub<75>, <20>simpleHall<6C>, <20>complexHall<6C>, <20>trap', <20>maze<7A>, <20>exit<69>, and <20>deadEnd<6E>.
isOpen determines if the dungeon is an open-air style pocket, or a closed in/walled it pocket that will spawn Monoliths.