diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5761c5c --- /dev/null +++ b/.gitignore @@ -0,0 +1,117 @@ +# ---> Java +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +#Fabric +run/ + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# ---> JetBrains +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# ---> Gradle +.gradle +**/build/ +!src/**/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 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..659bf43 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..59d8f95 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..adc47b4 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Minecraft_Client.xml b/.idea/runConfigurations/Minecraft_Client.xml new file mode 100644 index 0000000..ead8fdd --- /dev/null +++ b/.idea/runConfigurations/Minecraft_Client.xml @@ -0,0 +1,12 @@ + + + + diff --git a/.idea/runConfigurations/Minecraft_Server.xml b/.idea/runConfigurations/Minecraft_Server.xml new file mode 100644 index 0000000..19e6ddb --- /dev/null +++ b/.idea/runConfigurations/Minecraft_Server.xml @@ -0,0 +1,12 @@ + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..8a52160 --- /dev/null +++ b/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'fabric-loom' version '0.9-SNAPSHOT' + id 'maven-publish' +} + +sourceCompatibility = JavaVersion.VERSION_16 +targetCompatibility = JavaVersion.VERSION_16 + +archivesBaseName = project.archives_base_name +version = project.mod_version +group = project.maven_group + +repositories { + mavenCentral() +} + +dependencies { + minecraft "com.mojang:minecraft:${project.minecraft_version}" + mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" +} + +processResources { + inputs.property "version", project.version + + filesMatching("fabric.mod.json") { + expand "version": project.version + } +} + +tasks.withType(JavaCompile).configureEach { + it.options.encoding = "UTF-8" + it.options.release = 16 +} + +java { + withSourcesJar() +} + +jar { + from("LICENSE") { + rename { "${it}_${project.archivesBaseName}"} + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..899d87f --- /dev/null +++ b/gradle.properties @@ -0,0 +1,16 @@ +# 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.17.1 +yarn_mappings=1.17.1+build.63 +loader_version=0.11.7 + +# Mod Properties +mod_version = 1.0.0 +maven_group = tech.nevets +archives_base_name = vplus + +# Dependencies +fabric_version=0.41.0+1.17 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7454180 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..69a9715 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..744e882 --- /dev/null +++ b/gradlew @@ -0,0 +1,185 @@ +#!/usr/bin/env sh + +# +# 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. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# 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\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +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" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# 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 + ;; +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" + 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" -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 + +# 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" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # 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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# 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" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@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 + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@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="-Xmx64m" "-Xms64m" + +@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 execute + +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 execute + +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 + +: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 %* + +: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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..2875cde --- /dev/null +++ b/settings.gradle @@ -0,0 +1,9 @@ +pluginManagement { + repositories { + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/Main.java b/src/main/java/tech/nevets/vplus/Main.java new file mode 100644 index 0000000..42c5e6c --- /dev/null +++ b/src/main/java/tech/nevets/vplus/Main.java @@ -0,0 +1,24 @@ +package tech.nevets.vplus; + +import net.fabricmc.api.ModInitializer; +import tech.nevets.vplus.armor.VPArmor; +import tech.nevets.vplus.blocks.VPBlocks; +import tech.nevets.vplus.food.VPFood; +import tech.nevets.vplus.items.VPItems; +import tech.nevets.vplus.misc.VPFuels; +import tech.nevets.vplus.misc.VPZoom; +import tech.nevets.vplus.tools.VPTools; + +public class Main implements ModInitializer { + + @Override + public void onInitialize() { + VPBlocks.vpBlocks(); + VPItems.vpItems(); + VPFood.vpFood(); + VPTools.vpTools(); + VPArmor.vpArmor(); + VPFuels.vpFuels(); + VPZoom.vpZoom(); + } +} diff --git a/src/main/java/tech/nevets/vplus/armor/ArmorMaterials.java b/src/main/java/tech/nevets/vplus/armor/ArmorMaterials.java new file mode 100644 index 0000000..69a11f0 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/armor/ArmorMaterials.java @@ -0,0 +1,81 @@ +package tech.nevets.vplus.armor; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.item.ArmorMaterial; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.Items; +import net.minecraft.recipe.Ingredient; +import net.minecraft.sound.SoundEvent; +import net.minecraft.sound.SoundEvents; +import net.minecraft.util.Lazy; +import tech.nevets.vplus.items.VPItems; + +import java.util.function.Supplier; + +public enum ArmorMaterials implements ArmorMaterial { + EMERALD("emerald", 30, new int[]{2, 6, 8, 2}, 30, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 1.0F, 0.0F, () -> { + return Ingredient.ofItems(new ItemConvertible[]{Items.EMERALD}); + }), + PLATINUM("platinum", 40, new int[]{6, 8, 10, 6}, 40, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 1.0F, 0.5F, () -> { + return Ingredient.ofItems(new ItemConvertible[]{VPItems.PLATINUMINGOT}); + }), + RUBY("ruby", 75, new int[]{10, 15, 20, 10}, 100, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 4.0F, 1.0F, () -> { + return Ingredient.ofItems(new ItemConvertible[]{VPItems.RUBY}); + }); + + private static final int[] BASE_DURABILITY = new int[]{13, 15, 16, 11}; + private final String name; + private final int durabilityMultiplier; + private final int[] protectionAmounts; + private final int enchantability; + private final SoundEvent equipSound; + private final float toughness; + private final float knockbackResistance; + private final Lazy repairIngredientSupplier; + + private ArmorMaterials(String name, int durabilityMultiplier, int[] protectionAmounts, int enchantability, SoundEvent equipSound, float toughness, float knockbackResistance, Supplier repairIngredientSupplier) { + this.name = name; + this.durabilityMultiplier = durabilityMultiplier; + this.protectionAmounts = protectionAmounts; + this.enchantability = enchantability; + this.equipSound = equipSound; + this.toughness = toughness; + this.knockbackResistance = knockbackResistance; + this.repairIngredientSupplier = new Lazy(repairIngredientSupplier); + } + + public int getDurability(EquipmentSlot slot) { + return BASE_DURABILITY[slot.getEntitySlotId()] * this.durabilityMultiplier; + } + + public int getProtectionAmount(EquipmentSlot slot) { + return this.protectionAmounts[slot.getEntitySlotId()]; + } + + public int getEnchantability() { + return this.enchantability; + } + + public SoundEvent getEquipSound() { + return this.equipSound; + } + + public Ingredient getRepairIngredient() { + return (Ingredient)this.repairIngredientSupplier.get(); + } + + @Environment(EnvType.CLIENT) + public String getName() { + return this.name; + } + + public float getToughness() { + return this.toughness; + } + + public float getKnockbackResistance() { + return this.knockbackResistance; + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/armor/BaseArmor.java b/src/main/java/tech/nevets/vplus/armor/BaseArmor.java new file mode 100644 index 0000000..7e712dd --- /dev/null +++ b/src/main/java/tech/nevets/vplus/armor/BaseArmor.java @@ -0,0 +1,12 @@ +package tech.nevets.vplus.armor; + +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.item.ArmorItem; +import net.minecraft.item.ArmorMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class BaseArmor extends ArmorItem { + public BaseArmor(ArmorMaterial material, EquipmentSlot slot) { + super(material, slot, new Settings().group(VPItemGroups.COMBAT)); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/armor/VPArmor.java b/src/main/java/tech/nevets/vplus/armor/VPArmor.java new file mode 100644 index 0000000..941558f --- /dev/null +++ b/src/main/java/tech/nevets/vplus/armor/VPArmor.java @@ -0,0 +1,44 @@ +package tech.nevets.vplus.armor; + +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.item.ArmorMaterial; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class VPArmor { + + public static final ArmorMaterial EMERALD_ARMOR = ArmorMaterials.EMERALD; + public static final ArmorMaterial PLATINUM_ARMOR = ArmorMaterials.PLATINUM; + public static final ArmorMaterial RUBY_ARMOR = ArmorMaterials.RUBY; + + public static void vpArmor() { + initializeHelmet(); + initializeChestplates(); + initialzeLeggings(); + initializeBoots(); + } + + public static void initializeHelmet() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_helmet"), new BaseArmor(EMERALD_ARMOR, EquipmentSlot.HEAD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_helmet"), new BaseArmor(PLATINUM_ARMOR, EquipmentSlot.HEAD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_helmet"), new BaseArmor(RUBY_ARMOR, EquipmentSlot.HEAD)); + } + + public static void initializeChestplates() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_chestplate"), new BaseArmor(EMERALD_ARMOR, EquipmentSlot.CHEST)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_chestplate"), new BaseArmor(PLATINUM_ARMOR, EquipmentSlot.CHEST)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_chestplate"), new BaseArmor(RUBY_ARMOR, EquipmentSlot.CHEST)); + } + + public static void initialzeLeggings() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_leggings"), new BaseArmor(EMERALD_ARMOR, EquipmentSlot.LEGS)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_leggings"), new BaseArmor(PLATINUM_ARMOR, EquipmentSlot.LEGS)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_leggings"), new BaseArmor(RUBY_ARMOR, EquipmentSlot.LEGS)); + } + + public static void initializeBoots() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_boots"), new BaseArmor(EMERALD_ARMOR, EquipmentSlot.FEET)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_boots"), new BaseArmor(PLATINUM_ARMOR, EquipmentSlot.FEET)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_boots"), new BaseArmor(RUBY_ARMOR, EquipmentSlot.FEET)); + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/ColorTorchBlock.java b/src/main/java/tech/nevets/vplus/blocks/ColorTorchBlock.java new file mode 100644 index 0000000..80516b0 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/ColorTorchBlock.java @@ -0,0 +1,46 @@ +package tech.nevets.vplus.blocks; + +import java.util.Random; + +import net.minecraft.block.*; +import net.minecraft.particle.ParticleEffect; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldAccess; +import net.minecraft.world.WorldView; + +public class ColorTorchBlock extends Block { + protected static final int field_31265 = 2; + protected static final VoxelShape BOUNDING_SHAPE = Block.createCuboidShape(6.0D, 0.0D, 6.0D, 10.0D, 10.0D, 10.0D); + protected final ParticleEffect particle; + + + public ColorTorchBlock(Settings settings, ParticleEffect particle) { + super(settings); + this.particle = particle; + } + + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return BOUNDING_SHAPE; + } + + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + return direction == Direction.DOWN && !this.canPlaceAt(state, world, pos) ? Blocks.AIR.getDefaultState() : super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); + } + + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return sideCoversSmallSquare(world, pos.down(), Direction.UP); + } + + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + double d = (double)pos.getX() + 0.5D; + double e = (double)pos.getY() + 0.7D; + double f = (double)pos.getZ() + 0.5D; + world.addParticle(ParticleTypes.SMOKE, d, e, f, 0.0D, 0.0D, 0.0D); + world.addParticle(this.particle, d, e, f, 0.0D, 0.0D, 0.0D); + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/ColorWallTorchBlock.java b/src/main/java/tech/nevets/vplus/blocks/ColorWallTorchBlock.java new file mode 100644 index 0000000..4f6390a --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/ColorWallTorchBlock.java @@ -0,0 +1,110 @@ +package tech.nevets.vplus.blocks; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; +import net.minecraft.block.*; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.particle.ParticleEffect; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.DirectionProperty; +import net.minecraft.state.property.Property; +import net.minecraft.util.BlockMirror; +import net.minecraft.util.BlockRotation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldAccess; +import net.minecraft.world.WorldView; +import org.jetbrains.annotations.Nullable; + +import java.util.Map; +import java.util.Random; + +public class ColorWallTorchBlock extends TorchBlock { + public static final DirectionProperty FACING; + protected static final float field_31285 = 2.5F; + private static final Map BOUNDING_SHAPES; + + protected ColorWallTorchBlock(Settings settings, ParticleEffect particleEffect) { + super(settings, particleEffect); + this.setDefaultState((BlockState)((BlockState)this.stateManager.getDefaultState()).with(FACING, Direction.NORTH)); + } + + public String getTranslationKey() { + return this.asItem().getTranslationKey(); + } + + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return getBoundingShape(state); + } + + public static VoxelShape getBoundingShape(BlockState state) { + return (VoxelShape)BOUNDING_SHAPES.get(state.get(FACING)); + } + + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + Direction direction = (Direction)state.get(FACING); + BlockPos blockPos = pos.offset(direction.getOpposite()); + BlockState blockState = world.getBlockState(blockPos); + return blockState.isSideSolidFullSquare(world, blockPos, direction); + } + + @Nullable + public BlockState getPlacementState(ItemPlacementContext ctx) { + BlockState blockState = this.getDefaultState(); + WorldView worldView = ctx.getWorld(); + BlockPos blockPos = ctx.getBlockPos(); + Direction[] directions = ctx.getPlacementDirections(); + Direction[] var6 = directions; + int var7 = directions.length; + + for(int var8 = 0; var8 < var7; ++var8) { + Direction direction = var6[var8]; + if (direction.getAxis().isHorizontal()) { + Direction direction2 = direction.getOpposite(); + blockState = (BlockState)blockState.with(FACING, direction2); + if (blockState.canPlaceAt(worldView, blockPos)) { + return blockState; + } + } + } + + return null; + } + + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + return direction.getOpposite() == state.get(FACING) && !state.canPlaceAt(world, pos) ? Blocks.AIR.getDefaultState() : state; + } + + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + Direction direction = (Direction)state.get(FACING); + double d = (double)pos.getX() + 0.5D; + double e = (double)pos.getY() + 0.7D; + double f = (double)pos.getZ() + 0.5D; + double g = 0.22D; + double h = 0.27D; + Direction direction2 = direction.getOpposite(); + world.addParticle(ParticleTypes.SMOKE, d + 0.27D * (double)direction2.getOffsetX(), e + 0.22D, f + 0.27D * (double)direction2.getOffsetZ(), 0.0D, 0.0D, 0.0D); + world.addParticle(this.particle, d + 0.27D * (double)direction2.getOffsetX(), e + 0.22D, f + 0.27D * (double)direction2.getOffsetZ(), 0.0D, 0.0D, 0.0D); + } + + public BlockState rotate(BlockState state, BlockRotation rotation) { + return (BlockState)state.with(FACING, rotation.rotate((Direction)state.get(FACING))); + } + + public BlockState mirror(BlockState state, BlockMirror mirror) { + return state.rotate(mirror.getRotation((Direction)state.get(FACING))); + } + + protected void appendProperties(StateManager.Builder builder) { + builder.add(new Property[]{FACING}); + } + + static { + FACING = HorizontalFacingBlock.FACING; + BOUNDING_SHAPES = Maps.newEnumMap(ImmutableMap.of(Direction.NORTH, Block.createCuboidShape(5.5D, 3.0D, 11.0D, 10.5D, 13.0D, 16.0D), Direction.SOUTH, Block.createCuboidShape(5.5D, 3.0D, 0.0D, 10.5D, 13.0D, 5.0D), Direction.WEST, Block.createCuboidShape(11.0D, 3.0D, 5.5D, 16.0D, 13.0D, 10.5D), Direction.EAST, Block.createCuboidShape(0.0D, 3.0D, 5.5D, 5.0D, 13.0D, 10.5D))); + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/LavaSpongeBlock.java b/src/main/java/tech/nevets/vplus/blocks/LavaSpongeBlock.java new file mode 100644 index 0000000..85da91a --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/LavaSpongeBlock.java @@ -0,0 +1,81 @@ +package tech.nevets.vplus.blocks; + +import com.google.common.collect.Lists; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.*; +import net.minecraft.fluid.FluidState; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.tag.FluidTags; +import net.minecraft.util.Pair; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; + +import java.util.Queue; + +public class LavaSpongeBlock extends Block { + + + public LavaSpongeBlock() { + super(FabricBlockSettings.of(Material.STONE).strength(0.6F).sounds(BlockSoundGroup.BASALT)); + } + + public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) { + if (!oldState.isOf(state.getBlock())) { + this.update(world, pos); + } + } + + public void neighborUpdate(BlockState state, World world, BlockPos pos, Block block, BlockPos fromPos, boolean notify) { + this.update(world, pos); + super.neighborUpdate(state, world, pos, block, fromPos, notify); + } + + protected void update(World world, BlockPos pos) { + if (this.absorbLava(world, pos)) { + world.setBlockState(pos, VPBlocks.SATURATEDLAVASPONGEBLOCK.getDefaultState(), 2); + world.syncWorldEvent(2001, pos, Block.getRawIdFromState(Blocks.LAVA.getDefaultState())); + } + + } + + private boolean absorbLava(World world, BlockPos pos) { + Queue> queue = Lists.newLinkedList(); + queue.add(new Pair(pos, 0)); + int i = 0; + + while(!queue.isEmpty()) { + Pair pair = (Pair)queue.poll(); + BlockPos blockPos = (BlockPos)pair.getLeft(); + int j = (Integer)pair.getRight(); + Direction[] var8 = Direction.values(); + int var9 = var8.length; + + for(int var10 = 0; var10 < var9; ++var10) { + Direction direction = var8[var10]; + BlockPos blockPos2 = blockPos.offset(direction); + BlockState blockState = world.getBlockState(blockPos2); + FluidState fluidState = world.getFluidState(blockPos2); + Material material = blockState.getMaterial(); + if (fluidState.isIn(FluidTags.LAVA)) { + if (blockState.getBlock() instanceof FluidDrainable && !((FluidDrainable)blockState.getBlock()).tryDrainFluid(world, blockPos2, blockState).isEmpty()) { + ++i; + if (j < 6) { + queue.add(new Pair(blockPos2, j + 1)); + } + } else if (blockState.getBlock() instanceof FluidBlock) { + world.setBlockState(blockPos2, Blocks.AIR.getDefaultState(), 3); + ++i; + if (j < 6) { + queue.add(new Pair(blockPos2, j + 1)); + } + } + } + } + if (i > 64) { + break; + } + } + return i > 0; + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/blocks/PlatinumBlock.java b/src/main/java/tech/nevets/vplus/blocks/PlatinumBlock.java new file mode 100644 index 0000000..5d0ff84 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/PlatinumBlock.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.Block; +import net.minecraft.block.Material; +import net.minecraft.sound.BlockSoundGroup; + +public class PlatinumBlock extends Block { + public PlatinumBlock() { + super(FabricBlockSettings.of(Material.STONE).breakByHand(false).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.METAL).strength(30, 1000f)); + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/PlatinumOre.java b/src/main/java/tech/nevets/vplus/blocks/PlatinumOre.java new file mode 100644 index 0000000..c9fb578 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/PlatinumOre.java @@ -0,0 +1,36 @@ +package tech.nevets.vplus.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.item.ItemStack; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; + +import java.util.Random; + +public class PlatinumOre extends Block { + public PlatinumOre() { + super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES, 3).sounds(BlockSoundGroup.STONE).strength(3, 1500f)); + } + protected int getExperienceWhenMined(Random random) { + return MathHelper.nextInt(random, 3, 7); + } + + public void onStacksDropped(BlockState state, ServerWorld world, BlockPos pos, ItemStack stack) { + super.onStacksDropped(state, world, pos, stack); + if (EnchantmentHelper.getLevel(Enchantments.SILK_TOUCH, stack) == 0) { + int i = this.getExperienceWhenMined(world.random); + if (i > 0) { + this.dropExperience(world, pos, i); + } + } + + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/RubyBlock.java b/src/main/java/tech/nevets/vplus/blocks/RubyBlock.java new file mode 100644 index 0000000..21a1e2b --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/RubyBlock.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.Block; +import net.minecraft.block.Material; +import net.minecraft.sound.BlockSoundGroup; + +public class RubyBlock extends Block { + public RubyBlock() { + super(FabricBlockSettings.of(Material.STONE).breakByHand(false).breakByTool(FabricToolTags.PICKAXES).sounds(BlockSoundGroup.METAL).strength(5, 6.0f)); + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/RubyOre.java b/src/main/java/tech/nevets/vplus/blocks/RubyOre.java new file mode 100644 index 0000000..7a7a2c6 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/RubyOre.java @@ -0,0 +1,35 @@ +package tech.nevets.vplus.blocks; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.item.ItemStack; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; + +import java.util.Random; + +public class RubyOre extends Block { + public RubyOre() { + super(FabricBlockSettings.of(Material.STONE).breakByTool(FabricToolTags.PICKAXES, 3).sounds(BlockSoundGroup.STONE).strength(3, 1500f)); + } + protected int getExperienceWhenMined(Random random) { + return MathHelper.nextInt(random, 3, 7); + } + + public void onStacksDropped(BlockState state, ServerWorld world, BlockPos pos, ItemStack stack) { + super.onStacksDropped(state, world, pos, stack); + if (EnchantmentHelper.getLevel(Enchantments.SILK_TOUCH, stack) == 0) { + int i = this.getExperienceWhenMined(world.random); + if (i > 0) { + this.dropExperience(world, pos, i); + } + } + } +} diff --git a/src/main/java/tech/nevets/vplus/blocks/SaturatedLavaSpongeBlock.java b/src/main/java/tech/nevets/vplus/blocks/SaturatedLavaSpongeBlock.java new file mode 100644 index 0000000..47413da --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/SaturatedLavaSpongeBlock.java @@ -0,0 +1,61 @@ +package tech.nevets.vplus.blocks; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.world.World; + +import java.util.Random; + +public class SaturatedLavaSpongeBlock extends Block { + + public SaturatedLavaSpongeBlock() { + super(FabricBlockSettings.of(Material.STONE).strength(0.6F).sounds(BlockSoundGroup.BASALT)); + } + + @Environment(EnvType.CLIENT) + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + Direction direction = Direction.random(random); + if (direction != Direction.UP) { + BlockPos blockPos = pos.offset(direction); + BlockState blockState = world.getBlockState(blockPos); + if (!state.isOpaque() || !blockState.isSideSolidFullSquare(world, blockPos, direction.getOpposite())) { + double d = (double)pos.getX(); + double e = (double)pos.getY(); + double f = (double)pos.getZ(); + if (direction == Direction.DOWN) { + e -= 0.05D; + d += random.nextDouble(); + f += random.nextDouble(); + } else { + e += random.nextDouble() * 0.8D; + if (direction.getAxis() == Direction.Axis.X) { + f += random.nextDouble(); + if (direction == Direction.EAST) { + ++d; + } else { + d += 0.05D; + } + } else { + d += random.nextDouble(); + if (direction == Direction.SOUTH) { + ++f; + } else { + f += 0.05D; + } + } + } + + world.addParticle(ParticleTypes.DRIPPING_LAVA, d, e, f, 0.0D, 0.0D, 0.0D); + } + } + } + +} diff --git a/src/main/java/tech/nevets/vplus/blocks/VPBlocks.java b/src/main/java/tech/nevets/vplus/blocks/VPBlocks.java new file mode 100644 index 0000000..6bb8d5b --- /dev/null +++ b/src/main/java/tech/nevets/vplus/blocks/VPBlocks.java @@ -0,0 +1,49 @@ +package tech.nevets.vplus.blocks; + +import net.minecraft.block.*; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; +import tech.nevets.vplus.items.VPItemGroups; + +public class VPBlocks { + + public static final Block LAVASPONGEBLOCK = new LavaSpongeBlock(); + public static final Block SATURATEDLAVASPONGEBLOCK = new SaturatedLavaSpongeBlock(); + public static final Block PLATINUMORE = new PlatinumOre(); + public static final Block PLATINUMBLOCK = new PlatinumBlock(); + public static final Block RUBYBLOCK = new RubyBlock(); + public static final Block RUBYORE = new RubyOre(); + + public static void vpBlocks() { + initializeBlocks(); + initializeBlockItems(); + initializeTorches(); + } + + public static void initializeBlocks() { + Registry.register(Registry.BLOCK, new Identifier("vplus", "lava_sponge"), LAVASPONGEBLOCK); + Registry.register(Registry.BLOCK, new Identifier("vplus", "saturated_lava_sponge"), SATURATEDLAVASPONGEBLOCK); + Registry.register(Registry.BLOCK, new Identifier("vplus", "platinum_ore"), PLATINUMORE); + Registry.register(Registry.BLOCK, new Identifier("vplus", "platinum_block"), PLATINUMBLOCK); + Registry.register(Registry.BLOCK, new Identifier("vplus", "ruby_block"), RUBYBLOCK); + Registry.register(Registry.BLOCK, new Identifier("vplus", "ruby_ore"), RUBYORE); + } + + public static void initializeBlockItems() { + Registry.register(Registry.ITEM, new Identifier("vplus", "lava_sponge"), new BlockItem(LAVASPONGEBLOCK, new Item.Settings().group(VPItemGroups.ALL))); + Registry.register(Registry.ITEM, new Identifier("vplus", "saturated_lava_sponge"), new BlockItem(SATURATEDLAVASPONGEBLOCK, new Item.Settings().group(VPItemGroups.ALL).recipeRemainder(Item.fromBlock(VPBlocks.LAVASPONGEBLOCK)))); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_ore"), new BlockItem(PLATINUMORE, new Item.Settings().group(VPItemGroups.ALL))); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_block"), new BlockItem(PLATINUMBLOCK, new Item.Settings().group(VPItemGroups.ALL))); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_block"), new BlockItem(RUBYBLOCK, new Item.Settings().group(VPItemGroups.ALL))); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_ore"), new BlockItem(RUBYORE, new Item.Settings().group(VPItemGroups.ALL))); + } + + public static void initializeTorches() { + Registry.register(Registry.BLOCK, new Identifier("vplus", "green_torch"), new ColorTorchBlock(AbstractBlock.Settings.of(Material.DECORATION).noCollision().breakInstantly().luminance((state) -> {return 14;}).sounds(BlockSoundGroup.WOOD), ParticleTypes.FLAME)); + Registry.register(Registry.BLOCK, new Identifier("vplus", "green_wall_torch"), new ColorWallTorchBlock(AbstractBlock.Settings.of(Material.DECORATION).noCollision().breakInstantly().luminance((state) -> {return 14;}).sounds(BlockSoundGroup.WOOD).dropsLike(Blocks.TORCH), ParticleTypes.FLAME)); + } +} diff --git a/src/main/java/tech/nevets/vplus/food/DiamondApple.java b/src/main/java/tech/nevets/vplus/food/DiamondApple.java new file mode 100644 index 0000000..dc16f05 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/DiamondApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class DiamondApple extends Item { + public DiamondApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(8).saturationModifier(14).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 3),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EmeraldApple.java b/src/main/java/tech/nevets/vplus/food/EmeraldApple.java new file mode 100644 index 0000000..091298d --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EmeraldApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EmeraldApple extends Item { + public EmeraldApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(12).saturationModifier(16).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 5),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedDiamondApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedDiamondApple.java new file mode 100644 index 0000000..79582da --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedDiamondApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedDiamondApple extends Item { + public EnchantedDiamondApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(8).saturationModifier(14).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 4),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedEmeraldApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedEmeraldApple.java new file mode 100644 index 0000000..5ed0c25 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedEmeraldApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedEmeraldApple extends Item { + public EnchantedEmeraldApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(12).saturationModifier(16).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 6),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedIronApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedIronApple.java new file mode 100644 index 0000000..e826f6e --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedIronApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedIronApple extends Item { + public EnchantedIronApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(6).saturationModifier(10).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 2),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedNetheriteApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedNetheriteApple.java new file mode 100644 index 0000000..a7d8aa4 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedNetheriteApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedNetheriteApple extends Item { + public EnchantedNetheriteApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(14).saturationModifier(18).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 8),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedPlatinumApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedPlatinumApple.java new file mode 100644 index 0000000..b8ca1e1 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedPlatinumApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedPlatinumApple extends Item { + public EnchantedPlatinumApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(16).saturationModifier(20).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 10),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/EnchantedRubyApple.java b/src/main/java/tech/nevets/vplus/food/EnchantedRubyApple.java new file mode 100644 index 0000000..2772ad6 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/EnchantedRubyApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class EnchantedRubyApple extends Item { + public EnchantedRubyApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(18).saturationModifier(22).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 12),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/IronApple.java b/src/main/java/tech/nevets/vplus/food/IronApple.java new file mode 100644 index 0000000..6737c07 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/IronApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class IronApple extends Item { + public IronApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(6).saturationModifier(10).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 1),1f).build())); + } +} diff --git a/src/main/java/tech/nevets/vplus/food/NetheriteApple.java b/src/main/java/tech/nevets/vplus/food/NetheriteApple.java new file mode 100644 index 0000000..1c326eb --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/NetheriteApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class NetheriteApple extends Item { + public NetheriteApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(14).saturationModifier(18).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 7),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/PlatinumApple.java b/src/main/java/tech/nevets/vplus/food/PlatinumApple.java new file mode 100644 index 0000000..3ee0b04 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/PlatinumApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class PlatinumApple extends Item { + public PlatinumApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(16).saturationModifier(20).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 9),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/RubyApple.java b/src/main/java/tech/nevets/vplus/food/RubyApple.java new file mode 100644 index 0000000..75a8b19 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/RubyApple.java @@ -0,0 +1,13 @@ +package tech.nevets.vplus.food; + +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import tech.nevets.vplus.items.VPItemGroups; + +public class RubyApple extends Item { + public RubyApple() { + super(new Settings().group(VPItemGroups.FOOD).food(new FoodComponent.Builder().hunger(18).saturationModifier(22).alwaysEdible().statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*120, 11),1f).build())); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/food/VPFood.java b/src/main/java/tech/nevets/vplus/food/VPFood.java new file mode 100644 index 0000000..4b54c17 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/food/VPFood.java @@ -0,0 +1,41 @@ +package tech.nevets.vplus.food; + +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class VPFood { + + public static final Item IRONAPPLE = new IronApple(); + public static final Item ENCHANTEDIRONAPPLE = new EnchantedIronApple(); + public static final Item DIAMONDAPPLE = new DiamondApple(); + public static final Item ENCHANTEDDIAMONDAPPLE = new EnchantedDiamondApple(); + public static final Item EMERALDAPPLE = new EmeraldApple(); + public static final Item ENCHANTEDEMERALDAPPLE = new EnchantedEmeraldApple(); + public static final Item NETHERITEAPPLE = new NetheriteApple(); + public static final Item ENCHANTEDNETHERITEAPPLE = new EnchantedNetheriteApple(); + public static final Item PLATINUMAPPLE = new PlatinumApple(); + public static final Item ENCHANTEDPLATINUMAPPLE = new EnchantedPlatinumApple(); + public static final Item RUBYAPPLE = new RubyApple(); + public static final Item ENCHANTEDRUBYAPPLE = new EnchantedRubyApple(); + + public static void vpFood() { + initializeApples(); + } + + //TODO Balance apple strengths + public static void initializeApples() { + Registry.register(Registry.ITEM, new Identifier("vplus", "iron_apple"), IRONAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_iron_apple"), ENCHANTEDIRONAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "diamond_apple"), DIAMONDAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_diamond_apple"), ENCHANTEDDIAMONDAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_apple"), EMERALDAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_emerald_apple"), ENCHANTEDEMERALDAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "netherite_apple"), NETHERITEAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_netherite_apple"), ENCHANTEDNETHERITEAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_apple"), PLATINUMAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_platinum_apple"), ENCHANTEDPLATINUMAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_apple"), RUBYAPPLE); + Registry.register(Registry.ITEM, new Identifier("vplus", "enchanted_ruby_apple"), ENCHANTEDRUBYAPPLE); + } +} diff --git a/src/main/java/tech/nevets/vplus/init/ZoomInit.java b/src/main/java/tech/nevets/vplus/init/ZoomInit.java new file mode 100644 index 0000000..f6d0c0f --- /dev/null +++ b/src/main/java/tech/nevets/vplus/init/ZoomInit.java @@ -0,0 +1,2 @@ +package tech.nevets.vplus.init;public class ZoomInit { +} diff --git a/src/main/java/tech/nevets/vplus/items/PlatinumIngot.java b/src/main/java/tech/nevets/vplus/items/PlatinumIngot.java new file mode 100644 index 0000000..08e7a47 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/items/PlatinumIngot.java @@ -0,0 +1,9 @@ +package tech.nevets.vplus.items; + +import net.minecraft.item.Item; + +public class PlatinumIngot extends Item { + public PlatinumIngot(Settings settings) { + super(settings); + } +} diff --git a/src/main/java/tech/nevets/vplus/items/PlatinumNugget.java b/src/main/java/tech/nevets/vplus/items/PlatinumNugget.java new file mode 100644 index 0000000..a1623b6 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/items/PlatinumNugget.java @@ -0,0 +1,9 @@ +package tech.nevets.vplus.items; + +import net.minecraft.item.Item; + +public class PlatinumNugget extends Item { + public PlatinumNugget(Settings settings) { + super(settings); + } +} diff --git a/src/main/java/tech/nevets/vplus/items/Ruby.java b/src/main/java/tech/nevets/vplus/items/Ruby.java new file mode 100644 index 0000000..2e05af5 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/items/Ruby.java @@ -0,0 +1,9 @@ +package tech.nevets.vplus.items; + +import net.minecraft.item.Item; + +public class Ruby extends Item { + public Ruby(Settings settings) { + super(settings); + } +} diff --git a/src/main/java/tech/nevets/vplus/items/VPItemGroups.java b/src/main/java/tech/nevets/vplus/items/VPItemGroups.java new file mode 100644 index 0000000..1029e0f --- /dev/null +++ b/src/main/java/tech/nevets/vplus/items/VPItemGroups.java @@ -0,0 +1,31 @@ +package tech.nevets.vplus.items; + +import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.Identifier; + +public class VPItemGroups { + //Creative Tab + public static final ItemGroup ALL = FabricItemGroupBuilder.build( + new Identifier("vplus", "all"), + () -> new ItemStack((Items.GRASS_BLOCK))); + //Combat Tab + public static final ItemGroup COMBAT = FabricItemGroupBuilder.build( + new Identifier("vplus", "combat"), + () -> new ItemStack((Items.DIAMOND_SWORD))); + //Tools Tab + public static final ItemGroup TOOLS = FabricItemGroupBuilder.create( + new Identifier("vplus", "tools")) + .icon(() -> new ItemStack(Items.DIAMOND_PICKAXE)) + /*.appendItems(stacks -> { + stacks.add(new ItemStack(Main.RUBY)); + stacks.add(new ItemStack(Items.EMERALD_BLOCK)); + })*/ + .build(); + //Food Tab + public static final ItemGroup FOOD = FabricItemGroupBuilder.build( + new Identifier("vplus", "food"), + () -> new ItemStack((Items.ENCHANTED_GOLDEN_APPLE))); +} diff --git a/src/main/java/tech/nevets/vplus/items/VPItems.java b/src/main/java/tech/nevets/vplus/items/VPItems.java new file mode 100644 index 0000000..02aec0a --- /dev/null +++ b/src/main/java/tech/nevets/vplus/items/VPItems.java @@ -0,0 +1,23 @@ +package tech.nevets.vplus.items; + +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class VPItems { + + public static final Item PLATINUMINGOT = new PlatinumIngot(new Item.Settings().group(VPItemGroups.ALL)); + public static final Item PLATINUMNUGGET = new PlatinumNugget(new Item.Settings().group(VPItemGroups.ALL)); + public static final Item RUBY = new Ruby(new Item.Settings().group(VPItemGroups.ALL)); + + public static void vpItems() { + initializeValuables(); + } + + public static void initializeValuables() { + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_ingot"), PLATINUMINGOT); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_nugget"), PLATINUMNUGGET); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby"), RUBY); + } + +} diff --git a/src/main/java/tech/nevets/vplus/misc/VPFuels.java b/src/main/java/tech/nevets/vplus/misc/VPFuels.java new file mode 100644 index 0000000..28c5679 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/misc/VPFuels.java @@ -0,0 +1,10 @@ +package tech.nevets.vplus.misc; + +import net.fabricmc.fabric.api.registry.FuelRegistry; +import tech.nevets.vplus.blocks.SaturatedLavaSpongeBlock; + +public class VPFuels { + public static void vpFuels() { + FuelRegistry.INSTANCE.add(new SaturatedLavaSpongeBlock(), 20000); + } +} diff --git a/src/main/java/tech/nevets/vplus/misc/VPOreGen.java b/src/main/java/tech/nevets/vplus/misc/VPOreGen.java new file mode 100644 index 0000000..2032dbd --- /dev/null +++ b/src/main/java/tech/nevets/vplus/misc/VPOreGen.java @@ -0,0 +1,37 @@ +package tech.nevets.vplus.misc; + +import net.minecraft.world.gen.decorator.Decorator; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.OreFeatureConfig; +import tech.nevets.vplus.blocks.VPBlocks; + +public class VPOreGen { + + /* + private static ConfiguredFeature ORE_PLATINUM_OVERWORLD = Feature.ORE + .configure(new OreFeatureConfig( + OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, + VPBlocks.PLATINUMORE.getDefaultState(), + 3)) // vein size + .decorate(Decorator.RANGE.configure(new RangeDecoratorConfig( + 0, // bottom offset + 0, // min y level + 15))) // max y level + .spreadHorizontally() + .repeat(2); // number of veins per chunk + + private static ConfiguredFeature ORE_RUBY_OVERWORLD = Feature.ORE + .configure(new OreFeatureConfig( + OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, + VPBlocks.RUBYORE.getDefaultState(), + 1)) // vein size + .decorate(Decorator.RANGE.configure(new RangeDecoratorConfig( + 0, // bottom offset + 0, // min y level + 256))) // max y level + .spreadHorizontally() + .repeat(8); // number of veins per chunk + */ + +} diff --git a/src/main/java/tech/nevets/vplus/misc/VPZoom.java b/src/main/java/tech/nevets/vplus/misc/VPZoom.java new file mode 100644 index 0000000..f12cf63 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/misc/VPZoom.java @@ -0,0 +1,25 @@ +package tech.nevets.vplus.misc; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.util.InputUtil; +import org.lwjgl.glfw.GLFW; + +public class VPZoom { + + public static Boolean currentlyZoomed; + public static KeyBinding keyBinding; + public static Boolean originalSmoothCameraEnabled; + public static final MinecraftClient mc = MinecraftClient.getInstance(); + + @Environment(EnvType.CLIENT) + public static void vpZoom() { + keyBinding = new KeyBinding("key.vplus.zoom", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_C, "category.vplus.zoom"); + currentlyZoomed = false; + originalSmoothCameraEnabled = false; + KeyBindingHelper.registerKeyBinding(keyBinding); + } +} \ No newline at end of file diff --git a/src/main/java/tech/nevets/vplus/mixin/ZoomMixin.java b/src/main/java/tech/nevets/vplus/mixin/ZoomMixin.java new file mode 100644 index 0000000..e6f5357 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/mixin/ZoomMixin.java @@ -0,0 +1,2 @@ +package tech.nevets.vplus.mixin;public class ZoomMixin { +} diff --git a/src/main/java/tech/nevets/vplus/tools/AxeBase.java b/src/main/java/tech/nevets/vplus/tools/AxeBase.java new file mode 100644 index 0000000..fd9dad5 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/AxeBase.java @@ -0,0 +1,11 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.item.AxeItem; +import net.minecraft.item.ToolMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class AxeBase extends AxeItem { + public AxeBase(ToolMaterial toolMaterial_1) { + super(toolMaterial_1, 5, -3.0f, new Settings().group(VPItemGroups.TOOLS)); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/HoeBase.java b/src/main/java/tech/nevets/vplus/tools/HoeBase.java new file mode 100644 index 0000000..22d2ea4 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/HoeBase.java @@ -0,0 +1,11 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.item.HoeItem; +import net.minecraft.item.ToolMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class HoeBase extends HoeItem { + public HoeBase(ToolMaterial toolMaterial_1) { + super(toolMaterial_1, -3, 0f, new Settings().group(VPItemGroups.TOOLS)); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/PickaxeBase.java b/src/main/java/tech/nevets/vplus/tools/PickaxeBase.java new file mode 100644 index 0000000..e39d003 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/PickaxeBase.java @@ -0,0 +1,11 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.item.PickaxeItem; +import net.minecraft.item.ToolMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class PickaxeBase extends PickaxeItem { + public PickaxeBase(ToolMaterial toolMaterial_1) { + super(toolMaterial_1, 1, -2.8f, new Settings().group(VPItemGroups.TOOLS)); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/ShovelBase.java b/src/main/java/tech/nevets/vplus/tools/ShovelBase.java new file mode 100644 index 0000000..68f41ce --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/ShovelBase.java @@ -0,0 +1,11 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.item.ShovelItem; +import net.minecraft.item.ToolMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class ShovelBase extends ShovelItem { + public ShovelBase(ToolMaterial toolMaterial_1) { + super(toolMaterial_1, 1, -3f, new Settings().group(VPItemGroups.TOOLS)); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/SwordBase.java b/src/main/java/tech/nevets/vplus/tools/SwordBase.java new file mode 100644 index 0000000..79e9b70 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/SwordBase.java @@ -0,0 +1,11 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.item.SwordItem; +import net.minecraft.item.ToolMaterial; +import tech.nevets.vplus.items.VPItemGroups; + +public class SwordBase extends SwordItem { + public SwordBase(ToolMaterial toolMaterial_1) { + super(toolMaterial_1, 2, -2.4f, new Settings().group(VPItemGroups.COMBAT)); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/ToolMaterials.java b/src/main/java/tech/nevets/vplus/tools/ToolMaterials.java new file mode 100644 index 0000000..7d1427e --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/ToolMaterials.java @@ -0,0 +1,60 @@ +package tech.nevets.vplus.tools; + +import java.util.function.Supplier; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.Items; +import net.minecraft.item.ToolMaterial; +import net.minecraft.recipe.Ingredient; +import net.minecraft.util.Lazy; +import tech.nevets.vplus.items.VPItems; + +public enum ToolMaterials implements ToolMaterial { + EMERALD(3, 750, 7.0F, 4.0F, 30, () -> { + return Ingredient.ofItems(new ItemConvertible[]{Items.EMERALD}); + }), + PLATINUM(4, 3000, 10.0F, 6.0F, 40, () -> { + return Ingredient.ofItems(new ItemConvertible[]{VPItems.PLATINUMINGOT}); + }), + RUBY(4, 5000, 12.0F, 10.0F, 100, () -> { + return Ingredient.ofItems(new ItemConvertible[]{VPItems.RUBY}); + }); + + private final int miningLevel; + private final int itemDurability; + private final float miningSpeed; + private final float attackDamage; + private final int enchantability; + private final Lazy repairIngredient; + private ToolMaterials(int miningLevel, int itemDurability, float miningSpeed, float attackDamage, int enchantability, Supplier repairIngredient) { + this.miningLevel = miningLevel; + this.itemDurability = itemDurability; + this.miningSpeed = miningSpeed; + this.attackDamage = attackDamage; + this.enchantability = enchantability; + this.repairIngredient = new Lazy(repairIngredient); + } + + public int getDurability() { + return this.itemDurability; + } + + public float getMiningSpeedMultiplier() { + return this.miningSpeed; + } + + public float getAttackDamage() { + return this.attackDamage; + } + + public int getMiningLevel() { + return this.miningLevel; + } + + public int getEnchantability() { + return this.enchantability; + } + + public Ingredient getRepairIngredient() { + return (Ingredient)this.repairIngredient.get(); + } +} diff --git a/src/main/java/tech/nevets/vplus/tools/VPTools.java b/src/main/java/tech/nevets/vplus/tools/VPTools.java new file mode 100644 index 0000000..5ee97d4 --- /dev/null +++ b/src/main/java/tech/nevets/vplus/tools/VPTools.java @@ -0,0 +1,45 @@ +package tech.nevets.vplus.tools; + +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class VPTools { + + public static void vpTools() { + initializeAxes(); + initializeHoes(); + initializePickaxes(); + initializeShovels(); + initializeSwords(); + } + + public static void initializeAxes() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_axe"), new AxeBase(ToolMaterials.EMERALD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_axe"), new AxeBase(ToolMaterials.PLATINUM)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_axe"), new AxeBase(ToolMaterials.RUBY)); + } + + public static void initializeHoes() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_hoe"), new HoeBase(ToolMaterials.EMERALD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_hoe"), new HoeBase(ToolMaterials.PLATINUM)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_hoe"), new HoeBase(ToolMaterials.RUBY)); + } + + public static void initializePickaxes() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_pickaxe"), new PickaxeBase(ToolMaterials.EMERALD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_pickaxe"), new PickaxeBase(ToolMaterials.PLATINUM)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_pickaxe"), new PickaxeBase(ToolMaterials.RUBY)); + } + + public static void initializeShovels() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_shovel"), new ShovelBase(ToolMaterials.EMERALD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_shovel"), new ShovelBase(ToolMaterials.PLATINUM)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_shovel"), new ShovelBase(ToolMaterials.RUBY)); + } + + public static void initializeSwords() { + Registry.register(Registry.ITEM, new Identifier("vplus", "emerald_sword"), new SwordBase(ToolMaterials.EMERALD)); + Registry.register(Registry.ITEM, new Identifier("vplus", "platinum_sword"), new SwordBase(ToolMaterials.PLATINUM)); + Registry.register(Registry.ITEM, new Identifier("vplus", "ruby_sword"), new SwordBase(ToolMaterials.RUBY)); + } +} diff --git a/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_1.png b/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_1.png new file mode 100644 index 0000000..68dc351 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_1.png differ diff --git a/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_2.png b/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_2.png new file mode 100644 index 0000000..872594b Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/emerald_layer_2.png differ diff --git a/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_1.png b/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_1.png new file mode 100644 index 0000000..7622722 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_1.png differ diff --git a/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_2.png b/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_2.png new file mode 100644 index 0000000..b7ca994 Binary files /dev/null and b/src/main/resources/assets/minecraft/textures/models/armor/platinum_layer_2.png differ diff --git a/src/main/resources/assets/vplus/blockstates/green_wall_torch.json b/src/main/resources/assets/vplus/blockstates/green_wall_torch.json new file mode 100644 index 0000000..7314344 --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/green_wall_torch.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "minecraft:block/wall_torch" + }, + "facing=north": { + "model": "minecraft:block/wall_torch", + "y": 270 + }, + "facing=south": { + "model": "minecraft:block/wall_torch", + "y": 90 + }, + "facing=west": { + "model": "minecraft:block/wall_torch", + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/greentorch.json b/src/main/resources/assets/vplus/blockstates/greentorch.json new file mode 100644 index 0000000..7d14911 --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/greentorch.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/torch" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/lava_sponge.json b/src/main/resources/assets/vplus/blockstates/lava_sponge.json new file mode 100644 index 0000000..8c743f7 --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/lava_sponge.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/lava_sponge"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/platinum_block.json b/src/main/resources/assets/vplus/blockstates/platinum_block.json new file mode 100644 index 0000000..82824d2 --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/platinum_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/platinum_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/platinum_ore.json b/src/main/resources/assets/vplus/blockstates/platinum_ore.json new file mode 100644 index 0000000..b3f6335 --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/platinum_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/platinum_ore"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/ruby_block.json b/src/main/resources/assets/vplus/blockstates/ruby_block.json new file mode 100644 index 0000000..887ea9e --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/ruby_block.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/ruby_block"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/ruby_ore.json b/src/main/resources/assets/vplus/blockstates/ruby_ore.json new file mode 100644 index 0000000..4d905ee --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/ruby_ore.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/ruby_ore"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/blockstates/saturated_lava_sponge.json b/src/main/resources/assets/vplus/blockstates/saturated_lava_sponge.json new file mode 100644 index 0000000..5625d4c --- /dev/null +++ b/src/main/resources/assets/vplus/blockstates/saturated_lava_sponge.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "vplus:block/saturated_lava_sponge"} + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/icon.png b/src/main/resources/assets/vplus/icon.png new file mode 100644 index 0000000..2ba3324 Binary files /dev/null and b/src/main/resources/assets/vplus/icon.png differ diff --git a/src/main/resources/assets/vplus/lang/en_us.json b/src/main/resources/assets/vplus/lang/en_us.json new file mode 100644 index 0000000..e2e8bab --- /dev/null +++ b/src/main/resources/assets/vplus/lang/en_us.json @@ -0,0 +1,63 @@ +{ + "key.vplus.zoom": "Zoom Key", + "category.vplus.zoom": "Zoom", + + "itemGroup.vplus.all": "All", + "itemGroup.vplus.combat": "Combat", + "itemGroup.vplus.tools": "Tools", + "itemGroup.vplus.food": "Food", + + "block.vplus.lava_sponge": "Lava Sponge", + "block.vplus.saturated_lava_sponge": "Saturated Lava Sponge", + "block.vplus.platinum_ore": "Platinum Ore", + "block.vplus.platinum_block": "Platinum Block", + "block.vplus.ruby_ore": "Ruby Ore", + "block.vplus.ruby_block": "Ruby Block", + + "item.vplus.platinum_ingot": "Platinum Ingot", + "item.vplus.platinum_nugget": "Platinum Nugget", + "item.vplus.ruby": "Ruby", + + "item.vplus.emerald_sword": "Emerald Sword", + "item.vplus.platinum_sword": "Platinum Sword", + "item.vplus.ruby_sword": "Ruby Sword", + + "item.vplus.emerald_helmet": "Emerald Helmet", + "item.vplus.emerald_chestplate": "Emerald Chestplate", + "item.vplus.emerald_leggings": "Emerald Leggings", + "item.vplus.emerald_boots": "Emerald Boots", + "item.vplus.platinum_helmet": "Platinum Helmet", + "item.vplus.platinum_chestplate": "Platinum Chestplate", + "item.vplus.platinum_leggings": "Platinum Leggings", + "item.vplus.platinum_boots": "Platinum Boots", + "item.vplus.ruby_helmet": "Ruby Helmet", + "item.vplus.ruby_chestplate": "Ruby Chestplate", + "item.vplus.ruby_leggings": "Ruby Leggings", + "item.vplus.ruby_boots": "Ruby Boots", + + "item.vplus.emerald_pickaxe": "Emerald Pickaxe", + "item.vplus.emerald_axe": "Emerald Axe", + "item.vplus.emerald_shovel": "Emerald Shovel", + "item.vplus.emerald_hoe": "Emerald Hoe", + "item.vplus.platinum_pickaxe": "Platinum Pickaxe", + "item.vplus.platinum_axe": "Platinum Axe", + "item.vplus.platinum_shovel": "Platinum Shovel", + "item.vplus.platinum_hoe": "Platinum Hoe", + "item.vplus.ruby_pickaxe": "Ruby Pickaxe", + "item.vplus.ruby_axe": "Ruby Axe", + "item.vplus.ruby_shovel": "Ruby Shovel", + "item.vplus.ruby_hoe": "Ruby Hoe", + + "item.vplus.iron_apple": "Iron Apple", + "item.vplus.enchanted_iron_apple": "Enchanted Iron Apple", + "item.vplus.diamond_apple": "Diamond Apple", + "item.vplus.enchanted_diamond_apple": "Enchanted Diamond Apple", + "item.vplus.emerald_apple": "Emerald Apple", + "item.vplus.enchanted_emerald_apple": "Enchanted Emerald Apple", + "item.vplus.netherite_apple": "Netherite Apple", + "item.vplus.enchanted_Netherite_apple": "Enchanted Netherite Apple", + "item.vplus.platinum_apple": "Platinum Apple", + "item.vplus.enchanted_platinum_apple": "Enchanted Platinum Apple", + "item.vplus.ruby_apple": "Ruby Apple", + "item.vplus.enchanted_ruby_apple": "Enchanted Ruby Apple" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/green_wall_torch.json b/src/main/resources/assets/vplus/models/block/green_wall_torch.json new file mode 100644 index 0000000..e30eec7 --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/green_wall_torch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_torch_wall", + "textures": { + "torch": "minecraft:block/torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/greentorch.json b/src/main/resources/assets/vplus/models/block/greentorch.json new file mode 100644 index 0000000..7c6241d --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/greentorch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_torch", + "textures": { + "torch": "minecraft:block/torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/lava_sponge.json b/src/main/resources/assets/vplus/models/block/lava_sponge.json new file mode 100644 index 0000000..09972bc --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/lava_sponge.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/lava_sponge" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/platinum_block.json b/src/main/resources/assets/vplus/models/block/platinum_block.json new file mode 100644 index 0000000..868204b --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/platinum_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/platinum_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/platinum_ore.json b/src/main/resources/assets/vplus/models/block/platinum_ore.json new file mode 100644 index 0000000..1d38e84 --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/platinum_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/platinum_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/ruby_block.json b/src/main/resources/assets/vplus/models/block/ruby_block.json new file mode 100644 index 0000000..1211608 --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/ruby_block.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/ruby_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/ruby_ore.json b/src/main/resources/assets/vplus/models/block/ruby_ore.json new file mode 100644 index 0000000..48f4832 --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/ruby_ore.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/ruby_ore" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/block/saturated_lava_sponge.json b/src/main/resources/assets/vplus/models/block/saturated_lava_sponge.json new file mode 100644 index 0000000..68677d0 --- /dev/null +++ b/src/main/resources/assets/vplus/models/block/saturated_lava_sponge.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "vplus:block/saturated_lava_sponge" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/diamond_apple.json b/src/main/resources/assets/vplus/models/item/diamond_apple.json new file mode 100644 index 0000000..8e9d888 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/diamond_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/diamond_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_apple.json b/src/main/resources/assets/vplus/models/item/emerald_apple.json new file mode 100644 index 0000000..ad59b3f --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/emerald_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_axe.json b/src/main/resources/assets/vplus/models/item/emerald_axe.json new file mode 100644 index 0000000..e01854f --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/emerald_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_boots.json b/src/main/resources/assets/vplus/models/item/emerald_boots.json new file mode 100644 index 0000000..fbf4bc2 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/emerald_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_chestplate.json b/src/main/resources/assets/vplus/models/item/emerald_chestplate.json new file mode 100644 index 0000000..01d77f3 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/emerald_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_helmet.json b/src/main/resources/assets/vplus/models/item/emerald_helmet.json new file mode 100644 index 0000000..1f7fb84 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/emerald_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_hoe.json b/src/main/resources/assets/vplus/models/item/emerald_hoe.json new file mode 100644 index 0000000..b0e979d --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/emerald_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_leggings.json b/src/main/resources/assets/vplus/models/item/emerald_leggings.json new file mode 100644 index 0000000..733a6a8 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/emerald_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_pickaxe.json b/src/main/resources/assets/vplus/models/item/emerald_pickaxe.json new file mode 100644 index 0000000..d6a2368 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/emerald_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_shovel.json b/src/main/resources/assets/vplus/models/item/emerald_shovel.json new file mode 100644 index 0000000..3449de3 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/emerald_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/emerald_sword.json b/src/main/resources/assets/vplus/models/item/emerald_sword.json new file mode 100644 index 0000000..4999cc5 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/emerald_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/emerald_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_diamond_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_diamond_apple.json new file mode 100644 index 0000000..a9d57f8 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_diamond_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_diamond_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_emerald_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_emerald_apple.json new file mode 100644 index 0000000..d55f9f5 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_emerald_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_emerald_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_iron_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_iron_apple.json new file mode 100644 index 0000000..3129501 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_iron_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_iron_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_netherite_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_netherite_apple.json new file mode 100644 index 0000000..35777a4 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_netherite_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_netherite_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_platinum_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_platinum_apple.json new file mode 100644 index 0000000..090f560 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_platinum_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_platinum_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/enchanted_ruby_apple.json b/src/main/resources/assets/vplus/models/item/enchanted_ruby_apple.json new file mode 100644 index 0000000..a162caa --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/enchanted_ruby_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/enchanted_ruby_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/greentorch.json b/src/main/resources/assets/vplus/models/item/greentorch.json new file mode 100644 index 0000000..a734b43 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/greentorch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:block/torch" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/iron_apple.json b/src/main/resources/assets/vplus/models/item/iron_apple.json new file mode 100644 index 0000000..a5f9139 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/iron_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/iron_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/lava_sponge.json b/src/main/resources/assets/vplus/models/item/lava_sponge.json new file mode 100644 index 0000000..299ab5d --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/lava_sponge.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/lava_sponge" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/netherite_apple.json b/src/main/resources/assets/vplus/models/item/netherite_apple.json new file mode 100644 index 0000000..a139f0e --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/netherite_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/netherite_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_apple.json b/src/main/resources/assets/vplus/models/item/platinum_apple.json new file mode 100644 index 0000000..54e814a --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_axe.json b/src/main/resources/assets/vplus/models/item/platinum_axe.json new file mode 100644 index 0000000..2790b37 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/platinum_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_block.json b/src/main/resources/assets/vplus/models/item/platinum_block.json new file mode 100644 index 0000000..7a4f5be --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_block.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/platinum_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_boots.json b/src/main/resources/assets/vplus/models/item/platinum_boots.json new file mode 100644 index 0000000..a70a26f --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_chestplate.json b/src/main/resources/assets/vplus/models/item/platinum_chestplate.json new file mode 100644 index 0000000..047cb70 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_helmet.json b/src/main/resources/assets/vplus/models/item/platinum_helmet.json new file mode 100644 index 0000000..7b0af57 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_hoe.json b/src/main/resources/assets/vplus/models/item/platinum_hoe.json new file mode 100644 index 0000000..e30f5da --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/platinum_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_ingot.json b/src/main/resources/assets/vplus/models/item/platinum_ingot.json new file mode 100644 index 0000000..c238978 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_ingot.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_ingot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_leggings.json b/src/main/resources/assets/vplus/models/item/platinum_leggings.json new file mode 100644 index 0000000..f4b2123 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_nugget.json b/src/main/resources/assets/vplus/models/item/platinum_nugget.json new file mode 100644 index 0000000..dab5529 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_nugget.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/platinum_nugget" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_ore.json b/src/main/resources/assets/vplus/models/item/platinum_ore.json new file mode 100644 index 0000000..99577a5 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/platinum_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_pickaxe.json b/src/main/resources/assets/vplus/models/item/platinum_pickaxe.json new file mode 100644 index 0000000..f72e58c --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/platinum_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_shovel.json b/src/main/resources/assets/vplus/models/item/platinum_shovel.json new file mode 100644 index 0000000..b0aac55 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/platinum_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/platinum_sword.json b/src/main/resources/assets/vplus/models/item/platinum_sword.json new file mode 100644 index 0000000..e9e5ca7 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/platinum_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/platinum_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby.json b/src/main/resources/assets/vplus/models/item/ruby.json new file mode 100644 index 0000000..d41d08a --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_apple.json b/src/main/resources/assets/vplus/models/item/ruby_apple.json new file mode 100644 index 0000000..7209c52 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_apple.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby_apple" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_axe.json b/src/main/resources/assets/vplus/models/item/ruby_axe.json new file mode 100644 index 0000000..1e5c645 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/ruby_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_block.json b/src/main/resources/assets/vplus/models/item/ruby_block.json new file mode 100644 index 0000000..cf5e781 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_block.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/ruby_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_boots.json b/src/main/resources/assets/vplus/models/item/ruby_boots.json new file mode 100644 index 0000000..675db2f --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_chestplate.json b/src/main/resources/assets/vplus/models/item/ruby_chestplate.json new file mode 100644 index 0000000..c46cb0d --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_helmet.json b/src/main/resources/assets/vplus/models/item/ruby_helmet.json new file mode 100644 index 0000000..36b4d9c --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_hoe.json b/src/main/resources/assets/vplus/models/item/ruby_hoe.json new file mode 100644 index 0000000..7de3bea --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/ruby_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_leggings.json b/src/main/resources/assets/vplus/models/item/ruby_leggings.json new file mode 100644 index 0000000..a481ff3 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "vplus:item/ruby_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_ore.json b/src/main/resources/assets/vplus/models/item/ruby_ore.json new file mode 100644 index 0000000..b30e8a6 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_ore.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/ruby_ore" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_pickaxe.json b/src/main/resources/assets/vplus/models/item/ruby_pickaxe.json new file mode 100644 index 0000000..64bebaa --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/ruby_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_shovel.json b/src/main/resources/assets/vplus/models/item/ruby_shovel.json new file mode 100644 index 0000000..e42c792 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/ruby_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/ruby_sword.json b/src/main/resources/assets/vplus/models/item/ruby_sword.json new file mode 100644 index 0000000..5e2df43 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/ruby_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "vplus:item/ruby_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/models/item/saturated_lava_sponge.json b/src/main/resources/assets/vplus/models/item/saturated_lava_sponge.json new file mode 100644 index 0000000..b101c14 --- /dev/null +++ b/src/main/resources/assets/vplus/models/item/saturated_lava_sponge.json @@ -0,0 +1,3 @@ +{ + "parent": "vplus:block/saturated_lava_sponge" +} \ No newline at end of file diff --git a/src/main/resources/assets/vplus/textures/block/greentorch.png b/src/main/resources/assets/vplus/textures/block/greentorch.png new file mode 100644 index 0000000..14bd2d7 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/greentorch.png differ diff --git a/src/main/resources/assets/vplus/textures/block/lava_sponge.png b/src/main/resources/assets/vplus/textures/block/lava_sponge.png new file mode 100644 index 0000000..5bcc621 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/lava_sponge.png differ diff --git a/src/main/resources/assets/vplus/textures/block/platinum_block.png b/src/main/resources/assets/vplus/textures/block/platinum_block.png new file mode 100644 index 0000000..e3fcec2 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/platinum_block.png differ diff --git a/src/main/resources/assets/vplus/textures/block/platinum_ore.png b/src/main/resources/assets/vplus/textures/block/platinum_ore.png new file mode 100644 index 0000000..4fa5a36 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/platinum_ore.png differ diff --git a/src/main/resources/assets/vplus/textures/block/ruby_block.png b/src/main/resources/assets/vplus/textures/block/ruby_block.png new file mode 100644 index 0000000..5110aeb Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/ruby_block.png differ diff --git a/src/main/resources/assets/vplus/textures/block/ruby_ore.png b/src/main/resources/assets/vplus/textures/block/ruby_ore.png new file mode 100644 index 0000000..6f908d0 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/ruby_ore.png differ diff --git a/src/main/resources/assets/vplus/textures/block/saturated_lava_sponge.png b/src/main/resources/assets/vplus/textures/block/saturated_lava_sponge.png new file mode 100644 index 0000000..2a8fda6 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/block/saturated_lava_sponge.png differ diff --git a/src/main/resources/assets/vplus/textures/item/diamond_apple.png b/src/main/resources/assets/vplus/textures/item/diamond_apple.png new file mode 100644 index 0000000..2f22b54 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/diamond_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_apple.png b/src/main/resources/assets/vplus/textures/item/emerald_apple.png new file mode 100644 index 0000000..1aff98d Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_axe.png b/src/main/resources/assets/vplus/textures/item/emerald_axe.png new file mode 100644 index 0000000..8a28156 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_axe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_boots.png b/src/main/resources/assets/vplus/textures/item/emerald_boots.png new file mode 100644 index 0000000..7ad9097 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_boots.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_chestplate.png b/src/main/resources/assets/vplus/textures/item/emerald_chestplate.png new file mode 100644 index 0000000..4a59af5 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_chestplate.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_helmet.png b/src/main/resources/assets/vplus/textures/item/emerald_helmet.png new file mode 100644 index 0000000..b217c8e Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_helmet.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_hoe.png b/src/main/resources/assets/vplus/textures/item/emerald_hoe.png new file mode 100644 index 0000000..4decacb Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_hoe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_leggings.png b/src/main/resources/assets/vplus/textures/item/emerald_leggings.png new file mode 100644 index 0000000..b4b08fb Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_leggings.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_pickaxe.png b/src/main/resources/assets/vplus/textures/item/emerald_pickaxe.png new file mode 100644 index 0000000..69f459e Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_pickaxe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_shovel.png b/src/main/resources/assets/vplus/textures/item/emerald_shovel.png new file mode 100644 index 0000000..cf2d738 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_shovel.png differ diff --git a/src/main/resources/assets/vplus/textures/item/emerald_sword.png b/src/main/resources/assets/vplus/textures/item/emerald_sword.png new file mode 100644 index 0000000..103e51f Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/emerald_sword.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_diamond_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_diamond_apple.png new file mode 100644 index 0000000..8200e18 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_diamond_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_emerald_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_emerald_apple.png new file mode 100644 index 0000000..076454f Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_emerald_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_iron_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_iron_apple.png new file mode 100644 index 0000000..c26b11d Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_iron_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_netherite_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_netherite_apple.png new file mode 100644 index 0000000..4878cf9 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_netherite_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_platinum_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_platinum_apple.png new file mode 100644 index 0000000..cb85bd8 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_platinum_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/enchanted_ruby_apple.png b/src/main/resources/assets/vplus/textures/item/enchanted_ruby_apple.png new file mode 100644 index 0000000..3ee2b88 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/enchanted_ruby_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/iron_apple.png b/src/main/resources/assets/vplus/textures/item/iron_apple.png new file mode 100644 index 0000000..609a278 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/iron_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/netherite_apple.png b/src/main/resources/assets/vplus/textures/item/netherite_apple.png new file mode 100644 index 0000000..4edfd97 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/netherite_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_apple.png b/src/main/resources/assets/vplus/textures/item/platinum_apple.png new file mode 100644 index 0000000..82be198 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_axe.png b/src/main/resources/assets/vplus/textures/item/platinum_axe.png new file mode 100644 index 0000000..f8bd462 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_axe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_boots.png b/src/main/resources/assets/vplus/textures/item/platinum_boots.png new file mode 100644 index 0000000..a4f07b9 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_boots.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_chestplate.png b/src/main/resources/assets/vplus/textures/item/platinum_chestplate.png new file mode 100644 index 0000000..27d33ec Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_chestplate.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_helmet.png b/src/main/resources/assets/vplus/textures/item/platinum_helmet.png new file mode 100644 index 0000000..b89035b Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_helmet.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_hoe.png b/src/main/resources/assets/vplus/textures/item/platinum_hoe.png new file mode 100644 index 0000000..56a8148 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_hoe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_ingot.png b/src/main/resources/assets/vplus/textures/item/platinum_ingot.png new file mode 100644 index 0000000..41173db Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_ingot.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_leggings.png b/src/main/resources/assets/vplus/textures/item/platinum_leggings.png new file mode 100644 index 0000000..eab4c63 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_leggings.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_nugget.png b/src/main/resources/assets/vplus/textures/item/platinum_nugget.png new file mode 100644 index 0000000..cfd9f8a Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_nugget.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_pickaxe.png b/src/main/resources/assets/vplus/textures/item/platinum_pickaxe.png new file mode 100644 index 0000000..c97b03f Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_pickaxe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_shovel.png b/src/main/resources/assets/vplus/textures/item/platinum_shovel.png new file mode 100644 index 0000000..306a85d Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_shovel.png differ diff --git a/src/main/resources/assets/vplus/textures/item/platinum_sword.png b/src/main/resources/assets/vplus/textures/item/platinum_sword.png new file mode 100644 index 0000000..bb21852 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/platinum_sword.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby.png b/src/main/resources/assets/vplus/textures/item/ruby.png new file mode 100644 index 0000000..4f288d9 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_apple.png b/src/main/resources/assets/vplus/textures/item/ruby_apple.png new file mode 100644 index 0000000..3ee2b88 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_apple.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_axe.png b/src/main/resources/assets/vplus/textures/item/ruby_axe.png new file mode 100644 index 0000000..fd32f31 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_axe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_boots.png b/src/main/resources/assets/vplus/textures/item/ruby_boots.png new file mode 100644 index 0000000..db3248e Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_boots.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_chestplate.png b/src/main/resources/assets/vplus/textures/item/ruby_chestplate.png new file mode 100644 index 0000000..bf20e19 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_chestplate.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_helmet.png b/src/main/resources/assets/vplus/textures/item/ruby_helmet.png new file mode 100644 index 0000000..7364fbb Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_helmet.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_hoe.png b/src/main/resources/assets/vplus/textures/item/ruby_hoe.png new file mode 100644 index 0000000..60dcd28 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_hoe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_leggings.png b/src/main/resources/assets/vplus/textures/item/ruby_leggings.png new file mode 100644 index 0000000..23ca18e Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_leggings.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_pickaxe.png b/src/main/resources/assets/vplus/textures/item/ruby_pickaxe.png new file mode 100644 index 0000000..b5124b8 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_pickaxe.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_shovel.png b/src/main/resources/assets/vplus/textures/item/ruby_shovel.png new file mode 100644 index 0000000..a745850 Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_shovel.png differ diff --git a/src/main/resources/assets/vplus/textures/item/ruby_sword.png b/src/main/resources/assets/vplus/textures/item/ruby_sword.png new file mode 100644 index 0000000..9c6b7cc Binary files /dev/null and b/src/main/resources/assets/vplus/textures/item/ruby_sword.png differ diff --git a/src/main/resources/data/minecraft/recipes/chainmail_boots.json b/src/main/resources/data/minecraft/recipes/chainmail_boots.json new file mode 100644 index 0000000..fc9ad6e --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/chainmail_boots.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "# #" + ], + "key": { + "#": { + "item": "minecraft:chain" + } + }, + "result": { + "item": "minecraft:chainmail_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/chainmail_chestplate.json b/src/main/resources/data/minecraft/recipes/chainmail_chestplate.json new file mode 100644 index 0000000..444b3a7 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/chainmail_chestplate.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "###", + "###" + ], + "key": { + "#": { + "item": "minecraft:chain" + } + }, + "result": { + "item": "minecraft:chainmail_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/chainmail_helmet.json b/src/main/resources/data/minecraft/recipes/chainmail_helmet.json new file mode 100644 index 0000000..b78ce65 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/chainmail_helmet.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #" + ], + "key": { + "#": { + "item": "minecraft:chain" + } + }, + "result": { + "item": "minecraft:chainmail_helmet", + "count": 1 + } +} diff --git a/src/main/resources/data/minecraft/recipes/chainmail_leggings.json b/src/main/resources/data/minecraft/recipes/chainmail_leggings.json new file mode 100644 index 0000000..5d4ccac --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/chainmail_leggings.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #", + "# #" + ], + "key": { + "#": { + "item": "minecraft:chain" + } + }, + "result": { + "item": "minecraft:chainmail_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/enchanted_golden_apple.json b/src/main/resources/data/minecraft/recipes/enchanted_golden_apple.json new file mode 100644 index 0000000..b4fbae1 --- /dev/null +++ b/src/main/resources/data/minecraft/recipes/enchanted_golden_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:gold_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "minecraft:enchanted_golden_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/beacon_base_blocks.json b/src/main/resources/data/minecraft/tags/blocks/beacon_base_blocks.json new file mode 100644 index 0000000..bd9f367 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/beacon_base_blocks.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "vplus:platinum_block", + "vplus:ruby_block" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/beacon_payment_items.json b/src/main/resources/data/minecraft/tags/items/beacon_payment_items.json new file mode 100644 index 0000000..1b887bd --- /dev/null +++ b/src/main/resources/data/minecraft/tags/items/beacon_payment_items.json @@ -0,0 +1,7 @@ +{ + "repalce": false, + "values": [ + "vplus:platinum_ingot", + "vplus:ruby" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/lava_sponge.json b/src/main/resources/data/vplus/loot_tables/blocks/lava_sponge.json new file mode 100644 index 0000000..4f07593 --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/lava_sponge.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vplus:lava_sponge" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/platinum_block.json b/src/main/resources/data/vplus/loot_tables/blocks/platinum_block.json new file mode 100644 index 0000000..ce305ac --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/platinum_block.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vplus:platinum_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/platinum_ore.json b/src/main/resources/data/vplus/loot_tables/blocks/platinum_ore.json new file mode 100644 index 0000000..fb37983 --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/platinum_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "vplus:platinum_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3.0, + "max": 7.0, + "type": "minecraft:uniform" + } + }, + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "vplus:platinum_nugget" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/ruby_block.json b/src/main/resources/data/vplus/loot_tables/blocks/ruby_block.json new file mode 100644 index 0000000..3ef35ad --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/ruby_block.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vplus:ruby_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/ruby_ore.json b/src/main/resources/data/vplus/loot_tables/blocks/ruby_ore.json new file mode 100644 index 0000000..496fed9 --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/ruby_ore.json @@ -0,0 +1,56 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": "vplus:ruby_ore" + }, + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 1.0, + "type": "minecraft:uniform" + } + }, + { + "function": "minecraft:apply_bonus", + "enchantment": "minecraft:fortune", + "formula": "minecraft:uniform_bonus_count", + "parameters": { + "bonusMultiplier": 1 + } + } + ], + "name": "vplus:ruby" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/loot_tables/blocks/saturated_lava_sponge.json b/src/main/resources/data/vplus/loot_tables/blocks/saturated_lava_sponge.json new file mode 100644 index 0000000..612ab18 --- /dev/null +++ b/src/main/resources/data/vplus/loot_tables/blocks/saturated_lava_sponge.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "vplus:saturated_lava_sponge" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/diamond_apple.json b/src/main/resources/data/vplus/recipes/diamond_apple.json new file mode 100644 index 0000000..01d3741 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/diamond_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:diamond" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:diamond_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_apple.json b/src/main/resources/data/vplus/recipes/emerald_apple.json new file mode 100644 index 0000000..dbcadc3 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:emerald" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:emerald_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_axe.json b/src/main/resources/data/vplus/recipes/emerald_axe.json new file mode 100644 index 0000000..e063f82 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_axe.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XX", + "X#", + " #" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "minecraft:emerald" + } + }, + "result": { + "item": "vplus:emerald_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_boots.json b/src/main/resources/data/vplus/recipes/emerald_boots.json new file mode 100644 index 0000000..08f8e72 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_boots.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "# #" + ], + "key": { + "#": { + "item": "minecraft:emerald" + } + }, + "result": { + "item": "vplus:emerald_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_chestplate.json b/src/main/resources/data/vplus/recipes/emerald_chestplate.json new file mode 100644 index 0000000..dd63411 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_chestplate.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "###", + "###" + ], + "key": { + "#": { + "item": "minecraft:emerald" + } + }, + "result": { + "item": "vplus:emerald_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_helmet.json b/src/main/resources/data/vplus/recipes/emerald_helmet.json new file mode 100644 index 0000000..a5d0ed4 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_helmet.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #" + ], + "key": { + "#": { + "item": "minecraft:emerald" + } + }, + "result": { + "item": "vplus:emerald_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_hoe.json b/src/main/resources/data/vplus/recipes/emerald_hoe.json new file mode 100644 index 0000000..06fe807 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_hoe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##", + " /", + " /" + ], + "key": { + "#": { + "item": "minecraft:emerald" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:emerald_hoe", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_leggings.json b/src/main/resources/data/vplus/recipes/emerald_leggings.json new file mode 100644 index 0000000..6aa1cf0 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_leggings.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #", + "# #" + ], + "key": { + "#": { + "item": "minecraft:emerald" + } + }, + "result": { + "item": "vplus:emerald_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_pickaxe.json b/src/main/resources/data/vplus/recipes/emerald_pickaxe.json new file mode 100644 index 0000000..0b4411e --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_pickaxe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + " / ", + " / " + ], + "key": { + "#": { + "item": "minecraft:emerald" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:emerald_pickaxe", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_shovel.json b/src/main/resources/data/vplus/recipes/emerald_shovel.json new file mode 100644 index 0000000..54acfc4 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_shovel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#", + "/", + "/" + ], + "key": { + "#": { + "item": "minecraft:emerald" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:emerald_shovel", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/emerald_sword.json b/src/main/resources/data/vplus/recipes/emerald_sword.json new file mode 100644 index 0000000..f11c878 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/emerald_sword.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#", + "#", + "/" + ], + "key": { + "#": { + "item": "minecraft:emerald" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:emerald_sword", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/enchanted_diamond_apple.json b/src/main/resources/data/vplus/recipes/enchanted_diamond_apple.json new file mode 100644 index 0000000..06802c4 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/enchanted_diamond_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:diamond_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:enchanted_diamond_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/enchanted_emerald_apple.json b/src/main/resources/data/vplus/recipes/enchanted_emerald_apple.json new file mode 100644 index 0000000..f494bc2 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/enchanted_emerald_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:emerald_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:enchanted_emerald_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/enchanted_iron_apple.json b/src/main/resources/data/vplus/recipes/enchanted_iron_apple.json new file mode 100644 index 0000000..57f75dc --- /dev/null +++ b/src/main/resources/data/vplus/recipes/enchanted_iron_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "#A#", + "###" + ], + "key": { + "#": { + "item": "minecraft:iron_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:enchanted_iron_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/enchanted_netherite_apple.json b/src/main/resources/data/vplus/recipes/enchanted_netherite_apple.json new file mode 100644 index 0000000..9eb4925 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/enchanted_netherite_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:netherite_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:enchanted_netherite_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/enchanted_platinum_apple.json b/src/main/resources/data/vplus/recipes/enchanted_platinum_apple.json new file mode 100644 index 0000000..3ecde69 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/enchanted_platinum_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "vplus:platinum_block" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:enchanted_platinum_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/iron_apple.json b/src/main/resources/data/vplus/recipes/iron_apple.json new file mode 100644 index 0000000..119384c --- /dev/null +++ b/src/main/resources/data/vplus/recipes/iron_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:iron_ingot" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:iron_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/lava_sponge.json b/src/main/resources/data/vplus/recipes/lava_sponge.json new file mode 100644 index 0000000..f617b68 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/lava_sponge.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "#S#", + "###" + ], + "key": { + "#": { + "item": "minecraft:netherite_scrap" + }, + "S": { + "item": "minecraft:sponge" + } + }, + "result": { + "item": "vplus:lava_sponge", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/netherite_apple.json b/src/main/resources/data/vplus/recipes/netherite_apple.json new file mode 100644 index 0000000..1f7ed08 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/netherite_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "minecraft:netherite_ingot" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:netherite_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_apple.json b/src/main/resources/data/vplus/recipes/platinum_apple.json new file mode 100644 index 0000000..da25de0 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "iii", + "iAi", + "iii" + ], + "key": { + "i": { + "item": "vplus:platinum_ingot" + }, + "A": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:platinum_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_axe.json b/src/main/resources/data/vplus/recipes/platinum_axe.json new file mode 100644 index 0000000..9e5d6fb --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_axe.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XX", + "X#", + " #" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_axe_smithing.json b/src/main/resources/data/vplus/recipes/platinum_axe_smithing.json new file mode 100644 index 0000000..cef03b6 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_axe_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_axe" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_block.json b/src/main/resources/data/vplus/recipes/platinum_block.json new file mode 100644 index 0000000..7a4b74b --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_block.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_block", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_boots.json b/src/main/resources/data/vplus/recipes/platinum_boots.json new file mode 100644 index 0000000..a5834d5 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_boots.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "# #" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_boots_smithing.json b/src/main/resources/data/vplus/recipes/platinum_boots_smithing.json new file mode 100644 index 0000000..96f8662 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_boots_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_boots" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_chestplate.json b/src/main/resources/data/vplus/recipes/platinum_chestplate.json new file mode 100644 index 0000000..c590ab0 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_chestplate.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "###", + "###" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_chestplate", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_chestplate_smithing.json b/src/main/resources/data/vplus/recipes/platinum_chestplate_smithing.json new file mode 100644 index 0000000..5907447 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_chestplate_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_chestplate" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_chestplate" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_helmet.json b/src/main/resources/data/vplus/recipes/platinum_helmet.json new file mode 100644 index 0000000..4c4db72 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_helmet.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_helmet", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_helmet_smithing.json b/src/main/resources/data/vplus/recipes/platinum_helmet_smithing.json new file mode 100644 index 0000000..326f913 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_helmet_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_helmet" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_helmet" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_hoe.json b/src/main/resources/data/vplus/recipes/platinum_hoe.json new file mode 100644 index 0000000..8ab2ed1 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_hoe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##", + " /", + " /" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:platinum_hoe", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_hoe_smithing.json b/src/main/resources/data/vplus/recipes/platinum_hoe_smithing.json new file mode 100644 index 0000000..4e82f10 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_hoe_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_hoe" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_hoe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_ingot.json b/src/main/resources/data/vplus/recipes/platinum_ingot.json new file mode 100644 index 0000000..ecba660 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_ingot.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "vplus:platinum_ore" + }, + "result": "vplus:platinum_ingot", + "experience": 2.5, + "cookingtime": 200 +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_ingot_from_blasting.json b/src/main/resources/data/vplus/recipes/platinum_ingot_from_blasting.json new file mode 100644 index 0000000..88c2479 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_ingot_from_blasting.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:blasting", + "ingredient": { + "item": "vplus:platinum_ore" + }, + "result": "vplus:platinum_ingot", + "experience": 2.5, + "cookingtime": 100 +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_ingot_from_block.json b/src/main/resources/data/vplus/recipes/platinum_ingot_from_block.json new file mode 100644 index 0000000..8d7f854 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_ingot_from_block.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#" + ], + "key": { + "#": { + "item": "vplus:platinum_block" + } + }, + "result": { + "item": "vplus:platinum_ingot", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_ingot_from_nuggets.json b/src/main/resources/data/vplus/recipes/platinum_ingot_from_nuggets.json new file mode 100644 index 0000000..63759b0 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_ingot_from_nuggets.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "vplus:platinum_nugget" + } + }, + "result": { + "item": "vplus:platinum_ingot", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_leggings.json b/src/main/resources/data/vplus/recipes/platinum_leggings.json new file mode 100644 index 0000000..8f1d4ff --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_leggings.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "# #", + "# #" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_leggings", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_leggings_smithing.json b/src/main/resources/data/vplus/recipes/platinum_leggings_smithing.json new file mode 100644 index 0000000..1377a54 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_leggings_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_leggings" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_leggings" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_nugget_from_ingot.json b/src/main/resources/data/vplus/recipes/platinum_nugget_from_ingot.json new file mode 100644 index 0000000..33f9d3f --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_nugget_from_ingot.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + } + }, + "result": { + "item": "vplus:platinum_nugget", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_pickaxe.json b/src/main/resources/data/vplus/recipes/platinum_pickaxe.json new file mode 100644 index 0000000..7b1ed1e --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_pickaxe.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + " / ", + " / " + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:platinum_pickaxe", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_pickaxe_smithing.json b/src/main/resources/data/vplus/recipes/platinum_pickaxe_smithing.json new file mode 100644 index 0000000..2d4975a --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_pickaxe_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_pickaxe" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_pickaxe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_shovel.json b/src/main/resources/data/vplus/recipes/platinum_shovel.json new file mode 100644 index 0000000..af12bd6 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_shovel.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#", + "/", + "/" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:platinum_shovel", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_shovel_smithing.json b/src/main/resources/data/vplus/recipes/platinum_shovel_smithing.json new file mode 100644 index 0000000..7a784f6 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_shovel_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_shovel" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_shovel" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_sword.json b/src/main/resources/data/vplus/recipes/platinum_sword.json new file mode 100644 index 0000000..557ab3d --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_sword.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#", + "#", + "/" + ], + "key": { + "#": { + "item": "vplus:platinum_ingot" + }, + "/": { + "item": "minecraft:stick" + } + }, + "result": { + "item": "vplus:platinum_sword", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/platinum_sword_smithing.json b/src/main/resources/data/vplus/recipes/platinum_sword_smithing.json new file mode 100644 index 0000000..665aa00 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/platinum_sword_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "minecraft:netherite_sword" + }, + "addition": { + "item": "vplus:platinum_ingot" + }, + "result": { + "item": "vplus:platinum_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_apple.json b/src/main/resources/data/vplus/recipes/ruby_apple.json new file mode 100644 index 0000000..02127c9 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_apple.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "#/#", + "###" + ], + "key": { + "#": { + "item": "vplus:ruby" + }, + "/": { + "item": "minecraft:apple" + } + }, + "result": { + "item": "vplus:ruby_apple", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_axe.json b/src/main/resources/data/vplus/recipes/ruby_axe.json new file mode 100644 index 0000000..7ee9dd9 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_axe.json @@ -0,0 +1,19 @@ +{ +"type": "minecraft:crafting_shaped", +"pattern": [ +"XX", +"X#", +" #" +], +"key": { +"#": { +"item": "minecraft:stick" +}, +"X": { +"item": "vplus:ruby" +} +}, +"result": { +"item": "vplus:ruby_axe" +} +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_axe_smithing.json b/src/main/resources/data/vplus/recipes/ruby_axe_smithing.json new file mode 100644 index 0000000..1404c37 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_axe_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "vplus:platinum_axe" + }, + "addition": { + "item": "vplus:ruby" + }, + "result": { + "item": "vplus:ruby_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_block.json b/src/main/resources/data/vplus/recipes/ruby_block.json new file mode 100644 index 0000000..f113d95 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_block.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "vplus:ruby" + } + }, + "result": { + "item": "vplus:ruby_block", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_boots.json b/src/main/resources/data/vplus/recipes/ruby_boots.json new file mode 100644 index 0000000..deec6f1 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_boots.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + "# #" + ], + "key": { + "#": { + "item": "vplus:ruby" + } + }, + "result": { + "item": "vplus:ruby_boots", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_boots_smithing.json b/src/main/resources/data/vplus/recipes/ruby_boots_smithing.json new file mode 100644 index 0000000..b32af39 --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_boots_smithing.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing", + "base": { + "item": "vplus:platinum_boots" + }, + "addition": { + "item": "vplus:ruby" + }, + "result": { + "item": "vplus:ruby_boots" + } +} \ No newline at end of file diff --git a/src/main/resources/data/vplus/recipes/ruby_from_block.json b/src/main/resources/data/vplus/recipes/ruby_from_block.json new file mode 100644 index 0000000..c42afbe --- /dev/null +++ b/src/main/resources/data/vplus/recipes/ruby_from_block.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "#" + ], + "key": { + "#": { + "item": "vplus:ruby_block" + } + }, + "result": { + "item": "vplus:ruby", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..7347a0f --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,38 @@ +{ + "schemaVersion": 1, + "id": "vplus", + "version": "${version}", + + "name": "Vanilla Plus", + "description": "Adding things that should be in the vanilla game!", + "authors": [ + "nevetS-718" + ], + "contact": { + "homepage": "https://nevets.tech/", + "sources": "https://github.com/nevetS-718/VanillaPlus" + }, + + "license": "CC0-1.0", + "icon": "assets/vplus/icon.png", + + "environment": "*", + "entrypoints": { + "main": [ + "tech.nevets.vplus.Main" + ] + }, + "mixins": [ + "vplus.mixins.json" + ], + + "depends": { + "fabricloader": ">=0.11.3", + "fabric": "*", + "minecraft": "1.17.x", + "java": ">=16" + }, + "suggests": { + "another-mod": "*" + } +} \ No newline at end of file diff --git a/src/main/resources/vplus.mixins.json b/src/main/resources/vplus.mixins.json new file mode 100644 index 0000000..787a8af --- /dev/null +++ b/src/main/resources/vplus.mixins.json @@ -0,0 +1,13 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "tech.nevets.vplus.mixin", + "compatibilityLevel": "JAVA_16", + "mixins": [ + ], + "client": [ + ], + "injectors": { + "defaultRequire": 1 + } +} \ No newline at end of file