got 1.11 working but rotation is wrong

This commit is contained in:
Mohammad-Ali Minaie
2016-12-26 21:25:55 -05:00
parent 9126a443f6
commit bd5c334ce9
89 changed files with 3754 additions and 1262 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

9
.idea/ForgeCraft.iml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

52
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
<component name="masterDetails">
<states>
<state key="GlobalLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="JdkListConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectJDKs.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ForgeCraft.iml" filepath="$PROJECT_DIR$/.idea/ForgeCraft.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

220
.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="2374d888-04b5-4300-967c-f257dee6cdd6" name="Default" comment="" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="CreatePatchCommitExecutor">
<option name="PATCH_PATH" value="" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FavoritesManager">
<favorites_list name="ForgeCraft" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="GradleLocalSettings">
<option name="modificationStamps">
<map>
<entry key="$PROJECT_DIR$" value="1480417453000" />
<entry key="$PROJECT_DIR$/1.11" value="1481481759000" />
<entry key="$PROJECT_DIR$/../PrimalCore" value="2962994312000" />
</map>
</option>
<option name="externalProjectsViewState">
<projects_view />
</option>
</component>
<component name="ProjectFrameBounds">
<option name="width" value="1680" />
<option name="height" value="1050" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
<flattenPackages />
<showMembers />
<showModules />
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
<manualOrder />
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="ProjectPane">
<subPane>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="ForgeCraft" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="ForgeCraft" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="project.structure.last.edited" value="Project" />
<property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.0" />
<property name="FullScreen" value="true" />
</component>
<component name="RunManager">
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
<option name="PROGRAM_PARAMETERS" />
<predefined_log_file id="idea.log" enabled="true" />
<method />
</configuration>
<configuration default="true" type="Applet" factoryName="Applet">
<option name="HTML_USED" value="false" />
<option name="WIDTH" value="400" />
<option name="HEIGHT" value="300" />
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
<module />
<method />
</configuration>
<configuration default="true" type="Application" factoryName="Application">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
<option name="PROGRAM_PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<envs />
<patterns />
<method />
</configuration>
<configuration default="true" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
<option name="PORT" value="5005" />
<method />
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG">
<extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
<option name="SUITE_NAME" />
<option name="PACKAGE_NAME" />
<option name="MAIN_CLASS_NAME" />
<option name="METHOD_NAME" />
<option name="GROUP_NAME" />
<option name="TEST_OBJECT" value="CLASS" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
<option name="OUTPUT_DIRECTORY" />
<option name="ANNOTATION_TYPE" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="singleModule" />
</option>
<option name="USE_DEFAULT_REPORTERS" value="false" />
<option name="PROPERTIES_FILE" />
<envs />
<properties />
<listeners />
<method />
</configuration>
</component>
<component name="ShelveChangesManager" show_recycled="false">
<option name="remove_strategy" value="false" />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="2374d888-04b5-4300-967c-f257dee6cdd6" name="Default" comment="" />
<created>1482033001334</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1482033001334</updated>
</task>
<servers />
</component>
<component name="ToolWindowManager">
<frame x="0" y="0" width="1680" height="1050" extended-state="6" />
<editor active="false" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
</project>

BIN
1.10.2/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
#Splash screen properties
#Sun Dec 11 13:01:44 EST 2016
#Sun Dec 18 21:07:39 EST 2016
logoTexture=textures/gui/title/mojang.png
background=0xFFFFFF
font=0x0

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,3 +4,9 @@
[13:01:22] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[13:01:22] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[13:01:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[21:07:31] [main/INFO] [GradleStart]: Extra: []
[21:07:31] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, /Users/mminaie/.gradle/caches/minecraft/assets, --assetIndex, 1.10, --accessToken{REDACTED}, --version, 1.10.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:07:31] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:07:31] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:07:31] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:07:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker

View File

