Compare commits

..

No commits in common. "1.20.3" and "1.16.5" have entirely different histories.

5149 changed files with 42462 additions and 132646 deletions

View file

@ -1,86 +0,0 @@
name: Report a Bug
description: File a bug report
title: "[Bug] "
labels: [ "bug" ]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a Bug in BetterEnd!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: markdown
attributes:
value: |
## Versions
- type: input
id: bn_version
attributes:
label: BetterEnd
description: What version of BetterEnd are you running?
placeholder: 4.30.x
validations:
required: true
- type: input
id: bclib_version
attributes:
label: BCLib
description: What version of BCLib are you running?
placeholder: 3.30.x
validations:
required: true
- type: input
id: fabric_api_version
attributes:
label: Fabric API
description: What version of Fabric API is installed
placeholder: 0.9x.x
validations:
required: false
- type: input
id: fabric_loader_version
attributes:
label: Fabric Loader
description: What version of Fabric Loader do you use
placeholder: 0.15.x
validations:
required: false
- type: dropdown
id: mc_version
attributes:
label: Minecraft
description: What version of Minecraft is installed?
options:
- 1.20.4
- 1.20.3
- 1.20.1
- 1.20.0
- 1.19.4
- 1.19.3 [unsupported]
- 1.19.2
- Older
validations:
required: true
- type: markdown
attributes:
value: |
## Additional Information
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: other_mods
attributes:
label: Other Mods
description: If you can, please supply a list of installed Mods (besides BetterEnd and BCLib). This information may already be included in the log above.
render: shell

View file

@ -1,18 +0,0 @@
name: Suggest a Feature or Change
description: Have a new Idea, then suggest a Feature here.
title: "[Suggestion] "
labels: ["suggestion"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest a new Feature for BCLib. We appreciate your time!
- type: textarea
id: describe
attributes:
label: Description
description: Tell us your idea
placeholder:
value:
validations:
required: true

View file

@ -1 +0,0 @@
blank_issues_enabled: true

10
.gitignore vendored
View file

@ -27,13 +27,5 @@ bin/
# fabric
run/
run-client/
run-server/
output/
*.getBlock("log")
Convert.class
ModelPart.class
libs/
/src/main/generated/.cache/
/CHANGES.md
/modrinth.json
*.log

View file

@ -1,161 +0,0 @@
class ModelPart {
static java.util.ArrayList<ModelPart> parts = new java.util.ArrayList<>(20);
final String name;
ModelPart parent = null;
boolean mirror = false;
float x = 0, y = 0, z = 0, rx = 0, ry = 0, rz = 0;
int u = 0, v = 0;
float bx = 0, by = 0, bz = 0, ba = 0, bb = 0, bc = 0;
float scale = 1;
static int wd = 64;
static int hg = 32;
boolean hadBox = false;
ModelPart(Convert c, String name) {
this(c, 0, 0, name);
}
ModelPart(Convert c, int u, int v, String name) {
this.name = name;
this.u = u;
this.v = v;
parts.add(this);
}
ModelPart(int wd, int hg, int u, int v, String name) {
this.name = name;
this.u = u;
this.v = v;
ModelPart.wd = wd;
ModelPart.hg = hg;
parts.add(this);
}
ModelPart setPos(float x, float y, float z) {
this.x = x;
this.y = y;
this.z = z;
return this;
}
ModelPart setRotationAngle(float x, float y, float z) {
this.rx = x;
this.ry = y;
this.rz = z;
return this;
}
ModelPart addChild(ModelPart p) {
p.parent = this;
return this;
}
ModelPart texOffs(int u, int v) {
this.u = u;
this.v = v;
return this;
}
ModelPart addBox(float x, float y, float z, float a, float b, float c) {
return addBox(x, y, z, a, b, c, 1);
}
ModelPart addBox(float x, float y, float z, float a, float b, float c, float _d) {
bx = x;
by = y;
bz = z;
ba = a;
bb = b;
bc = c;
scale = _d;
hadBox = true;
return this;
}
ModelPart addBox(float x, float y, float z, float a, float b, float c, float _d, boolean mirror) {
this.mirror = mirror;
bx = x;
by = y;
bz = z;
ba = a;
bb = b;
bc = c;
hadBox = true;
return this;
}
public String toString() {
String s = "";
String pName = parent == null ? "modelPartData" : parent.name;
if (scale != 1) {
s += "CubeDeformation deformation_" + name + " = new CubeDeformation(" + scale + "f);\n";
}
s += "PartDefinition " + name + " = ";
s += pName + ".addOrReplaceChild(\"" + name + "\", CubeListBuilder.create()\n";
if (this.mirror) s += ".mirror()\n";
s += ".texOffs(" + u + ", " + v + ")";
if (this.hadBox) {
s += "\n";
if (scale != 1)
s += ".addBox(" + bx + "f, " + by + "f, " + bz + "f, " + ba + "f, " + bb + "f, " + bc + "f, deformation_" + name + "),\n";
else s += ".addBox(" + bx + "f, " + by + "f, " + bz + "f, " + ba + "f, " + bb + "f, " + bc + "f),\n";
}
else {
s += ",\n";
}
if (x == 0 && y == 0 && z == 0 && rx == 0 && ry == 0 && rz == 0) {
s += "PartPose.ZERO";
}
else if (rx == 0 && ry == 0 && rz == 0) {
s += "PartPose.offset(" + x + "f, " + y + "f, " + z + "f)";
}
else {
s += "PartPose.offsetAndRotation(" + x + "f, " + y + "f, " + z + "f, \n" + rx + "f, " + ry + "f, " + rz + "f)";
}
s += ");";
return s;
}
public static void print() {
System.out.println("public static LayerDefinition getTexturedModelData() {");
System.out.println(" MeshDefinition modelData = new MeshDefinition();");
System.out.println(" PartDefinition modelPartData = modelData.getRoot();");
for (ModelPart p : parts) {
System.out.println(p);
System.out.println();
}
System.out.println("return LayerDefinition.create(modelData, " + wd + ", " + hg + ");");
System.out.println("}");
System.out.println();
System.out.println();
for (ModelPart p : parts) {
String pName = p.parent == null ? "modelPart" : p.parent.name;
System.out.println(p.name + " = " + pName + ".getChild(\"" + p.name + "\");");
}
}
}
ModelPart.print();
}
void setRotationAngle(ModelPart p, float x, float y, float z){
p.setRotationAngle(x, y, z);
}
public void c (){
float scale = 1;
ModelPart[] SHARDS = new ModelPart[4];
SHARDS[0] = new ModelPart(16, 16, 2, 4, "SHARDS[0]").addBox(-5.0F, 1.0F, -3.0F, 2.0F, 8.0F, 2.0F);
SHARDS[1] = new ModelPart(16, 16, 2, 4, "SHARDS[1]").addBox(3.0F, -1.0F, -1.0F, 2.0F, 8.0F, 2.0F);
SHARDS[2] = new ModelPart(16, 16, 2, 4, "SHARDS[2]").addBox(-1.0F, 0.0F, -5.0F, 2.0F, 4.0F, 2.0F);
SHARDS[3] = new ModelPart(16, 16, 2, 4, "SHARDS[3]").addBox(0.0F, 3.0F, 4.0F, 2.0F, 6.0F, 2.0F);
ModelPart CORE = new ModelPart(16, 16, 0, 0, "CORE");
CORE.addBox(-2.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F);
}
}

