Распространённые языки

1,470
19
189
Я думаю стоит добавить в "Распространённые языки" Java, JSON и прочие языки для майна. И убрать те web языки
 
  • Like
Реакции: CMTV

CMTV

Основатель
Администратор
1,304
4
601
Тоже об этом подумал. Сейчас попробую. Я хотел это сделать еще до перехода, но что-то меня остановило...
 
1,470
19
189
А web языки можно убрать?
 

CMTV

Основатель
Администратор
1,304
4
601
Ок уберу. Сегодня не получается поставить доп. языки. Сделаю завтра утром.
 

CMTV

Основатель
Администратор
1,304
4
601
Убрал веб языки из распространенных. По поводу новых - похоже, что в движке есть баг. Я его уже зарепортил. Будем ждать ответа. Пока попытаюсь внедрить их с помощью грязных хаков.
 

CMTV

Основатель
Администратор
1,304
4
601
Через хаки сделать не получилось. Придется ждать, пока баг не поправят. Так что пока без Scala/Kotlin.
 

CMTV

Основатель
Администратор
1,304
4
601
Так. В новой версии пофиксили баг с языками. Скоро добавлю новые.
 

CMTV

Основатель
Администратор
1,304
4
601
Scala:
object addressbook {

  case class Person(name: String, age: Int)

  /** An AddressBook takes a variable number of arguments
   *  which are accessed as a Sequence
   */
  class AddressBook(a: Person*) {
    private val people: List[Person] = a.toList

    /** Serialize to XHTML. Scala supports XML literals
     *  which may contain Scala expressions between braces,
     *  which are replaced by their evaluation
     */
    def toXHTML =
      <table cellpadding="2" cellspacing="0">
        <tr>
          <th>Name</th>
          <th>Age</th>
        </tr>
        { for (val p <- people) yield
            <tr>
              <td> { p.name } </td>
              <td> { p.age.toString() } </td>
            </tr>
        }
      </table>;
  }

  /** We introduce CSS using raw strings (between triple
   *  quotes). Raw strings may contain newlines and special
   *  characters (like \) are not interpreted.
   */
  val header =
    <head>
      <title>
        { "My Address Book" }
      </title>
      <style type="text/css"> {
     """table { border-right: 1px solid #cccccc; }
        th { background-color: #cccccc; }
        td { border-left: 1px solid #acacac; }
        td { border-bottom: 1px solid #acacac;"""}
      </style>
    </head>;

  val people = new AddressBook(
    Person("Tom", 20),
    Person("Bob", 22),
    Person("James", 19));

  val page =
    <html>
      { header }
      <body>
       { people.toXHTML }
      </body>
    </html>;

  def main(args: Array[String]) {
    println(page)
  }
}
 

CMTV

Основатель
Администратор
1,304
4
601
Kotlin:
fun sayHello(maybe: String?, neverNull: Int) {
   // use of elvis operator
   val name: String = maybe ?: "stranger"
   println("Hello $name")
}
 

CMTV

Основатель
Администратор
1,304
4
601
О да!

Теперь на форуме можно использовать все языки, связанные с созданием Minecraft модов! Крутота!
 
1,470
19
189
Рад что моё предложение приняли
 

CMTV

Основатель
Администратор
1,304
4
601
О. Спасибо. Все искал, что за синтаксис в gradle используется. Добавлю!
 

CMTV

Основатель
Администратор
1,304
4
601
Gradle (Groovy):
buildscript {
    repositories {
        jcenter()
        maven { url = "http://files.minecraftforge.net/maven" }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}
apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.


version = "1.0"
group = "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"

sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
compileJava {
    sourceCompatibility = targetCompatibility = '1.8'
}

minecraft {
    version = "1.12-14.21.1.2387"
    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 always work.
    // simply re-run your setup task after changing the mappings to update your workspace.
    mappings = "snapshot_20170624"
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}

jar {
    manifest {
        attributes 'FMLAT': 'example_at.cfg'
    }
}

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 except the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}
 

CMTV

Основатель
Администратор
1,304
4
601
Добавил поддержку Groovy. Сделал Java языком для вставки кода по умолчанию.
 
Сверху