-
-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Branch made using the latest Thermos source with updated libraries an…
…d working build.
- Loading branch information
0 parents
commit 3d98f86
Showing
2,333 changed files
with
281,624 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Crucible | ||
**/patches/net/minecraft/network/NetHandlerPlayServer.java.* | ||
|
||
# IntelijIDEA | ||
.gradle | ||
.idea | ||
|
||
# Compiled class file | ||
*.class | ||
|
||
# Log file | ||
*.log | ||
|
||
# BlueJ files | ||
*.ctxt | ||
|
||
# Mobile Tools for Java (J2ME) | ||
.mtj.tmp/ | ||
|
||
# Package Files # | ||
#*.jar | ||
*.war | ||
*.nar | ||
*.ear | ||
*.zip | ||
*.tar.gz | ||
*.rar | ||
|
||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
hs_err_pid* | ||
|
||
*.bat | ||
*.sh | ||
*.iml | ||
*.ipr | ||
*.iws | ||
**/target | ||
**/eclipse | ||
**/build | ||
**/.gradle |
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
 | ||
 | ||
 | ||
 | ||
 | ||
 | ||
 | ||
 | ||
 | ||
### What's Crucible? | ||
|
||
Crucible is a continuation of [Thermos](https://github.com/CyberdyneCC/Thermos) as it has been discontinued. | ||
|
||
Advantages over Thermos: | ||
+ It is now possible to build. :) | ||
+ Fixed several bugs. | ||
+ Performance Improvements. | ||
+ Updated some libraries. | ||
+ You can see more changes in the [releases](https://github.com/CrucibleMC/Crucible/releases) changelog. | ||
|
||
## Build Requirements | ||
* Java 8u101 JDK or higher | ||
* Linux (apparently the project breaks on Windows). | ||
* `JAVA_HOME` defined on your OS | ||
|
||
## Setup the Workspace | ||
* Checkout project | ||
* You can use IDE or clone from console: | ||
`git clone https://github.com/CrucibleMC/Crucible.git` | ||
* Creating the workspace | ||
* To create the workspace just run the command: `./gradlew setupCrucible` | ||
* To create the patches with the changes made just run: `./gradlew genPatches` | ||
* Building | ||
* Before you can build you must first setup the workspace! | ||
* To build just run the command: `./gradlew jar` | ||
* All builds will be in `build/distributions` | ||
* Updating sources | ||
* Update sources: `git pull origin master` | ||
* Recreate the workspace: `./gradlew clean setupCrucible` | ||
## Know incompatibilities and bugs | ||
* Industrial Craft 2 has some problems with the crucible internal chunkmap, we have a fix via [Mixins](https://github.com/CrucibleMC/Grimoire-Mixins) using [Grimoire](https://github.com/CrucibleMC/Grimoire). | ||
## Useful links | ||
+ [Spark](https://github.com/lucko/spark) "Spark is a performance profiling plugin based on sk89q's WarmRoast profiler." | ||
+ [Grimoire](https://github.com/CrucibleMC/Grimoire) "A core mod that [Grimoire-Mixins](https://github.com/CrucibleMC/Grimoire-Mixins) Modules use to be loaded up." | ||
+ [Discord](https://discord.gg/jWSTJ4d) "Our support Discord." | ||
## TODO List | ||
- [ ] Reapply patches | ||
|
||
[forge]: https://img.shields.io/badge/Minecraft%20Forge-v10.13.4.1614-green.svg "Minecraft Forge v10.13.4.1614" | ||
[mc]: https://img.shields.io/badge/Minecraft-v1.7.10-green.svg "Minecraft 1.7.10" | ||
[java]: https://img.shields.io/badge/Java%20JDK-v1.8-blue.svg "Java JDK 8" | ||
[spigot]: https://img.shields.io/badge/Spigot-v1.7.10--R0.1--SNAPSHOT-lightgrey.svg "Spigot R0.1 Snapshot" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,269 @@ | ||
buildscript { | ||
repositories { | ||
jcenter() | ||
maven { | ||
name 'prok' | ||
url 'https://github.com/juanmuscaria/maven/raw/master/ThermosLibs' | ||
} | ||
maven { | ||
name 'forge' | ||
url 'http://files.minecraftforge.net/maven/' | ||
} | ||
maven { | ||
name 'sonatype' | ||
url 'http://oss.sonatype.org/content/repositories/snapshots/' | ||
} | ||
maven { | ||
name 'spigot' | ||
url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' | ||
} | ||
flatDir { | ||
dirs 'libs' | ||
} | ||
} | ||
dependencies { | ||
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' | ||
classpath files('CrucibleGradle-1.0.jar') | ||
} | ||
} | ||
|
||
task wrapper(type: Wrapper) { | ||
gradleVersion = '2.8' | ||
} | ||
|
||
apply plugin: 'maven' | ||
apply plugin: 'crucible' | ||
apply plugin: 'maven-publish' | ||
apply plugin: 'signing' | ||
apply plugin: 'base' | ||
|
||
repositories { | ||
jcenter() | ||
maven { | ||
name 'sonatype' | ||
url 'http://oss.sonatype.org/content/repositories/snapshots/' | ||
} | ||
maven { | ||
name 'prok' | ||
url 'https://github.com/juanmuscaria/maven/raw/master/ThermosLibs' | ||
} | ||
maven { | ||
name 'forge' | ||
url 'http://files.minecraftforge.net/maven/' | ||
} | ||
maven { | ||
name 'minecraft' | ||
url 'https://libraries.minecraft.net/' | ||
} | ||
maven { | ||
name 'spigot' | ||
url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' | ||
} | ||
|
||
flatDir { | ||
dirs 'libs' | ||
} | ||
} | ||
|
||
minecraft { | ||
version = '1.7.10' | ||
mcpVersion = '9.08' | ||
mainClass = 'cpw.mods.fml.relauncher.ServerLaunchWrapper' | ||
tweakClass = 'cpw.mods.fml.common.launcher.FMLTweaker' | ||
installerVersion = "1.4" | ||
srgExtra "PK: org/bukkit/craftbukkit org/bukkit/craftbukkit/v1_7_R4" | ||
} | ||
|
||
group = 'cruciblemc' | ||
|
||
ext.buildInfoCached = null; | ||
|
||
ext.gitInfoCached = null; | ||
|
||
def gitInfo(String key) { | ||
if (!gitInfoCached) { | ||
if (file('.git').exists()) { | ||
gitInfoCached = [ | ||
hash : ['git', 'log', "--format=%h", '-n', '1'].execute().text.trim(), | ||
fullHash: ['git', 'log', "--format=%H", '-n', '1'].execute().text.trim(), | ||
branch : System.getenv("CI_BUILD_REF_NAME") ?: ['git', 'symbolic-ref', '--short', 'HEAD'].execute().text.trim(), | ||
message : ['git', 'log', "--format=%B", '-n', '1'].execute().text.trim() | ||
] | ||
} else { | ||
gitInfoCached = [ | ||
hash : 'NOT_A_GIT', | ||
fullHash: 'NOT_A_GIT', | ||
branch : 'NOT_A_GIT', | ||
message : 'NOT_A_GIT' | ||
] | ||
} | ||
} | ||
return key ? gitInfoCached[key] : gitInfoCached; | ||
} | ||
|
||
ext.mcVersion = "1.7.10" | ||
ext.forgeVersion = "1614" | ||
ext.revision = "1.0.7" | ||
ext.crucibleVersion = "3.1" | ||
version = "${mcVersion}-${crucibleVersion}" | ||
|
||
launch4j { | ||
jreMinVersion = '1.8.0' | ||
} | ||
|
||
configurations { | ||
compile.extendsFrom exported | ||
libraries | ||
bootstrap | ||
} | ||
|
||
dependencies { | ||
bootstrap 'pw.prok:KBootstrap:0.2.+' | ||
libraries 'pw.prok:KBootstrap:0.3.2@jar' | ||
libraries 'pw.prok:Damask:0.1.2@jar' | ||
libraries 'commons-cli:commons-cli:1.3@jar' | ||
libraries 'org.slf4j:slf4j-simple:1.6.2@jar' | ||
libraries 'org.eclipse.jetty:jetty-servlet:9.0.3.v20130506@jar' | ||
libraries 'commons-io:commons-io:2.4@jar' | ||
libraries 'net.sf.opencsv:opencsv:2.0@jar' | ||
libraries 'com.beust:jcommander:1.30@jar' | ||
libraries 'net.minecraft:launchwrapper:1.12@jar' | ||
libraries 'org.ow2.asm:asm-all:5.0.3' | ||
libraries 'com.typesafe.akka:akka-actor_2.11:2.3.3' | ||
libraries 'com.typesafe:config:1.2.1' | ||
libraries 'org.scala-lang:scala-actors-migration_2.11:1.1.0' | ||
libraries 'org.scala-lang:scala-compiler:2.11.7' | ||
libraries 'org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2' | ||
libraries 'org.scala-lang.plugins:scala-continuations-plugin_2.11.2:1.0.2' | ||
libraries 'org.scala-lang:scala-library:2.11.7' | ||
libraries 'org.scala-lang:scala-parser-combinators:2.11.0-M4' | ||
libraries 'org.scala-lang:scala-reflect:2.11.7' | ||
libraries 'org.scala-lang:scala-swing:2.11.0-M7' | ||
libraries 'org.scala-lang:scala-xml:2.11.0-M4' | ||
libraries 'net.sf.jopt-simple:jopt-simple:5.0.1' | ||
libraries 'lzma:lzma:0.0.1' | ||
libraries 'org.yaml:snakeyaml:1.21' | ||
libraries 'commons-lang:commons-lang:2.6' | ||
libraries 'org.avaje:ebean:2.7.3' | ||
libraries 'jline:jline:2.6' | ||
libraries 'net.md-5:SpecialSource:1.7.4' | ||
libraries 'net.sourceforge.argo:argo:2.25' | ||
libraries 'com.googlecode.json-simple:json-simple:1.1' | ||
libraries 'org.xerial:sqlite-jdbc:3.7.2' | ||
libraries 'mysql:mysql-connector-java:5.1.14' | ||
libraries 'javax.persistence:persistence-api:1.0.2' | ||
libraries 'net.minecraft:server:1.7.10' | ||
libraries 'pw.prok:KImagine:0.2.0@jar' | ||
libraries 'org.apache.httpcomponents:httpclient:4.4.1' | ||
libraries 'net.openhft:affinity:3.0.1' | ||
libraries 'org.fusesource.jansi:jansi:1.11' | ||
libraries 'com.koloboke:koloboke-impl-jdk8:1.0.0' | ||
libraries 'java3d:vecmath:1.3.1' | ||
libraries 'it.unimi.dsi:fastutil:8.2.2' | ||
libraries fileTree(dir: "libs", include: "*.jar") | ||
} | ||
|
||
packageUniversal { | ||
from { configurations.exported.collect { it.isDirectory() ? it : zipTree(it) } } | ||
} | ||
|
||
def String repeat(String string, int times) { | ||
StringBuilder builder = new StringBuilder(string.length() * times) | ||
times.times { builder.append(string) } | ||
builder as String | ||
} | ||
|
||
def generateClasspath(boolean legacy = false) { | ||
def classpath = '' | ||
configurations.libraries.resolvedConfiguration.resolvedArtifacts.collect { it.moduleVersion.id }.each { | ||
def jar = "${it.group.replace('.', '/')}/${it.name}/${it.version}/${it.name}-${it.version}.jar" | ||
classpath += " ${legacy ? 'libraries/' : repeat('../', (group as String).split('\\.').length + 2)}${jar}" | ||
} | ||
return classpath.trim() | ||
} | ||
|
||
def generateManifest(boolean legacy = false) { | ||
[ | ||
'Thermos-Git-Branch' : gitInfo('branch'), | ||
'Thermos-Git-Hash' : gitInfo('fullHash'), | ||
'Thermos-Group' : project.group, | ||
'Thermos-Channel' : project.name, | ||
'Thermos-Version' : project.version, | ||
'Thermos-Legacy' : legacy, | ||
'Implementation-Vendor' : 'CyberdyneCC', | ||
'Implementation-Title' : project.name, | ||
'Implementation-Version': project.version, | ||
'Specification-Vendor' : 'Bukkit Team', | ||
'Specification-Title' : 'Bukkit', | ||
'Specification-Version' : '1.7.10-R0.1-SNAPSHOT', | ||
'Forge-Version' : '10.13.4.1614', | ||
'TweakClass' : 'cpw.mods.fml.common.launcher.FMLTweaker', | ||
'Main-Class' : 'cpw.mods.fml.relauncher.ServerLaunchWrapper', | ||
'Class-Path' : generateClasspath(legacy) | ||
] | ||
} | ||
|
||
tasks.packageUniversal { | ||
classifier = 'server' | ||
setManifest {} | ||
manifest.attributes(generateManifest(true)) | ||
} | ||
|
||
task jar(type: Jar, dependsOn: packageUniversal) { | ||
destinationDir file("${buildDir}/distributions") | ||
from zipTree(tasks.packageUniversal.archivePath) | ||
manifest.attributes(generateManifest()) | ||
} | ||
|
||
tasks.packageInstaller.onlyIf { false } | ||
|
||
tasks.generateProjectCauldron << { | ||
def file = new File('eclipse/cauldron/build.gradle') | ||
file.append(''' | ||
repositories { | ||
clear() | ||
maven { | ||
name 'prok' | ||
url 'https://github.com/juanmuscaria/maven/raw/master/ThermosLibs' | ||
} | ||
maven { | ||
name 'forge' | ||
url 'http://files.minecraftforge.net/maven/' | ||
} | ||
maven { | ||
name 'minecraft' | ||
url 'https://libraries.minecraft.net/' | ||
} | ||
mavenCentral() | ||
mavenLocal() | ||
} | ||
sourceCompatibility = 1.8 | ||
targetCompatibility = 1.8 | ||
dependencies { | ||
''') | ||
configurations.libraries.resolvedConfiguration.resolvedArtifacts.collect { it.moduleVersion.id }.each { module -> | ||
if (['net.minecraft:server:', 'org.ow2.asm:asm-all'].findAll { (module as String).startsWith it }.size() > 0) { | ||
return | ||
} | ||
file.append(" compile '${module}'\n") | ||
} | ||
file.append('}') | ||
} | ||
|
||
task resolveAllDependencies { | ||
doLast { | ||
configurations.each { it.resolve() } | ||
} | ||
} | ||
|
||
task copyLibs( type: Copy ) { | ||
into "$buildDir/libs/lib" | ||
from configurations.libraries | ||
} | ||
|
||
subprojects { | ||
apply plugin: 'java' | ||
repositories { | ||
mavenCentral() | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Eclipse stuff | ||
/.classpath | ||
/.project | ||
/.settings | ||
|
||
# netbeans | ||
/nbproject | ||
|
||
# we use maven! | ||
/build.xml | ||
|
||
# maven | ||
/target | ||
|
||
# vim | ||
.*.sw[a-p] | ||
|
||
# various other potential build files | ||
/build | ||
/bin | ||
/dist | ||
/manifest.mf | ||
|
||
# Mac filesystem dust | ||
.DS_Store | ||
|
||
# intellij | ||
*.iml | ||
*.ipr | ||
*.iws | ||
.idea/ |
Oops, something went wrong.