From 2b0b79c0146e5b6bbb230356b1d0a2de2bb26bba Mon Sep 17 00:00:00 2001 From: Robert Sosnitzka Date: Fri, 29 Apr 2016 16:29:16 +0200 Subject: [PATCH] inital commit --- .gitignore | 175 ++++++++++++++++++ build.gradle | 88 +++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52271 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++++++++++ gradlew.bat | 90 +++++++++ src/main/java/blocks/BasicBlock.java | 16 ++ src/main/java/blocks/BlockAdamantiteOre.java | 13 ++ src/main/java/blocks/BlockArcaniteOre.java | 13 ++ src/main/java/blocks/BlockBasalt.java | 13 ++ src/main/java/blocks/BlockBismuthOre.java | 13 ++ src/main/java/blocks/BlockEterniteOre.java | 13 ++ src/main/java/blocks/BlockKarmesineOre.java | 13 ++ src/main/java/blocks/BlockLigniteOre.java | 13 ++ src/main/java/blocks/BlockMeteoriteOre.java | 13 ++ src/main/java/blocks/BlockMindoriteOre.java | 13 ++ src/main/java/blocks/BlockMythrilOre.java | 13 ++ src/main/java/blocks/BlockPalladiumOre.java | 13 ++ src/main/java/blocks/BlockPrometheumOre.java | 13 ++ src/main/java/blocks/BlockRottenGround.java | 13 ++ src/main/java/blocks/BlockSlagironOre.java | 13 ++ src/main/java/blocks/BlockTiberiumOre.java | 13 ++ src/main/java/blocks/BlockVibraniumre.java | 13 ++ src/main/java/items/BasicItem.java | 12 ++ src/main/java/items/ItemSlagiron.java | 10 + src/main/java/main/ZCompression.java | 114 ++++++++++++ src/main/java/main/util/Generator.java | 39 ++++ src/main/java/main/world/ZWorldGen.java | 65 +++++++ src/main/java/proxy/ClientProxy.java | 46 +++++ src/main/java/proxy/ServerProxy.java | 7 + .../blockstates/adamantite_ore.json | 5 + .../blockstates/arcanite_ore.json | 5 + .../zcompression/blockstates/basalt.json | 5 + .../zcompression/blockstates/bismuth_ore.json | 5 + .../blockstates/eternite_ore.json | 5 + .../blockstates/karmesite_ore.json | 5 + .../zcompression/blockstates/lignite_ore.json | 5 + .../blockstates/meteorite_ore.json | 5 + .../blockstates/mindorite_ore.json | 5 + .../zcompression/blockstates/mythril_ore.json | 5 + .../blockstates/palladium_ore.json | 5 + .../blockstates/prometheum_ore.json | 5 + .../blockstates/rotten_ground.json | 5 + .../blockstates/slagiron_ore.json | 5 + .../blockstates/tiberium_ore.json | 5 + .../blockstates/vibranium_ore.json | 5 + .../assets/zcompression/lang/de_DE.lang | 18 ++ .../assets/zcompression/lang/en_US.lang | 17 ++ .../models/block/adamantite_ore.json | 6 + .../models/block/arcanite_ore.json | 6 + .../zcompression/models/block/basalt.json | 6 + .../models/block/bismuth_ore.json | 6 + .../models/block/eternite_ore.json | 6 + .../models/block/karmesine_ore.json | 6 + .../models/block/lignite_ore.json | 6 + .../models/block/meteorite_ore.json | 6 + .../models/block/mindorite_ore.json | 6 + .../models/block/mythril_ore.json | 6 + .../models/block/palladium_ore.json | 6 + .../models/block/prometheum_ore.json | 6 + .../models/block/rotten_ground.json | 6 + .../models/block/slagiron_ore.json | 6 + .../models/block/tiberium_ore.json | 6 + .../models/block/vibranium_ore.json | 6 + .../models/item/adamantite_ore.json | 10 + .../models/item/arcanite_ore.json | 10 + .../zcompression/models/item/basalt.json | 10 + .../zcompression/models/item/bismuth_ore.json | 10 + .../models/item/eternite_ore.json | 10 + .../models/item/karmesine_ore.json | 10 + .../zcompression/models/item/lignite_ore.json | 10 + .../models/item/meteorite_ore.json | 10 + .../models/item/mindorite_ore.json | 10 + .../zcompression/models/item/mythril_ore.json | 10 + .../models/item/palladium_ore.json | 10 + .../models/item/prometheum_ore.json | 10 + .../models/item/rotten_ground.json | 10 + .../zcompression/models/item/slagiron.json | 6 + .../models/item/slagiron_ore.json | 10 + .../models/item/tiberium_ore.json | 10 + .../models/item/vibranium_ore.json | 10 + .../textures/blocks/adamantite_ore.png | Bin 0 -> 16364 bytes .../textures/blocks/arcanite_ore.png | Bin 0 -> 15564 bytes .../zcompression/textures/blocks/basalt.png | Bin 0 -> 16162 bytes .../textures/blocks/bismuth_ore.png | Bin 0 -> 15752 bytes .../textures/blocks/eternite_ore.png | Bin 0 -> 15339 bytes .../textures/blocks/karmesine_ore.png | Bin 0 -> 15275 bytes .../textures/blocks/lignite_ore.png | Bin 0 -> 15210 bytes .../textures/blocks/meteorite_ore.png | Bin 0 -> 15484 bytes .../textures/blocks/mindorite_ore.png | Bin 0 -> 15243 bytes .../textures/blocks/mythril_ore.png | Bin 0 -> 15633 bytes .../textures/blocks/palladium_ore.png | Bin 0 -> 16350 bytes .../textures/blocks/prometheum_ore.png | Bin 0 -> 16341 bytes .../textures/blocks/rotten_ground.png | Bin 0 -> 15816 bytes .../textures/blocks/slagiron_ore.png | Bin 0 -> 15407 bytes .../textures/blocks/stone_andesite.png | Bin 0 -> 904 bytes .../textures/blocks/stone_diorite.png | Bin 0 -> 684 bytes .../textures/blocks/stone_granite.png | Bin 0 -> 555 bytes .../textures/blocks/tiberium_ore.png | Bin 0 -> 16446 bytes .../textures/blocks/vibranium_ore.png | Bin 0 -> 15659 bytes .../zcompression/textures/items/slagiron.png | Bin 0 -> 15409 bytes src/main/resources/mcmod.info | 16 ++ 102 files changed, 1433 insertions(+) create mode 100644 .gitignore create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 src/main/java/blocks/BasicBlock.java create mode 100644 src/main/java/blocks/BlockAdamantiteOre.java create mode 100644 src/main/java/blocks/BlockArcaniteOre.java create mode 100644 src/main/java/blocks/BlockBasalt.java create mode 100644 src/main/java/blocks/BlockBismuthOre.java create mode 100644 src/main/java/blocks/BlockEterniteOre.java create mode 100644 src/main/java/blocks/BlockKarmesineOre.java create mode 100644 src/main/java/blocks/BlockLigniteOre.java create mode 100644 src/main/java/blocks/BlockMeteoriteOre.java create mode 100644 src/main/java/blocks/BlockMindoriteOre.java create mode 100644 src/main/java/blocks/BlockMythrilOre.java create mode 100644 src/main/java/blocks/BlockPalladiumOre.java create mode 100644 src/main/java/blocks/BlockPrometheumOre.java create mode 100644 src/main/java/blocks/BlockRottenGround.java create mode 100644 src/main/java/blocks/BlockSlagironOre.java create mode 100644 src/main/java/blocks/BlockTiberiumOre.java create mode 100644 src/main/java/blocks/BlockVibraniumre.java create mode 100644 src/main/java/items/BasicItem.java create mode 100644 src/main/java/items/ItemSlagiron.java create mode 100644 src/main/java/main/ZCompression.java create mode 100644 src/main/java/main/util/Generator.java create mode 100644 src/main/java/main/world/ZWorldGen.java create mode 100644 src/main/java/proxy/ClientProxy.java create mode 100644 src/main/java/proxy/ServerProxy.java create mode 100644 src/main/resources/assets/zcompression/blockstates/adamantite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/arcanite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/basalt.json create mode 100644 src/main/resources/assets/zcompression/blockstates/bismuth_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/eternite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/karmesite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/lignite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/meteorite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/mindorite_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/mythril_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/palladium_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/prometheum_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/rotten_ground.json create mode 100644 src/main/resources/assets/zcompression/blockstates/slagiron_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/tiberium_ore.json create mode 100644 src/main/resources/assets/zcompression/blockstates/vibranium_ore.json create mode 100644 src/main/resources/assets/zcompression/lang/de_DE.lang create mode 100644 src/main/resources/assets/zcompression/lang/en_US.lang create mode 100644 src/main/resources/assets/zcompression/models/block/adamantite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/arcanite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/basalt.json create mode 100644 src/main/resources/assets/zcompression/models/block/bismuth_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/eternite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/karmesine_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/lignite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/meteorite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/mindorite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/mythril_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/palladium_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/prometheum_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/rotten_ground.json create mode 100644 src/main/resources/assets/zcompression/models/block/slagiron_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/tiberium_ore.json create mode 100644 src/main/resources/assets/zcompression/models/block/vibranium_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/adamantite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/arcanite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/basalt.json create mode 100644 src/main/resources/assets/zcompression/models/item/bismuth_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/eternite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/karmesine_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/lignite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/meteorite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/mindorite_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/mythril_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/palladium_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/prometheum_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/rotten_ground.json create mode 100644 src/main/resources/assets/zcompression/models/item/slagiron.json create mode 100644 src/main/resources/assets/zcompression/models/item/slagiron_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/tiberium_ore.json create mode 100644 src/main/resources/assets/zcompression/models/item/vibranium_ore.json create mode 100644 src/main/resources/assets/zcompression/textures/blocks/adamantite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/arcanite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/basalt.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/bismuth_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/eternite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/karmesine_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/lignite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/meteorite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/mindorite_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/mythril_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/palladium_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/prometheum_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/rotten_ground.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/slagiron_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/stone_andesite.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/stone_diorite.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/stone_granite.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/tiberium_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/blocks/vibranium_ore.png create mode 100644 src/main/resources/assets/zcompression/textures/items/slagiron.png create mode 100644 src/main/resources/mcmod.info diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..62f5a97 --- /dev/null +++ b/.gitignore @@ -0,0 +1,175 @@ + +# Created by https://www.gitignore.io/api/windows,linux,eclipse,java,intellij,gradle + +### Windows ### +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + + +### Eclipse ### + +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# Eclipse Core +.project + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# JDT-specific (Eclipse Java Development Tools) +.classpath + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/workspace.xml +.idea/tasks.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml + +# Sensitive or high-churn files: +.idea/dataSources.ids +.idea/dataSources.xml +.idea/dataSources.local.xml +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml + +# Gradle: +.idea/gradle.xml +.idea/libraries + +# Mongo Explorer plugin: +.idea/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### Intellij Patch ### +*.iml + + +### Java ### +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### Gradle ### +.gradle +build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + + +# Forge +run/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..298975b --- /dev/null +++ b/build.gradle @@ -0,0 +1,88 @@ + +// For those who want the bleeding edge +buildscript { + repositories { + jcenter() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' + } +} +apply plugin: 'net.minecraftforge.gradle.forge' +repositories { + maven { + name "DVS1 Maven FS'" + url 'http://dvs1.progwml6.com/files/maven' + } +} + +/* +// for people who want stable - not yet functional for MC 1.8.8 - we require the forgegradle 2.1 snapshot +//plugins { +// id "net.minecraftforge.gradle.forge" version "2.0.2" +//} +*/ +version = "0.1" +group= "com.sosnitzka.zcompression" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "zcompression" + +minecraft { + version = "1.9-12.16.0.1865-1.9" + runDir = "run" + + // the mappings can be changed at any time, and must be in the following format. + // snapshot_YYYYMMDD snapshot are built nightly. + // stable_# stables are built at the discretion of the MCP team. + // Use non-default mappings at your own risk. they may not allways work. + // simply re-run your setup task after changing the mappings to update your workspace. + mappings = "snapshot_20160428" + // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. +} + +dependencies { + // you may put jars on which you depend on in ./libs + // or you may define them like so.. + //compile "some.group:artifact:version:classifier" + //compile "some.group:artifact:version" + + // real examples + //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env + //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env + + // the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime. + //provided 'com.mod-buildcraft:buildcraft:6.0.8:dev' + + // the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided, + // except that these dependencies get remapped to your current MCP mappings + //deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev' + //deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev' + + // for more info... + // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html + // http://www.gradle.org/docs/current/userguide/dependency_management.html +compile "tconstruct:TConstruct:1.9-2.2.2.jenkins159:deobf" +} + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..30d399d8d2bf522ff5de94bf434a7cc43a9a74b5 GIT binary patch literal 52271 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 z%0D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 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..9397848 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Sep 14 12:28:28 PDT 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.7-bin.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..91a7e26 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +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 +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +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" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + 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 +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "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 + +# 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, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # 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=$((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 + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_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=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +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 %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/main/java/blocks/BasicBlock.java b/src/main/java/blocks/BasicBlock.java new file mode 100644 index 0000000..2f61291 --- /dev/null +++ b/src/main/java/blocks/BasicBlock.java @@ -0,0 +1,16 @@ +package blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BasicBlock extends Block{ + + public BasicBlock(String name, Material material, float hardness, float resistance) { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(hardness); + setResistance(resistance); + } + +} diff --git a/src/main/java/blocks/BlockAdamantiteOre.java b/src/main/java/blocks/BlockAdamantiteOre.java new file mode 100644 index 0000000..eaab00d --- /dev/null +++ b/src/main/java/blocks/BlockAdamantiteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockAdamantiteOre extends BasicBlock{ + + public BlockAdamantiteOre() { + super("adamantite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockArcaniteOre.java b/src/main/java/blocks/BlockArcaniteOre.java new file mode 100644 index 0000000..6be72a7 --- /dev/null +++ b/src/main/java/blocks/BlockArcaniteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockArcaniteOre extends BasicBlock{ + + public BlockArcaniteOre() { + super("arcanite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockBasalt.java b/src/main/java/blocks/BlockBasalt.java new file mode 100644 index 0000000..16ff9c3 --- /dev/null +++ b/src/main/java/blocks/BlockBasalt.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockBasalt extends BasicBlock{ + + public BlockBasalt() { + super("basalt", Material.ROCK, 12.0f, 2.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockBismuthOre.java b/src/main/java/blocks/BlockBismuthOre.java new file mode 100644 index 0000000..c8b0632 --- /dev/null +++ b/src/main/java/blocks/BlockBismuthOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockBismuthOre extends BasicBlock{ + + public BlockBismuthOre() { + super("bismuth_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockEterniteOre.java b/src/main/java/blocks/BlockEterniteOre.java new file mode 100644 index 0000000..30c1143 --- /dev/null +++ b/src/main/java/blocks/BlockEterniteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockEterniteOre extends BasicBlock{ + + public BlockEterniteOre() { + super("eternite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockKarmesineOre.java b/src/main/java/blocks/BlockKarmesineOre.java new file mode 100644 index 0000000..21d1c74 --- /dev/null +++ b/src/main/java/blocks/BlockKarmesineOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockKarmesineOre extends BasicBlock{ + + public BlockKarmesineOre() { + super("karmesine_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockLigniteOre.java b/src/main/java/blocks/BlockLigniteOre.java new file mode 100644 index 0000000..77f0f74 --- /dev/null +++ b/src/main/java/blocks/BlockLigniteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockLigniteOre extends BasicBlock{ + + public BlockLigniteOre() { + super("lignite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockMeteoriteOre.java b/src/main/java/blocks/BlockMeteoriteOre.java new file mode 100644 index 0000000..76e23c8 --- /dev/null +++ b/src/main/java/blocks/BlockMeteoriteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockMeteoriteOre extends BasicBlock{ + + public BlockMeteoriteOre() { + super("meteorite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockMindoriteOre.java b/src/main/java/blocks/BlockMindoriteOre.java new file mode 100644 index 0000000..1ace48b --- /dev/null +++ b/src/main/java/blocks/BlockMindoriteOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockMindoriteOre extends BasicBlock{ + + public BlockMindoriteOre() { + super("mindorite_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockMythrilOre.java b/src/main/java/blocks/BlockMythrilOre.java new file mode 100644 index 0000000..8e3975c --- /dev/null +++ b/src/main/java/blocks/BlockMythrilOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockMythrilOre extends BasicBlock{ + + public BlockMythrilOre() { + super("mythril_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockPalladiumOre.java b/src/main/java/blocks/BlockPalladiumOre.java new file mode 100644 index 0000000..61d8488 --- /dev/null +++ b/src/main/java/blocks/BlockPalladiumOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockPalladiumOre extends BasicBlock{ + + public BlockPalladiumOre() { + super("palladium_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockPrometheumOre.java b/src/main/java/blocks/BlockPrometheumOre.java new file mode 100644 index 0000000..e278783 --- /dev/null +++ b/src/main/java/blocks/BlockPrometheumOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockPrometheumOre extends BasicBlock{ + + public BlockPrometheumOre() { + super("prometheum_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockRottenGround.java b/src/main/java/blocks/BlockRottenGround.java new file mode 100644 index 0000000..c3f4723 --- /dev/null +++ b/src/main/java/blocks/BlockRottenGround.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockRottenGround extends BasicBlock{ + + public BlockRottenGround() { + super("rotten_ground", Material.GROUND, 1.0f, 1.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockSlagironOre.java b/src/main/java/blocks/BlockSlagironOre.java new file mode 100644 index 0000000..7023bc8 --- /dev/null +++ b/src/main/java/blocks/BlockSlagironOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockSlagironOre extends BasicBlock{ + + public BlockSlagironOre() { + super("slagiron_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockTiberiumOre.java b/src/main/java/blocks/BlockTiberiumOre.java new file mode 100644 index 0000000..d143846 --- /dev/null +++ b/src/main/java/blocks/BlockTiberiumOre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockTiberiumOre extends BasicBlock{ + + public BlockTiberiumOre() { + super("tiberium_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/blocks/BlockVibraniumre.java b/src/main/java/blocks/BlockVibraniumre.java new file mode 100644 index 0000000..792cad9 --- /dev/null +++ b/src/main/java/blocks/BlockVibraniumre.java @@ -0,0 +1,13 @@ +package blocks; + +import net.minecraft.block.material.Material; + +public class BlockVibraniumre extends BasicBlock{ + + public BlockVibraniumre() { + super("vibranium_ore", Material.ROCK, 3.0f, 5.0f); + } + + + +} diff --git a/src/main/java/items/BasicItem.java b/src/main/java/items/BasicItem.java new file mode 100644 index 0000000..92196cd --- /dev/null +++ b/src/main/java/items/BasicItem.java @@ -0,0 +1,12 @@ +package items; + +import net.minecraft.item.Item; + +public class BasicItem extends Item{ + + public BasicItem(String name) { + setUnlocalizedName(name); + setRegistryName(name); + } + +} diff --git a/src/main/java/items/ItemSlagiron.java b/src/main/java/items/ItemSlagiron.java new file mode 100644 index 0000000..9775409 --- /dev/null +++ b/src/main/java/items/ItemSlagiron.java @@ -0,0 +1,10 @@ +package items; + +public class ItemSlagiron extends BasicItem{ + + public ItemSlagiron() { + super("slagiron"); + } + + +} diff --git a/src/main/java/main/ZCompression.java b/src/main/java/main/ZCompression.java new file mode 100644 index 0000000..a264ec7 --- /dev/null +++ b/src/main/java/main/ZCompression.java @@ -0,0 +1,114 @@ +package main; + +import blocks.BasicBlock; +import blocks.BlockAdamantiteOre; +import blocks.BlockArcaniteOre; +import blocks.BlockBasalt; +import blocks.BlockBismuthOre; +import blocks.BlockEterniteOre; +import blocks.BlockKarmesineOre; +import blocks.BlockLigniteOre; +import blocks.BlockMeteoriteOre; +import blocks.BlockMindoriteOre; +import blocks.BlockMythrilOre; +import blocks.BlockPalladiumOre; +import blocks.BlockPrometheumOre; +import blocks.BlockRottenGround; +import blocks.BlockSlagironOre; +import blocks.BlockTiberiumOre; +import blocks.BlockVibraniumre; +import items.ItemSlagiron; +import main.world.ZWorldGen; +import net.minecraft.item.ItemBlock; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.SidedProxy; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import proxy.ServerProxy; + +@Mod(modid = ZCompression.MODID, version = ZCompression.VERSION) +public class ZCompression { + + public static final String MODID = "zcompression"; + public static final String VERSION = "1.0"; + + @SidedProxy(clientSide = "proxy.ClientProxy", serverSide = "proxy.ServerProxy") + public static ServerProxy proxy; + + // Items + public static ItemSlagiron slagiron = new ItemSlagiron(); + + + //Blocks, esp. for tconstruct + public static BlockAdamantiteOre adamantiteOre = new BlockAdamantiteOre(); + public static BlockArcaniteOre arcaniteOre = new BlockArcaniteOre(); + public static BlockBasalt basalt = new BlockBasalt(); + public static BlockBismuthOre bismuthOre = new BlockBismuthOre(); + public static BlockEterniteOre eterniteOre = new BlockEterniteOre(); + public static BlockKarmesineOre karmesineOre = new BlockKarmesineOre(); + public static BlockLigniteOre ligniteOre = new BlockLigniteOre(); + public static BlockMeteoriteOre meteoriteOre = new BlockMeteoriteOre(); + public static BlockMindoriteOre mindoriteOre = new BlockMindoriteOre(); + public static BlockMythrilOre mythrilOre = new BlockMythrilOre(); + public static BlockPalladiumOre palladiumOre = new BlockPalladiumOre(); + public static BlockPrometheumOre prometheumOre = new BlockPrometheumOre(); + public static BlockRottenGround rottenGround = new BlockRottenGround(); + public static BlockSlagironOre slagironOre = new BlockSlagironOre(); + public static BlockTiberiumOre tiberiumOre = new BlockTiberiumOre(); + public static BlockVibraniumre vibraniumOre = new BlockVibraniumre(); + + + + + + + + + + + + @EventHandler + public void preInit(FMLPreInitializationEvent e){ + GameRegistry.register(slagiron); + registerBlock(adamantiteOre); + registerBlock(arcaniteOre); + registerBlock(basalt); + registerBlock(bismuthOre); + registerBlock(eterniteOre); + registerBlock(karmesineOre); + registerBlock(ligniteOre); + registerBlock(meteoriteOre); + registerBlock(mindoriteOre); + registerBlock(mythrilOre); + registerBlock(palladiumOre); + registerBlock(prometheumOre); + registerBlock(rottenGround); + registerBlock(slagironOre); + registerBlock(tiberiumOre); + registerBlock(vibraniumOre); + + } + + @EventHandler + public void init(FMLInitializationEvent e){ + proxy.registerClientStuff(); + GameRegistry.registerWorldGenerator(new ZWorldGen(), 100); + + } + + @EventHandler + public void postInit(FMLPostInitializationEvent e){ + + } + + public static void registerBlock(BasicBlock block){ + GameRegistry.register(block); + GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); + } + + + +} diff --git a/src/main/java/main/util/Generator.java b/src/main/java/main/util/Generator.java new file mode 100644 index 0000000..5ff7781 --- /dev/null +++ b/src/main/java/main/util/Generator.java @@ -0,0 +1,39 @@ +package main.util; + +import java.util.Random; + +import com.google.common.base.Predicate; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.block.state.pattern.BlockMatcher; +import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenMinable; + +public class Generator { + + public static void generateOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize){ + generateOre(state, Blocks.STONE, random, x, z, world, chance, minY, maxY, minSize, maxSize); + } + + public static void generateNetherOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize){ + generateOre(state, Blocks.NETHERRACK, random, x, z, world, chance, minY, maxY, minSize, maxSize); + } + + + public static void generateOre(IBlockState state, Block replace, Random random, int chunkX, int chunkZ, World world, int chance, int minY, int maxY, int minSize, int maxSize){ + int size = minSize + random.nextInt(maxSize - minSize); + int height = maxY - minY; + + for(int i = 0; i < chance; i++) { + int posX = chunkX + random.nextInt(16); + int posY = random.nextInt(height) + minY; + int posZ = chunkZ + random.nextInt(16); + new WorldGenMinable(state, size, BlockMatcher.forBlock(replace)).generate(world, random, new BlockPos(posX, posY, posZ)); + } + } + + +} diff --git a/src/main/java/main/world/ZWorldGen.java b/src/main/java/main/world/ZWorldGen.java new file mode 100644 index 0000000..06910d3 --- /dev/null +++ b/src/main/java/main/world/ZWorldGen.java @@ -0,0 +1,65 @@ +package main.world; + +import java.util.Random; + +import com.google.common.base.Predicates; + +import main.ZCompression; +import main.util.Generator; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.fml.common.IWorldGenerator; + +public class ZWorldGen implements IWorldGenerator { + + + private void nether(Random random, int x, int z, World world){ + Generator.generateNetherOre(ZCompression.adamantiteOre.getDefaultState(), random, x, z, world, 24, 1, 32, 2, 5); + Generator.generateNetherOre(ZCompression.tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 10); + Generator.generateNetherOre(ZCompression.palladiumOre.getDefaultState(), random, x, z, world, 15, 32, 64, 3, 6); + Generator.generateOre(ZCompression.prometheumOre.getDefaultState(), random, x, z, world, 20, 48, 64, 2, 4); + } + + private void world(Random random, int x, int z, World world){ + // Regular + Generator.generateOre(ZCompression.slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); + Generator.generateOre(ZCompression.ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); + Generator.generateOre(Blocks.IRON_ORE.getDefaultState(),random, x, z, world, 40, 8, 96, 2, 10); + Generator.generateOre(ZCompression.basalt.getDefaultState(), Blocks.LAVA, random, x, z, world, 20, 8, 24, 2, 5); + Generator.generateOre(ZCompression.rottenGround.getDefaultState(), Blocks.DIRT, random, x, z, world, 25, 50, 70, 2, 15); + + Generator.generateOre(ZCompression.vibraniumOre.getDefaultState(), random, x, z, world, 16, 48, 64, 2, 4); + Generator.generateOre(ZCompression.mythrilOre.getDefaultState(), random, x, z, world, 16, 16, 32, 2, 4); + Generator.generateOre(ZCompression.meteoriteOre.getDefaultState(), random, x, z, world, 25, 0, 32, 3, 6); + Generator.generateOre(ZCompression.mindoriteOre.getDefaultState(), Blocks.STONE, random, x, z, world, 450, 32, 96, 3, 6); + } + + private void end(Random random, int x, int z, World world){ + + } + + + + @Override + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, + IChunkProvider chunkProvider) { + int x = chunkX * 16; + int z = chunkZ * 16; + switch(world.provider.getDimension()) { + case -1: + nether(random, x, z, world); + break; + case 0: + world(random, x, z, world); + break; + case 1: + end(random, x, z, world); + break; + } + + } + +} diff --git a/src/main/java/proxy/ClientProxy.java b/src/main/java/proxy/ClientProxy.java new file mode 100644 index 0000000..1c44f72 --- /dev/null +++ b/src/main/java/proxy/ClientProxy.java @@ -0,0 +1,46 @@ +package proxy; + +import blocks.BasicBlock; +import items.BasicItem; +import main.ZCompression; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.block.model.ModelResourceLocation; +import net.minecraft.item.Item; + +public class ClientProxy extends ServerProxy{ + + @Override + public void registerClientStuff() { + // Items + registerItemModel(ZCompression.slagiron); + + // Blocks + registerBlockModel(ZCompression.adamantiteOre); + registerBlockModel(ZCompression.arcaniteOre); + registerBlockModel(ZCompression.basalt); + registerBlockModel(ZCompression.bismuthOre); + registerBlockModel(ZCompression.eterniteOre); + registerBlockModel(ZCompression.karmesineOre); + registerBlockModel(ZCompression.ligniteOre); + registerBlockModel(ZCompression.meteoriteOre); + registerBlockModel(ZCompression.mindoriteOre); + registerBlockModel(ZCompression.mythrilOre); + registerBlockModel(ZCompression.palladiumOre); + registerBlockModel(ZCompression.prometheumOre); + registerBlockModel(ZCompression.rottenGround); + registerBlockModel(ZCompression.slagironOre); + registerBlockModel(ZCompression.tiberiumOre); + registerBlockModel(ZCompression.vibraniumOre); + + + } + + public static void registerItemModel(Item item){ + Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); + } + + public static void registerBlockModel(Block block){ + registerItemModel(Item.getItemFromBlock(block)); + } +} diff --git a/src/main/java/proxy/ServerProxy.java b/src/main/java/proxy/ServerProxy.java new file mode 100644 index 0000000..c213f2b --- /dev/null +++ b/src/main/java/proxy/ServerProxy.java @@ -0,0 +1,7 @@ +package proxy; + +public class ServerProxy { + + public void registerClientStuff() {} + +} diff --git a/src/main/resources/assets/zcompression/blockstates/adamantite_ore.json b/src/main/resources/assets/zcompression/blockstates/adamantite_ore.json new file mode 100644 index 0000000..a50d36c --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/adamantite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:adamantite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/arcanite_ore.json b/src/main/resources/assets/zcompression/blockstates/arcanite_ore.json new file mode 100644 index 0000000..26df305 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/arcanite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:arcanite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/basalt.json b/src/main/resources/assets/zcompression/blockstates/basalt.json new file mode 100644 index 0000000..7850e01 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/basalt.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:basalt" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/bismuth_ore.json b/src/main/resources/assets/zcompression/blockstates/bismuth_ore.json new file mode 100644 index 0000000..397599e --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/bismuth_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:bismuth_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/eternite_ore.json b/src/main/resources/assets/zcompression/blockstates/eternite_ore.json new file mode 100644 index 0000000..6b8a216 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/eternite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:eternite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/karmesite_ore.json b/src/main/resources/assets/zcompression/blockstates/karmesite_ore.json new file mode 100644 index 0000000..548dbdb --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/karmesite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:karmesite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/lignite_ore.json b/src/main/resources/assets/zcompression/blockstates/lignite_ore.json new file mode 100644 index 0000000..7d532ed --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/lignite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:lignite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/meteorite_ore.json b/src/main/resources/assets/zcompression/blockstates/meteorite_ore.json new file mode 100644 index 0000000..620dfa9 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/meteorite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:meteorite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/mindorite_ore.json b/src/main/resources/assets/zcompression/blockstates/mindorite_ore.json new file mode 100644 index 0000000..e16b495 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/mindorite_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:mindorite_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/mythril_ore.json b/src/main/resources/assets/zcompression/blockstates/mythril_ore.json new file mode 100644 index 0000000..12c95ce --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/mythril_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:mythril_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/palladium_ore.json b/src/main/resources/assets/zcompression/blockstates/palladium_ore.json new file mode 100644 index 0000000..3cd7b34 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/palladium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:palladium_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/prometheum_ore.json b/src/main/resources/assets/zcompression/blockstates/prometheum_ore.json new file mode 100644 index 0000000..df51c88 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/prometheum_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:prometheum_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/rotten_ground.json b/src/main/resources/assets/zcompression/blockstates/rotten_ground.json new file mode 100644 index 0000000..08ca7d8 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/rotten_ground.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:rotten_ground" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/slagiron_ore.json b/src/main/resources/assets/zcompression/blockstates/slagiron_ore.json new file mode 100644 index 0000000..cba54da --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/slagiron_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:slagiron_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/tiberium_ore.json b/src/main/resources/assets/zcompression/blockstates/tiberium_ore.json new file mode 100644 index 0000000..0558e54 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/tiberium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:tiberium_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/blockstates/vibranium_ore.json b/src/main/resources/assets/zcompression/blockstates/vibranium_ore.json new file mode 100644 index 0000000..ae59ae3 --- /dev/null +++ b/src/main/resources/assets/zcompression/blockstates/vibranium_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "zcompression:vibranium_ore" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/lang/de_DE.lang b/src/main/resources/assets/zcompression/lang/de_DE.lang new file mode 100644 index 0000000..354be92 --- /dev/null +++ b/src/main/resources/assets/zcompression/lang/de_DE.lang @@ -0,0 +1,18 @@ +item.slagiron.name=Unreiner Eisenbarren +tile.adamantite_ore.name=Adamantiterz +tile.arcanite_ore.name=Arcaniterz +tile.basalt.name=Basalt +tile.bismuth_ore.name=Bismutherz +tile.eternite_ore.name=Eterniterz +tile.karmesine_ore.name=Karmesinerz +tile.lignite_ore.name=Braunkohleerz +tile.meteorite_ore.name=Meteoriterz +tile.mindorite_ore.name=Mindoriterz +tile.mythril_ore.name=Mythrilerz +tile.palladium_ore.name=Palladiumerz +tile.prometheum_ore.name=Prometheumerz +tile.rotten_ground.name=Verrottete Erde +tile.slagiron_ore.name=Unreines Eisenerz +tile.tiberium_ore.name=Tiberiumerz +tile.vibranium_ore.name=Vibraniumerz + diff --git a/src/main/resources/assets/zcompression/lang/en_US.lang b/src/main/resources/assets/zcompression/lang/en_US.lang new file mode 100644 index 0000000..cbf40a3 --- /dev/null +++ b/src/main/resources/assets/zcompression/lang/en_US.lang @@ -0,0 +1,17 @@ +item.slagiron.name=Slagiron Bar +tile.adamantite_ore.name=Adamantite Ore +tile.arcanite_ore.name=Arcanite Ore +tile.basalt.name=Basalt +tile.bismuth_ore.name=Bismuth Ore +tile.eternite_ore.name=Eternite Ore +tile.karmesine_ore.name=Karmesine Ore +tile.lignite_ore.name=Lignite Ore +tile.meteorite_ore.name=Meteorite Ore +tile.mindorite_ore.name=Mindorite Ore +tile.mythril_ore.name=Mythril Ore +tile.palladium_ore.name=Palladium Ore +tile.prometheum_ore.name=Prometheum Ore +tile.rotten_ground.name=Rotten Ground +tile.slagiron_ore.name=Slagiron Ore +tile.tiberium_ore.name=Tiberium Ore +tile.vibranium_ore.name=Vibranium Ore \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/adamantite_ore.json b/src/main/resources/assets/zcompression/models/block/adamantite_ore.json new file mode 100644 index 0000000..a3fd258 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/adamantite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/adamantite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/arcanite_ore.json b/src/main/resources/assets/zcompression/models/block/arcanite_ore.json new file mode 100644 index 0000000..c9f99b6 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/arcanite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/arcanite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/basalt.json b/src/main/resources/assets/zcompression/models/block/basalt.json new file mode 100644 index 0000000..5f51756 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/basalt.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/bismuth_ore.json b/src/main/resources/assets/zcompression/models/block/bismuth_ore.json new file mode 100644 index 0000000..9936063 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/bismuth_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/bismuth_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/eternite_ore.json b/src/main/resources/assets/zcompression/models/block/eternite_ore.json new file mode 100644 index 0000000..be530ae --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/eternite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/eternite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/karmesine_ore.json b/src/main/resources/assets/zcompression/models/block/karmesine_ore.json new file mode 100644 index 0000000..4553bc8 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/karmesine_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/karmesine_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/lignite_ore.json b/src/main/resources/assets/zcompression/models/block/lignite_ore.json new file mode 100644 index 0000000..35e681e --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/lignite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/lignite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/meteorite_ore.json b/src/main/resources/assets/zcompression/models/block/meteorite_ore.json new file mode 100644 index 0000000..d347f5c --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/meteorite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/meteorite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/mindorite_ore.json b/src/main/resources/assets/zcompression/models/block/mindorite_ore.json new file mode 100644 index 0000000..ba06590 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/mindorite_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/mindorite_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/mythril_ore.json b/src/main/resources/assets/zcompression/models/block/mythril_ore.json new file mode 100644 index 0000000..d0c5111 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/mythril_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/mythril_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/palladium_ore.json b/src/main/resources/assets/zcompression/models/block/palladium_ore.json new file mode 100644 index 0000000..429c93c --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/palladium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/palladium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/prometheum_ore.json b/src/main/resources/assets/zcompression/models/block/prometheum_ore.json new file mode 100644 index 0000000..d2752d6 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/prometheum_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/prometheum_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/rotten_ground.json b/src/main/resources/assets/zcompression/models/block/rotten_ground.json new file mode 100644 index 0000000..0b23202 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/rotten_ground.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/rotten_ground" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/slagiron_ore.json b/src/main/resources/assets/zcompression/models/block/slagiron_ore.json new file mode 100644 index 0000000..3e6032c --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/slagiron_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/slagiron_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/tiberium_ore.json b/src/main/resources/assets/zcompression/models/block/tiberium_ore.json new file mode 100644 index 0000000..075cdb5 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/tiberium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/tiberium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/block/vibranium_ore.json b/src/main/resources/assets/zcompression/models/block/vibranium_ore.json new file mode 100644 index 0000000..50b0675 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/block/vibranium_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "zcompression:blocks/vibranium_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/adamantite_ore.json b/src/main/resources/assets/zcompression/models/item/adamantite_ore.json new file mode 100644 index 0000000..7ec5126 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/adamantite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/adamantite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/arcanite_ore.json b/src/main/resources/assets/zcompression/models/item/arcanite_ore.json new file mode 100644 index 0000000..21a96d1 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/arcanite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/arcanite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/basalt.json b/src/main/resources/assets/zcompression/models/item/basalt.json new file mode 100644 index 0000000..200b982 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/basalt.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/basalt", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/bismuth_ore.json b/src/main/resources/assets/zcompression/models/item/bismuth_ore.json new file mode 100644 index 0000000..44b8f57 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/bismuth_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/bismuth_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/eternite_ore.json b/src/main/resources/assets/zcompression/models/item/eternite_ore.json new file mode 100644 index 0000000..a5fef31 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/eternite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/eternite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/karmesine_ore.json b/src/main/resources/assets/zcompression/models/item/karmesine_ore.json new file mode 100644 index 0000000..2a28475 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/karmesine_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/karmesine_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/lignite_ore.json b/src/main/resources/assets/zcompression/models/item/lignite_ore.json new file mode 100644 index 0000000..b4fbb0c --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/lignite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/lignite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/meteorite_ore.json b/src/main/resources/assets/zcompression/models/item/meteorite_ore.json new file mode 100644 index 0000000..b9e46b3 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/meteorite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/meteorite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/mindorite_ore.json b/src/main/resources/assets/zcompression/models/item/mindorite_ore.json new file mode 100644 index 0000000..a72e9bb --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/mindorite_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/mindorite_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/mythril_ore.json b/src/main/resources/assets/zcompression/models/item/mythril_ore.json new file mode 100644 index 0000000..d309dc2 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/mythril_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/mythril_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/palladium_ore.json b/src/main/resources/assets/zcompression/models/item/palladium_ore.json new file mode 100644 index 0000000..c9d79ce --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/palladium_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/palladium_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/prometheum_ore.json b/src/main/resources/assets/zcompression/models/item/prometheum_ore.json new file mode 100644 index 0000000..6617eb9 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/prometheum_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/prometheum_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/rotten_ground.json b/src/main/resources/assets/zcompression/models/item/rotten_ground.json new file mode 100644 index 0000000..d64b11e --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/rotten_ground.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/rotten_ground", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/slagiron.json b/src/main/resources/assets/zcompression/models/item/slagiron.json new file mode 100644 index 0000000..84b9cd1 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/slagiron.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "zcompression:items/slagiron" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/slagiron_ore.json b/src/main/resources/assets/zcompression/models/item/slagiron_ore.json new file mode 100644 index 0000000..4522013 --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/slagiron_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/slagiron_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/tiberium_ore.json b/src/main/resources/assets/zcompression/models/item/tiberium_ore.json new file mode 100644 index 0000000..164521f --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/tiberium_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/tiberium_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/models/item/vibranium_ore.json b/src/main/resources/assets/zcompression/models/item/vibranium_ore.json new file mode 100644 index 0000000..ce5f75d --- /dev/null +++ b/src/main/resources/assets/zcompression/models/item/vibranium_ore.json @@ -0,0 +1,10 @@ +{ + "parent": "zcompression:block/vibranium_ore", + "display": { + "thirdperson": { + "rotation": [ 10, -45, 170 ], + "translation": [ 0, 1.5, -2.75 ], + "scale": [ 0.375, 0.375, 0.375 ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/zcompression/textures/blocks/adamantite_ore.png b/src/main/resources/assets/zcompression/textures/blocks/adamantite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..9c12b6ae97a284e8097ddc3f6f8771835cd82ddc GIT binary patch literal 16364 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 E0I!Hbc>n+a literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/arcanite_ore.png b/src/main/resources/assets/zcompression/textures/blocks/arcanite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ccaa81f19fb8ad0ef38c655348396819374453 GIT binary patch literal 15564 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sM}nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAcR zlqtw+k<3X+wo1z{%1tb>%gjwoPt`BTOSjQS2qLM3rz$Jw{G9wE-~5zRJ7XJtY{E#o zz$wkjGq1QLF)umQ)5WeLw?Hp5GsP;+*x1b2IL$~m$;8Y|H!01;NH@{IJWbay#Vpy# z(#X`v!aNBah`zqa+A)lF$xki?>q)f&i!m5hd1MxsP6+}TMW&{!!${5;l+fkm8nujk#L5u>c!fi-#ep*R+Vo|DNdTL$?F?k(gDylYg z<8AaorGHK)4I-jAv5c~4ATA$4e2El`=w3ubH8_Bg$~E*d31Spj6>dXN!;^?27h)=^ zHr&Q1XC&sOr>5BH!xAt|09_0An1hI-<}6rQgP9X;K-H0ze^F*?UP&T2_ZZsfV~8Pa zhNzDK<;I*+uzGVN0|NsCeM1ll)ru^Qt~CP$$1 z9$b)^oN8xgYHDn1qmM3(t|K6`A~h$%B{MfQuQ)S5&(6>css~*HtHwxN8j&QR8X-}I z)DQ#bL5OIOi<=#njXt>j2x?1$rQjtOtr$>;(aLy;xucdq!huL~G`NTiD2TGr;DUq$ zk>qG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSyMPxuhl#K=#Bpiq&M}v#VfPyF+ z4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&SG`Jw)KqNUDTto&GMA>L?LBfGZax}Pz z3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$NOCl|hzux*veDpzgaeV}XmAl3P!MIK!37BiBFWL6Vl5mfRPUxXQ$wx@C`?Jyn*o ze70FwmPAO@ZtZIq*Ct$h^=h4|L_o*%7`HtdZ?=Zt?0!?IU)O!ydDhEUiqlV?KJ)(P zXQ@@;-#7IaWRK-!DzghKrdiL}_BUy`$?8ijdn_F!#(%rI968i>vp~!<*VyULTLx`&rhDi{*%$#J=NUf0g%4 zYE80R!gBSeri9|>0F{HX!gmZezTAKG?p>ZaddU;E6s-Ovb?>ckkGtKOUC#~M&NzE; z{`>QeF zZdwwvrW#EVsi^zG%iZn&SuBX@-HeDGbuHDm^Na4Dxm;(e{WQkuVcONN0s_+Js|DL4 z#SgFPX3chAENtEZo=z{W3rF`X z@|T)_vF@W$yj*3&jpYyeIE`!@9WPx{QT%N1D*gHCDQ-e{3^#_{YfqJT{Hj!N{K(Z# zZjD!Q9-5DQS(_hD)#=^6y^8nktkvB?6@hQu4G+r(PyQpzaCc#r$G74mcA)*np00i_ I>zopr05t(XBme*a literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/basalt.png b/src/main/resources/assets/zcompression/textures/blocks/basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..7fadea8f7b1da22d479f2ae22840dde0089fd7db GIT binary patch literal 16162 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 Or}cF8b6Mw<&;$Tb__8Vh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/lignite_ore.png b/src/main/resources/assets/zcompression/textures/blocks/lignite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..b29c12c93e38eb0fd12a4690682474f8a513f033 GIT binary patch literal 15210 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_sMFnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAcBAW{Q=mVUm$)lA)2VQA%QpZipa5Pf}-wPP6VlAl}($}OHQc94Q4B|kYc#R}mpV*?{g<0J!PU4!IgBV9woR5M-6 zq$C5~q(oCwW3#lBq%=ztm_GBKl* zxFEpLj@yp%jMO}Q*$ZM6SQTzViu2P-$`gxH9n(|uN{Gq%5K~dLp&M_b52_1tGHDPI z#ffELlZ{Q1*$NOCl|hzux*veDpzgaeV}XmAl3P!MIK!37BiBFWLsqfNH`Eljs_Qz0R>Su8eEWYAd(ynE+PX8qHHv{ zAmKnHIT~C<1{6fuXmCNofk<*RxQGlWh_cb(f`kK+qqrn9U2O`PQ;36`h zAj(FA3la`QlB2;zWI#cbjRqGa9Ec=GgNw+3f+!meE=V{KN#YGIF2okj)Vvg1rE(>E zJELhvj~N&k6p}rHd>I(3R2di=ni&{={%2rlc*(#}YQVtoDuIE)Y6b&?c>bjLqizfg z3_m|FJIUNk{vRzOLU7MM-Z~Jxe z#t%D1Z*70_!){i2FVdQ&MBb@0I_VIr2qf` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/meteorite_ore.png b/src/main/resources/assets/zcompression/textures/blocks/meteorite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd3b02485c5912a36cec1eb1d440f31f9655429 GIT binary patch literal 15484 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sM#nIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAccSYnr%o0y)eUyzq>qmK|oQVCB|R?hi3`9;3@DXDhGHu~6vk#vERnU!Z= zaYqL&H=vUCXq@ zB;8aCW5ZN)OAAX=vqYFhNQPlp4C0Oo*muHa703mI_nb;~Z8C0;@C4=%tYKo0MiYUTa5IrEPAPO=uqm#HG zz|fA{j`EDuJe+w8Vh&gdZWD_0(@M${i&7oaQ}arQ$@36XQMI8PZ=(;Y1#&WJ5DUeL zWt7DMaajuDOQa}7_aY*m!2yh3z9AJ)5Tn4Va2tXeo|V=vuJH97Gf~Tfwp_W;V0|RZCX>MVYC2C5hmyV`!s~A%?ISqCNtY6?00#>dlP| z3=9nP4M8MSE3!1Y)=2zXk)_eKB6No4WtP|(L2W}5M$!eUJ0WFza6w{ns-2mssj;bz zKDscvj)2UH)SL*H%-qzx;>`R!J3}+59&`z;8Y6LOM3R7NghUlmgAAMpA)-MpZgyNY z`rvjXs7(o$f)`t~Vn7{6E8`*Nj#>f<2O`PQ;36`hAj(FA3la`QlB2;zWI#cbjRqGa z9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-za3GQ#4K5-B3ZiT@xFF#`Bsm&fLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSy zMPxuhl#K=#Bpiq&M}v#VfPyF+4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&SG`Jw) zKqNUDTto&GMA>L?LBfGZax}Pz3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$*4_6YK2V5m}MU}$J&VEFl;fuZ3g14F3+1H-EX1_rAc3=HD=lj4uMF)%O* zc)B=-RNN|=9P9nrL7?^X?mb@@byO&JtT1uXytI{fsoCta&);qHbm6{c`tk95yEu!a7%4?fx{QS(Bk88GiX!0M5>MrJcF5|>8r})qMbDOWpnUrjd-!Wg@>B3hJ&3c9w zf!aceHWg2&Nh(h&&pm&x?xneE)uMH;>mt}6y;a|GEn}^q(}y2FPSn^vfAfZCt!d`0 zMN^bKC*2pas!Egy5@BsV*zmN-Q-DQBtXs~2gUQa$j_*mu?~KsU#IN%Nm z=<;RZ#~){G($VZ%bieiaoW+?^t5z+_jb5a2NTOMwX_HRm+AxXa6QAeY%sKY^xApC} zWycRhc~47?$ewxrc|>;S;~54#J9q3*IA6R-!^!L9)2FJBKhCh|EBC$4=jG=IdOiGYR~lPfUteDkmcKV{bBvznq!yji0bYtrpFDinIDNW! z&HdxwYyJHFJugqWnRD#qNzUBc{|r{Vo^>^=wYX1#!{hRllPQPNHZRoi-nVa`M6a8N zW@T;d)3HP zs+T2QL0!9dTle+#N$|DD#KtD}EX+g@$5sQhB|6jLcS!PvL?(It^yvHQm77IpY zZ_;^v|8M;JFKNF{=hmCPxgMEaKL3Vm`u*C&e@qvguH|P~B9nbA^KGggXn(M$tDnm{ Hr-UW|##Jf) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/mindorite_ore.png b/src/main/resources/assets/zcompression/textures/blocks/mindorite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc8907574b429e6bfcd307e96bd38fae7825fc0 GIT binary patch literal 15243 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 Usbrh(BG9H~Pgg&ebxsLQ0N!p8u>b%7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/palladium_ore.png b/src/main/resources/assets/zcompression/textures/blocks/palladium_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6e0724dfea2dc5f3c01f25d1e0a16a7a917c99 GIT binary patch literal 16350 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 slzopr05rlxcK`qY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/prometheum_ore.png b/src/main/resources/assets/zcompression/textures/blocks/prometheum_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..36621e72c1b1707faf8defa1b2f1716064e3011a GIT binary patch literal 16341 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_qnj%#etZ2wxwokg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q$17NWCJ5Z1#?S1LsL_8b0ZxEBLhPd zeFH;%Lt|Y-ODhu-D+2=sC{VKFQczH^DN0GR3UYCST33{kW~-D@Qc_^0uU}qXu2*iX zmtT~wZ)j<0sc&GUZ)Bufl#-@fT$xvrSfQI&tPC*(W{yj0adJ^+K}lwQo&w0+#H9Sv z5?duDkVQ~i6`&SXl^ABV%1lWkzbNuoRN>iO1Lymiz{*qe0|||V|8zCE>^3HOI*uJ@arrNsVqp< z4@xc0FD*(=buCNHD^bSg`;yEwMC72j0VIRd?Wq-+IJALeAlkr50TM$t6}bgg&PAz- zCHX}m`T03^kW>}`3ql2FXK<=g&y9kRwl;U21Zr}21tfLRHB*To1c=IR*7ncWr%@+m5HU5fjP1nNGj3ING(ZB zNi0bu$`oX^Namy@Tcza}8m5}*CYe~6=%$#O8XKD#ni(6UTG;4=GH*^Ms?iWpR2z}KgU`L7WZ>&- z<(XGpl9-pA>gi%vkz1gbnVDi`VPKhRY;0c{QVGPuBD}= zNoq<`N=jm)2`rkCViDboAkRR80vy0-g}0@ZfeEbOMN);^5Y+G_qF#ZRimDB_@yQv9 zdFiPscKR@%!35B?4Ca_4t~`VU3>h(pS!F_u0>>|UI3c1RH3|k>%t7K4wM>MSvzTS5 z4XCwbLlZ{Q1!~ek+8e5 z^YiQs&7gYFC9rCY#HA5Q0;&-bRY?5=a5V-I4RUd_M&Xv z4>5Pt5=b}@Nsa~=kpTr!HX2-za3GQ#4K5-B3ZiT@xFF#`Bsm&fLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSyMPxuhl#K=# zBpiq&M}v#VfPyF+4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&SG`Jw)KqNUDTto&G zMA>L?LBfGZax}Pz3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$ND^;waUu2;r{<;DDwQkQ+liRyn=>#lC?tCX`7$t6sWLD$ zG&3;#{LjG9@REU{)PRBERRRNp)eHs(@%%~gN8K10m@av`IEGZ*(h2hR7j|U07j1rq zY4>IJ)CD&VY%{(jcH@%Y$z4<1kA@tH)m&QU>^xp~o;y*pDE-XEkwJg&3?DENzzs_Y{mZ|Af(o@>w zdNFrn`Qt*_$B$#yos&p+mjqzLuSBJ$(GA zlDRCOvF~arwla%#KWnCC84FmuUex56t*o3pxAACQ(1MW1KiyY~lh7U!Pw?z~#r<(GF$ ze#tPz&ON9uEL^>-E<{Id&%Mb@S3Y|-jcKXOR?|1jE^DufT2NA$;2`iOq*IGSu>QrG zpqoLzBlt`E7E4YKm9Z`bgse^qhq#u;m*#7BbR>q`qMeDIK}1okME~vPr9PT z&{<_;dRb=c&3*IVuz0**?zPh4WqypO*Dd~}@~w5oGE2r4GoP(@ z-kc>-XIW97!NF)C-u-hIQ*ZCNuLm8^MLj89xn=R|&9${04XYAes($l-s@yN5BG6X( z@A0QieH)K`=5qSK-ccb$KuJJ};ZKnOSJI*P`K$}hMVt`ckhNvoBfItM^ZWb74?o=h zK5X`^81pB`Vi mFe3UkYrp!ni-GBH?lah#oHt@UZ^sPUc<<@z=d#Wzp$P!0<1wWG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/rotten_ground.png b/src/main/resources/assets/zcompression/textures/blocks/rotten_ground.png new file mode 100644 index 0000000000000000000000000000000000000000..10be0abe6d1b66b6f1f04049476029f8ab6a316a GIT binary patch literal 15816 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sMFnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAccSYnr%o0y)eUyzq>qmK|oQVCC0R?hi3`9;3@DXDhGHu~6vk#vDm znw4i>aYdlP|3=9nP4M8MSE3!1Y)=2zXk)_eKB6No4WtP|(L2W}5M$!eUK_SI^a6w{ns-2ms zsj;bzKDscvj)2UH)SL*H%-qzx;>`R!J3}+59&`z;8Y6LOM3R7NghUlmvkaUEA)-Mp zZgyNY`ry_isAUP3f|p#hVn7{6E8`*Nj#>f<2O`PQ;36`hAj(FA3la`QlB2;zWI#cb zjRqGa9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-za3GQ#4K5-B3ZiT@xFF#`Bsm&f zLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4 zM3SSyMPxuhl#K=#Bpiq&M}v#VfPyF+4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&S zG`Jw)KqNUDTto&GMA>L?LBfGZax}Pz3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$k04(LhALGChK6PahM)f#7#dzOFq9fFFuY1&V6d9Oz#yJKDgLM% z0|RrIr;B4q#Vwmlx&G3u3Dik0H`6289`iY^n(epxi1}6%63@aTF?(via+;@$PMN{|aQpJxF>jt(%($Gn z?$nhct>@o;t6s|b0p0lXR{Lmgf<&evPIl2cTO??l3 zFtWLL`sFf5zpsj2+kYthlCzf+xp~TEBGX+RAD+a1R?c75Ka%|1D*je9?^-H2?~QZk z&I{ose;C;>KV+PxIy22vt?D~p{=WQzEy}@Oy&rZY3HW{cc;S-3t7&d`FIk*pv(RDF z2&=ub#XKNMZ^{bk;%m)M-X{4@&&*G~Vfxsoon0ek@1DIi4FzGo!XLgWxX=0XtE9Wa z@rWLu!J6-zCii{%x~y@pfrH}X)QlUQYb-7@DINFrTqkXIX!&;`nKLinELj}$PPAi5 zp0a0bj-=qJm4bEu)^yAgw2Yglv}9N1*6dH;<>NQzzqYw;DmYEuStsxJ4~^xQGN-=S z;?;9nsQ&MzC+&+}KYeuc``)(m&km0b_Z`htH|A%?#KvySf6c*qxLc@L(A@Rhs?5G= zlVWswg14K@dy|rBA|$Exazdz3i=WY8McW%3}iw^(!?8-Bd z{I7+%oDId>k8<9NF*~u+PEJ?tZ_F8+o`njxgN@xNALAcSj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/slagiron_ore.png b/src/main/resources/assets/zcompression/textures/blocks/slagiron_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..326eea27e031445d45dcf2362cf44507a3805133 GIT binary patch literal 15407 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_sMFnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAccSYnr%o0y)eUyzq>qmK|oQVCC0R?hi3`9;3@DXDhGHu~6vk#vDm znw4i>aY+lqGB8gvNVZ5d&^1U(HPtmVOf}QB zNHa9hO|djLN;NSwO|vvjgIR=R7=}guMVaZDd5JklYCwKT0r|xw)yTpq#Yi{B*fd2q z(cC0S*TUG$QrFZd*(A*%DaqK#+yZ6=7Gp51^2jVM$uFuzO2x1eDLAzdRTL(XlL;=N z3KENoQ$hL9Rtc5?;YAuGKR`$ua6Yz5Oa_&0cFCaZk(y$ok0Oe27DNxoDu{wiEYV3+ z5MXG>ZAW=VY97Aq1u+V&3b!G}`DrEPiAAZ7>8W`o#N>R4si@k}jknPU)de}3G>C}e z#4-w_fv8*s@g-6$qI(e$)!+a|E9H<&D2P#DRk#g74NoEpV2G)x+Hf16oROH9o|0dy_cV-6yUnzLZJ6*DK=fGQ^||Dw#)yplw4?lH8{#}Gr<3{f8e%8fatVD;uk z1_lNO`i3A9sufupU27zMt;o{oS`j)!^D;~9jG(rm2_xwO)u52#J-8q-In~b0)YRD2 zMju@mT}MD>MQTojOJ;6rUU6oAo}Hl?R1dlYR*jLkG$KhrHA12asaXcjgAmam7dJaD z8+~wV64bH;OTkMnS}~vwqm}Uxb4M+KgaeV}XmAl3P!MIK!37BiBFWLsqfNH`Eljs_Qz0R>Su8eEWYAd(ynE+PX8 zqHHv{AmKnHIT~C<1{6fuXmCNofk<*RxQGlWh_cb(f`kK+qqrn9U2O`PQ z;36`hAj(FA3la`QlB2;zWI#cbjRqGa9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-z za3GQ#4K5-B3ZiT@xFF#`Bsm&fLqG_5gAYr zWuw6b2?rv{(cmI7pdiXdg9{Q4M3SSyMPxuhl#K=#Bpiq&@dg(cVhd+#UW%Yxam$K9SSOsw#47nw>-O zN$xK5n6I@v``vhcaA;cEvpL1*B1643mrj`?B-kqOrhe_!JXxhKkDiGg9V@0R zT4i`_PI30yDNZiC@A|noaWFgxFfE-r5r zl*wm3|#y5Z)@j@t;f#X`yG{?t$QrOOK{@fy8e!J z@2fW}DxIl`>gbTjlREV4*P$(y?`4(dJu>eOo1MvVdD-u6d+l}7+n@S;Ty?GLO_1hM zfyZy(xJ)gMi;v&atIe=MV(pZ3-$b1@9DF9n5E2@i%iNLiN9obI)k!Dk-L`OC>!H~4 apP7L(C-|YZ+VUHqExn$uelF{r5}E)ikpzPP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/stone_andesite.png b/src/main/resources/assets/zcompression/textures/blocks/stone_andesite.png new file mode 100644 index 0000000000000000000000000000000000000000..feba8d815c656d0fd0465859155385289b32da87 GIT binary patch literal 904 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&N| z?e4+=20xv5*E29Ma29w(7Bet#3xhBt!>lgzEJ;mKD9TWoKYuy6@@Y7-HeC8hktGR)EM^ z{clSb&y5llY-DLsnj|qvW>P_^i|o|b0j#b9j@`z$rk5?d_T0}tvvlrbX5mSjzsFU_ z_NB?rD2NrGdB(0@a*7wDUR10^8{c{DgPUwjq+DFB(Nx8 zwfu$`49jK)`99syR`pllV@qR+RrkXWLe|!vE=q=f{(hIv&#!;5LyfCd#^gMALAklY zruN@QWp3ZrRGBQ}yWD&3E1Z!199V=)gNM_gA=eYOt5>cHR=DY$ny=HhIU~ zn1^|{7F+i%T76RK=kf2^20^=o{IUdE^on*`tXw1fQTP?_>|G)Xrrs)LFDIRTsD5FI zMcKuNR?KEUJC1IPnDW>xd&c?onhzw7A5Ry#5fbfDEqh#fMM5smt(wBa{Gn{BXHQDL zGF({U?W1Nas<*OHyXMThbgh(K>mI*&F~NlO)?B?UQN9a;Rz7~SrvKpz?%SI>(jLCq z<9}6m>VX`y&aA7o*SkWVKKK~HG<|`j8{7Hw_7QIsIbPYA{7m6`Y;|n=cCUcTC0B1< z_2M;u?0q!$)nc|Y;<0}JR+zjfadTN^bV}4r?Be_HFCDshbKBGcPH_tgEm-qN_wAKw zPqbZ_UrV2H6j0!4>DuV)a@b(UKReyEmwIj8b~vhk+G2catl{Bz`d1pN+^^Yp z;%ah z@{Bt9wS0_}=lb#c`*Vk!a>@)T$%$Kbe#45h^%B!M7To%~y8x64JYD@<);T3K0RVj< BgZ}^k literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/stone_diorite.png b/src/main/resources/assets/zcompression/textures/blocks/stone_diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..8b68d7bbcbd3b0a5d542c9406be6afc36f227b32 GIT binary patch literal 684 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&N| z?e4+=20xv5*E29Ma29w(7Bet#3xhBt!>lEak-;cpup>n|KAu=oEYj~Zn*xsC+k&WDHDFPW&Cx-y#zaG5S$q&P|FH{;Zn1fGD5 zlX;;@xtX~d9AVcVq}9rOmzh&*vGe=8nz@$7+0&-SpE&3kdFyRoh?dyJ>*ek_zZc)R z^Jn7JsasNv)~BRB>rC04&n(YiW^8AtT3s#wLvdn+f>f`u)WnqR)hb_qh0kMV{+^Qe zZs(bEc9RbtR6HhemPJNRPIv{&nzehU#jMk~n4$CGp!xaV+Go>Vn=xuBo%p<`VV2sC zJ%998URhOQ6`NH4eeaw(S2(^J9zOhi>HhzE%%`8O%E{lK%)MZ~&$0+vE5-%=WsEF` z)2jB)FDkvNY|GMqSkQC1@xNO4W5?t!2EKI8P-)7mXx@4;E34!9{8JYLU6m%T@bR-t zGrCYNbA12)l!Wco2Nzvg5TJ4LMMlS#S6|z5@}8}*cwss_{n4&@5!Z4VSq{i|IxTF^ z=?o4?kXLwhDX8mh!=~JNt}TwGZ#rJ@a=h*KeD3+@H=9zg{yCLmCR^8saZ7Df=>=!@mA1@cSnl}WgW;=VF!NPTPQ@jDO#d{v+P>!`CmPLe^6g)+494i_Wg5HQ(N}r&mQfK5py~( zOuH1i!0I1+$63t-3j;Ka983?&db8L@t<4WwU7MzG?}zpC=fZ#Fn+#v&Eq32insPL$ l^W+2uvpwIxpFU{zk9m)#Z01G%cqdRo^K|udS?83{1OT~mElmIb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/stone_granite.png b/src/main/resources/assets/zcompression/textures/blocks/stone_granite.png new file mode 100644 index 0000000000000000000000000000000000000000..74d03aa1e3e26a48f1021d0e832c02ac520db132 GIT binary patch literal 555 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z`&N| z?e4+=20xv5*E29Ma29w(7Bet#3xhBt!>li_*-zH2j_{dwW^ekrna0Jj|Cc>|pLNi`C4Jw#^FI_Oe>*;P z)Ban!Km0x)D3=zsz8@dm^?p+EAAzTD=GgOn5<9$nUj6HssF32#(_Xjp?k?Unb@T7L zVHvJ5g>|Ri>-gVxWoZ7kQ`SS$Vc!a-6VqcN!H|1Kb;qDC213^cpZ_e5v z=xx99t)$}7HLO})A2)3Id3*9ksdo|G6ZPLN?wYvhnkw%^mw)#6?jNh{QR$B=GP)jR z@J&NSa@&$Z2G(t#Kh~c6crMWQ4MXSo=j|6+7VZ0QJZ(XOjayg1$Jc+aR!uIENW5P0 zG&HDFnUQ;eQ`IGr4pxIVho>LR5b87*EtZ=6%=d^!w>fQhV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/tiberium_ore.png b/src/main/resources/assets/zcompression/textures/blocks/tiberium_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..0763e8182614bb62a3efd0a72a451f0c80d6baa4 GIT binary patch literal 16446 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 q*Sa}ADowJzlU}}B^z8Q^bB5Qqju{2%TΜ@b`4}b6Mw<&;$T)gmnS{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/blocks/vibranium_ore.png b/src/main/resources/assets/zcompression/textures/blocks/vibranium_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c9770db30142e26614a8479dbbc374ec4b0c3512 GIT binary patch literal 15659 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_tZJnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAc$V<1;M+hRRgr_Pi=lq=fBH#R!R6AoEeQd%= zy1*&T$}_LHBrz{J)zihUBDX*(0#4;%j9EiTY$l5WCcF9jJ1?3h`7duG7l9HdCnPP=-R-Ro5cLC`~stCCS{}#5gg@+$(hNj> z1gH?rDFv%HH!?6VFwi#ykx;G3(&$Okih0%2cWLBi+M7U(;rsfrA=I7ZNnnCrTOJLO)iAy7r1XLp=s*qaK z;Gz>E8sy?;$7Q1r?gW531Yjw6g+nU_)M2zT9%AmOC6I6+k{k^#A_EGdY&5ta;Xoug z8eBvM6hzr*a6!U>NOCl|hzux*veDpzgaeV}XmAl3P!MIK!37BiBFWLsqfNH`Eljs_Qz0R>Su8eEWYAd(ynE+PX8 zqHHv{AmKnHIT~C<1{6fuXmCNofk<*RxQGlWh_cb(f`kK+qqrn9U2O`PQ z;36`hAj(FA3la`QlB2;zWI#cbjRqGa9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-z za3GQ#4K5-B3ZiT@xFF#`Bsm&fL1K_S^A$d`ekN|k}3p_zf<=YIxtODvD#mFG&I!h`i}?-3O-~{IdJ9-4@1U-DQkPuT#QddUNR^#{5fNf>d_~s?UWZ? zSmoqn=dbAB*l{j9x}UYau|tMo#fd7NUPH;{*$f4~E@^HqoLc)Uxn3=g5}L%sa4k9W z)X%6#(jftVS{!QsTde10Sk;u{A=+`{JHPeUukYgCzl&bowvFrYkDimD2XW0nX1gr_^3!%DI@e tW80FrwdP+7*6-e`a_QS%limNB8NRqQ8(2oGmw~o3d%F6$taD0e0st#66LJ6m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/zcompression/textures/items/slagiron.png b/src/main/resources/assets/zcompression/textures/items/slagiron.png new file mode 100644 index 0000000000000000000000000000000000000000..2b70a7ee1a214c84b50e1f122d2e06816c164c32 GIT binary patch literal 15409 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_sMFnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhJ1(0FtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rh2Bj$p%J-3g(u2hNh_{ffi_eM3D1eQcUilHqy^N{e#9PD@GFPt8fq zP0cGQ);H8M#Hz0#BfliSI3pj2m2hdC7FXmJ`1-=_#_HbOT&z|Xm$;Ud;MZ9kQdy9y zACy|0Us{x$>ROhXSE7u~_a&KWh{!>414ss^+fyqtacBd{K(v9A0wjiPDsl^~oQqNu zOY)0C^7C`-AgL?>7K94U&frv~pb?&#my%yztZAccSYnr%o0y)eUyzq>qmK|oQVCC0R?hi3`9;3@DXDhGHu~6vk#vDm znw4i>aY6b8|x@Qv+Rtq*QZVL&H=v zU5hkB1Kku$bE8xfL(?=%(=?bxNQPlpdlP|3=9nP4M8MSE3!1Y)=2zXk)_eKB6No4WtP|(L2W}5M$!eUK_SI^a6w{ns-2ms zsj;bzKDscvj)2UH)SL*H%-qzx;>`R!J3}+59&`z;8Y6LOM3R7NghUlmvkaUEA)-Mp zZgyNY`ry_isAUP3f|p#hVn7{6E8`*Nj#>f<2O`PQ;36`hAj(FA3la`QlB2;zWI#cb zjRqGa9Ec=GgNw+3f+!meE=V{KNsa~=kpTr!HX2-za3GQ#4K5-B3ZiT@xFF#`Bsm&f zLqG_5gAYrWuw6b2?rv{(cmI7pdiXdg9{Q4 zM3SSyMPxuhl#K=#Bpiq&M}v#VfPyF+4K7GH5J`>(7m)!4Q8pS}kZ>T991Sia0}7&S zG`Jw)KqNUDTto&GMA>L?LBfGZax}Pz3@C`Q(cprF1Ciuta1j|$5M`sm1qlZt$ z=n`As<3E#4B3&lC*6rUfR<)-}Ja+1Z(9XCgpI_cx%{rOYV`r^!?9>Y>6XTvR8_0Z- z#S%40iLj{IuJdU^FW$ZBzc5V6Bv!=GQE3x4qmU zCVTzSmm6y8O9e|pnG$5?U*x^bnKI>luvQA^UbVX$Y}v1Cxvt7yePZSnlY=QGjy5kY zch|hx>$_($^Pa`bPU~l`2-6H&EyAhOe86Z$XxC+ySvo={Wf?O=?dmNa_GSxJ`QF=K z>ua79Tp4j-t-MeK+f%1$bEc@NFAWrFP2rxUbIE8mORsF)72i9*6s!AB-PkQ{Q@d%V zLy_9o?@BLMxtw0}>C;cKZ|~T$zq>r~;j)~pw1G!)Ly!Hm+=c7P^X|@QUe_#p{3rkX e%*bYWW`_5TF>l=~?uvpo^?JJcxvX