View file

@ -19,7 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
___________________________
Some of our Assets (see LICENSE.ASSETS for a Listing) is licensed under CC BY-NC-SA 4.0
See https://creativecommons.org/licenses/by-nc-sa/4.0/ for Details.

View file

@ -1,9 +0,0 @@
Some of our Assets (see List below) is licensed under CC BY-NC-SA 4.0
See https://creativecommons.org/licenses/by-nc-sa/4.0/ for Details.
Please use the Attribution "Team BetterX".
The following Files are distributed under this License:
* src/main/resources/assets/betterend/textures/gui/infusion.png
* src/main/resources/assets/betterend/icon_updater.png
* src/main/resources/assets/betterend/lang/de_de.json

View file

@ -1,19 +1,17 @@
[![](https://jitpack.io/v/quiqueck/BetterEnd.svg)](https://jitpack.io/#quiqueck/BetterEnd)
[![](https://jitpack.io/v/paulevsGitch/BetterEnd.svg)](https://jitpack.io/#paulevsGitch/BetterEnd)
# Better End
Better End Mod for Fabric, MC 1.19
Better End Mod for Fabric, MC 1.16.4
Importing:
* Clone repo
* Edit gradle.properties if necessary
* Run command line in folder: gradlew genSources idea (or eclipse)
* Run command line in folder: gradlew genSources eclipse (or Another-IDE-Name)
* Import project to IDE
Building:
* Clone repo
* Run command line in folder: gradlew build
* Mod .jar will be in ./build/libs
Mappings:
* https://modmuss50.me/fabric.html?&version=1.16.4

View file

@ -1,163 +1,114 @@
buildscript {
dependencies {
classpath 'org.kohsuke:github-api:1.114'
}
dependencies {
classpath 'org.kohsuke:github-api:1.114'
}
}
plugins {
id 'fabric-loom' version "${loom_version}"
id 'maven-publish'
id "com.modrinth.minotaur" version "2.+"
id "com.matthewprenger.cursegradle" version "1.4.0"
id 'idea'
id 'eclipse'
id 'fabric-loom' version '0.7-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
def local_bclib = findProject(':BCLib') != null
def local_wunderlib = findProject(':WunderLib') != null
repositories {
maven { url "https://maven.dblsaiko.net/" }
maven { url "https://maven.fabricmc.net/" }
maven { url 'https://maven.blamejared.com' }
maven { url "https://maven.shedaniel.me/" }
maven { url 'https://jitpack.io' }
maven { url 'https://maven.terraformersmc.com/releases' }
maven { url = "https://maven.terraformersmc.com/" }
maven { url "https://ladysnake.jfrog.io/artifactory/mods" }
maven { url = "https://dvs1.progwml6.com/files/maven/" }
maven { url = "https://modmaven.dev" }
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
filter {
includeGroup "maven.modrinth"
}
}
flatDir {
dirs 'libs'
}
}
loom {
accessWidenerPath = file("src/main/resources/betterend.accesswidener")
interfaceInjection {
// When enabled injected interfaces from dependecies will be applied.
enableDependencyInterfaceInjection = true
}
runs {
// This adds a new gradle task that runs the datagen API: "gradlew runDatagenClient"
datagenClient {
inherit client
name "Data Generation"
vmArg "-Dfabric-api.datagen"
vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}"
vmArg "-Dfabric-api.datagen.strict-validation"
vmArg "-Dfabric-api.datagen.modid=betterend"
runDir "build/datagen"
}
}
}
sourceSets {
main {
// Add the datagenned files into the jar.
resources {
srcDirs += [
'src/main/generated'
]
}
}
maven { url "https://server.bbkr.space:8081/artifactory/libs-release/" }
maven { url "https://maven.fabricmc.net/" }
maven { url 'https://maven.blamejared.com' }
maven { url "https://maven.shedaniel.me/" }
maven { url 'https://jitpack.io' }
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings minecraft.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
useApi "vazkii.patchouli:Patchouli:1.16.4-${project.patchouli_version}"
useApi "com.github.paulevsGitch:BCLib:${project.bclib_version}"
//Disabled, no 1.20.3/4 version available
// modApi "vazkii.patchouli:Patchouli:${project.patchouli_version}"
println "Using local BCLib: ${local_bclib}"
if (local_bclib) {
implementation(project(path: ":BCLib", configuration: 'dev'))
} else {
modImplementation "com.github.quiqueck:BCLib:${project.bclib_version}"
}
modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}"
modCompileOnly "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}"
useOptional "me.shedaniel:RoughlyEnoughItems:${project.rei_version}"
useOptional "me.shedaniel:RoughlyEnoughItems-api:${project.rei_version}"
//useOptional "grondag:canvas-mc116:${project.canvas_version}"
}
//needed for trinkets, otherwise BetterEnd would require users to install trinkets
// modApi "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${project.cca_version}"
// modCompileOnly "dev.emi:trinkets:${project.trinkets_version}"
//
// modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"
// modLocalRuntime "dev.emi:emi-fabric:${emi_version}"
def useOptional(String dep) {
dependencies.modRuntime (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
dependencies.modCompileOnly (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
}
if (local_wunderlib) {
println "Using local WunderLib"
implementation project(path: ":WunderLib", configuration: 'dev')
}
def useApi(String dep) {
dependencies.modApi (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
}
processResources {
println "Version: ${project.version}"
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
inputs.property "version", project.version
duplicatesStrategy = 'WARN'
from(sourceSets.main.resources.srcDirs) {
include "fabric.mod.json"
expand "version": project.version
}
}
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
it.options.release = 17
options.encoding = "UTF-8"
}
javadoc {
options.tags = ["reason"]
options.tags = ["reason"]
}
task javadocJar(type: Jar, dependsOn: javadoc) {
archiveClassifier = 'javadoc'
from javadoc.destinationDir
classifier = 'javadoc'
from javadoc.destinationDir
}
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
classifier = 'sources'
from sourceSets.main.allSource
}
jar {
from "LICENSE"
from "LICENSE.ASSETS"
from "LICENSE"
}
artifacts {
archives sourcesJar
archives javadocJar
archives sourcesJar
archives javadocJar
}
def env = System.getenv()
@ -166,225 +117,42 @@ import org.kohsuke.github.GHReleaseBuilder
import org.kohsuke.github.GitHub
task release(dependsOn: [remapJar, sourcesJar, javadocJar]) {
onlyIf {
env.GITHUB_TOKEN
}
onlyIf {
env.GITHUB_TOKEN
}
doLast {
def github = GitHub.connectUsingOAuth(env.GITHUB_TOKEN as String)
def repository = github.getRepository("quiqueck/BetterEnd")
doLast {
def github = GitHub.connectUsingOAuth(env.GITHUB_TOKEN as String)
def repository = github.getRepository("paulevsGitch/BetterEnd")
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
releaseBuilder.name("${archivesBaseName}-${version}")
releaseBuilder.body("A changelog can be found at https://github.com/quiqueck/BetterEnd/commits")
releaseBuilder.commitish("master")
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
releaseBuilder.name("${archivesBaseName}-${version}")
releaseBuilder.body("A changelog can be found at https://github.com/paulevsGitch/BetterEnd/commits")
releaseBuilder.commitish("master")
def ghRelease = releaseBuilder.create()
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-sources.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-javadoc.jar"), "application/java-archive");
}
def ghRelease = releaseBuilder.create()
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-sources.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-javadoc.jar"), "application/java-archive");
}
}
// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
// select the repositories you want to publish to
repositories {
// uncomment to publish to the local maven
// mavenLocal()
}
}
//from https://lowcarbrob.medium.com/android-pro-tip-generating-your-apps-changelog-from-git-inside-build-gradle-19a07533eec4
String generateChangelog() {
println "Assembeling Changelog ..."
def lastTag = "git describe --tags --abbrev=0".execute().text.trim()
//def gitLogCmd = "git log $lastTag..HEAD --oneline --no-merges --pretty=format:\"%s\"".execute().text.trim()
def gitLogCmd = "git log $lastTag..HEAD --oneline --pretty=format:\"%s\"".execute().text.trim()
def features = ""
def fixes = ""
def changes = ""
gitLogCmd.eachLine { gitLine ->
def line = gitLine.substring(1, gitLine.length() - 1)
if (line.trim().startsWith("[")) {
def sline = line.split("]", 2)
if (sline.length == 2) {
def type = sline[0].trim().toLowerCase().substring(1)
def comment = sline[1].trim()
//filter issue links
if (comment.contains("(")) {
def cline = comment.split("\\(", 2)
if (cline.length == 2 && cline[1].contains("#")) {
comment = cline[0].trim()
}
}
if (type == "fix" || type == "fixes" || type == "fixed") {
fixes += "- $comment \n"
} else if (type == "feature" || type == "features") {
features += "- $comment \n"
} else if (type == "change" || type == "changes" || type == "changed") {
changes += "- $comment \n"
} else {
println "Unknown Type: $type ($line)"
}
}
}
}
def changelog = ""
if (!features.isEmpty()) {
changelog += "#### Features\n"
changelog += features.trim()
changelog += "\n\n"
}
if (!changes.isEmpty()) {
changelog += "#### Changes\n"
changelog += changes.trim()
changelog += "\n\n"
}
if (!fixes.isEmpty()) {
changelog += "#### Fixes\n"
changelog += fixes.trim()
changelog += "\n\n"
}
println "Changelog since $lastTag:\n$changelog"
return changelog
}
task changelog() {
doLast {
new File(projectDir, "CHANGES.md").text = generateChangelog()
}
}
modrinth {
def changes = new File(projectDir, "CHANGES.md")
if (changes.exists()) {
changes = changes.getText('UTF-8')
} else {
changes = ""
}
def modrinth_token = new File(projectDir, "../MODRINTH_TOKEN")
if (modrinth_token.exists()) {
modrinth_token = modrinth_token.text
} else {
modrinth_token = ""
}
def slurper = new groovy.json.JsonSlurper()
token = modrinth_token
projectId = project.modrinth_id
versionNumber = project.mod_version
versionType = project.release_channel
uploadFile = remapJar
gameVersions = slurper.parseText(project.modrinth_versions)
loaders = ["fabric"]
changelog = changes
dependencies {
required.project "fabric-api"
required.project "bclib"
optional.project "emi"
optional.project "rei"
optional.project "trinkets"
optional.project "patchouli"
}
debugMode = false
}
curseforge {
def slurper = new groovy.json.JsonSlurper()
apiKey = new File(projectDir, "../CURSEFORGE_TOKEN")
if (apiKey.exists()) {
apiKey = apiKey.text
} else {
apiKey = ""
}
def changes = new File(projectDir, "CHANGES.md")
if (changes.exists()) {
changes = changes.getText('UTF-8')
} else {
changes = ""
}
project {
id = '413596'
changelogType = 'markdown'
changelog = changes
releaseType = project.release_channel
def versions = slurper.parseText(project.modrinth_versions);
def latestVersion = ''
for (v in versions) {
addGameVersion v
latestVersion = "[$v]"
}
addGameVersion 'Fabric'
addGameVersion 'Java 17'
relations {
requiredDependency 'fabric-api'
requiredDependency 'bclib'
optionalDependency 'emi'
optionalDependency 'roughly-enough-items'
optionalDependency 'patchouli'
optionalDependency 'trinkets'
}
mainArtifact(remapJar) {
displayName = "$project.modrinth_id-$project.version $latestVersion"
}
afterEvaluate {
mainArtifact(remapJar.outputs)
}
}
options {
debug = false
forgeGradleIntegration = false
}
}
task nextVersion() {
doLast {
def inputFile = new File('modrinth.json')
def gameVersions = java.net.URLEncoder.encode(project.modrinth_versions, "UTF-8")
new URL("https://api.modrinth.com/v2/project/${project.modrinth_id}/version?&game_versions=${gameVersions}").withInputStream { i -> inputFile.withOutputStream { it << i } }
def json = new groovy.json.JsonSlurper().parseText(inputFile.text)
def version = json[0].version_number
//increment patch version
def indexedVersionList = version.split(/\./).toList().withIndex()
indexedVersionList = indexedVersionList.collect { num, idx -> num.toInteger() }
indexedVersionList[2] = indexedVersionList[2].value + 1
def updatedVersion = indexedVersionList.join(".")
println "\n\n"
println "------------- CURRENT VERSION -------------"
println "Last Published Version: " + version
println " Game Versions: " + json[0].game_versions
println " Status: " + json[0].status
println " Featured: " + json[0].featured
println " Downloaded: " + json[0].downloads
println "\n"
println "-------------- NEXT VERSION ---------------"
println "Next Version: " + updatedVersion
println "\n\n"
def propertiesFile = new File("gradle.properties")
def newContents = propertiesFile.text.replaceFirst("mod_version=\\d+.\\d+.\\d+", "mod_version=${updatedVersion}")
propertiesFile.text = newContents
}
}
//publishing {
// publications {
// mavenJava(MavenPublication) {
// artifact(remapJar) {
// builtBy remapJar
// }
// artifact(sourcesJar) {
// builtBy remapSourcesJar
// }
// }
// }
//
// // select the repositories you want to publish to
// repositories {
// // uncomment to publish to the local maven
// // mavenLocal()
// }
//}

View file

@ -1,172 +0,0 @@
const path = require("path")
const fs = require("fs")
const woods = ["pythadendron", "end_lotus", "lacugrove", "dragon_tree", "tenanea","helix_tree", "umbrella_tree", "jellyshroom", "lucernia", "mossy_glowshroom", "lucernia_jellyshroom"]
const woodDE = ["Pythadendron", "Endlotus", "Lacugrove", "Drachenbaum", "Tenanea","Spiralbaum", "Schirmbaum", "Geleepilz", "Lucernia", "Glühmospilz", "Gelelucernia"]
const woodEN = ["Pythadendron", "End Lotus", "Lacugrove", "Dragon Tree", "Tenanea","Helix Tree", "Umbrella Tree", "Jellyshroom", "Lucernia", "Mossy Glowshroom", "Jelly Lucernia"]
const nameDE = "Hängendes {wood}schild"
const nameEN = "Hanging {wood} Sign"
woods.forEach(wood => {
const basePath = "./src/main/resources/assets/betterend";
fs.writeFileSync(path.join(basePath, "blockstates", `${wood}_bar_stool.json`), `{
"variants": {
"facing=east": {
"model": "betterend:block/${wood}_bar_stool"
},
"facing=west": {
"model": "betterend:block/${wood}_bar_stool",
"y": 180
},
"facing=south": {
"model": "betterend:block/${wood}_bar_stool",
"y": 90
},
"facing=north": {
"model": "betterend:block/${wood}_bar_stool",
"y": 270
}
}
}`)
fs.writeFileSync(path.join(basePath, "blockstates", `${wood}_chair.json`), `{
"variants": {
"facing=east,top=false": {
"model": "betterend:block/${wood}_chair",
"y": 90
},
"facing=west,top=false": {
"model": "betterend:block/${wood}_chair",
"y": 270
},
"facing=south,top=false": {
"model": "betterend:block/${wood}_chair",
"y": 180
},
"facing=north,top=false": {
"model": "betterend:block/${wood}_chair"
},
"top=true": {
"model": "betterend:block/${wood}_chair_top"
}
}
}`)
fs.writeFileSync(path.join(basePath, "blockstates", `${wood}_taburet.json`), `{
"variants": {
"facing=east": {
"model": "betterend:block/${wood}_taburet"
},
"facing=west": {
"model": "betterend:block/${wood}_taburet",
"y": 180
},
"facing=south": {
"model": "betterend:block/${wood}_taburet",
"y": 90
},
"facing=north": {
"model": "betterend:block/${wood}_taburet",
"y": 270
}
}
}`)
fs.writeFileSync(path.join(basePath, "models", "block", `${wood}_bar_stool.json`), `{
"parent": "bclib:block/bar_stool",
"textures": {
"texture": "betterend:block/${wood}_planks",
"cloth": "block/brown_wool"
}
}`)
fs.writeFileSync(path.join(basePath, "models", "block", `${wood}_chair.json`), `{
"parent": "bclib:block/chair",
"textures": {
"texture": "betterend:block/${wood}_planks"
}
}`)
fs.writeFileSync(path.join(basePath, "models", "block", `${wood}_chair_top.json`), `{
"textures": {
"particle": "betterend:block/${wood}_planks"
}
}
`)
fs.writeFileSync(path.join(basePath, "models", "block", `${wood}_taburet.json`), `{
"parent": "bclib:block/taburet",
"textures": {
"texture": "betterend:block/${wood}_planks"
}
}`)
fs.writeFileSync(path.join(basePath, "models", "item", `${wood}_bar_stool.json`), `{
"parent": "betterend:block/${wood}_bar_stool"
}`)
fs.writeFileSync(path.join(basePath, "models", "item", `${wood}_chair.json`), `{
"parent": "betterend:block/${wood}_chair",
"display": {
"gui": {
"rotation": [
30,
45,
0
],
"translation": [
0,
-1.4,
0
],
"scale": [
0.625,
0.625,
0.625
]
},
"fixed": {
"rotation": [
0,
0,
0
],
"translation": [
0,
0,
0
],
"scale": [
0.5,
0.5,
0.5
]
}
}
}`)
fs.writeFileSync(path.join(basePath, "models", "item", `${wood}_taburet.json`), `{
"parent": "betterend:block/${wood}_taburet"
}`)
})
console.log()
for (let i=0; i<woods.length; i++){
let wood = woods[i]
console.log(`"block.betterend.${wood}_bar_stool": "${woodEN[i]} Bar Stool",`)
console.log(`"block.betterend.${wood}_chair": "${woodEN[i]} Chair",`)
console.log(`"block.betterend.${wood}_taburet": "${woodEN[i]} Stool",`)
}
console.log()
for (let i=0; i<woods.length; i++){
let wood = woods[i]
console.log(`"block.betterend.${wood}_bar_stool": "${woodDE[i]} Barhocker",`)
console.log(`"block.betterend.${wood}_chair": "${woodDE[i]} Stuhl",`)
console.log(`"block.betterend.${wood}_taburet": "${woodDE[i]} Hocker",`)
}

View file

@ -1,26 +1,21 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx2G
# Fabric Properties
# check these on https://fabricmc.net/versions.html
minecraft_version=1.20.4
loader_version=0.15.2
fabric_version=0.91.3+1.20.4
#Loom
loom_version=1.4-SNAPSHOT
#Modrinth
modrinth_versions=["1.20.3", "1.20.4"]
#`release`, `beta` or `alpha`
release_channel=alpha
modrinth_id=betterend
# Mod Properties
mod_version=4.30.2
maven_group=org.betterx.betterend
archives_base_name=better-end
# Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
patchouli_version=1.20.1-84-FABRIC
bclib_version=3.30.1
rei_version=14.0.680
emi_version=1.0.28+1.20.1
trinkets_version=3.7.0
cca_version=5.2.2
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx2G
# Fabric Properties
# check these on https://fabricmc.net/use
minecraft_version=1.16.5
yarn_mappings=6
loader_version=0.11.3
# Mod Properties
mod_version = 0.9.8-pre
maven_group = ru.betterend
archives_base_name = better-end
# Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
patchouli_version = 50-FABRIC
fabric_version = 0.32.9+1.16
canvas_version = 1.0.+
bclib_version = 0.1.38
rei_version = 5.8.10

Binary file not shown.

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

259
gradlew vendored
View file

@ -1,7 +1,7 @@
#!/bin/sh
#!/usr/bin/env sh
#
# Copyright © 2015-2021 the original authors.
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,113 +17,78 @@
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
MAX_FD="maximum"
warn () {
echo "$*"
} >&2
}
die () {
echo
echo "$*"
echo
exit 1
} >&2
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD=$JAVA_HOME/bin/java
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@ -132,7 +97,7 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
@ -140,95 +105,79 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"

22
gradlew.bat vendored
View file

@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@ -54,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@ -64,14 +64,28 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell

View file

@ -1,6 +0,0 @@
# From https://github.com/jitpack/jitpack.io/issues/4506#issuecomment-864562270
before_install:
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk update
- sdk install java 17.0.1-tem
- sdk use java 17.0.1-tem

View file

@ -1,6 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%"
}
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/slab",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
"parent": "block/slab",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/inner_stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
"parent": "block/inner_stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/outer_stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
"parent": "block/outer_stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
"parent": "block/stairs",
"textures": {
"bottom": "betterend:block/%name%_bricks",
"side": "betterend:block/%name%_bricks",
"top": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/wall_inventory",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
"parent": "minecraft:block/wall_inventory",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_post",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
"parent": "minecraft:block/template_wall_post",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_side",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
"parent": "minecraft:block/template_wall_side",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_side_tall",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
"parent": "minecraft:block/template_wall_side_tall",
"textures": {
"wall": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_bricks"
}
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_bricks"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/button",
"textures": {
"texture": "betterend:block/%name%"
}
"parent": "block/button",
"textures": {
"texture": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/button_inventory",
"textures": {
"texture": "betterend:block/%name%"
}
"parent": "block/button_inventory",
"textures": {
"texture": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/button_pressed",
"textures": {
"texture": "betterend:block/%name%"
}
"parent": "block/button_pressed",
"textures": {
"texture": "betterend:block/%name%"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/slab",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
"parent": "block/slab",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/inner_stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
"parent": "block/inner_stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/outer_stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
"parent": "block/outer_stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/pressure_plate_down",
"textures": {
"texture": "betterend:block/%name%"
}
"parent": "block/pressure_plate_down",
"textures": {
"texture": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/pressure_plate_up",
"textures": {
"texture": "betterend:block/%name%"
}
"parent": "block/pressure_plate_up",
"textures": {
"texture": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_small_tiles"
}
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_small_tiles"
}
}

View file

@ -1,8 +1,8 @@
{
"parent": "block/stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
"parent": "block/stairs",
"textures": {
"bottom": "betterend:block/%name%",
"side": "betterend:block/%name%",
"top": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_tile"
}
"parent": "block/cube_all",
"textures": {
"all": "betterend:block/%name%_tile"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/wall_inventory",
"textures": {
"wall": "betterend:block/%name%"
}
"parent": "minecraft:block/wall_inventory",
"textures": {
"wall": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_post",
"textures": {
"wall": "betterend:block/%name%"
}
"parent": "minecraft:block/template_wall_post",
"textures": {
"wall": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_side",
"textures": {
"wall": "betterend:block/%name%"
}
"parent": "minecraft:block/template_wall_side",
"textures": {
"wall": "betterend:block/%name%"
}
}

View file

@ -1,6 +1,6 @@
{
"parent": "minecraft:block/template_wall_side_tall",
"textures": {
"wall": "betterend:block/%name%"
}
"parent": "minecraft:block/template_wall_side_tall",
"textures": {
"wall": "betterend:block/%name%"
}
}

View file

@ -1,7 +1,7 @@
{
"variants": {
"": {
"model": "betterend:block/%name%"
}
}
"variants": {
"": {
"model": "betterend:block/%name%"
}
}
}

View file

@ -1,15 +1,15 @@
{
"variants": {
"type=bottom": {
"model": "betterend:block/%name%_brick_half_slab"
},
"type=double": {
"model": "betterend:block/%name%_bricks"
},
"type=top": {
"model": "betterend:block/%name%_brick_half_slab",
"uvlock": true,
"x": 180
}
}
"variants": {
"type=bottom": {
"model": "betterend:block/%name%_brick_half_slab"
},
"type=double": {
"model": "betterend:block/%name%_bricks"
},
"type=top": {
"model": "betterend:block/%name%_brick_half_slab",
"uvlock": true,
"x": 180
}
}
}

View file

@ -1,209 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "betterend:block/%name%_brick_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "betterend:block/%name%_brick_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "betterend:block/%name%_brick_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}

View file

@ -1,90 +1,90 @@
{
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_post"
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"uvlock": true
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_post"
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"uvlock": true
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "betterend:block/%name%_brick_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
}

View file

@ -1,7 +1,7 @@
{
"variants": {
"": {
"model": "betterend:block/%name%_bricks"
}
}
"variants": {
"": {
"model": "betterend:block/%name%_bricks"
}
}
}

View file

@ -1,118 +1,118 @@
{
"variants": {
"face=ceiling,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 270
},
"face=ceiling,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 270
},
"face=ceiling,facing=north,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 180
},
"face=ceiling,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 180
},
"face=ceiling,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180
},
"face=ceiling,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180
},
"face=ceiling,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 90
},
"face=ceiling,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 90
},
"face=floor,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"y": 90
},
"face=floor,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 90
},
"face=floor,facing=north,powered=false": {
"model": "betterend:block/%name%_button"
},
"face=floor,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed"
},
"face=floor,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"y": 180
},
"face=floor,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 180
},
"face=floor,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"y": 270
},
"face=floor,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 270
},
"face=wall,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 90
},
"face=wall,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 90
},
"face=wall,facing=north,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90
},
"face=wall,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90
},
"face=wall,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 180
},
"face=wall,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 180
},
"face=wall,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 270
},
"face=wall,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 270
}
}
"variants": {
"face=ceiling,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 270
},
"face=ceiling,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 270
},
"face=ceiling,facing=north,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 180
},
"face=ceiling,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 180
},
"face=ceiling,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180
},
"face=ceiling,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180
},
"face=ceiling,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"x": 180,
"y": 90
},
"face=ceiling,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"x": 180,
"y": 90
},
"face=floor,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"y": 90
},
"face=floor,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 90
},
"face=floor,facing=north,powered=false": {
"model": "betterend:block/%name%_button"
},
"face=floor,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed"
},
"face=floor,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"y": 180
},
"face=floor,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 180
},
"face=floor,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"y": 270
},
"face=floor,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"y": 270
},
"face=wall,facing=east,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 90
},
"face=wall,facing=east,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 90
},
"face=wall,facing=north,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90
},
"face=wall,facing=north,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90
},
"face=wall,facing=south,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 180
},
"face=wall,facing=south,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 180
},
"face=wall,facing=west,powered=false": {
"model": "betterend:block/%name%_button",
"uvlock": true,
"x": 90,
"y": 270
},
"face=wall,facing=west,powered=true": {
"model": "betterend:block/%name%_button_pressed",
"uvlock": true,
"x": 90,
"y": 270
}
}
}