@@ -1,38 +1,39 @@
[13:01:33] [Client thread/INFO]: Setting user: Player249
[13:01:38] [Client thread/INFO]: LWJGL Version: 2.9.4
[13:01:50] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[13:02:43] [Client thread/WARN]: Invalid sounds.json
[21:07:34] [Client thread/INFO]: Setting user: Player848
[21:07:37] [Client thread/WARN]: Skipping bad option: lastServer:
[21:07:37] [Client thread/INFO]: LWJGL Version: 2.9.2
[21:07:42] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[21:07:43] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:122) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:484) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[13:02:43] [Sound Library Loader/INFO]: Starting up SoundSystem...
[13:02:44] [Thread-7/INFO]: Initializing LWJGL OpenAL
[13:02:44] [Thread-7/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[13:02:45] [Thread-7/INFO]: OpenAL initialized.
[13:02:45] [Sound Library Loader/INFO]: Sound engine started
[13:02:49] [Client thread/INFO]: Created: 16x16 textures-atlas
[13:02:51] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[13:02:55] [Client thread/WARN]: Invalid sounds.json
[21:07:43] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:07:44] [Thread-7/INFO]: Initializing LWJGL OpenAL
[21:07:44] [Thread-7/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[21:07:44] [Thread-7/INFO]: OpenAL initialized.
[21:07:44] [Sound Library Loader/INFO]: Sound engine started
[21:07:45] [Client thread/INFO]: Created: 16x16 textures-atlas
[21:07:47] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[21:07:48] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
@@ -42,43 +43,44 @@ java.lang.NullPointerException
at net.minecraft.client.Minecraft.startGame(Minecraft.java:561) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_102]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_102]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_102]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[13:02:55] [Client thread/INFO]: SoundSystem shutting down...
[13:02:55] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[13:02:55] [Sound Library Loader/INFO]: Starting up SoundSystem...
[13:02:55] [Thread-9/INFO]: Initializing LWJGL OpenAL
[13:02:55] [Thread-9/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[13:02:55] [Thread-9/INFO]: OpenAL initialized.
[13:02:55] [Sound Library Loader/INFO]: Sound engine started
[13:03:00] [Client thread/INFO]: Created: 512x512 textures-atlas
[13:03:04] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[13:03:11] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[13:03:11] [Server thread/INFO]: Generating keypair
[13:03:12] [Server thread/INFO]: Preparing start region for level 0
[13:03:13] [Server thread/INFO]: Changing view distance to 12, from 10
[13:03:14] [Server thread/INFO]: Player249[local:E:f5847b71] logged in with entity id 0 at (-1197.5, 4.0, 574.5)
[13:03:14] [Server thread/INFO]: Player249 joined the game
[13:03:15] [Server thread/INFO]: Saving and pausing game...
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:15] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:15] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@25bca98e[id=77058a27-9ed9-3577-ba3a-f426b243548e,name=Player249,properties={},legacy=false]
[21:07:48] [Client thread/INFO]: SoundSystem shutting down...
[21:07:48] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[21:07:48] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:07:49] [Thread-9/INFO]: Initializing LWJGL OpenAL
[21:07:49] [Thread-9/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[21:07:49] [Thread-9/INFO]: OpenAL initialized.
[21:07:49] [Sound Library Loader/INFO]: Sound engine started
[21:07:50] [Client thread/INFO]: Created: 512x512 textures-atlas
[21:07:51] [Client thread/WARN]: Skipping bad option: lastServer:
[21:07:51] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[21:07:55] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[21:07:55] [Server thread/INFO]: Generating keypair
[21:07:56] [Server thread/INFO]: Preparing start region for level 0
[21:07:56] [Server thread/INFO]: Changing view distance to 12, from 10
[21:07:57] [Server thread/INFO]: Player848[local:E:514a1023] logged in with entity id 9 at (-1197.5, 4.0, 574.5)
[21:07:57] [Server thread/INFO]: Player848 joined the game
[21:07:58] [Server thread/INFO]: Saving and pausing game...
[21:07:58] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:07:58] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:07:58] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:07:58] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@aca6b91[id=671fc71d-f6cb-3d6a-91ee-4151a2cbcf9a,name=Player848,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:65) ~[YggdrasilAuthenticationService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?]
@@ -95,23 +97,40 @@ com.mojang.authlib.exceptions.AuthenticationException: The client has sent too m
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:165) [YggdrasilMinecraftSessionService.class:?]
at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3060) [Minecraft.class:?]
at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:131) [SkinManager$3.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_102]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_102]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_102]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_102]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102]
[13:03:19] [Server thread/INFO]: Player249 has just earned the achievement [Taking Inventory]
[13:03:19] [Client thread/INFO]: [CHAT] Player249 has just earned the achievement [Taking Inventory]
[13:03:30] [Server thread/INFO]: Saving and pausing game...
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:30] [Server thread/INFO]: Stopping server
[13:03:30] [Server thread/INFO]: Saving players
[13:03:30] [Server thread/INFO]: Saving worlds
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[13:03:30] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[13:03:32] [Client thread/INFO]: Stopping!
[13:03:32] [Client thread/INFO]: SoundSystem shutting down...
[13:03:33] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
[21:08:04] [Server thread/INFO]: Saving and pausing game...
[21:08:04] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:08:04] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:08:04] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:08:15] [Server thread/INFO]: Player848 has just earned the achievement [Taking Inventory]
[21:08:15] [Client thread/INFO]: [CHAT] Player848 has just earned the achievement [Taking Inventory]
[21:08:54] [Server thread/INFO]: Saving and pausing game...
[21:08:54] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:08:54] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:08:54] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:09:08] [Server thread/INFO]: Saving and pausing game...
[21:09:08] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:09:08] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:09:08] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:09:16] [Server thread/INFO]: Saving and pausing game...
[21:09:16] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:09:16] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:09:16] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:09:26] [Server thread/INFO]: Changing difficulty to PEACEFUL, from NORMAL
[21:09:44] [Server thread/INFO]: Saving and pausing game...
[21:09:44] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:09:44] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:09:44] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:09:45] [Server thread/INFO]: Stopping server
[21:09:45] [Server thread/INFO]: Saving players
[21:09:45] [Server thread/INFO]: Saving worlds
[21:09:45] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[21:09:45] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[21:09:45] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[21:09:46] [Client thread/INFO]: Stopping!
[21:09:46] [Client thread/INFO]: SoundSystem shutting down...
[21:09:47] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

View File

@@ -82,7 +82,7 @@ key_key.hotbar.7:8
key_key.hotbar.8:9
key_key.hotbar.9:10
soundCategory_master:1.0
soundCategory_music:1.0
soundCategory_music:0.0
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
{"stat.walkOneCm":333,"stat.playOneMinute":1519,"achievement.openInventory":4,"stat.leaveGame":1,"stat.sneakTime":86,"stat.timeSinceDeath":1519,"achievement.exploreAllBiomes":{"value":0,"progress":["Plains"]}}

View File

