Compare commits
No commits in common. "main" and "1.0.0" have entirely different histories.
@ -1 +1 @@
|
|||||||
mquarry
|
mattv
|
@ -1,12 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="EntryPointsManager">
|
<component name="EntryPointsManager">
|
||||||
<list size="5">
|
<list size="4">
|
||||||
<item index="0" class="java.lang.String" itemvalue="net.minecraftforge.eventbus.api.SubscribeEvent" />
|
<item index="0" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.Mod" />
|
||||||
<item index="1" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.Mod" />
|
<item index="1" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.Mod.EventHandler" />
|
||||||
<item index="2" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.Mod.EventBusSubscriber" />
|
<item index="2" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.eventhandler.SubscribeEvent" />
|
||||||
<item index="3" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.Mod.EventHandler" />
|
<item index="3" class="java.lang.String" itemvalue="net.minecraftforge.eventbus.api.SubscribeEvent" />
|
||||||
<item index="4" class="java.lang.String" itemvalue="net.minecraftforge.fml.common.eventhandler.SubscribeEvent" />
|
|
||||||
</list>
|
</list>
|
||||||
</component>
|
</component>
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
@ -2,8 +2,9 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectModuleManager">
|
<component name="ProjectModuleManager">
|
||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mquarry.main.iml" filepath="$PROJECT_DIR$/.idea/modules/mquarry.main.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mattv.iml" filepath="$PROJECT_DIR$/.idea/modules/mattv.iml" />
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mquarry.test.iml" filepath="$PROJECT_DIR$/.idea/modules/mquarry.test.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mattv.main.iml" filepath="$PROJECT_DIR$/.idea/modules/mattv.main.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/modules/mattv.test.iml" filepath="$PROJECT_DIR$/.idea/modules/mattv.test.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
8
.idea/modules/mattv.iml
Normal file
8
.idea/modules/mattv.iml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module version="4">
|
||||||
|
<component name="AdditionalModuleElements">
|
||||||
|
<content url="file://$MODULE_DIR$/../.." dumb="true">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/../../run" />
|
||||||
|
</content>
|
||||||
|
</component>
|
||||||
|
</module>
|
@ -4,6 +4,8 @@
|
|||||||
<facet type="minecraft" name="Minecraft">
|
<facet type="minecraft" name="Minecraft">
|
||||||
<configuration>
|
<configuration>
|
||||||
<autoDetectTypes>
|
<autoDetectTypes>
|
||||||
|
<platformType>FORGE</platformType>
|
||||||
|
<platformType>MIXIN</platformType>
|
||||||
<platformType>MCP</platformType>
|
<platformType>MCP</platformType>
|
||||||
</autoDetectTypes>
|
</autoDetectTypes>
|
||||||
</configuration>
|
</configuration>
|
@ -3,14 +3,9 @@
|
|||||||
<component name="FacetManager">
|
<component name="FacetManager">
|
||||||
<facet type="minecraft" name="Minecraft">
|
<facet type="minecraft" name="Minecraft">
|
||||||
<configuration>
|
<configuration>
|
||||||
<userChosenTypes>
|
|
||||||
<map>
|
|
||||||
<entry key="ARCHITECTURY" value="false" />
|
|
||||||
<entry key="FORGE" value="true" />
|
|
||||||
<entry key="FABRIC" value="false" />
|
|
||||||
</map>
|
|
||||||
</userChosenTypes>
|
|
||||||
<autoDetectTypes>
|
<autoDetectTypes>
|
||||||
|
<platformType>FORGE</platformType>
|
||||||
|
<platformType>MIXIN</platformType>
|
||||||
<platformType>MCP</platformType>
|
<platformType>MCP</platformType>
|
||||||
</autoDetectTypes>
|
</autoDetectTypes>
|
||||||
</configuration>
|
</configuration>
|
17
.idea/runConfigurations/runClient.xml
Normal file
17
.idea/runConfigurations/runClient.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="runClient" type="Application" factoryName="Application" singleton="true">
|
||||||
|
<envs>
|
||||||
|
<env name="MOD_CLASSES" value="quarry%%$PROJECT_DIR$/build/resources/main:quarry%%$PROJECT_DIR$/build/classes/java/main" />
|
||||||
|
<env name="MCP_MAPPINGS" value="official_1.18.2" />
|
||||||
|
</envs>
|
||||||
|
<option name="MAIN_CLASS_NAME" value="cpw.mods.bootstraplauncher.BootstrapLauncher" />
|
||||||
|
<module name="mattv.main" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="--launchTarget forgeclientuserdev --version MOD_DEV --assetIndex 1.18 --assetsDir $USER_HOME$/.gradle/caches/forge_gradle/assets --gameDir . --fml.forgeVersion 40.2.2 --fml.mcVersion 1.18.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220404.173914" />
|
||||||
|
<option name="VM_PARAMETERS" value="-Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=$PROJECT_DIR$/build/classpath/runClient_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge- -DnativesDirectory=$PROJECT_DIR$/build/natives -DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar,java-objc-bridge-1.0.0.jar -Dforge.enabledGameTestNamespaces=mattv -Dforge.enableGameTest=true -Djava.net.preferIPv6Addresses=system -p $USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.0.0/f55ddbb35612c6745cefc47d1a0d6dbfb25d3982/bootstraplauncher-1.0.0.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/1.0.3/acbf5e3c8a38fb8bf824a54fe45eee121c510392/securejarhandler-1.0.3.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.2/f4d7f0fc9054386f2893b602454d48e07d4fbead/asm-commons-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.2/fbc178fc5ba3dab50fd7e8a5317b8b647c8e8946/asm-util-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.2/7487dd756daf96cab9986e44b9d7bcb796a61c10/asm-analysis-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.2/d96c99a30f5e1a19b0e609dbb19a44d8518ac01e/asm-tree-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.2/81a03f76019c67362299c40e0ba13405f5467bff/asm-9.2.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/run" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Make" enabled="true" />
|
||||||
|
<option name="Gradle.BeforeRunTask" enabled="true" tasks=":prepareRunClient" externalProjectPath="$PROJECT_DIR$" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
17
.idea/runConfigurations/runData.xml
Normal file
17
.idea/runConfigurations/runData.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="runData" type="Application" factoryName="Application" singleton="true">
|
||||||
|
<envs>
|
||||||
|
<env name="MOD_CLASSES" value="quarry%%$PROJECT_DIR$/build/resources/main:quarry%%$PROJECT_DIR$/build/classes/java/main" />
|
||||||
|
<env name="MCP_MAPPINGS" value="official_1.18.2" />
|
||||||
|
</envs>
|
||||||
|
<option name="MAIN_CLASS_NAME" value="cpw.mods.bootstraplauncher.BootstrapLauncher" />
|
||||||
|
<module name="mattv.main" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="--launchTarget forgedatauserdev --assetIndex 1.18 --assetsDir $USER_HOME$/.gradle/caches/forge_gradle/assets --gameDir . --fml.forgeVersion 40.2.2 --fml.mcVersion 1.18.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220404.173914 --mod quarry --all --output $PROJECT_DIR$/src/generated/resources --existing $PROJECT_DIR$/src/main/resources" />
|
||||||
|
<option name="VM_PARAMETERS" value="-Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=$PROJECT_DIR$/build/classpath/runData_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge- -DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar,java-objc-bridge-1.0.0.jar -Djava.net.preferIPv6Addresses=system -p $USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.0.0/f55ddbb35612c6745cefc47d1a0d6dbfb25d3982/bootstraplauncher-1.0.0.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/1.0.3/acbf5e3c8a38fb8bf824a54fe45eee121c510392/securejarhandler-1.0.3.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.2/f4d7f0fc9054386f2893b602454d48e07d4fbead/asm-commons-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.2/fbc178fc5ba3dab50fd7e8a5317b8b647c8e8946/asm-util-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.2/7487dd756daf96cab9986e44b9d7bcb796a61c10/asm-analysis-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.2/d96c99a30f5e1a19b0e609dbb19a44d8518ac01e/asm-tree-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.2/81a03f76019c67362299c40e0ba13405f5467bff/asm-9.2.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/run" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Make" enabled="true" />
|
||||||
|
<option name="Gradle.BeforeRunTask" enabled="true" tasks=":prepareRunData" externalProjectPath="$PROJECT_DIR$" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
18
.idea/runConfigurations/runGameTestServer.xml
Normal file
18
.idea/runConfigurations/runGameTestServer.xml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<component>
|
||||||
|
<configuration default="false" factoryName="Application" name="runGameTestServer" singleton="false" type="Application">
|
||||||
|
<option name="MAIN_CLASS_NAME" value="cpw.mods.bootstraplauncher.BootstrapLauncher"/>
|
||||||
|
<option name="VM_PARAMETERS" value="-Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=/home/mutzi/_/MQuarry/build/classpath/runGameTestServer_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge- -DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar,java-objc-bridge-1.0.0.jar -Dforge.enabledGameTestNamespaces=mattv -Djava.net.preferIPv6Addresses=system -p /home/mutzi/.gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.0.0/f55ddbb35612c6745cefc47d1a0d6dbfb25d3982/bootstraplauncher-1.0.0.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/1.0.3/acbf5e3c8a38fb8bf824a54fe45eee121c510392/securejarhandler-1.0.3.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.2/f4d7f0fc9054386f2893b602454d48e07d4fbead/asm-commons-9.2.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.2/fbc178fc5ba3dab50fd7e8a5317b8b647c8e8946/asm-util-9.2.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.2/7487dd756daf96cab9986e44b9d7bcb796a61c10/asm-analysis-9.2.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.2/d96c99a30f5e1a19b0e609dbb19a44d8518ac01e/asm-tree-9.2.jar:/home/mutzi/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.2/81a03f76019c67362299c40e0ba13405f5467bff/asm-9.2.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming"/>
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="--launchTarget forgegametestserveruserdev --gameDir . --fml.forgeVersion 40.2.2 --fml.mcVersion 1.18.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220404.173914"/>
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/run"/>
|
||||||
|
<module name="mattv.main"/>
|
||||||
|
<envs>
|
||||||
|
<env name="MOD_CLASSES" value="quarry%%$PROJECT_DIR$/build/resources/main:quarry%%$PROJECT_DIR$/build/classes/java/main"/>
|
||||||
|
<env name="MCP_MAPPINGS" value="official_1.18.2"/>
|
||||||
|
</envs>
|
||||||
|
<method v="2">
|
||||||
|
<option enabled="true" name="Make"/>
|
||||||
|
<option enabled="true" externalProjectPath="$PROJECT_DIR$" name="Gradle.BeforeRunTask" tasks=":prepareRunGameTestServer"/>
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
17
.idea/runConfigurations/runServer.xml
Normal file
17
.idea/runConfigurations/runServer.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="runServer" type="Application" factoryName="Application" singleton="true">
|
||||||
|
<envs>
|
||||||
|
<env name="MOD_CLASSES" value="quarry%%$PROJECT_DIR$/build/resources/main:quarry%%$PROJECT_DIR$/build/classes/java/main" />
|
||||||
|
<env name="MCP_MAPPINGS" value="official_1.18.2" />
|
||||||
|
</envs>
|
||||||
|
<option name="MAIN_CLASS_NAME" value="cpw.mods.bootstraplauncher.BootstrapLauncher" />
|
||||||
|
<module name="mattv.main" />
|
||||||
|
<option name="PROGRAM_PARAMETERS" value="--launchTarget forgeserveruserdev --gameDir . --fml.forgeVersion 40.2.2 --fml.mcVersion 1.18.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220404.173914" />
|
||||||
|
<option name="VM_PARAMETERS" value="-Dforge.logging.console.level=debug -Dforge.logging.markers=REGISTRIES -DlegacyClassPath.file=$PROJECT_DIR$/build/classpath/runServer_minecraftClasspath.txt -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge- -DmergeModules=jna-5.10.0.jar,jna-platform-5.10.0.jar,java-objc-bridge-1.0.0.jar -Dforge.enabledGameTestNamespaces=mattv -Dforge.enableGameTest=true -Djava.net.preferIPv6Addresses=system -p $USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/bootstraplauncher/1.0.0/f55ddbb35612c6745cefc47d1a0d6dbfb25d3982/bootstraplauncher-1.0.0.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/cpw.mods/securejarhandler/1.0.3/acbf5e3c8a38fb8bf824a54fe45eee121c510392/securejarhandler-1.0.3.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.2/f4d7f0fc9054386f2893b602454d48e07d4fbead/asm-commons-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.2/fbc178fc5ba3dab50fd7e8a5317b8b647c8e8946/asm-util-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.2/7487dd756daf96cab9986e44b9d7bcb796a61c10/asm-analysis-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.2/d96c99a30f5e1a19b0e609dbb19a44d8518ac01e/asm-tree-9.2.jar:$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.2/81a03f76019c67362299c40e0ba13405f5467bff/asm-9.2.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/run" />
|
||||||
|
<method v="2">
|
||||||
|
<option name="Make" enabled="true" />
|
||||||
|
<option name="Gradle.BeforeRunTask" enabled="true" tasks=":prepareRunServer" externalProjectPath="$PROJECT_DIR$" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
</component>
|
66
build.gradle
66
build.gradle
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'net.minecraftforge.gradle' version '5.1.+'
|
id 'net.minecraftforge.gradle' version '5.1.+'
|
||||||
id 'org.jetbrains.kotlin.jvm' version '1.8.21'
|
id 'org.jetbrains.kotlin.jvm' version '1.8.21'
|
||||||
@ -33,6 +34,67 @@ minecraft {
|
|||||||
// Default run configurations.
|
// Default run configurations.
|
||||||
// These can be tweaked, removed, or duplicated as needed.
|
// These can be tweaked, removed, or duplicated as needed.
|
||||||
runs {
|
runs {
|
||||||
|
client {
|
||||||
|
workingDirectory project.file('run')
|
||||||
|
|
||||||
|
// Recommended logging data for a userdev environment
|
||||||
|
// The markers can be added/remove as needed separated by commas.
|
||||||
|
// "SCAN": For mods scan.
|
||||||
|
// "REGISTRIES": For firing of registry events.
|
||||||
|
// "REGISTRYDUMP": For getting the contents of all registries.
|
||||||
|
property 'forge.logging.markers', 'REGISTRIES'
|
||||||
|
|
||||||
|
|
||||||
|
// Recommended logging level for the console
|
||||||
|
// You can set various levels here.
|
||||||
|
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
|
||||||
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
|
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
||||||
|
property 'forge.enabledGameTestNamespaces', 'mattv'
|
||||||
|
|
||||||
|
mods {
|
||||||
|
quarry {
|
||||||
|
source sourceSets.main
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
workingDirectory project.file('run')
|
||||||
|
|
||||||
|
property 'forge.logging.markers', 'REGISTRIES'
|
||||||
|
|
||||||
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
|
property 'forge.enabledGameTestNamespaces', 'mattv'
|
||||||
|
|
||||||
|
mods {
|
||||||
|
quarry {
|
||||||
|
source sourceSets.main
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This run config launches GameTestServer and runs all registered gametests, then exits.
|
||||||
|
// By default, the server will crash when no gametests are provided.
|
||||||
|
// The gametest system is also enabled by default for other run configs under the /test command.
|
||||||
|
gameTestServer {
|
||||||
|
workingDirectory project.file('run')
|
||||||
|
|
||||||
|
property 'forge.logging.markers', 'REGISTRIES'
|
||||||
|
|
||||||
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
|
property 'forge.enabledGameTestNamespaces', 'mattv'
|
||||||
|
|
||||||
|
mods {
|
||||||
|
quarry {
|
||||||
|
source sourceSets.main
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data {
|
data {
|
||||||
workingDirectory project.file('run')
|
workingDirectory project.file('run')
|
||||||
|
|
||||||
@ -41,10 +103,10 @@ minecraft {
|
|||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
|
||||||
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
|
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
|
||||||
args '--mod', 'mquarry', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
args '--mod', 'quarry', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
||||||
|
|
||||||
mods {
|
mods {
|
||||||
mquarry {
|
quarry {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,4 @@ pluginManagement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rootProject.name = 'mquarry'
|
rootProject.name = 'mattv'
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
7b3fd1814758741d669955a94a335814801dc443 assets/mquarry/blockstates/quarry.json
|
|
||||||
cfc584fffe5ae3e47f2e43576177fe3b8fc01716 assets/mquarry/lang/en_us.json
|
|
||||||
0b9c1b24e1c1e35ffefac69707a7fb061aabee1d assets/mquarry/models/block/quarry.json
|
|
||||||
4cf439a6c11ccf4f890097123eee3c333774d1cf assets/mquarry/models/item/controller.json
|
|
||||||
4bb1d41c62ac0ff4f0fda72807e95eb4f8ab2db8 assets/mquarry/models/item/quarry.json
|
|
||||||
26792c633f94d1fe4a1ce9f6cd04857c61446b46 assets/mquarry/models/item/upgrade_fortune.json
|
|
||||||
b4c303efcde3f154effdfd5e82c96b1f9f7d9a28 assets/mquarry/models/item/upgrade_speed.json
|
|
||||||
d75bd4ba05c1014ba0c4c17a287d3a442b3ebd55 data/minecraft/tags/blocks/mineable/pickaxe.json
|
|
||||||
d75bd4ba05c1014ba0c4c17a287d3a442b3ebd55 data/minecraft/tags/blocks/needs_iron_tool.json
|
|
||||||
57c4a44bb5b0f0caef784a7d3e4a287e8e5e7255 data/mquarry/advancements/recipes/misc/controller.json
|
|
||||||
56cc9c88e7143b5defc447852bb4f9be5d2362c7 data/mquarry/advancements/recipes/misc/quarry.json
|
|
||||||
ceb30d9aeb5908beae5298093ef46d0f31de2939 data/mquarry/advancements/recipes/misc/upgrade_fortune.json
|
|
||||||
7cb959a2d3838c18b463ed39e4216e11bd1234ca data/mquarry/advancements/recipes/misc/upgrade_speed.json
|
|
||||||
20ae285accbee967d9458ff7c727502ecf987a61 data/mquarry/recipes/controller.json
|
|
||||||
cd032661812d4df345e9b2b1994b9a70831442e8 data/mquarry/recipes/quarry.json
|
|
||||||
f04d10d847d84057879a6801c222ce9dc83be8de data/mquarry/recipes/upgrade_fortune.json
|
|
||||||
49f0b2988a9dc3dd28c93ec4d389e81daf80c04d data/mquarry/recipes/upgrade_speed.json
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"block.mquarry.quarry": "MQuarry",
|
|
||||||
"item.mquarry.controller": "MQuarry controller",
|
|
||||||
"item.mquarry.upgrade_fortune": "MQuarry fortune upgrade",
|
|
||||||
"item.mquarry.upgrade_speed": "MQuarry speed upgrade"
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:block/cube_column",
|
|
||||||
"textures": {
|
|
||||||
"side": "mquarry:blocks/quarry/side",
|
|
||||||
"end": "mquarry:blocks/quarry/updown"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"mquarry:controller"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"never": {
|
|
||||||
"trigger": "minecraft:impossible"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "mquarry:controller"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"never",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"mquarry:quarry"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"never": {
|
|
||||||
"trigger": "minecraft:impossible"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "mquarry:quarry"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"never",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"mquarry:upgrade_fortune"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"never": {
|
|
||||||
"trigger": "minecraft:impossible"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "mquarry:upgrade_fortune"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"never",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"mquarry:upgrade_speed"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"criteria": {
|
|
||||||
"never": {
|
|
||||||
"trigger": "minecraft:impossible"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"trigger": "minecraft:recipe_unlocked",
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "mquarry:upgrade_speed"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"never",
|
|
||||||
"has_the_recipe"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"i i",
|
|
||||||
"rrr",
|
|
||||||
" d "
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"i": {
|
|
||||||
"tag": "forge:ingots/iron"
|
|
||||||
},
|
|
||||||
"r": {
|
|
||||||
"tag": "forge:dusts/redstone"
|
|
||||||
},
|
|
||||||
"d": {
|
|
||||||
"tag": "forge:gems/diamond"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "mquarry:controller"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"eEe",
|
|
||||||
"pRs",
|
|
||||||
"DGI"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"e": {
|
|
||||||
"tag": "forge:ender_pearls"
|
|
||||||
},
|
|
||||||
"p": {
|
|
||||||
"item": "minecraft:netherite_pickaxe"
|
|
||||||
},
|
|
||||||
"s": {
|
|
||||||
"item": "minecraft:netherite_shovel"
|
|
||||||
},
|
|
||||||
"E": {
|
|
||||||
"item": "minecraft:emerald_block"
|
|
||||||
},
|
|
||||||
"R": {
|
|
||||||
"item": "minecraft:redstone_block"
|
|
||||||
},
|
|
||||||
"D": {
|
|
||||||
"item": "minecraft:diamond_block"
|
|
||||||
},
|
|
||||||
"G": {
|
|
||||||
"item": "minecraft:gold_block"
|
|
||||||
},
|
|
||||||
"I": {
|
|
||||||
"item": "minecraft:iron_block"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "mquarry:quarry"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"LLL",
|
|
||||||
"eRe",
|
|
||||||
"RIR"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"e": {
|
|
||||||
"tag": "forge:gems/emerald"
|
|
||||||
},
|
|
||||||
"R": {
|
|
||||||
"item": "minecraft:redstone_block"
|
|
||||||
},
|
|
||||||
"I": {
|
|
||||||
"item": "minecraft:iron_block"
|
|
||||||
},
|
|
||||||
"L": {
|
|
||||||
"item": "minecraft:lapis_block"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "mquarry:upgrade_fortune"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"sss",
|
|
||||||
"dRd",
|
|
||||||
"RIR"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"s": {
|
|
||||||
"item": "minecraft:sugar"
|
|
||||||
},
|
|
||||||
"d": {
|
|
||||||
"tag": "forge:gems/diamond"
|
|
||||||
},
|
|
||||||
"R": {
|
|
||||||
"item": "minecraft:redstone_block"
|
|
||||||
},
|
|
||||||
"I": {
|
|
||||||
"item": "minecraft:iron_block"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "mquarry:upgrade_speed"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,124 +0,0 @@
|
|||||||
package de.mattv.quarry
|
|
||||||
|
|
||||||
import net.minecraft.data.DataGenerator
|
|
||||||
import net.minecraft.data.recipes.FinishedRecipe
|
|
||||||
import net.minecraft.data.recipes.RecipeProvider
|
|
||||||
import net.minecraft.data.recipes.ShapedRecipeBuilder
|
|
||||||
import net.minecraft.data.tags.BlockTagsProvider
|
|
||||||
import net.minecraft.tags.BlockTags
|
|
||||||
import net.minecraft.world.item.Items
|
|
||||||
import net.minecraftforge.client.model.generators.BlockStateProvider
|
|
||||||
import net.minecraftforge.client.model.generators.ItemModelProvider
|
|
||||||
import net.minecraftforge.common.Tags
|
|
||||||
import net.minecraftforge.common.data.ExistingFileHelper
|
|
||||||
import net.minecraftforge.common.data.LanguageProvider
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent
|
|
||||||
import net.minecraftforge.fml.common.Mod
|
|
||||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
|
|
||||||
import java.util.function.Consumer
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid=QuarryMod.ID, bus=Mod.EventBusSubscriber.Bus.MOD)
|
|
||||||
object DataGenSubscriber {
|
|
||||||
@SubscribeEvent
|
|
||||||
fun gatherData(event: GatherDataEvent) {
|
|
||||||
val gen = event.generator
|
|
||||||
if (event.includeServer()) {
|
|
||||||
gen.addProvider(DataGenBlockTags(gen, event.existingFileHelper))
|
|
||||||
gen.addProvider(DataGenRecipes(gen))
|
|
||||||
}
|
|
||||||
if (event.includeClient()) {
|
|
||||||
gen.addProvider(DataGenBlockStates(gen, event.existingFileHelper))
|
|
||||||
gen.addProvider(DataGenItemModels(gen, event.existingFileHelper))
|
|
||||||
gen.addProvider(DataGenTranslation(gen, "en_us"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DataGenBlockStates(gen: DataGenerator?, helper: ExistingFileHelper?) : BlockStateProvider(gen, QuarryMod.ID, helper) {
|
|
||||||
override fun registerStatesAndModels() {
|
|
||||||
val quarryBlock = QuarryMod.QUARRY_BLOCK.get()
|
|
||||||
val quarryUpDown = modLoc("blocks/quarry/updown")
|
|
||||||
val quarrySide = modLoc("blocks/quarry/side")
|
|
||||||
simpleBlock(quarryBlock, models().cubeColumn(quarryBlock.registryName!!.path, quarrySide, quarryUpDown))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DataGenItemModels(gen: DataGenerator?, helper: ExistingFileHelper?) : ItemModelProvider(gen, QuarryMod.ID, helper) {
|
|
||||||
override fun registerModels() {
|
|
||||||
withExistingParent(QuarryMod.QUARRY_ITEM.get().registryName!!.path, modLoc("block/quarry"))
|
|
||||||
singleTexture(QuarryMod.CONTROLLER_ITEM.get().registryName!!.path, mcLoc("item/generated"), "layer0", modLoc("items/controller"))
|
|
||||||
singleTexture(QuarryMod.QUARRY_SPEED_UPGRADE.get().registryName!!.path, mcLoc("item/generated"), "layer0", modLoc("items/upgrade_speed"))
|
|
||||||
singleTexture(QuarryMod.QUARRY_FORTUNE_UPGRADE.get().registryName!!.path, mcLoc("item/generated"), "layer0", modLoc("items/upgrade_fortune"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DataGenBlockTags(gen: DataGenerator, helper: ExistingFileHelper?) : BlockTagsProvider(gen, QuarryMod.ID, helper) {
|
|
||||||
override fun addTags() {
|
|
||||||
tag(BlockTags.MINEABLE_WITH_PICKAXE)
|
|
||||||
.add(QuarryMod.QUARRY_BLOCK.get())
|
|
||||||
tag(BlockTags.NEEDS_IRON_TOOL)
|
|
||||||
.add(QuarryMod.QUARRY_BLOCK.get())
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getName(): String = "MQuarry Tags"
|
|
||||||
}
|
|
||||||
|
|
||||||
class DataGenTranslation(gen: DataGenerator, locale: String) : LanguageProvider(gen, QuarryMod.ID, locale) {
|
|
||||||
override fun addTranslations() {
|
|
||||||
add(QuarryMod.QUARRY_BLOCK.get(), "MQuarry")
|
|
||||||
add(QuarryMod.QUARRY_SPEED_UPGRADE.get(), "MQuarry speed upgrade")
|
|
||||||
add(QuarryMod.QUARRY_FORTUNE_UPGRADE.get(), "MQuarry fortune upgrade")
|
|
||||||
add(QuarryMod.CONTROLLER_ITEM.get(), "MQuarry controller")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DataGenRecipes(gen: DataGenerator) : RecipeProvider(gen) {
|
|
||||||
override fun buildCraftingRecipes(consumer: Consumer<FinishedRecipe>) {
|
|
||||||
ShapedRecipeBuilder.shaped(QuarryMod.QUARRY_ITEM.get())
|
|
||||||
.pattern("eEe")
|
|
||||||
.pattern("pRs")
|
|
||||||
.pattern("DGI")
|
|
||||||
.define('e', Tags.Items.ENDER_PEARLS)
|
|
||||||
.define('p', Items.NETHERITE_PICKAXE)
|
|
||||||
.define('s', Items.NETHERITE_SHOVEL)
|
|
||||||
.define('E', Items.EMERALD_BLOCK)
|
|
||||||
.define('R', Items.REDSTONE_BLOCK)
|
|
||||||
.define('D', Items.DIAMOND_BLOCK)
|
|
||||||
.define('G', Items.GOLD_BLOCK)
|
|
||||||
.define('I', Items.IRON_BLOCK)
|
|
||||||
.unlockedBy("never", net.minecraft.advancements.critereon.ImpossibleTrigger.TriggerInstance())
|
|
||||||
.save(consumer)
|
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(QuarryMod.QUARRY_SPEED_UPGRADE.get())
|
|
||||||
.pattern("sss")
|
|
||||||
.pattern("dRd")
|
|
||||||
.pattern("RIR")
|
|
||||||
.define('s', Items.SUGAR)
|
|
||||||
.define('d', Tags.Items.GEMS_DIAMOND)
|
|
||||||
.define('R', Items.REDSTONE_BLOCK)
|
|
||||||
.define('I', Items.IRON_BLOCK)
|
|
||||||
.unlockedBy("never", net.minecraft.advancements.critereon.ImpossibleTrigger.TriggerInstance())
|
|
||||||
.save(consumer)
|
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(QuarryMod.QUARRY_FORTUNE_UPGRADE.get())
|
|
||||||
.pattern("LLL")
|
|
||||||
.pattern("eRe")
|
|
||||||
.pattern("RIR")
|
|
||||||
.define('e', Tags.Items.GEMS_EMERALD)
|
|
||||||
.define('R', Items.REDSTONE_BLOCK)
|
|
||||||
.define('I', Items.IRON_BLOCK)
|
|
||||||
.define('L', Items.LAPIS_BLOCK)
|
|
||||||
.unlockedBy("never", net.minecraft.advancements.critereon.ImpossibleTrigger.TriggerInstance())
|
|
||||||
.save(consumer)
|
|
||||||
|
|
||||||
ShapedRecipeBuilder.shaped(QuarryMod.CONTROLLER_ITEM.get())
|
|
||||||
.pattern("i i")
|
|
||||||
.pattern("rrr")
|
|
||||||
.pattern(" d ")
|
|
||||||
.define('i', Tags.Items.INGOTS_IRON)
|
|
||||||
.define('r', Tags.Items.DUSTS_REDSTONE)
|
|
||||||
.define('d', Tags.Items.GEMS_DIAMOND)
|
|
||||||
.unlockedBy("never", net.minecraft.advancements.critereon.ImpossibleTrigger.TriggerInstance())
|
|
||||||
.save(consumer)
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,14 +3,19 @@ package de.mattv.quarry
|
|||||||
import net.minecraft.world.item.BlockItem
|
import net.minecraft.world.item.BlockItem
|
||||||
import net.minecraft.world.item.CreativeModeTab
|
import net.minecraft.world.item.CreativeModeTab
|
||||||
import net.minecraft.world.item.Item
|
import net.minecraft.world.item.Item
|
||||||
|
import net.minecraft.world.level.block.Block
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType
|
import net.minecraft.world.level.block.entity.BlockEntityType
|
||||||
|
import net.minecraftforge.event.RegistryEvent
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent
|
||||||
import net.minecraftforge.fml.common.Mod
|
import net.minecraftforge.fml.common.Mod
|
||||||
import net.minecraftforge.registries.DeferredRegister
|
import net.minecraftforge.registries.DeferredRegister
|
||||||
import net.minecraftforge.registries.ForgeRegistries
|
import net.minecraftforge.registries.ForgeRegistries
|
||||||
|
import net.minecraftforge.registries.RegistryObject
|
||||||
import thedarkcolour.kotlinforforge.forge.MOD_BUS
|
import thedarkcolour.kotlinforforge.forge.MOD_BUS
|
||||||
import thedarkcolour.kotlinforforge.forge.registerObject
|
import thedarkcolour.kotlinforforge.forge.registerObject
|
||||||
|
|
||||||
@Mod(QuarryMod.ID)
|
@Mod(QuarryMod.ID)
|
||||||
|
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
object QuarryMod {
|
object QuarryMod {
|
||||||
const val ID = "mquarry"
|
const val ID = "mquarry"
|
||||||
|
|
||||||
@ -25,9 +30,9 @@ object QuarryMod {
|
|||||||
val QUARRY_SPEED_UPGRADE = ITEM_REGISTRY.registerObject("upgrade_speed") { QuarryUpgrade(QuarryUpgrade.Type.SPEED) }
|
val QUARRY_SPEED_UPGRADE = ITEM_REGISTRY.registerObject("upgrade_speed") { QuarryUpgrade(QuarryUpgrade.Type.SPEED) }
|
||||||
val QUARRY_FORTUNE_UPGRADE = ITEM_REGISTRY.registerObject("upgrade_fortune") { QuarryUpgrade(QuarryUpgrade.Type.FORTUNE) }
|
val QUARRY_FORTUNE_UPGRADE = ITEM_REGISTRY.registerObject("upgrade_fortune") { QuarryUpgrade(QuarryUpgrade.Type.FORTUNE) }
|
||||||
val QUARRY_ITEM = ITEM_REGISTRY.registerObject("quarry") { BlockItem(QUARRY_BLOCK.get(), Item.Properties().tab(CreativeModeTab.TAB_MISC)) }
|
val QUARRY_ITEM = ITEM_REGISTRY.registerObject("quarry") { BlockItem(QUARRY_BLOCK.get(), Item.Properties().tab(CreativeModeTab.TAB_MISC)) }
|
||||||
val CONTROLLER_ITEM = ITEM_REGISTRY.registerObject("controller", ::QuarryController)
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
ITEM_REGISTRY.registerObject("controller", ::QuarryController)
|
||||||
//LOGGER.log(Level.INFO, "MQuarry initializing")
|
//LOGGER.log(Level.INFO, "MQuarry initializing")
|
||||||
BLOCK_REGISTRY.register(MOD_BUS)
|
BLOCK_REGISTRY.register(MOD_BUS)
|
||||||
TILES_REGISTRY.register(MOD_BUS)
|
TILES_REGISTRY.register(MOD_BUS)
|
||||||
|
@ -98,8 +98,6 @@ class QuarryTile(private val myPos: BlockPos, state: BlockState) : BlockEntity(Q
|
|||||||
return super<BlockEntity>.getCapability(cap, side)
|
return super<BlockEntity>.getCapability(cap, side)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun upgradesNeededForLevel(level: Int): Int = level.toFloat().pow(1.5f).toInt()
|
|
||||||
|
|
||||||
private fun getPickaxe(): ItemStack = Items.NETHERITE_PICKAXE.defaultInstance.apply {
|
private fun getPickaxe(): ItemStack = Items.NETHERITE_PICKAXE.defaultInstance.apply {
|
||||||
if (fortuneLevel > 0) enchant(Enchantments.BLOCK_FORTUNE, fortuneLevel)
|
if (fortuneLevel > 0) enchant(Enchantments.BLOCK_FORTUNE, fortuneLevel)
|
||||||
}
|
}
|
||||||
@ -176,7 +174,7 @@ class QuarryTile(private val myPos: BlockPos, state: BlockState) : BlockEntity(Q
|
|||||||
speedUpgradesNeeded -= used
|
speedUpgradesNeeded -= used
|
||||||
if (speedUpgradesNeeded == 0) {
|
if (speedUpgradesNeeded == 0) {
|
||||||
speedLevel++
|
speedLevel++
|
||||||
speedUpgradesNeeded = upgradesNeededForLevel(speedLevel)
|
speedUpgradesNeeded = speedLevel.toFloat().pow(1.5f).toInt()
|
||||||
player.displayClientMessage(TextComponent("New speed level: $speedLevel, upgrades needed for next level: $speedUpgradesNeeded"), true)
|
player.displayClientMessage(TextComponent("New speed level: $speedLevel, upgrades needed for next level: $speedUpgradesNeeded"), true)
|
||||||
} else
|
} else
|
||||||
player.displayClientMessage(TextComponent("Upgrades needed for next level: $speedUpgradesNeeded"), true)
|
player.displayClientMessage(TextComponent("Upgrades needed for next level: $speedUpgradesNeeded"), true)
|
||||||
@ -186,7 +184,7 @@ class QuarryTile(private val myPos: BlockPos, state: BlockState) : BlockEntity(Q
|
|||||||
fortuneUpgradesNeeded -= used
|
fortuneUpgradesNeeded -= used
|
||||||
if (fortuneUpgradesNeeded == 0) {
|
if (fortuneUpgradesNeeded == 0) {
|
||||||
fortuneLevel++
|
fortuneLevel++
|
||||||
fortuneUpgradesNeeded = upgradesNeededForLevel(fortuneLevel)
|
fortuneUpgradesNeeded = fortuneLevel.toFloat().pow(1.5f).toInt()
|
||||||
player.displayClientMessage(TextComponent("New fortune level: $fortuneLevel, upgrades needed for next level: $fortuneUpgradesNeeded"), true)
|
player.displayClientMessage(TextComponent("New fortune level: $fortuneLevel, upgrades needed for next level: $fortuneUpgradesNeeded"), true)
|
||||||
} else
|
} else
|
||||||
player.displayClientMessage(TextComponent("Upgrades needed for next level: $fortuneUpgradesNeeded"), true)
|
player.displayClientMessage(TextComponent("Upgrades needed for next level: $fortuneUpgradesNeeded"), true)
|
||||||
@ -267,9 +265,9 @@ class QuarryTile(private val myPos: BlockPos, state: BlockState) : BlockEntity(Q
|
|||||||
override fun getUpdatePacket(): Packet<ClientGamePacketListener>? = ClientboundBlockEntityDataPacket.create(this)
|
override fun getUpdatePacket(): Packet<ClientGamePacketListener>? = ClientboundBlockEntityDataPacket.create(this)
|
||||||
|
|
||||||
fun probeInfo(info: IProbeInfo) {
|
fun probeInfo(info: IProbeInfo) {
|
||||||
val speedMax = upgradesNeededForLevel(speedLevel)
|
val speedMax = (2.0).pow(speedLevel).toInt()
|
||||||
info.text("Speed: level $speedLevel, ${speedMax - speedUpgradesNeeded}/$speedMax")
|
info.text("Speed: level $speedLevel, ${speedMax - speedUpgradesNeeded}/$speedMax")
|
||||||
val fortuneMax = upgradesNeededForLevel(fortuneLevel)
|
val fortuneMax = (2.0).pow(fortuneLevel).toInt()
|
||||||
info.text("Fortune: level $fortuneLevel, ${fortuneMax - fortuneUpgradesNeeded}/$fortuneMax")
|
info.text("Fortune: level $fortuneLevel, ${fortuneMax - fortuneUpgradesNeeded}/$fortuneMax")
|
||||||
if (itemsToDrop.isNotEmpty())
|
if (itemsToDrop.isNotEmpty())
|
||||||
info.text("Waiting to extract items...")
|
info.text("Waiting to extract items...")
|
||||||
|
7
src/main/resources/assets/mquarry/lang/en_us.json
Executable file
7
src/main/resources/assets/mquarry/lang/en_us.json
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"block.mquarry.quarry": "MQuarry",
|
||||||
|
|
||||||
|
"item.mquarry.upgrade_speed": "MQuarry speed upgrade",
|
||||||
|
"item.mquarry.upgrade_fortune": "MQuarry fortune upgrade",
|
||||||
|
"item.mquarry.controller": "MQuarry controller"
|
||||||
|
}
|
11
src/main/resources/assets/mquarry/models/block/quarry.json
Normal file
11
src/main/resources/assets/mquarry/models/block/quarry.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"parent": "block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"up": "mquarry:blocks/quarry/updown",
|
||||||
|
"down": "mquarry:blocks/quarry/updown",
|
||||||
|
"north": "mquarry:blocks/quarry/side",
|
||||||
|
"south": "mquarry:blocks/quarry/side",
|
||||||
|
"west": "mquarry:blocks/quarry/side",
|
||||||
|
"east": "mquarry:blocks/quarry/side"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "mquarry:items/controller"
|
"layer0": "mquarry:items/controller"
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "mquarry:items/upgrade_fortune"
|
"layer0": "mquarry:items/upgrade_fortune"
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "mquarry:items/upgrade_speed"
|
"layer0": "mquarry:items/upgrade_speed"
|
||||||
}
|
}
|
14
src/main/resources/data/mquarry/recipes/controller.json
Normal file
14
src/main/resources/data/mquarry/recipes/controller.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"i i",
|
||||||
|
"rrr",
|
||||||
|
" d "
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"i": { "item": "minecraft:iron_ingot" },
|
||||||
|
"r": { "item": "minecraft:redstone" },
|
||||||
|
"d": { "item": "minecraft:diamond" }
|
||||||
|
},
|
||||||
|
"result": { "item": "mquarry:controller" }
|
||||||
|
}
|
19
src/main/resources/data/mquarry/recipes/quarry.json
Normal file
19
src/main/resources/data/mquarry/recipes/quarry.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"eEe",
|
||||||
|
"pRs",
|
||||||
|
"DGI"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"e": { "item": "minecraft:ender_pearl" },
|
||||||
|
"p": { "item": "minecraft:netherite_pickaxe" },
|
||||||
|
"s": { "item": "minecraft:netherite_shovel" },
|
||||||
|
"E": { "item": "minecraft:emerald_block" },
|
||||||
|
"R": { "item": "minecraft:redstone_block" },
|
||||||
|
"D": { "item": "minecraft:diamond_block" },
|
||||||
|
"G": { "item": "minecraft:gold_block" },
|
||||||
|
"I": { "item": "minecraft:iron_block" }
|
||||||
|
},
|
||||||
|
"result": { "item": "mquarry:quarry" }
|
||||||
|
}
|
15
src/main/resources/data/mquarry/recipes/upgrade_fortune.json
Normal file
15
src/main/resources/data/mquarry/recipes/upgrade_fortune.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"LLL",
|
||||||
|
"eRe",
|
||||||
|
"RIR"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"L": { "item": "minecraft:lapis_block" },
|
||||||
|
"e": { "item": "minecraft:emerald" },
|
||||||
|
"R": { "item": "minecraft:redstone_block" },
|
||||||
|
"I": { "item": "minecraft:iron_block" }
|
||||||
|
},
|
||||||
|
"result": { "item": "mquarry:upgrade_fortune" }
|
||||||
|
}
|
15
src/main/resources/data/mquarry/recipes/upgrade_speed.json
Normal file
15
src/main/resources/data/mquarry/recipes/upgrade_speed.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"sss",
|
||||||
|
"dRd",
|
||||||
|
"RIR"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"s": { "item": "minecraft:sugar" },
|
||||||
|
"d": { "item": "minecraft:diamond" },
|
||||||
|
"R": { "item": "minecraft:redstone_block" },
|
||||||
|
"I": { "item": "minecraft:iron_block" }
|
||||||
|
},
|
||||||
|
"result": { "item": "mquarry:upgrade_speed" }
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user