diff --git a/build.gradle b/build.gradle index 8037051a67..ca058be4c4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,139 +1,50 @@ buildscript { repositories - { - mavenCentral() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - } + { + 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.2-SNAPSHOT" - } + { + classpath "net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT" + } } apply plugin: "eclipse" apply plugin: "forge" -apply plugin: "maven" loadProperties() -repositories { - maven { // The repo from which to get waila - name "Mobius Repo" - url "http://mobiusstrip.eu/maven" - } - maven { url 'http://tehnut.info/maven/' } - mavenCentral() -} - -dependencies { - compile('mcp.mobius.waila:Waila:'+config.waila_version) { - exclude group: 'mcp.mobius.waila' - } - compile "info.amerifrance.guideapi:Guide-API:"+config.minecraft_version+"-"+config.guide_api_version+":deobf" - compile group: 'org.eclipse.jdt', name: 'org.eclipse.jdt.annotation', version: '1.1.0' - } - - - -version=project.mod_version group = "de.teamlapen.vampirism" archivesBaseName= "Vampirism" -//Make sure mcmod info is updated, otherwise the version number seems to be not updated -processResources.outputs.upToDateWhen{ false } - def loadProperties(){ - ext.configFile = file "build.properties" + ext.configFile = file "build.properties" - configFile.withReader { - def prop = new Properties() - prop.load(it) - project.ext.config = new ConfigSlurper().parse prop - } - - ext.mod_version="LocalTest" - ext.buildnumber = "DEV" - if(System.getenv().CI){ - project.mod_version = System.getenv("MODVERSION") - project.buildnumber = "SNAPSHOT" - logger.lifecycle "In CI. Version: ${project.mod_version}" - } - else{ - logger.lifecycle "Local build" - } - if(System.getenv().RELEASE){ - project.buildnumber = "RELEASE" - logger.lifecycle "This is a release" + configFile.withReader { + def prop = new Properties() + prop.load(it) + project.ext.config = new ConfigSlurper().parse prop } -} - -sourceSets -{ - main - { - java { srcDirs = ["$projectDir/src/main/java"] } resources { srcDirs = ["$projectDir/src/main/resources"] } - } -} - -minecraft { - version = config.minecraft_version + "-" + config.forge_version - - replaceIn "util/REFERENCE.java" - replace "@VERSION@", "${project.mod_version}" - replace "@MVERSION@", "${config.minecraft_version}" -} - -version = "${config.minecraft_version}-${project.mod_version}" -task wrapper(type: Wrapper) { - gradleVersion = '1.11' + ext.mod_version="Test" } - -processResources { - // exclude xcf files, as they are for development only - //exclude '**/*.xcf' - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include '*.info' - // replace version and mcversion - expand 'm_version': project.mod_version, 'mc_version': project.config.minecraft_version - } - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude '**/*.info' - } -} - - -jar { - manifest { - attributes 'FMLCorePlugin': 'de.teamlapen.vampirism.coremod.VampirismFMLLoadingPlugin', - 'FMLCorePluginContainsFMLMod': 'true' - } -} - -task devJar(type: Jar, dependsOn: 'classes') { - from(sourceSets.main.output) { - include '**' - } - - extension = 'jar' - classifier = 'dev' -} - -artifacts { - archives devJar -} - +apply from: 'gradle/versioning.gradle' +apply from: 'gradle/forge.gradle' +apply from: 'gradle/dev.gradle' apply from: 'gradle/deploy.gradle' - - - +sourceSets +{ + main + { + java { srcDirs = ["$projectDir/src/main/java"] } resources { srcDirs = ["$projectDir/src/main/resources"] } + } +} \ No newline at end of file diff --git a/build.gradle.old b/build.gradle.old new file mode 100644 index 0000000000..b59f60aaf1 --- /dev/null +++ b/build.gradle.old @@ -0,0 +1,139 @@ +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.2-SNAPSHOT" + } +} + +apply plugin: "eclipse" +apply plugin: "forge" +apply plugin: "maven" + +loadProperties() + +repositories { + maven { // The repo from which to get waila + name "Mobius Repo" + url "http://mobiusstrip.eu/maven" + } + maven { url 'http://tehnut.info/maven/' } + mavenCentral() +} + +dependencies { + compile('mcp.mobius.waila:Waila:'+config.waila_version) { + exclude group: 'mcp.mobius.waila' + } + compile "info.amerifrance.guideapi:Guide-API:"+config.minecraft_version+"-"+config.guide_api_version+":deobf" + compile group: 'org.eclipse.jdt', name: 'org.eclipse.jdt.annotation', version: '1.1.0' + } + + + +version=project.mod_version +group = "de.teamlapen.vampirism" +archivesBaseName= "Vampirism" + +//Make sure mcmod info is updated, otherwise the version number seems to be not updated +processResources.outputs.upToDateWhen{ false } + +def loadProperties(){ + ext.configFile = file "build.properties" + + configFile.withReader { + def prop = new Properties() + prop.load(it) + project.ext.config = new ConfigSlurper().parse prop + } + + ext.mod_version="LocalTest" + ext.buildnumber = "DEV" + if(System.getenv().CI){ + project.mod_version = System.getenv("MODVERSION") + project.buildnumber = "SNAPSHOT" + logger.lifecycle "In CI. Version: ${project.mod_version}" + } + else{ + logger.lifecycle "Local build" + } + if(System.getenv().RELEASE){ + project.buildnumber = "RELEASE" + logger.lifecycle "This is a release" + } +} + +sourceSets +{ + main + { + java { srcDirs = ["$projectDir/src/main/java"] } resources { srcDirs = ["$projectDir/src/main/resources"] } + } +} + +minecraft { + version = config.minecraft_version + "-" + config.forge_version + + replaceIn "util/REFERENCE.java" + replace "@VERSION@", "${project.mod_version}" + replace "@MVERSION@", "${config.minecraft_version}" +} + +version = "${config.minecraft_version}-${project.mod_version}" + +task wrapper(type: Wrapper) { + gradleVersion = '1.11' +} + +processResources { + // exclude xcf files, as they are for development only + //exclude '**/*.xcf' + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include '*.info' + // replace version and mcversion + expand 'm_version': project.mod_version, 'mc_version': project.config.minecraft_version + } + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude '**/*.info' + } +} + + +jar { + manifest { + attributes 'FMLCorePlugin': 'de.teamlapen.vampirism.coremod.VampirismFMLLoadingPlugin', + 'FMLCorePluginContainsFMLMod': 'true' + } +} + +task devJar(type: Jar, dependsOn: 'classes') { + from(sourceSets.main.output) { + include '**' + } + + extension = 'jar' + classifier = 'dev' +} + +artifacts { + archives devJar +} + +apply from: 'gradle/deploy.gradle' + + + + diff --git a/build.properties b/build.properties index 979b061ddb..97439dc4e3 100644 --- a/build.properties +++ b/build.properties @@ -1,6 +1,8 @@ #29.07.14 17:00 minecraft_version = 1.7.10 forge_version = 10.13.4.1448-1.7.10 -mod_version = LocalTest guide_api_version = 1.0.1-20 waila_version = 1.5.11-RC2-NONEI_1.7.10 + +main_version = 0 +major_version = 7 diff --git a/gradle/deploy.gradle b/gradle/deploy.gradle index 2f5007b394..15fccb6754 100644 --- a/gradle/deploy.gradle +++ b/gradle/deploy.gradle @@ -4,12 +4,12 @@ curse { projectId = "233029" relatedProject 'guide-api': 'optionalLibrary' - if (project.buildnumber.equals("RELEASE")) { + if (System.getenv().RELEASE) { releaseType = 'beta' //changelog = new File("resources/changelog/${project.version}.txt").text } else { releaseType = 'alpha' - //changelog = "" + changelog = "This version should not be used in your 'productive' world. It contains the latest features, but also the latest bugs.\n Probably not all features are finished.\n To see what might have changed visit our Github page and browse the latest commits." } if(project.hasProperty("curseforge_key")) { @@ -20,6 +20,7 @@ curse { else{ apiKey = '' } + displayName= "Vampirism-${config.minecraft_version}-${project.mod_version}" addGameVersion config.minecraft_version additionalArtifact devJar } \ No newline at end of file diff --git a/gradle/dev.gradle b/gradle/dev.gradle new file mode 100644 index 0000000000..8337168d73 --- /dev/null +++ b/gradle/dev.gradle @@ -0,0 +1,12 @@ +task devJar(type: Jar, dependsOn: 'classes') { + from(sourceSets.main.output) { + include '**' + } + + extension = 'jar' + classifier = 'dev' +} + +artifacts { + archives devJar +} \ No newline at end of file diff --git a/gradle/forge.gradle b/gradle/forge.gradle new file mode 100644 index 0000000000..76ce157dbe --- /dev/null +++ b/gradle/forge.gradle @@ -0,0 +1,35 @@ +repositories { + maven { // The repo from which to get waila + name "Mobius Repo" + url "http://mobiusstrip.eu/maven" + } + maven { url 'http://tehnut.info/maven/' } + mavenCentral() +} + +dependencies { + compile('mcp.mobius.waila:Waila:'+config.waila_version) + compile "info.amerifrance.guideapi:Guide-API:"+config.minecraft_version+"-"+config.guide_api_version+":deobf" + compile group: 'org.eclipse.jdt', name: 'org.eclipse.jdt.annotation', version: '1.1.0' +} + +minecraft { + version = config.minecraft_version + "-" + config.forge_version + + replaceIn "util/REFERENCE.java" + replace "@VERSION@", "${project.mod_version}" + replace "@MVERSION@", "${config.minecraft_version}" +} + +processResources { + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include '*.info' + // replace version and mcversion + expand 'm_version': project.mod_version, 'mc_version': project.config.minecraft_version + } + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude '**/*.info' + } +} \ No newline at end of file diff --git a/gradle/versioning.gradle b/gradle/versioning.gradle new file mode 100644 index 0000000000..f79dc41eab --- /dev/null +++ b/gradle/versioning.gradle @@ -0,0 +1,27 @@ +def minor = 0 +def tag = "v0.0.-1" +try { + tag = getLatestTag() +} +catch (Exception e){ + logger.lifecycle "Failed to find the latest tag. Probably there is none." +} +def versions = tag.tokenize('.') +minor= (versions[2]).toInteger()+1 +project.mod_version="v${config.main_version}.${config.major_version}.${minor}" +if(!System.getenv().RELEASE&&System.getenv().CI){ + project.mod_version=project.mod_version+"-Alpha"+System.getenv().DRONE_BUILD_NUMBER +} +if(!System.getenv().CI){ + project.mod_version=project.mod_version+"-TEST" +} + +logger.lifecycle "Version "+project.mod_version +def getLatestTag(){ + def stdout = new ByteArrayOutputStream() + exec { + commandLine 'git','describe','--tags','--abbrev=0', "--match", "\"v${config.main_version}.${config.major_version}*\"" + standardOutput = stdout + } + return stdout.toString().trim() +} \ No newline at end of file diff --git a/release-managment.sh b/release-managment.sh index 633f20be7d..8dd05f6485 100644 --- a/release-managment.sh +++ b/release-managment.sh @@ -1,6 +1,4 @@ #!/bin/bash -#Arguments: 1:Githubowner 2:Github repository name. Same as in url -#Environment variable token:Github api token, pass:add password echo "" echo "" echo "VersionManagment:" @@ -15,55 +13,12 @@ if [[ $commsg != *"$rt"* ]] && [[ $commsg != *"$vt"* ]] ; then echo "Commit does not include #release or #build" exit 0 fi -#Get lasttag -# Does not work over multiple branches lasttag=$(git describe --abbrev=0 --tags) -lasttag=$(git describe --tags `git rev-list --tags --max-count=1`) -echo "Last tag: " $lasttag -#Get mainversion: -IFS=. read major minor build <<<"${lasttag##*v}" -echo "Old Version: "$major"."$minor"."$build -if [[ -z "$build" ]]; then - build=0 -fi #Check if release r="#release" if [[ $commsg != *"$r"* ]]; then - export MODVERSION=$major"."$minor"."$build"."$(printenv DRONE_BUILD_NUMBER) echo "Creating snapshot build: "$(printenv MODVERSION) else - recommend=1 export RELEASE=true - #Extract new version - v="VERSION:" - if [[ $commsg == *"$v"* ]]; then - echo "Found new Mainversion" - echo "${commsg##*VERSION:}" - IFS=. read major minor build <<<"${commsg##*VERSION:}" - echo "New Version:"$major"."$minor"."$build - export MODVERSION=$major"."$minor"."$build - else - build=$(($build+1)) - echo "New Version:"$major"."$minor"."$build - export MODVERSION=$major"."$minor"."$build - fi - - #Create release - fversion=$(printenv MODVERSION) - branch=$(printenv DRONE_BRANCH) - echo "Creating release for v"$fversion - API_JSON=$(printf '{"tag_name": "v%s","target_commitish": "%s","name": "v%s","body": "Release of version %s","draft": false,"prerelease": false}' $fversion $branch $fversion $fversion) - token=$(printenv TOKEN) - curl --data "$API_JSON" https://api.github.com/repos/${1}/${2}/releases?access_token=${token} fi ./gradlew setupCIWorkspace -./gradlew build curse -#Jars are already uploaded to curse by gradle -#for f in build/libs/*.jar; do -#if [[ $f == *"dev"* ]] -#then -#dev=$f; -#else -#file=$f; -#fi -#done -#curl -F "pass=$PASS" -F "file=@$file" -F "dev=@$dev" -F "recommend=$recommend" http://teamlapen.de/projects/vampirism/files/upload.php \ No newline at end of file +./gradlew build curse \ No newline at end of file diff --git a/src/main/java/de/teamlapen/vampirism/VampireLordData.java b/src/main/java/de/teamlapen/vampirism/VampireLordData.java index 4d7539bf24..ea596e72e2 100644 --- a/src/main/java/de/teamlapen/vampirism/VampireLordData.java +++ b/src/main/java/de/teamlapen/vampirism/VampireLordData.java @@ -5,7 +5,7 @@ import net.minecraft.world.WorldSavedData; /** - * Created by Max on 19.07.2015. + * Stores vampire lord informations for the map. */ public class VampireLordData extends WorldSavedData { private final static String IDENTIFIER ="vampirism_lord_data"; @@ -32,11 +32,11 @@ public VampireLordData(String identifier) { super(identifier); } - @Override public void readFromNBT(NBTTagCompound p_76184_1_) { - + @Override public void readFromNBT(NBTTagCompound nbt) { + shouldRegenerateCastleDim=nbt.getBoolean("regenerate"); } - @Override public void writeToNBT(NBTTagCompound p_76187_1_) { - + @Override public void writeToNBT(NBTTagCompound nbt) { + nbt.setBoolean("regenerate",shouldRegenerateCastleDim); } } diff --git a/src/main/java/de/teamlapen/vampirism/block/BlockCoffin.java b/src/main/java/de/teamlapen/vampirism/block/BlockCoffin.java index 5c63395b52..fe0c40036e 100644 --- a/src/main/java/de/teamlapen/vampirism/block/BlockCoffin.java +++ b/src/main/java/de/teamlapen/vampirism/block/BlockCoffin.java @@ -6,6 +6,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemDye; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentTranslation; @@ -83,7 +84,10 @@ public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer p z = te.otherZ; } if (player.isSneaking()) { - return false; + if(player.getItemInUse()!=null&&player.getItemInUse().getItem() instanceof ItemDye){ + return false; + } + } if (world.provider.canRespawnHere() && world.getBiomeGenForCoords(x, z) != BiomeGenBase.hell) {