@@ -113,21 +113,13 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
}
if(tileStack != null && playerStack == null && player.isSneaking()){
if(state.getValue(ACTIVE)==true){
world.setBlockState(pos, state.withProperty(ACTIVE, false), 2);
ItemStack returnStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1);
player.setHeldItem(EnumHand.MAIN_HAND, returnStack);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
} else {
player.setHeldItem(EnumHand.MAIN_HAND, tileStack);
tile.setInventorySlotContents(0, null);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
player.setHeldItem(EnumHand.MAIN_HAND, tile.getStackInSlot(0));
tile.setInventorySlotContents(0, null);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
if(state.getValue(ACTIVE)==true){
world.setBlockState(pos, state.withProperty(ACTIVE, false), 2);
}
}
if(!player.isSneaking()){
if(playerStack == null) {
@@ -146,57 +138,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
public void onBlockClicked(World world, BlockPos pos, EntityPlayer player) {
/*if(!world.isRemote){
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
IBlockState state = world.getBlockState(pos);
if (tile != null) {
ItemStack playerStack = player.getHeldItemMainhand();
Item playerItem;
ItemStack tileStack = tile.getStackInSlot(0);
if (!player.isSneaking()) {
if( tileStack !=null) {
if (playerStack == null) {
ItemStack tempStack1 = tileStack;
ItemStack tempStack2 = tileStack;
tempStack1.stackSize = 1;
tempStack2.stackSize = tileStack.stackSize - 1;
System.out.println(tileStack.stackSize + "|" + "|" + tempStack2.stackSize);
//int tileSize = tile.decrStackSize()
//ItemStack tempReset = new ItemStack(tileStack.getItem(), tileSize - 1, tileStack.getItemDamage());
//System.out.println(tileSize + "|" + tempReset.stackSize);
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setInventorySlotContents(0, tempStack2);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN THE WHOLE STACK
if (playerStack == null && player.isSneaking()) {
if (tileStack != null) {
if(state.getValue(ACTIVE)) {
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1, tileStack.getItemDamage());
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
} else {
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tileStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN 1
}
}*/
}
@Override

View File

@@ -63,6 +63,7 @@ public class TileFirebox extends BaseTile implements IInventory, ITickable {
if(this.getStackInSlot(0) != null) {
if (worldObj.rand.nextInt((int) Math.floor(getVanillaItemBurnTime(this.getStackInSlot(0)) / 20)) == 0) {
this.decrStackSize(0, 1);
this.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}

View File

@@ -1,3 +1,3 @@
{
"parent": "forgecraft:/block/firebox"
"parent": "forgecraft:block/firebox"
}

View File

@@ -2,7 +2,7 @@
"modid": "forgecraft",
"name": "Kitsu's Forgecraft",
"description": "Forged with sweat and blood",
"version": "1.0.0",
"version": "1.0.1",
"mcversion": "1.10.2",
"url": "",
"updateUrl": "",

View File

@@ -1 +1 @@
[{"name":"Player249","uuid":"77058a27-9ed9-3577-ba3a-f426b243548e","expiresOn":"2017-01-11 13:03:14 -0500"}]
[{"name":"Player848","uuid":"671fc71d-f6cb-3d6a-91ee-4151a2cbcf9a","expiresOn":"2017-01-18 21:07:57 -0500"},{"name":"Player249","uuid":"77058a27-9ed9-3577-ba3a-f426b243548e","expiresOn":"2017-01-11 13:03:14 -0500"}]

View File

@@ -1,3 +1,4 @@
{
"77058a27-9ed9-3577-ba3a-f426b243548e": "Player249"
"77058a27-9ed9-3577-ba3a-f426b243548e": "Player249",
"671fc71d-f6cb-3d6a-91ee-4151a2cbcf9a": "Player848"
}

BIN
1.11/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -8,11 +8,11 @@ buildscript {
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the nessasary things for Forge to be setup.
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
version = "1.0"
group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
group = "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "modid"
sourceCompatibility = targetCompatibility = "1.6" // Need this here so eclipse task generates correctly.
@@ -21,15 +21,15 @@ compileJava {
}
minecraft {
version = "1.11-13.19.1.2189"
version = "1.11-13.19.1.2199"
runDir = "run"
// the mappings can be changed at any time, and must be in the following format.
// snapshot_YYYYMMDD snapshot are built nightly.
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not allways work.
// Use non-default mappings at your own risk. they may not always work.
// simply re-run your setup task after changing the mappings to update your workspace.
mappings = "snapshot_20161111"
mappings = "snapshot_20161220"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}
@@ -57,8 +57,7 @@ dependencies {
}
processResources
{
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
@@ -71,7 +70,7 @@ processResources
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
// copy everything else except the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}

72
1.11/config/forge.cfg Normal file
View File

@@ -0,0 +1,72 @@
# Configuration file
client {
# Replace the vanilla bucket models with Forges own dynamic bucket model. Unifies bucket visuals if a mod uses the Forge bucket model.
B:replaceVanillaBucketModel=false
# The timestamp of the last reminder to update to Java 8 in number of milliseconds since January 1, 1970, 00:00:00 GMT. Nag will show only once every 24 hours. To disable it set this to some really high number.
D:java8Reminder=0.0
# Disable culling of hidden faces next to stairs and slabs. Causes extra rendering, but may fix some resource packs that exploit this vanilla mechanic.
B:disableStairSlabCulling=false
}
general {
# Set to true to disable Forge's version check mechanics. Forge queries a small json file on our server for version information. For more details see the ForgeVersion class in our github.
B:disableVersionCheck=false
# Controls the number threshold at which Packet51 is preferred over Packet52, default and minimum 64, maximum 1024
I:clumpingThreshold=64
# Set to true to enable the post initialization sorting of crafting recipes using Forge's sorter. May cause desyncing on conflicting recipes. MUST RESTART MINECRAFT IF CHANGED FROM THE CONFIG GUI.
B:sortRecipies=true
# Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
B:removeErroringEntities=false
# Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES.
B:removeErroringTileEntities=false
# Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticeable differences in mechanics so default is vanilla behavior. Default: false
B:fullBoundingBoxLadders=false
# Control the range of sky blending for colored skies in biomes.
I:biomeSkyBlendRange <
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
>
# Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic.
D:zombieBaseSummonChance=0.1
# Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic.
D:zombieBabyChance=0.05
# Enable the forge block rendering pipeline - fixes the lighting of custom models.
B:forgeLightPipelineEnabled=true
B:enableGlobalConfig=false
}
version_checking {
# Enable the entire mod update check system. This only applies to mods using the Forge system.
B:Global=true
}

View File

@@ -0,0 +1,47 @@
# Configuration file
##########################################################################################################
# defaults
#--------------------------------------------------------------------------------------------------------#
# Default configuration for forge chunk loading control
##########################################################################################################
defaults {
# Are mod overrides enabled?
B:enabled=true
# The default maximum number of chunks a mod can force, per ticket,
# for a mod without an override. This is the maximum number of chunks a single ticket can force.
I:maximumChunksPerTicket=25
# The default maximum ticket count for a mod which does not have an override
# in this file. This is the number of chunk loading requests a mod is allowed to make.
I:maximumTicketCount=200
# The number of tickets a player can be assigned instead of a mod. This is shared across all mods and it is up to the mods to use it.
I:playerTicketCount=500
# Unloaded chunks can first be kept in a dormant cache for quicker
# loading times. Specify the size (in chunks) of that cache here
I:dormantChunkCacheSize=0
}
##########################################################################################################
# forge
#--------------------------------------------------------------------------------------------------------#
# Sample mod specific control section.
# Copy this section and rename the with the modid for the mod you wish to override.
# A value of zero in either entry effectively disables any chunkloading capabilities
# for that mod
##########################################################################################################
forge {
# Maximum chunks per ticket for the mod.
I:maximumChunksPerTicket=25
# Maximum ticket count for the mod. Zero disables chunkloading capabilities.
I:maximumTicketCount=200
}

View File

@@ -0,0 +1,18 @@
#Splash screen properties
#Mon Dec 26 21:22:51 EST 2016
logoTexture=textures/gui/title/mojang.png
background=0xFFFFFF
memoryGood=0x78CB34
font=0x0
barBackground=0xFFFFFF
barBorder=0xC0C0C0
memoryLow=0xE42F2F
rotate=false
memoryWarn=0xE6E84A
showMemory=true
enabled=false
bar=0xCB3D35
resourcePackPath=resources
logoOffset=0
forgeTexture=fml\:textures/gui/forge.png
fontTexture=textures/font/ascii.png

View File

@@ -1,5 +1,59 @@
Changelog:
Build 2189:
Build 2199:
tehgeek: Fix #3561 import io.IOUtils instead of compress.utils.IOUtils (#3562)
Build 1.11-13.19.1.2198:
tehgeek: Update MCP mappings to snapshot_nodoc_20161220 (#3551)
Build 1.11-13.19.1.2197:
bs2609: [1.11] Fixes for Chunk.getBlockLightOpacity implementation (#3537)
tehgeek:
Fix some resources that are never closed, close in a finally block
(#3544)
tehgeek:
Add hook to allow any block to respond to filtered block updates like
the Observer block (#3547)
tehgeek: Add nullable annotations to IGuiHandler (#3550)
tehgeek: Properly deobfuscate lambda expressions (#3552)
Build 1.11-13.19.1.2196:
JDLogic:
[1.11] Fix ItemHandlerHelper canStack and ItemStack areTagsEqual methods
not checking capabilities (#3500)
Build 1.11-13.19.1.2195:
tehgeek:
Make NBSP character display as a space. MC-2595 (#3522)
Add easy getter for the Locale: MinecraftForgeClient.getLocale()
Build 1.11-13.19.1.2194:
bs2609:
Patch EntityPlayerSP to use location-aware version of isNormalCube
(#3494)
tehgeek:
Fix uses of uppercase "Forge" where it fails Loader.isModLoaded(modID)
(#3513)
maxanier: [1.11] Made WalkNodeProcessor consider burning blocks (#3515)
tehgeek: Fix setting the world in TileEntity.addTileEntity (#2863) (#3517)
dawn0966:
Added Oak door to Ore Dictionary Exclusion list to fix able to craft it
with any wood type (#3519)
Build 1.11-13.19.1.2193:
whs1999kr: reset repo to upstream and reapplied patches (#3434)
tehgeek: [1.11] Add memory display to loading screen (#3447)
Build 1.11-13.19.1.2192:
rock: [1.11] Added EnchantmentLevelSetEvent (#3433)
Build 1.11-13.19.1.2191:
minecrell: Register Minecraft mod container in FML loader (#3414)
Build 1.11-13.19.1.2190:
LexManos: Fix modid field name for ProjectInjector.
LexManos: Small memory optimization in Registries.
Build 1.11-13.19.1.2189:
LexManos:
Enable Enforcement of modid formatting. Must be lowercase and <= 64
characters

Binary file not shown.

262
1.11/logs/fml-client-1.log Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
[21:21:49] [main/INFO] [GradleStart]: Extra: []
[21:21:49] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, /Users/mminaie/.gradle/caches/minecraft/assets, --assetIndex, 1.11, --accessToken{REDACTED}, --version, 1.11, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:21:49] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:21:49] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:21:49] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:21:49] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[21:22:41] [main/INFO] [GradleStart]: Extra: []
[21:22:41] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, /Users/mminaie/.gradle/caches/minecraft/assets, --assetIndex, 1.11, --accessToken{REDACTED}, --version, 1.11, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[21:22:41] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:22:41] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[21:22:41] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[21:22:41] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker

125
1.11/logs/latest.log Normal file
View File

@@ -0,0 +1,125 @@
[21:22:48] [Client thread/INFO]: Setting user: Player57
[21:22:51] [Client thread/INFO]: LWJGL Version: 2.9.2
[21:22:54] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[21:22:55] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:122) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.init(Minecraft.java:483) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:385) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[21:22:55] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:22:55] [Thread-6/INFO]: Initializing LWJGL OpenAL
[21:22:55] [Thread-6/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[21:22:55] [Thread-6/INFO]: OpenAL initialized.
[21:22:56] [Sound Library Loader/INFO]: Sound engine started
[21:22:57] [Client thread/INFO]: Created: 16x16 textures-atlas
[21:22:59] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Kitsu's Forgecraft
[21:23:00] [Client thread/WARN]: Invalid sounds.json
java.lang.NullPointerException
at net.minecraft.client.audio.SoundHandler.onResourceManagerReload(SoundHandler.java:79) [SoundHandler.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:798) [Minecraft.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:357) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:385) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) [idea_rt.jar:?]
[21:23:00] [Client thread/INFO]: SoundSystem shutting down...
[21:23:00] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[21:23:00] [Sound Library Loader/INFO]: Starting up SoundSystem...
[21:23:00] [Thread-8/INFO]: Initializing LWJGL OpenAL
[21:23:00] [Thread-8/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
[21:23:00] [Thread-8/INFO]: OpenAL initialized.
[21:23:00] [Sound Library Loader/INFO]: Sound engine started
[21:23:01] [Client thread/INFO]: Created: 512x512 textures-atlas
[21:23:03] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[21:23:19] [Server thread/INFO]: Starting integrated minecraft server version 1.11
[21:23:19] [Server thread/INFO]: Generating keypair
[21:23:20] [Server thread/INFO]: Preparing start region for level 0
[21:23:21] [Server thread/INFO]: Changing view distance to 12, from 10
[21:23:22] [Server thread/INFO]: Player57[local:E:fb539682] logged in with entity id 0 at (1462.5, 4.0, -834.5)
[21:23:22] [Server thread/INFO]: Player57 joined the game
[21:23:23] [Server thread/INFO]: Saving and pausing game...
[21:23:23] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[21:23:23] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[21:23:23] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[21:23:23] [pool-2-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@2365a32c[id=503b4b59-0d6c-31d1-9440-529de2c14614,name=Player57,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:60) [YggdrasilMinecraftSessionService$1.class:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:57) [YggdrasilMinecraftSessionService$1.class:?]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3054) [Minecraft.class:?]
at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
[21:23:26] [Server thread/INFO]: Saving and pausing game...
[21:23:26] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[21:23:26] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[21:23:26] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[21:23:31] [Server thread/INFO]: Changing difficulty to PEACEFUL, from NORMAL
[21:24:22] [Server thread/INFO]: Player57 has just earned the achievement [Taking Inventory]
[21:24:22] [Client thread/INFO]: [CHAT] Player57 has just earned the achievement [Taking Inventory]
[21:25:32] [Server thread/INFO]: Saving and pausing game...
[21:25:32] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[21:25:32] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[21:25:32] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[21:25:33] [Server thread/INFO]: Stopping server
[21:25:33] [Server thread/INFO]: Saving players
[21:25:33] [Server thread/INFO]: Player57 lost connection: TextComponent{text='Disconnected', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
[21:25:33] [Server thread/INFO]: Player57 left the game
[21:25:33] [Server thread/INFO]: Stopping singleplayer server as player logged out
[21:25:33] [Server thread/INFO]: Saving worlds
[21:25:33] [Server thread/INFO]: Saving chunks for level 'Test'/Overworld
[21:25:33] [Server thread/INFO]: Saving chunks for level 'Test'/Nether
[21:25:33] [Server thread/INFO]: Saving chunks for level 'Test'/The End
[21:25:34] [Client thread/INFO]: Stopping!
[21:25:34] [Client thread/INFO]: SoundSystem shutting down...
[21:25:34] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

100
1.11/options.txt Normal file
View File

@@ -0,0 +1,100 @@
version:819
invertYMouse:false
mouseSensitivity:0.5
fov:0.0
gamma:0.0
saturation:0.0
renderDistance:12
guiScale:0
particles:0
bobView:true
anaglyph3d:false
maxFps:120
fboEnable:true
difficulty:2
fancyGraphics:true
ao:2
renderClouds:true
resourcePacks:[]
incompatibleResourcePacks:[]
lastServer:
lang:en_us
chatVisibility:0
chatColors:true
chatLinks:true
chatLinksPrompt:true
chatOpacity:1.0
snooperEnabled:true
fullscreen:false
enableVsync:true
useVbo:true
hideServerAddress:false
advancedItemTooltips:false
pauseOnLostFocus:true
touchscreen:false
overrideWidth:0
overrideHeight:0
heldItemTooltips:true
chatHeightFocused:1.0
chatHeightUnfocused:0.44366196
chatScale:1.0
chatWidth:1.0
showInventoryAchievementHint:false
mipmapLevels:4
forceUnicodeFont:false
reducedDebugInfo:false
useNativeTransport:true
entityShadows:true
mainHand:right
attackIndicator:1
showSubtitles:false
realmsNotifications:true
enableWeakAttacks:false
autoJump:true
key_key.attack:-100
key_key.use:-99
key_key.forward:17
key_key.left:30
key_key.back:31
key_key.right:32
key_key.jump:57
key_key.sneak:42
key_key.sprint:29
key_key.drop:16
key_key.inventory:18
key_key.chat:20
key_key.playerlist:15
key_key.pickItem:-98
key_key.command:53
key_key.screenshot:60
key_key.togglePerspective:63
key_key.smoothCamera:0
key_key.fullscreen:87
key_key.spectatorOutlines:0
key_key.swapHands:33
key_key.hotbar.1:2
key_key.hotbar.2:3
key_key.hotbar.3:4
key_key.hotbar.4:5
key_key.hotbar.5:6
key_key.hotbar.6:7
key_key.hotbar.7:8
key_key.hotbar.8:9
key_key.hotbar.9:10
soundCategory_master:1.0
soundCategory_music:1.0
soundCategory_record:1.0
soundCategory_weather:1.0
soundCategory_block:1.0
soundCategory_hostile:1.0
soundCategory_neutral:1.0
soundCategory_player:1.0
soundCategory_ambient:1.0
soundCategory_voice:1.0
modelPart_cape:true
modelPart_jacket:true
modelPart_left_sleeve:true
modelPart_right_sleeve:true
modelPart_left_pants_leg:true
modelPart_right_pants_leg:true
modelPart_hat:true

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
1.11/saves/Test/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
1.11/saves/Test/level.dat Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
{"stat.walkOneCm":3158,"stat.jump":6,"stat.playOneMinute":2486,"achievement.openInventory":3,"stat.leaveGame":1,"stat.sneakTime":8,"stat.furnaceInteraction":2,"stat.timeSinceDeath":2486,"stat.useItem.minecraft.stone_slab2":5,"achievement.exploreAllBiomes":{"value":0,"progress":["Plains"]}}

BIN
1.11/src/.DS_Store vendored Normal file

Binary file not shown.

BIN
1.11/src/main/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -2,9 +2,13 @@ package nmd.primal.forgecraft;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.*;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.fml.common.registry.GameRegistry;
/**
@@ -38,4 +42,14 @@ public class CommonUtils {
if (item == Items.BLAZE_POWDER) return 800;
return GameRegistry.getFuelValue(stack);
}
public static void spawnItemEntity(World world, EntityPlayer player, ItemStack stack)
{
EntityItem entityitem = new EntityItem(world, player.posX, player.posY, player.posZ, stack); // player.posY - 1.0D
world.spawnEntity(entityitem);
if (!(player instanceof FakePlayer))
entityitem.onCollideWithPlayer(player);
}
}

View File

@@ -2,6 +2,7 @@ package nmd.primal.forgecraft;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.client.config.GuiConfigEntries;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.relauncher.Side;
@@ -21,7 +22,7 @@ public class ModInfo {
//public static final String MOD_PREFIX = MOD_ID + ":";
//public static final String MOD_CHANNEL = MOD_ID;
public static final String MOD_VERSION = "1.0.1";
public static final String MC_VERSIONS = "[1.9.4, 1.11.0)";
public static final String MC_VERSIONS = "[1.9.4, 1.11.2)";
/** Mod Structures **/
public static final String SERVER_PROXY = "nmd.primal.forgecraft.proxy.ServerProxy";
@@ -74,8 +75,23 @@ public class ModInfo {
{
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem() {
return Item.getItemFromBlock(ModBlocks.firebox);
public ItemStack getTabIconItem() {
return new ItemStack(ModBlocks.firebox);
}
};
/*
public static CreativeTabs TAB_PRIMAL = new CreativeTabs(MOD_ID)
{
@Override
@SideOnly(Side.CLIENT)
public ItemStack getTabIconItem() {
return new ItemStack(PrimalItems.FLINT_HATCHET);
}
};
*/
}

View File

@@ -59,7 +59,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
if (!world.isRemote)
{
@@ -68,7 +68,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
{
ItemStack playerStack = player.getHeldItemMainhand();
Item playerItem;
ItemStack tileStack = tile.getStackInSlot(0);
ItemStack tileStack = tile.getSlotStack(0);
if(playerStack != null){
playerItem = playerStack.getItem();
@@ -86,13 +86,13 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
}
}
if(tile.getStackInSlot(0)!=null){
if(tile.getSlotStack(0)!=ItemStack.EMPTY){
if(CommonUtils.getVanillaItemBurnTime(playerStack) > 0) {
if (tileStack.getItem() == playerItem && tileStack.getItemDamage() == playerStack.getItemDamage()) {
//tile.setInventorySlotContents(0, playerStack);
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.stackSize + 1, tileStack.getItemDamage());
if(tileStack.stackSize < 64) {
tile.setInventorySlotContents(0, tempStack);
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.getCount() + 1, tileStack.getItemDamage());
if(tileStack.getCount() < 64) {
tile.setSlotStack(0, tempStack);
player.inventory.decrStackSize(player.inventory.currentItem, 1);
//player.setHeldItem(EnumHand.MAIN_HAND, null);
tile.markDirty();
@@ -101,11 +101,11 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
}
}
if(tile.getStackInSlot(0)==null){
if(tile.getSlotStack(0)==ItemStack.EMPTY){
if(CommonUtils.getVanillaItemBurnTime(playerStack) > 0) {
if (playerItem != Items.FLINT_AND_STEEL || playerItem != Item.getItemFromBlock(Blocks.TORCH)) {
tile.setInventorySlotContents(0, playerStack);
player.setHeldItem(EnumHand.MAIN_HAND, null);
tile.setSlotStack(0, playerStack);
player.setHeldItem(EnumHand.MAIN_HAND, ItemStack.EMPTY);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
@@ -115,13 +115,13 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
if(tileStack != null && playerStack == null && player.isSneaking()){
if(state.getValue(ACTIVE)==true){
world.setBlockState(pos, state.withProperty(ACTIVE, false), 2);
ItemStack returnStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1);
ItemStack returnStack = new ItemStack(tileStack.getItem(), tileStack.getCount() - 1);
player.setHeldItem(EnumHand.MAIN_HAND, returnStack);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
} else {
player.setHeldItem(EnumHand.MAIN_HAND, tileStack);
tile.setInventorySlotContents(0, null);
tile.setSlotStack(0, ItemStack.EMPTY);
tile.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
}
@@ -133,9 +133,10 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
if(playerStack == null) {
if (tileStack != null) {
ItemStack tempStack1 = new ItemStack(tileStack.getItem(), 1, tileStack.getItemDamage());
ItemStack resetStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1, tileStack.getItemDamage());
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setInventorySlotContents(0,resetStack);
ItemStack resetStack = new ItemStack(tileStack.getItem(), tileStack.getCount() - 1, tileStack.getItemDamage());
CommonUtils.spawnItemEntity(world, player, tempStack1);
//world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setSlotStack(0,resetStack);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
@@ -146,57 +147,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
}
public void onBlockClicked(World world, BlockPos pos, EntityPlayer player) {
/*if(!world.isRemote){
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
IBlockState state = world.getBlockState(pos);
if (tile != null) {
ItemStack playerStack = player.getHeldItemMainhand();
Item playerItem;
ItemStack tileStack = tile.getStackInSlot(0);
if (!player.isSneaking()) {
if( tileStack !=null) {
if (playerStack == null) {
ItemStack tempStack1 = tileStack;
ItemStack tempStack2 = tileStack;
tempStack1.stackSize = 1;
tempStack2.stackSize = tileStack.stackSize - 1;
System.out.println(tileStack.stackSize + "|" + "|" + tempStack2.stackSize);
//int tileSize = tile.decrStackSize()
//ItemStack tempReset = new ItemStack(tileStack.getItem(), tileSize - 1, tileStack.getItemDamage());
//System.out.println(tileSize + "|" + tempReset.stackSize);
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack1));
tile.setInventorySlotContents(0, tempStack2);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN THE WHOLE STACK
if (playerStack == null && player.isSneaking()) {
if (tileStack != null) {
if(state.getValue(ACTIVE)) {
ItemStack tempStack = new ItemStack(tileStack.getItem(), tileStack.stackSize - 1, tileStack.getItemDamage());
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tempStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
} else {
world.spawnEntityInWorld(new EntityItem(world, player.posX, player.posY, player.posZ, tileStack));
tile.setInventorySlotContents(0, null);
world.notifyBlockUpdate(pos, state, state, 2);
}
}
}
//RETURN 1
}
}*/
}
@Override
@@ -225,7 +176,7 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
{
if(!world.isRemote){
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
if(tile.getStackInSlot(0) != null){
if(tile.getSlotStack(0) != ItemStack.EMPTY){
if(world.getBlockState(pos).getValue(ACTIVE)==true){
return true;
}
@@ -239,34 +190,34 @@ public class Firebox extends CustomContainerFacing implements ITileEntityProvide
* Called serverside after this block is replaced with another in Chunk, but before the Tile Entity is updated
*/
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
public void breakBlock(World world, BlockPos pos, IBlockState state)
{
if (!worldIn.isRemote && worldIn.getGameRules().getBoolean("doTileDrops"))
if (!world.isRemote && world.getGameRules().getBoolean("doTileDrops"))
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileFirebox)
TileFirebox tile = (TileFirebox) world.getTileEntity(pos);
if (tile !=null)
{
InventoryHelper.dropInventoryItems(worldIn, pos, (TileFirebox)tileentity);
worldIn.updateComparatorOutputLevel(pos, this);
for (ItemStack stack : tile.getSlotList())
{
if (stack != null) {
float offset = 0.7F;
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetY = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetZ = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
EntityItem item = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
item.setDefaultPickupDelay();
world.spawnEntity(item);
}
}
}
}
super.breakBlock(worldIn, pos, state);
}
@Override
public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
IBlockState state = super.onBlockPlaced(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer);
return state.withProperty(FACING, placer.getHorizontalFacing()).withProperty(ACTIVE, Boolean.valueOf(false));
super.breakBlock(world, pos, state);
}
@Override
public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack){
if (stack.hasDisplayName()){
((TileFirebox) world.getTileEntity(pos)).setCustomName(stack.getDisplayName());
}
System.out.println(state.getBlock().getMetaFromState(state));
}
@Override

View File

@@ -83,19 +83,19 @@ public class TileFireboxRender extends TileEntitySpecialRenderer<TileFirebox>
int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
ItemStack stack = tile.getStackInSlot(0);
ItemStack stack = tile.getSlotStack(0);
if (stack != null) {
boolean is_block = stack.getItem() instanceof ItemBlock;
float height = -0.75f;
float scale = is_block ? 0.9F : 1.6F;
int stackSize = stack.stackSize;
int stackSize = stack.getCount();
GL11.glPushMatrix();
GL11.glTranslatef(translateX, height, translateZ);
GL11.glScalef(scale, scale, scale);
GL11.glRotatef(90.0F * rotation, 0.0F, 1.0F, 0.0F);
Integer temp = tile.getStackInSlot(0).stackSize;
Integer temp = tile.getSlotStack(0).getCount();
renderItem.renderItem(stack, renderItem.getItemModelMesher().getItemModel(stack));
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);

View File

@@ -3,13 +3,14 @@ package nmd.primal.forgecraft.tiles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityLockable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
/**
* Created by kitsu on 12/3/2016.
*/
public abstract class BaseTile extends TileEntity{
public abstract class BaseTile extends TileEntity {
@Override
public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newSate)
@@ -17,6 +18,16 @@ public abstract class BaseTile extends TileEntity{
return oldState.getBlock() != newSate.getBlock();
}
public void updateBlock()
{
// might be good
//this.markDirty();
World world = this.getWorld();
IBlockState state = world.getBlockState(this.pos);
world.notifyBlockUpdate(this.pos, state, state, 3);
}
@Override
public void readFromNBT(NBTTagCompound nbt)
{

View File

@@ -0,0 +1,97 @@
package nmd.primal.forgecraft.tiles;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
/**
* Created by mminaie on 12/25/16.
*/
public abstract class TileBaseSlot extends BaseTile {
private NonNullList<ItemStack> slotList = NonNullList.<ItemStack>withSize(4, ItemStack.EMPTY);
// ***************************************************************************** //
// Controls
// ***************************************************************************** //
// ***************************************************************************** //
// get
//
public NonNullList<ItemStack> getSlotList()
{
return this.slotList;
}
public ItemStack getSlotStack(int i)
{
return this.slotList.get(i);
}
public int getSlotListSize()
{
return slotList.size();
}
public int getSlotLimit()
{
//return ((ShelfBasic)this.getBlockType()).getShelfSize();
//return 1;
return 64;
}
public ItemStack decrStackSize(int index, int count)
{
return ItemStackHelper.getAndSplit(this.getSlotList(), index, count);
}
// ***************************************************************************** //
// set
//
public void setSlotStack(int index, ItemStack stack)
{
this.slotList.set(index, stack);
this.markDirty();
this.updateBlock();
}
public void clearSlots()
{
this.slotList.clear();
}
/**
public boolean replaceStack(int index, ItemStack stack)
{
if (stack != null && stack.getCount() <= this.getSlotLimit()) {
this.setSlotStack(index, stack);
return true;
}
return false;
} **/
// ***************************************************************************** //
// NBT
// ***************************************************************************** //
@Override
public NBTTagCompound readNBT(NBTTagCompound nbt)
{
//super.readNBT(nbt);
this.slotList = NonNullList.<ItemStack>withSize(this.getSlotListSize(), ItemStack.EMPTY);
ItemStackHelper.loadAllItems(nbt, this.slotList);
return nbt;
}
@Override
public NBTTagCompound writeNBT(NBTTagCompound nbt)
{
//super.writeNBT(nbt);
ItemStackHelper.saveAllItems(nbt, this.slotList);
return nbt;
}
}

View File

@@ -9,6 +9,8 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
@@ -19,6 +21,7 @@ import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILockableContainer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants;
import nmd.primal.forgecraft.CommonUtils;
@@ -33,19 +36,15 @@ import static nmd.primal.forgecraft.CommonUtils.getVanillaItemBurnTime;
/**
* Created by mminaie on 11/30/16.
*/
public class TileFirebox extends BaseTile implements IInventory, ITickable {
public class TileFirebox extends TileBaseSlot implements ITickable {
private ItemStack[] inventory = new ItemStack [0];
private String customName;
private int iteration = 0;
public TileFirebox() {
this.inventory = new ItemStack[this.getSizeInventory()];
}
@Override
public void update () {
if(!worldObj.isRemote){
if(!world.isRemote){
World world = this.getWorld();
this.iteration ++;
if(this.iteration == 200 ) {
@@ -54,14 +53,14 @@ public class TileFirebox extends BaseTile implements IInventory, ITickable {
IBlockState state = world.getBlockState(this.pos);
BlockPos abovePos = new BlockPos(this.getPos().getX(), this.getPos().getY()+1, this.getPos().getZ());
IBlockState aboveState = world.getBlockState(abovePos);
if (worldObj.getBlockState(this.getPos()).getValue(Firebox.ACTIVE)) {
if (this.getStackInSlot(0) == null) {
worldObj.setBlockState(this.getPos(), state.withProperty(Firebox.ACTIVE, false), 2);
if (world.getBlockState(this.getPos()).getValue(Firebox.ACTIVE)) {
if (this.getSlotStack(0) == ItemStack.EMPTY) {
world.setBlockState(this.getPos(), state.withProperty(Firebox.ACTIVE, false), 2);
this.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
} else {
if(this.getStackInSlot(0) != null) {
if (worldObj.rand.nextInt((int) Math.floor(getVanillaItemBurnTime(this.getStackInSlot(0)) / 20)) == 0) {
if(this.getSlotStack(0) != ItemStack.EMPTY) {
if (world.rand.nextInt((int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 20)) == 0) {
this.decrStackSize(0, 1);
this.markDirty();
world.notifyBlockUpdate(pos, state, state, 2);
@@ -86,206 +85,18 @@ public class TileFirebox extends BaseTile implements IInventory, ITickable {
}
}
/*if (worldObj.isRemote){
World world = this.getWorld();
if(this.getStackInSlot(0)!=null){
renderItem = new EntityItem(world, this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(), this.getStackInSlot(0));
}
}*/
}
public String getCustomName() {
return customName;
}
public void setCustomName (String customName){
this.customName = customName;
}
@Override
public String getName(){
//if custName is true return this.customName if false return --v
// ? means if true : means if false
return this.hasCustomName() ? this.customName : "container.firebox";
}
@Override
public boolean hasCustomName() {
return this.customName != null && !this.customName.equals("");
}
public int getSizeInventory() {
public int getSlotLimit() {
return 1;
}
@Override
public ItemStack getStackInSlot(int index) {
if (index < 0 || index >= this.getSizeInventory())
return null;
return this.inventory[index];
}
@Override
public ItemStack decrStackSize(int index, int count) {
if (this.getStackInSlot(index) != null) {
ItemStack itemstack;
if (this.getStackInSlot(index).stackSize <= count) {
itemstack = this.getStackInSlot(index);
this.setInventorySlotContents(index, null);
this.markDirty();
return itemstack;
} else {
itemstack = this.getStackInSlot(index).splitStack(count);
if (this.getStackInSlot(index).stackSize <= 0) {
this.setInventorySlotContents(index, null);
} else {
//Just to show that changes happened
this.setInventorySlotContents(index, this.getStackInSlot(index));
}
this.markDirty();
return itemstack;
}
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int index, ItemStack stack) {
if (index < 0 || index >= this.getSizeInventory()) {
return;
}
if (stack != null && stack.stackSize > this.getInventoryStackLimit()) {
stack.stackSize = this.getInventoryStackLimit();
}
if (stack != null && stack.stackSize == 0) {
stack = null;
}
this.inventory[index] = stack;
this.markDirty();
World world = this.getWorld();
IBlockState state = world.getBlockState(this.pos);
world.notifyBlockUpdate(this.pos, state, state, 3);
}
@Override
public ItemStack removeStackFromSlot(int index) {
ItemStack stack = this.getStackInSlot(index);
this.setInventorySlotContents(index, null);
ItemStack stack = this.getSlotStack(index);
this.setSlotStack(index, ItemStack.EMPTY);
return stack;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player){
return this.worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.pos.add(0.5, 0.5, 0.5f)) <= 64;
}
@Override
public void openInventory(EntityPlayer player) {
}
public void closeInventory(EntityPlayer player){
}
@Override
public boolean isItemValidForSlot(int index, ItemStack stack) {
return true;
}
public int getField(int id) {
return 0;
}
@Override
public void setField(int id, int value) {
}
@Override
public int getFieldCount() {
return 0;
}
@Override
public void clear() {
for(int i = 0; i < this.getSizeInventory(); i++){
this.setInventorySlotContents(i, null);
}
}
// ***************************************************************************** //
// NBT
// ***************************************************************************** //
@Override
public NBTTagCompound readNBT(NBTTagCompound nbt)
{
NBTTagList list = nbt.getTagList("Items", Constants.NBT.TAG_COMPOUND);
inventory = new ItemStack[this.getSizeInventory()];
for (int i = 0; i < list.tagCount(); ++i)
{
NBTTagCompound tag = list.getCompoundTagAt(i);
this.inventory[tag.getByte("slot")] = ItemStack.loadItemStackFromNBT(tag);
}
if (nbt.hasKey("CustomName", 8)) {
this.setCustomName(nbt.getString("CustomName"));
}
return nbt;
}
@Override
public NBTTagCompound writeNBT(NBTTagCompound nbt)
{
NBTTagList list = new NBTTagList();
///
// RackMatrix
///
for (int i = 0; i < this.getSizeInventory(); ++i)
{
if (inventory[i] != null) {
NBTTagCompound tag = new NBTTagCompound();
tag.setByte("slot", (byte) i);
inventory[i].writeToNBT(tag);
list.appendTag(tag);
}
}
nbt.setTag("Items", list);
return nbt;
}
@Override
public NBTTagCompound getUpdateTag()
{
return writeToNBT(new NBTTagCompound());
}
@Override
public SPacketUpdateTileEntity getUpdatePacket() {
return new SPacketUpdateTileEntity(this.pos, 0, this.writeToNBT(new NBTTagCompound()));
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) {
this.readFromNBT(packet.getNbtCompound());
}
}

BIN
1.11/src/main/resources/.DS_Store vendored Normal file

Binary file not shown.

BIN
1.11/src/main/resources/assets/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
1.11/usercache.json Normal file
View File

@@ -0,0 +1 @@
[{"name":"Player57","uuid":"503b4b59-0d6c-31d1-9440-529de2c14614","expiresOn":"2017-01-26 21:23:22 -0500"}]

3
1.11/usernamecache.json Normal file
View File

@@ -0,0 +1,3 @@
{
"503b4b59-0d6c-31d1-9440-529de2c14614": "Player57"
}

81
Primal Normal file
View File

@@ -0,0 +1,81 @@
Primal
To-Do
- Models for ForgeCraft
- Axe Mechanics for stripped logs
- half logs (Slabs?)
- Quarter split logs
- Add quarter split logs, stripped logs and half logs to Fuel Dictionary
ForgeCraft Process
break ore into raw iron chunks
Crucibles are preheated
Crucible is loaded with raw ore type and supporting minerals (sand, glass etc.)
Crucible is instered into hot Forge
Heat is managed carefully per ore type
when ore specific heat time is reached the crucible is removed from the forge
each ore type has a different curing process.
for example copper can be allowed to cool quickly where-as crucible steel most be cooled slowly
after the crucible has cooled the crucible lid is broken returning the crucible only
the ingot can be of poor, average, or excellent quality
(How can a player test the quality of their ingot?)
The ingot is oreDict compatible
The ingot is heated in an appropriate temperte forge
the heating ingot is placed on an anvil and hammered slowly into shape.
It takes the space of one slot and is slowly formed through hammering into another slot. Taking up both slots in the process.
8 angles total
Every time the ingot shape is changed it will turn into a new block or block state. Until finally it takes the intended shape.
After the intended shape is taken a polishing step is completed
After polishing the steel is heated again and then put into a type cooling solution, water or oil. Poor Ingots have a higher tendency to crack at this point rendering the tool worthless and only capabling of being recast into an ingot.
after the metal is succesfully cooled it can be crafted into its respective weapon or tool.
Probably best to break down how each metal is made and derive shared processes from them.

BIN
crucible_closedv1.cubik Normal file

Binary file not shown.

BIN
cruciblev1.cubik Normal file

Binary file not shown.

BIN
raw_crucible.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B