View file

@ -1,16 +1,7 @@
{
"variants": {
"axis=x": {
"model": "betterend:block/%name%_pillar",
"x": 90,
"y": 90
},
"axis=y": {
"model": "betterend:block/%name%_pillar"
},
"axis=z": {
"model": "betterend:block/%name%_pillar",
"x": 90
}
}
"variants": {
"axis=x": { "model": "betterend:block/%name%_pillar", "x": 90, "y": 90 },
"axis=y": { "model": "betterend:block/%name%_pillar" },
"axis=z": { "model": "betterend:block/%name%_pillar", "x": 90 }
}
}

View file

@ -1,10 +1,10 @@
{
"variants": {
"powered=false": {
"model": "betterend:block/%name%_pressure_plate_up"
},
"powered=true": {
"model": "betterend:block/%name%_pressure_plate_down"
}
}
"variants": {
"powered=false": {
"model": "betterend:block/%name%_pressure_plate_up"
},
"powered=true": {
"model": "betterend:block/%name%_pressure_plate_down"
}
}
}

View file

@ -1,15 +1,15 @@
{
"variants": {
"type=bottom": {
"model": "betterend:block/%name%_half_slab"
},
"type=double": {
"model": "betterend:block/%name%"
},
"type=top": {
"model": "betterend:block/%name%_half_slab",
"uvlock": true,
"x": 180
}
}
"variants": {
"type=bottom": {
"model": "betterend:block/%name%_half_slab"
},
"type=double": {
"model": "betterend:block/%name%"
},
"type=top": {
"model": "betterend:block/%name%_half_slab",
"uvlock": true,
"x": 180
}
}
}

