Jump to content

Can't exclude resources?


kenzierocks

Recommended Posts

I was moving in some of my .xcf files from GIMP to sit with the assets, and I didn't want them in the end user jar so I tried to exclude the xcfs folder I have under resources. However, regardless of how I do it, it ends up in the jar anyways.

 

Here's the build.gradle:

 

buildscript {

    repositories {

        mavenCentral()

        maven {

            name = "forge"

            url = "http://files.minecraftforge.net/maven"

        }

        maven {

            name = "sonatype"

            url = "https://oss.sonatype.org/content/repositories/snapshots/"

        }

    }

    dependencies {

        classpath 'net.minecraftforge.gradle:ForgeGradle:1.1-SNAPSHOT'

    }

}

 

apply plugin: 'forge'

 

version = "1.7.2-0.0.5a"

group= "com.techshroom.crystalix" // http://maven.apache.org/guides/mini/guide-naming-conventions.html

archivesBaseName = "crystalix"

 

minecraft {

    version = "1.7.2-10.12.0.1047"

    assetDir = "eclipse/assets"

}

sourceSets.main{

    java {

        srcDirs 'src'

    }

    resources {

        srcDirs 'resources'

    }

}

sourceSets.main.resources.exclude 'xcfs/**'

 

processResources {

    // replace stuff in mcmod.info, nothing else

    from(sourceSets.main.resources.srcDirs) {

        include 'mcmod.info'

    // replace $version and $mcversion

        expand 'version':project.version, 'mcversion':project.minecraft.version

    }

 

    // copy everything else, thats not the mcmod.info

    from(sourceSets.main.resources.srcDirs) {

        exclude 'mcmod.info'

    }

}

 

 

Link to comment
Share on other sites

I was moving in some of my .xcf files from GIMP to sit with the assets, and I didn't want them in the end user jar so I tried to exclude the xcfs folder I have under resources. However, regardless of how I do it, it ends up in the jar anyways.

 

gradle does not use your IDE's exclude setting when it builds. If they are in the assets folder they get included in the jar when you gradle build.

Link to comment
Share on other sites

I was moving in some of my .xcf files from GIMP to sit with the assets, and I didn't want them in the end user jar so I tried to exclude the xcfs folder I have under resources. However, regardless of how I do it, it ends up in the jar anyways.

 

gradle does not use your IDE's exclude setting when it builds. If they are in the assets folder they get included in the jar when you gradle build.

 

I know that, if you look at the build.gradle you'll notice I have an exclude right there.

Link to comment
Share on other sites

With build.gradle as:

buildscript {

    repositories {

        mavenCentral()

        maven {

            name = "forge"

            url = "http://files.minecraftforge.net/maven"

        }

        maven {

            name = "sonatype"

            url = "https://oss.sonatype.org/content/repositories/snapshots/"

        }

    }

    dependencies {

        classpath 'net.minecraftforge.gradle:ForgeGradle:1.1-SNAPSHOT'

    }

}

 

apply plugin: 'forge'

 

version = "1.7.2-0.0.5a"

group= "com.techshroom.crystalix" // http://maven.apache.org/guides/mini/guide-naming-conventions.html

archivesBaseName = "crystalix"

 

minecraft {

    version = "1.7.2-10.12.0.1047"

    assetDir = "eclipse/assets"

}

sourceSets.main{

    java {

        srcDirs 'src'

    }

    resources {

        srcDirs 'resources'

    }

}

 

processResources {

    // replace stuff in mcmod.info, nothing else

    from(sourceSets.main.resources.srcDirs) {

        include 'mcmod.info'

    // replace $version and $mcversion

        expand 'version':project.version, 'mcversion':project.minecraft.version

    }

 

    // copy everything else, thats not the mcmod.info

    from(sourceSets.main.resources.srcDirs) {

        exclude 'mcmod.info'

        exclude 'xcfs/**'

    }

}

 

 

 

Same thing.

Link to comment
Share on other sites

  • 10 months later...

Apologies for necro-posting, but since this is the top google result for "forge gradle exclude xcf files from jar", I thought I should put in my solution.

 

You can exclude using sourceSets, like this

 

