Jump to content

NovaViper

Forge Modder
  • Posts

    1061
  • Joined

  • Last visited

Posts posted by NovaViper

  1. I've noticed a bug every so often I try to create a new world or enter a world. The game would finish creating it, but then when it gets to sending me to the world, it spits out this long error and it displays '0%' on the screen. I'm using Forge 14.21.1.2413 with several mods that I'm using to create a modpack. Here's my FML Log

  2. I'm trying to revive this mod (Doggy Talents) that the author created about a year ago since everyone (including myself) has enjoyed it. The mod only got to 1.8.4 but stopped at that version, the author hasn't been on since. Since 1.8, many, many things in Minecraft as far as coding has changed (in addition to the fact that I haven't modded in nearly 3 years now), it's becoming a pain in the butt. So far I have gotten a good bit of the changes converted over becaused I compared the code with my previous works (Zero Quest, TetraCraft, and Cryogenic Library) however, there are still many problems I am encountering because of the major changes. I've complied up a list of current issues I'm having with updating the code, which is the following:

     

    1. Can't find an alternative method for StatCollector, which Doggy Talents utilizes for collecting and translating string components to text
    2. Adding Tile Entities to Blocks and the methods inside Tile Entities
    3. Adding custom block boundaries
    4. Getting the entity (i.e player) that is riding on another (i.e. horse) or entity (i.e. horse) that is being ridden on

     

    There might be more I'm missing, but I spot more I'll add onto this list. Also, here is the source code to the forked repository

    • Like 1
  3. For some reason, I keep on getting this error:

     

    * What went wrong:
    Unable to start the daemon process.
    This problem might be caused by incorrect configuration of the daemon.
    For example, an unrecognized jvm option is used.
    Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14/userguide/gradle_daemon.html
    Please read the following process output to find out more:
    -----------------------
    Error occurred during initialization of VM
    Could not reserve enough space for 2097152KB object heap

     

    I've added the gradle.properties and used the one that came with the mdk but I keep on getting this error. Anyone knows what I could be doing wrong?

  4. Hey, it's been a while since I modded and with 1.9 and 1.10, what has changed with dimensions and biomes? I do notice that BiomeGenBase does not exist any longer, and the dimension register uses DimensionType instead of ids. My previous mod, Zero Quest used some of these methods located in here and here. I'm basically starting over with a new mod, called TetraCraft and I'm wondering what has changed so far and how can I use the changes.

    Source Code for Zero Quest is here.

  5. Hey, I'm trying to restrict my mods' accepted minecraft versions. For some reason I have the mod set to 1.9.4, but it still activates in 1.10.2. I'm trying to figure out how to make the two versions restricted from running each other

     

     

    Here is the Source code:

    Main Library Mod: https://github.com/NovaViper/Cryogenic-Library

    New Mod using the Library Mod: https://github.com/NovaViper/TetraCraft

  6. For some reason, whenever I kill the custom entity I made, no items drop and this is error occurs:

     

     

    [10:31:45] [server thread/ERROR]: Couldn't load loot table tetracraft:entities/terrakon from file:/C:/Users/novag/MEGA/Minecraft/1.9.4/classes/production/1.9.4_main/assets/tetracraft/loot_tables/entities/terrakon.json
    com.google.gson.JsonParseException: Loot Table "tetracraft:entities/terrakon" Missing `name` entry for pool #0
       at net.minecraftforge.common.ForgeHooks.readPoolName(ForgeHooks.java:1094) ~[ForgeHooks.class:?]
       at net.minecraft.world.storage.loot.LootPool$Serializer.deserialize(LootPool.java:152) ~[LootPool$Serializer.class:?]
       at net.minecraft.world.storage.loot.LootPool$Serializer.deserialize(LootPool.java:147) ~[LootPool$Serializer.class:?]
       at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
       at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) ~[TypeAdapterRuntimeTypeWrapper.class:?]
       at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72) ~[ArrayTypeAdapter.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:868) ~[Gson.class:?]
       at com.google.gson.Gson$1.deserialize(Gson.java:126) ~[Gson$1.class:?]
       at net.minecraft.util.JsonUtils.deserializeClass(JsonUtils.java:378) ~[JsonUtils.class:?]
       at net.minecraft.util.JsonUtils.deserializeClass(JsonUtils.java:400) ~[JsonUtils.class:?]
       at net.minecraft.world.storage.loot.LootTable$Serializer.deserialize(LootTable.java:209) ~[LootTable$Serializer.class:?]
       at net.minecraft.world.storage.loot.LootTable$Serializer.deserialize(LootTable.java:204) ~[LootTable$Serializer.class:?]
       at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:768) ~[Gson.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:717) ~[Gson.class:?]
       at com.google.gson.Gson.fromJson(Gson.java:689) ~[Gson.class:?]
       at net.minecraftforge.common.ForgeHooks.loadLootTable(ForgeHooks.java:1018) ~[ForgeHooks.class:?]
       at net.minecraft.world.storage.loot.LootTableManager$Loader.loadBuiltinLootTable(LootTableManager.java:148) [LootTableManager$Loader.class:?]
       at net.minecraft.world.storage.loot.LootTableManager$Loader.load(LootTableManager.java:71) [LootTableManager$Loader.class:?]
       at net.minecraft.world.storage.loot.LootTableManager$Loader.load(LootTableManager.java:52) [LootTableManager$Loader.class:?]
       at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
       at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
       at net.minecraft.world.storage.loot.LootTableManager.getLootTableFromLocation(LootTableManager.java:39) [LootTableManager.class:?]
       at net.minecraft.entity.EntityLiving.dropLoot(EntityLiving.java:589) [EntityLiving.class:?]
       at net.minecraft.entity.EntityLivingBase.onDeath(EntityLivingBase.java:1164) [EntityLivingBase.class:?]
       at net.minecraft.entity.passive.EntityTameable.onDeath(EntityTameable.java:279) [EntityTameable.class:?]
       at net.minecraft.entity.EntityLivingBase.attackEntityFrom(EntityLivingBase.java:1056) [EntityLivingBase.class:?]
       at net.minecraft.entity.passive.EntityAnimal.attackEntityFrom(EntityAnimal.java:80) [EntityAnimal.class:?]
       at com.novaviper.tetracraft.common.entity.EntityTerrakon.attackEntityFrom(EntityTerrakon.java:171) [EntityTerrakon.class:?]
       at net.minecraft.entity.projectile.EntityArrow.onHit(EntityArrow.java:380) [EntityArrow.class:?]
       at net.minecraft.entity.projectile.EntityArrow.onUpdate(EntityArrow.java:280) [EntityArrow.class:?]
       at net.minecraft.entity.projectile.EntityTippedArrow.onUpdate(EntityTippedArrow.java:87) [EntityTippedArrow.class:?]
       at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2095) [World.class:?]
       at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:872) [WorldServer.class:?]
       at net.minecraft.world.World.updateEntity(World.java:2061) [World.class:?]
       at net.minecraft.world.World.updateEntities(World.java:1881) [World.class:?]
       at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:644) [WorldServer.class:?]
       at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:781) [MinecraftServer.class:?]
       at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:685) [MinecraftServer.class:?]
       at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:155) [integratedServer.class:?]
       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:534) [MinecraftServer.class:?]
       at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
    

     

     

     

    The Lootable was working before I upgraded to 1.9.4. My code is here:

     

    Entity

     

    package com.novaviper.tetracraft.common.entity;
    import com.google.common.base.Predicate;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityAgeable;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.ai.*;
    import net.minecraft.entity.passive.EntityAnimal;
    import net.minecraft.entity.passive.EntityCow;
    import net.minecraft.entity.passive.EntityRabbit;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.projectile.EntityArrow;
    import net.minecraft.init.Items;
    import net.minecraft.init.SoundEvents;
    import net.minecraft.inventory.EntityEquipmentSlot;
    import net.minecraft.item.EnumDyeColor;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemFood;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.*;
    import net.minecraft.util.math.BlockPos;
    import net.minecraft.util.text.TextComponentTranslation;
    import net.minecraft.world.World;
    import com.novaviper.cryolib.common.helper.ChatHelper;
    import com.novaviper.tetracraft.common.init.ModItems;
    import com.novaviper.tetracraft.common.init.ModLootTables;
    import com.novaviper.tetracraft.common.util.ItemUtils;
    import com.novaviper.cryolib.lib.Constants;
    import com.novaviper.tetracraft.common.init.ModSoundEvents;
    
    import java.util.UUID;
    
    /**
    * @author NovaViper
    * @date 7/10/2016
    * @purpose Main Entity class for the Terrakon
    */
    public class EntityTerrakon extends EntityModRideableTameable {
    
       public EntityTerrakon(World worldIn) {
          super(worldIn);
          this.setSize(1f, 1.5f);
          this.setTamed(false);
       }
    
       @Override
       protected void initEntityAI() {
          this.tasks.addTask(1, new EntityAISwimming(this));
          this.tasks.addTask(2, this.aiSit = new EntityAISit(this));
          this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F));
          this.tasks.addTask(4, new EntityAIAttackMelee(this, 1.0D, true));
          this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F));
          this.tasks.addTask(6, new EntityAIMate(this, 1.0D));
          this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
          this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
          this.tasks.addTask(9, new EntityAILookIdle(this));
          this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this));
          this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this));
          this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true, new Class[0]));
          this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityAnimal.class, false, new Predicate<Entity>()
          {
             public boolean apply(Entity entity)
             {
                return entity instanceof EntityCow || entity instanceof EntityRabbit;
             }
          }));
          //this.targetTasks.addTask(5, new EntityAINearestAttackableTarget(this, EntitySkeleton.class, false));
       }
    
       @Override
       protected void applyEntityAttributes() {
          super.applyEntityAttributes();
          this.updateEntityAttributes();
       }
    
       @Override
       public void updateEntityAttributes() {
          this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.40000001192092896D);
          if (this.isTamed()) {
             if (!this.isChild()) {
                this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(50.0D);
                this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(6.0D);
             } else {
                this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10.0D);
                this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.0D);
             }
    
          } else {
             if (!this.isChild()) {
                this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(40.0D);
                this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(6.0D);
             } else {
                this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10.0D);
                this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.0D);
             }
          }
       }
    
       @Override
       protected SoundEvent getStepSound() {
          return SoundEvents.ENTITY_WOLF_STEP;
       }
    
       @Override
       protected SoundEvent getFallSound() {
          return SoundEvents.ENTITY_GENERIC_SMALL_FALL;
       }
    
       @Override
       protected SoundEvent getGallopSound() {
          return SoundEvents.ENTITY_HORSE_GALLOP;
       }
    
       @Override
       protected SoundEvent getHurtSound() {
          return ModSoundEvents.terrakonHurt;
       }
    
       @Override
       protected SoundEvent getDeathSound() {
          return ModSoundEvents.terrakonDeath;
       }
    
       @Override
       protected SoundEvent getAmbientSound() {
          return isAngry() ? ModSoundEvents.terrakonGrowl : rand.nextInt(3) == 0
                ? isTamed() && getHealth() <= Constants.LOW_HP ? ModSoundEvents.terrakonWhine
                : ModSoundEvents.terrakonPanting : ModSoundEvents.terrakonBark;
       }
    
       /**
        * Returns the volume for the sounds this mob makes.
        */
       @Override
       public float getSoundVolume() {
          return 2F;
       }
    
       /**
        * Gets the pitch of living sounds in living entities.
        */
       @Override
       public float getPitch() {
          if (!isChild()) {
             return super.getSoundPitch();
          } else {
             return super.getSoundPitch() * 1;
          }
       }
    
    
       /**
        * Called when the entity is attacked.
        */
       @Override
       public boolean attackEntityFrom(DamageSource source, float amount) {
          if (this.isEntityInvulnerable(source)) {
             return false;
          } else {
             Entity entity = source.getEntity();
    
             if (this.aiSit != null) {
                this.aiSit.setSitting(false);
             }
    
             if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) {
                amount = (amount + 1.0F) / 2.0F;
             }
    
             return super.attackEntityFrom(source, amount);
          }
       }
    
       public boolean attackEntityAsMob(Entity entityIn) {
          boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), (float) ((int) this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue()));
    
          if (flag) {
             this.applyEnchantments(this, entityIn);
             this.updateEntityAttributes();
          }
    
          return flag;
       }
    
       public void setTamed(boolean tamed) {
          super.setTamed(tamed);
          this.updateEntityAttributes();
       }
    
       /**
        * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
        */
       @Override
       public boolean processInteract(EntityPlayer player, EnumHand hand, ItemStack stack) {
          if (this.isTamed()) {
             if (stack != null) {
                if (stack.getItem() instanceof ItemFood) {
                   ItemFood itemfood = null;
                   if (getHealthRelative() < 1) {
                      itemfood = (ItemFood) ItemUtils.consumeEquipped(player, EntityEquipmentSlot.MAINHAND, this.populateEatableFoods());
                      if (itemfood != null) {
                         float volume = getSoundVolume() * 1.0f;
                         float pitch = getPitch();
                         BlockPos pos = this.getPosition();
                         worldObj.playSound(player, pos.getX(), pos.getY(), pos.getZ(), SoundEvents.ENTITY_GENERIC_EAT, SoundCategory.NEUTRAL, volume, pitch);
                         this.heal(itemfood.getHealAmount(stack));
                      }
                      return true;
                   }
                } else if (ItemUtils.hasEquipped(player, EntityEquipmentSlot.MAINHAND, Items.SHEARS) && this.canInteract(player)) {
                   if (isServer()) {
                      unTame();
                      this.setSaddled(false);
                   }
                   return true;
                }
                else if (ItemUtils.hasEquipped(player, EntityEquipmentSlot.MAINHAND, Items.SADDLE) && !this.isSaddled() && isServer()) {
                   if(this.canInteract(player)) {
                      if (!this.isChild()) {
                         this.setSaddled(true);
                         this.playSound(ModSoundEvents.Saddle, 0.5F, 1.0F);
                         ItemUtils.consumeEquipped(player, EntityEquipmentSlot.MAINHAND, Items.SADDLE);
                      } else {
                         TextComponentTranslation text = ChatHelper.getChatComponentTranslation("interaction.tetracraft.entity.cannotBeRidden");
                         this.tooYoungForInteract(this, player, text);
                         return true;
                      }
                   }else{
                      this.doNotOwnMessage(this, player);
                   }
                }
                else if (ItemUtils.consumeEquipped(player, EntityEquipmentSlot.MAINHAND, Items.DYE) && this.canInteract(player)) {
                   EnumDyeColor enumdyecolor = EnumDyeColor.byDyeDamage(stack.getMetadata());
                   if (enumdyecolor != this.getCollarColor()) {
                      this.setCollarColor(enumdyecolor);
                      return true;
                   }
                }
                /*else if (stack.getItem() == Items.stick && canInteract(player))
                {
                   if (isServer()) {
                      player.openGui(TetraCraft.instance, CommonProxy.PetPack, this.worldObj, this.getEntityId(), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ));
                      this.worldObj.playSoundEffect(this.posX, this.posY + 0.5D, this.posZ, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F);
                      return true;
                   }
                }*/
             }
             if (canInteract(player) && isServer() && !this.isBreedingItem(stack)) {
                this.aiSit.setSitting(!this.isSitting());
                this.isJumping = false;
                this.navigator.clearPathEntity();
                this.setAttackTarget((EntityLivingBase)null);
             }
    
             if(this.isSaddled() && !player.onGround){
                if(this.canInteract(player)) {
                   this.makePlayerRide(player);
                }else{
                   this.doNotOwnMessage(this, player);
                }
                return true;
             }
          } else if (ItemUtils.consumeEquipped(player, EntityEquipmentSlot.MAINHAND, Items.BONE) && !this.isAngry()) {
             if (isServer()) {
                tamedFor(player, this.rand.nextInt(3) == 0);
             }
             return true;
          }
          return super.processInteract(player, hand, stack);
       }
    
       /**
        * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on
        * the animal type)
        */
       @Override
       public boolean isBreedingItem(ItemStack stack) {
          return (stack == null ? false : stack.getItem() == ModItems.breedingBone);
       }
    
       @Override
       public Item[] populateEatableFoods() {
          super.populateEatableFoods();
          Item[] food = {Items.BEEF, Items.CHICKEN, Items.PORKCHOP, Items.MUTTON, Items.RABBIT, Items.FISH,
                Items.COOKED_BEEF, Items.COOKED_CHICKEN, Items.COOKED_PORKCHOP, Items.COOKED_MUTTON, Items.COOKED_RABBIT, Items.COOKED_FISH};
    
          return food;
       }
    
       @Override
       protected ResourceLocation getLootTable() {
          return ModLootTables.LootTableTerrakon;
       }
    
       /**
        * Returns true if the mob is currently able to mate with the specified mob.
        */
    
       @Override
       public boolean canMateWith(EntityAnimal otherAnimal) {
          if (otherAnimal == this) {
             return false;
          } else if (!this.isTamed()) {
             return false;
          } else if (!(otherAnimal instanceof EntityTerrakon)) {
             return false;
          } else {
             EntityTerrakon entityTerrakon = (EntityTerrakon) otherAnimal;
             return !entityTerrakon.isTamed() ? false : (entityTerrakon.isSitting() ? false
                   : this.getGender() == entityTerrakon.getGender() ? false
                   : this.isInLove() && entityTerrakon.isInLove());
          }
       }
    
       @Override
       public EntityTerrakon createChild(EntityAgeable ageable) {
          EntityTerrakon entityTerrakon = new EntityTerrakon(this.worldObj);
          UUID uuid = this.getOwnerId();
    
          if (uuid != null) {
             entityTerrakon.setOwnerId(uuid);
             entityTerrakon.setTamed(true);
          }
    
          return entityTerrakon;
       }
    
    }

     

     

    Register

    /** * Register a {@link LootTable} with the specified ID.
    *
    * @param id The ID of the LootTable without the modID
    * @return The ID of the LootTable
    */
    public static ResourceLocation registerLootTable(String modid, String id, String location) {
        return LootTableList.register(new ResourceLocation(modid, location + "/" + id));
    }

     

     

    LootTable Loading Class

    package com.novaviper.tetracraft.common.init;
    
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.world.storage.loot.LootTable;
    import com.novaviper.cryolib.lib.Registers;
    import com.novaviper.tetracraft.lib.ModReference;
    
    /**
    * @author NovaViper
    * @date 7/10/2016
    * @purpose Defines and registers this mod's {@link LootTable}s.
    */
    public class ModLootTables {
       public static final ResourceLocation LootTableTerrakon = registerLootTable("terrakon", "entities");
    
       private static ResourceLocation registerLootTable(String entityName, String id){
          return Registers.registerLootTable(ModReference.MOD_ID, entityName, id);
       }
    }

    r]

     

     

     

    LootTable JSON

    {
      "pools": [
        {
          "rolls": 1,
          "entries": [
            {
              "type": "item",
              "name": "minecraft:slime_ball",
              "weight": 1,
              "functions": [
                {
                  "function": "set_count",
                  "count": {
                    "min": 0,
                    "max": 2
                  }
                },
                {
                  "function": "looting_enchant",
                  "count": {
                    "min": 0,
                    "max": 1
                  }
                }
              ]
            }
          ]
        }
      ]
    }

     

  7. I just figured it out after playing around with the Run configurations, I had to input the Main Class and now it starts up. Yeah so it seems to work better by loading the project as an Eclipse project instead of a Gradle project like Lex said. Buuut.. I do notice something else, it looks like the IDE isn't picking up the gradle class

  8. Welp, I got nothing from Google, I found how you could set the main class but I would get an error like this:

     

    Error: Could not find or load main class net.minecraftforge.gradle.GradleStart
    :run FAILED
    
    
    FAILURE: Build failed with an exception.
    
    
    * What went wrong:
    Execution failed for task ':run'.
    > Process 'command 'C:\Program Files\Java\jdk1.8.0_91\bin\java.exe'' finished with non-zero exit value 1
    
    
    * Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

     

     

    My configurations are like this:

    Tasks: ${project}:run

    Arguments: -PmainClass=net.minecraftforge.gradle.GradleStart

    Build.gradle:

    // For those who want the bleeding edge
    buildscript {
        repositories {
            jcenter()
            maven {
                name = "forge"
                url = "http://files.minecraftforge.net/maven"
            }
        }
        dependencies {
            classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
        }
    }
    apply plugin: 'net.minecraftforge.gradle.forge'
    
    
    /*
    // for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot
    plugins {
        id "net.minecraftforge.gradle.forge" version "2.0.2"
    }
    */
    version = "0.0.1"
    group= "com.novaviper.cryolib" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
    archivesBaseName = "CryogenicLibrary"
    
    
    srcCompat=JavaVersion.VERSION_1_8
    targetCompat=JavaVersion.VERSION_1_8
    
    
    // NetBeans will automatically add "run" and "debug" tasks relying on the                      
    // "mainClass" property. You may however define the property prior executing                   
    // tasks by passing a "-PmainClass=<QUALIFIED_CLASS_NAME>" argument.                           
    //                                                                                             
    // Note however, that you may define your own "run" and "debug" task if you                    
    // prefer. In this case NetBeans will not add these tasks but you may rely on                  
    // your own implementation.                                                                    
    if (!hasProperty('mainClass')) {
        ext.mainClass = 'net.minecraftforge.gradle.GradleStart'
    }
    
    
    minecraft {
        version = "1.9.4-12.17.0.1976"
        runDir = "run"
        
        // the mappings can be changed at any time, and must be in the following format.
        // snapshot_YYYYMMDD   snapshot are built nightly.
        // stable_#            stables are built at the discretion of the MCP team.
        // Use non-default mappings at your own risk. they may not allways work.
        // simply re-run your setup task after changing the mappings to update your workspace.
        mappings = "snapshot_20160518"
        // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
    }
    
    
    dependencies {
        // you may put jars on which you depend on in ./libs
        // or you may define them like so..
        //compile "some.group:artifact:version:classifier"
        //compile "some.group:artifact:version"
          
        // real examples
        //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev'  // adds buildcraft to the dev env
        //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
    
    
        // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
        //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
    
    
        // the deobf configurations:  'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided,
        // except that these dependencies get remapped to your current MCP mappings
        //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev'
        //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
    
    
        // for more info...
        // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
        // http://www.gradle.org/docs/current/userguide/dependency_management.html
    
    
    }
    
    
    processResources
    {
        // this will ensure that this task is redone when the versions change.
        inputs.property "version", project.version
        inputs.property "mcversion", project.minecraft.version
    
    
        // 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'
        }}

     

     

    Not sure what to do now V_V

×
×
  • Create New...

Important Information

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