commit
a3b38a2c05
22 changed files with 606 additions and 151 deletions
135
StevenDimDoors/mod_pocketDim/CraftingManager.java
Normal file
135
StevenDimDoors/mod_pocketDim/CraftingManager.java
Normal file
|
@ -0,0 +1,135 @@
|
|||
package StevenDimDoors.mod_pocketDim;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import static StevenDimDoors.mod_pocketDim.mod_pocketDim.*;
|
||||
|
||||
public class CraftingManager
|
||||
{
|
||||
|
||||
public static void registerRecipies()
|
||||
{
|
||||
Item coreCraftingItem = Item.enderPearl;
|
||||
|
||||
if(properties.enableServerMode)
|
||||
{
|
||||
coreCraftingItem = itemWorldThread;
|
||||
}
|
||||
if (properties.CraftingDimensionalDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', coreCraftingItem, 'y', Item.doorIron
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorIron
|
||||
});
|
||||
}
|
||||
if(properties.CraftingUnstableDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemChaosDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', Item.eyeOfEnder, 'y', mod_pocketDim.itemDimDoor
|
||||
});
|
||||
}
|
||||
if(properties.CraftingWarpDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', coreCraftingItem, 'y', Item.doorWood
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorWood
|
||||
});
|
||||
}
|
||||
if(properties.CraftingTransTrapdoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(transTrapdoor, 1), new Object[]
|
||||
{
|
||||
" y ", " x ", " y ", 'x', coreCraftingItem, 'y', Block.trapdoor
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(transTrapdoor, 1), new Object[]
|
||||
{
|
||||
" y ", " x ", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Block.trapdoor
|
||||
});
|
||||
}
|
||||
if(properties.CraftingRiftSignatureAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', coreCraftingItem, 'y', Item.ingotIron
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotIron
|
||||
});
|
||||
}
|
||||
|
||||
if(properties.CraftingRiftRemoverAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', coreCraftingItem, 'y', Item.ingotGold
|
||||
});
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
|
||||
{
|
||||
"yyy", "yxy", "yyy", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotGold
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingRiftBladeAllowed)
|
||||
{
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftBlade, 1), new Object[]
|
||||
{
|
||||
" x ", " x ", " y ", 'x', coreCraftingItem, 'y',mod_pocketDim.itemRiftRemover
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingStableFabricAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemStableFabric, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', coreCraftingItem, 'y', mod_pocketDim.itemWorldThread
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingStabilizedRiftSignatureAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemStabilizedLinkSignature,1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', mod_pocketDim.itemLinkSignature, 'y', mod_pocketDim.itemStableFabric
|
||||
});
|
||||
}
|
||||
if (properties.CraftingGoldDimDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDimDoor,1), new Object[]
|
||||
{
|
||||
" x ", " y ", " x ", 'x', mod_pocketDim.itemGoldDoor, 'y', Item.eyeOfEnder
|
||||
});
|
||||
}
|
||||
if (properties.CraftingGoldDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDoor,1), new Object[]
|
||||
{
|
||||
"yy ", "yy ", "yy ", 'y', Item.ingotGold
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDoor,1), new Object[]
|
||||
{
|
||||
" yy", " yy", " yy", 'y', Item.ingotGold
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -43,6 +43,8 @@ public class DDProperties
|
|||
public final int DimensionalDoorItemID;
|
||||
public final int UnstableDoorItemID;
|
||||
public final int WarpDoorItemID;
|
||||
public final int ItemWorldThreadID;
|
||||
|
||||
|
||||
/**
|
||||
* Other IDs
|
||||
|
@ -91,6 +93,7 @@ public class DDProperties
|
|||
* Other Flags
|
||||
*/
|
||||
|
||||
public final boolean enableServerMode;
|
||||
public final boolean WorldRiftGenerationEnabled;
|
||||
public final boolean RiftSpreadEnabled;
|
||||
public final boolean RiftGriefingEnabled;
|
||||
|
@ -100,6 +103,7 @@ public class DDProperties
|
|||
public final boolean LimboReturnsInventoryEnabled;
|
||||
public final boolean DoorRenderingEnabled;
|
||||
public final boolean TNFREAKINGT_Enabled;
|
||||
|
||||
|
||||
/**
|
||||
* Other
|
||||
|
@ -112,11 +116,13 @@ public class DDProperties
|
|||
public final int LimboReturnRange;
|
||||
public final String CustomSchematicDirectory;
|
||||
|
||||
|
||||
//Singleton instance
|
||||
private static DDProperties instance = null;
|
||||
//Path for custom dungeons within configuration directory
|
||||
private final String CUSTOM_SCHEMATIC_SUBDIRECTORY = "/DimDoors_Custom_schematics";
|
||||
//Names of categories
|
||||
private final String CATEGORY_SERVERMODE = "server mode";
|
||||
private final String CATEGORY_CRAFTING = "crafting";
|
||||
private final String CATEGORY_ENTITY = "entity";
|
||||
private final String CATEGORY_DIMENSION = "dimension";
|
||||
|
@ -178,6 +184,11 @@ public class DDProperties
|
|||
"Weighs the chance that a block will not be TNT. Must be greater than or equal to 0. " +
|
||||
"EXPLOSIONS must be set to true for this to have any effect.").getInt();
|
||||
|
||||
enableServerMode = config.get(CATEGORY_SERVERMODE, "Server Mode", false,
|
||||
"Enables servermode, changing all crafting recipies to require stabilized fabric. " +
|
||||
"Stabilized fabric, in turn, requires the item World Thread, which is not craftable or obtainable at all. "+
|
||||
"It is up to the server manager on how to distribute it.").getBoolean(false);
|
||||
|
||||
DoorRenderEntityID=config.get(CATEGORY_ENTITY, "Door Render Entity ID", 89).getInt();
|
||||
MonolithEntityID = config.get(CATEGORY_ENTITY, "Monolith Entity ID", 125).getInt();
|
||||
|
||||
|
@ -201,7 +212,8 @@ public class DDProperties
|
|||
StabilizedRiftSignatureItemID = config.getItem("Stabilized Rift Signature Item ID", 5677).getInt();
|
||||
GoldDoorItemID = config.getItem("Gold Door Item ID", 5678).getInt();
|
||||
GoldDimDoorItemID = config.getItem("Gold Dim Door Item ID", 5679).getInt();
|
||||
|
||||
ItemWorldThreadID = config.getItem("World Thread Item ID", 5680).getInt();
|
||||
|
||||
LimboBlockID = config.getTerrainBlock("World Generation Block IDs - must be less than 256", "Limbo Block ID", 217,
|
||||
"Blocks used for the terrain in Limbo").getInt();
|
||||
PermaFabricBlockID = config.getTerrainBlock("World Generation Block IDs - must be less than 256",
|
||||
|
|
|
@ -10,7 +10,7 @@ import java.util.Iterator;
|
|||
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@Deprecated
|
||||
public class DimData implements Serializable
|
||||
{
|
||||
public int dimID;
|
||||
|
|
|
@ -9,6 +9,7 @@ import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPack;
|
|||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonType;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
|
||||
@Deprecated
|
||||
public class DungeonGenerator implements Serializable
|
||||
{
|
||||
//This static field is hax so that I don't have to add an instance field to DungeonGenerator to support DungeonType.
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
package StevenDimDoors.mod_pocketDim;
|
||||
|
||||
import paulscode.sound.SoundSystem;
|
||||
import net.minecraft.client.audio.SoundPool;
|
||||
import net.minecraft.client.audio.SoundPoolEntry;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent;
|
||||
import net.minecraftforge.client.event.sound.PlaySoundEffectEvent;
|
||||
import net.minecraftforge.client.event.sound.SoundLoadEvent;
|
||||
import net.minecraftforge.event.EventPriority;
|
||||
import net.minecraftforge.event.ForgeSubscribe;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package StevenDimDoors.mod_pocketDim;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Deprecated
|
||||
public class LinkData implements Serializable
|
||||
{
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.util.Point4D;
|
||||
|
||||
@Deprecated
|
||||
public abstract class DimLink
|
||||
{
|
||||
protected Point4D source;
|
||||
|
|
|
@ -372,6 +372,18 @@ public class PocketManager
|
|||
}
|
||||
}
|
||||
}
|
||||
for(Integer dimID : dimensionIDBlackList)
|
||||
{
|
||||
try
|
||||
{
|
||||
DimensionManager.unregisterDimension(dimID);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.println("An unexpected error occurred while unregistering blacklisted dim #" + dimID + ":");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -384,7 +396,8 @@ public class PocketManager
|
|||
File saveDir = DimensionManager.getCurrentSaveRootDirectory();
|
||||
if (saveDir != null)
|
||||
{
|
||||
// Load and register blacklisted dimension IDs
|
||||
//Try to import data from old DD versions
|
||||
//TODO - remove this code in a few versions
|
||||
File oldSaveData = new File(saveDir+"/DimensionalDoorsData");
|
||||
if(oldSaveData.exists())
|
||||
{
|
||||
|
@ -395,7 +408,6 @@ public class PocketManager
|
|||
oldSaveData.delete();
|
||||
|
||||
System.out.println("Import Succesful!");
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -436,7 +448,7 @@ public class PocketManager
|
|||
try
|
||||
{
|
||||
System.out.println("Writing Dimensional Doors save data...");
|
||||
if ( DDSaveHandler.saveAll(dimensionData.values()) )
|
||||
if ( DDSaveHandler.saveAll(dimensionData.values(),dimensionIDBlackList) )
|
||||
{
|
||||
System.out.println("Saved successfully!");
|
||||
}
|
||||
|
@ -648,6 +660,15 @@ public class PocketManager
|
|||
return dimensionData.containsKey(dimensionID);
|
||||
}
|
||||
|
||||
public static void createAndRegisterBlacklist(List<Integer> blacklist)
|
||||
{
|
||||
//TODO - create a special blacklist provider
|
||||
for(Integer dimID : blacklist)
|
||||
{
|
||||
PocketManager.dimensionIDBlackList.add(dimID);
|
||||
DimensionManager.registerDimension(dimID, DDProperties.instance().PocketProviderID);
|
||||
}
|
||||
}
|
||||
public static void readPacket(DataInputStream input) throws IOException
|
||||
{
|
||||
if (isLoaded)
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
package StevenDimDoors.mod_pocketDim.helpers;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.common.ForgeChunkManager;
|
||||
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
||||
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
||||
import StevenDimDoors.mod_pocketDim.IChunkLoader;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||
import StevenDimDoors.mod_pocketDim.tileentities.TileEntityDimDoorGold;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
|
||||
|
||||
public class ChunkLoaderHelper implements LoadingCallback
|
||||
{
|
||||
|
@ -29,4 +35,25 @@ public class ChunkLoaderHelper implements LoadingCallback
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadChunkForcedWorlds(FMLServerStartingEvent event)
|
||||
{
|
||||
for(NewDimData data : PocketManager.getDimensions())
|
||||
{
|
||||
if(data.isPocketDimension())
|
||||
{
|
||||
String chunkDir = DimensionManager.getCurrentSaveRootDirectory()+"/DimensionalDoors/pocketDimID" + data.id();
|
||||
|
||||
File file = new File(chunkDir);
|
||||
|
||||
if(file.exists())
|
||||
{
|
||||
if(ForgeChunkManager.savedWorldHasForcedChunkTickets(file))
|
||||
{
|
||||
PocketManager.loadDimension(data.id());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
19
StevenDimDoors/mod_pocketDim/items/ItemWorldThread.java
Normal file
19
StevenDimDoors/mod_pocketDim/items/ItemWorldThread.java
Normal file
|
@ -0,0 +1,19 @@
|
|||
package StevenDimDoors.mod_pocketDim.items;
|
||||
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.item.Item;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
|
||||
public class ItemWorldThread extends Item
|
||||
{
|
||||
public ItemWorldThread(int itemID)
|
||||
{
|
||||
super(itemID);
|
||||
this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab);
|
||||
}
|
||||
|
||||
public void registerIcons(IconRegister par1IconRegister)
|
||||
{
|
||||
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
|
||||
}
|
||||
}
|
|
@ -44,6 +44,7 @@ import StevenDimDoors.mod_pocketDim.items.ItemStabilizedRiftSignature;
|
|||
import StevenDimDoors.mod_pocketDim.items.ItemStableFabric;
|
||||
import StevenDimDoors.mod_pocketDim.items.ItemUnstableDoor;
|
||||
import StevenDimDoors.mod_pocketDim.items.ItemWarpDoor;
|
||||
import StevenDimDoors.mod_pocketDim.items.ItemWorldThread;
|
||||
import StevenDimDoors.mod_pocketDim.items.itemRiftRemover;
|
||||
import StevenDimDoors.mod_pocketDim.ticking.CommonTickHandler;
|
||||
import StevenDimDoors.mod_pocketDim.ticking.LimboDecay;
|
||||
|
@ -117,6 +118,8 @@ public class mod_pocketDim
|
|||
|
||||
public static Item itemGoldDimDoor;
|
||||
public static Item itemGoldDoor;
|
||||
public static Item itemWorldThread;
|
||||
|
||||
public static Item itemRiftBlade;
|
||||
public static Item itemDimDoor;
|
||||
public static Item itemExitDoor;
|
||||
|
@ -201,7 +204,9 @@ public class mod_pocketDim
|
|||
itemChaosDoor = (new ItemUnstableDoor(properties.UnstableDoorItemID, Material.iron)).setUnlocalizedName("itemChaosDoor");
|
||||
itemRiftBlade = (new ItemRiftBlade(properties.RiftBladeItemID, EnumToolMaterial.GOLD, properties)).setUnlocalizedName("ItemRiftBlade");
|
||||
itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(properties.StabilizedRiftSignatureItemID)).setUnlocalizedName("itemStabilizedRiftSig");
|
||||
itemWorldThread = (new ItemWorldThread(properties.ItemWorldThreadID)).setUnlocalizedName("itemWorldThread");
|
||||
|
||||
|
||||
mod_pocketDim.limboBiome= (new BiomeGenLimbo(properties.LimboBiomeID));
|
||||
mod_pocketDim.pocketBiome= (new BiomeGenPocket(properties.PocketBiomeID));
|
||||
|
||||
|
@ -246,6 +251,8 @@ public class mod_pocketDim
|
|||
LanguageRegistry.addName(itemChaosDoor , "Unstable Door");
|
||||
LanguageRegistry.addName(itemDimDoor, "Dimensional Door");
|
||||
LanguageRegistry.addName(itemRiftBlade , "Rift Blade");
|
||||
LanguageRegistry.addName(itemWorldThread, "World Thread");
|
||||
|
||||
|
||||
/**
|
||||
* Add names for multiblock inventory item
|
||||
|
@ -266,120 +273,8 @@ public class mod_pocketDim
|
|||
EntityList.entityEggs.put(properties.MonolithEntityID, new EntityEggInfo(properties.MonolithEntityID, 0, 0xffffff));
|
||||
LanguageRegistry.instance().addStringLocalization("entity.DimDoors.Obelisk.name", "Monolith");
|
||||
|
||||
//GameRegistry.addBiome(this.limboBiome);
|
||||
//GameRegistry.addBiome(this.pocketBiome);
|
||||
|
||||
if (properties.CraftingDimensionalDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', Item.enderPearl, 'y', Item.doorIron
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorIron
|
||||
});
|
||||
}
|
||||
if(properties.CraftingUnstableDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemChaosDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', Item.eyeOfEnder, 'y', mod_pocketDim.itemDimDoor
|
||||
});
|
||||
}
|
||||
if(properties.CraftingWarpDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', Item.enderPearl, 'y', Item.doorWood
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemExitDoor, 1), new Object[]
|
||||
{
|
||||
" ", "yxy", " ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.doorWood
|
||||
});
|
||||
}
|
||||
if(properties.CraftingTransTrapdoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(transTrapdoor, 1), new Object[]
|
||||
{
|
||||
" y ", " x ", " y ", 'x', Item.enderPearl, 'y', Block.trapdoor
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(transTrapdoor, 1), new Object[]
|
||||
{
|
||||
" y ", " x ", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Block.trapdoor
|
||||
});
|
||||
}
|
||||
if(properties.CraftingRiftSignatureAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', Item.enderPearl, 'y', Item.ingotIron
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemLinkSignature, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotIron
|
||||
});
|
||||
}
|
||||
|
||||
if(properties.CraftingRiftRemoverAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', Item.enderPearl, 'y', Item.ingotGold
|
||||
});
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftRemover, 1), new Object[]
|
||||
{
|
||||
"yyy", "yxy", "yyy", 'x', mod_pocketDim.itemStableFabric, 'y', Item.ingotGold
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingRiftBladeAllowed)
|
||||
{
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(itemRiftBlade, 1), new Object[]
|
||||
{
|
||||
" x ", " x ", " y ", 'x', Item.enderPearl, 'y',mod_pocketDim.itemRiftRemover
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingStableFabricAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(itemStableFabric, 4), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', Item.enderPearl, 'y', mod_pocketDim.blockDimWall
|
||||
});
|
||||
}
|
||||
|
||||
if (properties.CraftingStabilizedRiftSignatureAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemStabilizedLinkSignature,1), new Object[]
|
||||
{
|
||||
" y ", "yxy", " y ", 'x', mod_pocketDim.itemLinkSignature, 'y', mod_pocketDim.itemStableFabric
|
||||
});
|
||||
}
|
||||
if (properties.CraftingGoldDimDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDimDoor,1), new Object[]
|
||||
{
|
||||
" x ", " y ", " x ", 'x', mod_pocketDim.itemGoldDoor, 'y', Item.eyeOfEnder
|
||||
});
|
||||
}
|
||||
if (properties.CraftingGoldDoorAllowed)
|
||||
{
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDoor,1), new Object[]
|
||||
{
|
||||
"yy ", "yy ", "yy ", 'y', Item.ingotGold
|
||||
});
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(mod_pocketDim.itemGoldDoor,1), new Object[]
|
||||
{
|
||||
" yy", " yy", " yy", 'y', Item.ingotGold
|
||||
});
|
||||
}
|
||||
CraftingManager.registerRecipies();
|
||||
DungeonHelper.initialize();
|
||||
|
||||
proxy.loadTextures();
|
||||
|
@ -424,5 +319,7 @@ public class mod_pocketDim
|
|||
CommandCreatePocket.instance().register(event);
|
||||
CommandTeleportPlayer.instance().register(event);
|
||||
|
||||
|
||||
ChunkLoaderHelper.loadChunkForcedWorlds(event);
|
||||
}
|
||||
}
|
||||
|
|
76
StevenDimDoors/mod_pocketDim/saving/BlacklistProcessor.java
Normal file
76
StevenDimDoors/mod_pocketDim/saving/BlacklistProcessor.java
Normal file
|
@ -0,0 +1,76 @@
|
|||
package StevenDimDoors.mod_pocketDim.saving;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.stream.JsonReader;
|
||||
import com.google.gson.stream.JsonToken;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.util.BaseConfigurationProcessor;
|
||||
import StevenDimDoors.mod_pocketDim.util.ConfigurationProcessingException;
|
||||
|
||||
public class BlacklistProcessor extends BaseConfigurationProcessor<List<Integer>>
|
||||
{
|
||||
|
||||
@Override
|
||||
public List<Integer> readFromStream(InputStream inputStream) throws ConfigurationProcessingException
|
||||
{
|
||||
try
|
||||
{
|
||||
JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "UTF-8"));
|
||||
List<Integer> data = this.createBlacklistFromJson(reader);
|
||||
return data;
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
throw new ConfigurationProcessingException("Could not read blacklist");
|
||||
}
|
||||
}
|
||||
|
||||
private List<Integer> createBlacklistFromJson(JsonReader reader) throws IOException
|
||||
{
|
||||
List<Integer> blacklist;
|
||||
blacklist = this.createIntListFromJson(reader);
|
||||
return blacklist;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToStream(OutputStream outputStream, List<Integer> data) throws ConfigurationProcessingException
|
||||
{
|
||||
GsonBuilder gsonBuilder = new GsonBuilder();
|
||||
Gson gson = gsonBuilder.setPrettyPrinting().create();
|
||||
|
||||
try
|
||||
{
|
||||
outputStream.write(gson.toJson(data).getBytes("UTF-8"));
|
||||
outputStream.close();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// not sure if this is kosher, we need it to explode, but not by throwing the IO exception.
|
||||
throw new ConfigurationProcessingException("Incorrectly formatted save data");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private List<Integer> createIntListFromJson(JsonReader reader) throws IOException
|
||||
{
|
||||
List<Integer> list = new ArrayList<Integer>();
|
||||
reader.beginArray();
|
||||
|
||||
while(reader.peek()!= JsonToken.END_ARRAY)
|
||||
{
|
||||
list.add(reader.nextInt());
|
||||
}
|
||||
reader.endArray();
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@ package StevenDimDoors.mod_pocketDim.saving;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -9,12 +10,14 @@ import java.util.List;
|
|||
import net.minecraftforge.common.DimensionManager;
|
||||
import StevenDimDoors.mod_pocketDim.Point3D;
|
||||
import StevenDimDoors.mod_pocketDim.core.DimLink;
|
||||
import StevenDimDoors.mod_pocketDim.core.LinkTypes;
|
||||
import StevenDimDoors.mod_pocketDim.core.NewDimData;
|
||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||
import StevenDimDoors.mod_pocketDim.dungeon.DungeonData;
|
||||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPack;
|
||||
import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonType;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
||||
import StevenDimDoors.mod_pocketDim.util.ConfigurationProcessingException;
|
||||
import StevenDimDoors.mod_pocketDim.util.FileFilters;
|
||||
import StevenDimDoors.mod_pocketDim.util.Point4D;
|
||||
|
||||
|
@ -45,7 +48,14 @@ public class DDSaveHandler
|
|||
}
|
||||
|
||||
// Load the dimension blacklist
|
||||
// --insert code here--
|
||||
File blacklistFile = new File(basePath+"blacklist.txt");
|
||||
|
||||
if(blacklistFile.exists())
|
||||
{
|
||||
BlacklistProcessor blacklistReader = new BlacklistProcessor();
|
||||
List<Integer> blacklist = readBlacklist(blacklistFile,blacklistReader);
|
||||
PocketManager.createAndRegisterBlacklist(blacklist);
|
||||
}
|
||||
|
||||
// List any dimension data files and read each dimension
|
||||
DimDataProcessor reader = new DimDataProcessor();
|
||||
|
@ -127,7 +137,14 @@ public class DDSaveHandler
|
|||
if(packedLink.parent.equals(fakePoint))
|
||||
{
|
||||
NewDimData data = PocketManager.getDimensionData(packedLink.source.getDimension());
|
||||
DimLink link = data.createLink(packedLink.source, packedLink.tail.linkType, packedLink.orientation);
|
||||
int linkType = packedLink.tail.linkType;
|
||||
|
||||
if((linkType < LinkTypes.ENUM_MIN || linkType > LinkTypes.ENUM_MAX) && linkType != LinkTypes.CLIENT_SIDE)
|
||||
{
|
||||
linkType = LinkTypes.NORMAL;
|
||||
}
|
||||
|
||||
DimLink link = data.createLink(packedLink.source, linkType, packedLink.orientation);
|
||||
Point4D destination = packedLink.tail.destination;
|
||||
if(destination!=null)
|
||||
{
|
||||
|
@ -171,7 +188,7 @@ public class DDSaveHandler
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean saveAll(Iterable<? extends IPackable<PackedDimData>> dimensions) throws IOException
|
||||
public static boolean saveAll(Iterable<? extends IPackable<PackedDimData>> dimensions, List<Integer> blacklist) throws IOException
|
||||
{
|
||||
// Create the data directory for our dimensions
|
||||
// Don't catch exceptions here. If we can't create this folder,
|
||||
|
@ -181,6 +198,9 @@ public class DDSaveHandler
|
|||
File basePathFile = new File(basePath);
|
||||
Files.createParentDirs(basePathFile);
|
||||
basePathFile.mkdir();
|
||||
|
||||
BlacklistProcessor blacklistReader = new BlacklistProcessor();
|
||||
writeBlacklist(blacklist, blacklistReader,basePath);
|
||||
|
||||
FileFilter dataFileFilter = new FileFilters.RegexFileFilter("dim_-?\\d+\\.txt");
|
||||
|
||||
|
@ -204,6 +224,25 @@ public class DDSaveHandler
|
|||
return succeeded;
|
||||
}
|
||||
|
||||
private static boolean writeBlacklist(List<Integer> blacklist, BlacklistProcessor writer, String basePath)
|
||||
{
|
||||
try
|
||||
{
|
||||
File tempFile = new File(basePath + "blacklist.tmp");
|
||||
File saveFile = new File(basePath + "blacklist.txt");
|
||||
writer.writeToFile(tempFile, blacklist);
|
||||
saveFile.delete();
|
||||
tempFile.renameTo(saveFile);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.println("Could not save blacklist. The following error occurred:");
|
||||
printException(e, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
private static boolean writeDimension(IPackable<PackedDimData> dimension, DimDataProcessor writer, String basePath)
|
||||
{
|
||||
try
|
||||
|
@ -253,17 +292,29 @@ public class DDSaveHandler
|
|||
|
||||
//TODO - make this more robust
|
||||
public static DungeonData unpackDungeonData(PackedDungeonData packedDungeon)
|
||||
{
|
||||
DungeonPack pack;
|
||||
DungeonType type;
|
||||
|
||||
{
|
||||
for(DungeonData data : DungeonHelper.instance().getRegisteredDungeons())
|
||||
{
|
||||
if(data.schematicName().equals(packedDungeon.SchematicName))
|
||||
{
|
||||
//return data;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static List<Integer> readBlacklist(File blacklistFile, BlacklistProcessor reader)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
return reader.readFromFile(blacklistFile);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,9 +67,7 @@ public class DimDataProcessor extends BaseConfigurationProcessor<PackedDimData>
|
|||
{
|
||||
// not sure if this is kosher, we need it to explode, but not by throwing the IO exception.
|
||||
throw new ConfigurationProcessingException("Incorrectly formatted save data");
|
||||
}
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Nightmare method that takes a JsonReader pointed at a serialized instance of PackedDimData
|
||||
|
|
Binary file not shown.
Binary file not shown.
57
build.xml
57
build.xml
|
@ -14,6 +14,9 @@
|
|||
<property name="mcp.dir" value="${forge.dir}/mcp" />
|
||||
<property name="mcpsrc.dir" value="${mcp.dir}/src/minecraft" />
|
||||
<property name="resources.dir" value="resources" />
|
||||
|
||||
<property name="gson.url" value="https://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip" />
|
||||
<property name="gson.name" value="gson-2.2.4.zip" />
|
||||
|
||||
<property name="package.meta-inf" value="META-INF" />
|
||||
<property name="build.ver" value="1.5.2" />
|
||||
|
@ -41,8 +44,6 @@
|
|||
<fileset dir="StevenDimDoors" />
|
||||
</copy>
|
||||
|
||||
|
||||
|
||||
<exec dir="${verclass.dir}" executable="sh" osfamily="unix" outputproperty="grep.out">
|
||||
<arg value="-c"/>
|
||||
<arg value="grep -o -P '[0-9.]+R[0-9.]+(RC[0-9]+)?(B[0-9]+)?' ${verclass.name}"/>
|
||||
|
@ -56,6 +57,7 @@
|
|||
</target>
|
||||
|
||||
<available property="forge-exists" file="${download.dir}/minecraftforge-src-${forge.version}.zip" />
|
||||
<available property="gson-exists" file="${mcpsrc.dir}/com/google/gson/Gson.java" />
|
||||
<available property="already-compiled" file="${classes.dir}/deathrat" />
|
||||
<condition property="should-download-ant-contrib">
|
||||
<or>
|
||||
|
@ -65,17 +67,27 @@
|
|||
</condition>
|
||||
|
||||
<target name="install" depends="build">
|
||||
<copy todir="${classes.dir}/schematics" overwrite="true">
|
||||
<copy todir="${classes.dir}/schematics" overwrite="true">
|
||||
<fileset dir="schematics" />
|
||||
</copy>
|
||||
<zip destfile="${dist.dir}/DimensionalDoors-${grep.out}-${build.number}.zip" basedir="${classes.dir}"/>
|
||||
<delete dir="${classes.dir}" />
|
||||
<delete dir="${mcp.dir}/reobf"/>
|
||||
<delete dir="${mcpsrc}/StevenDimDoors" />
|
||||
<delete dir="${mcpsrc}/Steven" />
|
||||
<delete dir="${mcpsrc.dir}/StevenDimDoors" />
|
||||
<delete dir="${mcpsrc.dir}/Steven" />
|
||||
</target>
|
||||
|
||||
<target name="get-gson" unless="gson-exists">
|
||||
<get src="${gson.url}" dest="${download.dir}/${gson.name}" />
|
||||
<unzip src="${download.dir}/${gson.name}" dest="${download.dir}" />
|
||||
<unzip src="${download.dir}/google-gson-2.2.4/gson-2.2.4-sources.jar" dest="${download.dir}/google-gson-2.2.4/"/>
|
||||
<copy todir="${mcpsrc.dir}/com">
|
||||
<fileset dir="${download.dir}/google-gson-2.2.4/com"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="get-version" unless="already-compiled">
|
||||
<target name="build" depends="get-version,get-gson" unless="already-compiled">
|
||||
|
||||
<!-- Recompile -->
|
||||
<exec dir="${mcp.dir}" executable="cmd" osfamily="windows" failonerror="true">
|
||||
<arg line="/c recompile.bat"/>
|
||||
|
@ -138,9 +150,18 @@
|
|||
|
||||
<exec dir="${forge.dir}" executable="sh" osfamily="unix" inputstring="Yes\n">
|
||||
<arg value="install.sh" />
|
||||
|
||||
</exec>
|
||||
|
||||
<get src="http://mirror.technicpack.net/Technic/lib/fml/fml_libs15.zip" dest="${download.dir}/fml_libs15.zip" />
|
||||
<unzip src="${download.dir}/fml_libs15.zip" dest="${lib.dir}/" />
|
||||
|
||||
<exec dir="${forge.dir}" executable="cmd" osfamily="windows" inputstring="Yes">
|
||||
<arg line="/c install.cmd"/>
|
||||
</exec>
|
||||
|
||||
<exec dir="${forge.dir}" executable="sh" osfamily="unix" inputstring="Yes">
|
||||
<arg value="install.sh" />
|
||||
</exec>
|
||||
|
||||
<chmod file="${mcp.dir}/updatemd5.sh" perm="+x"/>
|
||||
<chmod file="${mcp.dir}/recompile.sh" perm="+x"/>
|
||||
|
@ -155,17 +176,17 @@
|
|||
</copy> -->
|
||||
</target>
|
||||
|
||||
<target name="download-forge" depends="download-ant-contrib" unless="forge-exists">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml">
|
||||
<classpath>
|
||||
<pathelement location="${download.dir}/ant-contrib/ant-contrib-1.0b3.jar"/>
|
||||
<fileset dir="${download.dir}/ant-contrib/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
</taskdef>
|
||||
<echo message="Downloading forge... " />
|
||||
<get src="${forge.url}" dest="${download.dir}/minecraftforge-src-${forge.version}.zip" />
|
||||
<target name="download-forge" depends="download-ant-contrib" unless="forge-exists">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml">
|
||||
<classpath>
|
||||
<pathelement location="${download.dir}/ant-contrib/ant-contrib-1.0b3.jar"/>
|
||||
<fileset dir="${download.dir}/ant-contrib/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
</taskdef>
|
||||
<echo message="Downloading forge... " />
|
||||
<get src="${forge.url}" dest="${download.dir}/minecraftforge-src-${forge.version}.zip" />
|
||||
</target>
|
||||
|
||||
|
||||
|
|
199
buildOLD.xml
Normal file
199
buildOLD.xml
Normal file
|
@ -0,0 +1,199 @@
|
|||
|
||||
|
||||
<project name="DimensionalDoors" default="install" basedir=".">
|
||||
|
||||
<property environment="env" />
|
||||
|
||||
<property name="build.dir" value="build" />
|
||||
<property name="classes.dir" value="${build.dir}/packaging" />
|
||||
<property name="src.dir" value="src" />
|
||||
<property name="forge.version" value="1.5.2-7.8.0.691" />
|
||||
<property name="forge.url" value="http://files.minecraftforge.net/minecraftforge/minecraftforge-src-${forge.version}.zip" />
|
||||
<property name="mcp.version" value="751" />
|
||||
<property name="forge.dir" value="${build.dir}/forge" />
|
||||
<property name="mcp.dir" value="${forge.dir}/mcp" />
|
||||
<property name="mcpsrc.dir" value="${mcp.dir}/src/minecraft" />
|
||||
<property name="resources.dir" value="resources" />
|
||||
|
||||
<property name="package.meta-inf" value="META-INF" />
|
||||
<property name="build.ver" value="1.5.2" />
|
||||
<property name="dist.dir" value="${build.dir}/dist" />
|
||||
|
||||
<property name="download.dir" value="downloads" />
|
||||
|
||||
<property name="lib.dir" value="${mcp.dir}/lib" />
|
||||
|
||||
<property file="${forge.dir}/forgeversion.properties" />
|
||||
<condition property="forge.already.installed">
|
||||
<equals arg1="${forge.build.number}" arg2="691" />
|
||||
</condition>
|
||||
|
||||
<property name="verclass.dir" value="${mcpsrc.dir}/StevenDimDoors/mod_pocketDim/" />
|
||||
<property name="verclass.name" value="mod_pocketDim.java"/>
|
||||
|
||||
|
||||
<mkdir dir="${download.dir}"/>
|
||||
<mkdir dir="${build.dir}" />
|
||||
|
||||
<target name="get-version" depends="setup-forge">
|
||||
<mkdir dir="${mcpsrc.dir}/StevenDimDoors" />
|
||||
<copy todir="${mcpsrc.dir}/StevenDimDoors" overwrite="true">
|
||||
<fileset dir="StevenDimDoors" />
|
||||
</copy>
|
||||
|
||||
|
||||
|
||||
<exec dir="${verclass.dir}" executable="sh" osfamily="unix" outputproperty="grep.out">
|
||||
<arg value="-c"/>
|
||||
<arg value="grep -o -P '[0-9.]+R[0-9.]+(RC[0-9]+)?(B[0-9]+)?' ${verclass.name}"/>
|
||||
</exec>
|
||||
<exec executable="python" osfamily="unix">
|
||||
<arg value="versionscript.py" />
|
||||
<arg value="${grep.out}" />
|
||||
</exec>
|
||||
<echo message="Grepped version: ${grep.out}"/>
|
||||
<copy todir="${classes.dir}" file="mcmod.info" overwrite="true"/>
|
||||
</target>
|
||||
|
||||
<available property="forge-exists" file="${download.dir}/minecraftforge-src-${forge.version}.zip" />
|
||||
<available property="already-compiled" file="${classes.dir}/deathrat" />
|
||||
<condition property="should-download-ant-contrib">
|
||||
<or>
|
||||
<available file="${download.dir}/ant-contrib/ant-contrib-1.0b3.jar"/>
|
||||
<available file="${download.dir}/minecraftforge-src-${forge.version}.zip"/>
|
||||
</or>
|
||||
</condition>
|
||||
|
||||
<target name="install" depends="build">
|
||||
<copy todir="${classes.dir}/schematics" overwrite="true">
|
||||
<fileset dir="schematics" />
|
||||
</copy>
|
||||
<zip destfile="${dist.dir}/DimensionalDoors-${grep.out}-${build.number}.zip" basedir="${classes.dir}"/>
|
||||
<delete dir="${classes.dir}" />
|
||||
<delete dir="${mcp.dir}/reobf"/>
|
||||
<delete dir="${mcpsrc}/StevenDimDoors" />
|
||||
<delete dir="${mcpsrc}/Steven" />
|
||||
</target>
|
||||
|
||||
<target name="build" depends="get-version" unless="already-compiled">
|
||||
<!-- Recompile -->
|
||||
<exec dir="${mcp.dir}" executable="cmd" osfamily="windows" failonerror="true">
|
||||
<arg line="/c recompile.bat"/>
|
||||
</exec>
|
||||
|
||||
<exec dir="${mcp.dir}" executable="sh" osfamily="unix" failonerror="true">
|
||||
<arg value="recompile.sh" />
|
||||
</exec>
|
||||
|
||||
<!-- Reobf -->
|
||||
<exec dir="${mcp.dir}" executable="cmd" osfamily="windows">
|
||||
<arg line="/c reobfuscate_srg.bat"/>
|
||||
</exec>
|
||||
|
||||
<exec dir="${mcp.dir}" executable="sh" osfamily="unix">
|
||||
<arg value="reobfuscate_srg.sh" />
|
||||
</exec>
|
||||
|
||||
<copy todir="${classes.dir}">
|
||||
<fileset dir="${mcp.dir}/reobf/minecraft"/>
|
||||
</copy>
|
||||
<copy todir="${classes.dir}">
|
||||
<fileset dir="${resources.dir}"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="build-number-there" if="env.BUILD_NUMBER" >
|
||||
<echo message="Using build number ${env.BUILD_NUMBER}..." />
|
||||
<property name="build.number" value="${env.BUILD_NUMBER}" />
|
||||
</target>
|
||||
|
||||
<target name="build-number-not-there" unless="env.BUILD_NUMBER" >
|
||||
<echo message="!! No build number set !!" />
|
||||
<property name="build.number" value="CUSTOM_BUILD" />
|
||||
</target>
|
||||
|
||||
<target name="setup-forge" depends="download-forge,build-number-there,build-number-not-there" unless="forge.already.installed">
|
||||
|
||||
<property name="build.full" value="${build.number}" />
|
||||
<unzip dest="${build.dir}">
|
||||
<fileset dir="${download.dir}">
|
||||
<include name="minecraftforge-src-${forge.version}.zip"/>
|
||||
</fileset>
|
||||
</unzip>
|
||||
|
||||
|
||||
<!-- Change executables' permitions -->
|
||||
|
||||
<chmod file="${forge.dir}/install.sh" perm="+x"/>
|
||||
|
||||
<!-- if your building on OSX these 2 should be executable -->
|
||||
|
||||
|
||||
|
||||
<!-- Install forge -->
|
||||
<delete dir="${mcp.dir}" failonerror="no"/>
|
||||
<exec dir="${forge.dir}" executable="cmd" osfamily="windows" inputstring="Yes\n">
|
||||
<arg line="/c install.cmd"/>
|
||||
</exec>
|
||||
|
||||
<exec dir="${forge.dir}" executable="sh" osfamily="unix" inputstring="Yes\n">
|
||||
<arg value="install.sh" />
|
||||
|
||||
</exec>
|
||||
|
||||
|
||||
<chmod file="${mcp.dir}/updatemd5.sh" perm="+x"/>
|
||||
<chmod file="${mcp.dir}/recompile.sh" perm="+x"/>
|
||||
<chmod file="${mcp.dir}/reobfuscate_srg.sh" perm="+x"/>
|
||||
<chmod file="${mcp.dir}/runtime/bin/astyle-osx" perm="+x" />
|
||||
<chmod file="${mcp.dir}/runtime/bin/jad-osx" perm="+x" />
|
||||
<!-- Copy libraries -->
|
||||
<!-- <copy todir="${mcp.dir}/lib" >
|
||||
<fileset dir="lib" >
|
||||
<patternset includes="*.jar" />
|
||||
</fileset>
|
||||
</copy> -->
|
||||
</target>
|
||||
|
||||
<target name="download-forge" depends="download-ant-contrib" unless="forge-exists">
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml">
|
||||
<classpath>
|
||||
<pathelement location="${download.dir}/ant-contrib/ant-contrib-1.0b3.jar"/>
|
||||
<fileset dir="${download.dir}/ant-contrib/lib">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</classpath>
|
||||
</taskdef>
|
||||
<echo message="Downloading forge... " />
|
||||
<get src="${forge.url}" dest="${download.dir}/minecraftforge-src-${forge.version}.zip" />
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<target name="download-ant-contrib" unless="should-download-ant-contrib">
|
||||
<echo message="Getting: ant-contrib"/>
|
||||
<mkdir dir="${download.dir}/tmp"/>
|
||||
<mkdir dir="${download.dir}/ant-contrib/lib" />
|
||||
<get src="http://sourceforge.net/projects/ant-contrib/files/ant-contrib/1.0b3/ant-contrib-1.0b3-bin.zip/download" dest="${download.dir}/tmp/ant-contrib-1.0b3-bin.zip"/>
|
||||
<get src="http://archive.apache.org/dist/commons/codec/binaries/commons-codec-1.6-bin.zip" dest="${download.dir}/tmp/commons-codec-1.6-bin.zip"/>
|
||||
|
||||
<unzip src="${download.dir}/tmp/ant-contrib-1.0b3-bin.zip" dest="${download.dir}"/>
|
||||
<unzip src="${download.dir}/tmp/commons-codec-1.6-bin.zip" dest="${download.dir}/tmp"/>
|
||||
|
||||
<move todir="${download.dir}/ant-contrib/lib">
|
||||
<fileset file="${download.dir}/tmp/commons-codec-1.6/commons-codec-1.6.jar"/>
|
||||
</move>
|
||||
|
||||
<!-- Delete useless files -->
|
||||
<delete dir="${download.dir}/ant-contrib/docs"/>
|
||||
<delete dir="${download.dir}/tmp"/>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="clean" >
|
||||
<delete dir="${build.dir}" />
|
||||
</target>
|
||||
|
||||
|
||||
</project>
|
||||
|
BIN
resources/mods/DimDoors/textures/items/ItemWorldThread.png
Normal file
BIN
resources/mods/DimDoors/textures/items/ItemWorldThread.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
BIN
resources/mods/DimDoors/textures/other/RIFT.png
Normal file
BIN
resources/mods/DimDoors/textures/other/RIFT.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 345 KiB |
BIN
resources/mods/DimDoors/textures/other/WARP.png
Normal file
BIN
resources/mods/DimDoors/textures/other/WARP.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 471 KiB |
BIN
resources/mods/DimDoors/textures/other/dimdoors_logo.png
Normal file
BIN
resources/mods/DimDoors/textures/other/dimdoors_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Loading…
Reference in a new issue