Skip to content

Commit

Permalink
everything
Browse files Browse the repository at this point in the history
  • Loading branch information
WeAthFolD committed Oct 24, 2015
1 parent 81df0cb commit 1e116d7
Show file tree
Hide file tree
Showing 21 changed files with 9,358 additions and 2 deletions.
68 changes: 68 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
*.class
*.bat
*.setting

libs/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Icon must ends with two \r.
Icon
# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

# Windows
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Gradle
build/
.gradle/
/bin/

# Eclipse
.project
.classpath
.settings/


# Custom
# src/main/resources/assets/academy/sounds/media/
28 changes: 28 additions & 0 deletions CREDITS-fml.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
This is Forge Mod Loader.

You can find the source code at all times at https://github.com/MinecraftForge/FML

This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
and minecraft clients.

The code is authored by cpw.

It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
http://www.minecraftforum.net/topic/75440-
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.

It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
http://www.minecraftforge.net/

Additionally, it contains an implementation of topological sort based on that
published at http://keithschwarz.com/interesting/code/?dir=topological-sort

It also contains code from the Maven project for performing versioned dependency
resolution. http://maven.apache.org/

It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
with credit to it's authors.

Forge Mod Loader downloads components from the Minecraft Coder Pack
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.

491 changes: 491 additions & 0 deletions LICENSE-fml.txt

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions MinecraftForge-Credits.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
* Eloraam *

* FlowerChild *

* Hawkye *

* MALfunction84 *

Submitted the sleep handler code for his mod (Somnia) and others to use.

* Scokeev9 *

Gave permission for ScotTools API to be integrated into MCF, and also supported the Forge by converting his mods to use it.

ScotTools Background: ScotTools was an API that enabled modders to add blocks to harvesting levels (and many other ease-of-use features to create new tools), and the first tool API that used block material for block breaking efficiency which allowed blocks from mods that didn't use ScotTools API to break with the correct speed.

* SpaceToad *

* LexManos *

* cpw *

* Minecraft Coder Pack (MCP) *
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically download components of MCP and distribute MCP data files.
This permission is not transitive and others wishing to redistribute the Minecraft Forge source independently should seek permission of MCP or
remove the MCP data files and request their users to download MCP separately.
70 changes: 70 additions & 0 deletions MinecraftForge-License.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Minecraft Forge Public Licence
==============================

Version 1.0

0. Definitions
--------------

Minecraft: Denotes a copy of the Minecraft game licensed by Mojang AB

User: Anybody that interract with the software in one of the following ways:
- play
- decompile
- recompile or compile
- modify

Minecraft Forge: The Minecraft Forge code, in source form, class file form, as
obtained in a standalone fashion or as part of a wider distribution.

Dependency: Code required to have Minecraft Forge working properly. That can
include dependencies required to compile the code as well as modifications in
the Minecraft sources that are required to have Minecraft Forge working.

1. Scope
--------

The present license is granted to any user of Minecraft Forge, for all files included
unless stated otherwise in the file itself. As a prerequisite, a user of Minecraft
Forge must own a legally aquired copy of Minecraft.

2. Play rights
--------------

The user of Minecraft Forge is allowed to install the software on a client or
a server and to play it without restriction.

3. Modification rights
----------------------

The user has the right to decompile the source code, look at either the
decompiled version or the original source code, and to modify it.

4. Derivation rights
--------------------

The user has the rights to derive code from Minecraft Forge, that is to say to
write code that either extends Minecraft Forge class and interfaces,
instantiate the objects declared or calls the functions. This code is known as
"derived" code, and can be licensed with conditions different from Minecraft
Forge.


5. Distribution rights
----------------------

The user of Minecraft Forge is allowed to redistribute Minecraft Forge in
partially, in totallity, or included in a distribution. When distributing
binaries or class files, the user must provide means to obtain the sources of
the distributed version of Minecraft Forge at no costs. This includes the
files as well as any dependency that the code may rely on, including patches to
minecraft original sources.