sourceSets {

    main {

        resources {

            exclude '**/xcf_folder_name/*'

            exclude 'resources/assets/<modname>/path/to/xcf/folder/xcf_folder_name'

        }

    }

}

 

 

So, for my mod (Minechem), I use this:

 

sourceSets {

    main {

        resources {

            exclude '**/xcf/*'

            exclude 'resources/assets/minechem/xcf'

        }

    }

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Add crash-reports with sites like https://paste.ee/ Maybe an issue with blur, essentials or cumulus_menus
    • Add the crash-report or latest.log (logs-folder) with sites like https://paste.ee/ and paste the link to it here  
    • I have a problem, I am trying to put two different effects to two different armors but when I run it only the emerald armor effect works. This is the code public class ModArmorItem extends ArmorItem{ private static final Map<ArmorMaterial, MobEffectInstance> MATERIAL_TO_EFFECT_MAP = (new ImmutableMap.Builder<ArmorMaterial, MobEffectInstance>()) .put(ModArmorMaterials.EMERALD, new MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE,200, 1,false,false, true)) .put(ModArmorMaterials.OBSIDIAN, new MobEffectInstance(MobEffects.FIRE_RESISTANCE,200, 1,false,false, true)).build(); public ModArmorItem(ArmorMaterial pMaterial, Type pType, Properties pProperties) { super(pMaterial, pType, pProperties); } @Override public void onArmorTick(ItemStack stack, Level world, Player player){ if (!world.isClientSide()) { if (hasFullSuitOfArmorOn(player)) { evaluateArmorEffects(player); } } } private void evaluateArmorEffects(Player player) { for (Map.Entry<ArmorMaterial,MobEffectInstance> entry : MATERIAL_TO_EFFECT_MAP.entrySet()){ ArmorMaterial mapArmorMaterial = entry.getKey(); MobEffectInstance mapStatusEffect = entry.getValue(); if (hasCorrectArmorOn(mapArmorMaterial, player)) { addStatusEffectForMaterial(player, mapArmorMaterial, mapStatusEffect); } } } private void addStatusEffectForMaterial(Player player, ArmorMaterial mapArmorMaterial, MobEffectInstance mapStatusEffect) { boolean hasPlayerEffect = player.hasEffect(mapStatusEffect.getEffect()); if (hasCorrectArmorOn(mapArmorMaterial, player) && !hasPlayerEffect) { player.addEffect(new MobEffectInstance(mapStatusEffect)); } } private boolean hasCorrectArmorOn(ArmorMaterial material, Player player) { for (ItemStack armorStack : player.getInventory().armor){ if (!(armorStack.getItem() instanceof ArmorItem)) { return false; } } ArmorItem helmet = ((ArmorItem)player.getInventory().getArmor(3).getItem()); ArmorItem breastplace = ((ArmorItem)player.getInventory().getArmor(2).getItem()); ArmorItem leggins = ((ArmorItem)player.getInventory().getArmor(1).getItem()); ArmorItem boots = ((ArmorItem)player.getInventory().getArmor(0).getItem()); return helmet.getMaterial() == material && breastplace.getMaterial() == material && leggins.getMaterial() == material && boots.getMaterial() == material; } private boolean hasFullSuitOfArmorOn(Player player){ ItemStack helmet = player.getInventory().getArmor(3); ItemStack breastplace = player.getInventory().getArmor(2); ItemStack leggins = player.getInventory().getArmor(1); ItemStack boots = player.getInventory().getArmor(0); return !helmet.isEmpty() && !breastplace.isEmpty() && !leggins.isEmpty() && !boots.isEmpty(); } } Also when I place two effects on the same armor, the game crashes. Here is the crash file. The code is the same, only this part is different   private static final Map<ArmorMaterial, MobEffectInstance> MATERIAL_TO_EFFECT_MAP = (new ImmutableMap.Builder<ArmorMaterial, MobEffectInstance>()) .put(ModArmorMaterials.EMERALD, new MobEffectInstance(MobEffects.HERO_OF_THE_VILLAGE,200, 1,false,false, true)) .put(ModArmorMaterials.EMERALD, new MobEffectInstance(MobEffects.FIRE_RESISTANCE,200, 1,false,false, true)).build(); I hope you guys can help me. Thanks.
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.