View file

@ -1,7 +1,7 @@
{
"variants": {
"": {
"model": "betterend:block/%name%_small_tiles"
}
}
"variants": {
"": {
"model": "betterend:block/%name%_small_tiles"
}
}
}

View file

@ -1,209 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs"
},
"facing=east,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "betterend:block/%name%_inner_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "betterend:block/%name%_outer_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "betterend:block/%name%_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}

View file

@ -1,7 +1,7 @@
{
"variants": {
"": {
"model": "betterend:block/%name%_tile"
}
}
"variants": {
"": {
"model": "betterend:block/%name%_tile"
}
}
}

View file

@ -1,90 +1,90 @@
{
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "betterend:block/%name%_wall_post"
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"uvlock": true
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "betterend:block/%name%_wall_post"
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"uvlock": true
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "betterend:block/%name%_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "betterend:block/%name%_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
}

23
json/blockstates/a.txt Normal file
View file

@ -0,0 +1,23 @@
’®¬ ¢ ãáâனá⢥ D ¨¬¥¥â ¬¥âªã Data
‘¥à¨©­ë© ­®¬¥à ⮬ : C7B5-F673
‘®¤¥à¦¨¬®¥ ¯ ¯ª¨ D:\BetterEnd\Utilities\src\data\stone\blockstates
11.10.2020 15:54 <DIR> .
11.10.2020 15:54 <DIR> ..
11.10.2020 15:50 103 %name%.json
11.10.2020 15:51 110 %name%_bricks.json
11.10.2020 15:54 382 %name%_brick_slab.json
11.10.2020 15:53 7ÿ540 %name%_brick_stairs.json
11.10.2020 15:52 1ÿ635 %name%_brick_wall.json
26.09.2020 20:35 4ÿ006 %name%_button.json
11.10.2020 15:50 253 %name%_pillar.json
26.09.2020 20:35 241 %name%_plate.json
26.09.2020 20:35 364 %name%_slab.json
11.10.2020 15:50 115 %name%_small_tiles.json
26.09.2020 20:35 7ÿ300 %name%_stairs.json
11.10.2020 15:50 108 %name%_tile.json
11.10.2020 15:52 1ÿ581 %name%_wall.json
11.10.2020 15:58 0 a.txt
14 ä ©«®¢ 23ÿ738 ¡ ©â
2 ¯ ¯®ª 785ÿ301ÿ614ÿ592 ¡ ©â ᢮¡®¤­®

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%"
"parent": "betterend:block/%name%"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_brick_half_slab"
"parent": "betterend:block/%name%_brick_half_slab"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_brick_stairs"
"parent": "betterend:block/%name%_brick_stairs"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_brick_wall_inventory"
"parent": "betterend:block/%name%_brick_wall_inventory"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_bricks"
"parent": "betterend:block/%name%_bricks"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_button_inventory"
"parent": "betterend:block/%name%_button_inventory"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_pillar"
"parent": "betterend:block/%name%_pillar"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_pressure_plate_up"
"parent": "betterend:block/%name%_pressure_plate_up"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_half_slab"
"parent": "betterend:block/%name%_half_slab"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_small_tiles"
"parent": "betterend:block/%name%_small_tiles"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_stairs"
"parent": "betterend:block/%name%_stairs"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_tile"
"parent": "betterend:block/%name%_tile"
}