Modification of Minecraft Forge as well as dependencies, including patches to
minecraft original sources, has to remain under the terms of the present
license.

The right to distribute Minecraft Forge does not extend to the right to distribute
MCP data files included within Minecraft Forge. These are the property of the MCP
project and should be removed from any customized distribution of Minecraft Forge
or permission sought separately from the MCP team.
2 changes: 0 additions & 2 deletions README.md

This file was deleted.

63 changes: 63 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
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: 'forge'

version = "0.1"
group= "cn.modularequipment" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "ModularEquipment"

minecraft {
version = "1.7.10-10.13.4.1517-1.7.10"
runDir = "eclipse"
}

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

// 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'
}
}
130 changes: 130 additions & 0 deletions document.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
ModularEquipment 说明文档
---

当前版本:0.1

ModularEquipment(以下简称ME)是一个通过读取配置文件从而动态载入各种类型武器的小型mod。

ME使用[JSON](http://www.json.org/)作为它的配置文件格式,并且允许通过修改配置文件添加一系列各种属性的物品。

接下来将对ME的通常使用方法和支持的物品类型做一个说明。


基本用法
---

ME的配置文件路径为`config/modular-equipment.cfg`。其格式应该如下:
```json
[obj1, obj2, obj3, ...]
```
其中每一个obj代表一个JSON对象,形如`{...}`
每一个obj的数据都会被解析,并且创建**一个或多个**物品。关于创建的规则将在下面说明。


name属性
---

name是每一个obj中必须包含的属性。它有两个含义:

* 该物品的语言文件使用的键名称
* 当没有指定该物品的贴图时,默认使用的贴图名称

每一个obj始终应当指定一个name属性,否则加载将报错。


texture属性
---

texture属性指定了该物品的贴图路径。它应当形如`[namespace]:[texture-location]`,或`[texture-location]`(等价于`minecraft:[texture-location]`)


creativeTab属性
---
creativeTab属性指示了该物品所属的创造模式物品栏。默认情况下,所属物品栏由创建物品的类型所决定(e.g.剑位于战斗物品栏)。
它可以是以下几个值中的一个:

* "block"
* "decorations"
* "redstone"
* "transport"
* "misc"
* "food"
* "tools"
* "combat"
* "brewing"
* "materials"


type属性和各属性简介
---

type指示了该物品的类型(剑,铲子,盔甲,……)。某些类型可能需要读取一些附加的属性。

## basic类型

没有任何作用的占位物品。没有附加属性。

## sword, pickaxe, shovel, axe类型

各种工具类型。

附加属性:

* toolClass 工具的等级。可以是以下一系列值中的一个:
* wood
* stone
* emerald
* diamond (和emerald等价)
* gold

## armor类型

盔甲物品。一个obj会对应创建一整套盔甲(头盔 胸甲 裤子 鞋子)。

附加属性

* armorClass 盔甲的等级。可以是一下一系列值中的一个:
* cloth
* chain
* iron
* gold
* diamond

注意

* armor类型对texture域的解析有所不同。根据mc的盔甲贴图绘制规则,[贴图路径]_0.png是除了裤子的其他贴图,[贴图路径]_1.png是裤子的贴图。


添加贴图和语言文件的说明
---

语言文件建议在.minecraft/mods文件夹中加入相应lang。MC会自动加载。(/assets/<modid>/lang/[lang].lang)

贴图文件建议在.minecraft/mods文件夹中加入相应贴图。(/assets/<modid>/textures/xxxxx.lang)


配置文件示例
---
```
[
{
"name": "super_sword",
"creativeTab": "misc",
"type": "sword",
"toolClass": "diamond",
"texture": "mymod:233"
},
{
"name": "stupid_pickaxe",
"type": "pickaxe",
"toolClass": "wood",
"texture": "diamond_pickaxe"
},
{
"name": "some_armor",
"type": "armor",
"armorClass": "chain",
"texture": "xxx"
}
]
```
Empty file.
Binary file not shown.
Loading

0 comments on commit 1e116d7

Please sign in to comment.