1
0
mirror of https://github.com/chylex/Hardcore-Ender-Expansion-2.git synced 2025-09-16 08:24:48 +02:00

1 Commits
wip4 ... wip

Author SHA1 Message Date
d1496087de SHELF 2020-01-23 05:12:08 +01:00
1998 changed files with 21317 additions and 39392 deletions

1
.gitattributes vendored
View File

@@ -1 +0,0 @@
* text=auto eol=lf

25
.gitignore vendored
View File

@@ -4,17 +4,12 @@ out
*.iws *.iws
*.iml *.iml
.idea/* .idea/gradle.xml
!.idea/inspectionProfiles .idea/tasks.xml
!.idea/codeInsightSettings.xml .idea/workspace.xml
!.idea/compiler.xml
!.idea/encodings.xml .idea/codeStyles
!.idea/gradle.xml .idea/libraries
!.idea/jsLibraryMappings.xml
!.idea/kotlinc.xml
!.idea/statistic.xml
!.idea/vcs.xml
!.idea/shelf
# eclipse # eclipse
bin bin
@@ -31,11 +26,3 @@ build
# game # game
run/* run/*
!run/*.ps1 !run/*.ps1
!run/eula.txt
!run/mods
run/mods/*
!run/mods/CustomWindowTitle-*
!run/mods/FixAltGr.jar
!run/config
run/config/*
!run/config/customwindowtitle-client.toml

View File

@@ -14,7 +14,6 @@
<name>javax.swing</name> <name>javax.swing</name>
<name>javax.xml</name> <name>javax.xml</name>
<name>jdk.internal</name> <name>jdk.internal</name>
<name>kotlin.random.Random</name>
<name>net.java.games.input.Component.Identifier.Key</name> <name>net.java.games.input.Component.Identifier.Key</name>
<name>net.minecraft.init.Blocks</name> <name>net.minecraft.init.Blocks</name>
<name>net.minecraft.init.Items</name> <name>net.minecraft.init.Items</name>

6
.idea/compiler.xml generated
View File

@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" /> <bytecodeTargetLevel target="1.8">
<module name="Hardcore-Ender-Expansion-2.api" target="1.8" />
<module name="Hardcore-Ender-Expansion-2.main" target="1.8" />
<module name="Hardcore-Ender-Expansion-2.test" target="1.8" />
</bytecodeTargetLevel>
</component> </component>
</project> </project>

21
.idea/gradle.xml generated
View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="delegatedBuild" value="true" />
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/data" />
<option value="$PROJECT_DIR$/src/system" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@@ -1,462 +0,0 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project" />
<inspection_tool class="AccessToNonThreadSafeStaticFieldFromInstance" enabled="true" level="WARNING" enabled_by_default="true">
<option name="nonThreadSafeClasses">
<value />
</option>
<option name="nonThreadSafeTypes" value="" />
</inspection_tool>
<inspection_tool class="AccessToStaticFieldLockedOnInstance" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AddOperatorModifier" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="AmbiguousFieldAccess" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AmbiguousMethodCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AnonymousInnerClassMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ArrayEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssertEqualsCalledOnArray" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssertsWithoutMessagesTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentOrReturnOfFieldWithMutableType" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToCatchBlockParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToLambdaParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToMethodParameter" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreTransformationOfOriginalParameter" value="true" />
</inspection_tool>
<inspection_tool class="AssignmentToStaticFieldFromInstanceMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentUsedAsCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AutoBoxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAddedToCollection" value="false" />
</inspection_tool>
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AutoUnboxing" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AwaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AwaitWithoutCorrespondingSignal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BadOddness" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BigDecimalEquals" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BigDecimalLegacyMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BooleanExpressionMayBeConditional" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CallToNativeMethodWhileLocked" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CascadeIf" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="CastConflictsWithInstanceof" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CastToIncompatibleInterface" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ChainedEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ChannelResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="ClassLoaderInstantiation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassMayBeInterface" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="reportClassesWithNonAbstractMethods" value="true" />
</inspection_tool>
<inspection_tool class="ClassName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="[A-Z][_A-Za-z\d]*" />
</inspection_tool>
<inspection_tool class="ClassNameDiffersFromFileName" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassNewInstance" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassWithOnlyPrivateConstructors" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CloneableClassInSecureContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CollectionContainsUrl" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CollectionsFieldAccessReplaceableByMethodCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ComparableImplementedButEqualsNotOverridden" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ComparatorNotSerializable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CompareToUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConditionSignal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConditionalExpression" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="ignoreSimpleAssignmentsAndReturns" value="true" />
</inspection_tool>
<inspection_tool class="ConfusingElse" enabled="false" level="WEAK WARNING" enabled_by_default="false">
<option name="reportWhenNoStatementFollow" value="true" />
</inspection_tool>
<inspection_tool class="ConfusingFloatingPointLiteral" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConfusingMainMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConfusingOctalEscape" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantConditions" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="Mixins" level="INFORMATION" enabled="true">
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
</scope>
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
</inspection_tool>
<inspection_tool class="ConstantJUnitAssertArgument" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantMathCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantTestNGAssertArgument" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ControlFlowStatementWithoutBraces" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertJavadoc" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertLambdaToReference" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertOldAnnotations" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CssReplaceWithShorthandUnsafely" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="CustomClassloader" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CustomSecurityManager" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CyclicClassDependency" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CyclicPackageDependency" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DateToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DefaultNotLastCaseInSwitch" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DoubleBraceInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DoubleCheckedLocking" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreOnVolatileVariables" value="false" />
</inspection_tool>
<inspection_tool class="DriverManagerGetConnection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DuplicateBooleanBranch" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ES6ConvertLetToConst" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertModuleExportToExport" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertRequireIntoImport" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertToForOf" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertVarToLetConst" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ShorthandObjectProperty" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="EmptyStatementBody" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_reportEmptyBlocks" value="true" />
<option name="commentsAreContent" value="true" />
</inspection_tool>
<inspection_tool class="EmptySynchronizedStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsCalledOnEnumConstant" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsHashCodeCalledOnUrl" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ErrorRethrown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExceptionNameDoesntEndWithException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExpectedExceptionNeverThrownTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExtendsThread" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExtendsThrowable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExternalizableWithSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FallthruInSwitchStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FieldAccessedSynchronizedAndUnsynchronized" enabled="true" level="WARNING" enabled_by_default="true">
<option name="countGettersAndSetters" value="false" />
</inspection_tool>
<inspection_tool class="FieldHidesSuperclassField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="false" />
<option name="ignoreStaticFields" value="false" />
</inspection_tool>
<inspection_tool class="FieldMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="Finalize" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreTrivialFinalizers" value="true" />
</inspection_tool>
<inspection_tool class="FinalizeNotProtected" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FloatingPointEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FoldInitializerAndIfToElvis" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="FunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="([A-Za-z][A-Za-z\d]*)|([A-Z][_A-Z\d]*)" />
</inspection_tool>
<inspection_tool class="HashCodeUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="HibernateResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="HtmlMissingClosingTag" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="IOResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredTypesString" value="java.io.ByteArrayOutputStream,java.io.ByteArrayInputStream,java.io.StringBufferInputStream,java.io.CharArrayWriter,java.io.CharArrayReader,java.io.StringWriter,java.io.StringReader" />
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="ImplicitDefaultCharsetUsage" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InconsistentLanguageLevel" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InconsistentLineSeparators" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InnerClassOnInterface" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInnerInterfaces" value="true" />
</inspection_tool>
<inspection_tool class="InnerClassReferencedViaSubclass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InnerClassVariableHidesOuterClassVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="false" />
</inspection_tool>
<inspection_tool class="InstanceofCatchParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InstanceofIncompatibleInterface" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InstanceofThis" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InterfaceMayBeAnnotatedFunctional" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="IteratorNextDoesNotThrowNoSuchElementException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCExecuteWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCPrepareStatementWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="JNDIResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="JSArrowFunctionBracesCanBeRemoved" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="JSEqualityComparisonWithCoercion" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSFunctionExpressionToArrowFunction" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JSLastCommaInArrayLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSLastCommaInObjectLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSNonASCIINames" enabled="true" level="WARNING" enabled_by_default="true">
<option name="myAllowOnlyAscii" value="true" />
</inspection_tool>
<inspection_tool class="JSOctalInteger" enabled="true" level="ERROR" enabled_by_default="true">
<option name="myReportNonStrictEs5" value="true" />
</inspection_tool>
<inspection_tool class="JSReferencingMutableVariableFromClosure" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSStringConcatenationToES6Template" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JSUndeclaredVariable" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="myCheckGlobalDefinitions" value="true" />
</inspection_tool>
<inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSUnresolvedFunction" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JSUnresolvedVariable" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="myStrictlyCheckProperties" value="false" />
</inspection_tool>
<inspection_tool class="JSUnusedGlobalSymbols" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myReportUnusedDefinitions" value="true" />
<option name="myReportUnusedProperties" value="true" />
</inspection_tool>
<inspection_tool class="JSValidateTypes" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JUnitDatapoint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JUnitRule" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JUnitTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JavadocHtmlLint" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="LambdaCanBeMethodCall" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="LengthOneStringInIndexOf" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="LengthOneStringsInConcatenation" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="LoadLibraryWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="LocalCanBeFinal" enabled="true" level="WARNING" enabled_by_default="true">
<option name="REPORT_VARIABLES" value="true" />
<option name="REPORT_PARAMETERS" value="true" />
</inspection_tool>
<inspection_tool class="MalformedSetUpTearDown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MapReplaceableByEnumMap" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="Mixins" level="INFORMATION" enabled="true">
<option name="m_onlyPrivateOrFinal" value="false" />
<option name="m_ignoreEmptyMethods" value="true" />
</scope>
<option name="m_onlyPrivateOrFinal" value="false" />
<option name="m_ignoreEmptyMethods" value="true" />
</inspection_tool>
<inspection_tool class="MethodMayBeSynchronized" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverloadsParentMethod" enabled="true" level="WARNING" enabled_by_default="true">
<option name="reportIncompatibleParameters" value="true" />
</inspection_tool>
<inspection_tool class="MethodOverridesInaccessibleMethodOfSuper" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverridesStaticMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisorderedAssertEqualsArgumentsTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisorderedAssertEqualsParameters" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreObjectMethods" value="false" />
<option name="ignoreAnonymousClassMethods" value="false" />
</inspection_tool>
<inspection_tool class="MissortedModifiers" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_requireAnnotationsFirst" value="true" />
</inspection_tool>
<inspection_tool class="MultipleTopLevelClassesInFile" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NakedNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NegatedConditional" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreNegatedNullComparison" value="true" />
</inspection_tool>
<inspection_tool class="NestedAssignment" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NestedSwitchStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NestedSynchronizedStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonAsciiCharacters" enabled="true" level="WARNING" enabled_by_default="true">
<option name="CHECK_FOR_FILES_CONTAINING_BOM" value="true" />
</inspection_tool>
<inspection_tool class="NonExceptionNameEndsWithException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalClone" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalFieldInEnum" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalFieldOfException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalUtilityClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonReproducibleMathCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableFieldInSerializableClass" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignorableAnnotations">
<value />
</option>
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="NonSerializableObjectBoundToHttpSession" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableObjectPassedToObjectStream" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableWithSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableWithSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonShortCircuitBoolean" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSynchronizedMethodOverridesSynchronizedMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonThreadSafeLazyInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NotifyCalledOnCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NotifyWithoutCorrespondingWait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NullThrown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NumericToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectInstantiationInEqualsHashCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObsoleteCollection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreRequiredObsoleteCollectionTypes" value="true" />
</inspection_tool>
<inspection_tool class="OctalAndDecimalIntegersMixed" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="OverloadedVarargsMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ParameterHidingMemberVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="true" />
<option name="m_ignoreStaticMethodParametersHidingInstanceFields" value="true" />
<option name="m_ignoreForConstructors" value="true" />
<option name="m_ignoreForPropertySetters" value="true" />
<option name="m_ignoreForAbstractMethods" value="false" />
</inspection_tool>
<inspection_tool class="ParameterizedParametersStaticCollection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ProblematicVarargsMethodOverride" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ProtectedMemberInFinalClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicFieldAccessedInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicStaticArrayField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicStaticCollectionField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadObjectAndWriteObjectPrivate" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadObjectInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadResolveAndWriteReplaceProtected" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RedundantImplements" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreSerializable" value="true" />
<option name="ignoreCloneable" value="true" />
</inspection_tool>
<inspection_tool class="RedundantSuppression" enabled="true" level="WARNING" enabled_by_default="true">
<option name="IGNORE_ALL" value="true" />
</inspection_tool>
<inspection_tool class="RegExpOctalEscape" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceAssignmentWithOperatorAssignment" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreLazyOperators" value="true" />
<option name="ignoreObscureOperators" value="true" />
</inspection_tool>
<inspection_tool class="ReplaceCollectionCountWithSize" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceGuardClauseWithFunctionCall" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithDropLast" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithIndexingOperation" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithSubstringAfter" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithSubstringBefore" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithTake" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ResultOfObjectAllocationIgnored" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ResultSetIndexZero" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReturnOfInnerClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RuntimeExec" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RuntimeExecWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SafeLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerialPersistentFieldsWithWrongSignature" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerialVersionUIDNotStaticFinal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerializableHasSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableHasSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableInnerClassHasSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableInnerClassWithNonSerializableOuterClass" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableStoresNonSerializable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerializableWithUnconstructableAncestor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SetReplaceableByEnumSet" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SharedThreadLocalRandom" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SignalWithoutCorrespondingAwait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SimpleDateFormatWithoutLocale" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SimplifiableAnnotation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SingleStatementInBlock" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SizeReplaceableByIsEmpty" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SleepWhileHoldingLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SocketResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="StringBufferToStringInConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationInFormatCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationInMessageFormatCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationMissingWhitespace" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringEqualsEmptyString" enabled="true" level="WARNING" enabled_by_default="true">
<option name="SUPPRESS_FOR_VALUES_WHICH_COULD_BE_NULL" value="true" />
</inspection_tool>
<inspection_tool class="StringReplaceableByStringBuffer" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyWarnOnLoop" value="true" />
</inspection_tool>
<inspection_tool class="StringToUpperWithoutLocale" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SubtractionInCompareTo" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousArrayCast" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousIndentAfterControlStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousLiteralUnderscore" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SwitchStatementWithConfusingDeclaration" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizationOnStaticField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizeOnLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizeOnThis" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizedMethod" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_includeNativeMethods" value="true" />
<option name="ignoreSynchronizedSuperMethods" value="true" />
</inspection_tool>
<inspection_tool class="SynchronizedOnLiteralObject" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemGC" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemGetenv" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemProperties" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemRunFinalizersOnExit" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemSetSecurityManager" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseInProductCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseWithConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseWithNoTestMethods" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreSupers" value="true" />
</inspection_tool>
<inspection_tool class="TestMethodInProductCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestMethodWithoutAssertion" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadLocalNotStaticFinal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadPriority" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadStartInConstruction" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadStopSuspendResume" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadYield" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThrowCaughtLocally" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreRethrownExceptions" value="true" />
</inspection_tool>
<inspection_tool class="TimeToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TransientFieldInNonSerializableClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TransientFieldNotInitialized" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TrivialStringConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnaryPlus" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnconditionalWait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UndeclaredTests" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessarilyQualifiedStaticUsage" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreStaticFieldAccesses" value="false" />
<option name="m_ignoreStaticMethodCalls" value="false" />
<option name="m_ignoreStaticAccessFromStaticContext" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessarilyQualifiedStaticallyImportedElement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryBoxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyReportSuperfluouslyBoxed" value="true" />
</inspection_tool>
<inspection_tool class="UnnecessaryConstantArrayCreationExpression" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryConstructor" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnnotations" value="true" />
</inspection_tool>
<inspection_tool class="UnnecessaryLocalVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreImmediatelyReturnedVariables" value="true" />
<option name="m_ignoreAnnotatedVariables" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryLocalVariableJS" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreImmediatelyReturnedVariables" value="true" />
<option name="m_ignoreAnnotatedVariables" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryParentheses" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="ignoreClarifyingParentheses" value="true" />
<option name="ignoreParenthesesOnConditionals" value="false" />
<option name="ignoreParenthesesOnLambdaParameter" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryToStringCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryUnaryMinus" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryUnboxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyReportSuperfluouslyUnboxed" value="true" />
</inspection_tool>
<inspection_tool class="UnusedProperty" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseOfAWTPeerClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfJDBCDriverClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfObsoleteAssert" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfObsoleteDateTimeApi" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfProcessBuilder" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfSunClasses" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithPublicConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithoutPrivateConstructor" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignorableAnnotations">
<value />
</option>
<option name="ignoreClassesWithOnlyMain" value="true" />
</inspection_tool>
<inspection_tool class="VariableNotUsedInsideIf" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="VolatileArrayField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitCalledOnCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotifyNotInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitOrAwaitWithoutTimeout" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWithoutCorrespondingNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WhileLoopSpinsOnField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreNonEmtpyLoops" value="false" />
</inspection_tool>
<inspection_tool class="ZeroLengthArrayInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

View File

@@ -0,0 +1,22 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="CascadeIf" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="ClassName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="[A-Z][_A-Za-z\d]*" />
</inspection_tool>
<inspection_tool class="FoldInitializerAndIfToElvis" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="FunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="([A-Za-z][A-Za-z\d]*)|([A-Z][_A-Z\d]*)" />
</inspection_tool>
<inspection_tool class="RedundantSuppression" enabled="true" level="WARNING" enabled_by_default="true">
<option name="IGNORE_ALL" value="true" />
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="UnusedProperty" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>

View File

@@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="PROJECT_PROFILE" value="Project" />
<version value="1.0" />
</settings>
</component>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<includedPredefinedLibrary name="Nashorn" />
<excludedPredefinedLibrary name="HTML" />
</component>
</project>

18
.idea/misc.xml generated
View File

@@ -14,18 +14,12 @@
<item index="9" class="java.lang.String" itemvalue="net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.Name" /> <item index="9" class="java.lang.String" itemvalue="net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.Name" />
</list> </list>
</component> </component>
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES5" />
</component>
<component name="NullableNotNullManager"> <component name="NullableNotNullManager">
<option name="myDefaultNullable" value="javax.annotation.Nullable" /> <option name="myDefaultNullable" value="javax.annotation.Nullable" />
<option name="myDefaultNotNull" value="javax.annotation.Nonnull" /> <option name="myDefaultNotNull" value="javax.annotation.Nonnull" />
<option name="myNullables"> <option name="myNullables">
<value> <value>
<list size="14"> <list size="11">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" /> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" /> <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
@@ -37,15 +31,12 @@
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" /> <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" /> <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
<item index="10" class="java.lang.String" itemvalue="com.android.annotations.Nullable" /> <item index="10" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
<item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
<item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
</list> </list>
</value> </value>
</option> </option>
<option name="myNotNulls"> <option name="myNotNulls">
<value> <value>
<list size="13"> <list size="10">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" /> <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" /> <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" /> <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
@@ -56,14 +47,11 @@
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" /> <item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" /> <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="9" class="java.lang.String" itemvalue="com.android.annotations.NonNull" /> <item index="9" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
<item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
<item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
</list> </list>
</value> </value>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8 DCEVM" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/bin" /> <output url="file://$PROJECT_DIR$/bin" />
</component> </component>
</project> </project>

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

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

View File

@@ -1,4 +0,0 @@
<changelist name="Datagen_Recipes" date="1601734824200" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Datagen_Recipes/shelved.patch" />
<option name="DESCRIPTION" value="Datagen Recipes" />
</changelist>

View File

@@ -1,79 +0,0 @@
Index: data/src/main/java/chylex/hee/datagen/DataGen.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.datagen\nimport chylex.hee.HEE\nimport chylex.hee.datagen.client.BlockItemModels\nimport chylex.hee.datagen.client.BlockModels\nimport chylex.hee.datagen.client.BlockStates\nimport chylex.hee.datagen.client.ItemModels\nimport chylex.hee.system.forge.SubscribeAllEvents\nimport chylex.hee.system.forge.SubscribeEvent\nimport net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD\nimport net.minecraftforge.fml.event.lifecycle.GatherDataEvent\n\n@SubscribeAllEvents(modid = HEE.ID, bus = MOD)\nobject DataGen{\n\t@SubscribeEvent\n\tfun register(e: GatherDataEvent){\n\t\tval modid = HEE.ID\n\t\tval helper = e.existingFileHelper\n\t\t\n\t\twith(e.generator){\n\t\t\tif (e.includeClient()){\n\t\t\t\taddProvider(BlockStates(this, modid, helper))\n\t\t\t\taddProvider(BlockModels(this, modid, helper))\n\t\t\t\taddProvider(BlockItemModels(this, modid, helper))\n\t\t\t\taddProvider(ItemModels(this, modid, helper))\n\t\t\t}\n\t\t}\n\t}\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- a/data/src/main/java/chylex/hee/datagen/DataGen.kt (revision f8888e0a3b33898551301124a0879cea12fc1f06)
+++ b/data/src/main/java/chylex/hee/datagen/DataGen.kt (date 1601732788951)
@@ -4,6 +4,7 @@
import chylex.hee.datagen.client.BlockModels
import chylex.hee.datagen.client.BlockStates
import chylex.hee.datagen.client.ItemModels
+import chylex.hee.datagen.server.Recipes
import chylex.hee.system.forge.SubscribeAllEvents
import chylex.hee.system.forge.SubscribeEvent
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD
@@ -23,6 +24,10 @@
addProvider(BlockItemModels(this, modid, helper))
addProvider(ItemModels(this, modid, helper))
}
+
+ if (e.includeServer()){
+ addProvider(Recipes(this))
+ }
}
}
}
Index: data/src/main/java/chylex/hee/datagen/server/Recipes.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601733265753)
+++ b/data/src/main/java/chylex/hee/datagen/server/Recipes.kt (date 1601733265753)
@@ -0,0 +1,15 @@
+package chylex.hee.datagen.server
+import chylex.hee.datagen.server.util.ingredients
+import chylex.hee.datagen.server.util.shapeless
+import chylex.hee.init.ModItems
+import net.minecraft.data.DataGenerator
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.RecipeProvider
+import net.minecraft.item.Items
+import java.util.function.Consumer
+
+class Recipes(generator: DataGenerator) : RecipeProvider(generator){
+ override fun registerRecipes(consumer: Consumer<IFinishedRecipe>) = with(consumer){
+ shapeless(ModItems.ALTERATION_NEXUS, 1){ ingredients(Items.DIAMOND, Items.ENDER_EYE, ModItems.ANCIENT_DUST, ModItems.ETHEREUM) }
+ }
+}
Index: data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601733249382)
+++ b/data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt (date 1601733249382)
@@ -0,0 +1,20 @@
+package chylex.hee.datagen.server.util
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.ShapedRecipeBuilder
+import net.minecraft.data.ShapelessRecipeBuilder
+import net.minecraft.util.IItemProvider
+import java.util.function.Consumer
+
+fun Consumer<IFinishedRecipe>.shaped(result: IItemProvider, amount: Int, callback: ShapedRecipeBuilder.() -> Unit){
+ ShapedRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun Consumer<IFinishedRecipe>.shapeless(result: IItemProvider, amount: Int, callback: ShapelessRecipeBuilder.() -> Unit){
+ ShapelessRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun ShapelessRecipeBuilder.ingredients(vararg ingredients: IItemProvider){
+ for(ingredient in ingredients){
+ this.addIngredient(ingredient)
+ }
+}

View File

@@ -1,4 +1,4 @@
<changelist name="Development3" date="1601983889370" recycled="true"> <changelist name="Development" date="1579752205042" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Development3/shelved.patch" /> <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Development/shelved.patch" />
<option name="DESCRIPTION" value="Development" /> <option name="DESCRIPTION" value="Development" />
</changelist> </changelist>

145
.idea/shelf/Development/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
.idea/shelf/Dust.xml generated
View File

@@ -1,4 +0,0 @@
<changelist name="Dust" date="1590783410567" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Dust/shelved.patch" />
<option name="DESCRIPTION" value="Dust" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="EnderEyeAttack_kt" date="1601761992769" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/EnderEyeAttack_kt/shelved.patch" />
<option name="DESCRIPTION" value="EnderEyeAttack.kt" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
<changelist name="Ender_Eye" date="1595119986895" recycled="true"> <changelist name="Ender_Eye" date="1579752352230" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ender_Eye/shelved.patch" /> <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ender_Eye/shelved.patch" />
<option name="DESCRIPTION" value="Ender Eye" /> <option name="DESCRIPTION" value="Ender Eye" />
</changelist> </changelist>

View File

@@ -1,4 +0,0 @@
<changelist name="Ender_Eye_Stuff" date="1601351827334" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ender_Eye_Stuff/shelved.patch" />
<option name="DESCRIPTION" value="Ender Eye Stuff" />
</changelist>

File diff suppressed because one or more lines are too long

4
.idea/shelf/Experience_Table.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Experience_Table" date="1579752469474" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Experience_Table/shelved.patch" />
<option name="DESCRIPTION" value="Experience Table" />
</changelist>

342
.idea/shelf/Experience_Table/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

4
.idea/shelf/Eye.xml generated
View File

@@ -1,4 +0,0 @@
<changelist name="Eye" date="1605472809585" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Eye/shelved.patch" />
<option name="DESCRIPTION" value="Eye" />
</changelist>

File diff suppressed because one or more lines are too long

2
.idea/shelf/Ideas.xml generated
View File

@@ -1,4 +1,4 @@
<changelist name="Ideas" date="1595089578362" recycled="false"> <changelist name="Ideas" date="1579750085391" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ideas/shelved.patch" /> <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ideas/shelved.patch" />
<option name="DESCRIPTION" value="Ideas" /> <option name="DESCRIPTION" value="Ideas" />
</changelist> </changelist>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="Later1" date="1607753523089" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Later1/shelved.patch" />
<option name="DESCRIPTION" value="Later" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="Later2" date="1610732422264" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Later2/shelved.patch" />
<option name="DESCRIPTION" value="Later" />
</changelist>

View File

@@ -1,19 +0,0 @@
Index: src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.entity\n\nimport chylex.hee.system.math.square\nimport net.minecraft.entity.Entity\nimport net.minecraft.util.math.AxisAlignedBB\nimport net.minecraft.util.math.Vec3d\nimport net.minecraft.world.IEntityReader\nimport java.util.function.Predicate\n\n@Suppress(\"NOTHING_TO_INLINE\")\nclass EntitySelector(private val world: IEntityReader, private val predicate: Predicate<in Entity>) {\n\tfun <T : Entity> inBox(cls: Class<T>, aabb: AxisAlignedBB): List<T> {\n\t\treturn world.getEntitiesWithinAABB(cls, aabb, predicate)\n\t}\n\t\n\tfun <T : Entity> inRange(cls: Class<T>, point: Vec3d, range: Double): List<T> {\n\t\tval aabb = AxisAlignedBB(point.x - range, point.y - range, point.z - range, point.x + range, point.y + range, point.z + range)\n\t\tval rangeSq = square(range)\n\t\t\n\t\treturn world.getEntitiesWithinAABB(cls, aabb) { predicate.test(it) && it!!.posVec.squareDistanceTo(point) <= rangeSq }\n\t}\n\t\n\t// Reified\n\t\n\tinline fun <reified T : Entity> inBox(aabb: AxisAlignedBB) = inBox(T::class.java, aabb)\n\tinline fun <reified T : Entity> inRange(point: Vec3d, range: Double) = inRange(T::class.java, point, range)\n\t\n\t// General\n\t\n\tinline fun allInBox(aabb: AxisAlignedBB) = inBox(Entity::class.java, aabb)\n\tinline fun allInRange(point: Vec3d, range: Double) = inRange(Entity::class.java, point, range)\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt b/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt
--- a/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt (revision 276df769798cbd4fd8154c5ebca0001dd8639545)
+++ b/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt (date 1609259090000)
@@ -20,6 +20,8 @@
return world.getEntitiesWithinAABB(cls, aabb) { predicate.test(it) && it!!.posVec.squareDistanceTo(point) <= rangeSq }
}
+ // TODO only loaded? fuck
+
// Reified
inline fun <reified T : Entity> inBox(aabb: AxisAlignedBB) = inBox(T::class.java, aabb)

View File

@@ -1,4 +0,0 @@
<changelist name="Recipe_Datagen" date="1601740449134" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Recipe_Datagen/shelved.patch" />
<option name="DESCRIPTION" value="Recipe Datagen" />
</changelist>

View File

@@ -1,47 +0,0 @@
Index: data/src/main/java/chylex/hee/datagen/server/Recipes.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601740133630)
+++ b/data/src/main/java/chylex/hee/datagen/server/Recipes.kt (date 1601740133630)
@@ -0,0 +1,11 @@
+package chylex.hee.datagen.server
+import net.minecraft.data.DataGenerator
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.RecipeProvider
+import java.util.function.Consumer
+
+class Recipes(generator: DataGenerator) : RecipeProvider(generator){
+ override fun registerRecipes(consumer: Consumer<IFinishedRecipe>) = with(consumer){
+ // shapeless(ModItems.ALTERATION_NEXUS, 1){ ingredients(Items.DIAMOND, Items.ENDER_EYE, ModItems.ANCIENT_DUST, ModItems.ETHEREUM) }
+ }
+}
Index: data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601734823610)
+++ b/data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt (date 1601734823610)
@@ -0,0 +1,20 @@
+package chylex.hee.datagen.server.util
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.ShapedRecipeBuilder
+import net.minecraft.data.ShapelessRecipeBuilder
+import net.minecraft.util.IItemProvider
+import java.util.function.Consumer
+
+fun Consumer<IFinishedRecipe>.shaped(result: IItemProvider, amount: Int, callback: ShapedRecipeBuilder.() -> Unit){
+ ShapedRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun Consumer<IFinishedRecipe>.shapeless(result: IItemProvider, amount: Int, callback: ShapelessRecipeBuilder.() -> Unit){
+ ShapelessRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun ShapelessRecipeBuilder.ingredients(vararg ingredients: IItemProvider){
+ for(ingredient in ingredients){
+ this.addIngredient(ingredient)
+ }
+}

4
.idea/shelf/Shulker_Box.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Shulker_Box" date="1579752489313" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Shulker_Box/shelved.patch" />
<option name="DESCRIPTION" value="Shulker Box" />
</changelist>

93
.idea/shelf/Shulker_Box/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="Shulker_Box_Animation" date="1590248312609" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Shulker_Box_Animation/shelved.patch" />
<option name="DESCRIPTION" value="Shulker Box Animation" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="StructureFile" date="1601888541958" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/StructureFile/shelved.patch" />
<option name="DESCRIPTION" value="StructureFile" />
</changelist>

File diff suppressed because one or more lines are too long

4
.idea/shelf/TODO.xml generated
View File

@@ -1,4 +0,0 @@
<changelist name="TODO" date="1601072216412" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/TODO/shelved.patch" />
<option name="DESCRIPTION" value="TODO" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,14 +1,4 @@
<changelist name="Territories" date="1593174807954" recycled="false"> <changelist name="Territories" date="1579750362160" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/shelved.patch" /> <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/shelved.patch" />
<option name="DESCRIPTION" value="Territories" /> <option name="DESCRIPTION" value="Territories" />
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/assets/hee/textures/environment/end_sky_blurry.png" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/end_sky_blurry.png" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/assets/hee/textures/environment/end_sky_smooth.png" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/end_sky_smooth.png" />
</binary>
</changelist> </changelist>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

39
.idea/shelf/Tomb.xml generated Normal file
View File

@@ -0,0 +1,39 @@
<changelist name="Tomb" date="1579750369609" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/shelved.patch" />
<option name="DESCRIPTION" value="Tomb" />
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.end.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.end.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.middle.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.middle.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.start.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.start.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/main.end.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/main.end.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.multi2x4.narrow.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.multi2x4.narrow.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.multi2x4.spacious.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.multi2x4.spacious.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.single.narrow.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.single.narrow.nbt" />
</binary>
</changelist>

671
.idea/shelf/Tomb/shelved.patch generated Normal file
View File

@@ -0,0 +1,671 @@
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt (date 1579593033167)
@@ -0,0 +1,43 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.TOMB_ENTRANCE
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_StraightTombs(piece: TombDungeonRoom_Tomb, configuration: Configuration, tombsPerSide: Int, override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ enum class Configuration{
+ WEST, EAST, BOTH
+ }
+
+ override val size = Size(5, 5, 5 + ((tombsPerSide - 1) * piece.size.x))
+
+ override val connections = mutableListOf<IStructurePieceConnection>().also {
+ it.add(TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH))
+ it.add(TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH))
+
+ val spacing = piece.size.x
+
+ for(tombIndex in 0 until tombsPerSide){
+ if (configuration == Configuration.WEST || configuration == Configuration.BOTH){
+ it.add(TombDungeonConnection(TOMB_ENTRANCE, Pos(0, 0, 2 + (tombIndex * spacing)), WEST))
+ }
+
+ if (configuration == Configuration.EAST || configuration == Configuration.BOTH){
+ it.add(TombDungeonConnection(TOMB_ENTRANCE, Pos(size.maxX, 0, 2 + (tombIndex * spacing)), EAST))
+ }
+ }
+ }.toTypedArray()
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt (date 1579593033167)
@@ -0,0 +1,24 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_Straight(length: Int, override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ override val size = Size(5, 5, length)
+
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt (date 1579594244672)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt (date 1579594244672)
@@ -0,0 +1,108 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.block.BlockVoidPortalInner
+import chylex.hee.game.entity.item.EntityTokenHolder
+import chylex.hee.game.item.ItemPortalToken.TokenType.NORMAL
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.ROOM_ENTRANCE
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.structure.trigger.EntityStructureTrigger
+import chylex.hee.game.world.structure.trigger.TileEntityStructureTrigger
+import chylex.hee.game.world.territory.TerritoryType.FORGOTTEN_TOMBS
+import chylex.hee.init.ModBlocks
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.migration.vanilla.Blocks
+import chylex.hee.system.util.Pos
+import chylex.hee.system.util.TagCompound
+import chylex.hee.system.util.allInCenteredBox
+import chylex.hee.system.util.with
+import chylex.hee.system.util.withFacing
+import net.minecraft.util.Direction
+import net.minecraft.util.math.BlockPos
+import kotlin.math.abs
+
+class TombDungeonRoom_End(file: String) : TombDungeonAbstractPieceFromFile(file, isFancy = true){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(ROOM_ENTRANCE, Pos(centerX, 6, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ world.placeCube(Pos(1, 2, 1), Pos(maxX - 1, maxY - 1, maxZ - 1), Air)
+ super.generate(world, instance)
+
+ val portalCenter = Pos(centerX, 1, centerZ - 12)
+ val tombOffset = portalCenter.up(2)
+
+ for(pos in portalCenter.allInCenteredBox(1, 0, 1)){
+ world.addTrigger(pos, TileEntityStructureTrigger(ModBlocks.VOID_PORTAL_INNER.with(BlockVoidPortalInner.TYPE, BlockVoidPortalInner.Type.RETURN_INACTIVE), TagCompound()))
+ }
+
+ placeTokenHolders(world, tombOffset)
+ placeChests(world, tombOffset)
+ }
+
+ private fun placeTokenHolders(world: IStructureWorld, tombOffset: BlockPos){
+ val rand = world.rand
+ val tokenTombs = TOMBS.asList().shuffled(rand).take(2)
+
+ for(tokenTomb in tokenTombs){
+ val xOffset = (tokenTomb.offsetX1 + tokenTomb.offsetX2) * 0.5
+ val zOffset = (tokenTomb.offsetZ1 + tokenTomb.offsetZ2) * 0.5
+
+ val nudge = if (tokenTomb.isShortX) EAST else SOUTH
+ val trigger = EntityStructureTrigger({ realWorld -> EntityTokenHolder(realWorld, NORMAL, /*TODO*/FORGOTTEN_TOMBS) }, nudgeFacing = nudge, nudgeAmount = 0.5, yOffset = 0.35)
+
+ world.addTrigger(tombOffset.add(xOffset, 0.0, zOffset), trigger)
+ }
+ }
+
+ private fun placeChests(world: IStructureWorld, tombOffset: BlockPos){
+ val rand = world.rand
+ val chestTombs = TOMBS.flatMap { listOf(it to false, it to true) }.shuffled(rand).take(4)
+
+ for((chestTomb, offsetType) in chestTombs){
+ val x: IntArray
+ val z: IntArray
+ val facing: Direction
+
+ if (chestTomb.isShortX){
+ x = intArrayOf(chestTomb.offsetX1, chestTomb.offsetX2)
+ z = (if (offsetType) chestTomb.offsetZ1 else chestTomb.offsetZ2).let { intArrayOf(it, it) }
+ facing = if (offsetType) SOUTH else NORTH
+ }
+ else{
+ z = intArrayOf(chestTomb.offsetZ1, chestTomb.offsetZ2)
+ x = (if (offsetType) chestTomb.offsetX1 else chestTomb.offsetX2).let { intArrayOf(it, it) }
+ facing = if (offsetType) EAST else WEST
+ }
+
+ val picks = when(rand.nextInt(6)){
+ 0 -> intArrayOf(0)
+ 1 -> intArrayOf(1)
+ else -> intArrayOf(0, 1)
+ }
+
+ for(pick in picks){
+ world.setState(tombOffset.add(x[pick], 0, z[pick]), Blocks.CHEST.withFacing(facing))
+ // TODO loot
+ }
+ }
+ }
+
+ private companion object{
+ private class Tomb(val offsetX1: Int, val offsetZ1: Int, val offsetX2: Int, val offsetZ2: Int){
+ val isShortX = abs(offsetX1 - offsetX2) < abs(offsetZ1 - offsetZ2)
+ }
+
+ private val TOMBS = arrayOf(
+ Tomb(offsetX1 = -10, offsetZ1 = -2, offsetX2 = -9, offsetZ2 = 2),
+ Tomb(offsetX1 = 9, offsetZ1 = -2, offsetX2 = 10, offsetZ2 = 2),
+ Tomb(offsetX1 = 3, offsetZ1 = -9, offsetX2 = 7, offsetZ2 = -8),
+ Tomb(offsetX1 = -7, offsetZ1 = -9, offsetX2 = -3, offsetZ2 = -8)
+ )
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt (date 1579593033167)
@@ -0,0 +1,28 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_Intersection(override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ override val size = Size(5, 5, 5)
+
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.maxX, 0, size.centerZ), EAST),
+ TombDungeonConnection(CORRIDOR, Pos(0, 0, size.centerZ), WEST)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt (date 1579593033167)
@@ -0,0 +1,16 @@
+package chylex.hee.game.world.feature.tombdungeon
+import chylex.hee.system.util.nextInt
+import java.util.Random
+
+@Suppress("unused")
+enum class TombDungeonLevel(val isFancy: Boolean, private val corridorFactor: Int){
+ FIRST (isFancy = false, corridorFactor = 1),
+ SECOND(isFancy = false, corridorFactor = 5),
+ THIRD (isFancy = false, corridorFactor = 2),
+ FOURTH(isFancy = true, corridorFactor = 4),
+ LAST (isFancy = true, corridorFactor = 6);
+
+ fun getCorridorLength(rand: Random): Int{
+ return rand.nextInt(43 + (corridorFactor * 2), 55) + ((corridorFactor - 1) * rand.nextInt(12, 14)) + (if (this == LAST) 10 else 0)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt (date 1579593033167)
@@ -0,0 +1,56 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.STAIR_BOTTOM
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.STAIR_TOP
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.init.ModBlocks
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+import chylex.hee.system.util.nextInt
+
+sealed class TombDungeonCorridor_Stairs(file: String) : TombDungeonAbstractPieceFromFile(file, isFancy = false){
+ class Start(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 2, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+
+ val rand = world.rand
+
+ for(z in 0..maxZ){
+ if (rand.nextInt(5) <= 1){
+ world.setBlock(Pos(rand.nextInt(1, maxX - 1), 2 - z, z), ModBlocks.DUSTY_STONE_BRICK_SLAB)
+ }
+ }
+ }
+ }
+
+ class Middle(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 1, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+
+ val rand = world.rand
+
+ if (rand.nextInt(5) <= 1){
+ world.setBlock(Pos(rand.nextInt(1, maxX - 1), 1, 0), ModBlocks.DUSTY_STONE_BRICK_SLAB)
+ }
+ }
+ }
+
+ class End(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 0, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.feature.tombdungeon\r\nimport chylex.hee.game.world.structure.IBlockPicker.Weighted.Companion.Weighted\r\nimport chylex.hee.game.world.structure.IStructureDescription\r\nimport chylex.hee.game.world.structure.IStructureDescription.Companion.NULL_LOCATOR\r\nimport chylex.hee.game.world.structure.file.PaletteBuilder\r\nimport chylex.hee.game.world.structure.file.PaletteMappings\r\nimport chylex.hee.game.world.structure.piece.StructurePiece\r\nimport chylex.hee.game.world.util.Size\r\nimport chylex.hee.init.ModBlocks\r\nimport chylex.hee.system.migration.Facing.EAST\r\nimport chylex.hee.system.migration.Facing.NORTH\r\nimport chylex.hee.system.migration.Facing.SOUTH\r\nimport chylex.hee.system.migration.Facing.WEST\r\nimport chylex.hee.system.migration.vanilla.BlockSlab\r\nimport chylex.hee.system.migration.vanilla.BlockStairs\r\nimport chylex.hee.system.migration.vanilla.Blocks\r\nimport chylex.hee.system.util.with\r\nimport chylex.hee.system.util.withFacing\r\nimport net.minecraft.state.properties.Half\r\nimport net.minecraft.state.properties.SlabType\r\n\r\nobject TombDungeonPieces : IStructureDescription{\r\n\toverride val STRUCTURE_SIZE = Size(300, 110, 300)\r\n\t\r\n\toverride val STRUCTURE_BUILDER = TombDungeonBuilder\r\n\toverride val STRUCTURE_LOCATOR = NULL_LOCATOR\r\n\t\r\n\t// Palette\r\n\t\r\n\tval PALETTE_ENTRY_PLAIN_WALL_CEILING = Weighted(\r\n\t\t840 to ModBlocks.DUSTY_STONE_BRICKS,\r\n\t\t125 to ModBlocks.DUSTY_STONE,\r\n\t\t 35 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS\r\n\t)\r\n\t\r\n\tval PALETTE_ENTRY_FANCY_WALL = Weighted(\r\n\t\t94 to ModBlocks.DUSTY_STONE_BRICKS,\r\n\t\t 6 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS\r\n\t)\r\n\t\r\n\tval PALETTE_ENTRY_FANCY_CEILING = Weighted(\r\n\t\t860 to ModBlocks.DUSTY_STONE_BRICKS.defaultState,\r\n\t\t 82 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS.defaultState,\r\n\t\t 30 to ModBlocks.DUSTY_STONE_BRICK_SLAB.with(BlockSlab.TYPE, SlabType.TOP),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(NORTH),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(SOUTH),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(EAST),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(WEST)\r\n\t)\r\n\t\r\n\tprivate val PALETTE_ENTRY_PLAIN_GRAVE = Weighted(\r\n\t\t74 to ModBlocks.GRAVE_DIRT_PLAIN,\r\n\t\t18 to ModBlocks.GRAVE_DIRT_SPIDERLING,\r\n\t\t 8 to ModBlocks.GRAVE_DIRT_LOOT\r\n\t)\r\n\t\r\n\tprivate val PALETTE_ENTRY_FANCY_GRAVE = Weighted(\r\n\t\t69 to ModBlocks.GRAVE_DIRT_PLAIN,\r\n\t\t27 to ModBlocks.GRAVE_DIRT_LOOT,\r\n\t\t 4 to ModBlocks.GRAVE_DIRT_SPIDERLING\r\n\t)\r\n\t\r\n\tprivate fun generateCommonPalette() = PaletteBuilder.Combined().apply {\r\n\t\tadd(\"air\", Blocks.AIR)\r\n\t\tadd(\"dustystone\", ModBlocks.DUSTY_STONE)\r\n\t\tadd(\"dustystone.bricks\", ModBlocks.DUSTY_STONE_BRICKS)\r\n\t\t\r\n\t\tadd(\"slab.dustystonebrick.*\", ModBlocks.DUSTY_STONE_BRICK_SLAB, PaletteMappings.SLAB_TYPE)\r\n\t\tadd(\"stairs.dustystonebrick.*.*\", ModBlocks.DUSTY_STONE_BRICK_STAIRS, listOf(PaletteMappings.STAIR_FLIP, PaletteMappings.FACING_HORIZONTAL)) // UPDATE migrate mappings\r\n\t\t\r\n\t\twith(forDevelopment){\r\n\t\t\tadd(\"dustystone.wall\", Blocks.LAPIS_BLOCK)\r\n\t\t\tadd(\"dustystone.ceiling\", Blocks.COAL_BLOCK)\r\n\t\t\tadd(\"gravedirt\", ModBlocks.GRAVE_DIRT_PLAIN)\r\n\t\t}\r\n\t}\r\n\t\r\n\toverride val PALETTE = with(generateCommonPalette()){\r\n\t\twith(forGeneration){\r\n\t\t\tadd(\"dustystone.wall\", PALETTE_ENTRY_PLAIN_WALL_CEILING)\r\n\t\t\tadd(\"dustystone.ceiling\", PALETTE_ENTRY_PLAIN_WALL_CEILING)\r\n\t\t\tadd(\"gravedirt\", PALETTE_ENTRY_PLAIN_GRAVE)\r\n\t\t}\r\n\t\t\r\n\t\tbuild()\r\n\t}\r\n\t\r\n\tval PALETTE_FANCY = with(generateCommonPalette()){\r\n\t\twith(forGeneration){\r\n\t\t\tadd(\"dustystone.wall\", PALETTE_ENTRY_FANCY_WALL)\r\n\t\t\tadd(\"dustystone.ceiling\", PALETTE_ENTRY_FANCY_CEILING)\r\n\t\t\tadd(\"gravedirt\", PALETTE_ENTRY_FANCY_GRAVE)\r\n\t\t}\r\n\t\t\r\n\t\tbuild()\r\n\t}\r\n\t\r\n\t// Pieces\r\n\t\r\n\toverride val ALL_PIECES\r\n\t\tget() = arrayOf<StructurePiece<*>>()\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt (date 1579594244682)
@@ -1,10 +1,15 @@
package chylex.hee.game.world.feature.tombdungeon
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonAbstractPiece
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Intersection
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Stairs
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Straight
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonRoom_End
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonRoom_Tomb
import chylex.hee.game.world.structure.IBlockPicker.Weighted.Companion.Weighted
import chylex.hee.game.world.structure.IStructureDescription
import chylex.hee.game.world.structure.IStructureDescription.Companion.NULL_LOCATOR
import chylex.hee.game.world.structure.file.PaletteBuilder
import chylex.hee.game.world.structure.file.PaletteMappings
-import chylex.hee.game.world.structure.piece.StructurePiece
import chylex.hee.game.world.util.Size
import chylex.hee.init.ModBlocks
import chylex.hee.system.migration.Facing.EAST
@@ -14,10 +19,13 @@
import chylex.hee.system.migration.vanilla.BlockSlab
import chylex.hee.system.migration.vanilla.BlockStairs
import chylex.hee.system.migration.vanilla.Blocks
+import chylex.hee.system.util.nextInt
import chylex.hee.system.util.with
import chylex.hee.system.util.withFacing
import net.minecraft.state.properties.Half
import net.minecraft.state.properties.SlabType
+import java.util.Random
+import kotlin.math.min
object TombDungeonPieces : IStructureDescription{
override val STRUCTURE_SIZE = Size(300, 110, 300)
@@ -68,6 +76,13 @@
add("slab.dustystonebrick.*", ModBlocks.DUSTY_STONE_BRICK_SLAB, PaletteMappings.SLAB_TYPE)
add("stairs.dustystonebrick.*.*", ModBlocks.DUSTY_STONE_BRICK_STAIRS, listOf(PaletteMappings.STAIR_FLIP, PaletteMappings.FACING_HORIZONTAL)) // UPDATE migrate mappings
+ add("torch", Blocks.TORCH)
+ add("torch.*", Blocks.WALL_TORCH, PaletteMappings.FACING_HORIZONTAL)
+ add("redstonetorch", Blocks.REDSTONE_TORCH)
+ add("redstonetorch.*", Blocks.REDSTONE_WALL_TORCH, PaletteMappings.FACING_HORIZONTAL)
+
+ add("voidportal.frame", ModBlocks.VOID_PORTAL_FRAME)
+
with(forDevelopment){
add("dustystone.wall", Blocks.LAPIS_BLOCK)
add("dustystone.ceiling", Blocks.COAL_BLOCK)
@@ -97,6 +112,56 @@
// Pieces
+ //val PIECE_ROOM_TOMB_NARROW = TombDungeonRoom_Tomb("tomb.single.narrow.nbt", isFancy = false)
+
+ val PIECE_ROOM_END = TombDungeonRoom_End("main.end.nbt")
+
+ private val PIECES_STAIRS = arrayOf(
+ TombDungeonCorridor_Stairs.Start("corridor.stairs.start.nbt"),
+ TombDungeonCorridor_Stairs.Middle("corridor.stairs.middle.nbt"),
+ TombDungeonCorridor_Stairs.End("corridor.stairs.end.nbt")
+ )
+
+ fun PIECES_STAIRCASE(middle: Int): List<TombDungeonCorridor_Stairs>{
+ return listOf(PIECES_STAIRS[0], *Array(middle){ PIECES_STAIRS[1] }, PIECES_STAIRS[2])
+ }
+
+ fun PIECES_MAIN_CORRIDOR(rand: Random, level: TombDungeonLevel, cornerCount: Int): List<TombDungeonAbstractPiece>{
+ return mutableListOf<TombDungeonAbstractPiece>().apply {
+ val isFancy = level.isFancy
+ var lengthRemaining = level.getCorridorLength(rand)
+
+ while(lengthRemaining > 0){
+ val nextLength = if (level == TombDungeonLevel.LAST)
+ rand.nextInt(1, min(lengthRemaining, (lengthRemaining / 5) + 3))
+ else
+ rand.nextInt(1, min(lengthRemaining, (lengthRemaining / 3) + 5))
+
+ lengthRemaining -= nextLength
+ add(TombDungeonCorridor_Straight(nextLength, isFancy))
+ }
+
+ repeat(cornerCount){
+ add(TombDungeonCorridor_Intersection(isFancy))
+ }
+ }
+ }
+
override val ALL_PIECES
- get() = arrayOf<StructurePiece<*>>()
+ get() = arrayOf(
+ TombDungeonCorridor_Straight(length = 5, isFancy = false),
+ TombDungeonCorridor_Intersection(isFancy = false),
+
+ *PIECES_STAIRS,
+
+ // TODO
+ TombDungeonRoom_Tomb("tomb.single.narrow.nbt", entranceY = 2, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.single.narrow.nbt", entranceY = 2, isFancy = true),
+ TombDungeonRoom_Tomb("tomb.multi2x4.narrow.nbt", entranceY = 1, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.multi2x4.narrow.nbt", entranceY = 1, isFancy = true),
+ TombDungeonRoom_Tomb("tomb.multi2x4.spacious.nbt", entranceY = 3, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.multi2x4.spacious.nbt", entranceY = 3, isFancy = true),
+
+ PIECE_ROOM_END
+ )
}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.feature.tombdungeon\r\nimport chylex.hee.game.world.feature.tombdungeon.TombDungeonPieces.STRUCTURE_SIZE\r\nimport chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonStart\r\nimport chylex.hee.game.world.structure.piece.IStructureBuild\r\nimport chylex.hee.game.world.structure.piece.IStructureBuilder\r\nimport chylex.hee.game.world.structure.piece.StructureBuild\r\nimport chylex.hee.game.world.structure.piece.StructureBuild.PositionedPiece\r\nimport chylex.hee.game.world.util.Size.Alignment.CENTER\r\nimport chylex.hee.game.world.util.Size.Alignment.MAX\r\nimport chylex.hee.game.world.util.Transform\r\nimport net.minecraft.util.math.BlockPos\r\nimport java.util.Random\r\n\r\nobject TombDungeonBuilder : IStructureBuilder{\r\n\tval ENTRANCE_POS: BlockPos = STRUCTURE_SIZE.getPos(CENTER, MAX, MAX).add(-TombDungeonStart.size.centerX, -TombDungeonStart.size.y, -STRUCTURE_SIZE.x / 3)\r\n\t\r\n\toverride fun build(rand: Random): IStructureBuild?{\r\n\t\tval startingPiece = TombDungeonStart.MutableInstance(Transform.NONE)\r\n\t\tval startingPiecePos = ENTRANCE_POS\r\n\t\t\r\n\t\tval build = StructureBuild(STRUCTURE_SIZE, PositionedPiece(startingPiece, startingPiecePos))\r\n\t\t// TODO\r\n\t\treturn build.freeze()\r\n\t}\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt (date 1579593033167)
@@ -1,13 +1,21 @@
package chylex.hee.game.world.feature.tombdungeon
import chylex.hee.game.world.feature.tombdungeon.TombDungeonPieces.STRUCTURE_SIZE
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonAbstractPiece
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Straight
import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonStart
import chylex.hee.game.world.structure.piece.IStructureBuild
import chylex.hee.game.world.structure.piece.IStructureBuilder
+import chylex.hee.game.world.structure.piece.IStructureBuilder.ProcessBase
import chylex.hee.game.world.structure.piece.StructureBuild
+import chylex.hee.game.world.structure.piece.StructureBuild.AddMode
+import chylex.hee.game.world.structure.piece.StructureBuild.AddMode.APPEND
import chylex.hee.game.world.structure.piece.StructureBuild.PositionedPiece
+import chylex.hee.game.world.structure.piece.StructurePiece
import chylex.hee.game.world.util.Size.Alignment.CENTER
import chylex.hee.game.world.util.Size.Alignment.MAX
import chylex.hee.game.world.util.Transform
+import chylex.hee.system.util.nextInt
+import chylex.hee.system.util.removeItem
import net.minecraft.util.math.BlockPos
import java.util.Random
@@ -19,7 +27,81 @@
val startingPiecePos = ENTRANCE_POS
val build = StructureBuild(STRUCTURE_SIZE, PositionedPiece(startingPiece, startingPiecePos))
- // TODO
+ val process = Process(build, rand)
+
+ var lastPiece = build.generatedPieces.last()
+
+ run {
+ val stairLengths = mutableListOf<Int>().apply {
+ add(rand.nextInt(4, 7))
+ add(rand.nextInt(6, 13))
+ add(rand.nextInt(27, 28) - sum())
+ shuffle(rand)
+ }
+
+ for((index, stairLength) in stairLengths.withIndex()){
+ lastPiece = process.appendPieces(lastPiece, TombDungeonPieces.PIECES_STAIRCASE(stairLength)) ?: return null
+
+ val corridorLength = if (index == stairLengths.lastIndex) rand.nextInt(11, 13) else rand.nextInt(2, rand.nextInt(4, 5))
+ val corridorPiece = TombDungeonCorridor_Straight(corridorLength, isFancy = false)
+
+ lastPiece = process.appendPiece(lastPiece, corridorPiece) ?: return null
+ }
+ }
+
+ run {
+ val cornerCounts = mutableListOf(
+ rand.nextInt(2, 3),
+ rand.nextInt(4, 5),
+ rand.nextInt(5, 7),
+ rand.nextInt(6, 8)
+ )
+
+ for(level in TombDungeonLevel.values().dropLast(1)){
+ val corridorPieces = TombDungeonPieces.PIECES_MAIN_CORRIDOR(rand, level, rand.removeItem(cornerCounts))
+
+ if (!build.guardChain(10){
+ lastPiece = process.appendPieces(lastPiece, corridorPieces.shuffled(rand)) ?: return@guardChain false
+ lastPiece = process.appendPieces(lastPiece, TombDungeonPieces.PIECES_STAIRCASE(rand.nextInt(9, 17))) ?: return@guardChain false
+ return@guardChain true
+ }){
+ return null
+ }
+ }
+ }
+
+ run {
+ val cornerCount = rand.nextInt(10, 11)
+ val corridorPieces = TombDungeonPieces.PIECES_MAIN_CORRIDOR(rand, TombDungeonLevel.LAST, cornerCount)
+
+ if (!build.guardChain(10){
+ lastPiece = process.appendPieces(lastPiece, corridorPieces.shuffled(rand)) ?: return@guardChain false
+ return@guardChain true
+ }){
+ return null
+ }
+ }
+
+ process.appendPiece(lastPiece, TombDungeonPieces.PIECE_ROOM_END) ?: return null
return build.freeze()
}
+
+ private class Process(build: StructureBuild<StructurePiece<Unit>.MutableInstance>, rand: Random) : ProcessBase<StructurePiece<Unit>.MutableInstance>(build, rand){
+
+ // Piece placement
+
+ fun appendPiece(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPiece: TombDungeonAbstractPiece): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return addPiece(targetPiece, generatedPiece)
+ }
+
+ fun appendPieces(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPieces: List<TombDungeonAbstractPiece>): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return generatedPieces.fold(targetPiece){ lastPiece, nextPiece -> addPiece(lastPiece, nextPiece) ?: return null }
+ }
+
+ // Helpers
+
+ private fun addPiece(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPiece: TombDungeonAbstractPiece, mode: AddMode = APPEND): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return baseAddPiece(mode, targetPiece, generatedPiece::MutableInstance)
+ }
+ }
}
Index: src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.territory.descriptions\r\nimport chylex.hee.client.render.territory.lightmaps.ILightmap\r\nimport chylex.hee.client.render.territory.lightmaps.ILightmap.Companion.calcLightFactor\r\nimport chylex.hee.client.util.MC\r\nimport chylex.hee.game.world.territory.ITerritoryDescription\r\nimport chylex.hee.game.world.territory.properties.TerritoryColors\r\nimport chylex.hee.game.world.territory.properties.TerritoryEnvironment\r\nimport chylex.hee.system.migration.forge.Side\r\nimport chylex.hee.system.migration.forge.Sided\r\nimport chylex.hee.system.migration.vanilla.Potions\r\nimport chylex.hee.system.util.Pos\r\nimport chylex.hee.system.util.allInCenteredBoxMutable\r\nimport chylex.hee.system.util.color.IntColor.Companion.RGB\r\nimport chylex.hee.system.util.lookPosVec\r\nimport chylex.hee.system.util.math.LerpedFloat\r\nimport chylex.hee.system.util.nextFloat\r\nimport net.minecraft.util.math.Vec3d\r\nimport net.minecraft.world.LightType.BLOCK\r\nimport net.minecraft.world.LightType.SKY\r\nimport java.util.Random\r\nimport kotlin.math.max\r\nimport kotlin.math.pow\r\n\r\nobject Territory_ForgottenTombs : ITerritoryDescription{\r\n\toverride val colors = object : TerritoryColors(){\r\n\t\toverride val tokenTop = RGB(211, 212, 152)\r\n\t\toverride val tokenBottom = RGB(160, 151, 116)\r\n\t\t\r\n\t\toverride val portalSeed = 410L\r\n\t\t\r\n\t\toverride fun nextPortalColor(rand: Random, color: FloatArray){\r\n\t\t\tif (rand.nextBoolean()){\r\n\t\t\t\tcolor[0] = rand.nextFloat(0.65F, 0.9F)\r\n\t\t\t\tcolor[1] = rand.nextFloat(0.45F, 0.7F)\r\n\t\t\t\tcolor[2] = rand.nextFloat(0.15F, 0.4F)\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tcolor.fill(rand.nextFloat(0.95F, 1F))\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tprivate const val MAX_FOG_DENSITY = 0.069F\r\n\t\r\n\toverride val environment = object : TerritoryEnvironment(){\r\n\t\toverride val fogColor\r\n\t\t\tget() = (fogDensity / 0.275F).let { Vec3d(0.15 + it, 0.08 + it, 0.03) }\r\n\t\t\r\n\t\toverride val fogDensity\r\n\t\t\tget() = currentFogDensity.get(MC.partialTicks)\r\n\t\t\r\n\t\toverride val skyLight = 15\r\n\t\t\r\n\t\toverride val voidRadiusMpXZ = 1.35F\r\n\t\toverride val voidRadiusMpY = 0.975F\r\n\t\toverride val voidCenterOffset = Vec3d(0.0, -8.0, 0.0)\r\n\t\t\r\n\t\toverride val lightmap = object : ILightmap{\r\n\t\t\toverride fun update(colors: FloatArray, sunBrightness: Float, skyLight: Float, blockLight: Float, partialTicks: Float){\r\n\t\t\t\tval blockFactor = calcLightFactor(blockLight)\r\n\t\t\t\t\r\n\t\t\t\tcolors[0] = (blockLight * 0.9F) + skyLight + 0.12F\r\n\t\t\t\tcolors[1] = (blockFactor * 0.7F) + (skyLight * 0.8F) + 0.08F\r\n\t\t\t\tcolors[2] = (blockFactor * 0.5F) + (skyLight * 1.2F) + (0.09F * nightVisionFactor)\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tprivate val currentFogDensity = LerpedFloat(MAX_FOG_DENSITY)\r\n\t\tprivate var nightVisionFactor = 0F\r\n\t\t\r\n\t\t@Sided(Side.CLIENT)\r\n\t\toverride fun setupClient(){\r\n\t\t\ttickClient()\r\n\t\t\tcurrentFogDensity.updateImmediately(MAX_FOG_DENSITY * 0.8F)\r\n\t\t}\r\n\t\t\r\n\t\t@Sided(Side.CLIENT)\r\n\t\toverride fun tickClient(){\r\n\t\t\tval player = MC.player\r\n\t\t\tval pos = player?.lookPosVec?.let(::Pos)\r\n\t\t\t\r\n\t\t\tval light: Float\r\n\t\t\t\r\n\t\t\tif (pos == null){\r\n\t\t\t\tlight = 1F\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tval world = player.world\r\n\t\t\t\t\r\n\t\t\t\tvar levelBlock = 0\r\n\t\t\t\tvar levelSky = 0\r\n\t\t\t\t\r\n\t\t\t\tfor(offset in pos.allInCenteredBoxMutable(1, 1, 1)){\r\n\t\t\t\t\tlevelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))\r\n\t\t\t\t\tlevelSky = max(levelSky, world.getLightFor(SKY, offset))\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tlight = max(levelBlock / 15F, levelSky / 12F)\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tval prev = currentFogDensity.currentValue\r\n\t\t\tval next = MAX_FOG_DENSITY - (light.pow(0.2F) * 0.85F * MAX_FOG_DENSITY)\r\n\t\t\tval speed = if (next > prev) 0.025F else 0.055F\r\n\t\t\t\r\n\t\t\tcurrentFogDensity.update(prev + (next - prev) * speed)\r\n\t\t\tnightVisionFactor = if (player?.isPotionActive(Potions.NIGHT_VISION) == true) 1F else 0F\r\n\t\t}\r\n\t}\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt (date 1579593955530)
@@ -1,4 +1,5 @@
package chylex.hee.game.world.territory.descriptions
+import chylex.hee.client.render.territory.EnvironmentRenderer
import chylex.hee.client.render.territory.lightmaps.ILightmap
import chylex.hee.client.render.territory.lightmaps.ILightmap.Companion.calcLightFactor
import chylex.hee.client.util.MC
@@ -7,6 +8,7 @@
import chylex.hee.game.world.territory.properties.TerritoryEnvironment
import chylex.hee.system.migration.forge.Side
import chylex.hee.system.migration.forge.Sided
+import chylex.hee.system.migration.vanilla.EntityPlayer
import chylex.hee.system.migration.vanilla.Potions
import chylex.hee.system.util.Pos
import chylex.hee.system.util.allInCenteredBoxMutable
@@ -55,6 +57,14 @@
override val voidRadiusMpY = 0.975F
override val voidCenterOffset = Vec3d(0.0, -8.0, 0.0)
+ override val renderer = EnvironmentRenderer(
+ /* TODO SkyCubeStatic(
+ texture = Resource.Vanilla("textures/environment/end_sky.png"),
+ color = Vec3d(0.99, 0.5, 0.7),
+ alpha = 1F
+ )*/
+ )
+
override val lightmap = object : ILightmap{
override fun update(colors: FloatArray, sunBrightness: Float, skyLight: Float, blockLight: Float, partialTicks: Float){
val blockFactor = calcLightFactor(blockLight)
@@ -69,41 +79,32 @@
private var nightVisionFactor = 0F
@Sided(Side.CLIENT)
- override fun setupClient(){
- tickClient()
+ override fun setupClient(player: EntityPlayer){
+ tickClient(player)
currentFogDensity.updateImmediately(MAX_FOG_DENSITY * 0.8F)
}
@Sided(Side.CLIENT)
- override fun tickClient(){
- val player = MC.player
- val pos = player?.lookPosVec?.let(::Pos)
-
- val light: Float
-
- if (pos == null){
- light = 1F
- }
- else{
- val world = player.world
-
- var levelBlock = 0
- var levelSky = 0
-
- for(offset in pos.allInCenteredBoxMutable(1, 1, 1)){
- levelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))
- levelSky = max(levelSky, world.getLightFor(SKY, offset))
- }
-
- light = max(levelBlock / 15F, levelSky / 12F)
- }
+ override fun tickClient(player: EntityPlayer){
+ val world = player.world
+ val pos = Pos(player.lookPosVec)
+
+ var levelBlock = 0
+ var levelSky = 0
+
+ for(offset in pos.allInCenteredBoxMutable(1, 1, 1)){
+ levelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))
+ levelSky = max(levelSky, world.getLightFor(SKY, offset))
+ }
+
+ val light = max(levelBlock / 15F, levelSky / 12F)
val prev = currentFogDensity.currentValue
val next = MAX_FOG_DENSITY - (light.pow(0.2F) * 0.85F * MAX_FOG_DENSITY)
val speed = if (next > prev) 0.025F else 0.055F
currentFogDensity.update(prev + (next - prev) * speed)
- nightVisionFactor = if (player?.isPotionActive(Potions.NIGHT_VISION) == true) 1F else 0F
+ nightVisionFactor = if (player.isPotionActive(Potions.NIGHT_VISION)) 1F else 0F
}
}
}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt (date 1579593033167)
@@ -0,0 +1,18 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.TOMB_ENTRANCE
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+
+class TombDungeonRoom_Tomb(file: String, entranceY: Int, isFancy: Boolean) : TombDungeonAbstractPieceFromFile(file, isFancy){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(TOMB_ENTRANCE, Pos(centerX, entranceY, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ // TODO
+ }
+}

Binary file not shown.

BIN
.idea/shelf/Tomb/tomb.single.narrow.nbt generated Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="Work_on_Ender_Eye_spawn_animation,_movement,_and_attack_logic" date="1601092950910" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Work_on_Ender_Eye_spawn_animation,_movement,_and_attack_logic/shelved.patch" />
<option name="DESCRIPTION" value="Work on Ender Eye spawn animation, movement, and attack logic" />
</changelist>

4
.idea/shelf/thing.xml generated
View File

@@ -1,4 +0,0 @@
<changelist name="thing" date="1608060366436" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/thing/shelved.patch" />
<option name="DESCRIPTION" value="thing" />
</changelist>

View File

@@ -1,74 +0,0 @@
Index: src/main/resources/hee.mixins.json
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>{\n \"required\": true,\n \"minVersion\": \"0.8\",\n \"package\": \"chylex.hee.mixin\",\n \"compatibilityLevel\": \"JAVA_8\",\n \"mixins\": [\n \"HookAnvilRepair\",\n \"HookBlockDrops\",\n \"HookChorusFlowerSoil\",\n \"HookChorusPlantSoil\",\n \"HookEffectCorruption\",\n \"HookEffectInstanceCorruption\",\n \"HookEndBiome\",\n \"HookEndermanParticles\",\n \"HookEndermiteParticles\",\n \"HookEntityHelmetBreaking\",\n \"HookEntityPotionCorruption\",\n \"HookFireSpread\",\n \"HookItemEntityLavaCheck\",\n \"HookLightMapColors\",\n \"HookPlayerInventoryArmorBreaking\",\n \"HookPotionCreativeMenu\",\n \"HookThornsArmorBreaking\"\n ],\n \"injectors\": {\n \"defaultRequire\": 1\n }\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/resources/hee.mixins.json b/src/main/resources/hee.mixins.json
--- a/src/main/resources/hee.mixins.json (revision 7f9202bceb9aa7b8fac24437a2190a87857573a7)
+++ b/src/main/resources/hee.mixins.json (date 1608060366293)
@@ -3,25 +3,7 @@
"minVersion": "0.8",
"package": "chylex.hee.mixin",
"compatibilityLevel": "JAVA_8",
- "mixins": [
- "HookAnvilRepair",
- "HookBlockDrops",
- "HookChorusFlowerSoil",
- "HookChorusPlantSoil",
- "HookEffectCorruption",
- "HookEffectInstanceCorruption",
- "HookEndBiome",
- "HookEndermanParticles",
- "HookEndermiteParticles",
- "HookEntityHelmetBreaking",
- "HookEntityPotionCorruption",
- "HookFireSpread",
- "HookItemEntityLavaCheck",
- "HookLightMapColors",
- "HookPlayerInventoryArmorBreaking",
- "HookPotionCreativeMenu",
- "HookThornsArmorBreaking"
- ],
+ "mixins": [ "HookAnvilRepair", "HookBlockDrops", "HookChorusFlowerSoil", "HookChorusPlantSoil", "HookEffectCorruption", "HookEffectInstanceCorruption", "HookElytraBreaking", "HookEndBiome", "HookEndermanParticles", "HookEndermiteParticles", "HookEntityHelmetBreaking", "HookEntityPotionCorruption", "HookFireSpread", "HookItemEntityLavaCheck", "HookLightMapColors", "HookPlayerInventoryArmorBreaking", "HookPotionCreativeMenu", "HookThornsArmorBreaking" ],
"injectors": {
"defaultRequire": 1
}
Index: src/main/java/chylex/hee/mixin/HookElytraBreaking.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/chylex/hee/mixin/HookElytraBreaking.java b/src/main/java/chylex/hee/mixin/HookElytraBreaking.java
new file mode 100644
--- /dev/null (date 1608060322378)
+++ b/src/main/java/chylex/hee/mixin/HookElytraBreaking.java (date 1608060322378)
@@ -0,0 +1,27 @@
+package chylex.hee.mixin;
+
+import chylex.hee.init.ModItems;
+import net.minecraft.entity.LivingEntity;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.ElytraItem;
+import net.minecraft.item.ItemStack;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Redirect;
+import java.util.function.Consumer;
+
+@Mixin(ElytraItem.class)
+public abstract class HookElytraBreaking{
+ @Redirect(
+ method = "elytraFlightTick",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;damageItem(ILnet/minecraft/entity/LivingEntity;Ljava/util/function/Consumer;)V")
+ )
+ public void damageItem(final ItemStack stack, final int amount, final LivingEntity entity, final Consumer<LivingEntity> onBroken){
+ final ItemStack originalStack = stack.copy();
+ stack.damageItem(amount, entity, onBroken);
+
+ if (ElytraItem.isUsable(originalStack) && !ElytraItem.isUsable(stack) && entity instanceof PlayerEntity){
+ ModItems.RING_OF_PRESERVATION.onArmorDestroyed((PlayerEntity)entity, originalStack, stack);
+ }
+ }
+}

4
.idea/shelf/todo1.xml generated
View File

@@ -1,4 +0,0 @@
<changelist name="todo1" date="1601711471885" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/todo1/shelved.patch" />
<option name="DESCRIPTION" value="todo" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,2 @@
# Hardcore Ender Expansion 2 # Hardcore Ender Expansion 2
Work in progress. PRs will not be accepted before release. Work in progress. PRs will not be accepted before release.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,40 +1,37 @@
ext { buildscript{
mc_version = "1.15.2" ext.kotlin_version = "1.3.61"
forge_version = "31.2.45"
mapping_version = "20200626-1.15.1" repositories{
kotlin_mod_version = "1.6.1" jcenter()
mavenCentral()
maven{
url = "https://files.minecraftforge.net/maven"
}
}
dependencies{
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true){
exclude group: "trove", module: "trove"
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
} }
buildscript { repositories{
ext { maven{
kotlin_version = "1.4.10" url = "https://minecraft.curseforge.com/api/maven"
} }
repositories {
jcenter()
mavenCentral()
maven { url = "https://files.minecraftforge.net/maven" }
maven { url = "https://dist.creeper.host/Sponge/maven" }
}
dependencies {
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true) {
exclude group: "trove", module: "trove"
}
classpath "org.spongepowered:mixingradle:0.7-SNAPSHOT"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
} }
apply plugin: "net.minecraftforge.gradle" apply plugin: "net.minecraftforge.gradle"
apply plugin: "org.spongepowered.mixin"
apply plugin: "eclipse" apply plugin: "eclipse"
apply plugin: "idea" apply plugin: "kotlin"
if (file("run/mods_deobf.gradle").exists()){ def mcversion = "1.14.4"
apply from: "run/mods_deobf.gradle" def forgeversion = "28.1.116"
} def kottleversion = "1.4.0"
def prefixName = "displayName = " def prefixName = "displayName = "
def prefixVersion = "version = " def prefixVersion = "version = "
@@ -47,172 +44,88 @@ group = "chylex.hee"
version = metaVersion version = metaVersion
archivesBaseName = metaName.replaceAll("\\s", "") archivesBaseName = metaName.replaceAll("\\s", "")
idea { sourceCompatibility = targetCompatibility = "1.8"
module {
[".idea", ".settings", ".gradle", "build", "gradle", "out", "run", "src/main/kotlin", "src/test/kotlin"].each {
excludeDirs += file(it)
}
["out", "src/main/kotlin", "src/test/kotlin"].each { tasks.withType(JavaCompile){
excludeDirs += file("src/system/" + it) sourceCompatibility = targetCompatibility = "1.8"
}
["src/main/kotlin", "src/test/kotlin"].each {
excludeDirs += file("data/" + it)
}
}
} }
allprojects { tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile){
apply plugin: "kotlin" kotlinOptions{
jvmTarget = "1.8"
sourceCompatibility = targetCompatibility = "1.8" apiVersion = "1.3"
languageVersion = "1.3"
tasks.withType(JavaCompile) { freeCompilerArgs = [
sourceCompatibility = targetCompatibility = "1.8" "-Xno-call-assertions",
} "-Xno-param-assertions",
"-Xno-receiver-assertions",
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { "-Xjvm-default=enable",
kotlinOptions { "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes",
jvmTarget = "1.8" "-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
apiVersion = "1.4" "-XXLanguage:+InlineClasses"
languageVersion = "1.4" ]
freeCompilerArgs = [ }
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
"-Xjvm-default=all",
"-Xuse-experimental=kotlin.ExperimentalUnsignedTypes",
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
"-XXLanguage:+InlineClasses"
]
}
}
repositories {
maven {
name = "kotlinforforge"
url = "https://thedarkcolour.github.io/KotlinForForge/"
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-reflect"
}
if (file("$buildDir/classes").exists()){
file("$buildDir/classes/java/main").mkdirs() // Forge complains when the java folder is missing
}
} }
sourceSets { minecraft{
main { mappings channel: "snapshot", version: "20200119-1.14.4"
resources {
srcDirs += file("data/gen") accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg")
exclude ".cache"
} runs{
} client{
properties "hee.debug": ""
workingDirectory file("run")
mods{
hee{
source sourceSets.main
}
}
}
server{
properties "hee.debug": ""
workingDirectory file("run")
mods{
hee{
source sourceSets.main
}
}
}
}
} }
minecraft { dependencies{
mappings channel: "snapshot", version: rootProject.mapping_version minecraft "net.minecraftforge:forge:" + mcversion + "-" + forgeversion
implementation "kottle:Kottle:" + kottleversion
accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg") testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0-RC1"
runs {
client {
property "hee.debug", ""
property "mixin.env.disableRefMap", "true"
arg "-mixin.config=hee.mixins.json"
workingDirectory file("run")
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
}
}
}
server {
property "hee.debug", ""
property "mixin.env.disableRefMap", "true"
arg "-mixin.config=hee.mixins.json"
workingDirectory file("run")
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
}
}
}
data {
args "--mod", "hee"
args "--all"
args "--output", file("data/gen")
args "--existing", sourceSets.main.resources.srcDirs.first().toString()
workingDirectory file("run")
ideaModule project.name + "." + project(":datagen").name + ".main"
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
source project(":datagen").sourceSets.main
}
}
}
}
} }
dependencies { test{
minecraft "net.minecraftforge:forge:" + mc_version + "-" + forge_version systemProperty "junit.jupiter.testinstance.lifecycle.default", "per_class"
implementation "thedarkcolour:kotlinforforge:" + kotlin_mod_version
implementation project(":system")
testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0-RC1"
testImplementation project(":system")
} }
test { jar{
systemProperty "junit.jupiter.testinstance.lifecycle.default", "per_class" archiveName = archivesBaseName + "-" + mcversion + "-v" + version + ".jar"
}
from("./"){
jar { include "LICENSE"
archiveName = archivesBaseName + "-" + mc_version + "-v" + version + ".jar" }
from(project(":system").sourceSets.main.output) { manifest{
exclude "META-INF" attributes([
} "Specification-Title" : "bettersprinting",
"Specification-Version": "1",
from("./data/gen") { "Specification-Vendor" : "chylex",
exclude ".cache"
} "Implementation-Title" : metaName,
"Implementation-Version": metaVersion,
from("./") { "Implementation-Vendor" : "chylex",
include "LICENSE"
} "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
manifest { }
attributes([
"Specification-Title" : "hee",
"Specification-Version" : "1",
"Specification-Vendor" : "chylex",
"Implementation-Title" : metaName,
"Implementation-Version" : metaVersion,
"Implementation-Vendor" : "chylex",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
"MixinConfigs" : "hee.mixins.json"
])
}
} }

View File

@@ -1,49 +0,0 @@
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url = "https://files.minecraftforge.net/maven"
}
}
dependencies {
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true) {
exclude group: "trove", module: "trove"
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
}
repositories {
jcenter()
mavenCentral()
maven {
url = "https://files.minecraftforge.net/maven"
}
}
apply plugin: "net.minecraftforge.gradle"
apply plugin: "eclipse"
minecraft {
mappings channel: "snapshot", version: rootProject.mapping_version
accessTransformer = file("../src/main/resources/META-INF/accesstransformer.cfg")
}
dependencies {
minecraft "net.minecraftforge:forge:" + mc_version + "-" + forge_version
implementation rootProject
implementation project(":system")
}
jar {
manifest {
attributes([
"FMLModType": "LIBRARY"
])
}
}

View File

@@ -1,584 +0,0 @@
e09b371ae917d46666d142cf754d5974e0f62ba2 assets/hee/blockstates/accumulation_table_tier_1.json
dfb52484763c579799b3987d3f7a64476b17912d assets/hee/blockstates/accumulation_table_tier_2.json
1b00f0c4187589d7bfddbd74318372514eb42777 assets/hee/blockstates/accumulation_table_tier_3.json
64c7650c095caf50ce4eeeb55207c568a00fac32 assets/hee/blockstates/ancient_cobweb.json
1d4f3ef90328087c095a174a9713460ca8f6bfaf assets/hee/blockstates/autumn_leaves_brown.json
961c98ad3317dd3ee99eb8643597035aa5b7f603 assets/hee/blockstates/autumn_leaves_orange.json
b6cbdd074ed853e63dcc25d7933d238d79590d01 assets/hee/blockstates/autumn_leaves_red.json
e53a79fa8e5222e4287e2e5d410890b1f8df78ba assets/hee/blockstates/autumn_leaves_yellowgreen.json
270b0a5193420cb7c9c4e4f4fbf8835745c14cd2 assets/hee/blockstates/autumn_sapling_brown.json
1ce8f488560f32fddbd2532961df123665625c75 assets/hee/blockstates/autumn_sapling_orange.json
303070f9945ee2e6716e0fcd67bfa3275b93fde6 assets/hee/blockstates/autumn_sapling_red.json
694318e51ca78111cd91a507a99ab852825cdf0c assets/hee/blockstates/autumn_sapling_yellowgreen.json
e926f62a373640c427ba9ac962d7b2dcbe0ae376 assets/hee/blockstates/corrupted_energy.json
7bce0e85ae6f21ceede602f140f40c7678480790 assets/hee/blockstates/dark_chest.json
97ac658307fc07611fe9328ab95d692ab16bb92d assets/hee/blockstates/dark_loam.json
ae22b11c3b5602e44806942bcb13fad373684b47 assets/hee/blockstates/dark_loam_slab.json
155e23accb786109cd08217b7cdd380f0ee3af27 assets/hee/blockstates/death_flower_healed.json
9ab9a80ad3d8c6b962b5504fd647d00573e3e777 assets/hee/blockstates/death_flower_withered.json
6a6055195be1586a896a1caa4a5e191049c9942f assets/hee/blockstates/dusty_stone.json
9dc584e4eb0f3d456cee44cfe22f921215145539 assets/hee/blockstates/dusty_stone_brick_slab.json
1e8227c43b193d1a6b02d6ef66a9b01569670edf assets/hee/blockstates/dusty_stone_brick_stairs.json
d73ccfd90f0d1622c19fe462bde6e7f0ca45902d assets/hee/blockstates/dusty_stone_bricks.json
ce908fc9783c55e70f004ea08cb7a331affb83e6 assets/hee/blockstates/dusty_stone_cracked.json
407665b479a9778cf879e6311bd88bb88f96830b assets/hee/blockstates/dusty_stone_cracked_bricks.json
f585111795d36f6d85b7338350ec645f237947ff assets/hee/blockstates/dusty_stone_damaged.json
0c1d300ccc473a270dac86661bba30b5027c007c assets/hee/blockstates/dusty_stone_decoration.json
d07fad68947538fb496162f21c4ff1b2c340a916 assets/hee/blockstates/end_portal_acceptor.json
967b594916588e22cdc565da162901dfb6c1d4a2 assets/hee/blockstates/end_portal_frame.json
9374398b874a9f25be608e6806f2fc0622cba8b1 assets/hee/blockstates/end_portal_inner.json
81b104c19dd90b71a4e0b634a638a4c9a0cf01b7 assets/hee/blockstates/end_powder_ore.json
0dd006bb9473468d816e0058590585234a310d38 assets/hee/blockstates/end_stone_burned.json
c58f600e81996fbe72299f8ed93f4b2ceb056bd7 assets/hee/blockstates/end_stone_enchanted.json
baef7304833195deb39746f5aa4840d810427759 assets/hee/blockstates/end_stone_infested.json
378988faf9ffdf8164a9835fdc8bb3ec36c516bc assets/hee/blockstates/ender_goo.json
b3c526ff58396963e6603a40b4eb36d055d9b226 assets/hee/blockstates/enderman_head.json
b3c526ff58396963e6603a40b4eb36d055d9b226 assets/hee/blockstates/enderman_wall_head.json
e40036409e76ee28c3c4f0dc2ce15cbd57a507b1 assets/hee/blockstates/endium_block.json
065057118b66488222ab3584b89cae721e2d52de assets/hee/blockstates/endium_ore.json
318fd52750ee392bf4d2f97777edc712ac9c293b assets/hee/blockstates/ethereal_lantern.json
3f69a91d29e74284e3f351c5b7d9a85b281870f0 assets/hee/blockstates/experience_gate_controller.json
e979e4f76607a1f47794684eb43e4891b8466eda assets/hee/blockstates/experience_table_tier_1.json
02f6a5c4ffe7fb0b2b273126aafaa3f7c79ae4b1 assets/hee/blockstates/experience_table_tier_2.json
48faba0ff1cc5e837dd5669db10440f6948942d7 assets/hee/blockstates/experience_table_tier_3.json
6c597473de0d95dc01d189bcf9d9926fedc016da assets/hee/blockstates/gloomrock.json
99d18b59a9358bcff6827900f2c92b7a71ff20f2 assets/hee/blockstates/gloomrock_brick_slab.json
709bcb37f20638c0b1f068c847bd8318840575d2 assets/hee/blockstates/gloomrock_brick_stairs.json
06d6fd7b6c91d78f83e975fd4942f0572e4f0a9f assets/hee/blockstates/gloomrock_bricks.json
ba631fd0459453042c16bc3dfba84d8dc54fe0bf assets/hee/blockstates/gloomrock_smooth.json
3057070639e13621b5247934367166d939bcb51c assets/hee/blockstates/gloomrock_smooth_blue.json
cbcb18cd5ae16d72439bb72e660668756d29539c assets/hee/blockstates/gloomrock_smooth_cyan.json
d99808f5932ab3c1fb48b919d2db8686b0d9caa1 assets/hee/blockstates/gloomrock_smooth_green.json
613ef3d872bd52bbcd0c43c744d539bd0f00df6d assets/hee/blockstates/gloomrock_smooth_magenta.json
37964a6add8337ddd85953874125a99ac7d17faf assets/hee/blockstates/gloomrock_smooth_orange.json
ed3b9f7fd04d52e9b54d57b2fbe5cd006de93c1c assets/hee/blockstates/gloomrock_smooth_purple.json
bfa20a8f7bda18b878fe88d3865079e4e03b66c5 assets/hee/blockstates/gloomrock_smooth_red.json
17175df7e763c97430b51aa66fc86e502cbaaeae assets/hee/blockstates/gloomrock_smooth_slab.json
6a09598f6c514902b3e7f7edfa3e8b51627989b1 assets/hee/blockstates/gloomrock_smooth_stairs.json
f61f418bbafcbbc44e3362c012bdaecaaa6b74b5 assets/hee/blockstates/gloomrock_smooth_white.json
f55b0baaae49cfc9a51d59a9a369e0d5c81ce578 assets/hee/blockstates/gloomrock_smooth_yellow.json
3675778e003feeb05b77c19a5c587f8e227b62d7 assets/hee/blockstates/igneous_plate.json
27c4ce1cb98933f96396a29d344a78b6327cbb83 assets/hee/blockstates/igneous_rock_ore.json
f0541f01c6228aebf0871b4b72c2ec3de31d49be assets/hee/blockstates/infused_tnt.json
1e664c20ab827b107166b60a9df3e1378717f935 assets/hee/blockstates/infusion_table_tier_1.json
b0a3d8bf886b68bdb912d05d32d61e6ba353f4d0 assets/hee/blockstates/infusion_table_tier_2.json
fab8e5adbe78c08a8d9837d2317192346bafb45d assets/hee/blockstates/infusion_table_tier_3.json
07036db0a008f5901651367f2f0bbcd488559241 assets/hee/blockstates/jar_o_dust.json
3b00de5fbdcc7dfebb2699374e4200224b68b377 assets/hee/blockstates/loot_chest.json
5d5f59f893a34e8e616abdbdc8567906ae021f99 assets/hee/blockstates/miners_burial_altar.json
922f1005c22e55c329ef56039224717b2dc4c55b assets/hee/blockstates/miners_burial_block_chiseled.json
c16b5933b9af8fb1033c6d6d11e19628d7c56f4f assets/hee/blockstates/miners_burial_block_jail.json
45c8146f5aaf0e59384e5afeabc72ff3a6a23779 assets/hee/blockstates/miners_burial_block_pillar.json
b58fb5ca5bdaf639f725135a2a6682adc4c712ff assets/hee/blockstates/miners_burial_block_plain.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_chiseled.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_chiseled_lit.json
58196b68181ce4554fe7accaa29d3f1f2596b3c2 assets/hee/blockstates/obsidian_falling.json
36abdff17a5a19d1bb2d7d496305ce402b26a3c6 assets/hee/blockstates/obsidian_pillar.json
36abdff17a5a19d1bb2d7d496305ce402b26a3c6 assets/hee/blockstates/obsidian_pillar_lit.json
3c6eb037eb8731410f06b17815e9b9d3705c6b7f assets/hee/blockstates/obsidian_smooth.json
3c6eb037eb8731410f06b17815e9b9d3705c6b7f assets/hee/blockstates/obsidian_smooth_lit.json
b8b99433b93d082fafdddcbf8028802fb91ec72e assets/hee/blockstates/obsidian_stairs.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_tower_top.json
7efd5a7ae296a26f205ee605037ce83fb0b6e2dd assets/hee/blockstates/potted_autumn_sapling_brown.json
3dae664cf2477c73c2f9ecd7188a61ab49f7c0db assets/hee/blockstates/potted_autumn_sapling_orange.json
5adf27869400772d558b03c9aa76899a05bc731f assets/hee/blockstates/potted_autumn_sapling_red.json
e66523b790ee956b84f4a029892175edb15c93a4 assets/hee/blockstates/potted_autumn_sapling_yellowgreen.json
81d904d3d3e4d6daeacc7f2283baaa1d07d70ed6 assets/hee/blockstates/potted_death_flower_healed.json
103a67d126272b54869a53759a1eb068b2a4d481 assets/hee/blockstates/potted_death_flower_withered.json
b70f529af4a5d86e6313d278bed22000f5aa5239 assets/hee/blockstates/purified_ender_goo.json
7b9473e5987ea2cf6fde1a7b530895bba6891a24 assets/hee/blockstates/puzzle_block_wall.json
ce9b1e3bb4760063c69b9c671c8a567520125dd2 assets/hee/blockstates/scaffolding.json
070df87fc3b7dd9029a0bf0d59745cb0e4430181 assets/hee/blockstates/spawner_obsidian_towers.json
947fcca21b602927ed0ead585ea1d2213372f074 assets/hee/blockstates/table_base_tier_1.json
404f8c1b45214db75959f02706dc10c66b278970 assets/hee/blockstates/table_base_tier_2.json
805a8e554ff95cea28405e6de97da053986bd9df assets/hee/blockstates/table_base_tier_3.json
c1ab1041076b7ca972106523912e517c9426e2ae assets/hee/blockstates/vantablock.json
5d3944f63a3f685c824e7210885afad1b500ad04 assets/hee/blockstates/void_portal_frame.json
cdec448668f4779142ce0d53ca8b225b16bbf6bc assets/hee/blockstates/void_portal_frame_crafted.json
9374398b874a9f25be608e6806f2fc0622cba8b1 assets/hee/blockstates/void_portal_inner.json
3cfceb3e6ab5611c49f8922397fc407e67f80abf assets/hee/blockstates/void_portal_storage.json
c389eedbbe42d28f5ceea56b48c89b67ce4e1afa assets/hee/blockstates/void_portal_storage_crafted.json
4cfe2854f9a07843b5c81941ffa2c5dc09d71a17 assets/hee/blockstates/whitebark.json
249a4cebff92532cc7a7cb4d54d5db8cfdebc771 assets/hee/blockstates/whitebark_log.json
281264d279f075947ee2f8afdb78190364782921 assets/hee/blockstates/whitebark_planks.json
976d2b47d52e04eb9944e3c4c8aee9a91f315ade assets/hee/blockstates/whitebark_slab.json
776dd79a096f999f2606047486af73aca71a6cf0 assets/hee/blockstates/whitebark_stairs.json
a3127926cde114f660a9748f9d2ff6c378778d6a assets/hee/models/block/accumulation_table_tier_1.json
c87320b92ede3bf18f7497cf59689d15ef18969b assets/hee/models/block/accumulation_table_tier_2.json
0adc1ddee430fc2aacd2b6a32fbc1fea048345c2 assets/hee/models/block/accumulation_table_tier_3.json
f5a0ce0b1552b59fbd585d82ad7dc22f2e4f7202 assets/hee/models/block/ancient_cobweb.json
85f08c6a03ff2355552e3d23c34ba4950ee715c0 assets/hee/models/block/autumn_leaves_brown.json
73690d671b7588e736be5747e395cda0b05681d0 assets/hee/models/block/autumn_leaves_orange.json
a7681a39143ebd00e76c52e04102ec6d0ef49996 assets/hee/models/block/autumn_leaves_red.json
b9921617ab7299304e5a62126f0e3cb3ba387d10 assets/hee/models/block/autumn_leaves_yellowgreen.json
527d0b22cb75b9b5f6064cfbea82cf9b0e6f5bee assets/hee/models/block/autumn_sapling_brown.json
3a89a6b4d7353148a740dbafe27f2d1af3b508ed assets/hee/models/block/autumn_sapling_orange.json
36cea0264aa43b3ca8a6c1b6356ad4f9d1f30f8f assets/hee/models/block/autumn_sapling_red.json
309230ae789305f68680e6a3952e5b0080ab2cf8 assets/hee/models/block/autumn_sapling_yellowgreen.json
57a8082130798e045d905406ba36c88b7aa25c4b assets/hee/models/block/cauldron_dragons_breath_level1.json
95d97030b8ed0b4a68b5c4d110bddd782b0e1f24 assets/hee/models/block/cauldron_dragons_breath_level2.json
4ec96e37017f5b2d37c0043fc2777210c56887d8 assets/hee/models/block/cauldron_dragons_breath_level3.json
f343686bf0a9923c8cbb247bcc69f8a190763504 assets/hee/models/block/cauldron_ender_goo_level1.json
08c6586789b11eefb3e660407851869eeebfcce0 assets/hee/models/block/cauldron_ender_goo_level2.json
14b18e57ab3afee889cca25b5f76a6b9b487a974 assets/hee/models/block/cauldron_ender_goo_level3.json
59a64b517e41241d1744005f2a003af7f661e209 assets/hee/models/block/cauldron_purified_ender_goo_level1.json
de38ac2f4222080a706bb22235b8d07a592db296 assets/hee/models/block/cauldron_purified_ender_goo_level2.json
f47dd5e887771067a2a5383ce46aa311bd95f90c assets/hee/models/block/cauldron_purified_ender_goo_level3.json
8eec038e2ef5a9ec058f4990e1e3b361570548d5 assets/hee/models/block/corrupted_energy.json
ad88e3d4e3bd11b06d0a4a93ebed8be76aa89317 assets/hee/models/block/dark_chest.json
e5a5af4002a534f8b77fd76e0d6caab4445d5b00 assets/hee/models/block/dark_loam.json
e734982b95fc45c399a5594141f023368241276f assets/hee/models/block/dark_loam_slab.json
9fa22a76cbfcfc3c570bb25a937db987fbc05441 assets/hee/models/block/dark_loam_slab_top.json
27df86cc0d90165dcfef0de1df77ad014629850b assets/hee/models/block/death_flower_1.json
6d9a781d67eb4dbe2d2f31d9b5845a0ab9eb6ca4 assets/hee/models/block/death_flower_2.json
368b95a90a905636deef937dd3019fe19ac9b332 assets/hee/models/block/death_flower_3.json
99d9b9ea30a882a96d82e33fc97e3951a4b0eba5 assets/hee/models/block/death_flower_4.json
06a57555956648436c015235844f327fb9320be0 assets/hee/models/block/death_flower_healed.json
0bac81f0f958b5f353609f845418478177bd3052 assets/hee/models/block/death_flower_withered.json
96d98103e317debe5442d90300ff701fbb004a39 assets/hee/models/block/dusty_stone.json
c38623c1e3ad050cb365356ec75625b07900bffd assets/hee/models/block/dusty_stone_brick_slab.json
6b78fb1a643e24694d27432d7e70c049afdcd2e2 assets/hee/models/block/dusty_stone_brick_slab_top.json
45d4c4f122e8a5ea641d50d5b89b6bf0b0386ce8 assets/hee/models/block/dusty_stone_brick_stairs.json
2429b27385b4c8681fdc8f555a5383f3a7825422 assets/hee/models/block/dusty_stone_brick_stairs_inner.json
360a54b0599116930fa4b1c146a623e7c6add822 assets/hee/models/block/dusty_stone_brick_stairs_outer.json
37c7389a1e1f4435cf51ff75ee536e638db0fc02 assets/hee/models/block/dusty_stone_bricks.json
47e1b115f601c3f98658498f5c3a1e304360e977 assets/hee/models/block/dusty_stone_cracked.json
9873221fc0ada7602335594dbab22b3c0992714c assets/hee/models/block/dusty_stone_cracked_bricks.json
682e5d72431d1c400ee5e60e668766217ea2ff87 assets/hee/models/block/dusty_stone_damaged.json
47f10ef5621a1ec67f3e2deab47a8cb7da797867 assets/hee/models/block/dusty_stone_decoration.json
089b25127e23a55a018919f222745279ecfad754 assets/hee/models/block/end_portal_acceptor.json
8264ce5f8e94d5ed043642029ef000107ee35c55 assets/hee/models/block/end_portal_frame.json
4d54ca0d643dac45034429b479e32ff5642aa373 assets/hee/models/block/end_powder_ore.json
2a07c9e7472d636276bd390049045bb352e7f49d assets/hee/models/block/end_stone_burned.json
b92c3fc4f8a276a9563b6eb6ff698446285f8163 assets/hee/models/block/end_stone_enchanted.json
9ba702bf9cff6144346128369baa3eba1e7245c4 assets/hee/models/block/end_stone_infested.json
29b10fc3da83e5afd32687e8fb470680936d48ed assets/hee/models/block/ender_goo.json
a6161ca3eff0acf2167182bbdee7728d7008fe92 assets/hee/models/block/endersol.json
cd7eabdba73e8b92254f783c3e457888424d4969 assets/hee/models/block/endersol_merge_1.json
0747054b5bf4218e96f37dedc6f61e842cb56218 assets/hee/models/block/endersol_merge_2.json
ad877d7e542671b5b75b3d4a453be1a884f1d60a assets/hee/models/block/endium_block.json
494df62cf8faddf115c46d4a2de14531b638b557 assets/hee/models/block/endium_ore.json
f7ce59a3f35221e51952b9b3f33d664ee94a0453 assets/hee/models/block/enhanced_brewing_stand.json
10330ff54082b1d21653c15b90f48857a00cc37f assets/hee/models/block/ethereal_lantern.json
6b85ef98e153114a10d0da321c96a3a8c47f8ff8 assets/hee/models/block/experience_gate.json
99e8732816d87b7908206bb20b6c890bcdd2798b assets/hee/models/block/experience_gate_controller.json
e2341e985fabd9e6a94471997a1baeed2d1ae056 assets/hee/models/block/experience_gate_rd1.json
7b388522136f2304bfe2cf11a1abf470d93ba452 assets/hee/models/block/experience_gate_rd2.json
cb4790e4cd8cb8038727301ef6f9a527977b9d78 assets/hee/models/block/experience_gate_ud.json
d5b8a293956fd0805aff3ccdb90b99b25a89b4f8 assets/hee/models/block/experience_table_tier_1.json
d076ed21d4a7166002009b11c028013021a200bf assets/hee/models/block/experience_table_tier_2.json
ee4870a6f54463bc01cbc87f228485a342a2cde7 assets/hee/models/block/experience_table_tier_3.json
dd60beb1fac8cf85a006401abfccbe5ad6bd02a6 assets/hee/models/block/gloomrock.json
e5854017a3424595246e55416ecd1be6401affb3 assets/hee/models/block/gloomrock_brick_slab.json
dcf799aa8268e8fb81eee791b30fed0193680a37 assets/hee/models/block/gloomrock_brick_slab_top.json
4dbd07b78be477a5ebb3a27be707cfbbfdf71fd4 assets/hee/models/block/gloomrock_brick_stairs.json
8793a1b64cae383bf068df158a8e99ad0dc5c40d assets/hee/models/block/gloomrock_brick_stairs_inner.json
171ed7421a26a9e102b0737486061804278d4140 assets/hee/models/block/gloomrock_brick_stairs_outer.json
dc63e38e2c5d80ad6b98b86e37b241fb183cd06a assets/hee/models/block/gloomrock_bricks.json
8f7b1ccbe6971bd9b1ff9d4180ae2217fe014e95 assets/hee/models/block/gloomrock_smooth.json
88b2ffe5c90bcfddd021f6fbf5dae418a147075e assets/hee/models/block/gloomrock_smooth_blue.json
e085d01d475338f5704a307ce7a6fc9f5f0fad6b assets/hee/models/block/gloomrock_smooth_cyan.json
797504b460ba770e80f8cdcf7c731999cacaf038 assets/hee/models/block/gloomrock_smooth_green.json
be2eef39790cf0e7b3f0b3254ab1af98b054e70a assets/hee/models/block/gloomrock_smooth_magenta.json
93b901086c913f3f9c6aa7406a2e6b9506598dd0 assets/hee/models/block/gloomrock_smooth_orange.json
b85cb86d0569bb4b990a95e37834611c910fd840 assets/hee/models/block/gloomrock_smooth_purple.json
670773ec938e587d32e1032e6c1a4e6fd3ceb83c assets/hee/models/block/gloomrock_smooth_red.json
1970ee45f429409ca5b006a0f53229e71eb62e30 assets/hee/models/block/gloomrock_smooth_slab.json
3b3abaa9f8fbd9141f44bba2ee92c9d3a42e5048 assets/hee/models/block/gloomrock_smooth_slab_top.json
b63680a04dffdfbc5b271f41eb34a07f04ff071c assets/hee/models/block/gloomrock_smooth_stairs.json
015336b87078b38c4b2aba486ce01b71442e3005 assets/hee/models/block/gloomrock_smooth_stairs_inner.json
6df66a06e5e22bab055e0d541b3d7ce58d653686 assets/hee/models/block/gloomrock_smooth_stairs_outer.json
2c6e15e6bf8d7ff937721cb61f859f04dac2c641 assets/hee/models/block/gloomrock_smooth_white.json
3b65578d2022f0cee4277ec0d32b6bd94f83fbb5 assets/hee/models/block/gloomrock_smooth_yellow.json
f663a22199f61b84942bb2490f8a1401891aade7 assets/hee/models/block/grave_dirt_full.json
802dd6b045233a44bd8d9678efef7b79bbf0b42f assets/hee/models/block/grave_dirt_loot_1.json
8dae96b18114e8ca77b384a003adca6c0090470e assets/hee/models/block/grave_dirt_loot_2.json
9eb17a6fd0e7dac0d3c3189d902a059b5c2f4f64 assets/hee/models/block/grave_dirt_loot_3.json
2efb385ab24ce61be0dffa8bcebc7dd9ce3e2f29 assets/hee/models/block/grave_dirt_loot_4.json
f7c63afe14f1173e1f1ff1679bba3abd0c160534 assets/hee/models/block/grave_dirt_loot_5.json
d416b2563d93dcea43aa49f4fb61064f45c79232 assets/hee/models/block/grave_dirt_loot_6.json
a65a90f3bdeaab465ba8379a331d8669e1489e86 assets/hee/models/block/humus.json
02358f3a229780e80687acf7d7eeb6739e03f553 assets/hee/models/block/humus_merge.json
ac3b3e5529b6baf2447aa9e8e025b35a77032c1a assets/hee/models/block/igneous_plate.json
7d565e2c21d217a0e33fef46830eb63795cbc934 assets/hee/models/block/igneous_rock_ore.json
597e525c33450a4d59e3b546e18fbb32ac4883cf assets/hee/models/block/infused_tnt.json
63f514ba3c4648bbe843ab4bc5ddf1df70025f0c assets/hee/models/block/infusion_table_tier_1.json
71efff4640a6fe83ac449de2204e2d2bd0e3f97e assets/hee/models/block/infusion_table_tier_2.json
18c56872e21de3d66f642f1d6a3c4bccafc461c8 assets/hee/models/block/infusion_table_tier_3.json
b23cd553caf3084a28382817e4e53d1e18bf5b44 assets/hee/models/block/loot_chest.json
1532307368f97baefe1c54da15b678e13f4b78cd assets/hee/models/block/miners_burial_block_chiseled.json
753d5c5e34b31cd8bb90e152f12ede53b1178272 assets/hee/models/block/miners_burial_block_jail.json
3ba10eb54e8a6dd4a6580bb7516c6c401f6bda1f assets/hee/models/block/miners_burial_block_pillar.json
06661b8c3b96fc0267d402cea35425fc1fd8ef78 assets/hee/models/block/miners_burial_block_plain.json
9c1b2b26f3e359399406c06428717a4d74428239 assets/hee/models/block/obsidian_chiseled.json
f463c84bdfcb03fda47bede7cbb441599128114f assets/hee/models/block/obsidian_falling.json
ffac40bd0f51bca508dff0687f0123a18834f0bd assets/hee/models/block/obsidian_pillar.json
e12fee6dca189053dd2b061b24431d724c40a8ca assets/hee/models/block/obsidian_smooth.json
a0aee16577b35be488a1c446137203cb1087f0d4 assets/hee/models/block/obsidian_stairs.json
c22ad168ae55565a9c4aec46c760769ca3d6f79c assets/hee/models/block/obsidian_stairs_inner.json
2e7a3af8b388868c94a6d634fa6a6debd78ac706 assets/hee/models/block/obsidian_stairs_outer.json
eb950cf6ed456ba5269288de9bcc8f9cb8b6a883 assets/hee/models/block/potted_autumn_sapling_brown.json
72a2c856cfe64e0089f60aecccdf8abae85534c6 assets/hee/models/block/potted_autumn_sapling_orange.json
2820553eac77fff5872efb445fa75748b76c6a5a assets/hee/models/block/potted_autumn_sapling_red.json
3092c5c8e88345dc2327b3cd44180a7639d28313 assets/hee/models/block/potted_autumn_sapling_yellowgreen.json
a6c42828eaf249a1f7a7c12857f3beb05b732020 assets/hee/models/block/potted_death_flower_1.json
414d97a93b938f19bdd5ee5bb83507e91345acbd assets/hee/models/block/potted_death_flower_2.json
50e425d9494935aa5ee2b33efc9c0d2c7b73df91 assets/hee/models/block/potted_death_flower_3.json
9899539cd7e769d6c1bda3327344915cf4d2b3fc assets/hee/models/block/potted_death_flower_4.json
53fd7eb645f845b1fd4ecfbe0be68ee99f9a4ed7 assets/hee/models/block/potted_death_flower_healed.json
34796396bc6a7c920c200e2ab071c85828e86c4b assets/hee/models/block/potted_death_flower_withered.json
e263407687e777250cc092c8c7cc1b1f95bd69b7 assets/hee/models/block/purified_ender_goo.json
cdca16c8bf3446af886dadfed6f8bb75d9ca8aa1 assets/hee/models/block/puzzle_base_active.json
79a9ce0aced147650140cf5c4b38583d59dc64da assets/hee/models/block/puzzle_base_disabled.json
453a5fc499c51b091014a8ab105d6486e10a631e assets/hee/models/block/puzzle_base_inactive.json
6421450799aad14b172a76826446cde53b143518 assets/hee/models/block/puzzle_block_wall.json
905c46cc5a0e5c8ab37a6047d33494289974342c assets/hee/models/block/puzzle_overlay_burst_3.json
fffe32de4f74c8e238b7fba46f6a7fd96c00073c assets/hee/models/block/puzzle_overlay_burst_5.json
e7143ed84eb7bdc26b75dcb81a20c55e474b7efc assets/hee/models/block/puzzle_overlay_redirect_1e.json
8e063a04986a911d1c2fdce7b47eaf7b0f2f085f assets/hee/models/block/puzzle_overlay_redirect_1n.json
863043b20a87c1ae501f6c6ca5232bb5f65bb46c assets/hee/models/block/puzzle_overlay_redirect_1s.json
df1da07bdb9f4c6ef5caf10d7b0d4ce670ad84a5 assets/hee/models/block/puzzle_overlay_redirect_1w.json
68ec6de6f1c587eb1b29f22905765d7422e8df14 assets/hee/models/block/puzzle_overlay_redirect_2ew.json
acb30b3674a73745e14ec2e2645fe90077aaad80 assets/hee/models/block/puzzle_overlay_redirect_2ns.json
dfbe5ca94466b5bba9f76af8884c9e023ca0f88e assets/hee/models/block/puzzle_overlay_redirect_4.json
b5a186bc8fadaf0359a19cee67a9e36c3c54edc7 assets/hee/models/block/puzzle_overlay_teleport.json
c76f5ddc22151edad5a90dc8d36a6a21742d4825 assets/hee/models/block/stardust_ore.json
69531e8b56d1f22f248abe2119b3d328436e83b4 assets/hee/models/block/stone_brick_wall_inventory.json
436d53c415540b32d002c7d7e84e04685fcf451b assets/hee/models/block/stone_brick_wall_post.json
293dd8d478be6c72d3a2e9fc701a0d8041b78ad1 assets/hee/models/block/stone_brick_wall_side.json
41ed731b9cdf43c640eb30b4afe4d07c398998d8 assets/hee/models/block/table_base_tier_1.json
80dba135838e7e09bdaec81de85ed1cac86afaba assets/hee/models/block/table_base_tier_2.json
599436b696068b179b023bdf27ff8f550c83b1f5 assets/hee/models/block/table_base_tier_3.json
9fd50649be4bdffdf19d46dbb966948b61b6dbd5 assets/hee/models/block/table_tier_1.json
16c6486c444a71545d0daddafb0f3ea3902e11c1 assets/hee/models/block/table_tier_2.json
abfe03a326e076947a48407184a22c1531134e15 assets/hee/models/block/table_tier_3.json
2a126f2bb546dc28b4545fccec5e1d0a522bcb27 assets/hee/models/block/vantablock.json
ab0a1800b6187fd05e589be57687c501f49ac7a7 assets/hee/models/block/void_portal_frame.json
ab0a1800b6187fd05e589be57687c501f49ac7a7 assets/hee/models/block/void_portal_frame_crafted.json
b3c9bd5a8feb5785e0b421c1b5e01dd91854c12a assets/hee/models/block/void_portal_storage.json
b3c9bd5a8feb5785e0b421c1b5e01dd91854c12a assets/hee/models/block/void_portal_storage_crafted.json
925012d29c33f75f0bc4bdda7d726a97135d8d30 assets/hee/models/block/whitebark.json
59a93d008066a819c842360d01d899f0f2234394 assets/hee/models/block/whitebark_log.json
2bfa948c604c4ee7513e12e3649e55e190cd0a65 assets/hee/models/block/whitebark_planks.json
61b3e27341c07c21e0a78a876e1026c844aa9c73 assets/hee/models/block/whitebark_slab.json
866614329f097be1f40a9b8e80acf214a795b8fe assets/hee/models/block/whitebark_slab_top.json
aee09e3fdc4244eac11852168590ba6acae8eb75 assets/hee/models/block/whitebark_stairs.json
b3d691859554bae609c8e942e1e02693b7f62c39 assets/hee/models/block/whitebark_stairs_inner.json
bde486f1ae1775d6eaf5b2770f252815952c5a09 assets/hee/models/block/whitebark_stairs_outer.json
58727a817f32ab033f22bb542b2f00fb597c015f assets/hee/models/item/accumulation_table_core.json
29fda0b69b0bd33e1387a509001087c85f9f3584 assets/hee/models/item/accumulation_table_tier_1.json
9b3ed5d436d95a87f5e10102572d0b504a373a6a assets/hee/models/item/accumulation_table_tier_2.json
17c6040f6c7ef96ae687924eb6337760784c4032 assets/hee/models/item/accumulation_table_tier_3.json
519677517417006bd650eff371f8fd39376c88e4 assets/hee/models/item/alteration_nexus.json
75b1bbfc036225bbc5c1fdef68f80132a4a5b2ef assets/hee/models/item/amelior.json
e14a286bb906068799d7593c88bf7ca92599e9a9 assets/hee/models/item/amulet_of_recovery.json
07e75402c03c713b381864b5a4e8049a8a6d495b assets/hee/models/item/amulet_of_recovery_held.json
1f2823788829cca9f4e4a60c6da8ca4a5f4d198f assets/hee/models/item/ancient_cobweb.json
83fca51d47b97beeef137ffd178af13d9443d501 assets/hee/models/item/ancient_dust.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/angry_enderman_spawn_egg.json
a1832ac0a6d7ba4740e1304226ca096c2f36a7c1 assets/hee/models/item/auricion.json
c58547a5da39a6cc21cc89c4e356ee4a2d95477c assets/hee/models/item/autumn_leaves_brown.json
0195e6157eb8125db9625c75467e8140ea1bc883 assets/hee/models/item/autumn_leaves_orange.json
f0a3371c2e3e14357336f10116204da9832fd082 assets/hee/models/item/autumn_leaves_red.json
843f49a4b4eec8b7f1c2ee29ed165832821e17a5 assets/hee/models/item/autumn_leaves_yellowgreen.json
e95f14a54e64aaa7bfedb6c812824bf4407b5766 assets/hee/models/item/autumn_sapling_brown.json
d762ea1869e7a998dae3ce2500ed02d181aafc69 assets/hee/models/item/autumn_sapling_orange.json
8e99a8d20f6d7ef5b210c822ea557e86e914a721 assets/hee/models/item/autumn_sapling_red.json
1730472ca46fd8e777b0f5d57bb73906598f106a assets/hee/models/item/autumn_sapling_yellowgreen.json
1d3ac095ec2cdca828663cd0ed0d9b2fb8a8d52d assets/hee/models/item/binding_essence.json
6af6173ea70e2e8321657d145e55aef173f0328d assets/hee/models/item/blank_token.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/blobby_spawn_egg.json
066adb92d80f4bd2f4719230fd1db6221bd569b7 assets/hee/models/item/compost.json
bd805b17a4641f39e85e70aa5e10f45b0f0d32ce assets/hee/models/item/corrupted_energy.json
50eb3ea252a7bae24f52b9f414f883f9924bed93 assets/hee/models/item/dark_chest.json
45959256d2d1b4548f4f528d2d690816697955d2 assets/hee/models/item/dark_loam.json
d6669437273af857f67460b9ffc674f07cc07630 assets/hee/models/item/dark_loam_slab.json
2158b120c5310514f6dc3d7ed23dda2377aaac94 assets/hee/models/item/death_flower.json
46d8c4b0da74cb645fb5f88ab4081abcb7df268c assets/hee/models/item/death_flower_1.json
84e620bd512f1f39478a0758fec24a3ec35f02fb assets/hee/models/item/death_flower_2.json
61c653f977a58a8dfa1f274e673dc6c5f620e7e1 assets/hee/models/item/death_flower_3.json
153c9779a0a1f8dc95c000c2f7c92604dfdf77a8 assets/hee/models/item/death_flower_4.json
4adea84d11f03a11c378ae9c71ea76d23bf691a4 assets/hee/models/item/death_flower_healed.json
6ac0ca2f78da37bf923364a7f3423edd5583203e assets/hee/models/item/death_flower_withered.json
ae6b487851db2c6fdb6e1ff503daaf83109e4a3f assets/hee/models/item/dirty_infernium_ingot.json
1dce873fc89db15c99c08e38439aaf4c9695a3dd assets/hee/models/item/dragon_scale.json
6680b39053b280a9c4f87a0aa634a2a8f857bf05 assets/hee/models/item/dry_vines.json
5c883c3f41988cbb8c2d951f0618ea4c0e6f05fc assets/hee/models/item/dusty_stone.json
44cc06238796ba005591874fa0d7212b7cadd677 assets/hee/models/item/dusty_stone_brick_slab.json
8fde3d2930c4bf486e7915842e066b1994ac06ec assets/hee/models/item/dusty_stone_brick_stairs.json
61899040b66745e4c112680fe15be4b1bb2dfb91 assets/hee/models/item/dusty_stone_bricks.json
bf175fd613b22e2a4c4b4eff18390e560b216475 assets/hee/models/item/dusty_stone_cracked.json
edd2fb824d66be21a03cbf2ca5acb66b9356e0b0 assets/hee/models/item/dusty_stone_cracked_bricks.json
e6495ff33b83daf5fb46caa0ae218692cef24983 assets/hee/models/item/dusty_stone_damaged.json
22032289cbd150dd51b35dc33d0978b1b25fa6e0 assets/hee/models/item/dusty_stone_decoration.json
37d9ec9fa292db62bb8d0fd8767d0bb94506a713 assets/hee/models/item/ectoplasm.json
534d83cf1d8143a886a78dce7b44d0cb9e774391 assets/hee/models/item/enchanted_claw.json
1da33f8b25e7cb110206a690044c62fb5f376e17 assets/hee/models/item/end_portal_acceptor.json
abc621bf572678443064042b3af7edffd693e725 assets/hee/models/item/end_portal_frame.json
acaeff15707c76d36a48bad65c9a4814e5a371d6 assets/hee/models/item/end_powder.json
841ff4a4501f7a08fa8da46813a57a1cb966e813 assets/hee/models/item/end_powder_ore.json
5456d2995061acdb3ec8d0386323cb025ed48dc7 assets/hee/models/item/end_stone_burned.json
4f57b1726466bb1eb0f6847c7f79e333b536dac5 assets/hee/models/item/end_stone_enchanted.json
3eaa48b3e48d003fdc262a53f198e49de3a4d84b assets/hee/models/item/end_stone_infested.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/ender_eye_spawn_egg.json
bc561c5e35778468667d37fda69ff333f3532ef3 assets/hee/models/item/ender_goo_bucket.json
4bc90be7c28968c1caf2b4f9f74bcc859b72da19 assets/hee/models/item/enderman_head.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/endermite_instability_spawn_egg.json
fb147135094add14099b0cb88104449cef93172f assets/hee/models/item/endersol.json
00ea9ddf2328b946fede7a96ae26941a2a244a64 assets/hee/models/item/endium_block.json
36b710de880f3669642b1311f29a2726f0e686a5 assets/hee/models/item/endium_ingot.json
663ea0f291bc3fcf4fd1dd7f7b633a3f5444d19c assets/hee/models/item/endium_nugget.json
baa90fe786e281b9c0bbcd46216d75cc70f138ed assets/hee/models/item/endium_ore.json
f0e4798b4a2fce87631034675a16a7b65b74932b assets/hee/models/item/energy_cluster.json
985b5436b3d9f04afc9e5c962fe3293461df1fbf assets/hee/models/item/energy_oracle.json
1af55c36a4356c9cc987d8042a7c5f4622748e81 assets/hee/models/item/energy_oracle_active_full.json
320db1ca04949669203abede01596c4b3f1b8229 assets/hee/models/item/energy_oracle_active_mild.json
f937c1ca521b8afbb1621a7b2723ce5a52842312 assets/hee/models/item/energy_receptacle.json
f1cb2e95c7acaa795827a785d67094a4fa09ac99 assets/hee/models/item/energy_receptacle_with_cluster.json
728d4434047ca1d7d2357d58ea1a410c2c1200de assets/hee/models/item/enhanced_brewing_stand.json
dbeff56876e8685507aac69b36706a8cedad06d8 assets/hee/models/item/ethereal_lantern.json
12eb81c2e73711a03f69ea7b0fc74ce5df5b5e2b assets/hee/models/item/ethereum.json
47fe20a9ae70b0f1a7bd3c5c8e5192160cf1597f assets/hee/models/item/experience_bottle.json
be887ee715153936025a1bf9c5a323cceba9a734 assets/hee/models/item/experience_gate.json
04fc2cd874252d4b4fe0c378e785649954d15060 assets/hee/models/item/experience_gate_controller.json
d2b32b618f590475190d05830639bba303c05327 assets/hee/models/item/experience_table_core.json
6b86f78b2fd64f7d46033d84f18741b8e1f80bee assets/hee/models/item/experience_table_tier_1.json
39067ccd67f341609c8e687e7aa36451c63448d0 assets/hee/models/item/experience_table_tier_2.json
d230b54ddf2925b3453ba0dee5a530477d83dfc0 assets/hee/models/item/experience_table_tier_3.json
135f0f07203e9253ef1ee93fde653f3ea3317e8a assets/hee/models/item/flint_and_infernium.json
0c197fa73f7bc7a069f1e63fdaccc22953682eed assets/hee/models/item/gloomrock.json
77d91e745be5f76a3afdeba04391b2e38dd40f42 assets/hee/models/item/gloomrock_brick_slab.json
22f9872450c8b5a2679fd4fb77b86f7724eb32c6 assets/hee/models/item/gloomrock_brick_stairs.json
20ccc0755349386546aed14d420240239d1809ef assets/hee/models/item/gloomrock_bricks.json
ff97d0fc52ddfd229579bcdc98c78f7ac8afd21d assets/hee/models/item/gloomrock_smooth.json
391581a331e3f21e1070dd78154eaac2eda0b94a assets/hee/models/item/gloomrock_smooth_blue.json
c02964fd07dca48c5452613d8282b0eb5dbac130 assets/hee/models/item/gloomrock_smooth_cyan.json
40113720c706397f69f0b45bc685a974275def19 assets/hee/models/item/gloomrock_smooth_green.json
ed3a3129956335ea1bd5d0bd0d25453efdc57ecf assets/hee/models/item/gloomrock_smooth_magenta.json
9aaf75cd9fbb311213a25c142bf3ac87be3e3af3 assets/hee/models/item/gloomrock_smooth_orange.json
ffd3c5f32254dac68bfa8cf5b861ab718801653a assets/hee/models/item/gloomrock_smooth_purple.json
2e1c80ccd51eaa8c7c301a65f0106096c8d174d6 assets/hee/models/item/gloomrock_smooth_red.json
0abb3f03aaaf04f29ccaf158de730ccd414ec940 assets/hee/models/item/gloomrock_smooth_slab.json
494ed7ece658bd8129055592f9207f43058f1783 assets/hee/models/item/gloomrock_smooth_stairs.json
616aba6a22836b4b5b0431b8ce0415726756df4a assets/hee/models/item/gloomrock_smooth_white.json
722a98617cf38486b7b6a202a3403d558644bedb assets/hee/models/item/gloomrock_smooth_yellow.json
0b7b33a61555978fd0f0e71a04719f78d5871c55 assets/hee/models/item/gloomtorch.json
f86134f023c3a3b39ca42acc6f39c8b2debb6492 assets/hee/models/item/grave_dirt.json
80d941a4f661bc9f77eb36848c137eb95ae817db assets/hee/models/item/grave_dirt_loot.json
f86134f023c3a3b39ca42acc6f39c8b2debb6492 assets/hee/models/item/grave_dirt_spiderling.json
43771785c5b33210e8bb17e6240e6927dd3074f6 assets/hee/models/item/humus.json
8326030007da6b72aa787585105b601b9b64df0c assets/hee/models/item/igneous_plate.json
e4d70fde368e241d25bb8584a38aa44655f9a8ff assets/hee/models/item/igneous_rock.json
f3c80f531a7b7bf16caa6c1ea9ccd75d69ce296c assets/hee/models/item/igneous_rock_ore.json
20b733841c5b76ebe77ef7af189fe59a289dcae1 assets/hee/models/item/infernium.json
6837505cbe9a21ee0f14d534a080d080fab178e8 assets/hee/models/item/infernium_ingot.json
1401209abbdc7734550c937c68b4042da84e8296 assets/hee/models/item/infused_ender_pearl.json
cbd1e6787e2d71d04a70027b0b312655bbc1cb57 assets/hee/models/item/infused_glass.json
87a94cb8c8d61f599c1db7cbd8c6653f08722028 assets/hee/models/item/infused_tnt.json
fcb913f4ea4404923e626d9bd58a7fcaa3a32678 assets/hee/models/item/infusion_table_core.json
c489f2923e462ed978a0dbbab50730f3196f079d assets/hee/models/item/infusion_table_tier_1.json
dcc2f456158e470a30d33fc750113763dade4337 assets/hee/models/item/infusion_table_tier_2.json
dbc99db6c80c85b386d279d5f07bb6abd79d70d2 assets/hee/models/item/infusion_table_tier_3.json
2a72cca4da492d5e971a3f2fe5368a7971210fff assets/hee/models/item/instability_orb.json
3e09b8d0b1770aefd331df22a50e34255c4a3507 assets/hee/models/item/knowledge_note.json
9a50fa05e3738bed55c7bf239ab237ba4ebdce60 assets/hee/models/item/linking_gem.json
50eb3ea252a7bae24f52b9f414f883f9924bed93 assets/hee/models/item/loot_chest.json
bc29ffb141033419ff037d7c0f87bfd43e2a0eeb assets/hee/models/item/mega_void_salad.json
95ccdc827661a4ca9ae90045a8baeb7252acce80 assets/hee/models/item/miners_burial_altar.json
321ffe632896e82f1c6967dd3dd1f41c04c2791a assets/hee/models/item/miners_burial_block_chiseled.json
5f347e02bcfb34cb86524ba28c6481ec5b63df3c assets/hee/models/item/miners_burial_block_jail.json
b0ccc08c142525e3d82a6643d34dfb0d82385571 assets/hee/models/item/miners_burial_block_pillar.json
8e0fc42a6a28596571ec0877ab3a9af7901adeaa assets/hee/models/item/miners_burial_block_plain.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_chiseled.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_chiseled_lit.json
6ec06a3d2286e954a180a021f8e2fa0847bc62a9 assets/hee/models/item/obsidian_falling.json
8ed26ada407bcb16daaa3e73ee4eca80fc0b2dfa assets/hee/models/item/obsidian_fragment.json
28e22c71e0b66c4f05a034efed3fdc1c53ed3446 assets/hee/models/item/obsidian_pillar.json
28e22c71e0b66c4f05a034efed3fdc1c53ed3446 assets/hee/models/item/obsidian_pillar_lit.json
5cce674f56184d54503d1b53bd6df587d8b6d1ff assets/hee/models/item/obsidian_rod.json
3cd76aaab489b5f59bcb03661ad7985fca28ab50 assets/hee/models/item/obsidian_smooth.json
3cd76aaab489b5f59bcb03661ad7985fca28ab50 assets/hee/models/item/obsidian_smooth_lit.json
065a2b9d6d23c21d720bd6e613a8bd0951f7767a assets/hee/models/item/obsidian_stairs.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_tower_top.json
460da0eadfb9a5a6587f6c4ef44517ec3e372766 assets/hee/models/item/portal_token.json
b0a0ea36fbe5e98c3be783a86b280e9fb4e804e0 assets/hee/models/item/portal_token_rare.json
d23d582796975225a5c0e13a8b76ac9fb5627112 assets/hee/models/item/portal_token_rare_corrupted.json
d277ad51c2ab5b9046bfac7a60d87b64fac80ae1 assets/hee/models/item/portal_token_solitary.json
b085518b4384882dbd09e39af22cc8d81a47fb04 assets/hee/models/item/purified_ender_goo_bucket.json
b0b0a45f5cd6bd97666bc12698313d417d634ff2 assets/hee/models/item/purity_extract.json
dd7ce403cf0eb7b5177d3d92cc7da22159a46577 assets/hee/models/item/puzzle_block_burst_3.json
f106b9e8dc700e68b67aab4a4809b138bde76fe9 assets/hee/models/item/puzzle_block_burst_5.json
1eeb3de8ec8609557177ed2c81a458d3ab6a60df assets/hee/models/item/puzzle_block_plain.json
706c43ca2916895f1488203354f707f7d512b134 assets/hee/models/item/puzzle_block_redirect_1.json
db436a0a41f316cfa2e368b246fce958e65dc2b1 assets/hee/models/item/puzzle_block_redirect_2.json
decdba40a05cce4ba1014fea7502f246937f6fb3 assets/hee/models/item/puzzle_block_redirect_4.json
95fa8a40230c31d56e385ccbe680a91f1f9d560e assets/hee/models/item/puzzle_block_teleport.json
968bebe3d8f82e18afd62cb4e8ecaa7400927d52 assets/hee/models/item/puzzle_block_wall.json
30a433ac5844e1259992acb67e0544c4c6714542 assets/hee/models/item/puzzle_medallion.json
6da77feef3a5079082bd578202bc170050b8df4a assets/hee/models/item/revitalization_substance.json
9a450490268f1fd1e6a8b69fade3c6cdfcb56678 assets/hee/models/item/ring_of_hunger.json
e2fd9e76d812547a1934a5c361d129c2879a7a91 assets/hee/models/item/ring_of_preservation.json
bef5798b29e840c09c13b8246e81785fbe679116 assets/hee/models/item/scaffolding.json
05bacfe43fce738d4521559841e941aac51d98af assets/hee/models/item/scale_of_freefall.json
d853c3d4434b5807093cf6afde227bfdc4ebcefc assets/hee/models/item/scorching_axe.json
fbf57a9528063e08e4ee32770bdf4b4d4c0a01d5 assets/hee/models/item/scorching_pickaxe.json
683fb975792606f265056deb3255140666bc50c5 assets/hee/models/item/scorching_shovel.json
a394752d1c1736419c0227665458c4afb75eb09e assets/hee/models/item/scorching_sword.json
3ab42828b6498304934466e83d09d740abe999d9 assets/hee/models/item/spatial_dash_gem.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/spiderling_spawn_egg.json
55da1fee55b938d5887eeaa39e5a370d14297895 assets/hee/models/item/stardust.json
fb9eb07fd5e612b79b63bce6fff84777e6667120 assets/hee/models/item/static_core.json
7d4f5f7e42a4e61906e21116a7ce870d6fc1d9a7 assets/hee/models/item/stone_brick_wall.json
318d4cbdbbe3a37df190312868442462e2076e9e assets/hee/models/item/table_base_tier_1.json
8063e78a154c774cba0caf141b1b2281843ddb90 assets/hee/models/item/table_base_tier_2.json
da6bb690ebe06b875da997c938f39085a63eec96 assets/hee/models/item/table_base_tier_3.json
ad360de7f63690ff3053be1c852d314e4158338d assets/hee/models/item/table_link.json
e7132d43914c87e9f78a88368a773a83852c4f8b assets/hee/models/item/table_pedestal.json
c7318f3a823171b9fc8382daba815bfc0cf123e0 assets/hee/models/item/talisman_of_griefing.json
94947e0de33123f203dba33ede61a1b2ee2932a6 assets/hee/models/item/ticking_core.json
77032b1f9ea29d188c5a1110f8750eb7ffb61a2f assets/hee/models/item/totem_of_undying.json
5bfa4f6a4e99435e5fc3e85e54c50dfade0ca909 assets/hee/models/item/totem_of_undying_shaking.json
dbca360ef1ad241c23e76fd4b521f9733fa594b3 assets/hee/models/item/trinket_pouch.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/undread_spawn_egg.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/vampire_bat_spawn_egg.json
30ed191345efaee5e2b9c45430afd4a1e8bab340 assets/hee/models/item/vantablock.json
57a0c23898ab990b86858bf5b5f7a21dc51045cc assets/hee/models/item/void_bucket.json
ece7abe596e867f0aac8b92ae3b2aadf8d00f51a assets/hee/models/item/void_bucket_fluid_level_1.json
9e4a2766570f3f775cb9b86453cd2992e3baeb91 assets/hee/models/item/void_bucket_fluid_level_2.json
accc1abdb6c2fa56f198831b975bcb7814112741 assets/hee/models/item/void_bucket_fluid_level_3.json
90f044fb644937ade5dd134a2ab08d193b1392d6 assets/hee/models/item/void_bucket_fluid_level_4.json
6ab14e054fca6411538eb59f6e47b9857670d888 assets/hee/models/item/void_essence.json
6b047031855f93907e0ce7edd0c196976b8530a8 assets/hee/models/item/void_miner.json
25641d9b4a546204a6a8b76f8e4cfd7c109aa41f assets/hee/models/item/void_portal_frame.json
719b4f2c19dc3453307a87f8f8b1c0185b65bc9e assets/hee/models/item/void_portal_frame_crafted.json
890a9f625bff6bf3be0977ee0aca86818d7de714 assets/hee/models/item/void_portal_storage.json
2484165b1f3a49fc3f82e8dd4657238172820f21 assets/hee/models/item/void_portal_storage_crafted.json
cd4adaf6630298e0d85830b7dbaa3804e5f4e223 assets/hee/models/item/void_salad.json
f45da5edd42098ee3e3cb6d172a5c41af67c5cd3 assets/hee/models/item/void_void_salad.json
a2c48f632b0f8a6fabeb2ac676e4ec390e57f784 assets/hee/models/item/whitebark.json
aa8696fc83d73951a890f55cd7c2b9c9abb3f611 assets/hee/models/item/whitebark_log.json
2a7519999fb2d2f4c2745aa2a6a5cc5a20111bb4 assets/hee/models/item/whitebark_planks.json
3a40772f1fdf8e02b3a7e434c835f19c08536b1b assets/hee/models/item/whitebark_slab.json
2676bcfaeaf9ef9e4134aefbc17ffb0c8f32a249 assets/hee/models/item/whitebark_stairs.json
2903a69c4cd7c37db3891af9c0736568ccc3acff data/forge/tags/blocks/chests.json
3260d80138f7c357d2efbda403e8d0e6a957d75b data/forge/tags/blocks/end_stones.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/forge/tags/blocks/glass.json
f87bf8e15aea2ca3068935be41828e61a22e6ef8 data/forge/tags/blocks/obsidian.json
83ea3831e8edbb4cab7f4a997b6e78b74d273493 data/forge/tags/blocks/ores.json
9a1109a26cfd5f396d8e080f77d8277f130f299d data/forge/tags/blocks/storage_blocks.json
2903a69c4cd7c37db3891af9c0736568ccc3acff data/forge/tags/items/chests.json
5e7e8d2fa6ab92da0a678c0c82b08fb01d70b827 data/forge/tags/items/dusts.json
3260d80138f7c357d2efbda403e8d0e6a957d75b data/forge/tags/items/end_stones.json
d3fbc7a0a7d1a6cd5b4a2d6604a4625c57b57a9a data/forge/tags/items/ender_pearls.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/forge/tags/items/glass.json
ff2ba2285b4163d5d08376c6d99477f96273310c data/forge/tags/items/heads.json
144c342bc93a719b95e99b4d9493ed29885bf71b data/forge/tags/items/ingots.json
b187118e591990e8c0397058318592c587c3dcff data/forge/tags/items/nuggets.json
f87bf8e15aea2ca3068935be41828e61a22e6ef8 data/forge/tags/items/obsidian.json
83ea3831e8edbb4cab7f4a997b6e78b74d273493 data/forge/tags/items/ores.json
ebdc7d4617021fcc8582e3a17b42d4a815d9e021 data/forge/tags/items/rods.json
9a1109a26cfd5f396d8e080f77d8277f130f299d data/forge/tags/items/storage_blocks.json
b70b01d2616521afb885b6205141fa39a0b25dc0 data/hee/loot_tables/blocks/accumulation_table_tier_1.json
0a6f6d908c870802e532b5002391d34d711b0400 data/hee/loot_tables/blocks/accumulation_table_tier_2.json
9036e3f157a9e8de41ce8423f796205dd5190222 data/hee/loot_tables/blocks/accumulation_table_tier_3.json
acdad3054e21a16a35d913f6971b9564a7fbe4b2 data/hee/loot_tables/blocks/autumn_sapling_brown.json
f5aa09866787b83ee23107f1a7480279065037d0 data/hee/loot_tables/blocks/autumn_sapling_orange.json
f83d9f3a62e08bfbd2e09b1bc8237a1afcedf47e data/hee/loot_tables/blocks/autumn_sapling_red.json
72a46e4a4bdafd64ffd45bdf476371d76eb281e5 data/hee/loot_tables/blocks/autumn_sapling_yellowgreen.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_dragons_breath.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_ender_goo.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_purified_ender_goo.json
15f5318f4d1a13d0d3577a6e2d786c91c9c8cae9 data/hee/loot_tables/blocks/dark_chest.json
6836126c6132ea58cf3e42c8846b5705196d67ff data/hee/loot_tables/blocks/dark_loam.json
db54931eae50eb8e20e7fa742600172dad18ae41 data/hee/loot_tables/blocks/dark_loam_slab.json
a68dcd225f45d867213a587d7f5ecf108da7b517 data/hee/loot_tables/blocks/death_flower_healed.json
397fd9002a0a25f2f83fbde9ed5c1778e01eb9b6 data/hee/loot_tables/blocks/death_flower_withered.json
d9abd1ed1cc52d7f8c1b48896da855b2e8bded23 data/hee/loot_tables/blocks/dusty_stone_brick_slab.json
ef63046d109846e09f43eaa0fbd322889d31d3c3 data/hee/loot_tables/blocks/dusty_stone_brick_stairs.json
fd7e4cb74c69e176813fd0cddef9c4c98847eacc data/hee/loot_tables/blocks/dusty_stone_bricks.json
e891c4099dec492133fc58662765c326b00f1e09 data/hee/loot_tables/blocks/dusty_stone_cracked_bricks.json
5ca27ed38494044939def58dae0354d0cb09baad data/hee/loot_tables/blocks/end_stone_burned.json
c50fb5765d11b9f46dd81f2d9c33d4d0b6bb1402 data/hee/loot_tables/blocks/end_stone_enchanted.json
7d720082305ddef2d864263bf58c55a67549cbeb data/hee/loot_tables/blocks/end_stone_infested.json
16ebdeaa5588ea21f502f70b63626243eddf9b8f data/hee/loot_tables/blocks/enderman_head.json
16ebdeaa5588ea21f502f70b63626243eddf9b8f data/hee/loot_tables/blocks/enderman_wall_head.json
b92f85d8439af6d878963a3d12fc247c8073a59d data/hee/loot_tables/blocks/endium_block.json
f1671993a69ed85d3d9e971684b5794eafe1490f data/hee/loot_tables/blocks/endium_ore.json
70fbd11629dc77fe5fecbc12571187cb4e4c7981 data/hee/loot_tables/blocks/enhanced_brewing_stand.json
cf3a9ffe465cf2176ed2a6be9466c114aad1fb5d data/hee/loot_tables/blocks/ethereal_lantern.json
acb3b03eb03d08a11d2c42b52a466708486ee15f data/hee/loot_tables/blocks/experience_table_tier_1.json
be5d9c9d81ae667617ccd62348540cd9daa2ceec data/hee/loot_tables/blocks/experience_table_tier_2.json
687548d0fc4f4b19f492ed92dce079e88275a5cd data/hee/loot_tables/blocks/experience_table_tier_3.json
8f249f314d404e77898228e34b5479d6e4d4efae data/hee/loot_tables/blocks/gloomrock.json
f16eaa823c72d1e87e9f812af2eca6776ead77e7 data/hee/loot_tables/blocks/gloomrock_brick_slab.json
5f459b6d987ddec2e18e1ffe81b43198839d8c96 data/hee/loot_tables/blocks/gloomrock_brick_stairs.json
df9791995fcd96acb49aa549e7ca970181303119 data/hee/loot_tables/blocks/gloomrock_bricks.json
413557bcef44eb5f193b5f0f36676d0fee649d84 data/hee/loot_tables/blocks/gloomrock_smooth.json
8ded7fe5bae0e0a8500b33070f078b0eb0d62e5a data/hee/loot_tables/blocks/gloomrock_smooth_blue.json
e75efc5458f5ad8d4dadc321af93068f65e2e95e data/hee/loot_tables/blocks/gloomrock_smooth_cyan.json
b3e58273d1b3fb14102ca20314fdb06ed51bccd4 data/hee/loot_tables/blocks/gloomrock_smooth_green.json
9977aebd25ccaf76047f09a8f6dc94917d306ea3 data/hee/loot_tables/blocks/gloomrock_smooth_magenta.json
278b02a7a42f86b9ad5585ecc3226c4b3f605a05 data/hee/loot_tables/blocks/gloomrock_smooth_orange.json
06abc98e72de8b89f542dd9afbe0d331dd6b23e2 data/hee/loot_tables/blocks/gloomrock_smooth_purple.json
1f8af2dc2880ac3816a2899edd27908c37bac0f5 data/hee/loot_tables/blocks/gloomrock_smooth_red.json
ad4dc671b8ad5ba74ecc78f18350423b8780c873 data/hee/loot_tables/blocks/gloomrock_smooth_slab.json
9cea3d56f56dae0cc10796ff9fe9ab5f84ce8b9b data/hee/loot_tables/blocks/gloomrock_smooth_stairs.json
73f06b665dd4cad242358bc43381becfee4fc763 data/hee/loot_tables/blocks/gloomrock_smooth_white.json
e78f2a76f6d398231bb7b0fc90656fe94e69eb5c data/hee/loot_tables/blocks/gloomrock_smooth_yellow.json
7874c5114540361416bf0202b8d381bc5a476684 data/hee/loot_tables/blocks/gloomtorch.json
db6d92886e1f24b9a46e10cb0dcc33631dd8005d data/hee/loot_tables/blocks/igneous_plate.json
fc375baa0ec973e8f05c1f8d5c3b41ace3de12a5 data/hee/loot_tables/blocks/infusion_table_tier_1.json
5e324247f8afeec653bc9e11bd27caf2b1551d52 data/hee/loot_tables/blocks/infusion_table_tier_2.json
5d39a521c2d689f2ab1d0bd8597b3864b8f02500 data/hee/loot_tables/blocks/infusion_table_tier_3.json
a4e4f5edfffd7ea762fdc4e13b3a164eadc6c1d3 data/hee/loot_tables/blocks/miners_burial_block_chiseled.json
a85fe9005bc06490df5237a33299beb50a625648 data/hee/loot_tables/blocks/miners_burial_block_pillar.json
264c58d1096cb28aa0b5997d4bade3d901744bdb data/hee/loot_tables/blocks/miners_burial_block_plain.json
dd830913290f114821c114a33d0bab11731b209e data/hee/loot_tables/blocks/obsidian_chiseled.json
b166751a8c51fc19e86a500b45102ac908f56bd0 data/hee/loot_tables/blocks/obsidian_chiseled_lit.json
586752dbf907c5e98cccc6ed4eb4b6f0e3872ba9 data/hee/loot_tables/blocks/obsidian_falling.json
5afdfadbcdeaad8a84236622613bcb5910b05a21 data/hee/loot_tables/blocks/obsidian_pillar.json
b26bea42e1f7200eef24a2eea53a129b6a5d5d54 data/hee/loot_tables/blocks/obsidian_pillar_lit.json
cb22631688d53806209ddc151ac05e9f2e667a41 data/hee/loot_tables/blocks/obsidian_smooth.json
170bde4198734c53a2d9247f2c0efde84756fbfb data/hee/loot_tables/blocks/obsidian_smooth_lit.json
f92f0f832967432b400b82f35efa7eb8bc85cf72 data/hee/loot_tables/blocks/obsidian_stairs.json
cb2c7267874d76495cfec1ef8ef436f75219fb6e data/hee/loot_tables/blocks/potted_autumn_sapling_brown.json
1ff9c7e031dc0b1aa556caa937b6c8be1f831c43 data/hee/loot_tables/blocks/potted_autumn_sapling_orange.json
7212f30ec6abde02bed973b05503251bb2debdf9 data/hee/loot_tables/blocks/potted_autumn_sapling_red.json
027a8ebd73e84357823524eb2e07685e6884a3b1 data/hee/loot_tables/blocks/potted_autumn_sapling_yellowgreen.json
538676e5e43a3192e87e2646a061f7dec355fcd8 data/hee/loot_tables/blocks/potted_death_flower_healed.json
3957f3dd23b819711da39cf70e0932aab0f9d355 data/hee/loot_tables/blocks/potted_death_flower_withered.json
02c13f7b69ee351ca514230a885acedd8b2d5a8e data/hee/loot_tables/blocks/stone_brick_wall.json
bc0862f674356bebc44f21a7398039cfc833bcd8 data/hee/loot_tables/blocks/table_base_tier_1.json
f037ca587c33c0d42012a69b3440f37b4e3f4d8e data/hee/loot_tables/blocks/table_base_tier_2.json
773d892ccebc6c6075265d781835b4e495d205b1 data/hee/loot_tables/blocks/table_base_tier_3.json
17b0a394741609bf60a473cf4dffac9727dff43c data/hee/loot_tables/blocks/table_pedestal.json
7665e910d3737a45feffe35f70a0f4766966dc5c data/hee/loot_tables/blocks/vantablock.json
a5fd7a47f16308a8c663bc3072ba3a1b26ae1ea3 data/hee/loot_tables/blocks/void_portal_frame_crafted.json
69cf0232b82ddf6b8cd9f63372beb1924bb677b1 data/hee/loot_tables/blocks/void_portal_storage_crafted.json
e66091a13a6e7593eb5bd971978d24a5a0e375b3 data/hee/loot_tables/blocks/whitebark.json
813dbd21f9929930555a39f4679545806968f3f2 data/hee/loot_tables/blocks/whitebark_log.json
9bd3a9e24162d2c81047b834f8f79d6cabec86be data/hee/loot_tables/blocks/whitebark_planks.json
7d84dc443a052e349593b71d2c0a523e75396cdf data/hee/loot_tables/blocks/whitebark_slab.json
83e0b81adb3f9dd488397e8459b95f7b0ce19927 data/hee/loot_tables/blocks/whitebark_stairs.json
f5996244831ab38fe1fae2f304bbd7825d6ad98b data/minecraft/tags/blocks/bamboo_plantable_on.json
479189f9b35a3c8f795539daf6a1809130242c5b data/minecraft/tags/blocks/flower_pots.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/minecraft/tags/blocks/impermeable.json
4557912145f8c53493f249ef3961d02e156891e4 data/minecraft/tags/blocks/leaves.json
4ea74ec750ba7360a7843a0d4a604ac7b35dfa96 data/minecraft/tags/blocks/logs.json
697395021049c8cccfac2486c52eb6664cc5bad6 data/minecraft/tags/blocks/planks.json
10fff7e5092ddc68cc1611ad4605dc4d6608e227 data/minecraft/tags/blocks/portals.json
6f73d4c0d7c0f2650b498f35a60e8fe9c280c765 data/minecraft/tags/blocks/saplings.json
eb69de8447077a713baaab7e10184ec283c25516 data/minecraft/tags/blocks/slabs.json
07e3d7d270309424e1ab60a1b89ab2da85f800c7 data/minecraft/tags/blocks/stairs.json
5318f9d9be9209139567f7f58d77d1b27d9d1327 data/minecraft/tags/blocks/walls.json
8a04ae43dc7062677394df7bf7276dbc92a5f1ca data/minecraft/tags/blocks/wooden_slabs.json
3bf587d2f806c14a76a10db8f43386552382c381 data/minecraft/tags/blocks/wooden_stairs.json
4557912145f8c53493f249ef3961d02e156891e4 data/minecraft/tags/items/leaves.json
4ea74ec750ba7360a7843a0d4a604ac7b35dfa96 data/minecraft/tags/items/logs.json
697395021049c8cccfac2486c52eb6664cc5bad6 data/minecraft/tags/items/planks.json
6f73d4c0d7c0f2650b498f35a60e8fe9c280c765 data/minecraft/tags/items/saplings.json
eb69de8447077a713baaab7e10184ec283c25516 data/minecraft/tags/items/slabs.json
07e3d7d270309424e1ab60a1b89ab2da85f800c7 data/minecraft/tags/items/stairs.json
5318f9d9be9209139567f7f58d77d1b27d9d1327 data/minecraft/tags/items/walls.json
8a04ae43dc7062677394df7bf7276dbc92a5f1ca data/minecraft/tags/items/wooden_slabs.json
3bf587d2f806c14a76a10db8f43386552382c381 data/minecraft/tags/items/wooden_stairs.json

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_1"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_2"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_3"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/ancient_cobweb"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_brown"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_orange"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_red"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_yellowgreen"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_brown"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_orange"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_red"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_yellowgreen"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/corrupted_energy"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dark_chest"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dark_loam"
}
}
}

View File

@@ -1,13 +0,0 @@
{
"variants": {
"type=top": {
"model": "hee:block/dark_loam_slab_top"
},
"type=bottom": {
"model": "hee:block/dark_loam_slab"
},
"type=double": {
"model": "hee:block/dark_loam"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/death_flower_healed"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/death_flower_withered"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone"
}
}
}

View File

@@ -1,13 +0,0 @@
{
"variants": {
"type=top": {
"model": "hee:block/dusty_stone_brick_slab_top"
},
"type=bottom": {
"model": "hee:block/dusty_stone_brick_slab"
},
"type=double": {
"model": "hee:block/dusty_stone_bricks"
}
}
}

View File

@@ -1,209 +0,0 @@
{
"variants": {
"facing=north,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs"
},
"facing=north,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner"
},
"facing=west,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner"
},
"facing=north,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer"
},
"facing=west,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_bricks"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_cracked"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_cracked_bricks"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_damaged"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_decoration"
}
}
}

View File

@@ -1,7 +0,0 @@
{
"variants": {
"": {
"model": "hee:block/end_portal_acceptor"
}
}
}

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