diff options
author | GlodBlock <1356392126@qq.com> | 2021-04-12 23:15:15 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-04-12 23:15:15 +0800 |
commit | 6485ddebf3cc2e6834bbc8e53b3f860a5df9301e (patch) | |
tree | dfe3b0f85bc81c32a9dd99ec6b120dc0825e0bdb /src | |
parent | 2680cc32802159ff58ea7bb919dfdde497c48e43 (diff) | |
download | GT5-Unofficial-6485ddebf3cc2e6834bbc8e53b3f860a5df9301e.tar.gz GT5-Unofficial-6485ddebf3cc2e6834bbc8e53b3f860a5df9301e.tar.bz2 GT5-Unofficial-6485ddebf3cc2e6834bbc8e53b3f860a5df9301e.zip |
init
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java | 96 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java | 242 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Client/ClientProxy.java | 21 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Common/CommonProxy.java | 11 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Items/MyItemBlocks.java | 52 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Items/MyItems.java | 26 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Loader/Loaders.java | 31 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Main/GoodGenerator.java | 42 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Tabs/MyTabs.java | 16 | ||||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/blocks/MAR_Casing.png | bin | 0 -> 1878 bytes | |||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/items/test2.png | bin | 0 -> 666 bytes | |||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/items/test3.png | bin | 0 -> 666 bytes | |||
-rw-r--r-- | src/main/resources/mcmod.info | 16 |
13 files changed, 553 insertions, 0 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java b/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java new file mode 100644 index 0000000000..f6f9eb32ae --- /dev/null +++ b/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java @@ -0,0 +1,96 @@ +package GoodGenerator.Blocks.RegularBlock; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class Casing extends Block { + + @SideOnly(Side.CLIENT) + protected IIcon[] texture; + String[] textureNames; + protected String name; + + public Casing(String name, String[] texture, CreativeTabs Tab){ + super(Material.iron); + this.setHardness(18.0F); + this.setResistance(10.0F); + this.name = name; + this.textureNames = texture; + GregTech_API.registerMachineBlock(this, -1); + } + + public Casing(String name, String[] texture, CreativeTabs Tab,Material material){ + super(material); + this.setHardness(18.0F); + this.setResistance(10.0F); + this.name = name; + this.textureNames = texture; + GregTech_API.registerMachineBlock(this, -1); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return meta < this.texture.length ? this.texture[meta] : this.texture[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IconRegister) { + this.texture = new IIcon[this.textureNames.length]; + for (int i = 0; i < this.textureNames.length; i++) { + this.texture[i] = par1IconRegister.registerIcon(this.textureNames[i]); + } + } + + @Override + public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { + if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + } + } + + @Override + public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetaData) { + if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + } + } + + @Override + public String getUnlocalizedName() { + return this.name; + } + + @Override + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { + return false; + } + + @Override + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { + return false; + } + + @Override + public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { + return false; + } + + +} diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java new file mode 100644 index 0000000000..eac1ac67c9 --- /dev/null +++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java @@ -0,0 +1,242 @@ +package GoodGenerator.Blocks.TEs; + +import GoodGenerator.Loader.Loaders; +import GoodGenerator.Main.GoodGenerator; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.Materials; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.ITexture; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; +import gregtech.api.objects.GT_RenderedTexture; +import ic2.core.Ic2Fluid; +import ic2.core.init.InternalName; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; + +public class MultiNqGenerator extends GT_MetaTileEntity_MultiBlockBase { + + @SideOnly(Side.CLIENT) + protected IIcon[] texture; + protected String textureNames; + protected String name; + private static final IIcon[] iIcons = new IIcon[4]; + private static final IIconContainer[] iIconContainers = new IIconContainer[4]; + private static final ITexture[][] iTextures = new ITexture[4][1]; + public ItemStack[] circuits = new ItemStack[5]; + private long mStorage; + + public MultiNqGenerator(String name){super(name);} + + public MultiNqGenerator(int id, String name, String nameRegional){ + super(id,name,nameRegional); + this.name = name; + textureNames = GoodGenerator.MOD_ID+":"+name; + } + + + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister aBlockIconRegister) { + + for (int i = 0; i < MultiNqGenerator.iTextures.length; i++) { + MultiNqGenerator.iIcons[i] = aBlockIconRegister.registerIcon(GoodGenerator.MOD_ID + ":test"); + int finalI = i; + MultiNqGenerator.iIconContainers[i] = new IIconContainer() { + @Override + public IIcon getIcon() { + return MultiNqGenerator.iIcons[finalI]; + } + + @Override + public IIcon getOverlayIcon() { + return MultiNqGenerator.iIcons[finalI]; + } + + @Override + public ResourceLocation getTextureFile() { + return new ResourceLocation(GoodGenerator.MOD_ID + ":test"); + } + }; + } + + } + + @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + @Override + public boolean checkRecipe(ItemStack aStack) { + + ArrayList<FluidStack> tFluids = getStoredFluids(); + + FluidStack f1=null,f2=null; + float booster = 1.0f; + int times = 1; + if(tFluids.size() > 0){ + if(tFluids.contains(Materials.Cryotheum.getFluid(2L))){ + booster = 2.75f; + f1=Materials.Cryotheum.getFluid(2L); + } + else if(tFluids.contains(Materials.SuperCoolant.getFluid(2L))){ + booster = 1.5f; + f1=Materials.SuperCoolant.getFluid(2L); + } + else if(tFluids.contains(FluidRegistry.getFluidStack("ic2coolant",2))){ + booster = 1.05f; + f1=FluidRegistry.getFluidStack("ic2coolant",2); + } + } + + if(tFluids.size() > 0){ + if (tFluids.contains(Materials.Caesium.getMolten(9L))){ + times = 2; + f2=Materials.Caesium.getMolten(9L); + } + else if(tFluids.contains(Materials.Uranium235.getMolten(9L))){ + times = 3; + f2=Materials.Uranium235.getMolten(9L); + } + else if(tFluids.contains(Materials.Naquadah.getMolten(1L))){ + times = 4; + f2=Materials.Naquadah.getMolten(1L); + } + } + + if(tFluids.size()>0){ + if(tFluids.contains(Materials.NaquadahEnriched.getMolten(times))){ + if(f1 != null) + depleteInput(f1); + if(f2 != null) + depleteInput(f2); + if(mRuntime == 0 || mRuntime%1200 == 0){ + depleteInput(Materials.NaquadahEnriched.getMolten(times)); + this.mOutputFluids = new FluidStack[]{Materials.Naquadah.getMolten(times)}; + } + else this.mOutputFluids = null; + addEnergyOutput((long)(32768*times*booster)); + this.mEUt = (int)(32768*times*booster); + this.mProgresstime = 1; + this.mMaxProgresstime = 1; + return true; + } + if(tFluids.contains(Materials.Naquadria.getMolten(times))){ + if(f1 != null) + depleteInput(f1); + if(f2 != null) + depleteInput(f2); + if(mRuntime == 0 || mRuntime%300 == 0){ + depleteInput(Materials.Naquadria.getMolten(times)); + this.mOutputFluids = new FluidStack[]{Materials.Naquadah.getMolten(times)}; + } + else this.mOutputFluids = null; + addEnergyOutput((long)(524288*times*booster)); + this.mEUt = (int)(524288*times*booster); + this.mProgresstime = 1; + this.mMaxProgresstime = 1; + return true; + } + } + + this.mEUt = 0; + return false; + } + + @Override + public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 2; + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 2; + int casingAmount = 0; + for (int x = -2; x <= 2; x++) { + for (int z = -2; z <= 2; z++) { + for (int y = 0; y <= 8; y++) { + if (x + xDir == 0 && y == 0 && z + zDir == 0) { + continue; + } + IGregTechTileEntity tileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(x + xDir, y, z + zDir); + Block block = aBaseMetaTileEntity.getBlockOffset(x + xDir, y, z + zDir); + + if (y != 0 && y != 8 && x != -2 && x != 2 && z != -2 && z != 2) { + if (block == Blocks.air) continue; + else return false; + } + + if (y != 0){ + if(block == Loaders.MAR_Casing) continue; + else return false; + } + + if (!addInputToMachineList(tileEntity, 44) && !addOutputToMachineList(tileEntity, 44) + && !addMaintenanceToMachineList(tileEntity, 44) + && !addDynamoToMachineList(tileEntity,44)) { + if (block == GregTech_API.sBlockCasings3 && aBaseMetaTileEntity.getMetaIDOffset(xDir + x, y, zDir + z) == 12) { + casingAmount++; + } else { + return false; + } + } + } + } + } + return casingAmount >= 10 && mDynamoHatches.size() == 1 ; + } + + @Override + public int getMaxEfficiency(ItemStack aStack) { + return 0; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } + + @Override + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new MultiNqGenerator(this.mName); + } + + @Override + public String[] getDescription() { + return new String[0]; + } + + @Override + @SuppressWarnings("ALL") + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { + if(aSide == aFacing){ + if(aActive) return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[44],new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE)}; + return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[44],new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_FRONT)}; + } + return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[44]}; + } +} diff --git a/src/main/java/GoodGenerator/Client/ClientProxy.java b/src/main/java/GoodGenerator/Client/ClientProxy.java new file mode 100644 index 0000000000..837f7fdcc6 --- /dev/null +++ b/src/main/java/GoodGenerator/Client/ClientProxy.java @@ -0,0 +1,21 @@ +package GoodGenerator.Client; + +import GoodGenerator.Common.CommonProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; + +public class ClientProxy extends CommonProxy { + @Override + public void preInit(FMLPreInitializationEvent event){ + super.preInit(event); + } + @Override + public void init(FMLInitializationEvent event){ + super.init(event); + } + @Override + public void postInit(FMLPostInitializationEvent event){ + super.postInit(event); + } +} diff --git a/src/main/java/GoodGenerator/Common/CommonProxy.java b/src/main/java/GoodGenerator/Common/CommonProxy.java new file mode 100644 index 0000000000..28e9063294 --- /dev/null +++ b/src/main/java/GoodGenerator/Common/CommonProxy.java @@ -0,0 +1,11 @@ +package GoodGenerator.Common; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; + +public class CommonProxy { + public void preInit(FMLPreInitializationEvent event){} + public void init(FMLInitializationEvent event){} + public void postInit(FMLPostInitializationEvent event){} +} diff --git a/src/main/java/GoodGenerator/Items/MyItemBlocks.java b/src/main/java/GoodGenerator/Items/MyItemBlocks.java new file mode 100644 index 0000000000..38082cda0b --- /dev/null +++ b/src/main/java/GoodGenerator/Items/MyItemBlocks.java @@ -0,0 +1,52 @@ +package GoodGenerator.Items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.util.GT_LanguageManager; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import GoodGenerator.Main.GoodGenerator; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class MyItemBlocks extends ItemBlock { + private final String mNoMobsToolTip = GT_LanguageManager.addStringLocalization("gt.nomobspawnsonthisblock", "Mobs cannot Spawn on this Block"); + private final String mNoTileEntityToolTip = GT_LanguageManager.addStringLocalization("gt.notileentityinthisblock", "This is NOT a TileEntity!"); + + + public MyItemBlocks(Block block){ + super(block); + this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setCreativeTab(GoodGenerator.GG); + } + + @Override + public int getMetadata(int aMeta) { + return aMeta; + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + return this.field_150939_a.getUnlocalizedName() + "." + this.getDamage(aStack); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(ItemStack stack, int pass) { + return this.field_150939_a.getIcon(0, stack.getItemDamage()); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int p_77618_1_, int p_77618_2_) { + return this.field_150939_a.getIcon(0, p_77618_2_); + } +} diff --git a/src/main/java/GoodGenerator/Items/MyItems.java b/src/main/java/GoodGenerator/Items/MyItems.java new file mode 100644 index 0000000000..126880a247 --- /dev/null +++ b/src/main/java/GoodGenerator/Items/MyItems.java @@ -0,0 +1,26 @@ +package GoodGenerator.Items; + +import GoodGenerator.Main.GoodGenerator; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; + +public class MyItems extends Item { + + private final String tex; + + public MyItems(String name, CreativeTabs Tab){ + this.setUnlocalizedName(name); + this.setCreativeTab(Tab); + this.tex = name; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + this.itemIcon = iconRegister.registerIcon(GoodGenerator.MOD_ID + ":" + this.tex); + } + + +} diff --git a/src/main/java/GoodGenerator/Loader/Loaders.java b/src/main/java/GoodGenerator/Loader/Loaders.java new file mode 100644 index 0000000000..11f2a9b183 --- /dev/null +++ b/src/main/java/GoodGenerator/Loader/Loaders.java @@ -0,0 +1,31 @@ +package GoodGenerator.Loader; + +import GoodGenerator.Blocks.RegularBlock.Casing; +import GoodGenerator.Blocks.TEs.MultiNqGenerator; +import GoodGenerator.Items.MyItemBlocks; +import GoodGenerator.Items.MyItems; +import GoodGenerator.Main.GoodGenerator; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GT_Values; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +public class Loaders { + + public static final Item test2 = new MyItems("test2",GoodGenerator.GG); + public static final Item test3 = new MyItems("test3",GoodGenerator.GG); + public static final Block MAR_Casing = new Casing("MAR_Casing",new String[]{ + GoodGenerator.MOD_ID+":MAR_Casing", + },GoodGenerator.GG); + public static ItemStack MAR; + + public static void Register(){ + GameRegistry.registerItem(test2,"test2"); + GameRegistry.registerItem(test3,"test3"); + GameRegistry.registerBlock(MAR_Casing, MyItemBlocks.class,"MAR_Casing"); + + Loaders.MAR = new MultiNqGenerator(12600+ (GT_Values.VN.length+5) * 8 + 1,"NaG","great naquadah reactor ").getStackForm(1L); + + } +} diff --git a/src/main/java/GoodGenerator/Main/GoodGenerator.java b/src/main/java/GoodGenerator/Main/GoodGenerator.java new file mode 100644 index 0000000000..908cf9f243 --- /dev/null +++ b/src/main/java/GoodGenerator/Main/GoodGenerator.java @@ -0,0 +1,42 @@ +package GoodGenerator.Main; + +import GoodGenerator.Common.CommonProxy; +import GoodGenerator.Loader.Loaders; +import GoodGenerator.Tabs.MyTabs; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import net.minecraft.creativetab.CreativeTabs; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.event.FMLInitializationEvent; + +@SuppressWarnings("ALL") +@Mod(modid = GoodGenerator.MOD_ID, version = GoodGenerator.VERSION) +public final class GoodGenerator { + public static final String MOD_ID = "GoodGenerator"; + public static final String VERSION = "1.0"; + + public static final CreativeTabs GG = new MyTabs("Good Generator"); + + @SidedProxy(clientSide = "GoodGenerator.Client.ClientProxy",serverSide = "GoodGenerator.Common.CommonProxy") + public static CommonProxy proxy; + + @Mod.Instance(GoodGenerator.MOD_ID) + public static GoodGenerator instance; + + @Mod.EventHandler + public static void preInit(FMLPreInitializationEvent event){ + proxy.preInit(event); + } + @Mod.EventHandler + public static void init(FMLInitializationEvent event){ + proxy.init(event); + Loaders.Register(); + } + @Mod.EventHandler + public static void postInit(FMLPostInitializationEvent event){ + proxy.postInit(event); + } + + +} diff --git a/src/main/java/GoodGenerator/Tabs/MyTabs.java b/src/main/java/GoodGenerator/Tabs/MyTabs.java new file mode 100644 index 0000000000..4a98e6ed29 --- /dev/null +++ b/src/main/java/GoodGenerator/Tabs/MyTabs.java @@ -0,0 +1,16 @@ +package GoodGenerator.Tabs; + +import GoodGenerator.Loader.Loaders; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; + +public class MyTabs extends CreativeTabs { + public MyTabs(String name){ + super(name); + } + + @Override + public Item getTabIconItem() { + return Loaders.test2; + } +} diff --git a/src/main/resources/assets/goodgenerator/textures/blocks/MAR_Casing.png b/src/main/resources/assets/goodgenerator/textures/blocks/MAR_Casing.png Binary files differnew file mode 100644 index 0000000000..c59b86c91a --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/blocks/MAR_Casing.png diff --git a/src/main/resources/assets/goodgenerator/textures/items/test2.png b/src/main/resources/assets/goodgenerator/textures/items/test2.png Binary files differnew file mode 100644 index 0000000000..0fd516231e --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/items/test2.png diff --git a/src/main/resources/assets/goodgenerator/textures/items/test3.png b/src/main/resources/assets/goodgenerator/textures/items/test3.png Binary files differnew file mode 100644 index 0000000000..0fd516231e --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/items/test3.png diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info new file mode 100644 index 0000000000..f480667560 --- /dev/null +++ b/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "examplemod", + "name": "Example Mod", + "description": "Example placeholder mod.", + "version": "${version}", + "mcversion": "${mcversion}", + "url": "", + "updateUrl": "", + "authorList": ["ExampleDude"], + "credits": "The Forge and FML guys, for making this example", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] |