View file

@ -1,3 +1,3 @@
{
"parent": "betterend:block/%name%_wall_inventory"
"parent": "betterend:block/%name%_wall_inventory"
}

View file

@ -1,6 +1,5 @@
pluginManagement {
repositories {
jcenter()
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
@ -8,45 +7,3 @@ pluginManagement {
gradlePluginPortal()
}
}
// #### Custom Settings ####
//Change the next line to disable local BCLib loading
def allowLocalLibUse = true
//When true, the local BCLib is also used in commandline builds
def allowLocalLibInConsoleMode = false
//The path were to look for the local BCLib
def BCLibPath = '../BCLib'
def WunderLibPath = '../WunderLib'
// #### Logic ####
def isIDE = properties.containsKey('android.injected.invoked.from.ide')
|| (System.getenv("XPC_SERVICE_NAME") ?: "").contains("intellij")
|| (System.getenv("XPC_SERVICE_NAME") ?: "").contains(".idea")
|| System.getenv("IDEA_INITIAL_DIRECTORY") != null
println "IntelliJ: ${isIDE}"
def BCLibFolder = new File(BCLibPath)
def WunderLibFolder = new File(WunderLibPath)
if (allowLocalLibUse && (isIDE || allowLocalLibInConsoleMode) && BCLibFolder.exists()) {
println "Using local BCLib from '${BCLibFolder}' in IntelliJ"
println "If you do not want to load the local version of BClib"
println "either rename the Folder containing BCLib to something"
println "else, or set 'allowLocalLibUse' in settings.gradle"
println "to false."
println ""
println "If you receive version-errors when launching minecraft"
println "in IntelliJ, make sure you have set up gradle instead"
println "of IntelliJ to compile and run."
include ':BCLib'
project(":BCLib").projectDir = BCLibFolder
project(':BCLib').buildFileName = './bclib-composit.gradle'
include ':WunderLib'
project(":WunderLib").projectDir = WunderLibFolder
project(':WunderLib').buildFileName = './wunderlib-composit.gradle'
}

View file

@ -1,54 +0,0 @@
const path = require("path")
const fs = require("fs")
const woods = ["pythadendron", "end_lotus", "lacugrove", "dragon_tree", "tenanea","helix_tree", "umbrella_tree", "jellyshroom", "lucernia", "mossy_glowshroom", "lucernia_jellyshroom"]
const woodDE = ["Pythadendron", "Endlotus", "Lacugrove", "Drachenbaum", "Tenanea","Spiralbaum", "Schirmbaum", "Geleepilz", "Lucernia", "Glühmospilz", "Gelelucernia"]
const woodEN = ["Pythadendron", "End Lotus", "Lacugrove", "Dragon Tree", "Tenanea","Helix Tree", "Umbrella Tree", "Jellyshroom", "Lucernia", "Mossy Glowshroom", "Jelly Lucernia"]
const nameDE = "Hängendes {wood}schild"
const nameEN = "Hanging {wood} Sign"
woods.forEach(wood => {
const blockName = wood+'_hanging_sign'
const wallBlockName = wood+'_wall_hanging_sign'
const basePath = "./src/main/resources/assets/betterend";
const particleName = 'particles_'+wood;
const blockState = `{
"variants": {
"": {
"model": "betterend:block/${particleName}"
}
}
}`
const particles = `{
"textures": {
"particle": "betterend:block/${wood}_planks"
}
}`
const model = `{
"parent": "item/generated",
"textures": {
"layer0": "betterend:item/${blockName}"
}
}`
fs.writeFileSync(path.join(basePath, "blockstates", blockName+".json"), blockState);
fs.writeFileSync(path.join(basePath, "blockstates", wallBlockName+".json"), blockState);
fs.writeFileSync(path.join(basePath, "models", "block", particleName+".json"), particles);
fs.writeFileSync(path.join(basePath, "models", "item", blockName+".json"), model);
})
console.log()
for (let i=0; i<woods.length; i++){
let wood = woods[i]
const blockName = wood+'_hanging_sign'
console.log(`"block.betterend.${blockName}": "${nameEN.replace("{wood}", woodEN[i])}",`)
}
console.log()
for (let i=0; i<woods.length; i++){
let wood = woods[i]
const blockName = wood+'_hanging_sign'
console.log(`"block.betterend.${blockName}": "${nameDE.replace("{wood}", woodDE[i])}",`)
}

View file

@ -1,37 +0,0 @@
{
"parent": "betterend:terminite_anvil",
"criteria": {
"got_aeternium_anvil": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_anvil"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_anvil.description"
},
"frame": "challenge",
"icon": {
"item": "betterend:aeternium_anvil"
},
"title": {
"translate": "advancements.betterend.aeternium_anvil.title"
}
},
"requirements": [
[
"got_aeternium_anvil"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,83 +0,0 @@
{
"parent": "betterend:aeternium_plate",
"criteria": {
"got_aeternium_boots": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_boots"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_chestplate": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_chestplate"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_helmet": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_helmet"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_leggings": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_leggings"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_armor.description"
},
"frame": "challenge",
"icon": {
"item": "betterend:aeternium_chestplate",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.aeternium_armor.title"
}
},
"requirements": [
[
"got_aeternium_helmet"
],
[
"got_aeternium_chestplate"
],
[
"got_aeternium_leggings"
],
[
"got_aeternium_boots"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "betterend:aeternium_hammer_head",
"criteria": {
"got_aeternium_hammer": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_hammer"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_hammer.description"
},
"icon": {
"item": "betterend:aeternium_hammer",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.aeternium_hammer.title"
}
},
"requirements": [
[
"got_aeternium_hammer"
]
]
}

View file

@ -1,34 +0,0 @@
{
"criteria": {
"has_item.betterend.aeternium_ingot": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:aeternium_hammer_head"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item.betterend.aeternium_ingot",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"betterend:aeternium_hammer_head"
]
},
"sends_telemetry_event": true
}

View file

@ -1,37 +0,0 @@
{
"parent": "betterend:aeternium_hammer",
"criteria": {
"got_aeternium_plate": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_forged_plate"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_plate.description"
},
"frame": "goal",
"icon": {
"item": "betterend:aeternium_forged_plate"
},
"title": {
"translate": "advancements.betterend.aeternium_plate.title"
}
},
"requirements": [
[
"got_aeternium_plate"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,98 +0,0 @@
{
"parent": "betterend:aeternium_tool_head",
"criteria": {
"got_aeternium_axe": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_axe"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_hoe": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_hoe"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_pickaxe": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_pickaxe"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_shovel": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_shovel"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_sword": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_sword"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_tool.description"
},
"frame": "challenge",
"icon": {
"item": "betterend:aeternium_pickaxe",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.aeternium_tool.title"
}
},
"requirements": [
[
"got_aeternium_pickaxe"
],
[
"got_aeternium_hoe"
],
[
"got_aeternium_axe"
],
[
"got_aeternium_shovel"
],
[
"got_aeternium_sword"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,102 +0,0 @@
{
"parent": "betterend:aeternium_hammer",
"criteria": {
"got_aeternium_axe_head": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_axe_head"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_hoe_head": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_hoe_head"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_pickaxe_head": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_pickaxe_head"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_shovel_head": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_shovel_head"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_aeternium_sword_head": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_sword_blade"
]
},
{
"items": [
"betterend:aeternium_sword_handle"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.aeternium_tool_head.description"
},
"frame": "goal",
"icon": {
"item": "betterend:aeternium_pickaxe_head"
},
"title": {
"translate": "advancements.betterend.aeternium_tool_head.title"
}
},
"requirements": [
[
"got_aeternium_pickaxe_head"
],
[
"got_aeternium_hoe_head"
],
[
"got_aeternium_axe_head"
],
[
"got_aeternium_shovel_head"
],
[
"got_aeternium_sword_head"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,65 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"armored": {
"conditions": {
"items": [
{
"items": [
"betterend:elytra_armored"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"crystalite": {
"conditions": {
"items": [
{
"items": [
"betterend:elytra_crystalite"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"vanilla": {
"conditions": {
"items": [
{
"items": [
"minecraft:elytra"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.all_elytras.description"
},
"frame": "goal",
"icon": {
"item": "betterend:elytra_crystalite",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.all_elytras.title"
}
},
"requirements": [
[
"vanilla"
],
[
"crystalite"
],
[
"armored"
]
]
}

View file

@ -1,498 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"betterend:amber_land": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:amber_land"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:blossoming_spires": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:blossoming_spires"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:chorus_forest": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:chorus_forest"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:crystal_mountains": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:crystal_mountains"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:dragon_graveyards": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:dragon_graveyards"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:dry_shrubland": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:dry_shrubland"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:dust_wastelands": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:dust_wastelands"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:empty_aurora_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:empty_aurora_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:empty_end_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:empty_end_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:empty_smaragdant_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:empty_smaragdant_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:foggy_mushroomland": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:foggy_mushroomland"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:glowing_grasslands": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:glowing_grasslands"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:ice_starfield": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:ice_starfield"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:jade_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:jade_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:lantern_woods": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:lantern_woods"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:lush_aurora_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:lush_aurora_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:lush_smaragdant_cave": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:lush_smaragdant_cave"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:megalake": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:megalake"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:megalake_grove": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:megalake_grove"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:neon_oasis": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:neon_oasis"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:painted_mountains": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:painted_mountains"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:shadow_forest": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:shadow_forest"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:sulphur_springs": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:sulphur_springs"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:umbra_valley": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:umbra_valley"
}
}
}
]
},
"trigger": "minecraft:location"
},
"betterend:umbrella_jungle": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "betterend:umbrella_jungle"
}
}
}
]
},
"trigger": "minecraft:location"
}
},
"display": {
"description": {
"translate": "advancements.betterend.all_the_biomes.description"
},
"frame": "challenge",
"icon": {
"item": "betterend:aeternium_boots",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.all_the_biomes.title"
}
},
"requirements": [
[
"betterend:neon_oasis"
],
[
"betterend:shadow_forest"
],
[
"betterend:megalake"
],
[
"betterend:empty_end_cave"
],
[
"betterend:glowing_grasslands"
],
[
"betterend:lush_aurora_cave"
],
[
"betterend:crystal_mountains"
],
[
"betterend:jade_cave"
],
[
"betterend:painted_mountains"
],
[
"betterend:dry_shrubland"
],
[
"betterend:amber_land"
],
[
"betterend:megalake_grove"
],
[
"betterend:empty_aurora_cave"
],
[
"betterend:blossoming_spires"
],
[
"betterend:chorus_forest"
],
[
"betterend:dragon_graveyards"
],
[
"betterend:umbrella_jungle"
],
[
"betterend:foggy_mushroomland"
],
[
"betterend:ice_starfield"
],
[
"betterend:empty_smaragdant_cave"
],
[
"betterend:lantern_woods"
],
[
"betterend:sulphur_springs"
],
[
"betterend:dust_wastelands"
],
[
"betterend:umbra_valley"
],
[
"betterend:lush_smaragdant_cave"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,142 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"got_aeternium": {
"conditions": {
"items": [
{
"items": [
"betterend:aeternium_upgrade_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_handle": {
"conditions": {
"items": [
{
"items": [
"betterend:handle_attachment_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_leather": {
"conditions": {
"items": [
{
"items": [
"betterend:leather_handle_attachment_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_netherite": {
"conditions": {
"items": [
{
"items": [
"betterend:netherite_upgrade_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_plate": {
"conditions": {
"items": [
{
"items": [
"betterend:plate_upgrade_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_terminite": {
"conditions": {
"items": [
{
"items": [
"betterend:terminite_upgrade_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_thallasium": {
"conditions": {
"items": [
{
"items": [
"betterend:thallasium_upgrade_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_tool": {
"conditions": {
"items": [
{
"items": [
"betterend:tool_assembly_smithing_template"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.all_the_templates.description"
},
"frame": "challenge",
"icon": {
"item": "betterend:tool_assembly_smithing_template"
},
"title": {
"translate": "advancements.betterend.all_the_templates.title"
}
},
"requirements": [
[
"got_handle"
],
[
"got_tool"
],
[
"got_leather"
],
[
"got_plate"
],
[
"got_terminite"
],
[
"got_aeternium"
],
[
"got_thallasium"
],
[
"got_netherite"
]
],
"rewards": {
"experience": 500
}
}

View file

@ -1,27 +0,0 @@
{
"parent": "betterend:root",
"criteria": {
"entered_end": {
"conditions": {
"to": "minecraft:the_end"
},
"trigger": "minecraft:changed_dimension"
}
},
"display": {
"description": {
"translate": "advancements.betterend.enter_end.description"
},
"icon": {
"item": "betterend:cave_moss"
},
"title": {
"translate": "advancements.betterend.enter_end.title"
}
},
"requirements": [
[
"entered_end"
]
]
}

View file

@ -1,60 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"got_diamond_hammer": {
"conditions": {
"items": [
{
"items": [
"betterend:diamond_hammer"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_terminite_hammer": {
"conditions": {
"items": [
{
"items": [
"betterend:terminite_hammer"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"got_thallasium_hammer": {
"conditions": {
"items": [
{
"items": [
"betterend:thallasium_hammer"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.hammer.description"
},
"icon": {
"item": "betterend:diamond_hammer",
"nbt": "{Damage:0}"
},
"title": {
"translate": "advancements.betterend.hammer.title"
}
},
"requirements": [
[
"got_diamond_hammer",
"got_thallasium_hammer",
"got_terminite_hammer"
]
]
}

View file

@ -1,33 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"infusion_pedestal": {
"conditions": {
"items": [
{
"items": [
"betterend:infusion_pedestal"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"description": {
"translate": "advancements.betterend.infusion.description"
},
"icon": {
"item": "betterend:infusion_pedestal"
},
"title": {
"translate": "advancements.betterend.infusion.title"
}
},
"requirements": [
[
"infusion_pedestal"
]
]
}

View file

@ -1,25 +0,0 @@
{
"parent": "betterend:infusion",
"criteria": {
"finished": {
"trigger": "betterend:infusion_finished"
}
},
"display": {
"description": {
"translate": "advancements.betterend.infusion_finished.description"
},
"frame": "goal",
"icon": {
"item": "minecraft:ender_eye"
},
"title": {
"translate": "advancements.betterend.infusion_finished.title"
}
},
"requirements": [
[
"finished"
]
]
}

View file

@ -1,38 +0,0 @@
{
"parent": "betterend:enter_end",
"criteria": {
"eternal_portal": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"structure": "betterend:eternal_portal"
}
}
}
]
},
"trigger": "minecraft:location"
}
},
"display": {
"description": {
"translate": "advancements.betterend.portal.description"
},
"frame": "goal",
"icon": {
"item": "betterend:eternal_pedestal"
},
"title": {
"translate": "advancements.betterend.portal.title"
}
},
"requirements": [
[
"eternal_portal"
]
]
}

View file

@ -1,24 +0,0 @@
{
"parent": "betterend:portal",
"criteria": {
"turn_on": {
"trigger": "betterend:portal_on"
}
},
"display": {
"description": {
"translate": "advancements.betterend.portal_on.description"
},
"icon": {
"item": "betterend:eternal_crystal"
},
"title": {
"translate": "advancements.betterend.portal_on.title"
}
},
"requirements": [
[
"turn_on"
]
]
}

View file

@ -1,25 +0,0 @@
{
"parent": "betterend:portal_on",
"criteria": {
"travel": {
"trigger": "betterend:portal_travel"
}
},
"display": {
"description": {
"translate": "advancements.betterend.portal_travel.description"
},
"frame": "challenge",
"icon": {
"item": "minecraft:grass_block"
},
"title": {
"translate": "advancements.betterend.portal_travel.title"
}
},
"requirements": [
[
"travel"
]
]
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_log": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_log"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_bark"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_log"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_bark"
]
}
}

View file

@ -1,47 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_book": {
"conditions": {
"items": [
{
"items": [
"minecraft:book"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_dragon_tree_planks": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_planks"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_bookshelf"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_book",
"has_dragon_tree_planks"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_bookshelf"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_bark": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_bark"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_log"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_bark"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_log"
]
}
}

View file

@ -1,49 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_log_dragon_tree_bark_drago": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_log"
]
},
{
"items": [
"betterend:dragon_tree_bark"
]
},
{
"items": [
"betterend:dragon_tree_stripped_log"
]
},
{
"items": [
"betterend:dragon_tree_stripped_bark"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_planks"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_log_dragon_tree_bark_drago"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_planks"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_planks": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_planks"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_slab"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_planks"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_slab"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_planks": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_planks"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_stairs"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_planks"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_stairs"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_stripped_log": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_stripped_log"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_stripped_bark"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_stripped_log"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_stripped_bark"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_dragon_tree_stripped_bark": {
"conditions": {
"items": [
{
"items": [
"betterend:dragon_tree_stripped_bark"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:dragon_tree_stripped_log"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_dragon_tree_stripped_bark"
]
],
"rewards": {
"recipes": [
"betterend:dragon_tree_stripped_log"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_end_lotus_log": {
"conditions": {
"items": [
{
"items": [
"betterend:end_lotus_log"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:end_lotus_bark"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_end_lotus_log"
]
],
"rewards": {
"recipes": [
"betterend:end_lotus_bark"
]
}
}

View file

@ -1,47 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_book": {
"conditions": {
"items": [
{
"items": [
"minecraft:book"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_end_lotus_planks": {
"conditions": {
"items": [
{
"items": [
"betterend:end_lotus_planks"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:end_lotus_bookshelf"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_book",
"has_end_lotus_planks"
]
],
"rewards": {
"recipes": [
"betterend:end_lotus_bookshelf"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_end_lotus_bark": {
"conditions": {
"items": [
{
"items": [
"betterend:end_lotus_bark"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:end_lotus_log"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_end_lotus_bark"
]
],
"rewards": {
"recipes": [
"betterend:end_lotus_log"
]
}
}

View file

@ -1,49 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_end_lotus_log_end_lotus_bark_end_lotus": {
"conditions": {
"items": [
{
"items": [
"betterend:end_lotus_log"
]
},
{
"items": [
"betterend:end_lotus_bark"
]
},
{
"items": [
"betterend:end_lotus_stripped_log"
]
},
{
"items": [
"betterend:end_lotus_stripped_bark"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:end_lotus_planks"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_end_lotus_log_end_lotus_bark_end_lotus"
]
],
"rewards": {
"recipes": [
"betterend:end_lotus_planks"
]
}
}

View file

@ -1,34 +0,0 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_end_lotus_planks": {
"conditions": {
"items": [
{
"items": [
"betterend:end_lotus_planks"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "betterend:end_lotus_slab"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_end_lotus_planks"
]
],
"rewards": {
"recipes": [
"betterend:end_lotus_slab"
]
}
}

Some files were not shown because too many files have changed in this diff Show more