├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src └── main ├── java └── com │ └── mohistmc │ └── academy │ ├── AcademyCraft.java │ ├── capability │ ├── AcademyNode.java │ ├── IFCapabilityImpl.java │ └── IIFCapability.java │ ├── client │ └── block │ │ ├── entity │ │ ├── AcademyContainerBlockEntity.java │ │ ├── BaseNodeBlockEntity.java │ │ ├── CatEngineBlockEntity.java │ │ ├── DevAdvancedBlockEntity.java │ │ ├── DevAdvancedSubBlockEntity.java │ │ ├── DevNormalBlockEntity.java │ │ ├── DevNormalSubBlockEntity.java │ │ ├── MatrixBlockEntity.java │ │ ├── MatrixSubBlockEntity.java │ │ ├── NodeBasicBlockEntity.java │ │ ├── PhaseGenBlockEntity.java │ │ ├── PhaseLiquidBlockEntity.java │ │ ├── SolarGenBlockEntity.java │ │ ├── WindGenBaseBlockEntity.java │ │ ├── WindGenBaseSubBlockEntity.java │ │ ├── WindGenFanBlockEntity.java │ │ ├── WindGenMainBlockEntity.java │ │ ├── WindGenPillarBlockEntity.java │ │ ├── model │ │ │ └── CatEngineModel.java │ │ └── render │ │ │ ├── PhaseLiquidRender.java │ │ │ └── WindGenFanRender.java │ │ └── gui │ │ ├── BaseNodeGui.java │ │ ├── NodeBasicGui.java │ │ ├── WindBaseGui.java │ │ └── WindMainGui.java │ ├── gui │ └── AcademyBaseUI.java │ ├── listener │ ├── ClientListener.java │ ├── CommonListener.java │ └── ServerListener.java │ ├── utils │ └── RenderUtils.java │ └── world │ ├── AcademyBlockEntities.java │ ├── AcademyBlocks.java │ ├── AcademyCapability.java │ ├── AcademyEntities.java │ ├── AcademyFluidTypes.java │ ├── AcademyFluids.java │ ├── AcademyItems.java │ ├── AcademyMenus.java │ ├── AcademySounds.java │ ├── block │ ├── AbilityInterferer.java │ ├── CatEngine.java │ ├── ConstraintMetal.java │ ├── CrystalOre.java │ ├── DevAdvanced.java │ ├── DevAdvancedSubBlock.java │ ├── DevNormal.java │ ├── DevNormalSubBlock.java │ ├── ImagFusor.java │ ├── ImagsilOre.java │ ├── MachineFrame.java │ ├── Matrix.java │ ├── MatrixSubBlock.java │ ├── MetalFomer.java │ ├── NodeAdvanced.java │ ├── NodeBasic.java │ ├── NodeStandard.java │ ├── PhaseFluidBlock.java │ ├── PhaseGen.java │ ├── ResoOre.java │ ├── SolarGen.java │ ├── WindGenBase.java │ ├── WindGenBaseSubBlock.java │ ├── WindGenFan.java │ ├── WindGenMain.java │ └── WindGenPillar.java │ ├── entity │ └── EntitySilbarn.java │ ├── fluid │ └── PhaseFluid.java │ ├── fluidtype │ └── PhaseLiquidType.java │ ├── item │ ├── AcademyItem.java │ ├── AppFreqTransmitter.java │ ├── AppMediaPlayer.java │ ├── AppSettings.java │ ├── AppSkillTree.java │ ├── BaseApp.java │ ├── BaseFactor.java │ ├── BrainComponent.java │ ├── CalcChip.java │ ├── Coin.java │ ├── ConstraintIngot.java │ ├── ConstraintPlate.java │ ├── CrystalLow.java │ ├── CrystalNormal.java │ ├── CrystalPure.java │ ├── DataChip.java │ ├── DeveloperPortable.java │ ├── EnergyConvertComponent.java │ ├── EnergyUnit.java │ ├── FactorElectromaster.java │ ├── FactorMeltdowner.java │ ├── FactorTeleporter.java │ ├── FactorVecmanip.java │ ├── InfoComponent.java │ ├── Logo.java │ ├── MagHook.java │ ├── MagneticCoil.java │ ├── MatCore0.java │ ├── MatCore1.java │ ├── MatCore2.java │ ├── MatterUnit.java │ ├── MediaLevel5Judgelight.java │ ├── MediaOnlyMyRailgun.java │ ├── MediaSistersNoise.java │ ├── Needle.java │ ├── ReinforcedIronPlate.java │ ├── ResoCrystal.java │ ├── ResonanceComponent.java │ ├── Silbarn.java │ ├── TerminalInstaller.java │ ├── Tutorial.java │ ├── Wafer.java │ └── WindgenFan.java │ ├── menu │ ├── AcademyMenu.java │ ├── BaseNodeMenu.java │ ├── NodeBasicMenu.java │ ├── WindGenBaseMenu.java │ └── WindGenMainMenu.java │ └── provider │ └── AcademyBlockTagsProvider.java ├── resources ├── academy.mixins.json └── assets │ └── academy │ ├── blockstates │ ├── ability_interferer.json │ ├── cat_engine.json │ ├── constraint_metal.json │ ├── crystal_ore.json │ ├── dev_advanced.json │ ├── dev_advanced_sub.json │ ├── dev_normal.json │ ├── dev_normal_sub.json │ ├── imag_fusor.json │ ├── imagsil_ore.json │ ├── machine_frame.json │ ├── matrix.json │ ├── matrix_sub.json │ ├── metal_former.json │ ├── node_advanced.json │ ├── node_basic.json │ ├── node_standard.json │ ├── phase_gen.json │ ├── phase_liquid.json │ ├── reso_ore.json │ ├── solar_gen.json │ ├── windgen_base.json │ ├── windgen_base_sub.json │ ├── windgen_fan_block.json │ ├── windgen_main.json │ └── windgen_pillar.json │ ├── lang │ ├── en_us.json │ ├── ja_jp.json │ ├── ko_kr.json │ ├── ru_ru.json │ ├── zh_cn.json │ └── zh_tw.json │ ├── models │ ├── block │ │ ├── ability_interferer.json │ │ ├── ability_interferer_off.json │ │ ├── ability_interferer_on.json │ │ ├── cat_engine.json │ │ ├── constraint_metal.json │ │ ├── crystal_ore.json │ │ ├── cube.json │ │ ├── cube_all.json │ │ ├── dev_advanced.json │ │ ├── dev_advanced_sub.json │ │ ├── dev_normal.json │ │ ├── dev_normal_sub.json │ │ ├── imag_fusor_1.json │ │ ├── imag_fusor_2.json │ │ ├── imag_fusor_3.json │ │ ├── imag_fusor_4.json │ │ ├── imagsil_ore.json │ │ ├── machine_frame.json │ │ ├── matrix.json │ │ ├── matrix_sub.json │ │ ├── metal_former.json │ │ ├── node_advanced_0_false.json │ │ ├── node_advanced_0_true.json │ │ ├── node_advanced_1_false.json │ │ ├── node_advanced_1_true.json │ │ ├── node_advanced_2_false.json │ │ ├── node_advanced_2_true.json │ │ ├── node_advanced_3_false.json │ │ ├── node_advanced_3_true.json │ │ ├── node_advanced_4_false.json │ │ ├── node_advanced_4_true.json │ │ ├── node_basic_0_false.json │ │ ├── node_basic_0_true.json │ │ ├── node_basic_1_false.json │ │ ├── node_basic_1_true.json │ │ ├── node_basic_2_false.json │ │ ├── node_basic_2_true.json │ │ ├── node_basic_3_false.json │ │ ├── node_basic_3_true.json │ │ ├── node_basic_4_false.json │ │ ├── node_basic_4_true.json │ │ ├── node_standard_0_false.json │ │ ├── node_standard_0_true.json │ │ ├── node_standard_1_false.json │ │ ├── node_standard_1_true.json │ │ ├── node_standard_2_false.json │ │ ├── node_standard_2_true.json │ │ ├── node_standard_3_false.json │ │ ├── node_standard_3_true.json │ │ ├── node_standard_4_false.json │ │ ├── node_standard_4_true.json │ │ ├── phase_gen_0.json │ │ ├── phase_gen_1.json │ │ ├── phase_gen_2.json │ │ ├── phase_gen_3.json │ │ ├── phase_gen_4.json │ │ ├── phase_liquid.json │ │ ├── reso_ore.json │ │ ├── solar_gen.json │ │ ├── windgen_base_disable.json │ │ ├── windgen_base_enable.json │ │ ├── windgen_base_sub.json │ │ ├── windgen_fan_block.json │ │ ├── windgen_main.json │ │ └── windgen_pillar.json │ ├── dev_advanced.mtl │ ├── dev_advanced.obj │ ├── dev_normal.mtl │ ├── dev_normal.obj │ ├── item │ │ ├── ability_interferer.json │ │ ├── app_freq_transmitter.json │ │ ├── app_media_player.json │ │ ├── app_settings.json │ │ ├── app_skill_tree.json │ │ ├── brain_component.json │ │ ├── calc_chip.json │ │ ├── cat_engine.json │ │ ├── coin.json │ │ ├── constraint_ingot.json │ │ ├── constraint_metal.json │ │ ├── constraint_plate.json │ │ ├── crystal_low.json │ │ ├── crystal_normal.json │ │ ├── crystal_ore.json │ │ ├── crystal_pure.json │ │ ├── data_chip.json │ │ ├── dev_advanced.json │ │ ├── dev_normal.json │ │ ├── developer_portable.json │ │ ├── energy_convert_component.json │ │ ├── energy_unit.json │ │ ├── factor_electromaster.json │ │ ├── factor_meltdowner.json │ │ ├── factor_teleporter.json │ │ ├── factor_vecmanip.json │ │ ├── imag_fusor.json │ │ ├── imag_phase.json │ │ ├── imagsil_ore.json │ │ ├── info_component.json │ │ ├── logo.json │ │ ├── machine_frame.json │ │ ├── mag_hook.json │ │ ├── magnetic_coil.json │ │ ├── mat_core_0.json │ │ ├── mat_core_1.json │ │ ├── mat_core_2.json │ │ ├── matrix.json │ │ ├── matter_unit.json │ │ ├── media_level5_judgelight.json │ │ ├── media_only_my_railgun.json │ │ ├── media_sisters_noise.json │ │ ├── metal_former.json │ │ ├── needle.json │ │ ├── node_advanced.json │ │ ├── node_basic.json │ │ ├── node_standard.json │ │ ├── phase_gen.json │ │ ├── reinforced_iron_plate.json │ │ ├── reso_crystal.json │ │ ├── reso_ore.json │ │ ├── resonance_component.json │ │ ├── silbarn.json │ │ ├── solar_gen.json │ │ ├── terminal_installer.json │ │ ├── tutorial.json │ │ ├── wafer.json │ │ ├── windgen_base.json │ │ ├── windgen_fan.json │ │ ├── windgen_main.json │ │ └── windgen_pillar.json │ ├── matrix.mtl │ ├── matrix.obj │ ├── phase_gen_0.mtl │ ├── phase_gen_0.obj │ ├── phase_gen_1.mtl │ ├── phase_gen_1.obj │ ├── phase_gen_2.mtl │ ├── phase_gen_2.obj │ ├── phase_gen_3.mtl │ ├── phase_gen_3.obj │ ├── phase_gen_4.mtl │ ├── phase_gen_4.obj │ ├── solar_gen.mtl │ ├── solar_gen.obj │ ├── windgen_base.mtl │ ├── windgen_base.obj │ ├── windgen_base_disable.mtl │ ├── windgen_base_disable.obj │ ├── windgen_fan.mtl │ ├── windgen_fan.obj │ ├── windgen_main.mtl │ ├── windgen_main.obj │ ├── windgen_pillar.mtl │ └── windgen_pillar.obj │ ├── sounds.json │ ├── sounds │ ├── ability │ │ ├── deny.ogg │ │ ├── preset_confirm.ogg │ │ └── preset_switch.ogg │ ├── em │ │ ├── arc_strong.ogg │ │ ├── arc_weak.ogg │ │ ├── charge_loop.ogg │ │ ├── intensify_activate.ogg │ │ ├── intensify_loop.ogg │ │ ├── lf.ogg │ │ ├── lf_loop.ogg │ │ ├── mag_manip.ogg │ │ ├── minedetect.ogg │ │ ├── move_loop.ogg │ │ └── railgun.ogg │ ├── entity │ │ ├── flipcoin.ogg │ │ ├── silbarn_heavy.ogg │ │ └── silbarn_light.ogg │ ├── machine │ │ ├── imag_fusor_work.ogg │ │ └── machine_work.ogg │ ├── md │ │ ├── ballshoot.ogg │ │ ├── md_charge.ogg │ │ ├── meltdowner.ogg │ │ ├── mine_basic_startup.ogg │ │ ├── mine_expert_startup.ogg │ │ ├── mine_loop.ogg │ │ ├── mine_luck_startup.ogg │ │ ├── ray_small.ogg │ │ ├── shield_loop.ogg │ │ ├── shield_startup.ogg │ │ └── simple_charge.ogg │ ├── terminal │ │ ├── confirm.ogg │ │ └── select.ogg │ ├── tp │ │ ├── guts.ogg │ │ ├── tp.ogg │ │ ├── tp_flashing.ogg │ │ ├── tp_pre.ogg │ │ └── tp_shift.ogg │ └── vecmanip │ │ ├── blood_retro.ogg │ │ ├── directed_blast.ogg │ │ ├── directed_shock.ogg │ │ ├── groundshock.ogg │ │ ├── plasma_cannon.ogg │ │ ├── plasma_cannon_t.ogg │ │ ├── storm_wing.ogg │ │ ├── vec_accel.ogg │ │ ├── vec_deviation.ogg │ │ └── vec_reflection.ogg │ └── textures │ ├── block │ ├── ability_interferer_off.png │ ├── ability_interferer_on.png │ ├── black.png │ ├── cat_engine.png │ ├── constraint_metal.png │ ├── crystal_ore.png │ ├── dev_advanced.png │ ├── dev_normal.png │ ├── ief_off.png │ ├── ief_working_1.png │ ├── ief_working_2.png │ ├── ief_working_3.png │ ├── ief_working_4.png │ ├── imagsil_ore.png │ ├── machine_bottom.png │ ├── machine_frame.png │ ├── machine_side.png │ ├── machine_top.png │ ├── matrix.png │ ├── metal_former_back.png │ ├── metal_former_bottom.png │ ├── metal_former_front.png │ ├── metal_former_left.png │ ├── metal_former_right.png │ ├── metal_former_top.png │ ├── node_advanced_side_0.png │ ├── node_advanced_side_1.png │ ├── node_advanced_side_2.png │ ├── node_advanced_side_3.png │ ├── node_advanced_side_4.png │ ├── node_basic_side_0.png │ ├── node_basic_side_1.png │ ├── node_basic_side_2.png │ ├── node_basic_side_3.png │ ├── node_basic_side_4.png │ ├── node_standard_side_0.png │ ├── node_standard_side_1.png │ ├── node_standard_side_2.png │ ├── node_standard_side_3.png │ ├── node_standard_side_4.png │ ├── node_top_0.png │ ├── node_top_1.png │ ├── phase_gen_0.png │ ├── phase_gen_1.png │ ├── phase_gen_2.png │ ├── phase_gen_3.png │ ├── phase_gen_4.png │ ├── phase_liquid.png │ ├── phase_liquid.png.mcmeta │ ├── reso_ore.png │ ├── solar_gen.png │ ├── windgen_base.png │ ├── windgen_base_disable.png │ ├── windgen_fan.png │ ├── windgen_main.png │ └── windgen_pillar.png │ ├── effects │ └── imag_proj_liquid │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ └── black.png │ ├── guis │ ├── button │ │ ├── button_arrowdownb.png │ │ ├── button_arrowlefta.png │ │ ├── button_arrowrighta.png │ │ └── button_arrowupb.png │ ├── effect │ │ └── effect_node.png │ ├── element │ │ ├── element_background300x32.png │ │ └── element_background300x32_input.png │ ├── icons │ │ ├── icon_connected.png │ │ ├── icon_inv.png │ │ ├── icon_key.png │ │ ├── icon_matrix.png │ │ ├── icon_tomatrix.png │ │ ├── icon_unconnected.png │ │ ├── icon_wind_base.png │ │ ├── icon_wind_main.png │ │ ├── icon_wind_middle.png │ │ └── icon_wireless.png │ ├── parent │ │ └── parent_background.png │ └── ui │ │ ├── ui_inventory.png │ │ ├── ui_node.png │ │ ├── ui_windbase.png │ │ └── ui_windmain.png │ └── item │ ├── app_freq_transmitter.png │ ├── app_media_player.png │ ├── app_settings.png │ ├── app_skill_tree.png │ ├── brain_component.png │ ├── calc_chip.png │ ├── coin_back.png │ ├── coin_front.png │ ├── constraint_ingot.png │ ├── constraint_plate.png │ ├── crystal_low.png │ ├── crystal_normal.png │ ├── crystal_pure.png │ ├── data_chip.png │ ├── dev_advanced.png │ ├── dev_normal.png │ ├── developer_portable_empty.png │ ├── developer_portable_full.png │ ├── developer_portable_half.png │ ├── energy_convert_component.png │ ├── energy_unit_empty.png │ ├── energy_unit_full.png │ ├── energy_unit_half.png │ ├── factor_electromaster.png │ ├── factor_meltdowner.png │ ├── factor_teleporter.png │ ├── factor_vecmanip.png │ ├── imag_phase.png │ ├── info_component.png │ ├── logo.png │ ├── mag_hook.png │ ├── magnetic_coil.png │ ├── mat_core_0.png │ ├── mat_core_1.png │ ├── mat_core_2.png │ ├── matrix.png │ ├── matter_unit.png │ ├── matter_unit_phase_liquid_0.png │ ├── matter_unit_phase_liquid_1.png │ ├── matter_unit_phase_liquid_2.png │ ├── matter_unit_phase_liquid_3.png │ ├── media_level5_judgelight.png │ ├── media_only_my_railgun.png │ ├── media_sisters_noise.png │ ├── needle.png │ ├── phase_gen.png │ ├── reinforced_iron_plate.png │ ├── reso_crystal.png │ ├── resonance_component.png │ ├── silbarn.png │ ├── solar_gen.png │ ├── terminal_installer.png │ ├── tutorial.png │ ├── wafer.png │ ├── windgen_base.png │ ├── windgen_fan.png │ ├── windgen_main.png │ └── windgen_pillar.png └── templates └── META-INF └── neoforge.mods.toml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Disable autocrlf on generated files, they always generate with LF 2 | # Add any extra files or paths here to make git stop saying they 3 | # are changed when only line endings change. 4 | src/generated/**/.cache/cache text eol=lf 5 | src/generated/**/*.json text eol=lf 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | .idea 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | eclipse 22 | run 23 | 24 | # Files from Forge MDK 25 | forge*changelog.txt 26 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | org.gradle.jvmargs=-Xmx2G 3 | org.gradle.daemon=true 4 | org.gradle.parallel=true 5 | org.gradle.caching=true 6 | org.gradle.configuration-cache=true 7 | 8 | ## Environment Properties 9 | # You can find the latest versions here: https://projects.neoforged.net/neoforged/neoforge 10 | # The Minecraft version must agree with the Neo version to get a valid artifact 11 | minecraft_version=1.21.1 12 | # The Minecraft version range can use any release version of Minecraft as bounds. 13 | # Snapshots, pre-releases, and release candidates are not guaranteed to sort properly 14 | # as they do not follow standard versioning conventions. 15 | minecraft_version_range=[1.21.1,1.22) 16 | # The Neo version must agree with the Minecraft version to get a valid artifact 17 | neo_version=21.1.170 18 | # The Neo version range can use any version of Neo as bounds 19 | neo_version_range=[21,) 20 | # The loader version range can only use the major version of FML as bounds 21 | loader_version_range=[4,) 22 | 23 | parchment_minecraft_version=1.21.5 24 | parchment_mappings_version=2025.04.19 25 | 26 | ## Mod Properties 27 | 28 | # The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63} 29 | # Must match the String constant located in the main mod class annotated with @Mod. 30 | mod_id=academy 31 | # The human-readable display name for the mod. 32 | mod_name=AcademyCraft 33 | # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. 34 | mod_license=All Rights Reserved 35 | # The mod version. See https://semver.org/ 36 | mod_version=1.21.1-1.0 37 | # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. 38 | # This should match the base package used for the mod sources. 39 | # See https://maven.apache.org/guides/mini/guide-naming-conventions.html 40 | mod_group_id=com.mohistmc 41 | # The authors of the mod. This is a simple text string that is used for display purposes in the mod list. 42 | mod_authors= 43 | # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. 44 | mod_description= 45 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | mavenLocal() 4 | gradlePluginPortal() 5 | maven { url = 'https://maven.neoforged.net/releases' } 6 | } 7 | } 8 | 9 | plugins { 10 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/AcademyCraft.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy; 2 | 3 | import com.mohistmc.academy.listener.ServerListener; 4 | import com.mohistmc.academy.world.AcademyBlockEntities; 5 | import com.mohistmc.academy.world.AcademyBlocks; 6 | import com.mohistmc.academy.world.AcademyEntities; 7 | import com.mohistmc.academy.world.AcademyFluidTypes; 8 | import com.mohistmc.academy.world.AcademyFluids; 9 | import com.mohistmc.academy.world.AcademyItems; 10 | import com.mohistmc.academy.world.AcademyMenus; 11 | import com.mohistmc.academy.world.AcademySounds; 12 | import com.mojang.logging.LogUtils; 13 | import net.neoforged.bus.api.IEventBus; 14 | import net.neoforged.fml.ModContainer; 15 | import net.neoforged.fml.common.Mod; 16 | import net.neoforged.neoforge.common.NeoForge; 17 | import org.slf4j.Logger; 18 | 19 | 20 | @Mod(AcademyCraft.MODID) 21 | public class AcademyCraft { 22 | public static final String MODID = "academy"; 23 | private static final Logger LOGGER = LogUtils.getLogger(); 24 | 25 | public AcademyCraft(IEventBus modEventBus, ModContainer modContainer) { 26 | 27 | AcademyMenus.MENUS.register(modEventBus); 28 | AcademyItems.ITEMS.register(modEventBus); 29 | AcademyItems.TABS.register(modEventBus); 30 | AcademyBlocks.BLOCKS.register(modEventBus); 31 | AcademyFluidTypes.FLUID_TYPES.register(modEventBus); 32 | AcademyFluids.FLUIDS.register(modEventBus); 33 | AcademyEntities.ENTITIES.register(modEventBus); 34 | AcademyBlockEntities.BLOCK_ENTITIES.register(modEventBus); 35 | AcademySounds.SOUND_EVENTS.register(modEventBus); 36 | NeoForge.EVENT_BUS.register(new ServerListener()); 37 | } 38 | 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/capability/AcademyNode.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.capability; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.level.Level; 5 | 6 | public class AcademyNode { 7 | 8 | private String name = "Unnamed"; 9 | private String pass = ""; 10 | private BlockPos pos; 11 | private Level level; 12 | private boolean authed = false; 13 | 14 | public AcademyNode(String name, String pass, BlockPos pos, Level level) { 15 | this.name = name; 16 | this.pos = pos; 17 | this.pass = pass; 18 | this.level = level; 19 | this.authed = !pass.isBlank(); 20 | } 21 | 22 | public AcademyNode(String name, BlockPos pos, Level level) { 23 | this(name, "", pos, level); 24 | } 25 | 26 | public String getName() { 27 | return name; 28 | } 29 | 30 | public void setName(String name) { 31 | this.name = name; 32 | } 33 | 34 | public String getPass() { 35 | return pass; 36 | } 37 | 38 | public void setPass(String pass) { 39 | this.pass = pass; 40 | } 41 | 42 | public BlockPos getPos() { 43 | return pos; 44 | } 45 | 46 | public void setPos(BlockPos pos) { 47 | this.pos = pos; 48 | } 49 | 50 | public Level getLevel() { 51 | return level; 52 | } 53 | 54 | public void setLevel(Level level) { 55 | this.level = level; 56 | } 57 | 58 | public boolean isNeedAuth() { 59 | return authed; 60 | } 61 | 62 | public void needAuth() { 63 | this.authed = true; 64 | } 65 | 66 | public void noNeedAuth() { 67 | this.authed = false; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/capability/IFCapabilityImpl.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.capability; 2 | 3 | import net.minecraft.nbt.CompoundTag; 4 | 5 | public class IFCapabilityImpl implements IIFCapability { 6 | 7 | private int content = 0; 8 | 9 | public IFCapabilityImpl(int content) { 10 | this.content = content; 11 | } 12 | 13 | @Override 14 | public int getIF() { 15 | return this.content; 16 | } 17 | 18 | 19 | public CompoundTag serializeNBT(CompoundTag tag) { 20 | tag.putInt("if_power", this.content); 21 | return tag; 22 | } 23 | 24 | 25 | public void deserializeNBT(CompoundTag tag) { 26 | this.content = tag.getInt("if_power"); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/capability/IIFCapability.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.capability; 2 | 3 | import net.minecraft.nbt.CompoundTag; 4 | 5 | public interface IIFCapability { 6 | 7 | int getIF(); 8 | 9 | CompoundTag serializeNBT(CompoundTag tag); 10 | 11 | void deserializeNBT(CompoundTag tag); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/BaseNodeBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.level.block.entity.BlockEntityType; 5 | import net.minecraft.world.level.block.state.BlockState; 6 | 7 | public abstract class BaseNodeBlockEntity extends AcademyContainerBlockEntity { 8 | public BaseNodeBlockEntity(BlockEntityType p_155228_, BlockPos p_155229_, BlockState p_155230_) { 9 | super(p_155228_, p_155229_, p_155230_); 10 | } 11 | 12 | @Override 13 | public int getContainerSize() { 14 | return 2; 15 | } 16 | 17 | public abstract int getRange(); 18 | 19 | public boolean isConnected() { 20 | //TODO: 连接/断开矩阵 21 | return false; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/CatEngineBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.util.Mth; 6 | import net.minecraft.world.entity.player.Player; 7 | import net.minecraft.world.level.Level; 8 | import net.minecraft.world.level.block.entity.BlockEntity; 9 | import net.minecraft.world.level.block.state.BlockState; 10 | 11 | public class CatEngineBlockEntity extends BlockEntity { 12 | public int time; 13 | public float rot; 14 | public float oRot; 15 | public float tRot; 16 | public boolean enable = false; 17 | public float rH = 0; 18 | 19 | public CatEngineBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 20 | super(AcademyBlockEntities.CAT_ENGINE.get(), p_155229_, p_155230_); 21 | } 22 | 23 | public static void tickAnim(Level level, BlockPos blockPos, BlockState blockState, CatEngineBlockEntity e) { 24 | e.oRot = e.rot; 25 | Player player = level.getNearestPlayer(blockPos.getX(), blockPos.getY(), blockPos.getZ(), 3, false); 26 | if (player != null) { 27 | double d0 = player.getX() - ((double) blockPos.getX() + 0.5D); 28 | double d1 = player.getZ() - ((double) blockPos.getZ() + 0.5D); 29 | e.tRot = (float) Mth.atan2(d1, d0); 30 | } else { 31 | e.tRot += 0.02F; 32 | } 33 | while (e.rot >= (float) Math.PI) { 34 | e.rot -= ((float) Math.PI * 2F); 35 | } 36 | 37 | while (e.rot < -(float) Math.PI) { 38 | e.rot += ((float) Math.PI * 2F); 39 | } 40 | 41 | while (e.tRot >= (float) Math.PI) { 42 | e.tRot -= ((float) Math.PI * 2F); 43 | } 44 | 45 | while (e.tRot < -(float) Math.PI) { 46 | e.tRot += ((float) Math.PI * 2F); 47 | } 48 | 49 | float f2; 50 | for (f2 = e.tRot - e.rot; f2 >= (float) Math.PI; f2 -= ((float) Math.PI * 2F)) { 51 | } 52 | 53 | while (f2 < -(float) Math.PI) { 54 | f2 += ((float) Math.PI * 2F); 55 | } 56 | 57 | e.rot += f2 * 0.4F; 58 | ++e.time; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/DevAdvancedBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class DevAdvancedBlockEntity extends BlockEntity { 9 | public DevAdvancedBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.DEV_ADVANCED.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/DevAdvancedSubBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class DevAdvancedSubBlockEntity extends BlockEntity { 9 | public DevAdvancedSubBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.DEV_ADVANCED_SUB.get(), p_155229_, p_155230_); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/DevNormalBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class DevNormalBlockEntity extends BlockEntity { 9 | public DevNormalBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.DEV_NORMAL.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/DevNormalSubBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class DevNormalSubBlockEntity extends BlockEntity { 9 | public DevNormalSubBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.DEV_NORMAL_SUB.get(), p_155229_, p_155230_); 11 | } 12 | 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/MatrixBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class MatrixBlockEntity extends BlockEntity { 9 | public MatrixBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.MATRIX.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/MatrixSubBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class MatrixSubBlockEntity extends BlockEntity { 9 | public MatrixSubBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.MATRIX_SUB.get(), p_155229_, p_155230_); 11 | } 12 | 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/NodeBasicBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.state.BlockState; 6 | 7 | public class NodeBasicBlockEntity extends BaseNodeBlockEntity { 8 | public NodeBasicBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 9 | super(AcademyBlockEntities.NODE_BASIC.get(), p_155229_, p_155230_); 10 | } 11 | 12 | @Override 13 | public int getContainerSize() { 14 | return 2; 15 | } 16 | 17 | @Override 18 | public int getRange() { 19 | return 1; 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/PhaseGenBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class PhaseGenBlockEntity extends BlockEntity { 9 | public PhaseGenBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.PHASE_GEN.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/PhaseLiquidBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.TheEndPortalBlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class PhaseLiquidBlockEntity extends TheEndPortalBlockEntity { 9 | public PhaseLiquidBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.PHASE_LIQUID.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/SolarGenBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class SolarGenBlockEntity extends BlockEntity { 9 | public SolarGenBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.SOLAR_GEN.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/WindGenBaseBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import com.mohistmc.academy.world.AcademyItems; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class WindGenBaseBlockEntity extends AcademyContainerBlockEntity { 9 | private boolean validBlock = false; 10 | private boolean validMiddle = false; 11 | 12 | public WindGenBaseBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 13 | super(AcademyBlockEntities.WINDGEN_BASE.get(), p_155229_, p_155230_); 14 | } 15 | 16 | 17 | public void tick(boolean validBlock, boolean validMiddle) { 18 | this.validBlock = validBlock; 19 | this.validMiddle = validMiddle; 20 | if (!validBlock) return; 21 | getItems().forEach((item) -> { 22 | if (item.is(AcademyItems.ENERGY_UNIT.get())) { 23 | /* 24 | Optional optional = getCapability(AcademyCapability.IF_CAPABILITY).resolve(); 25 | if (optional.isPresent()) { 26 | Object cap = optional.get(); 27 | if (cap instanceof IIFCapability ifPower) { 28 | item.setDamageValue(item.getDamageValue() - ifPower.getIF()); 29 | // item.applyComponents(ifPower.serializeNBT(item.collectComponents())); TODO 30 | } 31 | } 32 | */ 33 | } 34 | }); 35 | } 36 | 37 | @Override 38 | public int getContainerSize() { 39 | return 1; 40 | } 41 | 42 | public boolean isValidMiddle() { 43 | return validMiddle; 44 | } 45 | 46 | public boolean isValidMain() { 47 | return validBlock; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/WindGenBaseSubBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class WindGenBaseSubBlockEntity extends BlockEntity { 9 | public WindGenBaseSubBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.WIND_GEN_BASE_SUB.get(), p_155229_, p_155230_); 11 | } 12 | 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/WindGenFanBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class WindGenFanBlockEntity extends BlockEntity { 9 | public float rH = 360; 10 | 11 | public WindGenFanBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 12 | super(AcademyBlockEntities.WINDGEN_FAN.get(), p_155229_, p_155230_); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/WindGenPillarBlockEntity.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity; 2 | 3 | import com.mohistmc.academy.world.AcademyBlockEntities; 4 | import net.minecraft.core.BlockPos; 5 | import net.minecraft.world.level.block.entity.BlockEntity; 6 | import net.minecraft.world.level.block.state.BlockState; 7 | 8 | public class WindGenPillarBlockEntity extends BlockEntity { 9 | public WindGenPillarBlockEntity(BlockPos p_155229_, BlockState p_155230_) { 10 | super(AcademyBlockEntities.WINDGEN_PILLAR.get(), p_155229_, p_155230_); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/render/PhaseLiquidRender.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity.render; 2 | 3 | import com.mohistmc.academy.client.block.entity.PhaseLiquidBlockEntity; 4 | import com.mojang.blaze3d.vertex.PoseStack; 5 | import com.mojang.blaze3d.vertex.VertexConsumer; 6 | import net.minecraft.client.renderer.MultiBufferSource; 7 | import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; 8 | import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; 9 | import net.minecraft.core.Direction; 10 | import org.joml.Matrix4f; 11 | 12 | public class PhaseLiquidRender implements BlockEntityRenderer { 13 | 14 | public PhaseLiquidRender(BlockEntityRendererProvider.Context ctx) { 15 | 16 | } 17 | 18 | @Override 19 | public void render(PhaseLiquidBlockEntity entity, float p_112308_, PoseStack stack, MultiBufferSource source, int p_112311_, int p_112312_) { 20 | //参考: TheEndGatewayRenderer 21 | //TODO: 粒子效果 22 | } 23 | 24 | private void renderCube(Matrix4f p_254024_, VertexConsumer p_173693_) { 25 | this.renderFace(p_254024_, p_173693_, 0.0F, 1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, 1.0F, Direction.SOUTH); 26 | this.renderFace(p_254024_, p_173693_, 0.0F, 1.0F, 1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, Direction.NORTH); 27 | this.renderFace(p_254024_, p_173693_, 1.0F, 1.0F, 1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.0F, Direction.EAST); 28 | this.renderFace(p_254024_, p_173693_, 0.0F, 0.0F, 0.0F, 1.0F, 0.0F, 1.0F, 1.0F, 0.0F, Direction.WEST); 29 | this.renderFace(p_254024_, p_173693_, 0.0F, 1.0F, 0F, 0F, 0.0F, 0.0F, 1.0F, 1.0F, Direction.DOWN); 30 | this.renderFace(p_254024_, p_173693_, 0.0F, 1.0F, 1F, 1F, 1.0F, 1.0F, 0.0F, 0.0F, Direction.UP); 31 | } 32 | 33 | private void renderFace(Matrix4f p_254247_, VertexConsumer p_254390_, float p_254147_, float p_253639_, float p_254107_, float p_254109_, float p_254021_, float p_254458_, float p_254086_, float p_254310_, Direction p_253619_) { 34 | p_254390_.addVertex(p_254247_, p_254147_, p_254107_, p_254021_); 35 | p_254390_.addVertex(p_254247_, p_253639_, p_254107_, p_254458_); 36 | p_254390_.addVertex(p_254247_, p_253639_, p_254109_, p_254086_); 37 | p_254390_.addVertex(p_254247_, p_254147_, p_254109_, p_254310_); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/entity/render/WindGenFanRender.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.entity.render; 2 | 3 | import com.mohistmc.academy.client.block.entity.WindGenFanBlockEntity; 4 | import com.mojang.blaze3d.vertex.PoseStack; 5 | import net.minecraft.client.renderer.MultiBufferSource; 6 | import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; 7 | import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; 8 | 9 | public class WindGenFanRender implements BlockEntityRenderer { 10 | 11 | public WindGenFanRender(BlockEntityRendererProvider.Context ctx) { 12 | } 13 | 14 | @Override 15 | public void render(WindGenFanBlockEntity p_112307_, float p_112308_, PoseStack p_112309_, MultiBufferSource p_112310_, int p_112311_, int p_112312_) { 16 | //TODO: 风扇转不起来 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/gui/BaseNodeGui.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.gui; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.gui.AcademyBaseUI; 5 | import com.mohistmc.academy.utils.RenderUtils; 6 | import com.mohistmc.academy.world.menu.BaseNodeMenu; 7 | import com.mojang.blaze3d.systems.RenderSystem; 8 | import net.minecraft.client.gui.GuiGraphics; 9 | import net.minecraft.network.chat.Component; 10 | import net.minecraft.resources.ResourceLocation; 11 | import net.minecraft.world.entity.player.Inventory; 12 | 13 | public abstract class BaseNodeGui extends AcademyBaseUI { 14 | 15 | private static final ResourceLocation UI_NODE = ResourceLocation.fromNamespaceAndPath(AcademyCraft.MODID, "textures/guis/ui/ui_node.png"); 16 | private static final ResourceLocation EFFECT_NODE = ResourceLocation.fromNamespaceAndPath(AcademyCraft.MODID, "textures/guis/effect/effect_node.png"); 17 | private boolean connected = false; 18 | 19 | public BaseNodeGui(T t, Inventory inv, Component p_97743_) { 20 | super(t, inv, p_97743_); 21 | } 22 | 23 | 24 | private long lastAnimTime = 0; 25 | private int animIndex = 0; 26 | 27 | @Override 28 | public void renderBackground(GuiGraphics stack, int mouseX, int mouseY, float p_97788_) { 29 | RenderSystem.setShaderColor(1, 1, 1, 1); 30 | RenderSystem.enableBlend(); 31 | RenderSystem.defaultBlendFunc(); 32 | 33 | RenderUtils.renderCenter(176, 187, this.width, this.height, stack, UI_NODE); 34 | 35 | this.connected = activeNode != -1; 36 | if (!this.connected) { 37 | if (System.currentTimeMillis() - lastAnimTime > 2000) { 38 | animIndex++; 39 | if (animIndex < 8 || animIndex > 9) animIndex = 8; 40 | lastAnimTime = System.currentTimeMillis(); 41 | } 42 | } else { 43 | if (System.currentTimeMillis() - lastAnimTime > 1000) { 44 | animIndex++; 45 | if (animIndex > 7) animIndex = 0; 46 | lastAnimTime = System.currentTimeMillis(); 47 | } 48 | } 49 | RenderUtils.renderCenter(0, -(75 / 2) - 2, 50 | 176 / 2, 75 / 2, 51 | 176, 75, 52 | this.width, this.height, stack, EFFECT_NODE, 53 | 75 * animIndex, 0, 176, 750); 54 | //TODO: 检测是否链接矩阵,播放动画 55 | RenderSystem.disableBlend(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/gui/NodeBasicGui.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.gui; 2 | 3 | import com.mohistmc.academy.world.menu.NodeBasicMenu; 4 | import net.minecraft.network.chat.Component; 5 | import net.minecraft.world.entity.player.Inventory; 6 | 7 | public class NodeBasicGui extends BaseNodeGui { 8 | public NodeBasicGui(NodeBasicMenu nodeBasicMenu, Inventory inv, Component p_97743_) { 9 | super(nodeBasicMenu, inv, p_97743_); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/client/block/gui/WindMainGui.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.client.block.gui; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.gui.AcademyBaseUI; 5 | import com.mohistmc.academy.utils.RenderUtils; 6 | import com.mohistmc.academy.world.menu.WindGenMainMenu; 7 | import com.mojang.blaze3d.systems.RenderSystem; 8 | import net.minecraft.client.gui.GuiGraphics; 9 | import net.minecraft.network.chat.Component; 10 | import net.minecraft.resources.ResourceLocation; 11 | import net.minecraft.world.entity.player.Inventory; 12 | import net.neoforged.api.distmarker.Dist; 13 | import net.neoforged.api.distmarker.OnlyIn; 14 | 15 | @OnlyIn(Dist.CLIENT) 16 | public class WindMainGui extends AcademyBaseUI { 17 | 18 | private static final ResourceLocation UI_WIN_MAIN = ResourceLocation.fromNamespaceAndPath(AcademyCraft.MODID, "textures/guis/ui/ui_windmain.png"); 19 | private final Inventory inv; 20 | 21 | public WindMainGui(WindGenMainMenu menu, Inventory inv, Component p_97743_) { 22 | super(menu, inv, p_97743_); 23 | this.inv = inv; 24 | setRenderWireless(false); 25 | } 26 | 27 | 28 | @Override 29 | protected void init() { 30 | super.init(); 31 | } 32 | 33 | 34 | @Override 35 | public void render(GuiGraphics p_97795_, int p_97796_, int p_97797_, float p_97798_) { 36 | super.renderBackground(p_97795_, p_97796_, p_97797_, p_97798_); 37 | super.render(p_97795_, p_97796_, p_97797_, p_97798_); 38 | super.renderTooltip(p_97795_, p_97796_, p_97797_); 39 | } 40 | 41 | @Override 42 | protected void renderLabels(GuiGraphics p_97808_, int p_97809_, int p_97810_) { 43 | //TODO: nothing 44 | } 45 | 46 | @Override 47 | public void renderBackground(GuiGraphics p_300197_, int p_297538_, int p_300104_, float p_298759_) { 48 | RenderSystem.setShaderColor(1, 1, 1, 1); 49 | RenderSystem.enableBlend(); 50 | RenderSystem.defaultBlendFunc(); 51 | RenderUtils.renderCenter(176, 187, this.width, this.height, p_300197_, UI_WIN_MAIN); 52 | RenderSystem.disableBlend(); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/listener/ClientListener.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.listener; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.client.block.entity.model.CatEngineModel; 5 | import com.mohistmc.academy.client.block.entity.render.PhaseLiquidRender; 6 | import com.mohistmc.academy.client.block.entity.render.WindGenFanRender; 7 | import com.mohistmc.academy.world.AcademyBlockEntities; 8 | import com.mojang.logging.LogUtils; 9 | import net.minecraft.client.Minecraft; 10 | import net.neoforged.api.distmarker.Dist; 11 | import net.neoforged.bus.api.SubscribeEvent; 12 | import net.neoforged.fml.common.EventBusSubscriber; 13 | import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; 14 | import net.neoforged.neoforge.client.event.EntityRenderersEvent; 15 | import org.slf4j.Logger; 16 | 17 | /** 18 | * 客户端事件监听器 19 | * 20 | * @author lliiooll 21 | */ 22 | @EventBusSubscriber(modid = AcademyCraft.MODID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) 23 | public class ClientListener { 24 | 25 | private static final Logger LOGGER = LogUtils.getLogger(); 26 | 27 | @SubscribeEvent 28 | public static void onClientSetup(FMLClientSetupEvent event) { 29 | // Some client setup code 30 | LOGGER.info("HELLO FROM CLIENT SETUP"); 31 | LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName()); 32 | } 33 | 34 | //将所有的生物的皮肤贴图信息写在这个函数里,有几个写几个 35 | @SubscribeEvent 36 | public static void onRegisterLayers(EntityRenderersEvent.RegisterLayerDefinitions event) { 37 | //event.registerLayerDefinition(CatEngineModel.LAYER_LOCATION, CatEngineModel::createBodyLayer); 38 | } 39 | 40 | //将所有的生物的渲染信息写在这个函数里,有几个写几个 41 | @SubscribeEvent 42 | public static void onRegisterRenderer(EntityRenderersEvent.RegisterRenderers event) { 43 | //event.registerBlockEntityRenderer(AcademyBlockEntities.CAT_ENGINE.get(), CatEngineRender::new); 44 | event.registerBlockEntityRenderer(AcademyBlockEntities.PHASE_LIQUID.get(), PhaseLiquidRender::new); 45 | event.registerBlockEntityRenderer(AcademyBlockEntities.WINDGEN_FAN.get(), WindGenFanRender::new); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/listener/CommonListener.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.listener; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.client.block.gui.NodeBasicGui; 5 | import com.mohistmc.academy.client.block.gui.WindBaseGui; 6 | import com.mohistmc.academy.client.block.gui.WindMainGui; 7 | import com.mohistmc.academy.world.AcademyMenus; 8 | import com.mohistmc.academy.world.provider.AcademyBlockTagsProvider; 9 | import java.util.concurrent.CompletableFuture; 10 | import net.minecraft.core.HolderLookup; 11 | import net.minecraft.data.DataGenerator; 12 | import net.minecraft.data.PackOutput; 13 | import net.neoforged.bus.api.SubscribeEvent; 14 | import net.neoforged.fml.common.EventBusSubscriber; 15 | import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; 16 | import net.neoforged.neoforge.common.data.ExistingFileHelper; 17 | import net.neoforged.neoforge.data.event.GatherDataEvent; 18 | 19 | /** 20 | * 通用事件监听器 21 | * 22 | * @author lliiooll 23 | */ 24 | @EventBusSubscriber(modid = AcademyCraft.MODID, bus = EventBusSubscriber.Bus.MOD) 25 | public class CommonListener { 26 | 27 | @SubscribeEvent 28 | public static void gatherData(GatherDataEvent event) { 29 | DataGenerator gen = event.getGenerator(); 30 | PackOutput packOutput = gen.getPackOutput(); 31 | CompletableFuture lookupProvider = event.getLookupProvider(); 32 | ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); 33 | 34 | gen.addProvider(event.includeServer(), new AcademyBlockTagsProvider(packOutput, lookupProvider, existingFileHelper)); 35 | 36 | } 37 | 38 | @SubscribeEvent 39 | public static void registerMenuScreens(RegisterMenuScreensEvent event) { 40 | event.register(AcademyMenus.WIND_BASE_MENU.get(), WindBaseGui::new); 41 | event.register(AcademyMenus.WIND_MAIN_MENU.get(), WindMainGui::new); 42 | event.register(AcademyMenus.NODE_BASIC.get(), NodeBasicGui::new); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/listener/ServerListener.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.listener; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mojang.logging.LogUtils; 5 | import net.neoforged.api.distmarker.Dist; 6 | import net.neoforged.bus.api.SubscribeEvent; 7 | import net.neoforged.fml.common.EventBusSubscriber; 8 | import net.neoforged.neoforge.event.server.ServerStartingEvent; 9 | import org.slf4j.Logger; 10 | 11 | /** 12 | * 服务器事件监听器 13 | * 14 | * @author lliiooll 15 | */ 16 | public class ServerListener { 17 | 18 | private static final Logger LOGGER = LogUtils.getLogger(); 19 | 20 | // You can use SubscribeEvent and let the Event Bus discover methods to call 21 | @SubscribeEvent 22 | public void onServerStarting(ServerStartingEvent event) { 23 | // Do something when the server starts 24 | LOGGER.info("HELLO from server starting"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademyCapability.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | public class AcademyCapability { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademyEntities.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import net.minecraft.core.registries.Registries; 5 | import net.minecraft.world.entity.EntityType; 6 | import net.neoforged.neoforge.registries.DeferredRegister; 7 | 8 | public class AcademyEntities { 9 | public static final DeferredRegister> ENTITIES = DeferredRegister.create(Registries.ENTITY_TYPE, AcademyCraft.MODID); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademyFluidTypes.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import net.minecraft.core.registries.Registries; 5 | import net.minecraft.world.level.material.Fluid; 6 | import net.neoforged.neoforge.registries.DeferredRegister; 7 | 8 | 9 | public class AcademyFluidTypes { 10 | public static final DeferredRegister FLUID_TYPES = DeferredRegister.create(Registries.FLUID, AcademyCraft.MODID); 11 | 12 | //public static final Supplier PHASE_LIQUID = FLUID_TYPES.register("phase_liquid_type", PhaseLiquidType::new); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademyFluids.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.world.fluid.PhaseFluid; 5 | import java.util.function.Supplier; 6 | import net.minecraft.core.registries.Registries; 7 | import net.minecraft.world.level.material.FlowingFluid; 8 | import net.minecraft.world.level.material.Fluid; 9 | import net.neoforged.neoforge.registries.DeferredRegister; 10 | 11 | public class AcademyFluids { 12 | public static final DeferredRegister FLUIDS = DeferredRegister.create(Registries.FLUID, AcademyCraft.MODID); 13 | 14 | public static final Supplier PHASE_LIQUID = FLUIDS.register("phase_liquid", PhaseFluid.Source::new); 15 | public static final Supplier FLOWING_PHASE_LIQUID = FLUIDS.register("phase_liquid_flowing", PhaseFluid.Flowing::new); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademyMenus.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.world.menu.NodeBasicMenu; 5 | import com.mohistmc.academy.world.menu.WindGenBaseMenu; 6 | import com.mohistmc.academy.world.menu.WindGenMainMenu; 7 | import java.util.function.Supplier; 8 | import net.minecraft.core.registries.Registries; 9 | import net.minecraft.world.inventory.MenuType; 10 | import net.neoforged.neoforge.common.extensions.IMenuTypeExtension; 11 | import net.neoforged.neoforge.registries.DeferredRegister; 12 | 13 | 14 | public class AcademyMenus { 15 | public static final DeferredRegister> MENUS = DeferredRegister.create(Registries.MENU, AcademyCraft.MODID); 16 | 17 | public static final Supplier> WIND_BASE_MENU = MENUS.register("wind_base_menu", () -> IMenuTypeExtension.create(WindGenBaseMenu::new)); 18 | public static final Supplier> WIND_MAIN_MENU = MENUS.register("wind_main_menu", () -> IMenuTypeExtension.create(WindGenMainMenu::new)); 19 | public static final Supplier> NODE_BASIC = MENUS.register("node_basic_menu", () -> IMenuTypeExtension.create(NodeBasicMenu::new)); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/AcademySounds.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import net.minecraft.core.Holder; 5 | import net.minecraft.core.registries.BuiltInRegistries; 6 | import net.minecraft.sounds.SoundEvent; 7 | import net.neoforged.neoforge.registries.DeferredRegister; 8 | 9 | public class AcademySounds { 10 | 11 | public static final DeferredRegister SOUND_EVENTS = 12 | DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, AcademyCraft.MODID); 13 | 14 | public static final Holder MY_SOUND = SOUND_EVENTS.register( 15 | "entity.flipcoin", 16 | SoundEvent::createVariableRangeEvent 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/AbilityInterferer.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.core.BlockPos; 4 | import net.minecraft.world.InteractionResult; 5 | import net.minecraft.world.entity.player.Player; 6 | import net.minecraft.world.level.Level; 7 | import net.minecraft.world.level.block.Block; 8 | import net.minecraft.world.level.block.SoundType; 9 | import net.minecraft.world.level.block.state.BlockState; 10 | import net.minecraft.world.level.block.state.StateDefinition; 11 | import net.minecraft.world.level.block.state.properties.IntegerProperty; 12 | import net.minecraft.world.phys.BlockHitResult; 13 | 14 | public class AbilityInterferer extends Block { 15 | 16 | private static final IntegerProperty STATUS = IntegerProperty.create("status", 0, 1); 17 | 18 | public AbilityInterferer() { 19 | super(Properties.of() 20 | .sound(SoundType.STONE) 21 | .noOcclusion() 22 | .strength(3.0f) 23 | .requiresCorrectToolForDrops()); 24 | this.registerDefaultState(this.getStateDefinition().any().setValue(STATUS, 0)); 25 | } 26 | 27 | @Override 28 | protected void createBlockStateDefinition(StateDefinition.Builder p_49915_) { 29 | p_49915_.add(STATUS); 30 | super.createBlockStateDefinition(p_49915_); 31 | } 32 | 33 | 34 | @Override 35 | public InteractionResult useWithoutItem(BlockState p_251703_, Level p_249080_, BlockPos p_250832_, Player p_251881_, BlockHitResult p_252293_) { 36 | 37 | // TODO: 打开GUI 38 | return InteractionResult.CONSUME; 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/CatEngine.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.CatEngineBlockEntity; 4 | import com.mohistmc.academy.world.AcademyBlockEntities; 5 | import com.mojang.serialization.MapCodec; 6 | import net.minecraft.core.BlockPos; 7 | import net.minecraft.util.RandomSource; 8 | import net.minecraft.world.InteractionResult; 9 | import net.minecraft.world.entity.player.Player; 10 | import net.minecraft.world.level.Level; 11 | import net.minecraft.world.level.block.BaseEntityBlock; 12 | import net.minecraft.world.level.block.RenderShape; 13 | import net.minecraft.world.level.block.entity.BlockEntity; 14 | import net.minecraft.world.level.block.entity.BlockEntityTicker; 15 | import net.minecraft.world.level.block.entity.BlockEntityType; 16 | import net.minecraft.world.level.block.state.BlockState; 17 | import net.minecraft.world.phys.BlockHitResult; 18 | import org.jetbrains.annotations.Nullable; 19 | 20 | public class CatEngine extends BaseEntityBlock { 21 | 22 | public static final MapCodec CODEC = simpleCodec(CatEngine::new); 23 | public CatEngine(Properties properties) { 24 | super(properties); 25 | } 26 | 27 | @Override 28 | protected MapCodec codec() { 29 | return CODEC; 30 | } 31 | 32 | @Override 33 | public void animateTick(BlockState p_220827_, Level p_220828_, BlockPos p_220829_, RandomSource p_220830_) { 34 | 35 | } 36 | 37 | @Nullable 38 | @Override 39 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 40 | return new CatEngineBlockEntity(p_153215_, p_153216_); 41 | } 42 | 43 | @Override 44 | public InteractionResult useWithoutItem(BlockState p_60503_, Level level, BlockPos pos, Player p_60506_, BlockHitResult p_60508_) { 45 | BlockEntity entity = level.getBlockEntity(pos); 46 | if (entity instanceof CatEngineBlockEntity blockEntity) { 47 | blockEntity.enable = !blockEntity.enable; 48 | // TODO: 自动链接到周围节点 49 | } 50 | return InteractionResult.PASS; 51 | } 52 | 53 | @Nullable 54 | @Override 55 | public BlockEntityTicker getTicker(Level p_153212_, BlockState p_153213_, BlockEntityType p_153214_) { 56 | return p_153212_.isClientSide() ? createTickerHelper(p_153214_, AcademyBlockEntities.CAT_ENGINE.get(), CatEngineBlockEntity::tickAnim) : null; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/ConstraintMetal.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.world.level.block.Block; 4 | import net.minecraft.world.level.block.SoundType; 5 | 6 | public class ConstraintMetal extends Block { 7 | 8 | public ConstraintMetal() { 9 | super(Properties.of() 10 | .sound(SoundType.STONE) 11 | .noOcclusion() 12 | .strength(4.0f) 13 | .requiresCorrectToolForDrops() 14 | ); 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/CrystalOre.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.world.level.block.Block; 4 | import net.minecraft.world.level.block.SoundType; 5 | 6 | public class CrystalOre extends Block { 7 | 8 | public CrystalOre() { 9 | super(Properties.of() 10 | .sound(SoundType.STONE) 11 | .noOcclusion() 12 | .strength(4.0f) 13 | .requiresCorrectToolForDrops() 14 | ); 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/DevAdvancedSubBlock.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.DevAdvancedSubBlockEntity; 4 | import com.mojang.serialization.MapCodec; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.level.Level; 7 | import net.minecraft.world.level.block.AirBlock; 8 | import net.minecraft.world.level.block.BaseEntityBlock; 9 | import net.minecraft.world.level.block.Block; 10 | import net.minecraft.world.level.block.entity.BlockEntity; 11 | import net.minecraft.world.level.block.state.BlockState; 12 | import org.jetbrains.annotations.Nullable; 13 | 14 | public class DevAdvancedSubBlock extends BaseEntityBlock { 15 | 16 | public static final MapCodec CODEC = simpleCodec(DevAdvancedSubBlock::new); 17 | public DevAdvancedSubBlock(Properties properties) { 18 | super(properties); 19 | } 20 | 21 | @Override 22 | protected MapCodec codec() { 23 | return CODEC; 24 | } 25 | 26 | @Override 27 | public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean p_60514_) { 28 | //Block block = level.getBlockState(pos).getBlock(); 29 | if ((block instanceof DevAdvancedSubBlock || block instanceof DevAdvanced) && level.getBlockState(neighbor).getBlock() instanceof AirBlock) { 30 | level.destroyBlock(pos, false); 31 | } 32 | super.neighborChanged(state, level, pos, block, neighbor, p_60514_); 33 | } 34 | 35 | @Nullable 36 | @Override 37 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 38 | return new DevAdvancedSubBlockEntity(p_153215_, p_153216_); 39 | } 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/DevNormalSubBlock.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.DevNormalSubBlockEntity; 4 | import com.mojang.serialization.MapCodec; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.level.Level; 7 | import net.minecraft.world.level.block.AirBlock; 8 | import net.minecraft.world.level.block.BaseEntityBlock; 9 | import net.minecraft.world.level.block.Block; 10 | import net.minecraft.world.level.block.entity.BlockEntity; 11 | import net.minecraft.world.level.block.state.BlockState; 12 | import org.jetbrains.annotations.Nullable; 13 | 14 | public class DevNormalSubBlock extends BaseEntityBlock { 15 | public static final MapCodec CODEC = simpleCodec(DevNormalSubBlock::new); 16 | 17 | public DevNormalSubBlock(Properties properties) { 18 | super(properties); 19 | } 20 | 21 | @Override 22 | protected MapCodec codec() { 23 | return CODEC; 24 | } 25 | 26 | @Override 27 | public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean p_60514_) { 28 | //Block block = level.getBlockState(pos).getBlock(); 29 | if ((block instanceof DevNormalSubBlock || block instanceof DevNormal) && level.getBlockState(neighbor).getBlock() instanceof AirBlock) { 30 | level.destroyBlock(pos, false); 31 | } 32 | super.neighborChanged(state, level, pos, block, neighbor, p_60514_); 33 | } 34 | 35 | @Nullable 36 | @Override 37 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 38 | return new DevNormalSubBlockEntity(p_153215_, p_153216_); 39 | } 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/ImagsilOre.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.world.level.block.Block; 4 | import net.minecraft.world.level.block.SoundType; 5 | 6 | public class ImagsilOre extends Block { 7 | 8 | public ImagsilOre() { 9 | super(Properties.of() 10 | .sound(SoundType.STONE) 11 | .noOcclusion() 12 | .strength(4.0f) 13 | .requiresCorrectToolForDrops() 14 | ); 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/MachineFrame.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.world.level.block.Block; 4 | import net.minecraft.world.level.block.SoundType; 5 | 6 | public class MachineFrame extends Block { 7 | 8 | public MachineFrame() { 9 | super(Properties.of() 10 | .sound(SoundType.STONE) 11 | .noOcclusion() 12 | .strength(4.0f) 13 | .requiresCorrectToolForDrops() 14 | ); 15 | 16 | } 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/MatrixSubBlock.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.MatrixSubBlockEntity; 4 | import com.mojang.serialization.MapCodec; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.level.Level; 7 | import net.minecraft.world.level.block.AirBlock; 8 | import net.minecraft.world.level.block.BaseEntityBlock; 9 | import net.minecraft.world.level.block.Block; 10 | import net.minecraft.world.level.block.entity.BlockEntity; 11 | import net.minecraft.world.level.block.state.BlockState; 12 | import org.jetbrains.annotations.Nullable; 13 | 14 | public class MatrixSubBlock extends BaseEntityBlock { 15 | public static final MapCodec CODEC = simpleCodec(MatrixSubBlock::new); 16 | public MatrixSubBlock(Properties properties) { 17 | super(properties); 18 | } 19 | 20 | @Override 21 | protected MapCodec codec() { 22 | return CODEC; 23 | } 24 | 25 | @Override 26 | public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean p_60514_) { 27 | //Block block = level.getBlockState(pos).getBlock(); 28 | if ((block instanceof MatrixSubBlock || block instanceof Matrix) && level.getBlockState(neighbor).getBlock() instanceof AirBlock) { 29 | level.destroyBlock(pos, false); 30 | } 31 | super.neighborChanged(state, level, pos, block, neighbor, p_60514_); 32 | } 33 | 34 | @Nullable 35 | @Override 36 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 37 | return new MatrixSubBlockEntity(p_153215_, p_153216_); 38 | } 39 | 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/PhaseGen.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.PhaseGenBlockEntity; 4 | import com.mojang.serialization.MapCodec; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.util.RandomSource; 7 | import net.minecraft.world.InteractionResult; 8 | import net.minecraft.world.entity.player.Player; 9 | import net.minecraft.world.level.Level; 10 | import net.minecraft.world.level.block.BaseEntityBlock; 11 | import net.minecraft.world.level.block.Block; 12 | import net.minecraft.world.level.block.RenderShape; 13 | import net.minecraft.world.level.block.entity.BlockEntity; 14 | import net.minecraft.world.level.block.state.BlockState; 15 | import net.minecraft.world.level.block.state.StateDefinition; 16 | import net.minecraft.world.level.block.state.properties.IntegerProperty; 17 | import net.minecraft.world.phys.BlockHitResult; 18 | import org.jetbrains.annotations.Nullable; 19 | 20 | public class PhaseGen extends BaseEntityBlock { 21 | public static final MapCodec CODEC = simpleCodec(PhaseGen::new); 22 | private static final IntegerProperty WORKING = IntegerProperty.create("working", 0, 4); 23 | 24 | public PhaseGen(Properties properties) { 25 | super(properties); 26 | this.registerDefaultState(this.getStateDefinition().any().setValue(WORKING, 0)); 27 | 28 | } 29 | 30 | @Override 31 | protected MapCodec codec() { 32 | return CODEC; 33 | } 34 | 35 | @Override 36 | protected void createBlockStateDefinition(StateDefinition.Builder p_49915_) { 37 | p_49915_.add(WORKING); 38 | super.createBlockStateDefinition(p_49915_); 39 | } 40 | 41 | @Override 42 | public InteractionResult useWithoutItem(BlockState p_60503_, Level p_60504_, BlockPos p_60505_, Player player, BlockHitResult p_60508_) { 43 | 44 | // TODO: 打开GUI 45 | return InteractionResult.CONSUME; 46 | 47 | } 48 | 49 | 50 | @Override 51 | public void animateTick(BlockState p_220827_, Level p_220828_, BlockPos p_220829_, RandomSource p_220830_) { 52 | 53 | } 54 | 55 | @Nullable 56 | @Override 57 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 58 | return new PhaseGenBlockEntity(p_153215_, p_153216_); 59 | } 60 | 61 | @Override 62 | public RenderShape getRenderShape(BlockState p_49232_) { 63 | return RenderShape.MODEL; 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/ResoOre.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import net.minecraft.world.level.block.Block; 4 | import net.minecraft.world.level.block.SoundType; 5 | 6 | public class ResoOre extends Block { 7 | 8 | public ResoOre() { 9 | super(Properties.of() 10 | .sound(SoundType.STONE) 11 | .noOcclusion() 12 | .strength(4.0f) 13 | .requiresCorrectToolForDrops() 14 | ); 15 | } 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/block/WindGenBaseSubBlock.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.block; 2 | 3 | import com.mohistmc.academy.client.block.entity.WindGenBaseSubBlockEntity; 4 | import com.mojang.serialization.MapCodec; 5 | import net.minecraft.core.BlockPos; 6 | import net.minecraft.world.InteractionResult; 7 | import net.minecraft.world.entity.player.Player; 8 | import net.minecraft.world.level.Level; 9 | import net.minecraft.world.level.block.AirBlock; 10 | import net.minecraft.world.level.block.BaseEntityBlock; 11 | import net.minecraft.world.level.block.Block; 12 | import net.minecraft.world.level.block.entity.BlockEntity; 13 | import net.minecraft.world.level.block.state.BlockState; 14 | import net.minecraft.world.phys.BlockHitResult; 15 | import org.jetbrains.annotations.Nullable; 16 | 17 | public class WindGenBaseSubBlock extends BaseEntityBlock { 18 | public static final MapCodec CODEC = simpleCodec(WindGenBaseSubBlock::new); 19 | private boolean validBlock = false; 20 | 21 | public WindGenBaseSubBlock(Properties properties) { 22 | super(properties); 23 | } 24 | 25 | @Override 26 | protected MapCodec codec() { 27 | return CODEC; 28 | } 29 | 30 | @Override 31 | public void neighborChanged(BlockState state, Level level, BlockPos pos, Block block, BlockPos neighbor, boolean p_60514_) { 32 | //Block block = level.getBlockState(pos).getBlock(); 33 | if (block instanceof WindGenBase && level.getBlockState(neighbor).getBlock() instanceof AirBlock) { 34 | level.destroyBlock(pos, false); 35 | } 36 | super.neighborChanged(state, level, pos, block, neighbor, p_60514_); 37 | } 38 | 39 | @Override 40 | public InteractionResult useWithoutItem(BlockState p_60503_, Level level, BlockPos pos, Player player, BlockHitResult p_60508_) { 41 | BlockState state = level.getBlockState(pos.below(1)); 42 | return super.useWithoutItem(state, level, pos.below(1), player, p_60508_); 43 | } 44 | 45 | @Nullable 46 | @Override 47 | public BlockEntity newBlockEntity(BlockPos p_153215_, BlockState p_153216_) { 48 | return new WindGenBaseSubBlockEntity(p_153215_, p_153216_); 49 | } 50 | 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/entity/EntitySilbarn.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.entity; 2 | 3 | 4 | import net.minecraft.nbt.CompoundTag; 5 | import net.minecraft.network.syncher.SynchedEntityData.Builder; 6 | import net.minecraft.world.entity.Entity; 7 | import net.minecraft.world.entity.EntityType; 8 | import net.minecraft.world.level.Level; 9 | 10 | 11 | public class EntitySilbarn extends Entity 12 | { 13 | 14 | public EntitySilbarn(EntityType p_19870_, Level p_19871_) { 15 | super(p_19870_, p_19871_); 16 | } 17 | 18 | @Override 19 | protected void defineSynchedData(Builder builder) { 20 | 21 | } 22 | 23 | @Override 24 | protected void readAdditionalSaveData(CompoundTag compoundTag) { 25 | 26 | } 27 | 28 | @Override 29 | protected void addAdditionalSaveData(CompoundTag compoundTag) { 30 | 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/AcademyItem.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import java.util.List; 4 | import net.minecraft.ChatFormatting; 5 | import net.minecraft.network.chat.Component; 6 | import net.minecraft.world.item.Item; 7 | import net.minecraft.world.item.ItemStack; 8 | import net.minecraft.world.item.TooltipFlag; 9 | 10 | public class AcademyItem extends Item { 11 | public AcademyItem(Properties p_41383_) { 12 | super(p_41383_); 13 | } 14 | 15 | 16 | @Override 17 | public void appendHoverText(ItemStack p_41421_, Item.TooltipContext p_333372_, List p_41423_, TooltipFlag p_41424_) { 18 | String key = getDescriptionId() + ".desc"; 19 | Component tag = Component.translatable(key); 20 | if (!key.equalsIgnoreCase(tag.getString())) { 21 | /* 22 | CompoundTag compoundtag = itemStack.getTagElement(this.getDescriptionId()); 23 | if (compoundtag == null){ 24 | compoundtag = itemStack.getOrCreateTagElement(this.getDescriptionId()); 25 | } 26 | */ 27 | p_41423_.add(Component.translatable(key).withStyle(ChatFormatting.GRAY)); 28 | } 29 | super.appendHoverText(p_41421_, p_333372_, p_41423_, p_41424_); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/AppFreqTransmitter.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class AppFreqTransmitter extends BaseApp { 4 | public AppFreqTransmitter() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/AppMediaPlayer.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class AppMediaPlayer extends BaseApp { 4 | public AppMediaPlayer() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/AppSettings.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class AppSettings extends BaseApp { 4 | public AppSettings() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/AppSkillTree.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class AppSkillTree extends BaseApp { 4 | public AppSkillTree() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/BaseApp.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import java.util.List; 4 | import net.minecraft.ChatFormatting; 5 | import net.minecraft.network.chat.Component; 6 | import net.minecraft.world.item.Item; 7 | import net.minecraft.world.item.ItemStack; 8 | import net.minecraft.world.item.TooltipFlag; 9 | 10 | public class BaseApp extends AcademyItem { 11 | public BaseApp(Properties p_41383_) { 12 | super(p_41383_); 13 | } 14 | 15 | @Override 16 | public void appendHoverText(ItemStack itemStack, Item.TooltipContext p_333372_, List components, TooltipFlag tooltipFlag) { 17 | String key = getDescriptionId(); 18 | Component tag = Component.translatable(key); 19 | if (!key.equalsIgnoreCase(tag.getString())) { 20 | components.add(Component.translatable(key).withStyle(ChatFormatting.GRAY)); 21 | } 22 | } 23 | 24 | @Override 25 | public Component getName(ItemStack p_41458_) { 26 | return Component.translatable("item.academy.apps"); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/BaseFactor.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import java.util.List; 4 | import net.minecraft.ChatFormatting; 5 | import net.minecraft.network.chat.Component; 6 | import net.minecraft.world.item.Item; 7 | import net.minecraft.world.item.ItemStack; 8 | import net.minecraft.world.item.TooltipFlag; 9 | 10 | public class BaseFactor extends AcademyItem { 11 | public BaseFactor(Properties p_41383_) { 12 | super(p_41383_); 13 | } 14 | 15 | @Override 16 | public void appendHoverText(ItemStack itemStack, Item.TooltipContext p_333372_, List components, TooltipFlag tooltipFlag) { 17 | String key = getDescriptionId(); 18 | Component tag = Component.translatable(key); 19 | if (!key.equalsIgnoreCase(tag.getString())) { 20 | components.add(Component.translatable(key).withStyle(ChatFormatting.GRAY)); 21 | } 22 | } 23 | 24 | @Override 25 | public Component getName(ItemStack p_41458_) { 26 | return Component.translatable("item.academy.induction_factor"); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/BrainComponent.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class BrainComponent extends AcademyItem { 4 | public BrainComponent() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/CalcChip.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class CalcChip extends AcademyItem { 4 | public CalcChip() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Coin.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | public class Coin extends AcademyItem { 6 | public Coin() { 7 | super(new Properties()); 8 | } 9 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/ConstraintIngot.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class ConstraintIngot extends AcademyItem { 4 | public ConstraintIngot() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/ConstraintPlate.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class ConstraintPlate extends AcademyItem { 4 | public ConstraintPlate() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/CrystalLow.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | public class CrystalLow extends Item { 6 | public CrystalLow() { 7 | super(new Properties()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/CrystalNormal.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | public class CrystalNormal extends Item { 6 | public CrystalNormal() { 7 | super(new Properties()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/CrystalPure.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | public class CrystalPure extends Item { 6 | public CrystalPure() { 7 | super(new Properties()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/DataChip.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class DataChip extends AcademyItem { 4 | public DataChip() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/DeveloperPortable.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class DeveloperPortable extends AcademyItem { 4 | public DeveloperPortable() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/EnergyConvertComponent.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class EnergyConvertComponent extends AcademyItem { 4 | public EnergyConvertComponent() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/EnergyUnit.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import java.util.List; 4 | import net.minecraft.network.chat.Component; 5 | import net.minecraft.world.item.Item; 6 | import net.minecraft.world.item.ItemStack; 7 | import net.minecraft.world.item.TooltipFlag; 8 | 9 | public class EnergyUnit extends AcademyItem { 10 | public EnergyUnit() { 11 | super(new Properties() 12 | .durability(10000) 13 | ); 14 | } 15 | 16 | @Override 17 | public void appendHoverText(ItemStack p_41421_, Item.TooltipContext p_333372_, List p_41423_, TooltipFlag p_41424_) { 18 | super.appendHoverText(p_41421_, p_333372_, p_41423_, p_41424_); 19 | p_41423_.add(Component.translatable((p_41421_.getMaxDamage() - p_41421_.getDamageValue()) + "/" + p_41421_.getDamageValue() + " IF")); 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/FactorElectromaster.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class FactorElectromaster extends BaseFactor { 4 | public FactorElectromaster() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/FactorMeltdowner.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class FactorMeltdowner extends BaseFactor { 4 | public FactorMeltdowner() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/FactorTeleporter.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class FactorTeleporter extends BaseFactor { 4 | public FactorTeleporter() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/FactorVecmanip.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class FactorVecmanip extends BaseFactor { 4 | public FactorVecmanip() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/InfoComponent.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class InfoComponent extends AcademyItem { 4 | public InfoComponent() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Logo.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | public class Logo extends Item { 6 | public Logo() { 7 | super(new Properties()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MagHook.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MagHook extends AcademyItem { 4 | public MagHook() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MagneticCoil.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MagneticCoil extends AcademyItem { 4 | public MagneticCoil() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MatCore0.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MatCore0 extends AcademyItem { 4 | public MatCore0() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MatCore1.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MatCore1 extends AcademyItem { 4 | public MatCore1() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MatCore2.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MatCore2 extends AcademyItem { 4 | public MatCore2() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MatterUnit.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MatterUnit extends AcademyItem { 4 | public MatterUnit() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MediaLevel5Judgelight.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MediaLevel5Judgelight extends AcademyItem { 4 | public MediaLevel5Judgelight() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MediaOnlyMyRailgun.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MediaOnlyMyRailgun extends AcademyItem { 4 | public MediaOnlyMyRailgun() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/MediaSistersNoise.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class MediaSistersNoise extends AcademyItem { 4 | public MediaSistersNoise() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Needle.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class Needle extends AcademyItem { 4 | public Needle() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/ReinforcedIronPlate.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class ReinforcedIronPlate extends AcademyItem { 4 | public ReinforcedIronPlate() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/ResoCrystal.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.item.Item; 4 | 5 | public class ResoCrystal extends Item { 6 | public ResoCrystal() { 7 | super(new Properties()); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/ResonanceComponent.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class ResonanceComponent extends AcademyItem { 4 | public ResonanceComponent() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Silbarn.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.sounds.SoundEvents; 4 | import net.minecraft.sounds.SoundSource; 5 | import net.minecraft.world.InteractionHand; 6 | import net.minecraft.world.InteractionResultHolder; 7 | import net.minecraft.world.entity.player.Player; 8 | import net.minecraft.world.item.ItemStack; 9 | import net.minecraft.world.level.Level; 10 | 11 | public class Silbarn extends AcademyItem { 12 | 13 | public Silbarn() { 14 | super(new Properties()); 15 | } 16 | 17 | 18 | @Override 19 | public InteractionResultHolder use(Level p_41432_, Player p_41433_, InteractionHand p_41434_) { 20 | ItemStack stack = p_41433_.getItemInHand(p_41434_); 21 | p_41432_.playSound( 22 | p_41433_, p_41433_.getX(), p_41433_.getY(), p_41433_.getZ(), 23 | SoundEvents.EGG_THROW, 24 | SoundSource.PLAYERS, 25 | 0.5F, 26 | 0.4F / (p_41432_.random.nextFloat() * 0.4F + 0.8F) 27 | ); 28 | return InteractionResultHolder.pass(stack); 29 | } 30 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/TerminalInstaller.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class TerminalInstaller extends AcademyItem { 4 | public TerminalInstaller() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Tutorial.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | import net.minecraft.world.InteractionResult; 4 | import net.minecraft.world.item.Item; 5 | import net.minecraft.world.item.context.UseOnContext; 6 | 7 | public class Tutorial extends Item { 8 | public Tutorial() { 9 | super(new Item.Properties()); 10 | } 11 | 12 | @Override 13 | public InteractionResult useOn(UseOnContext ctx) { 14 | //TODO: 打开GUI 15 | return InteractionResult.CONSUME; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/Wafer.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class Wafer extends AcademyItem { 4 | public Wafer() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/item/WindgenFan.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.item; 2 | 3 | public class WindgenFan extends AcademyItem { 4 | public WindgenFan() { 5 | super(new Properties()); 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/menu/BaseNodeMenu.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.menu; 2 | 3 | import com.mohistmc.academy.world.AcademyItems; 4 | import net.minecraft.network.FriendlyByteBuf; 5 | import net.minecraft.world.entity.player.Inventory; 6 | import net.minecraft.world.inventory.MenuType; 7 | import net.minecraft.world.inventory.Slot; 8 | import net.minecraft.world.item.ItemStack; 9 | 10 | public abstract class BaseNodeMenu extends AcademyMenu { 11 | public BaseNodeMenu(MenuType menuType, int windowId, Inventory inv, FriendlyByteBuf data, boolean hasInventory) { 12 | super(menuType, windowId, inv, data, hasInventory); 13 | // IN 14 | addAcademySlot(new Slot(container, 0, 44, 0) { 15 | @Override 16 | public boolean mayPlace(ItemStack item) { 17 | return item.is(AcademyItems.ENERGY_UNIT.get()); 18 | } 19 | }); 20 | 21 | //OUT 22 | addAcademySlot(new Slot(container, 1, 44, 70) { 23 | @Override 24 | public boolean mayPlace(ItemStack item) { 25 | return item.is(AcademyItems.ENERGY_UNIT.get()); 26 | } 27 | }); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/menu/NodeBasicMenu.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.menu; 2 | 3 | import com.mohistmc.academy.world.AcademyMenus; 4 | import net.minecraft.network.FriendlyByteBuf; 5 | import net.minecraft.world.entity.player.Inventory; 6 | 7 | public class NodeBasicMenu extends BaseNodeMenu{ 8 | public NodeBasicMenu(int windowId, Inventory inv, FriendlyByteBuf data) { 9 | super(AcademyMenus.NODE_BASIC.get(), windowId, inv, data, true); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/menu/WindGenBaseMenu.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.menu; 2 | 3 | import com.mohistmc.academy.world.AcademyItems; 4 | import com.mohistmc.academy.world.AcademyMenus; 5 | import net.minecraft.network.FriendlyByteBuf; 6 | import net.minecraft.world.entity.player.Inventory; 7 | import net.minecraft.world.inventory.Slot; 8 | import net.minecraft.world.item.ItemStack; 9 | 10 | public class WindGenBaseMenu extends AcademyMenu { 11 | public WindGenBaseMenu(int windowId, Inventory inv, FriendlyByteBuf data) { 12 | super(AcademyMenus.WIND_BASE_MENU.get(), windowId, inv, data, true); 13 | 14 | addAcademySlot(new Slot(container, 0, 44, 70) { 15 | @Override 16 | public boolean mayPlace(ItemStack item) { 17 | return item.is(AcademyItems.ENERGY_UNIT.get()); 18 | } 19 | }); 20 | } 21 | 22 | 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/menu/WindGenMainMenu.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.menu; 2 | 3 | import com.mohistmc.academy.world.AcademyItems; 4 | import com.mohistmc.academy.world.AcademyMenus; 5 | import net.minecraft.network.FriendlyByteBuf; 6 | import net.minecraft.world.entity.player.Inventory; 7 | import net.minecraft.world.inventory.Slot; 8 | import net.minecraft.world.item.ItemStack; 9 | 10 | public class WindGenMainMenu extends AcademyMenu { 11 | public WindGenMainMenu(int windowId, Inventory inv, FriendlyByteBuf data) { 12 | super(AcademyMenus.WIND_MAIN_MENU.get(), windowId, inv, data, true); 13 | 14 | addAcademySlot(new Slot(container, 0, 80, 0) { 15 | @Override 16 | public boolean mayPlace(ItemStack item) { 17 | return item.is(AcademyItems.WINDGEN_FAN.get()); 18 | } 19 | }); 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/mohistmc/academy/world/provider/AcademyBlockTagsProvider.java: -------------------------------------------------------------------------------- 1 | package com.mohistmc.academy.world.provider; 2 | 3 | import com.mohistmc.academy.AcademyCraft; 4 | import com.mohistmc.academy.world.AcademyBlocks; 5 | import java.util.concurrent.CompletableFuture; 6 | import java.util.function.Supplier; 7 | import net.minecraft.core.HolderLookup; 8 | import net.minecraft.data.PackOutput; 9 | import net.minecraft.tags.BlockTags; 10 | import net.minecraft.world.level.block.Block; 11 | import net.neoforged.neoforge.common.data.BlockTagsProvider; 12 | import net.neoforged.neoforge.common.data.ExistingFileHelper; 13 | import org.jetbrains.annotations.Nullable; 14 | 15 | public class AcademyBlockTagsProvider extends BlockTagsProvider { 16 | public AcademyBlockTagsProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { 17 | super(output, lookupProvider, AcademyCraft.MODID, existingFileHelper); 18 | } 19 | 20 | @Override 21 | protected void addTags(HolderLookup.Provider p_256380_) { 22 | 23 | this.tag(BlockTags.MINEABLE_WITH_PICKAXE) 24 | .add(AcademyBlocks.BLOCKS.getEntries().stream().map(Supplier::get).toList().toArray(new Block[0])); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/academy.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.mohistmc.academy.mixin", 5 | "compatibilityLevel": "JAVA_8", 6 | "refmap": "untitled47.refmap.json", 7 | "mixins": [ 8 | ], 9 | "client": [ 10 | ], 11 | "injectors": { 12 | "defaultRequire": 1 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/ability_interferer.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "status=0": { 4 | "model": "academy:block/ability_interferer_off" 5 | }, 6 | "status=1": { 7 | "model": "academy:block/ability_interferer_on" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/cat_engine.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/cat_engine" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/constraint_metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/constraint_metal" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/crystal_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/crystal_ore" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/dev_advanced.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/dev_advanced", 5 | "y": 90 6 | }, 7 | "facing=north": { 8 | "model": "academy:block/dev_advanced" 9 | }, 10 | "facing=south": { 11 | "model": "academy:block/dev_advanced", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/dev_advanced", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/dev_advanced_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/dev_advanced_sub" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/dev_normal.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/dev_normal", 5 | "y": 90 6 | }, 7 | "facing=north": { 8 | "model": "academy:block/dev_normal" 9 | }, 10 | "facing=south": { 11 | "model": "academy:block/dev_normal", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/dev_normal", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/dev_normal_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/dev_normal_sub" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/imag_fusor.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east,working=1": { 4 | "model": "academy:block/imag_fusor_1", 5 | "y": 90 6 | }, 7 | "facing=east,working=2": { 8 | "model": "academy:block/imag_fusor_2", 9 | "y": 90 10 | }, 11 | "facing=east,working=3": { 12 | "model": "academy:block/imag_fusor_3", 13 | "y": 90 14 | }, 15 | "facing=east,working=4": { 16 | "model": "academy:block/imag_fusor_4", 17 | "y": 90 18 | }, 19 | "facing=north,working=1": { 20 | "model": "academy:block/imag_fusor_1" 21 | }, 22 | "facing=north,working=2": { 23 | "model": "academy:block/imag_fusor_2" 24 | }, 25 | "facing=north,working=3": { 26 | "model": "academy:block/imag_fusor_3" 27 | }, 28 | "facing=north,working=4": { 29 | "model": "academy:block/imag_fusor_4" 30 | }, 31 | "facing=south,working=1": { 32 | "model": "academy:block/imag_fusor_1", 33 | "y": 180 34 | }, 35 | "facing=south,working=2": { 36 | "model": "academy:block/imag_fusor_2", 37 | "y": 180 38 | }, 39 | "facing=south,working=3": { 40 | "model": "academy:block/imag_fusor_3", 41 | "y": 180 42 | }, 43 | "facing=south,working=4": { 44 | "model": "academy:block/imag_fusor_4", 45 | "y": 180 46 | }, 47 | "facing=west,working=1": { 48 | "model": "academy:block/imag_fusor_1", 49 | "y": 270 50 | }, 51 | "facing=west,working=2": { 52 | "model": "academy:block/imag_fusor_2", 53 | "y": 270 54 | }, 55 | "facing=west,working=3": { 56 | "model": "academy:block/imag_fusor_3", 57 | "y": 270 58 | }, 59 | "facing=west,working=4": { 60 | "model": "academy:block/imag_fusor_4", 61 | "y": 270 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/imagsil_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/imagsil_ore" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/machine_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/machine_frame" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/matrix.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/matrix", 5 | "y": 90 6 | }, 7 | "facing=north": { 8 | "model": "academy:block/matrix" 9 | }, 10 | "facing=south": { 11 | "model": "academy:block/matrix", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/matrix", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/matrix_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "academy:block/matrix_sub" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/metal_former.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/metal_former", 5 | "y": 90 6 | }, 7 | "facing=north": { 8 | "model": "academy:block/metal_former" 9 | }, 10 | "facing=south": { 11 | "model": "academy:block/metal_former", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/metal_former", 16 | "y": 270 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/phase_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "working=0": { 4 | "model": "academy:block/phase_gen_0" 5 | }, 6 | "working=1": { 7 | "model": "academy:block/phase_gen_1" 8 | }, 9 | "working=2": { 10 | "model": "academy:block/phase_gen_2" 11 | }, 12 | "working=3": { 13 | "model": "academy:block/phase_gen_3" 14 | }, 15 | "working=4": { 16 | "model": "academy:block/phase_gen_4" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/phase_liquid.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/phase_liquid" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/reso_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/reso_ore" } 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/solar_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/solar_gen", 5 | "y": 90 6 | }, 7 | "facing=north": { 8 | "model": "academy:block/solar_gen" 9 | }, 10 | "facing=south": { 11 | "model": "academy:block/solar_gen", 12 | "y": 180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/solar_gen", 16 | "y": 270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/windgen_base.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east,enable=true": { 4 | "model": "academy:block/windgen_base_enable", 5 | "y": -90 6 | }, 7 | "facing=east,enable=false": { 8 | "model": "academy:block/windgen_base_disable", 9 | "y": -90 10 | }, 11 | "facing=south,enable=true": { 12 | "model": "academy:block/windgen_base_enable" 13 | }, 14 | "facing=south,enable=false": { 15 | "model": "academy:block/windgen_base_disable" 16 | }, 17 | "facing=north,enable=true": { 18 | "model": "academy:block/windgen_base_enable", 19 | "y": -180 20 | }, 21 | "facing=north,enable=false": { 22 | "model": "academy:block/windgen_base_disable", 23 | "y": -180 24 | }, 25 | "facing=west,enable=true": { 26 | "model": "academy:block/windgen_base_enable", 27 | "y": -270 28 | }, 29 | "facing=west,enable=false": { 30 | "model": "academy:block/windgen_base_disable", 31 | "y": -270 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/windgen_base_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "academy:block/windgen_base_sub" } 4 | } 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/windgen_fan_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/windgen_fan_block", 5 | "y": -90 6 | }, 7 | "facing=south": { 8 | "model": "academy:block/windgen_fan_block" 9 | }, 10 | "facing=north": { 11 | "model": "academy:block/windgen_fan_block", 12 | "y": -180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/windgen_fan_block", 16 | "y": -270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/windgen_main.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/windgen_main", 5 | "y": -90 6 | }, 7 | "facing=south": { 8 | "model": "academy:block/windgen_main" 9 | }, 10 | "facing=north": { 11 | "model": "academy:block/windgen_main", 12 | "y": -180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/windgen_main", 16 | "y": -270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/blockstates/windgen_pillar.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "academy:block/windgen_pillar", 5 | "y": -90 6 | }, 7 | "facing=south": { 8 | "model": "academy:block/windgen_pillar" 9 | }, 10 | "facing=north": { 11 | "model": "academy:block/windgen_pillar", 12 | "y": -180 13 | }, 14 | "facing=west": { 15 | "model": "academy:block/windgen_pillar", 16 | "y": -270 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/ability_interferer.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/ability_interferer_off" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/ability_interferer_off.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/ability_interferer_off" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/ability_interferer_on.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/ability_interferer_on" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/cat_engine.json: -------------------------------------------------------------------------------- 1 | { 2 | "credit": "Made with Blockbench", 3 | "textures": { 4 | "particle": "academy:block/cat_engine" 5 | }, 6 | "elements": [ 7 | { 8 | "from": [0, 0, 8], 9 | "to": [16, 16, 8], 10 | "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]}, 11 | "faces": { 12 | "north": {"uv": [0, 0, 16, 16], "texture": "#particle"}, 13 | "east": {"uv": [0, 0, 0, 16], "texture": "#particle"}, 14 | "south": {"uv": [0, 0, 16, 16], "texture": "#particle"}, 15 | "west": {"uv": [0, 0, 0, 16], "texture": "#particle"}, 16 | "up": {"uv": [0, 0, 16, 0], "texture": "#particle"}, 17 | "down": {"uv": [0, 0, 16, 0], "texture": "#particle"} 18 | } 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/constraint_metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/constraint_metal" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/crystal_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/crystal_ore" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/cube.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/block", 3 | "elements": [ 4 | { "from": [ 0, 0, 0 ], 5 | "to": [ 16, 16, 16 ], 6 | "faces": { 7 | "down": { "texture": "#down", "cullface": "down" }, 8 | "up": { "texture": "#up", "cullface": "up" }, 9 | "north": { "texture": "#north", "cullface": "north" }, 10 | "south": { "texture": "#south", "cullface": "south" }, 11 | "west": { "texture": "#west", "cullface": "west" }, 12 | "east": { "texture": "#east", "cullface": "east" } 13 | } 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/cube_all.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube", 3 | "textures": { 4 | "particle": "#all", 5 | "down": "#all", 6 | "up": "#all", 7 | "north": "#all", 8 | "east": "#all", 9 | "south": "#all", 10 | "west": "#all" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/dev_advanced.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/dev_advanced.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/dev_advanced", 7 | "particle": "academy:block/dev_advanced" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/dev_advanced_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/alpha", 5 | "particle": "academy:block/dev_advanced" 6 | }, 7 | "render_type": "translucent" 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/dev_normal.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/dev_normal.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/dev_normal", 7 | "particle": "academy:block/dev_normal" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/dev_normal_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/alpha", 5 | "particle": "academy:block/dev_normal" 6 | }, 7 | "render_type": "translucent" 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/imag_fusor_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/machine_side", 5 | "bottom": "academy:block/machine_bottom", 6 | "top": "academy:block/machine_top", 7 | "side": "academy:block/machine_side", 8 | "front": "academy:block/ief_working_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/imag_fusor_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/machine_side", 5 | "bottom": "academy:block/machine_bottom", 6 | "top": "academy:block/machine_top", 7 | "side": "academy:block/machine_side", 8 | "front": "academy:block/ief_working_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/imag_fusor_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/machine_side", 5 | "bottom": "academy:block/machine_bottom", 6 | "top": "academy:block/machine_top", 7 | "side": "academy:block/machine_side", 8 | "front": "academy:block/ief_working_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/imag_fusor_4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/machine_side", 5 | "bottom": "academy:block/machine_bottom", 6 | "top": "academy:block/machine_top", 7 | "side": "academy:block/machine_side", 8 | "front": "academy:block/ief_working_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/imagsil_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/imagsil_ore" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/machine_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/machine_frame" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/matrix.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/matrix.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/matrix", 7 | "particle": "academy:block/matrix" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/matrix_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/alpha", 5 | "particle": "academy:block/matrix" 6 | }, 7 | "render_type": "translucent" 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/metal_former.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube", 3 | "textures": { 4 | "particle": "academy:block/metal_former_front", 5 | "down": "academy:block/metal_former_bottom", 6 | "up": "academy:block/metal_former_top", 7 | "west": "academy:block/metal_former_left", 8 | "east": "academy:block/metal_former_right", 9 | "south": "academy:block/metal_former_back", 10 | "north": "academy:block/metal_former_front" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_0_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_0", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_advanced_side_0", 8 | "front": "academy:block/node_advanced_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_0_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_0", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_advanced_side_0", 8 | "front": "academy:block/node_advanced_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_1_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_1", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_advanced_side_1", 8 | "front": "academy:block/node_advanced_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_1_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_1", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_advanced_side_1", 8 | "front": "academy:block/node_advanced_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_2_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_2", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_advanced_side_2", 8 | "front": "academy:block/node_advanced_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_2_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_2", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_advanced_side_2", 8 | "front": "academy:block/node_advanced_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_3_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_3", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_advanced_side_3", 8 | "front": "academy:block/node_advanced_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_3_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_3", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_advanced_side_3", 8 | "front": "academy:block/node_advanced_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_4_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_4", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_advanced_side_4", 8 | "front": "academy:block/node_advanced_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_advanced_4_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_advanced_side_4", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_advanced_side_4", 8 | "front": "academy:block/node_advanced_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_0_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_0", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_basic_side_0", 8 | "front": "academy:block/node_basic_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_0_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_0", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_basic_side_0", 8 | "front": "academy:block/node_basic_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_1_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_1", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_basic_side_1", 8 | "front": "academy:block/node_basic_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_1_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_1", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_basic_side_1", 8 | "front": "academy:block/node_basic_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_2_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_2", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_basic_side_2", 8 | "front": "academy:block/node_basic_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_2_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_2", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_basic_side_2", 8 | "front": "academy:block/node_basic_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_3_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_3", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_basic_side_3", 8 | "front": "academy:block/node_basic_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_3_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_3", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_basic_side_3", 8 | "front": "academy:block/node_basic_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_4_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_4", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_basic_side_4", 8 | "front": "academy:block/node_basic_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_basic_4_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_basic_side_4", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_basic_side_4", 8 | "front": "academy:block/node_basic_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_0_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_0", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_standard_side_0", 8 | "front": "academy:block/node_standard_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_0_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_0", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_standard_side_0", 8 | "front": "academy:block/node_standard_side_0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_1_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_1", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_standard_side_1", 8 | "front": "academy:block/node_standard_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_1_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_1", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_standard_side_1", 8 | "front": "academy:block/node_standard_side_1" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_2_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_2", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_standard_side_2", 8 | "front": "academy:block/node_standard_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_2_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_2", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_standard_side_2", 8 | "front": "academy:block/node_standard_side_2" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_3_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_3", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_standard_side_3", 8 | "front": "academy:block/node_standard_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_3_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_3", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_standard_side_3", 8 | "front": "academy:block/node_standard_side_3" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_4_false.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_4", 5 | "bottom": "academy:block/node_top_0", 6 | "top": "academy:block/node_top_0", 7 | "side": "academy:block/node_standard_side_4", 8 | "front": "academy:block/node_standard_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/node_standard_4_true.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/orientable", 3 | "textures": { 4 | "particle": "academy:block/node_standard_side_4", 5 | "bottom": "academy:block/node_top_1", 6 | "top": "academy:block/node_top_1", 7 | "side": "academy:block/node_standard_side_4", 8 | "front": "academy:block/node_standard_side_4" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_gen_0.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/phase_gen_0.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/phase_gen_0", 7 | "particle": "academy:block/phase_gen_0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_gen_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/phase_gen_1.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/phase_gen_1", 7 | "particle": "academy:block/phase_gen_1" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_gen_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/phase_gen_2.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/phase_gen_2", 7 | "particle": "academy:block/phase_gen_2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_gen_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/phase_gen_3.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/phase_gen_3", 7 | "particle": "academy:block/phase_gen_3" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_gen_4.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/phase_gen_4.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/phase_gen_4", 7 | "particle": "academy:block/phase_gen_4" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/phase_liquid.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "academy:block/black" 4 | } 5 | } 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/reso_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/reso_ore" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/solar_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/solar_gen.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/solar_gen", 7 | "particle": "academy:block/solar_gen" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_base_disable.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/windgen_base_disable.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/windgen_base_disable", 7 | "particle": "academy:block/windgen_base_disable" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_base_enable.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/windgen_base.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/windgen_base", 7 | "particle": "academy:block/windgen_base" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_base_sub.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "block/cube_all", 3 | "textures": { 4 | "all": "academy:block/windgen_base" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_fan_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/windgen_fan.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/windgen_fan", 7 | "particle": "academy:block/windgen_fan" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_main.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/windgen_main.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/windgen_main", 7 | "particle": "academy:block/windgen_main" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/block/windgen_pillar.json: -------------------------------------------------------------------------------- 1 | { 2 | "loader": "neoforge:obj", 3 | "model": "academy:models/windgen_pillar.obj", 4 | "flip_v": true, 5 | "textures": { 6 | "texture0": "academy:block/windgen_pillar", 7 | "particle": "academy:block/windgen_pillar" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/dev_advanced.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ 5 | map_Kd map_Kd academy:block/dev_advanced 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/dev_normal.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ 5 | map_Kd academy:block/dev_normal 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/ability_interferer.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/ability_interferer_off" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/app_freq_transmitter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/app_freq_transmitter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/app_media_player.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/app_media_player" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/app_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/app_settings" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/app_skill_tree.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/app_skill_tree" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/brain_component.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/brain_component" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/calc_chip.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/calc_chip" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/cat_engine.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:block/cat_engine" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/coin.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/coin_front" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/constraint_ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/constraint_ingot" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/constraint_metal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/constraint_metal" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/constraint_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/constraint_plate" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/crystal_low.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/crystal_low" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/crystal_normal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/crystal_normal" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/crystal_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/crystal_ore" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/crystal_pure.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/crystal_pure" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/data_chip.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/data_chip" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/dev_advanced.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/dev_advanced" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/dev_normal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/dev_normal" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/developer_portable.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/developer_portable_empty" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/energy_convert_component.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/energy_convert_component" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/energy_unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/energy_unit_empty" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/factor_electromaster.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/factor_electromaster" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/factor_meltdowner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/factor_meltdowner" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/factor_teleporter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/factor_teleporter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/factor_vecmanip.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/factor_vecmanip" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/imag_fusor.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/imag_fusor_1" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/imag_phase.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/imag_phase" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/imagsil_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/imagsil_ore" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/info_component.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/info_component" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/logo.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/logo" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/machine_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/machine_frame" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/mag_hook.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/mag_hook" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/magnetic_coil.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/magnetic_coil" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/mat_core_0.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/mat_core_0" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/mat_core_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/mat_core_1" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/mat_core_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/mat_core_2" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/matrix.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/matrix" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/matter_unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/matter_unit" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/media_level5_judgelight.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/media_level5_judgelight" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/media_only_my_railgun.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/media_only_my_railgun" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/media_sisters_noise.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/media_sisters_noise" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/metal_former.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/metal_former" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/needle.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/needle" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/node_advanced.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/node_advanced_0_false" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/node_basic.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/node_basic_0_false" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/node_standard.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/node_standard_0_false" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/phase_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/phase_gen" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/reinforced_iron_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/reinforced_iron_plate" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/reso_crystal.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/reso_crystal" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/reso_ore.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "academy:block/reso_ore" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/resonance_component.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/resonance_component" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/silbarn.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/silbarn" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/solar_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/solar_gen" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/terminal_installer.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/terminal_installer" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/tutorial.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/tutorial" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/wafer.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/wafer" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/windgen_base.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/windgen_base" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/windgen_fan.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/windgen_fan" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/windgen_main.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/windgen_main" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/item/windgen_pillar.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "academy:item/windgen_pillar" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/matrix.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ 5 | map_Kd academy:block/matrix 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/phase_gen_0.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl phase_gen_0 5 | map_Kd academy:block/phase_gen_0 -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/phase_gen_1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl phase_gen_1 5 | map_Kd academy:block/phase_gen_1 -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/phase_gen_2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl phase_gen_2 5 | map_Kd academy:block/phase_gen_2 -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/phase_gen_3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl phase_gen_3 5 | map_Kd academy:block/phase_gen_3 -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/phase_gen_4.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl phase_gen_4 5 | map_Kd academy:block/phase_gen_4 -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/solar_gen.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ 5 | map_Kd academy:block/solar_gen 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/windgen_base.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl initialShadingGroup1 5 | map_Kd academy:block/windgen_base 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/windgen_base_disable.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl initialShadingGroup1 5 | map_Kd academy:block/windgen_base_disable 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/windgen_fan.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ.002 5 | map_Kd academy:block/windgen_fan 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/windgen_main.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Default_OBJ.001 5 | map_Kd academy:block/windgen_main 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/models/windgen_pillar.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl initialShadingGroup 5 | map_Kd academy:block/windgen_pillar -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/ability/deny.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/ability/deny.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/ability/preset_confirm.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/ability/preset_confirm.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/ability/preset_switch.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/ability/preset_switch.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/arc_strong.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/arc_strong.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/arc_weak.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/arc_weak.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/charge_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/charge_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/intensify_activate.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/intensify_activate.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/intensify_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/intensify_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/lf.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/lf.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/lf_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/lf_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/mag_manip.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/mag_manip.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/minedetect.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/minedetect.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/move_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/move_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/em/railgun.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/em/railgun.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/entity/flipcoin.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/entity/flipcoin.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/entity/silbarn_heavy.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/entity/silbarn_heavy.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/entity/silbarn_light.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/entity/silbarn_light.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/machine/imag_fusor_work.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/machine/imag_fusor_work.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/machine/machine_work.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/machine/machine_work.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/ballshoot.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/ballshoot.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/md_charge.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/md_charge.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/meltdowner.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/meltdowner.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/mine_basic_startup.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/mine_basic_startup.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/mine_expert_startup.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/mine_expert_startup.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/mine_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/mine_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/mine_luck_startup.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/mine_luck_startup.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/ray_small.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/ray_small.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/shield_loop.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/shield_loop.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/shield_startup.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/shield_startup.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/md/simple_charge.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/md/simple_charge.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/terminal/confirm.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/terminal/confirm.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/terminal/select.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/terminal/select.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/tp/guts.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/tp/guts.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/tp/tp.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/tp/tp.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/tp/tp_flashing.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/tp/tp_flashing.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/tp/tp_pre.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/tp/tp_pre.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/tp/tp_shift.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/tp/tp_shift.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/blood_retro.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/blood_retro.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/directed_blast.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/directed_blast.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/directed_shock.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/directed_shock.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/groundshock.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/groundshock.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/plasma_cannon.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/plasma_cannon.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/plasma_cannon_t.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/plasma_cannon_t.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/storm_wing.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/storm_wing.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/vec_accel.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/vec_accel.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/vec_deviation.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/vec_deviation.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/sounds/vecmanip/vec_reflection.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/sounds/vecmanip/vec_reflection.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ability_interferer_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ability_interferer_off.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ability_interferer_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ability_interferer_on.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/black.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/cat_engine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/cat_engine.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/constraint_metal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/constraint_metal.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/crystal_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/crystal_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/dev_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/dev_advanced.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/dev_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/dev_normal.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ief_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ief_off.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ief_working_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ief_working_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ief_working_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ief_working_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ief_working_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ief_working_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/ief_working_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/ief_working_4.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/imagsil_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/imagsil_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/machine_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/machine_bottom.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/machine_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/machine_frame.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/machine_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/machine_side.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/machine_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/machine_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/matrix.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_back.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_bottom.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_front.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_left.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_right.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/metal_former_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/metal_former_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_advanced_side_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_advanced_side_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_advanced_side_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_advanced_side_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_advanced_side_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_advanced_side_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_advanced_side_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_advanced_side_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_advanced_side_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_advanced_side_4.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_basic_side_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_basic_side_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_basic_side_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_basic_side_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_basic_side_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_basic_side_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_basic_side_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_basic_side_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_basic_side_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_basic_side_4.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_standard_side_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_standard_side_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_standard_side_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_standard_side_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_standard_side_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_standard_side_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_standard_side_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_standard_side_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_standard_side_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_standard_side_4.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_top_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_top_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/node_top_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/node_top_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_gen_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_gen_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_gen_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_gen_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_gen_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_gen_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_gen_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_gen_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_gen_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_gen_4.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_liquid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/phase_liquid.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/phase_liquid.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": { 3 | "frametime": 3 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/reso_ore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/reso_ore.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/solar_gen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/solar_gen.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/windgen_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/windgen_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/windgen_base_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/windgen_base_disable.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/windgen_fan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/windgen_fan.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/windgen_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/windgen_main.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/block/windgen_pillar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/block/windgen_pillar.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/effects/imag_proj_liquid/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/effects/imag_proj_liquid/0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/effects/imag_proj_liquid/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/effects/imag_proj_liquid/1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/effects/imag_proj_liquid/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/effects/imag_proj_liquid/2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/effects/imag_proj_liquid/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/effects/imag_proj_liquid/black.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/button/button_arrowdownb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/button/button_arrowdownb.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/button/button_arrowlefta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/button/button_arrowlefta.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/button/button_arrowrighta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/button/button_arrowrighta.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/button/button_arrowupb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/button/button_arrowupb.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/effect/effect_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/effect/effect_node.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/element/element_background300x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/element/element_background300x32.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/element/element_background300x32_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/element/element_background300x32_input.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_connected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_connected.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_inv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_inv.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_key.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_matrix.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_tomatrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_tomatrix.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_unconnected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_unconnected.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_wind_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_wind_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_wind_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_wind_main.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_wind_middle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_wind_middle.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/icons/icon_wireless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/icons/icon_wireless.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/parent/parent_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/parent/parent_background.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/ui/ui_inventory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/ui/ui_inventory.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/ui/ui_node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/ui/ui_node.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/ui/ui_windbase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/ui/ui_windbase.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/guis/ui/ui_windmain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/guis/ui/ui_windmain.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/app_freq_transmitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/app_freq_transmitter.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/app_media_player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/app_media_player.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/app_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/app_settings.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/app_skill_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/app_skill_tree.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/brain_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/brain_component.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/calc_chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/calc_chip.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/coin_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/coin_back.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/coin_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/coin_front.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/constraint_ingot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/constraint_ingot.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/constraint_plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/constraint_plate.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/crystal_low.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/crystal_low.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/crystal_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/crystal_normal.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/crystal_pure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/crystal_pure.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/data_chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/data_chip.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/dev_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/dev_advanced.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/dev_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/dev_normal.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/developer_portable_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/developer_portable_empty.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/developer_portable_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/developer_portable_full.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/developer_portable_half.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/developer_portable_half.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/energy_convert_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/energy_convert_component.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/energy_unit_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/energy_unit_empty.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/energy_unit_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/energy_unit_full.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/energy_unit_half.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/energy_unit_half.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/factor_electromaster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/factor_electromaster.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/factor_meltdowner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/factor_meltdowner.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/factor_teleporter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/factor_teleporter.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/factor_vecmanip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/factor_vecmanip.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/imag_phase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/imag_phase.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/info_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/info_component.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/logo.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/mag_hook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/mag_hook.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/magnetic_coil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/magnetic_coil.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/mat_core_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/mat_core_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/mat_core_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/mat_core_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/mat_core_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/mat_core_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matrix.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matter_unit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matter_unit.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/matter_unit_phase_liquid_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/media_level5_judgelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/media_level5_judgelight.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/media_only_my_railgun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/media_only_my_railgun.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/media_sisters_noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/media_sisters_noise.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/needle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/needle.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/phase_gen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/phase_gen.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/reinforced_iron_plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/reinforced_iron_plate.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/reso_crystal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/reso_crystal.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/resonance_component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/resonance_component.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/silbarn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/silbarn.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/solar_gen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/solar_gen.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/terminal_installer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/terminal_installer.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/tutorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/tutorial.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/wafer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/wafer.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/windgen_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/windgen_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/windgen_fan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/windgen_fan.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/windgen_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/windgen_main.png -------------------------------------------------------------------------------- /src/main/resources/assets/academy/textures/item/windgen_pillar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MohistMC/AcademyCraft/0502076ed6e4dacdaf5ca234e67dd278eff4e5c8/src/main/resources/assets/academy/textures/item/windgen_pillar.png --------------------------------------------------------------------------------