├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── changelog.md ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src └── main ├── java └── xt9 │ └── deepmoblearning │ ├── DeepConstants.java │ ├── DeepMobLearning.java │ ├── client │ ├── ClientProxy.java │ ├── GuiHandler.java │ ├── gui │ │ ├── DataOverlay.java │ │ ├── DeepLearnerGui.java │ │ ├── ExtractionChamberGui.java │ │ ├── SimulationChamberGui.java │ │ ├── TrialKeystoneGui.java │ │ ├── TrialOverlay.java │ │ ├── button │ │ │ ├── ClickableZoneButton.java │ │ │ ├── ItemSelectButton.java │ │ │ ├── PaginationButton.java │ │ │ └── TransparentButton.java │ │ └── config │ │ │ ├── DeepGuiConfig.java │ │ │ └── GuiFactory.java │ ├── model │ │ └── ModelGlitch.java │ ├── particle │ │ ├── ParticleGlitch.java │ │ └── ParticleScalableSmoke.java │ └── renders │ │ ├── RenderEntityGlitch.java │ │ ├── RenderEntityGlitchOrb.java │ │ └── TESRTrialKeystone.java │ └── common │ ├── Registry.java │ ├── blocks │ ├── BlockBase.java │ ├── BlockExtractionChamber.java │ ├── BlockInfusedIngot.java │ ├── BlockMachineCasing.java │ ├── BlockSimulationChamber.java │ └── BlockTrialKeystone.java │ ├── capabilities │ ├── PlayerProperties.java │ ├── PlayerTrial.java │ └── PlayerTrialProvider.java │ ├── config │ └── Config.java │ ├── energy │ └── DeepEnergyStorage.java │ ├── entity │ ├── EntityGlitch.java │ ├── EntityGlitchOrb.java │ ├── EntityItemGlitchFragment.java │ ├── EntityTrialCaveSpider.java │ ├── EntityTrialEnderman.java │ ├── EntityTrialSlime.java │ └── EntityTrialSpider.java │ ├── events │ ├── CapabilityHandler.java │ ├── EntityDeathHandler.java │ └── PlayerHandler.java │ ├── handlers │ ├── BaseItemHandler.java │ ├── DataModelHandler.java │ ├── OutputHandler.java │ ├── PolymerHandler.java │ ├── PristineHandler.java │ └── TrialKeyHandler.java │ ├── inventory │ ├── ContainerDeepLearner.java │ ├── ContainerExtractionChamber.java │ ├── ContainerSimulationChamber.java │ ├── ContainerTrialKeystone.java │ ├── SlotDeepLearner.java │ ├── SlotExtractionChamber.java │ ├── SlotSimulationChamber.java │ └── SlotTrialKeystone.java │ ├── items │ ├── ItemBase.java │ ├── ItemBlockPlacer.java │ ├── ItemCreativeModelLearner.java │ ├── ItemDataModel.java │ ├── ItemDataModelBlank.java │ ├── ItemDeepLearner.java │ ├── ItemFallbackGuidebook.java │ ├── ItemGlitchArmor.java │ ├── ItemGlitchFragment.java │ ├── ItemGlitchHeart.java │ ├── ItemGlitchIngot.java │ ├── ItemGlitchSword.java │ ├── ItemLivingMatter.java │ ├── ItemPolymerClay.java │ ├── ItemPristineMatter.java │ ├── ItemSootedPlate.java │ ├── ItemSootedRedstone.java │ └── ItemTrialKey.java │ ├── materials │ ├── GlitchArmorMaterial.java │ └── GlitchToolMaterial.java │ ├── mobmetas │ ├── BlazeMeta.java │ ├── CreeperMeta.java │ ├── DragonMeta.java │ ├── EndermanMeta.java │ ├── GhastMeta.java │ ├── GuardianMeta.java │ ├── MobKey.java │ ├── MobMetaData.java │ ├── MobMetaFactory.java │ ├── ShulkerMeta.java │ ├── SkeletonMeta.java │ ├── SlimeMeta.java │ ├── SpiderMeta.java │ ├── ThermalElementalMeta.java │ ├── TinkerSlimeMeta.java │ ├── TwilightDarkwoodMeta.java │ ├── TwilightForestMeta.java │ ├── TwilightGlacierMeta.java │ ├── TwilightSwampMeta.java │ ├── WitchMeta.java │ ├── WitherMeta.java │ ├── WitherSkeletonMeta.java │ └── ZombieMeta.java │ ├── network │ ├── Network.java │ └── messages │ │ ├── ConsumeLivingMatterMessage.java │ │ ├── ExtractionChamberChangePageMessage.java │ │ ├── ExtractorSetSelectedItemMessage.java │ │ ├── LevelUpModelMessage.java │ │ ├── PlayerOpenDeepLearner.java │ │ ├── RequestKeystoneItemMessage.java │ │ ├── TrialStartMessage.java │ │ ├── UpdateKeystoneItemMessage.java │ │ ├── UpdatePlayerTrialCapabilityMessage.java │ │ └── UpdateTrialOverlayMessage.java │ ├── proxy │ ├── IProxy.java │ └── ServerProxy.java │ ├── tiles │ ├── TileEntityExtractionChamber.java │ ├── TileEntitySimulationChamber.java │ └── TileEntityTrialKeystone.java │ ├── trials │ ├── EndermanTrial.java │ ├── SkeletonTrial.java │ ├── SlimeTrial.java │ ├── SpiderTrial.java │ ├── Trial.java │ ├── TrialFactory.java │ ├── TrialRuleset.java │ ├── WitchTrial.java │ ├── WitherSkeletonTrial.java │ ├── ZombieTrial.java │ └── affix │ │ ├── BlazeInvadersAffix.java │ │ ├── EmpoweredGlitchAffix.java │ │ ├── ITrialAffix.java │ │ ├── KnockbackImmuneAffix.java │ │ ├── LootHoarderAffix.java │ │ ├── RegenPartyAffix.java │ │ ├── SpeedAffix.java │ │ ├── ThunderDomeAffix.java │ │ ├── TrialAffixFactory.java │ │ └── TrialAffixKey.java │ └── util │ ├── Animation.java │ ├── BlockDistance.java │ ├── Color.java │ ├── DataModel.java │ ├── DataModelExperience.java │ ├── ItemStackNBTHelper.java │ ├── KeyboardHelper.java │ ├── MathHelper.java │ ├── Pagination.java │ ├── PlayerHelper.java │ ├── SoundHelper.java │ ├── Tier.java │ └── TrialKey.java └── resources ├── META-INF └── mods.toml ├── assets └── deepmoblearning │ ├── blockstates │ ├── extraction_chamber.json │ ├── infused_ingot_block.json │ ├── machine_casing.json │ ├── simulation_chamber.json │ └── trial_keystone.json │ ├── lang │ └── en_us.json │ ├── models │ ├── block │ │ ├── extraction_chamber.json │ │ ├── infused_ingot_block.json │ │ ├── machine_casing.json │ │ ├── simulation_chamber.json │ │ └── trial_keystone.json │ └── item │ │ ├── book.json │ │ ├── creative_model_learner.json │ │ ├── data_model_blank.json │ │ ├── data_model_blaze.json │ │ ├── data_model_creeper.json │ │ ├── data_model_dragon.json │ │ ├── data_model_enderman.json │ │ ├── data_model_ghast.json │ │ ├── data_model_guardian.json │ │ ├── data_model_shulker.json │ │ ├── data_model_skeleton.json │ │ ├── data_model_slime.json │ │ ├── data_model_spider.json │ │ ├── data_model_thermal_elemental.json │ │ ├── data_model_tinker_slime.json │ │ ├── data_model_twilight_darkwood.json │ │ ├── data_model_twilight_forest.json │ │ ├── data_model_twilight_glacier.json │ │ ├── data_model_twilight_swamp.json │ │ ├── data_model_witch.json │ │ ├── data_model_wither.json │ │ ├── data_model_wither_skeleton.json │ │ ├── data_model_zombie.json │ │ ├── deep_learner.json │ │ ├── extraction_chamber.json │ │ ├── glitch_fragment.json │ │ ├── glitch_heart.json │ │ ├── glitch_infused_boots.json │ │ ├── glitch_infused_chestplate.json │ │ ├── glitch_infused_helmet.json │ │ ├── glitch_infused_ingot.json │ │ ├── glitch_infused_leggings.json │ │ ├── glitch_infused_sword.json │ │ ├── infused_ingot_block.json │ │ ├── living_matter_extraterrestrial.json │ │ ├── living_matter_hellish.json │ │ ├── living_matter_overworldian.json │ │ ├── living_matter_twilight.json │ │ ├── machine_casing.json │ │ ├── polymer_clay.json │ │ ├── pristine_matter_blaze.json │ │ ├── pristine_matter_creeper.json │ │ ├── pristine_matter_dragon.json │ │ ├── pristine_matter_enderman.json │ │ ├── pristine_matter_ghast.json │ │ ├── pristine_matter_guardian.json │ │ ├── pristine_matter_shulker.json │ │ ├── pristine_matter_skeleton.json │ │ ├── pristine_matter_slime.json │ │ ├── pristine_matter_spider.json │ │ ├── pristine_matter_thermal_elemental.json │ │ ├── pristine_matter_tinker_slime.json │ │ ├── pristine_matter_twilight_darkwood.json │ │ ├── pristine_matter_twilight_forest.json │ │ ├── pristine_matter_twilight_glacier.json │ │ ├── pristine_matter_twilight_swamp.json │ │ ├── pristine_matter_witch.json │ │ ├── pristine_matter_wither.json │ │ ├── pristine_matter_wither_skeleton.json │ │ ├── pristine_matter_zombie.json │ │ ├── simulation_chamber.json │ │ ├── soot_covered_plate.json │ │ ├── soot_covered_redstone.json │ │ ├── trial_key.json │ │ └── trial_keystone.json │ └── textures │ ├── block │ ├── color_stripes.png │ ├── extraction_chamber_north.png │ ├── extraction_chamber_north.png.mcmeta │ ├── infused_ingot_blockface.png │ ├── machine_base.png │ ├── machine_base_up.png │ ├── machine_base_variant2.png │ ├── palette.png │ ├── simulation_chamber_north.png │ ├── simulation_chamber_north.png.mcmeta │ ├── trial_keystone_container_top.png │ └── trial_keystone_side.png │ ├── entity │ └── glitch.png │ ├── gui │ ├── buttons │ │ ├── button_paginate.png │ │ └── button_select.png │ ├── deeplearner_base.png │ ├── deeplearner_extras.png │ ├── default_gui.png │ ├── experience_gui.png │ ├── extraction_chamber_base.png │ ├── jei │ │ ├── extraction_chamber.png │ │ ├── simulation_chamber.png │ │ └── trial_keystone.png │ ├── patchouli │ │ ├── arrow_down.png │ │ ├── book_gray.png │ │ ├── book_gray_orig.png │ │ ├── crafting.png │ │ └── water.png │ ├── simulation_chamber_base.png │ ├── trial_keystone_gui.png │ ├── trial_keystone_gui_blank.png │ └── trial_overlay_gui.png │ ├── item │ ├── book.png │ ├── creative_model_learner.png │ ├── data_model_blank.png │ ├── data_model_blaze.png │ ├── data_model_creeper.png │ ├── data_model_dragon.png │ ├── data_model_enderman.png │ ├── data_model_ghast.png │ ├── data_model_guardian.png │ ├── data_model_shulker.png │ ├── data_model_skeleton.png │ ├── data_model_slime.png │ ├── data_model_spider.png │ ├── data_model_thermal_elemental.png │ ├── data_model_tinker_slime.png │ ├── data_model_twilight_darkwood.png │ ├── data_model_twilight_forest.png │ ├── data_model_twilight_glacier.png │ ├── data_model_twilight_swamp.png │ ├── data_model_witch.png │ ├── data_model_wither.png │ ├── data_model_wither_skeleton.png │ ├── data_model_zombie.png │ ├── deep_learner.png │ ├── glitch_fragment.png │ ├── glitch_fragment.png.mcmeta │ ├── glitch_heart.png │ ├── glitch_heart.png.mcmeta │ ├── glitch_infused_boots.png │ ├── glitch_infused_chestplate.png │ ├── glitch_infused_helmet.png │ ├── glitch_infused_ingot.png │ ├── glitch_infused_leggings.png │ ├── glitch_infused_sword.png │ ├── living_matter_extraterrestrial.png │ ├── living_matter_hellish.png │ ├── living_matter_overworldian.png │ ├── living_matter_twilight.png │ ├── polymer_clay.png │ ├── pristine_matter_blaze.png │ ├── pristine_matter_creeper.png │ ├── pristine_matter_dragon.png │ ├── pristine_matter_enderman.png │ ├── pristine_matter_ghast.png │ ├── pristine_matter_guardian.png │ ├── pristine_matter_shulker.png │ ├── pristine_matter_skeleton.png │ ├── pristine_matter_slime.png │ ├── pristine_matter_spider.png │ ├── pristine_matter_thermal_elemental.png │ ├── pristine_matter_tinker_slime.png │ ├── pristine_matter_twilight_darkwood.png │ ├── pristine_matter_twilight_forest.png │ ├── pristine_matter_twilight_glacier.png │ ├── pristine_matter_twilight_swamp.png │ ├── pristine_matter_witch.png │ ├── pristine_matter_wither.png │ ├── pristine_matter_wither_skeleton.png │ ├── pristine_matter_zombie.png │ ├── soot_covered_plate.png │ ├── soot_covered_redstone.png │ └── trial_key.png │ └── models │ └── armor │ ├── glitch_infused_layer_1.png │ └── glitch_infused_layer_2.png ├── data └── deepmoblearning │ ├── loot_tables │ ├── glitch.json │ └── loot_hoarder.json │ └── recipes │ ├── armor_tools │ ├── recipe1_sword.json │ ├── recipe2_helm.json │ ├── recipe3_chestplate.json │ ├── recipe4_leggings.json │ └── recipe5_boots.json │ ├── data_model │ ├── data_model_blank.json │ ├── data_model_blaze.json │ ├── data_model_creeper.json │ ├── data_model_dragon.json │ ├── data_model_enderman.json │ ├── data_model_ghast.json │ ├── data_model_guardian.json │ ├── data_model_shulker.json │ ├── data_model_skeleton.json │ ├── data_model_slime.json │ ├── data_model_spider.json │ ├── data_model_thermal_elemental.json │ ├── data_model_tinkers_slime.json │ ├── data_model_twilight_a_forest.json │ ├── data_model_twilight_b_swamp.json │ ├── data_model_twilight_c_darkwood.json │ ├── data_model_twilight_d_glacier.json │ ├── data_model_witch.json │ ├── data_model_wither.json │ ├── data_model_wither_skeleton.json │ └── data_model_zombie.json │ ├── extraction_chamber │ └── extraction_chamber.json │ ├── living_matter_exchange │ ├── metadata1_hellish_living_matter.json │ ├── metadata2_extraterrestrial_living_matter.json │ ├── transmutes0_overworldian │ │ ├── recipe0_grass.json │ │ ├── recipe10_prismarine.json │ │ ├── recipe1_carrot.json │ │ ├── recipe2_potato.json │ │ ├── recipe3_rotten_flesh.json │ │ ├── recipe4_iron_ingot.json │ │ ├── recipe5_bone.json │ │ ├── recipe6_arrow.json │ │ ├── recipe7_spider_eye.json │ │ ├── recipe8_gunpowder.json │ │ └── recipe9_cobweb.json │ ├── transmutes1_hellish │ │ ├── recipe0_soul_sand.json │ │ ├── recipe1_blaze_powder.json │ │ ├── recipe2_blaze_rod.json │ │ ├── recipe3_ghast_tear.json │ │ ├── recipe4_gold_ingot.json │ │ └── recipe5_nether_wart.json │ ├── transmutes2_extraterrestrial │ │ ├── recipe1_end_stone.json │ │ ├── recipe2_ender_pearl.json │ │ ├── recipe3_nether_star.json │ │ └── recipe4_chorus_fruit.json │ └── transmutes3_twilight │ │ ├── recipe1_ravens_feather.json │ │ ├── recipe2_torchberries.json │ │ └── recipe3_venison.json │ ├── recipe1_deep_learner.json │ ├── recipe2_machine_casing.json │ ├── recipe3_soot_covered_plate.json │ ├── recipe4_trial_keystone.json │ ├── recipe5_trial_key.json │ ├── recipe6_ingot_to_block.json │ ├── recipe7_block_to_ingot.json │ ├── recipe8_guide_book.json │ └── simulation_chamber │ ├── inputs │ └── recipe1_polymer_clay.json │ └── recipe1_simulation_chamber.json └── pack.mcmeta /.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 | classes 22 | eclipse 23 | run -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 IterationFunk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Deep Mob Learning 2 | A server friendly mod for mob loot acquisition. It's inspired by the Soul shards mod where you could "collect" mob kills to later 3 | reuse them for mob spawners. 4 | 5 | This mod however uses "Data models" that you train by defeating monsters both by hand or by 6 | simulation(In the simulation chamber). To get started you will need a Deep Learner, which will house the data models, and 7 | some type of mob data model. 8 | 9 | Once your data models have reached higher tiers you can use them in the simulation chamber to get loot. 10 | 11 | ## Current mod support 12 | - Thermal Foundation 13 | - Twilight Forest 14 | - Tinker's Construct -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Sets default memory used for gradle commands. Can be overridden by user or command line properties. 2 | # This is required to provide enough memory for the Minecraft decompilation process. 3 | org.gradle.jvmargs=-Xmx3G 4 | org.gradle.daemon=false -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip 6 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/GuiHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.client.gui.GuiScreen; 5 | import net.minecraft.entity.player.EntityPlayer; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.network.PacketBuffer; 8 | import net.minecraft.tileentity.TileEntity; 9 | import net.minecraft.util.math.BlockPos; 10 | import net.minecraft.world.World; 11 | import net.minecraftforge.fml.network.FMLPlayMessages; 12 | import xt9.deepmoblearning.client.gui.DeepLearnerGui; 13 | import xt9.deepmoblearning.client.gui.ExtractionChamberGui; 14 | import xt9.deepmoblearning.client.gui.SimulationChamberGui; 15 | import xt9.deepmoblearning.client.gui.TrialKeystoneGui; 16 | import xt9.deepmoblearning.common.tiles.TileEntityExtractionChamber; 17 | import xt9.deepmoblearning.common.tiles.TileEntitySimulationChamber; 18 | import xt9.deepmoblearning.common.tiles.TileEntityTrialKeystone; 19 | 20 | import javax.annotation.Nullable; 21 | 22 | /** 23 | * Created by xt9 on 2019-02-23. 24 | */ 25 | public class GuiHandler { 26 | @Nullable 27 | public static GuiScreen getClientGuiElement(FMLPlayMessages.OpenContainer container) { 28 | PacketBuffer buf = container.getAdditionalData(); 29 | EntityPlayer player = Minecraft.getInstance().player; 30 | 31 | if (container.getId().toString().contains("item/")) { 32 | ItemStack heldItem = buf.readItemStack(); 33 | return new DeepLearnerGui(player.inventory, heldItem); 34 | } else if (container.getId().toString().contains("tile/")) { 35 | BlockPos blockPos = buf.readBlockPos(); 36 | TileEntity tile = player.world.getTileEntity(blockPos); 37 | if (tile instanceof TileEntitySimulationChamber) { 38 | return new SimulationChamberGui((TileEntitySimulationChamber) tile, player.inventory, player.world); 39 | } else if (tile instanceof TileEntityExtractionChamber) { 40 | return new ExtractionChamberGui((TileEntityExtractionChamber) tile, player.inventory, player.world); 41 | } else if (tile instanceof TileEntityTrialKeystone) { 42 | return new TrialKeystoneGui((TileEntityTrialKeystone) tile, player.inventory, player.world); 43 | } 44 | } 45 | return null; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/gui/button/ClickableZoneButton.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.gui.button; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.client.gui.GuiButton; 5 | import net.minecraft.client.renderer.GlStateManager; 6 | import net.minecraftforge.fml.client.config.GuiUtils; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * Created by xt9 on 2018-07-23. 13 | */ 14 | public class ClickableZoneButton extends GuiButton { 15 | private List tooltip = new ArrayList<>(); 16 | private int screenWidth; 17 | private int screenHeight; 18 | 19 | public ClickableZoneButton(int buttonId, int x, int y, int widthIn, int heightIn, int screenWidth, int screenHeight) { 20 | super(buttonId, x, y, widthIn, heightIn, ""); 21 | this.screenWidth = screenWidth; 22 | this.screenHeight = screenHeight; 23 | } 24 | 25 | public void setTooltip(List tooltip) { 26 | this.tooltip = tooltip; 27 | } 28 | 29 | @Override 30 | public void drawButtonForegroundLayer(int mouseX, int mouseY) { 31 | GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); 32 | GlStateManager.enableBlend(); 33 | GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); 34 | GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); 35 | hovered = mouseX >= x && mouseY >= y && mouseX < x + width && mouseY < y + height; 36 | if(hovered) { 37 | GuiUtils.drawHoveringText(tooltip, mouseX - 18, mouseY - 9, screenWidth, screenHeight, -1, Minecraft.getInstance().fontRenderer); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/gui/button/TransparentButton.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.gui.button; 2 | 3 | import net.minecraft.client.gui.GuiButton; 4 | 5 | /** 6 | * Created by xt9 on 2018-05-05. 7 | */ 8 | public class TransparentButton extends GuiButton { 9 | public TransparentButton(int buttonId, int x, int y, int widthIn, int heightIn) { 10 | super(buttonId, x, y, widthIn, heightIn, ""); 11 | } 12 | 13 | @Override 14 | public void drawButtonForegroundLayer(int mouseX, int mouseY) { 15 | hovered = mouseX >= x && mouseY >= y && mouseX < x + width && mouseY < y + height; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/gui/config/DeepGuiConfig.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.gui.config; 2 | 3 | import net.minecraft.client.gui.GuiScreen; 4 | import net.minecraftforge.fml.client.config.IConfigElement; 5 | import xt9.deepmoblearning.DeepConstants; 6 | import xt9.deepmoblearning.common.config.Config; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * Created by xt9 on 2017-12-29. 13 | */ 14 | public class DeepGuiConfig extends Config { 15 | 16 | public DeepGuiConfig(GuiScreen parent) { 17 | // @todo 1.13 implement 18 | //super(parent, getConfigElements(), DeepConstants.MODID, false, false, "Found at config/deepmoblearning.cfg, Loot lists only configurable through file"); 19 | } 20 | 21 | public static List getConfigElements() { 22 | List elements = new ArrayList<>(); 23 | /* elements.add(new ConfigElement(Config.dataModel)); 24 | elements.add(new ConfigElement(Config.dataModelMobNames)); 25 | elements.add(new ConfigElement(Config.livingMatterEXP)); 26 | elements.add(new ConfigElement(Config.pristineChance)); 27 | elements.add(new ConfigElement(Config.modelExperience)); 28 | 29 | elements.add(new ConfigElement(Config.rfCostExtractionChamber)); 30 | elements.add(new ConfigElement(Config.isSootedRedstoneCraftingEnabled)); 31 | elements.add(new ConfigElement(Config.guiOverlaySide)); 32 | elements.add(new ConfigElement(Config.guiOverlayVerticalSpacing)); 33 | elements.add(new ConfigElement(Config.guiOverlayHorizontalSpacing));*/ 34 | return elements; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/gui/config/GuiFactory.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.gui.config; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.client.gui.GuiScreen; 5 | import net.minecraftforge.fml.client.IModGuiFactory; 6 | 7 | import java.util.Set; 8 | 9 | /** 10 | * Created by xt9 on 2017-12-29. 11 | */ 12 | public class GuiFactory implements IModGuiFactory { 13 | 14 | @Override 15 | public void initialize(Minecraft minecraftInstance) { 16 | 17 | } 18 | 19 | @Override 20 | public boolean hasConfigGui(){ 21 | return true; 22 | } 23 | 24 | @Override 25 | public GuiScreen createConfigGui(GuiScreen parentScreen){ 26 | //return new DeepGuiConfig(parentScreen); 27 | return null; 28 | } 29 | 30 | @Override 31 | public Set runtimeGuiCategories(){ 32 | return null; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/particle/ParticleGlitch.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.particle; 2 | 3 | import net.minecraft.client.particle.ParticlePortal; 4 | import net.minecraft.client.renderer.BufferBuilder; 5 | import net.minecraft.entity.Entity; 6 | import net.minecraft.util.math.MathHelper; 7 | import net.minecraft.world.World; 8 | 9 | /** 10 | * Created by xt9 on 2018-04-05. 11 | */ 12 | public class ParticleGlitch extends ParticlePortal { 13 | 14 | public ParticleGlitch(World worldIn, double xCoordIn, double yCoordIn, double zCoordIn, double xSpeedIn, double ySpeedIn, double zSpeedIn) { 15 | super(worldIn, xCoordIn, yCoordIn, zCoordIn, xSpeedIn, ySpeedIn, zSpeedIn); 16 | particleRed = 0.0F; 17 | particleGreen = 0.81F; 18 | particleBlue = 0.8F; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/particle/ParticleScalableSmoke.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.particle; 2 | 3 | import net.minecraft.client.particle.ParticleSmokeNormal; 4 | import net.minecraft.world.World; 5 | 6 | /** 7 | * Created by xt9 on 2018-04-19. 8 | */ 9 | public class ParticleScalableSmoke extends ParticleSmokeNormal { 10 | 11 | public ParticleScalableSmoke(World worldIn, double xCoordIn, double yCoordIn, double zCoordIn, double xSpeedIn, double ySpeedIn, double zSpeedIn, float scale) { 12 | super(worldIn, xCoordIn, yCoordIn, zCoordIn, xSpeedIn, ySpeedIn, zSpeedIn, scale); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/client/renders/RenderEntityGlitch.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.client.renders; 2 | 3 | import net.minecraft.client.renderer.entity.RenderLiving; 4 | import net.minecraft.client.renderer.entity.RenderManager; 5 | import net.minecraft.util.ResourceLocation; 6 | import xt9.deepmoblearning.DeepConstants; 7 | import xt9.deepmoblearning.common.entity.EntityGlitch; 8 | import xt9.deepmoblearning.client.model.ModelGlitch; 9 | 10 | import javax.annotation.Nullable; 11 | 12 | /** 13 | * Created by xt9 on 2018-04-04. 14 | */ 15 | public class RenderEntityGlitch extends RenderLiving { 16 | private ResourceLocation texture = new ResourceLocation(DeepConstants.MODID + ":textures/entity/glitch.png"); 17 | 18 | public RenderEntityGlitch(RenderManager manager) { 19 | super(manager, new ModelGlitch(), 0.5F); 20 | } 21 | 22 | @Nullable 23 | @Override 24 | protected ResourceLocation getEntityTexture(EntityGlitch glitch) { 25 | return texture; 26 | } 27 | 28 | @Override 29 | public void doRender(EntityGlitch entity, double x, double y, double z, float entityYaw, float partialTicks) { 30 | super.doRender(entity, x, y, z, entityYaw, partialTicks); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/blocks/BlockBase.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.blocks; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.block.material.Material; 5 | import net.minecraft.util.ResourceLocation; 6 | import xt9.deepmoblearning.DeepConstants; 7 | 8 | /** 9 | * Created by xt9 on 2017-06-15. 10 | */ 11 | public class BlockBase extends Block { 12 | protected String blockName; 13 | 14 | public BlockBase(String name, Material material) { 15 | super(Properties.create(material).lightValue(1)); 16 | this.blockName = name; 17 | 18 | setRegistryName(new ResourceLocation(DeepConstants.MODID, name)); 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/blocks/BlockInfusedIngot.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.blocks; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.block.BlockHorizontal; 5 | import net.minecraft.block.material.Material; 6 | import net.minecraft.state.DirectionProperty; 7 | import net.minecraft.state.IProperty; 8 | import net.minecraft.util.EnumFacing; 9 | import net.minecraft.util.ResourceLocation; 10 | import xt9.deepmoblearning.DeepConstants; 11 | 12 | /** 13 | * Created by xt9 on 2018-05-20. 14 | */ 15 | public class BlockInfusedIngot extends Block { 16 | 17 | public BlockInfusedIngot() { 18 | super(Properties.create(Material.IRON).hardnessAndResistance(4f, 10.0f)); 19 | 20 | setRegistryName(new ResourceLocation(DeepConstants.MODID, "infused_ingot_block")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/blocks/BlockMachineCasing.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.blocks; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.block.material.Material; 5 | import net.minecraft.util.ResourceLocation; 6 | import net.minecraft.util.math.BlockPos; 7 | import net.minecraft.world.World; 8 | import xt9.deepmoblearning.DeepConstants; 9 | 10 | /** 11 | * Created by xt9 on 2018-05-11. 12 | */ 13 | public class BlockMachineCasing extends Block { 14 | public BlockMachineCasing() { 15 | super(Block.Properties.create(Material.ROCK)); 16 | setRegistryName(new ResourceLocation(DeepConstants.MODID, "machine_casing")); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/capabilities/PlayerProperties.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.capabilities; 2 | 3 | import net.minecraftforge.common.capabilities.Capability; 4 | import net.minecraftforge.common.capabilities.CapabilityInject; 5 | 6 | /** 7 | * Created by xt9 on 2019-02-18. 8 | */ 9 | public class PlayerProperties { 10 | @CapabilityInject(PlayerTrial.class) 11 | public static Capability playerTrialCap; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/capabilities/PlayerTrialProvider.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.capabilities; 2 | 3 | import net.minecraft.nbt.NBTTagCompound; 4 | import net.minecraft.util.EnumFacing; 5 | import net.minecraftforge.common.capabilities.Capability; 6 | import net.minecraftforge.common.capabilities.ICapabilitySerializable; 7 | import net.minecraftforge.common.util.LazyOptional; 8 | 9 | import javax.annotation.Nonnull; 10 | import javax.annotation.Nullable; 11 | 12 | /** 13 | * Created by xt9 on 2018-04-07. 14 | */ 15 | @SuppressWarnings("unchecked") 16 | public class PlayerTrialProvider implements ICapabilitySerializable { 17 | private PlayerTrial playerTrial = new PlayerTrial(); 18 | 19 | @Nonnull 20 | @Override 21 | @SuppressWarnings("ConstantConditions") 22 | public LazyOptional getCapability(@Nonnull Capability cap) { 23 | if (cap == PlayerProperties.playerTrialCap) { 24 | return LazyOptional.of(() -> (T) playerTrial); 25 | } 26 | return LazyOptional.empty(); 27 | } 28 | 29 | @Nonnull 30 | @Override 31 | public LazyOptional getCapability(@Nonnull Capability capability, @Nullable EnumFacing enumFacing) { 32 | return getCapability(capability); 33 | } 34 | 35 | @Override 36 | public NBTTagCompound serializeNBT() { 37 | NBTTagCompound compound = new NBTTagCompound(); 38 | playerTrial.write(compound); 39 | return compound; 40 | } 41 | 42 | @Override 43 | public void deserializeNBT(NBTTagCompound compound) { 44 | playerTrial.read(compound); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/energy/DeepEnergyStorage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.energy; 2 | import net.minecraft.nbt.NBTTagCompound; 3 | import net.minecraftforge.common.util.Constants; 4 | import net.minecraftforge.energy.EnergyStorage; 5 | 6 | /** 7 | * Created by xt9 on 2017-06-16. 8 | */ 9 | public class DeepEnergyStorage extends EnergyStorage { 10 | public DeepEnergyStorage(int capacity, int maxIn, int maxOut, int energy) { 11 | super(capacity, maxIn, maxOut, energy); 12 | } 13 | 14 | public void voidEnergy(int energy) { 15 | this.energy = getEnergyStored() - energy; 16 | } 17 | 18 | public NBTTagCompound writeEnergy(NBTTagCompound compound) { 19 | compound.setInt("energy", getEnergyStored()); 20 | return compound; 21 | } 22 | 23 | public void readEnergy(NBTTagCompound compound) { 24 | this.energy = compound.hasKey("energy") ? compound.getInt("energy") : 0; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/entity/EntityTrialCaveSpider.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.entity; 2 | 3 | import net.minecraft.entity.EntityLivingBase; 4 | import net.minecraft.entity.ai.*; 5 | import net.minecraft.entity.monster.EntityCaveSpider; 6 | import net.minecraft.entity.monster.EntitySpider; 7 | import net.minecraft.entity.player.EntityPlayer; 8 | import net.minecraft.world.World; 9 | 10 | /** 11 | * Created by xt9 on 2018-05-02. 12 | */ 13 | public class EntityTrialCaveSpider extends EntityCaveSpider { 14 | public EntityTrialCaveSpider(World world) { 15 | // @todo 1.13 see if this needs it's own type 16 | super(world); 17 | } 18 | 19 | @Override 20 | protected void initEntityAI() { 21 | tasks.addTask(1, new EntityAISwimming(this)); 22 | tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); 23 | tasks.addTask(4, new AISpiderAttack(this)); 24 | tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D)); 25 | tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); 26 | tasks.addTask(6, new EntityAILookIdle(this)); 27 | targetTasks.addTask(0, new EntityAIFindEntityNearestPlayer(this)); 28 | } 29 | 30 | static class AISpiderAttack extends EntityAIAttackMelee { 31 | public AISpiderAttack(EntitySpider spider) { 32 | super(spider, 1.2D, true); 33 | } 34 | 35 | protected double getAttackReachSqr(EntityLivingBase attackTarget) { 36 | return (double)(4.0F + attackTarget.width); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/entity/EntityTrialSlime.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.entity; 2 | 3 | import net.minecraft.entity.monster.EntitySlime; 4 | import net.minecraft.world.World; 5 | 6 | /** 7 | * Created by xt9 on 2018-05-02. 8 | */ 9 | public class EntityTrialSlime extends EntitySlime { 10 | public EntityTrialSlime(World world) { 11 | // @todo 1.13 see if this needs it's own type 12 | super(world); 13 | setSlimeSize(3, true); 14 | } 15 | 16 | 17 | @Override 18 | public void remove() { 19 | this.removed = true; 20 | this.invalidateCaps(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/entity/EntityTrialSpider.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.entity; 2 | 3 | import net.minecraft.entity.EntityLivingBase; 4 | import net.minecraft.entity.ai.*; 5 | import net.minecraft.entity.monster.EntitySpider; 6 | import net.minecraft.entity.player.EntityPlayer; 7 | import net.minecraft.world.World; 8 | 9 | /** 10 | * Created by xt9 on 2018-05-02. 11 | */ 12 | public class EntityTrialSpider extends EntitySpider { 13 | public EntityTrialSpider(World world) { 14 | // @todo 1.13 see if this needs it's own type 15 | super(world); 16 | } 17 | 18 | @Override 19 | protected void initEntityAI() { 20 | tasks.addTask(1, new EntityAISwimming(this)); 21 | tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); 22 | tasks.addTask(4, new AISpiderAttack(this)); 23 | tasks.addTask(5, new EntityAIWanderAvoidWater(this, 0.8D)); 24 | tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); 25 | tasks.addTask(6, new EntityAILookIdle(this)); 26 | targetTasks.addTask(0, new EntityAIFindEntityNearestPlayer(this)); 27 | } 28 | 29 | static class AISpiderAttack extends EntityAIAttackMelee { 30 | public AISpiderAttack(EntitySpider spider) { 31 | super(spider, 1.2D, true); 32 | } 33 | 34 | protected double getAttackReachSqr(EntityLivingBase attackTarget) { 35 | return (double)(4.0F + attackTarget.width); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/events/CapabilityHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.events; 2 | 3 | import net.minecraft.client.entity.EntityPlayerSP; 4 | import net.minecraft.entity.Entity; 5 | import net.minecraft.entity.player.EntityPlayer; 6 | import net.minecraft.util.ResourceLocation; 7 | import net.minecraftforge.api.distmarker.Dist; 8 | import net.minecraftforge.api.distmarker.OnlyIn; 9 | import net.minecraftforge.event.AttachCapabilitiesEvent; 10 | import net.minecraftforge.event.entity.EntityJoinWorldEvent; 11 | import net.minecraftforge.event.entity.player.PlayerEvent; 12 | import net.minecraftforge.eventbus.api.SubscribeEvent; 13 | import net.minecraftforge.fml.common.Mod; 14 | import xt9.deepmoblearning.DeepConstants; 15 | import xt9.deepmoblearning.client.gui.TrialOverlay; 16 | import xt9.deepmoblearning.common.capabilities.PlayerProperties; 17 | import xt9.deepmoblearning.common.capabilities.PlayerTrialProvider; 18 | 19 | /** 20 | * Created by xt9 on 2018-04-07. 21 | */ 22 | @Mod.EventBusSubscriber 23 | public class CapabilityHandler { 24 | @SubscribeEvent 25 | @SuppressWarnings("unused") 26 | public static void attachCapability(AttachCapabilitiesEvent event) { 27 | if(event.getObject() instanceof EntityPlayer) { 28 | event.addCapability(new ResourceLocation(DeepConstants.MODID, "player_trial"), new PlayerTrialProvider()); 29 | } 30 | } 31 | 32 | @SubscribeEvent 33 | @SuppressWarnings({"ConstantConditions", "unused"}) 34 | public static void onPlayerClone(PlayerEvent.Clone event) { 35 | EntityPlayer player = event.getEntityPlayer(); 36 | 37 | if(!player.world.isRemote) { 38 | event.getOriginal() 39 | .getCapability(PlayerProperties.playerTrialCap) 40 | .ifPresent(oldCap -> player.getCapability(PlayerProperties.playerTrialCap).ifPresent(cap -> cap.copyFrom(oldCap))); 41 | } 42 | } 43 | 44 | @SubscribeEvent 45 | @OnlyIn(Dist.CLIENT) 46 | public static void onPlayerJoinedWorldClient(EntityJoinWorldEvent event) { 47 | /* Re-init the player capability when player joins world */ 48 | if(event.getEntity() instanceof EntityPlayerSP) { 49 | TrialOverlay.initPlayerCapability(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/handlers/DataModelHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.handlers; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import xt9.deepmoblearning.common.items.ItemDataModel; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | /** 9 | * Created by xt9 on 2018-01-08. 10 | */ 11 | public class DataModelHandler extends BaseItemHandler { 12 | public DataModelHandler() { 13 | super(); 14 | } 15 | 16 | @Override 17 | @Nonnull 18 | public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { 19 | if(stack.getItem() instanceof ItemDataModel) { 20 | return super.insertItem(slot, stack, simulate); 21 | } else { 22 | return stack; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/handlers/OutputHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.handlers; 2 | 3 | import net.minecraft.item.ItemStack; 4 | 5 | import javax.annotation.Nonnull; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-19. 9 | */ 10 | public class OutputHandler extends BaseItemHandler { 11 | public OutputHandler() { 12 | super(); 13 | } 14 | 15 | public OutputHandler(int size) { 16 | super(size); 17 | } 18 | 19 | @Override 20 | @Nonnull 21 | public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { 22 | return stack; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/handlers/PolymerHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.handlers; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import xt9.deepmoblearning.common.items.ItemPolymerClay; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | /** 9 | * Created by xt9 on 2018-01-08. 10 | */ 11 | public class PolymerHandler extends BaseItemHandler { 12 | 13 | @Override 14 | @Nonnull 15 | public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { 16 | if(stack.getItem() instanceof ItemPolymerClay) { 17 | return super.insertItem(slot, stack, simulate); 18 | } else { 19 | return stack; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/handlers/PristineHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.handlers; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import xt9.deepmoblearning.common.items.ItemPristineMatter; 5 | 6 | import javax.annotation.Nonnull; 7 | 8 | /** 9 | * Created by xt9 on 2018-01-08. 10 | */ 11 | public class PristineHandler extends BaseItemHandler { 12 | @Override 13 | @Nonnull 14 | public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { 15 | if(stack.getItem() instanceof ItemPristineMatter) { 16 | return super.insertItem(slot, stack, simulate); 17 | } else { 18 | return stack; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/handlers/TrialKeyHandler.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.handlers; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import net.minecraft.util.math.BlockPos; 5 | import net.minecraft.world.World; 6 | import xt9.deepmoblearning.common.items.ItemTrialKey; 7 | import xt9.deepmoblearning.common.network.Network; 8 | import xt9.deepmoblearning.common.network.messages.RequestKeystoneItemMessage; 9 | import xt9.deepmoblearning.common.util.TrialKey; 10 | 11 | import javax.annotation.Nonnull; 12 | 13 | /** 14 | * Created by xt9 on 2018-03-31. 15 | */ 16 | public class TrialKeyHandler extends BaseItemHandler { 17 | @Override 18 | @Nonnull 19 | public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { 20 | if(stack.getItem() instanceof ItemTrialKey) { 21 | return super.insertItem(slot, stack, simulate); 22 | } else { 23 | return stack; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/inventory/SlotDeepLearner.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.inventory; 2 | 3 | import net.minecraft.item.ItemStack; 4 | import net.minecraftforge.items.IItemHandler; 5 | import net.minecraftforge.items.SlotItemHandler; 6 | import xt9.deepmoblearning.common.items.ItemDataModel; 7 | 8 | /** 9 | * Created by xt9 on 2017-06-11. 10 | */ 11 | public class SlotDeepLearner extends SlotItemHandler { 12 | 13 | public SlotDeepLearner(IItemHandler handler, int index, int x, int y) { 14 | super(handler, index, x, y); 15 | } 16 | 17 | @Override 18 | public boolean isItemValid(ItemStack stack) 19 | { 20 | return !stack.isEmpty() && stack.getItem() instanceof ItemDataModel; 21 | } 22 | @Override 23 | public int getSlotStackLimit() { 24 | return 1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/inventory/SlotExtractionChamber.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.inventory; 2 | 3 | import net.minecraft.item.Item; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraftforge.items.IItemHandler; 6 | import net.minecraftforge.items.SlotItemHandler; 7 | import xt9.deepmoblearning.DeepConstants; 8 | import xt9.deepmoblearning.common.items.ItemPristineMatter; 9 | 10 | 11 | /** 12 | * Created by xt9 on 2018-01-07. 13 | */ 14 | public class SlotExtractionChamber extends SlotItemHandler { 15 | 16 | public SlotExtractionChamber(IItemHandler handler, int index, int x, int y) { 17 | super(handler, index, x, y); 18 | } 19 | 20 | @Override 21 | public boolean isItemValid(ItemStack stack) { 22 | Item item = stack.getItem(); 23 | switch(getSlotIndex()) { 24 | case ContainerExtractionChamber.INPUT_SLOT: 25 | return !stack.isEmpty() && item instanceof ItemPristineMatter; 26 | default: 27 | return false; 28 | } 29 | } 30 | 31 | @Override 32 | public int getSlotStackLimit() { 33 | return 64; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/inventory/SlotSimulationChamber.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.inventory; 2 | 3 | import net.minecraft.item.Item; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraftforge.items.IItemHandler; 6 | import net.minecraftforge.items.SlotItemHandler; 7 | import xt9.deepmoblearning.DeepConstants; 8 | import xt9.deepmoblearning.common.items.ItemDataModel; 9 | import xt9.deepmoblearning.common.items.ItemPolymerClay; 10 | 11 | /** 12 | * Created by xt9 on 2017-06-11. 13 | */ 14 | public class SlotSimulationChamber extends SlotItemHandler { 15 | 16 | public SlotSimulationChamber(IItemHandler handler, int index, int x, int y) { 17 | super(handler, index, x, y); 18 | } 19 | 20 | @Override 21 | public boolean isItemValid(ItemStack stack) { 22 | Item item = stack.getItem(); 23 | switch(getSlotIndex()) { 24 | case ContainerSimulationChamber.DATA_MODEL_SLOT: 25 | return !stack.isEmpty() && item instanceof ItemDataModel; 26 | case ContainerSimulationChamber.INPUT_SLOT: 27 | return !stack.isEmpty() && item instanceof ItemPolymerClay; 28 | case ContainerSimulationChamber.OUTPUT_SLOT: 29 | return false; 30 | case ContainerSimulationChamber.PRISTINE_SLOT: 31 | return false; 32 | default: 33 | return false; 34 | } 35 | } 36 | 37 | @Override 38 | public int getSlotStackLimit() { 39 | return 64; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/inventory/SlotTrialKeystone.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.inventory; 2 | 3 | import net.minecraft.item.Item; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraftforge.items.IItemHandler; 6 | import net.minecraftforge.items.SlotItemHandler; 7 | import xt9.deepmoblearning.common.items.ItemTrialKey; 8 | 9 | /** 10 | * Created by xt9 on 2018-04-04. 11 | */ 12 | public class SlotTrialKeystone extends SlotItemHandler { 13 | 14 | public SlotTrialKeystone(IItemHandler handler, int index, int x, int y) { 15 | super(handler, index, x, y); 16 | } 17 | 18 | @Override 19 | public boolean isItemValid(ItemStack stack) { 20 | Item item = stack.getItem(); 21 | return !stack.isEmpty() && item instanceof ItemTrialKey; 22 | } 23 | 24 | @Override 25 | public int getSlotStackLimit() { 26 | return 1; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemBase.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | 4 | import net.minecraft.item.Item; 5 | import net.minecraft.util.ResourceLocation; 6 | import xt9.deepmoblearning.DeepConstants; 7 | import xt9.deepmoblearning.DeepMobLearning; 8 | 9 | /** 10 | * Created by xt9 on 2017-06-08. 11 | */ 12 | public class ItemBase extends Item { 13 | public String itemName; 14 | 15 | public ItemBase(String name, int stackSize) { 16 | super(getDefaultProps(stackSize)); 17 | setRegistryName(new ResourceLocation(DeepConstants.MODID, name)); 18 | this.itemName = name; 19 | } 20 | 21 | public static Item.Properties getDefaultProps(int stackSize) { 22 | return new Item.Properties().maxStackSize(stackSize).group(DeepMobLearning.tab); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemBlockPlacer.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.block.Block; 4 | import net.minecraft.block.state.IBlockState; 5 | import net.minecraft.item.BlockItemUseContext; 6 | import net.minecraft.item.ItemBlock; 7 | 8 | /** 9 | * Created by xt9 on 2019-02-20. 10 | */ 11 | @SuppressWarnings("ConstantConditions") 12 | public class ItemBlockPlacer extends ItemBlock { 13 | private boolean canPlace; 14 | 15 | public ItemBlockPlacer(Block block, Properties props, boolean canPlace) { 16 | super(block, props); 17 | this.canPlace = canPlace; 18 | setRegistryName(block.getRegistryName()); 19 | } 20 | 21 | @Override 22 | protected boolean canPlace(BlockItemUseContext context, IBlockState state) { 23 | return canPlace && super.canPlace(context, state); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemCreativeModelLearner.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.resources.I18n; 4 | import net.minecraft.client.util.ITooltipFlag; 5 | import net.minecraft.entity.player.EntityPlayer; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.util.ActionResult; 8 | import net.minecraft.util.EnumActionResult; 9 | import net.minecraft.util.EnumHand; 10 | import net.minecraft.util.text.ITextComponent; 11 | import net.minecraft.util.text.TextComponentString; 12 | import net.minecraft.world.World; 13 | import net.minecraftforge.api.distmarker.Dist; 14 | import net.minecraftforge.api.distmarker.OnlyIn; 15 | import xt9.deepmoblearning.common.network.messages.LevelUpModelMessage; 16 | import xt9.deepmoblearning.common.network.Network; 17 | import xt9.deepmoblearning.common.util.KeyboardHelper; 18 | 19 | import javax.annotation.Nullable; 20 | import java.util.List; 21 | 22 | public class ItemCreativeModelLearner extends ItemBase { 23 | public ItemCreativeModelLearner() { 24 | super("creative_model_learner", 1); 25 | } 26 | 27 | @Override 28 | public ActionResult onItemRightClick(World worldIn, EntityPlayer player, @Nullable EnumHand hand) { 29 | if(player.world.isRemote) { 30 | if(KeyboardHelper.isHoldingShift()) { 31 | Network.channel.sendToServer(new LevelUpModelMessage(0)); 32 | } else if(KeyboardHelper.isHoldingCTRL()) { 33 | Network.channel.sendToServer(new LevelUpModelMessage(1)); 34 | } 35 | } 36 | 37 | 38 | return new ActionResult(EnumActionResult.PASS, player.getHeldItem(hand)); 39 | } 40 | 41 | 42 | @OnlyIn(Dist.CLIENT) 43 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 44 | if(!KeyboardHelper.isHoldingShift()) { 45 | list.add(new TextComponentString(I18n.format("deepmoblearning.holdshift"))); 46 | } else { 47 | list.add(new TextComponentString("A creative item that levels up data models inside the Deep Learner.")); 48 | list.add(new TextComponentString("§r§oSHIFT§r§7 + §r§oRIGHT§r§7 click to increase tier.§r")); 49 | list.add(new TextComponentString("§r§oCTRL§r§7 + §r§oRIGHT§r§7 click to simulate kills.§r")); 50 | } 51 | 52 | } 53 | } -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemDataModelBlank.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | /** 4 | * Created by xt9 on 2018-01-06. 5 | */ 6 | public class ItemDataModelBlank extends ItemBase { 7 | public ItemDataModelBlank() { 8 | super("data_model_blank", 64); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemFallbackGuidebook.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.util.ITooltipFlag; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.util.text.ITextComponent; 6 | import net.minecraft.util.text.TextComponentString; 7 | import net.minecraft.world.World; 8 | import net.minecraftforge.api.distmarker.Dist; 9 | import net.minecraftforge.api.distmarker.OnlyIn; 10 | 11 | import javax.annotation.Nullable; 12 | import java.util.List; 13 | 14 | /** 15 | * Created by xt9 on 2019-01-06. 16 | */ 17 | public class ItemFallbackGuidebook extends ItemBase { 18 | public ItemFallbackGuidebook() { 19 | super("book", 1); 20 | } 21 | 22 | @OnlyIn(Dist.CLIENT) 23 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 24 | list.add(new TextComponentString("This item does nothing")); 25 | list.add(new TextComponentString("Install Patchouli for an indepth mod Guide.")); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemGlitchFragment.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.util.ITooltipFlag; 4 | import net.minecraft.entity.Entity; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraft.util.text.ITextComponent; 7 | import net.minecraft.util.text.TextComponentString; 8 | import net.minecraft.world.World; 9 | import net.minecraftforge.api.distmarker.Dist; 10 | import net.minecraftforge.api.distmarker.OnlyIn; 11 | import xt9.deepmoblearning.common.Registry; 12 | import xt9.deepmoblearning.common.config.Config; 13 | import xt9.deepmoblearning.common.entity.EntityItemGlitchFragment; 14 | 15 | import javax.annotation.Nullable; 16 | import java.util.List; 17 | 18 | /** 19 | * Created by xt9 on 2018-05-16. 20 | */ 21 | public class ItemGlitchFragment extends ItemBase { 22 | public ItemGlitchFragment() { 23 | super("glitch_fragment", 64); 24 | } 25 | 26 | @OnlyIn(Dist.CLIENT) 27 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 28 | if(Config.isSootedRedstoneCraftingEnabled) { 29 | list.add(new TextComponentString("Crafted by crushing a " + new ItemStack(Registry.glitchHeart, 1).getDisplayName().getFormattedText())); 30 | list.add(new TextComponentString("against some §5Obsidian§7 (Left click)")); 31 | list.add(new TextComponentString("§rYields 3 fragments per crushed heart")); 32 | } 33 | } 34 | 35 | @Override 36 | public boolean hasCustomEntity(ItemStack stack) { 37 | return true; 38 | } 39 | 40 | @Nullable 41 | @Override 42 | public Entity createEntity(World world, Entity location, ItemStack stack) { 43 | Entity result = new EntityItemGlitchFragment(world, location.posX, location.posY, location.posZ, new ItemStack(this, stack.getCount())); 44 | result.motionX = location.motionX; 45 | result.motionY = location.motionY; 46 | result.motionZ = location.motionZ; 47 | return result; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemGlitchHeart.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.util.ITooltipFlag; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.util.text.ITextComponent; 6 | import net.minecraft.util.text.TextComponentString; 7 | import net.minecraft.world.World; 8 | import net.minecraftforge.api.distmarker.Dist; 9 | import net.minecraftforge.api.distmarker.OnlyIn; 10 | import javax.annotation.Nullable; 11 | import java.util.List; 12 | 13 | /** 14 | * Created by xt9 on 2018-05-14. 15 | */ 16 | public class ItemGlitchHeart extends ItemBase{ 17 | public ItemGlitchHeart() { 18 | super("glitch_heart", 64); 19 | } 20 | 21 | @OnlyIn(Dist.CLIENT) 22 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 23 | list.add(new TextComponentString("Drops from System Glitches")); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemGlitchIngot.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.util.ITooltipFlag; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.util.text.ITextComponent; 6 | import net.minecraft.util.text.TextComponentString; 7 | import net.minecraft.world.World; 8 | import net.minecraftforge.api.distmarker.Dist; 9 | import net.minecraftforge.api.distmarker.OnlyIn; 10 | import xt9.deepmoblearning.common.Registry; 11 | import xt9.deepmoblearning.common.config.Config; 12 | 13 | import javax.annotation.Nullable; 14 | import java.util.List; 15 | 16 | /** 17 | * Created by xt9 on 2018-05-20. 18 | */ 19 | public class ItemGlitchIngot extends ItemBase { 20 | public ItemGlitchIngot() { 21 | super("glitch_infused_ingot", 64); 22 | } 23 | 24 | @OnlyIn(Dist.CLIENT) 25 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 26 | if(Config.isSootedRedstoneCraftingEnabled) { 27 | list.add(new TextComponentString("Made by stabilizing " + new ItemStack(Registry.glitchFragment).getDisplayName().getFormattedText())); 28 | list.add(new TextComponentString("more info found in JEI or the Guidebook")); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemPolymerClay.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | /** 4 | * Created by xt9 on 2017-06-19. 5 | */ 6 | public class ItemPolymerClay extends ItemBase { 7 | public ItemPolymerClay() { 8 | super("polymer_clay", 64); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemSootedPlate.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | /** 4 | * Created by xt9 on 2017-06-19. 5 | */ 6 | public class ItemSootedPlate extends ItemBase { 7 | public ItemSootedPlate() { 8 | super("soot_covered_plate", 64); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/items/ItemSootedRedstone.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.items; 2 | 3 | import net.minecraft.client.util.ITooltipFlag; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.util.text.ITextComponent; 6 | import net.minecraft.util.text.TextComponentString; 7 | import net.minecraft.world.World; 8 | import net.minecraftforge.api.distmarker.Dist; 9 | import net.minecraftforge.api.distmarker.OnlyIn; 10 | import xt9.deepmoblearning.common.config.Config; 11 | 12 | import javax.annotation.Nullable; 13 | import java.util.List; 14 | 15 | /** 16 | * Created by xt9 on 2017-06-19. 17 | */ 18 | public class ItemSootedRedstone extends ItemBase { 19 | public ItemSootedRedstone() { 20 | super("soot_covered_redstone", 64); 21 | } 22 | 23 | @OnlyIn(Dist.CLIENT) 24 | public void addInformation(ItemStack stack, @Nullable World worldIn, List list, ITooltipFlag flagIn) { 25 | if(Config.isSootedRedstoneCraftingEnabled) { 26 | list.add(new TextComponentString("Crafted by crushing §cRedstone§7 against")); 27 | list.add(new TextComponentString("a §rBlock of Coal§7 (Left click)")); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/materials/GlitchArmorMaterial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.materials; 2 | 3 | import net.minecraft.inventory.EntityEquipmentSlot; 4 | import net.minecraft.item.IArmorMaterial; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraft.item.crafting.Ingredient; 7 | import net.minecraft.util.ResourceLocation; 8 | import net.minecraft.util.SoundEvent; 9 | import xt9.deepmoblearning.DeepConstants; 10 | import xt9.deepmoblearning.common.Registry; 11 | 12 | import javax.annotation.Nonnull; 13 | 14 | /** 15 | * Created by xt9 on 2019-02-20. 16 | */ 17 | public class GlitchArmorMaterial implements IArmorMaterial { 18 | @Nonnull 19 | @Override 20 | public String getName() { 21 | return new ResourceLocation(DeepConstants.MODID, "glitch_infused").toString(); 22 | } 23 | 24 | @Override 25 | public int getDurability(EntityEquipmentSlot entityEquipmentSlot) { 26 | switch (entityEquipmentSlot) { 27 | case FEET: return 400; 28 | case HEAD: return 400; 29 | case LEGS: return 400; 30 | case CHEST: return 400; 31 | default: return 0; 32 | } 33 | } 34 | 35 | @Override 36 | public int getDamageReductionAmount(EntityEquipmentSlot entityEquipmentSlot) { 37 | switch (entityEquipmentSlot) { 38 | case FEET: return 3; 39 | case HEAD: return 3; 40 | case LEGS: return 6; 41 | case CHEST: return 8; 42 | default: return 0; 43 | } 44 | } 45 | 46 | @Override 47 | public float getToughness() { 48 | return 3.0f; 49 | } 50 | 51 | @Override 52 | public int getEnchantability() { 53 | return 15; 54 | } 55 | 56 | @Nonnull 57 | @Override 58 | public SoundEvent getSoundEvent() { 59 | return null; 60 | } 61 | 62 | @Nonnull 63 | @Override 64 | public Ingredient getRepairMaterial() { 65 | return Ingredient.fromStacks(new ItemStack(Registry.glitchInfusedIngot)); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/materials/GlitchToolMaterial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.materials; 2 | 3 | import net.minecraft.item.IItemTier; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.item.crafting.Ingredient; 6 | import xt9.deepmoblearning.common.Registry; 7 | 8 | import javax.annotation.Nonnull; 9 | 10 | /** 11 | * Created by xt9 on 2019-02-20. 12 | */ 13 | public class GlitchToolMaterial implements IItemTier { 14 | @Override 15 | public int getHarvestLevel() { 16 | return 3; 17 | } 18 | 19 | @Override 20 | public int getMaxUses() { 21 | return 2200; 22 | } 23 | 24 | @Override 25 | public float getEfficiency() { 26 | return 3.0f; 27 | } 28 | 29 | @Override 30 | public float getAttackDamage() { 31 | return 9; 32 | } 33 | 34 | @Override 35 | public int getEnchantability() { 36 | return 15; 37 | } 38 | 39 | @Nonnull 40 | @Override 41 | public Ingredient getRepairMaterial() { 42 | return Ingredient.fromStacks(new ItemStack(Registry.glitchInfusedIngot)); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/BlazeMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityBlaze; 4 | import net.minecraft.item.Item; 5 | import net.minecraft.world.World; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-09. 9 | */ 10 | public class BlazeMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Bring buckets, and watch in despair", "as it evaporates, and everything is on fire", "You are on fire"}; 12 | 13 | BlazeMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityBlaze getEntity(World world) { 18 | return new EntityBlaze(world); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/CreeperMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityCreeper; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-12. 9 | */ 10 | public class CreeperMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Will blow up your base if", "left unattended."}; 12 | 13 | CreeperMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityCreeper getEntity(World world) { 18 | return new EntityCreeper(world); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/DragonMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.boss.EntityDragon; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-15. 9 | */ 10 | public class DragonMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Resides in the end, does not harbor treasure", "Destroy its crystals, break the cycle."}; 12 | 13 | DragonMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityDragon getEntity(World world) { 18 | return new EntityDragon(world); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/EndermanMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityEnderman; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-12. 9 | */ 10 | public class EndermanMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Friendly unless provoked, dislikes rain.", "Teleports short distances"}; 12 | 13 | EndermanMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityEnderman getEntity(World world) { 18 | return new EntityEnderman(world); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/GhastMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityGhast; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-15. 9 | */ 10 | public class GhastMeta extends MobMetaData { 11 | static String[] mobTrivia = {"If you hear something that sounds like", "a crying llama, you're probably hearing a ghast"}; 12 | 13 | GhastMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityGhast getEntity(World world) { 18 | return new EntityGhast(world); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/GuardianMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityGuardian; 4 | import net.minecraft.item.Item; 5 | import net.minecraft.world.World; 6 | 7 | /** 8 | * Created by xt9 on 2018-05-05. 9 | */ 10 | public class GuardianMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Lurking in the oceans.", "Uses some sort of sonar beam as", "a means of attack"}; 12 | 13 | GuardianMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | @Override 18 | public EntityGuardian getEntity(World world) { 19 | return new EntityGuardian(world); 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/MobKey.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | /** 4 | * Created by xt9 on 2018-03-25. 5 | * Reference keys for mobs 6 | */ 7 | public class MobKey { 8 | public static final String BLAZE = "blaze"; 9 | public static final String CREEPER = "creeper"; 10 | public static final String DRAGON = "dragon"; 11 | public static final String ENDERMAN = "enderman"; 12 | public static final String GHAST = "ghast"; 13 | public static final String GUARDIAN = "guardian"; 14 | public static final String SHULKER = "shulker"; 15 | public static final String SKELETON = "skeleton"; 16 | public static final String SLIME = "slime"; 17 | public static final String SPIDER = "spider"; 18 | public static final String WITCH = "witch"; 19 | public static final String WITHER = "wither"; 20 | public static final String WITHERSKELETON = "witherskeleton"; 21 | public static final String ZOMBIE = "zombie"; 22 | public static final String TE = "thermalelemental"; 23 | public static final String TWILIGHTFOREST = "twilightforest"; 24 | public static final String TWILIGHTSWAMP = "twilightswamp"; 25 | public static final String TWILIGHTDARKWOOD = "twilightdarkwood"; 26 | public static final String TWILIGHTGLACIER = "twilightglacier"; 27 | public static final String TINKERSLIME = "tinkerslime"; 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/ShulkerMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityShulker; 4 | import net.minecraft.item.Item; 5 | import net.minecraft.world.World; 6 | 7 | /** 8 | * Created by xt9 on 2018-05-05. 9 | */ 10 | public class ShulkerMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Found in End cities", "Sneaky little buggers"}; 12 | 13 | ShulkerMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityShulker getEntity(World world) { 18 | return new EntityShulker(world); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/SkeletonMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntitySkeleton; 5 | import net.minecraft.init.Items; 6 | import net.minecraft.item.*; 7 | import net.minecraft.util.EnumHand; 8 | 9 | /** 10 | * Created by xt9 on 2017-06-09. 11 | */ 12 | public class SkeletonMeta extends MobMetaData { 13 | static String[] mobTrivia = {"A formidable archer, which seem to be running", "some sort of cheat engine", "A shield could prove useful"}; 14 | 15 | SkeletonMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 16 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 17 | } 18 | 19 | public EntitySkeleton getEntity(World world) { 20 | EntitySkeleton entity = new EntitySkeleton(world); 21 | entity.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(Items.BOW)); 22 | return entity; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/SlimeMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntitySlime; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-15. 9 | */ 10 | public class SlimeMeta extends MobMetaData { 11 | static String[] mobTrivia = {"The bounce", "bounce his bounce", "squish - \"A slime haiku\""}; 12 | 13 | SlimeMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntitySlime getEntity(World world) { 18 | return new EntitySlime(world); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/SpiderMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityCaveSpider; 5 | import net.minecraft.entity.monster.EntitySpider; 6 | import net.minecraft.item.Item; 7 | 8 | /** 9 | * Created by xt9 on 2017-06-12. 10 | */ 11 | public class SpiderMeta extends MobMetaData { 12 | static String[] mobTrivia = {"Nocturnal douchebags, beware", "Drops strands of string for some reason.."}; 13 | 14 | SpiderMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 15 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 16 | } 17 | 18 | public EntitySpider getEntity(World world) { 19 | return new EntitySpider(world); 20 | } 21 | 22 | public EntitySpider getExtraEntity(World world) { 23 | return new EntityCaveSpider(world); 24 | } 25 | 26 | public int getExtraInterfaceOffsetX() { 27 | return 5; 28 | } 29 | 30 | public int getExtraInterfaceOffsetY() { 31 | return -25; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/ThermalElementalMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityBlaze; 4 | import net.minecraft.world.World; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-12. 9 | */ 10 | public class ThermalElementalMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Blizzes, Basalz(s) & Blitzes", "Siblings with the Blaze", "Their master really liked words starting with B"}; 12 | 13 | ThermalElementalMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | @Override 18 | public EntityBlaze getEntity(World world) { 19 | return new EntityBlaze(world); 20 | } 21 | 22 | /* public EntityBlizz getEntity(World world) { 23 | return new EntityBlizz(world); 24 | }*/ 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/TinkerSlimeMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntitySlime; 4 | import net.minecraft.item.Item; 5 | import net.minecraft.world.World; 6 | 7 | /** 8 | * Created by xt9 on 2018-03-21. 9 | */ 10 | public class TinkerSlimeMeta extends MobMetaData { 11 | static String[] mobTrivia = {"The elusive blue slime. Seemingly a", "part of some sort of power hierarchy", "since there's a bunch of \"King slimes\" around."}; 12 | 13 | TinkerSlimeMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntitySlime getEntity(World world) { 18 | return new EntitySlime(world); 19 | } 20 | 21 | /* public EntityBlueSlime getEntity(World world) { 22 | return new EntityBlueSlime(world); 23 | }*/ 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/TwilightDarkwoodMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityGhast; 4 | import net.minecraft.world.World; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2018-01-21. 9 | */ 10 | public class TwilightDarkwoodMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Spooky scary strongholds send shivers down", "your spine, the Ur-ghast will shock your", "soul and seal your doom tonight"}; 12 | 13 | TwilightDarkwoodMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | @Override 18 | public EntityGhast getEntity(World world) { 19 | return new EntityGhast(world); 20 | } 21 | 22 | /* public EntityTFUrGhast getEntity(World world) { 23 | return new EntityTFUrGhast(world); 24 | }*/ 25 | 26 | @Override 27 | public String getExtraTooltip() { 28 | return "Gain data by defeating non-vanilla mobs in the Goblin Knight Stronghold and Dark tower"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/TwilightForestMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntitySkeleton; 4 | import net.minecraft.world.World; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2018-01-18. 9 | */ 10 | public class TwilightForestMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Nagas, Liches and flying books", "What the hell have you walked into?"}; 12 | 13 | TwilightForestMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntitySkeleton getEntity(World world) { 18 | return new EntitySkeleton(world); 19 | } 20 | 21 | /* public EntityTFLich getEntity(World world) { 22 | return new EntityTFLich(world); 23 | }*/ 24 | 25 | @Override 26 | public String getExtraTooltip() { 27 | return "Gain data by defeating non-vanilla mobs in the Naga courtyard & Lich tower"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/TwilightGlacierMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.monster.EntityPolarBear; 4 | import net.minecraft.world.World; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2018-01-21. 9 | */ 10 | public class TwilightGlacierMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Here you'll find caves with ancient beasts", "and Elsas wicked distant cousin Aurora", "(Elsa might \"let it go\", but aurora sure won't)"}; 12 | 13 | TwilightGlacierMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | @Override 18 | public EntityPolarBear getEntity(World world) { 19 | return new EntityPolarBear(world); 20 | } 21 | 22 | /* public EntityTFSnowQueen getEntity(World world) { 23 | EntityTFSnowQueen entity = new EntityTFSnowQueen(world); 24 | entity.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(Items.SNOWBALL)); 25 | return entity; 26 | }*/ 27 | 28 | @Override 29 | public String getExtraTooltip() { 30 | return "Gain data by defeating non-vanilla mobs in the Yeti lair and Ice Tower"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/TwilightSwampMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.entity.passive.EntityCow; 4 | import net.minecraft.world.World; 5 | import net.minecraft.item.Item; 6 | 7 | 8 | /** 9 | * Created by xt9 on 2018-01-21. 10 | */ 11 | public class TwilightSwampMeta extends MobMetaData { 12 | static String[] mobTrivia = {"This realm sure could use building regulations", "How are you even allowed to build a huge maze", "in your basement!?"}; 13 | 14 | TwilightSwampMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 15 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 16 | } 17 | 18 | @Override 19 | public EntityCow getEntity(World world) { 20 | return new EntityCow(world); 21 | } 22 | 23 | /* public EntityTFMinoshroom getEntity(World world) { 24 | EntityTFMinoshroom entity = new EntityTFMinoshroom(world); 25 | Item diamondAxe = Item.getByNameOrId("twilightforest:minotaur_axe") != null ? Item.getByNameOrId("twilightforest:minotaur_axe") : Items.DIAMOND_AXE; 26 | entity.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(diamondAxe)); 27 | return entity; 28 | }*/ 29 | 30 | @Override 31 | public String getExtraTooltip() { 32 | return "Gain data by defeating non-vanilla mobs in the Swamp Labyrinth or the Hydra lair."; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/WitchMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityWitch; 5 | import net.minecraft.init.Items; 6 | import net.minecraft.item.Item; 7 | import net.minecraft.item.ItemStack; 8 | import net.minecraft.util.EnumHand; 9 | 10 | /** 11 | * Created by xt9 on 2017-06-12. 12 | */ 13 | public class WitchMeta extends MobMetaData { 14 | static String[] mobTrivia = {"Affinity with potions and concoctions", "Beware!"}; 15 | 16 | WitchMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 17 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 18 | } 19 | 20 | public EntityWitch getEntity(World world) { 21 | EntityWitch entity = new EntityWitch(world); 22 | entity.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(Items.POTION)); 23 | return entity; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/WitherMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.boss.EntityWither; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-10. 9 | */ 10 | public class WitherMeta extends MobMetaData { 11 | static String[] mobTrivia = {"Do not approach this enemy. Run!", "I mean it has 3 heads, what could", "possibly go wrong?"}; 12 | 13 | WitherMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityWither getEntity(World world) { 18 | return new EntityWither(world); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/WitherSkeletonMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityWitherSkeleton; 5 | import net.minecraft.init.Items; 6 | import net.minecraft.item.Item; 7 | import net.minecraft.item.ItemStack; 8 | import net.minecraft.util.EnumHand; 9 | 10 | /** 11 | * Created by xt9 on 2017-06-15. 12 | */ 13 | public class WitherSkeletonMeta extends MobMetaData { 14 | static String[] mobTrivia = {"Inflicts the wither effect", "Bring milk"}; 15 | 16 | WitherSkeletonMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 17 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 18 | } 19 | 20 | public EntityWitherSkeleton getEntity(World world) { 21 | EntityWitherSkeleton entity = new EntityWitherSkeleton(world); 22 | entity.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(Items.STONE_SWORD)); 23 | return entity; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/mobmetas/ZombieMeta.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.mobmetas; 2 | 3 | import net.minecraft.world.World; 4 | import net.minecraft.entity.monster.EntityZombie; 5 | import net.minecraft.item.Item; 6 | 7 | /** 8 | * Created by xt9 on 2017-06-09. 9 | */ 10 | public class ZombieMeta extends MobMetaData { 11 | static String[] mobTrivia = {"They go moan in the night.", "Does not understand the need for", "personal space"}; 12 | 13 | ZombieMeta(String key, String name, String pluralName, int numberOfHearts, int interfaceScale, int interfaceOffsetX, int interfaceOffsetY, Item livingMatter, Item pristineMatter) { 14 | super(key, name, pluralName, numberOfHearts, interfaceScale, interfaceOffsetX, interfaceOffsetY, livingMatter, pristineMatter, mobTrivia); 15 | } 16 | 17 | public EntityZombie getEntity(World world) { 18 | return new EntityZombie(world); 19 | } 20 | 21 | public EntityZombie getExtraEntity(World world) { 22 | EntityZombie childEntity = new EntityZombie(world); 23 | childEntity.setChild(true); 24 | 25 | return childEntity; 26 | } 27 | 28 | public int getExtraInterfaceOffsetX() { 29 | return 21; 30 | } 31 | 32 | public int getExtraInterfaceOffsetY() { 33 | return 6; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/ExtractionChamberChangePageMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.entity.player.EntityPlayerMP; 4 | import net.minecraft.network.PacketBuffer; 5 | import net.minecraftforge.fml.network.NetworkEvent; 6 | import xt9.deepmoblearning.common.inventory.ContainerExtractionChamber; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * Created by xt9 on 2018-01-13. 12 | */ 13 | public class ExtractionChamberChangePageMessage { 14 | private String type; 15 | 16 | public ExtractionChamberChangePageMessage(String type) { 17 | this.type = type; 18 | } 19 | 20 | public static ExtractionChamberChangePageMessage decode(PacketBuffer buf) { 21 | return new ExtractionChamberChangePageMessage(buf.readString(20)); 22 | } 23 | 24 | public static void encode(ExtractionChamberChangePageMessage msg, PacketBuffer buf) { 25 | buf.writeString(msg.type); 26 | } 27 | 28 | public static void handle(ExtractionChamberChangePageMessage message, Supplier ctx) { 29 | ctx.get().enqueueWork(() -> { 30 | EntityPlayerMP player = ctx.get().getSender(); 31 | if (player == null) { 32 | return; 33 | } 34 | 35 | if(player.openContainer instanceof ContainerExtractionChamber) { 36 | ContainerExtractionChamber container = (ContainerExtractionChamber) player.openContainer; 37 | if(message.type.equals("increase")) { 38 | container.tile.pageHandler.increase(); 39 | } else if(message.type.equals("decrease")) { 40 | container.tile.pageHandler.decrease(); 41 | } 42 | 43 | container.tile.updateState(); 44 | } 45 | }); 46 | ctx.get().setPacketHandled(true); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/ExtractorSetSelectedItemMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.entity.player.EntityPlayerMP; 4 | import net.minecraft.network.PacketBuffer; 5 | import net.minecraftforge.fml.network.NetworkEvent; 6 | import xt9.deepmoblearning.common.inventory.ContainerExtractionChamber; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * Created by xt9 on 2018-01-09. 12 | */ 13 | public class ExtractorSetSelectedItemMessage { 14 | private int index; 15 | 16 | public ExtractorSetSelectedItemMessage(int index) { 17 | this.index = index; 18 | } 19 | 20 | public static ExtractorSetSelectedItemMessage decode(PacketBuffer buf) { 21 | return new ExtractorSetSelectedItemMessage(buf.readInt()); 22 | } 23 | 24 | public static void encode(ExtractorSetSelectedItemMessage msg, PacketBuffer buf) { 25 | buf.writeInt(msg.index); 26 | } 27 | 28 | public static void handle(ExtractorSetSelectedItemMessage message, Supplier ctx) { 29 | ctx.get().enqueueWork(() -> { 30 | EntityPlayerMP player = ctx.get().getSender(); 31 | if (player == null) { 32 | return; 33 | } 34 | 35 | if(player.openContainer instanceof ContainerExtractionChamber) { 36 | ContainerExtractionChamber container = (ContainerExtractionChamber) player.openContainer; 37 | 38 | container.tile.finishCraft(true); 39 | container.tile.resultingItem = container.tile.getItemFromList(message.index); 40 | container.tile.updateState(); 41 | } 42 | }); 43 | ctx.get().setPacketHandled(true); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/PlayerOpenDeepLearner.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.entity.player.EntityPlayerMP; 4 | import net.minecraft.item.Item; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraft.network.PacketBuffer; 7 | import net.minecraft.util.EnumHand; 8 | import net.minecraft.world.IInteractionObject; 9 | import net.minecraftforge.fml.network.NetworkEvent; 10 | import net.minecraftforge.fml.network.NetworkHooks; 11 | import xt9.deepmoblearning.common.items.ItemDeepLearner; 12 | 13 | import java.util.function.Supplier; 14 | 15 | /** 16 | * Created by xt9 on 2019-02-23. 17 | */ 18 | public class PlayerOpenDeepLearner { 19 | public PlayerOpenDeepLearner() { 20 | } 21 | 22 | public static PlayerOpenDeepLearner decode(PacketBuffer buf) { 23 | return new PlayerOpenDeepLearner(); 24 | } 25 | 26 | public static void encode(PlayerOpenDeepLearner msg, PacketBuffer buf) {} 27 | 28 | public static void handle(PlayerOpenDeepLearner message, Supplier ctx) { 29 | EntityPlayerMP player = ctx.get().getSender(); 30 | if (player == null) { 31 | return; 32 | } 33 | Item mainHand = player.getHeldItemMainhand().getItem(); 34 | 35 | ItemStack heldItem = mainHand instanceof ItemDeepLearner ? player.getHeldItem(EnumHand.MAIN_HAND) : player.getHeldItem(EnumHand.OFF_HAND); 36 | if(heldItem.getItem() instanceof ItemDeepLearner) { 37 | NetworkHooks.openGui(player, (IInteractionObject) heldItem.getItem(), (buf) -> buf.writeItemStack(heldItem)); 38 | } 39 | ctx.get().setPacketHandled(true); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/RequestKeystoneItemMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.entity.player.EntityPlayerMP; 4 | import net.minecraft.network.PacketBuffer; 5 | import net.minecraft.util.ResourceLocation; 6 | import net.minecraft.util.math.BlockPos; 7 | import net.minecraft.world.World; 8 | import net.minecraft.world.dimension.DimensionType; 9 | import net.minecraftforge.fml.network.NetworkDirection; 10 | import net.minecraftforge.fml.network.NetworkEvent; 11 | import net.minecraftforge.fml.server.ServerLifecycleHooks; 12 | import xt9.deepmoblearning.common.network.Network; 13 | import xt9.deepmoblearning.common.tiles.TileEntityTrialKeystone; 14 | 15 | import javax.annotation.Nullable; 16 | import java.util.function.Supplier; 17 | 18 | /** 19 | * Created by xt9 on 2018-03-31. 20 | */ 21 | public class RequestKeystoneItemMessage { 22 | private BlockPos pos; 23 | private int dimension; 24 | 25 | public RequestKeystoneItemMessage(BlockPos pos, int dimension) { 26 | this.pos = pos; 27 | this.dimension = dimension; 28 | } 29 | 30 | public static RequestKeystoneItemMessage decode(PacketBuffer buf) { 31 | return new RequestKeystoneItemMessage(buf.readBlockPos(), buf.readInt()); 32 | } 33 | 34 | public static void encode(RequestKeystoneItemMessage msg, PacketBuffer buf) { 35 | buf.writeBlockPos(msg.pos); 36 | buf.writeInt(msg.dimension); 37 | } 38 | 39 | public static void handle(RequestKeystoneItemMessage message, Supplier ctx) { 40 | EntityPlayerMP player = ctx.get().getSender(); 41 | if (player == null) { 42 | return; 43 | } 44 | 45 | DimensionType dimensionType = DimensionType.getById(message.dimension); 46 | 47 | if(dimensionType != null) { 48 | World world = ServerLifecycleHooks.getCurrentServer().getWorld(dimensionType); 49 | TileEntityTrialKeystone te = (TileEntityTrialKeystone) world.getTileEntity(message.pos); 50 | if (te != null) { 51 | ctx.get().enqueueWork(() -> Network.channel.sendTo(new UpdateKeystoneItemMessage(te.getPos(), te.trialKey.getStackInSlot(0)), player.connection.netManager, NetworkDirection.PLAY_TO_CLIENT)); 52 | } 53 | } 54 | ctx.get().setPacketHandled(true); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/TrialStartMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.entity.player.EntityPlayerMP; 4 | import net.minecraft.network.PacketBuffer; 5 | import net.minecraftforge.fml.network.NetworkEvent; 6 | import xt9.deepmoblearning.common.inventory.ContainerTrialKeystone; 7 | 8 | import java.util.function.Supplier; 9 | 10 | /** 11 | * Created by xt9 on 2018-03-24. 12 | */ 13 | public class TrialStartMessage { 14 | public TrialStartMessage() {} 15 | 16 | public static TrialStartMessage decode(PacketBuffer buf) { 17 | return new TrialStartMessage(); 18 | } 19 | 20 | public static void encode(TrialStartMessage msg, PacketBuffer buf) {} 21 | 22 | public static void handle(TrialStartMessage message, Supplier ctx) { 23 | EntityPlayerMP player = ctx.get().getSender(); 24 | if (player == null) { 25 | return; 26 | } 27 | 28 | ctx.get().enqueueWork(() -> { 29 | if(player.openContainer instanceof ContainerTrialKeystone) { 30 | ContainerTrialKeystone container = (ContainerTrialKeystone) player.openContainer; 31 | container.tile.startTrial(); 32 | } 33 | }); 34 | ctx.get().setPacketHandled(true); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/UpdateKeystoneItemMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.item.ItemStack; 5 | import net.minecraft.network.PacketBuffer; 6 | import net.minecraft.util.math.BlockPos; 7 | import net.minecraftforge.fml.network.NetworkEvent; 8 | import xt9.deepmoblearning.common.tiles.TileEntityTrialKeystone; 9 | 10 | import java.util.function.Supplier; 11 | 12 | /** 13 | * Created by xt9 on 2018-03-31. 14 | */ 15 | public class UpdateKeystoneItemMessage { 16 | private BlockPos pos; 17 | private ItemStack stack; 18 | 19 | public UpdateKeystoneItemMessage(BlockPos pos, ItemStack stack) { 20 | this.pos = pos; 21 | this.stack = stack; 22 | } 23 | 24 | public static UpdateKeystoneItemMessage decode(PacketBuffer buf) { 25 | return new UpdateKeystoneItemMessage(buf.readBlockPos(), buf.readItemStack()); 26 | } 27 | 28 | public static void encode(UpdateKeystoneItemMessage msg, PacketBuffer buf) { 29 | buf.writeBlockPos(msg.pos); 30 | buf.writeItemStack(msg.stack); 31 | } 32 | 33 | public static void handle(UpdateKeystoneItemMessage message, Supplier ctx) { 34 | ctx.get().enqueueWork(() -> { 35 | TileEntityTrialKeystone te = (TileEntityTrialKeystone) Minecraft.getInstance().world.getTileEntity(message.pos); 36 | 37 | if (te != null) { 38 | te.trialKey.setStackInSlot(0, message.stack); 39 | } 40 | }); 41 | ctx.get().setPacketHandled(true); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/UpdatePlayerTrialCapabilityMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.client.Minecraft; 4 | import net.minecraft.nbt.NBTTagCompound; 5 | import net.minecraft.network.PacketBuffer; 6 | import net.minecraftforge.fml.network.NetworkEvent; 7 | import xt9.deepmoblearning.DeepMobLearning; 8 | import xt9.deepmoblearning.common.capabilities.PlayerTrial; 9 | 10 | import java.util.function.Supplier; 11 | 12 | /** 13 | * Created by xt9 on 2018-04-07. 14 | */ 15 | public class UpdatePlayerTrialCapabilityMessage { 16 | private NBTTagCompound compound; 17 | 18 | public UpdatePlayerTrialCapabilityMessage(NBTTagCompound compound) { 19 | this.compound = compound; 20 | } 21 | 22 | public static UpdatePlayerTrialCapabilityMessage decode(PacketBuffer buf) { 23 | return new UpdatePlayerTrialCapabilityMessage(buf.readCompoundTag()); 24 | } 25 | 26 | public static void encode(UpdatePlayerTrialCapabilityMessage msg, PacketBuffer buf) { 27 | buf.writeCompoundTag(msg.compound); 28 | } 29 | 30 | public static void handle(UpdatePlayerTrialCapabilityMessage message, Supplier ctx) { 31 | PlayerTrial clientCapability = DeepMobLearning.proxy.getTrialCapability(Minecraft.getInstance().player); 32 | ctx.get().enqueueWork(() -> clientCapability.read(message.compound)); 33 | ctx.get().setPacketHandled(true); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/network/messages/UpdateTrialOverlayMessage.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.network.messages; 2 | 3 | import net.minecraft.network.PacketBuffer; 4 | import net.minecraftforge.fml.network.NetworkEvent; 5 | import xt9.deepmoblearning.client.gui.TrialOverlay; 6 | 7 | import java.util.function.Supplier; 8 | 9 | /** 10 | * Created by xt9 on 2018-04-13. 11 | */ 12 | public class UpdateTrialOverlayMessage { 13 | private String type; 14 | 15 | public UpdateTrialOverlayMessage(String type) { 16 | this.type = type; 17 | } 18 | 19 | 20 | public static UpdateTrialOverlayMessage decode(PacketBuffer buf) { 21 | return new UpdateTrialOverlayMessage(buf.readString(20)); 22 | } 23 | 24 | public static void encode(UpdateTrialOverlayMessage msg, PacketBuffer buf) { 25 | buf.writeString(msg.type); 26 | } 27 | 28 | 29 | public static void handle(UpdateTrialOverlayMessage message, Supplier ctx) { 30 | ctx.get().enqueueWork(() -> TrialOverlay.handleMessage(message.type)); 31 | ctx.get().setPacketHandled(true); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/proxy/IProxy.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.proxy; 2 | 3 | import net.minecraft.client.renderer.ItemRenderer; 4 | import net.minecraft.entity.player.EntityPlayer; 5 | import net.minecraft.inventory.Container; 6 | import net.minecraft.inventory.EntityEquipmentSlot; 7 | import net.minecraft.util.math.BlockPos; 8 | import net.minecraft.world.World; 9 | import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; 10 | import xt9.deepmoblearning.common.capabilities.PlayerTrial; 11 | 12 | /** 13 | * Created by xt9 on 2019-02-17. 14 | */ 15 | public interface IProxy { 16 | // 1.13 17 | void setup(FMLCommonSetupEvent event); 18 | PlayerTrial getTrialCapability(EntityPlayer player); 19 | void spawnGlitchParticle(World world, double x, double y, double z, double mx, double my, double mz); 20 | void spawnSmokeParticle(World world, double x, double y, double z, double mx, double my, double mz, String type); 21 | ItemRenderer getClientItemRenderer(); 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/EndermanTrial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.player.EntityPlayerMP; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraft.util.NonNullList; 7 | import net.minecraft.world.World; 8 | import xt9.deepmoblearning.common.entity.EntityTrialEnderman; 9 | 10 | /** 11 | * Created by xt9 on 2018-04-05. 12 | */ 13 | public class EndermanTrial extends Trial { 14 | public EndermanTrial(String mobKey, int[] mobsPerWave) { 15 | super(mobKey, mobsPerWave); 16 | } 17 | 18 | @Override 19 | public double getSpawnDelay() { 20 | return 2.6; 21 | } 22 | 23 | @Override 24 | public EntityLiving getTrialPrimaryEntity(World world) { 25 | return new EntityTrialEnderman(world); 26 | } 27 | 28 | @Override 29 | public NonNullList getTrialRewards(int tier) { 30 | NonNullList rewards = NonNullList.create(); 31 | ItemStack pristine = data.getPristineMatterStack(1); 32 | 33 | switch(tier) { 34 | case 0: pristine.setCount(2); break; 35 | case 1: pristine.setCount(3); break; 36 | case 2: pristine.setCount(4); break; 37 | case 3: pristine.setCount(7); break; 38 | case 4: pristine.setCount(12); break; 39 | } 40 | 41 | rewards.add(pristine); 42 | return rewards; 43 | } 44 | } -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/SlimeTrial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.player.EntityPlayerMP; 5 | import net.minecraft.item.ItemStack; 6 | import net.minecraft.util.NonNullList; 7 | import net.minecraft.world.World; 8 | import xt9.deepmoblearning.common.entity.EntityTrialSlime; 9 | 10 | /** 11 | * Created by xt9 on 2018-05-02. 12 | */ 13 | public class SlimeTrial extends Trial { 14 | public SlimeTrial(String mobKey, int[] mobsPerWave) { 15 | super(mobKey, mobsPerWave); 16 | } 17 | 18 | @Override 19 | public double getSpawnDelay() { 20 | return 1.6; 21 | } 22 | 23 | @Override 24 | public EntityLiving getTrialPrimaryEntity(World world) { 25 | return new EntityTrialSlime(world); 26 | } 27 | 28 | @Override 29 | public NonNullList getTrialRewards(int tier) { 30 | NonNullList rewards = NonNullList.create(); 31 | ItemStack pristine = data.getPristineMatterStack(1); 32 | 33 | switch(tier) { 34 | case 0: pristine.setCount(3); break; 35 | case 1: pristine.setCount(5); break; 36 | case 2: pristine.setCount(9); break; 37 | case 3: pristine.setCount(12); break; 38 | case 4: pristine.setCount(18); break; 39 | } 40 | 41 | rewards.add(pristine); 42 | return rewards; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/SpiderTrial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.monster.EntitySpider; 5 | import net.minecraft.entity.player.EntityPlayerMP; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.util.NonNullList; 8 | import net.minecraft.world.World; 9 | import xt9.deepmoblearning.common.entity.EntityTrialCaveSpider; 10 | import xt9.deepmoblearning.common.entity.EntityTrialSpider; 11 | 12 | import java.util.concurrent.ThreadLocalRandom; 13 | 14 | /** 15 | * Created by xt9 on 2018-05-02. 16 | */ 17 | public class SpiderTrial extends Trial { 18 | public SpiderTrial(String mobKey, int[] mobsPerWave) { 19 | super(mobKey, mobsPerWave); 20 | } 21 | 22 | @Override 23 | public EntityLiving getTrialPrimaryEntity(World world) { 24 | return getRandomSpider(world); 25 | } 26 | 27 | private EntitySpider getRandomSpider(World world) { 28 | int rand = ThreadLocalRandom.current().nextInt(1, 100); 29 | if(rand > 88) { 30 | return new EntityTrialCaveSpider(world); 31 | } else { 32 | return new EntityTrialSpider(world); 33 | } 34 | } 35 | 36 | @Override 37 | public NonNullList getTrialRewards(int tier) { 38 | NonNullList rewards = NonNullList.create(); 39 | ItemStack pristine = data.getPristineMatterStack(1); 40 | 41 | switch(tier) { 42 | case 0: pristine.setCount(3); break; 43 | case 1: pristine.setCount(5); break; 44 | case 2: pristine.setCount(9); break; 45 | case 3: pristine.setCount(12); break; 46 | case 4: pristine.setCount(18); break; 47 | } 48 | 49 | rewards.add(pristine); 50 | return rewards; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/Trial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | 4 | import net.minecraft.entity.EntityLiving; 5 | import net.minecraft.entity.player.EntityPlayerMP; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.util.NonNullList; 8 | import net.minecraft.world.World; 9 | import xt9.deepmoblearning.common.mobmetas.MobMetaData; 10 | import xt9.deepmoblearning.common.mobmetas.MobMetaFactory; 11 | 12 | /** 13 | * Created by xt9 on 2018-03-27. 14 | */ 15 | public abstract class Trial { 16 | protected String mobKey; 17 | protected MobMetaData data; 18 | protected int[] mobsPerWave; 19 | 20 | public Trial(String mobKey, int[] mobsPerWave) { 21 | this.mobKey = mobKey; 22 | this.data = MobMetaFactory.createMobMetaData(mobKey); 23 | this.mobsPerWave = mobsPerWave; 24 | } 25 | 26 | public String getMobKey() { 27 | return mobKey; 28 | } 29 | 30 | public int getMobCountForWave(int wave) { 31 | if(wave > mobsPerWave.length - 1) { 32 | return 0; 33 | } else { 34 | return mobsPerWave[wave]; 35 | } 36 | } 37 | 38 | public MobMetaData getData() { 39 | return data; 40 | } 41 | 42 | public abstract EntityLiving getTrialPrimaryEntity(World world); 43 | public abstract NonNullList getTrialRewards(int tier); 44 | 45 | public double getSpawnDelay() { 46 | return 2; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/TrialRuleset.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.world.World; 4 | import xt9.deepmoblearning.common.entity.EntityGlitch; 5 | 6 | /** 7 | * Created by xt9 on 2018-03-27. 8 | */ 9 | public class TrialRuleset { 10 | public static int getNumberOfAffixesPerTier(int tier) { 11 | switch(tier) { 12 | case 0: return 0; 13 | case 1: return 1; 14 | case 2: return 1; 15 | case 3: return 2; 16 | case 4: return 3; 17 | default: return 0; 18 | } 19 | } 20 | 21 | public static int getMaxWaveFromTier(int tier) { 22 | switch(tier) { 23 | case 0: return 1; 24 | case 1: return 2; 25 | case 2: return 4; 26 | case 3: return 5; 27 | case 4: return 7; 28 | default: return 1; 29 | } 30 | } 31 | 32 | public static int getGlitchSpawnChance(int tier) { 33 | switch(tier) { 34 | case 0: return 0; 35 | case 1: return 1; 36 | case 2: return 3; 37 | case 3: return 6; 38 | case 4: return 11; 39 | default: return 0; 40 | } 41 | } 42 | 43 | /* Get a Glitch entity */ 44 | public static EntityGlitch getGlitch(World world) { 45 | return new EntityGlitch(world); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/WitchTrial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.monster.EntityWitch; 5 | import net.minecraft.entity.player.EntityPlayerMP; 6 | import net.minecraft.item.ItemStack; 7 | import net.minecraft.util.NonNullList; 8 | import net.minecraft.world.World; 9 | 10 | /** 11 | * Created by xt9 on 2018-04-15. 12 | */ 13 | public class WitchTrial extends Trial { 14 | public WitchTrial(String mobKey, int[] mobsPerWave) { 15 | super(mobKey, mobsPerWave); 16 | } 17 | 18 | @Override 19 | public EntityLiving getTrialPrimaryEntity(World world) { 20 | return new EntityWitch(world); 21 | } 22 | 23 | @Override 24 | public NonNullList getTrialRewards(int tier) { 25 | NonNullList rewards = NonNullList.create(); 26 | ItemStack pristine = data.getPristineMatterStack(1); 27 | 28 | switch(tier) { 29 | case 0: pristine.setCount(2); break; 30 | case 1: pristine.setCount(3); break; 31 | case 2: pristine.setCount(7); break; 32 | case 3: pristine.setCount(10); break; 33 | case 4: pristine.setCount(16); break; 34 | } 35 | 36 | rewards.add(pristine); 37 | return rewards; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/WitherSkeletonTrial.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.monster.EntityWitherSkeleton; 5 | import net.minecraft.entity.player.EntityPlayerMP; 6 | import net.minecraft.init.Items; 7 | import net.minecraft.item.ItemStack; 8 | import net.minecraft.util.EnumHand; 9 | import net.minecraft.util.NonNullList; 10 | import net.minecraft.world.World; 11 | 12 | /** 13 | * Created by xt9 on 2018-05-03. 14 | */ 15 | public class WitherSkeletonTrial extends Trial { 16 | public WitherSkeletonTrial(String mobKey, int[] mobsPerWave) { 17 | super(mobKey, mobsPerWave); 18 | } 19 | 20 | @Override 21 | public double getSpawnDelay() { 22 | return 3.2; 23 | } 24 | 25 | @Override 26 | public EntityLiving getTrialPrimaryEntity(World world) { 27 | EntityWitherSkeleton e = new EntityWitherSkeleton(world); 28 | e.setHeldItem(EnumHand.MAIN_HAND, new ItemStack(Items.STONE_SWORD)); 29 | return e; 30 | } 31 | 32 | @Override 33 | public NonNullList getTrialRewards(int tier) { 34 | NonNullList rewards = NonNullList.create(); 35 | ItemStack pristine = data.getPristineMatterStack(1); 36 | 37 | switch(tier) { 38 | case 0: pristine.setCount(2); break; 39 | case 1: pristine.setCount(3); break; 40 | case 2: pristine.setCount(5); break; 41 | case 3: pristine.setCount(7); break; 42 | case 4: pristine.setCount(10); break; 43 | } 44 | 45 | rewards.add(pristine); 46 | return rewards; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/BlazeInvadersAffix.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.monster.EntityBlaze; 5 | import net.minecraft.util.math.BlockPos; 6 | import net.minecraft.world.World; 7 | import xt9.deepmoblearning.DeepConstants; 8 | import xt9.deepmoblearning.common.entity.EntityGlitch; 9 | import java.util.concurrent.ThreadLocalRandom; 10 | 11 | /** 12 | * Created by xt9 on 2018-04-25. 13 | */ 14 | public class BlazeInvadersAffix implements ITrialAffix { 15 | private BlockPos pos; 16 | private World world; 17 | private int ticks = 0; 18 | 19 | public BlazeInvadersAffix() { 20 | this.pos = new BlockPos(0, 0, 0); 21 | this.world = null; 22 | } 23 | 24 | public BlazeInvadersAffix(BlockPos pos, World world) { 25 | this.pos = pos; 26 | this.world = world; 27 | } 28 | 29 | 30 | @Override 31 | public void apply(EntityLiving entity) { 32 | 33 | } 34 | 35 | @Override 36 | public void applyToGlitch(EntityGlitch entity) { 37 | 38 | } 39 | 40 | @Override 41 | public void run() { 42 | ticks++; 43 | // Once every 15 seconds 34% chance 44 | if(ticks % (DeepConstants.TICKS_TO_SECOND * 15) == 0) { 45 | if(ThreadLocalRandom.current().nextInt(1, 100) > 66) { 46 | EntityBlaze blaze = new EntityBlaze(world); 47 | 48 | int randomX = pos.getX() + ThreadLocalRandom.current().nextInt(-5, 5); 49 | int randomY = pos.getY() + ThreadLocalRandom.current().nextInt(0, 1); 50 | int randomZ = pos.getZ() + ThreadLocalRandom.current().nextInt(-5, 5); 51 | blaze.setLocationAndAngles(randomX, randomY, randomZ, 0, 0); 52 | 53 | world.spawnEntity(blaze); 54 | } 55 | ticks = 0; 56 | } 57 | } 58 | 59 | @Override 60 | public String getAffixName() { 61 | return "Blaze Invaders"; 62 | } 63 | 64 | @Override 65 | public String getAffixNameWithFormatting() { 66 | return "§c"+getAffixName()+"§r"; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/EmpoweredGlitchAffix.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.SharedMonsterAttributes; 5 | import net.minecraft.entity.ai.attributes.AttributeModifier; 6 | import net.minecraft.entity.ai.attributes.IAttributeInstance; 7 | import xt9.deepmoblearning.DeepConstants; 8 | import xt9.deepmoblearning.common.entity.EntityGlitch; 9 | 10 | /** 11 | * Created by xt9 on 2018-04-21. 12 | */ 13 | @SuppressWarnings("ConstantConditions") 14 | public class EmpoweredGlitchAffix implements ITrialAffix { 15 | @Override 16 | public void apply(EntityLiving entity) { 17 | 18 | } 19 | 20 | @Override 21 | public void applyToGlitch(EntityGlitch entity) { 22 | entity.setEmpowered(true); 23 | IAttributeInstance health = entity.getAttribute(SharedMonsterAttributes.MAX_HEALTH); 24 | 25 | AttributeModifier healthMod = new AttributeModifier(DeepConstants.MODID + ".ATTRIBUTE_MAX_HEALTH", 10, 0); 26 | health.applyModifier(healthMod); 27 | entity.setHealth(entity.getMaxHealth()); 28 | } 29 | 30 | @Override 31 | public void run() { 32 | 33 | } 34 | 35 | @Override 36 | public String getAffixName() { 37 | return "Empowered Glitches"; 38 | } 39 | 40 | @Override 41 | public String getAffixNameWithFormatting() { 42 | return "§3"+getAffixName()+"§r"; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/ITrialAffix.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import xt9.deepmoblearning.common.entity.EntityGlitch; 5 | 6 | /** 7 | * Created by xt9 on 2018-04-21. 8 | */ 9 | public interface ITrialAffix { 10 | void apply(EntityLiving entity); 11 | void applyToGlitch(EntityGlitch entity); 12 | // Run will run every update tick from the Trial Keystone, it's up to the implementing class to stagger this to avoid performance issues. 13 | void run(); 14 | String getAffixName(); 15 | String getAffixNameWithFormatting(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/KnockbackImmuneAffix.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.entity.SharedMonsterAttributes; 5 | import net.minecraft.entity.ai.attributes.AttributeModifier; 6 | import net.minecraft.entity.ai.attributes.IAttributeInstance; 7 | import xt9.deepmoblearning.DeepConstants; 8 | import xt9.deepmoblearning.common.entity.EntityGlitch; 9 | 10 | /** 11 | * Created by xt9 on 2018-04-25. 12 | */ 13 | public class KnockbackImmuneAffix implements ITrialAffix { 14 | @Override 15 | public void apply(EntityLiving entity) { 16 | IAttributeInstance knockbackResist = entity.getAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE); 17 | AttributeModifier knockbackMod = new AttributeModifier(DeepConstants.MODID + ".ATTRIBUTE_KNOCKBACKRESIST", 1, 0); 18 | knockbackResist.applyModifier(knockbackMod); 19 | } 20 | 21 | @Override 22 | public void applyToGlitch(EntityGlitch entity) { 23 | 24 | } 25 | 26 | @Override 27 | public void run() { 28 | 29 | } 30 | 31 | @Override 32 | public String getAffixName() { 33 | return "Knockback Immunity"; 34 | } 35 | 36 | @Override 37 | public String getAffixNameWithFormatting() { 38 | return "§8"+getAffixName()+"§r"; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/SpeedAffix.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.entity.EntityLiving; 4 | import net.minecraft.init.PotionTypes; 5 | import net.minecraft.potion.Potion; 6 | import net.minecraft.potion.PotionEffect; 7 | import net.minecraft.potion.PotionType; 8 | import net.minecraft.util.ResourceLocation; 9 | import net.minecraftforge.registries.ForgeRegistries; 10 | import xt9.deepmoblearning.common.entity.EntityGlitch; 11 | 12 | /** 13 | * Created by xt9 on 2018-04-21. 14 | */ 15 | @SuppressWarnings("ConstantConditions") 16 | public class SpeedAffix implements ITrialAffix { 17 | // @todo 1.13 see if this resource location is correct 18 | private PotionEffect effect = new PotionEffect(ForgeRegistries.POTIONS.getValue(new ResourceLocation("minecraft:speed")), Integer.MAX_VALUE, 0); 19 | 20 | @Override 21 | public void apply(EntityLiving entity) { 22 | entity.addPotionEffect(effect); 23 | } 24 | 25 | @Override 26 | public void applyToGlitch(EntityGlitch entity) {} 27 | 28 | @Override 29 | public void run() {} 30 | 31 | @Override 32 | public String getAffixName() { 33 | return "Speed"; 34 | } 35 | 36 | @Override 37 | public String getAffixNameWithFormatting() { 38 | return "§b"+getAffixName()+"§r"; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/TrialAffixFactory.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.util.NonNullList; 4 | import net.minecraft.util.math.BlockPos; 5 | import net.minecraft.world.World; 6 | 7 | /** 8 | * Created by xt9 on 2018-04-21. 9 | */ 10 | public class TrialAffixFactory { 11 | public static ITrialAffix createAffix(String key, BlockPos pos, World world) { 12 | ITrialAffix trial = new SpeedAffix(); 13 | 14 | if(key.equals(TrialAffixKey.SPEED)) { 15 | trial = new SpeedAffix(); 16 | }else if(key.equals(TrialAffixKey.REGEN_PARTY)) { 17 | trial = new RegenPartyAffix(pos, world); 18 | } else if(key.equals(TrialAffixKey.EMPOWERED_GLITCHES)) { 19 | trial = new EmpoweredGlitchAffix(); 20 | } else if(key.equals(TrialAffixKey.KNOCKBACK_IMMUNITY)) { 21 | trial = new KnockbackImmuneAffix(); 22 | } else if(key.equals(TrialAffixKey.BLAZE_INVADERS)) { 23 | trial = new BlazeInvadersAffix(pos, world); 24 | } else if(key.equals(TrialAffixKey.LOOT_HOARDERS)) { 25 | trial = new LootHoarderAffix(pos, world); 26 | } else if(key.equals(TrialAffixKey.THUNDERDOME)) { 27 | trial = new ThunderDomeAffix(pos, world); 28 | } 29 | 30 | return trial; 31 | } 32 | 33 | public static NonNullList getAllAffixes() { 34 | NonNullList affixes = NonNullList.create(); 35 | affixes.add(new SpeedAffix()); 36 | affixes.add(new RegenPartyAffix()); 37 | affixes.add(new EmpoweredGlitchAffix()); 38 | affixes.add(new KnockbackImmuneAffix()); 39 | affixes.add(new BlazeInvadersAffix()); 40 | affixes.add(new LootHoarderAffix()); 41 | affixes.add(new ThunderDomeAffix()); 42 | return affixes; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/trials/affix/TrialAffixKey.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.trials.affix; 2 | 3 | import net.minecraft.util.NonNullList; 4 | import java.util.Random; 5 | 6 | /** 7 | * Created by xt9 on 2018-04-21. 8 | */ 9 | public class TrialAffixKey { 10 | public static final String SPEED = "speed"; 11 | public static final String REGEN_PARTY = "regen_party"; 12 | public static final String EMPOWERED_GLITCHES = "empowered_glitches"; 13 | public static final String KNOCKBACK_IMMUNITY = "knockback_immunity"; 14 | public static final String BLAZE_INVADERS = "blaze_invaders"; 15 | public static final String LOOT_HOARDERS = "loot_hoarders"; 16 | public static final String THUNDERDOME = "thunderdome"; 17 | 18 | public static String getRandomKey(NonNullList excluding) { 19 | String[] keyList = {SPEED, REGEN_PARTY, EMPOWERED_GLITCHES, KNOCKBACK_IMMUNITY, BLAZE_INVADERS, LOOT_HOARDERS, THUNDERDOME}; 20 | 21 | String key = keyList[new Random().nextInt(keyList.length)]; 22 | boolean keyIsExcluded = excluding.contains(key); 23 | int length = keyList.length; 24 | 25 | if(excluding.size() >= length) { 26 | return null; 27 | } 28 | 29 | while (keyIsExcluded) { 30 | key = keyList[new Random().nextInt(keyList.length)]; 31 | if(!excluding.contains(key)) { 32 | keyIsExcluded = false; 33 | } 34 | } 35 | 36 | return key; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/Animation.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | /** 4 | * Created by xt9 on 2017-06-17. 5 | */ 6 | public class Animation { 7 | private boolean hasStarted = false; 8 | private int renderPos = 0; 9 | private int renderStop = 0; 10 | private int currentTick = 0; 11 | private long lastAlterTick = 0; 12 | private String currentString = ""; 13 | 14 | public String animate(String string, int totalTickTime, long currentWorldTick, boolean loop) { 15 | if(lastAlterTick != currentWorldTick) { 16 | alterString(string, totalTickTime, loop); 17 | lastAlterTick = currentWorldTick; 18 | } 19 | 20 | return currentString; 21 | } 22 | 23 | public void alterString(String string, int totalTickTime, boolean loop) { 24 | if(!hasStarted) { 25 | this.hasStarted = true; 26 | this.renderPos = 0; 27 | this.renderStop = string.length(); 28 | } else { 29 | currentTick++; 30 | if(renderPos < renderStop) { 31 | if(renderPos >= 0) { 32 | this.currentString = string.substring(0, renderPos); 33 | } 34 | this.renderPos = currentTick % totalTickTime == 0 ? renderPos + 1 : renderPos; 35 | } else { 36 | if(loop) { 37 | this.hasStarted = currentTick % totalTickTime != 0; 38 | } 39 | this.currentString = string; 40 | } 41 | } 42 | } 43 | 44 | public boolean hasFinished() { 45 | return renderPos == renderStop && renderStop != 0; 46 | } 47 | 48 | public void clear() { 49 | this.currentString = ""; 50 | this.hasStarted = false; 51 | this.renderPos = 0; 52 | this.renderStop = 0; 53 | this.currentTick = 0; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/BlockDistance.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | import net.minecraft.util.math.BlockPos; 4 | 5 | /** 6 | * Created by xt9 on 2019-01-05. 7 | */ 8 | public class BlockDistance { 9 | 10 | /* Maths: http://www.meracalculator.com/math/distance-between-2-points(3-dim).php */ 11 | public static double getBlockDistance(BlockPos pos, BlockPos pos2) { 12 | double x = Math.pow((pos.getX() - pos2.getX()), 2); 13 | double y = Math.pow((pos.getY() - pos2.getY()), 2); 14 | double z = Math.pow((pos.getZ() - pos2.getZ()), 2); 15 | 16 | return Math.sqrt(x + y + z); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/Color.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | /** 4 | * Created by xt9 on 2018-05-26. 5 | */ 6 | public class Color { 7 | public static final int AQUA = 0x62D8FF; 8 | public static final int WHITE = 0xFFFFFF; 9 | public static final int LIME = 0x00FFC0; 10 | public static final int BRIGHT_LIME = 0x33EFDC; 11 | public static final int BRIGHT_PURPLE = 0xC768DB; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/KeyboardHelper.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | import net.minecraft.client.util.InputMappings; 4 | import net.minecraftforge.api.distmarker.Dist; 5 | import net.minecraftforge.api.distmarker.OnlyIn; 6 | import org.lwjgl.glfw.GLFW; 7 | 8 | 9 | /** 10 | * Created by xt9 on 2017-06-13. 11 | */ 12 | public class KeyboardHelper { 13 | 14 | @OnlyIn(Dist.CLIENT) 15 | public static boolean isHoldingShift() { 16 | return InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_SHIFT) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_SHIFT); 17 | } 18 | 19 | @OnlyIn(Dist.CLIENT) 20 | public static boolean isHoldingCTRL() { 21 | return InputMappings.isKeyDown(GLFW.GLFW_KEY_LEFT_CONTROL) || InputMappings.isKeyDown(GLFW.GLFW_KEY_RIGHT_CONTROL); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/MathHelper.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | /** 4 | * Created by xt9 on 2017-06-13. 5 | */ 6 | public class MathHelper { 7 | public static int ensureRange(int value, int min, int max) { 8 | return java.lang.Math.min(java.lang.Math.max(value, min), max); 9 | } 10 | 11 | public static boolean inRange(int value, int min, int max) { 12 | return (value>= min) && (value<= max); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/Pagination.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | import net.minecraft.nbt.NBTTagCompound; 4 | 5 | /** 6 | * Created by xt9 on 2018-01-10. 7 | */ 8 | public class Pagination { 9 | private int currentPageIndex; 10 | private int lastPageIndex; 11 | private int itemsPerpage; 12 | 13 | public Pagination(int currentPageIndex, int listSize, int itemsPerPage) { 14 | this.currentPageIndex = currentPageIndex; 15 | this.itemsPerpage = itemsPerPage; 16 | this.lastPageIndex = getPageSize(listSize); 17 | } 18 | 19 | public void setCurrentPageIndex(int index) { 20 | currentPageIndex = index; 21 | } 22 | 23 | public int getCurrentPageIndex() { 24 | return currentPageIndex; 25 | } 26 | 27 | public int getFirstPageIndex() { 28 | return 0; 29 | } 30 | 31 | public int getLastPageIndex() { 32 | return lastPageIndex; 33 | } 34 | 35 | public void decrease() { 36 | if((getCurrentPageIndex() - 1) != -1) { 37 | setCurrentPageIndex(getCurrentPageIndex() - 1); 38 | } 39 | } 40 | 41 | public void increase() { 42 | if((getCurrentPageIndex() + 1) != (getLastPageIndex() + 1)) { 43 | setCurrentPageIndex(getCurrentPageIndex() + 1); 44 | } 45 | } 46 | 47 | public int getPageSize(int listSize) { 48 | int pageSize = listSize / itemsPerpage; 49 | int r = listSize % itemsPerpage; 50 | pageSize = r > 0 ? pageSize + 1 : pageSize; 51 | 52 | return pageSize > 0 ? pageSize - 1 : 0; 53 | } 54 | 55 | public void update(int currentPage, int newSize) { 56 | currentPageIndex = currentPage; 57 | lastPageIndex = getPageSize(newSize); 58 | } 59 | 60 | public NBTTagCompound serializeNBT() { 61 | NBTTagCompound nbt = new NBTTagCompound(); 62 | nbt.setInt("currentPageIndex", currentPageIndex); 63 | nbt.setInt("lastPageIndex", lastPageIndex); 64 | return nbt; 65 | } 66 | 67 | public void deserializeNBT(NBTTagCompound nbt) { 68 | currentPageIndex = nbt.getInt("currentPageIndex"); 69 | lastPageIndex = nbt.getInt("lastPageIndex"); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/xt9/deepmoblearning/common/util/Tier.java: -------------------------------------------------------------------------------- 1 | package xt9.deepmoblearning.common.util; 2 | 3 | import xt9.deepmoblearning.common.config.Config; 4 | 5 | /** 6 | * Created by xt9 on 2018-03-25. 7 | * DataModel tiers, used for datamodels & TileEntityRelation keys 8 | */ 9 | public class Tier { 10 | public static int getPristineChance(int tier) { 11 | switch(tier) { 12 | case 0: return 0; 13 | case 1: return Config.pristineChance.get("tier1"); 14 | case 2: return Config.pristineChance.get("tier2"); 15 | case 3: return Config.pristineChance.get("tier3"); 16 | case 4: return Config.pristineChance.get("tier4"); 17 | default: return 0; 18 | } 19 | } 20 | 21 | public static String getTierName(int tier, boolean getNextTierName) { 22 | int addTiers = getNextTierName ? 1 : 0; 23 | switch(tier + addTiers) { 24 | case 0: return "§8Faulty§r"; 25 | case 1: return "§aBasic§r"; 26 | case 2: return "§9Advanced§r"; 27 | case 3: return "§dSuperior§r"; 28 | case 4: return "§6Self Aware§r"; 29 | default: return "§8Faulty§r"; 30 | } 31 | } 32 | 33 | public static boolean isMaxTier(int tier) { 34 | return tier == 4; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/mods.toml: -------------------------------------------------------------------------------- 1 | modLoader="javafml" 2 | #mandatory (24 is current forge version) 3 | loaderVersion="[25,)" 4 | issueTrackerURL="https://github.com/xt9/DeepMobLearning/issues" 5 | displayURL="https://minecraft.curseforge.com/projects/deep-mob-learning" 6 | authors="xt9 (IterationFunk)" 7 | 8 | [[mods]] 9 | modId="deepmoblearning" 10 | # The version number of the mod - there's a few well known ${} variables useable here or just hardcode it 11 | version="${file.jarVersion}" 12 | displayName="Deep Mob Learning" 13 | # The description text for the mod (multi line!) (#mandatory) 14 | description=''' 15 | Server friendly mob loot acquisition. 16 | ''' 17 | # A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. 18 | [[dependencies.examplemod]] #optional 19 | # the modid of the dependency 20 | modId="forge" #mandatory 21 | # Does this dependency have to exist - if not, ordering below must be specified 22 | mandatory=true #mandatory 23 | # The version range of the dependency 24 | versionRange="[25,)" #mandatory 25 | # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory 26 | ordering="NONE" 27 | # Side this dependency is applied on - BOTH, CLIENT or COMMON 28 | side="BOTH" 29 | # Here's another dependency 30 | [[dependencies.examplemod]] 31 | modId="minecraft" 32 | mandatory=true 33 | versionRange="[1.13.2]" 34 | ordering="NONE" 35 | side="BOTH" -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/blockstates/extraction_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "forge_marker": 1, 3 | "defaults": { 4 | "model": "deepmoblearning:extraction_chamber", 5 | "transform": "forge:default-block" 6 | }, 7 | "variants": { 8 | "facing": { 9 | "north": { "y": 0 }, 10 | "south": { "y": 180 }, 11 | "west": { "y": 270 }, 12 | "east": { "y": 90 } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/blockstates/infused_ingot_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "deepmoblearning:block/infused_ingot_block" } 4 | } 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/blockstates/machine_casing.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { "model": "deepmoblearning:block/machine_casing" } 4 | } 5 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/blockstates/simulation_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "forge_marker": 1, 3 | "defaults": { 4 | "model": "deepmoblearning:simulation_chamber", 5 | "transform": "forge:default-block" 6 | }, 7 | "variants": { 8 | "facing": { 9 | "north": { "y": 0 }, 10 | "south": { "y": 180 }, 11 | "west": { "y": 270 }, 12 | "east": { "y": 90 } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/blockstates/trial_keystone.json: -------------------------------------------------------------------------------- 1 | { 2 | "forge_marker": 1, 3 | "defaults": { 4 | "model": "deepmoblearning:trial_keystone", 5 | "transform": "forge:default-block" 6 | }, 7 | "variants": { 8 | "facing": { 9 | "north": { "y": 0 }, 10 | "south": { "y": 180 }, 11 | "west": { "y": 270 }, 12 | "east": { "y": 90 } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/block/infused_ingot_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent":"block/block", 3 | "credit":"Made with Blockbench, a free, modern block model editor by JannisX11", 4 | "textures":{ 5 | "0":"deepmoblearning:block/infused_ingot_blockface", 6 | "particle":"deepmoblearning:block/infused_ingot_blockface" 7 | }, 8 | "elements":[ 9 | { 10 | "from":[ 11 | 0, 12 | 0, 13 | 0 14 | ], 15 | "to":[ 16 | 16, 17 | 16, 18 | 16 19 | ], 20 | "faces":{ 21 | "north":{ 22 | "uv":[ 23 | 0, 24 | 0, 25 | 16, 26 | 16 27 | ], 28 | "texture":"#0" 29 | }, 30 | "east":{ 31 | "uv":[ 32 | 0, 33 | 0, 34 | 16, 35 | 16 36 | ], 37 | "texture":"#0" 38 | }, 39 | "south":{ 40 | "uv":[ 41 | 0, 42 | 0, 43 | 16, 44 | 16 45 | ], 46 | "texture":"#0" 47 | }, 48 | "west":{ 49 | "uv":[ 50 | 0, 51 | 0, 52 | 16, 53 | 16 54 | ], 55 | "texture":"#0" 56 | }, 57 | "up":{ 58 | "uv":[ 59 | 0, 60 | 0, 61 | 16, 62 | 16 63 | ], 64 | "texture":"#0", 65 | "rotation":270 66 | }, 67 | "down":{ 68 | "uv":[ 69 | 0, 70 | 0, 71 | 16, 72 | 16 73 | ], 74 | "texture":"#0" 75 | } 76 | } 77 | } 78 | ] 79 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/book.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/book" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/creative_model_learner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/creative_model_learner" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_blank.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_blank" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_blaze.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_blaze" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_creeper.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_creeper" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_dragon.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_dragon" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_enderman.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_enderman" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_ghast.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_ghast" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_guardian.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_guardian" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_shulker.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_shulker" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_skeleton" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_slime" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_spider.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_spider" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_thermal_elemental.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_thermal_elemental" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_tinker_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_tinker_slime" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_twilight_darkwood.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_twilight_darkwood" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_twilight_forest.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_twilight_forest" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_twilight_glacier.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_twilight_glacier" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_twilight_swamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_twilight_swamp" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_witch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_witch" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_wither.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_wither" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_wither_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_wither_skeleton" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/data_model_zombie.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/data_model_zombie" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/deep_learner.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/deep_learner" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/extraction_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "deepmoblearning:block/extraction_chamber" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_fragment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_fragment" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_heart.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_heart" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_boots" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_chestplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_chestplate" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_helmet.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_helmet" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_ingot" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_leggings" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/glitch_infused_sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/handheld", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/glitch_infused_sword" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/infused_ingot_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "deepmoblearning:block/infused_ingot_block" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/living_matter_extraterrestrial.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/living_matter_extraterrestrial" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/living_matter_hellish.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/living_matter_hellish" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/living_matter_overworldian.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/living_matter_overworldian" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/living_matter_twilight.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/living_matter_twilight" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/machine_casing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "deepmoblearning:block/machine_casing" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/polymer_clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/polymer_clay" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_blaze.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_blaze" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_creeper.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_creeper" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_dragon.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_dragon" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_enderman.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_enderman" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_ghast.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_ghast" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_guardian.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_guardian" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_shulker.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_shulker" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_skeleton" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_slime" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_spider.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_spider" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_thermal_elemental.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_thermal_elemental" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_tinker_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_tinker_slime" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_twilight_darkwood.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_twilight_darkwood" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_twilight_forest.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_twilight_forest" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_twilight_glacier.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_twilight_glacier" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_twilight_swamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_twilight_swamp" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_witch.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_witch" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_wither.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_wither" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_wither_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_wither_skeleton" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/pristine_matter_zombie.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/pristine_matter_zombie" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/simulation_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "deepmoblearning:block/simulation_chamber" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/soot_covered_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/soot_covered_plate" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/soot_covered_redstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/soot_covered_redstone" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/trial_key.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "deepmoblearning:item/trial_key" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/models/item/trial_keystone.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "deepmoblearning:block/trial_keystone" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/color_stripes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/color_stripes.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/extraction_chamber_north.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/extraction_chamber_north.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/extraction_chamber_north.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": 3 | { 4 | "frametime": 32 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/infused_ingot_blockface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/infused_ingot_blockface.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/machine_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/machine_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/machine_base_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/machine_base_up.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/machine_base_variant2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/machine_base_variant2.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/palette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/palette.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/simulation_chamber_north.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/simulation_chamber_north.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/simulation_chamber_north.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": 3 | { 4 | "frametime": 16 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/trial_keystone_container_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/trial_keystone_container_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/block/trial_keystone_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/block/trial_keystone_side.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/entity/glitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/entity/glitch.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/buttons/button_paginate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/buttons/button_paginate.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/buttons/button_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/buttons/button_select.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/deeplearner_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/deeplearner_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/deeplearner_extras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/deeplearner_extras.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/default_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/default_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/experience_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/experience_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/extraction_chamber_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/extraction_chamber_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/jei/extraction_chamber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/jei/extraction_chamber.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/jei/simulation_chamber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/jei/simulation_chamber.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/jei/trial_keystone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/jei/trial_keystone.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/patchouli/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/patchouli/arrow_down.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/patchouli/book_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/patchouli/book_gray.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/patchouli/book_gray_orig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/patchouli/book_gray_orig.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/patchouli/crafting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/patchouli/crafting.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/patchouli/water.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/patchouli/water.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/simulation_chamber_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/simulation_chamber_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/trial_keystone_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/trial_keystone_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/trial_keystone_gui_blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/trial_keystone_gui_blank.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/gui/trial_overlay_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/gui/trial_overlay_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/book.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/creative_model_learner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/creative_model_learner.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_blank.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_blaze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_blaze.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_creeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_creeper.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_dragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_dragon.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_enderman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_enderman.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_ghast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_ghast.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_guardian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_guardian.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_shulker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_shulker.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_skeleton.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_slime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_slime.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_spider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_spider.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_thermal_elemental.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_thermal_elemental.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_tinker_slime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_tinker_slime.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_darkwood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_darkwood.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_forest.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_glacier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_glacier.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_swamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_twilight_swamp.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_witch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_witch.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_wither.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_wither.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_wither_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_wither_skeleton.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/data_model_zombie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/data_model_zombie.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/deep_learner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/deep_learner.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_fragment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_fragment.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_fragment.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": 3 | { 4 | "frametime": 4 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_heart.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_heart.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": 3 | { 4 | "frametime": 4 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_boots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_boots.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_chestplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_chestplate.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_helmet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_helmet.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_ingot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_ingot.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_leggings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_leggings.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_sword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/glitch_infused_sword.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/living_matter_extraterrestrial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/living_matter_extraterrestrial.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/living_matter_hellish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/living_matter_hellish.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/living_matter_overworldian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/living_matter_overworldian.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/living_matter_twilight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/living_matter_twilight.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/polymer_clay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/polymer_clay.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_blaze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_blaze.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_creeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_creeper.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_dragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_dragon.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_enderman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_enderman.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_ghast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_ghast.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_guardian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_guardian.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_shulker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_shulker.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_skeleton.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_slime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_slime.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_spider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_spider.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_thermal_elemental.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_thermal_elemental.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_tinker_slime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_tinker_slime.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_darkwood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_darkwood.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_forest.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_glacier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_glacier.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_swamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_twilight_swamp.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_witch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_witch.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_wither.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_wither.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_wither_skeleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_wither_skeleton.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_zombie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/pristine_matter_zombie.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/soot_covered_plate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/soot_covered_plate.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/soot_covered_redstone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/soot_covered_redstone.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/item/trial_key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/item/trial_key.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/models/armor/glitch_infused_layer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/models/armor/glitch_infused_layer_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/deepmoblearning/textures/models/armor/glitch_infused_layer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xt9/DeepMobLearning/49dd143c02ae1c3cde0beca0609d5d5a90366c95/src/main/resources/assets/deepmoblearning/textures/models/armor/glitch_infused_layer_2.png -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/loot_tables/glitch.json: -------------------------------------------------------------------------------- 1 | { 2 | "pools": [ 3 | { 4 | "name": "deepmoblearning", 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "item", 9 | "name": "deepmoblearning:glitch_heart", 10 | "functions": [{ 11 | "function": "minecraft:looting_enchant", 12 | "count": { 13 | "min": 0, 14 | "max": 1 15 | } 16 | }] 17 | } 18 | ] 19 | } 20 | ] 21 | } 22 | 23 | -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/loot_tables/loot_hoarder.json: -------------------------------------------------------------------------------- 1 | { 2 | "pools": [ 3 | { 4 | "name": "main", 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "item", 9 | "name": "minecraft:diamond_ore" 10 | }, 11 | { 12 | "type": "item", 13 | "name": "minecraft:emerald_ore" 14 | }, 15 | { 16 | "type": "item", 17 | "name": "minecraft:ender_pearl", 18 | "functions": [{ 19 | "function": "set_count", 20 | "count": { 21 | "min": 2, 22 | "max": 3 23 | } 24 | }] 25 | }, 26 | { 27 | "type": "item", 28 | "name": "minecraft:prismarine_shard", 29 | "functions": [{ 30 | "function": "set_count", 31 | "count": { 32 | "min": 6, 33 | "max": 12 34 | } 35 | }] 36 | }, 37 | { 38 | "type": "item", 39 | "name": "minecraft:gold_ingot", 40 | "weight": 2, 41 | "functions": [{ 42 | "function": "set_count", 43 | "count": { 44 | "min": 4, 45 | "max": 5 46 | } 47 | }] 48 | } 49 | ] 50 | } 51 | ] 52 | } 53 | 54 | -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/armor_tools/recipe1_sword.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " I", 5 | "NI ", 6 | "SN " 7 | ], 8 | "key": { 9 | "I": { "item": "deepmoblearning:glitch_infused_ingot" }, 10 | "N": { "item": "minecraft:iron_nugget" }, 11 | "S": { "item": "minecraft:stick" } 12 | }, 13 | "result": { 14 | "item": "deepmoblearning:glitch_infused_sword" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/armor_tools/recipe2_helm.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "III", 5 | "I I" 6 | ], 7 | "key": { 8 | "I": { "item": "deepmoblearning:glitch_infused_ingot" } 9 | }, 10 | "result": { 11 | "item": "deepmoblearning:glitch_infused_helmet" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/armor_tools/recipe3_chestplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "I I", 5 | "III", 6 | "III" 7 | ], 8 | "key": { 9 | "I": { "item": "deepmoblearning:glitch_infused_ingot" } 10 | }, 11 | "result": { 12 | "item": "deepmoblearning:glitch_infused_chestplate" 13 | } 14 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/armor_tools/recipe4_leggings.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "III", 5 | "I I", 6 | "I I" 7 | ], 8 | "key": { 9 | "I": { "item": "deepmoblearning:glitch_infused_ingot" } 10 | }, 11 | "result": { 12 | "item": "deepmoblearning:glitch_infused_leggings" 13 | } 14 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/armor_tools/recipe5_boots.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "I I", 5 | "I I" 6 | ], 7 | "key": { 8 | "I": { "item": "deepmoblearning:glitch_infused_ingot" } 9 | }, 10 | "result": { 11 | "item": "deepmoblearning:glitch_infused_boots" 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_blank.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "CEC", 5 | "RSR", 6 | "CGC" 7 | ], 8 | "key": { 9 | "E": { "item": "minecraft:repeater" }, 10 | "S": { "item": "minecraft:stone" }, 11 | "G": { "item": "minecraft:gold_ingot" }, 12 | "R": { "item": "deepmoblearning:soot_covered_redstone" }, 13 | "C": { "item": "minecraft:lapis_lazuli" } 14 | }, 15 | "result": { 16 | "item": "deepmoblearning:data_model_blank" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_blaze.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:blaze_powder" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_blaze" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_creeper.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:gunpowder" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_creeper" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_dragon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:dragon_egg" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_dragon" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_enderman.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:ender_pearl" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_enderman" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_ghast.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:ghast_tear" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_ghast" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_guardian.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:prismarine_shard" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_guardian" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_shulker.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:shulker_shell" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_shulker" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:bone" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_skeleton" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:slime_ball" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_slime" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_spider.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:spider_eye" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_spider" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_thermal_elemental.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "thermalfoundation" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | [ 11 | { "item": "deepmoblearning:data_model_blank" } 12 | ], 13 | [ 14 | { "item": "thermalfoundation:material1todo" }, 15 | { "item": "thermalfoundation:material2todo" }, 16 | { "item": "thermalfoundation:material3todo" } 17 | ] 18 | ], 19 | "result": { 20 | "item": "deepmoblearning:data_model_thermal_elemental" 21 | } 22 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_tinkers_slime.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "tconstruct" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:data_model_blank" }, 11 | { "item": "tconstruct:edible" } 12 | ], 13 | "result": { 14 | "item": "deepmoblearning:data_model_tinker_slime" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_twilight_a_forest.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:data_model_blank" }, 11 | { "item": "twilightforest:firefly" } 12 | ], 13 | "result": { 14 | "item": "deepmoblearning:data_model_twilight_forest" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_twilight_b_swamp.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:data_model_blank" }, 11 | { "item": "minecraft:waterlily" } 12 | ], 13 | "result": { 14 | "item": "deepmoblearning:data_model_twilight_swamp" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_twilight_c_darkwood.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:data_model_blank" }, 11 | { "item": "twilightforest:twilight_log" } 12 | ], 13 | "result": { 14 | "item": "deepmoblearning:data_model_twilight_darkwood" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_twilight_d_glacier.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:data_model_blank" }, 11 | { "item": "twilightforest:arctic_fur" } 12 | ], 13 | "result": { 14 | "item": "deepmoblearning:data_model_twilight_glacier" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_witch.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:glass_bottle" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_witch" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_wither.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:nether_star" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_wither" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_wither_skeleton.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:wither_skeleton_skull" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_wither_skeleton" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/data_model/data_model_zombie.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:data_model_blank" }, 5 | { "item": "minecraft:rotten_flesh" } 6 | ], 7 | "result": { 8 | "item": "deepmoblearning:data_model_zombie" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/extraction_chamber/extraction_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " G ", 5 | "DMD", 6 | "YCY" 7 | ], 8 | "key": { 9 | "M": { "item": "deepmoblearning:machine_casing" }, 10 | "G": { "item": "minecraft:gold_ingot" }, 11 | "D": { "item": "minecraft:diamond" }, 12 | "C": { "item": "minecraft:comparator" }, 13 | "Y": { "item": "minecraft:dandelion_yellow" } 14 | }, 15 | "result": { 16 | "item": "deepmoblearning:extraction_chamber", 17 | "count": 1 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/metadata1_hellish_living_matter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " O ", 5 | "ONO", 6 | " O " 7 | ], 8 | "key": { 9 | "O": { 10 | "item": "deepmoblearning:living_matter_overworldian" 11 | }, 12 | "N": { 13 | "item": "minecraft:netherrack" 14 | } 15 | }, 16 | "result": { 17 | "item": "deepmoblearning:living_matter_hellish" 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/metadata2_extraterrestrial_living_matter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " H ", 5 | "HEH", 6 | " H " 7 | ], 8 | "key": { 9 | "H": { 10 | "item": "deepmoblearning:living_matter_hellish" 11 | }, 12 | "E": { 13 | "item": "minecraft:end_stone" 14 | } 15 | }, 16 | "result": { 17 | "item": "deepmoblearning:living_matter_extraterrestrial" 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe0_grass.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "tag": "minecraft:leaves" }, 5 | { "item": "minecraft:dirt" }, 6 | { "item": "deepmoblearning:living_matter_overworldian" } 7 | ], 8 | "result": { 9 | "item": "minecraft:grass", 10 | "count": 4 11 | } 12 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe10_prismarine.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:quartz" } 6 | ], 7 | "result": { 8 | "item": "minecraft:prismarine_shard", 9 | "count": 2 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe1_carrot.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:wheat_seeds" } 6 | ], 7 | "result": { 8 | "item": "minecraft:carrot", 9 | "count": 2 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe2_potato.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:stick" } 6 | ], 7 | "result": { 8 | "item": "minecraft:potato", 9 | "count": 2 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe3_rotten_flesh.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:porkchop" } 6 | ], 7 | "result": { 8 | "item": "minecraft:rotten_flesh", 9 | "count": 16 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe4_iron_ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "deepmoblearning:living_matter_overworldian" }, 6 | { "item": "deepmoblearning:living_matter_overworldian" }, 7 | { "item": "deepmoblearning:living_matter_overworldian" }, 8 | { "item": "minecraft:rotten_flesh" } 9 | ], 10 | "result": { 11 | "item": "minecraft:iron_ingot", 12 | "count": 8 13 | } 14 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe5_bone.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:bone_meal" } 6 | ], 7 | "result": { 8 | "item": "minecraft:bone", 9 | "count": 22 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe6_arrow.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:stick" }, 5 | { "item": "minecraft:flint" }, 6 | { "item": "deepmoblearning:living_matter_overworldian" } 7 | ], 8 | "result": { 9 | "item": "minecraft:arrow", 10 | "count": 12 11 | } 12 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe7_spider_eye.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:rotten_flesh" }, 5 | { "item": "minecraft:apple" }, 6 | { "item": "minecraft:red_mushroom" }, 7 | { "item": "deepmoblearning:living_matter_overworldian" } 8 | ], 9 | "result": { 10 | "item": "minecraft:spider_eye", 11 | "count": 2 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe8_gunpowder.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_overworldian" }, 5 | { "item": "minecraft:coal" } 6 | ], 7 | "result": { 8 | "item": "minecraft:gunpowder", 9 | "count": 16 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes0_overworldian/recipe9_cobweb.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:string" }, 5 | { "item": "minecraft:slime_ball" }, 6 | { "item": "deepmoblearning:living_matter_overworldian" }, 7 | { "item": "deepmoblearning:living_matter_overworldian" } 8 | ], 9 | "result": { 10 | "item": "minecraft:cobweb", 11 | "count": 4 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe0_soul_sand.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_hellish" }, 5 | { "item": "minecraft:sand" } 6 | ], 7 | "result": { 8 | "item": "minecraft:soul_sand", 9 | "count": 4 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe1_blaze_powder.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_hellish" }, 5 | { "item": "minecraft:gunpowder" } 6 | ], 7 | "result": { 8 | "item": "minecraft:blaze_powder", 9 | "count": 2 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe2_blaze_rod.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:bone" }, 5 | { "item": "deepmoblearning:living_matter_hellish" }, 6 | { "item": "deepmoblearning:living_matter_hellish" } 7 | ], 8 | "result": { 9 | "item": "minecraft:blaze_rod" 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe3_ghast_tear.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:spider_eye" }, 5 | { "item": "minecraft:sugar" }, 6 | { "item": "deepmoblearning:living_matter_hellish" }, 7 | { "item": "deepmoblearning:living_matter_hellish" } 8 | ], 9 | "result": { 10 | "item": "minecraft:ghast_tear", 11 | "count": 3 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe4_gold_ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:glowstone_dust" }, 5 | { "item": "minecraft:iron_ingot" }, 6 | { "item": "deepmoblearning:living_matter_hellish" } 7 | ], 8 | "result": { 9 | "item": "minecraft:gold_ingot", 10 | "count": 6 11 | } 12 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes1_hellish/recipe5_nether_wart.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_hellish" }, 5 | { "item": "minecraft:red_mushroom" } 6 | ], 7 | "result": { 8 | "item": "minecraft:nether_wart", 9 | "count": 4 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes2_extraterrestrial/recipe1_end_stone.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "minecraft:sandstone" }, 5 | { "item": "minecraft:sandstone" }, 6 | { "item": "minecraft:ender_pearl" }, 7 | { "item": "deepmoblearning:living_matter_extraterrestrial" } 8 | ], 9 | "result": { 10 | "item": "minecraft:end_stone", 11 | "count": 8 12 | } 13 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes2_extraterrestrial/recipe2_ender_pearl.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_extraterrestrial" }, 5 | { "item": "minecraft:emerald" }, 6 | { "item": "minecraft:snowball" }, 7 | { "item": "minecraft:slime_ball" } 8 | ], 9 | "result": { 10 | "item": "minecraft:ender_pearl" 11 | } 12 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes2_extraterrestrial/recipe3_nether_star.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "WLW", 5 | "SSS", 6 | " S " 7 | ], 8 | "key": { 9 | "L": { "item": "deepmoblearning:living_matter_extraterrestrial" }, 10 | "S": { "item": "minecraft:soul_sand" }, 11 | "W": { "item": "minecraft:wither_skeleton_skull" } 12 | }, 13 | "result": { 14 | "item": "minecraft:nether_star", 15 | "count": 1 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes2_extraterrestrial/recipe4_chorus_fruit.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:living_matter_extraterrestrial" }, 5 | { "item": "minecraft:apple" } 6 | ], 7 | "result": { 8 | "item": "minecraft:chorus_fruit" 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes3_twilight/recipe1_ravens_feather.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:living_matter_twilight" }, 11 | { "item": "minecraft:feather" } 12 | ], 13 | "result": { 14 | "item": "twilightforest:raven_feather" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes3_twilight/recipe2_torchberries.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:living_matter_twilight" }, 11 | { "item": "minecraft:torch" } 12 | ], 13 | "result": { 14 | "item": "twilightforest:torchberries", 15 | "count": 16 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/living_matter_exchange/transmutes3_twilight/recipe3_venison.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "twilightforest" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "deepmoblearning:living_matter_twilight" }, 11 | { "item": "minecraft:beef" } 12 | ], 13 | "result": { 14 | "item": "twilightforest:raw_venison", 15 | "count": 8 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe1_deep_learner.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "ORO", 5 | "RSR", 6 | "ODO" 7 | ], 8 | "key": { 9 | "O": { "item": "deepmoblearning:soot_covered_plate" }, 10 | "D": { "item": "deepmoblearning:soot_covered_redstone" }, 11 | "S": { "item": "minecraft:glass_pane" }, 12 | "R": { "item": "minecraft:repeater" } 13 | }, 14 | "result": { 15 | "item": "deepmoblearning:deep_learner" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe2_machine_casing.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "PIP", 5 | "ICI", 6 | "PIP" 7 | ], 8 | "key": { 9 | "P": { "item": "deepmoblearning:soot_covered_plate" }, 10 | "I": { "tag": "forge:ingots/iron" }, 11 | "C": { "item": "deepmoblearning:soot_covered_redstone" } 12 | }, 13 | "result": { 14 | "item": "deepmoblearning:machine_casing" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe3_soot_covered_plate.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "OO", 5 | "OC" 6 | ], 7 | "key": { 8 | "O": { "item": "minecraft:obsidian" }, 9 | "C": { "item": "deepmoblearning:soot_covered_redstone" } 10 | }, 11 | "result": { 12 | "item": "deepmoblearning:soot_covered_plate", 13 | "count": 8 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe4_trial_keystone.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "DTD", 5 | "SMS", 6 | "SSS" 7 | ], 8 | "key": { 9 | "S": { "item": "minecraft:stone" }, 10 | "D": { "item": "minecraft:diamond" }, 11 | "M": { "item": "deepmoblearning:machine_casing" }, 12 | "T": { "item": "deepmoblearning:trial_key" } 13 | }, 14 | "result": { 15 | "item": "deepmoblearning:trial_keystone" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe5_trial_key.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " ", 5 | "EDD", 6 | " NN" 7 | ], 8 | "key": { 9 | "E": { "item": "minecraft:ender_pearl" }, 10 | "D": { "item": "minecraft:diamond" }, 11 | "N": { "item": "minecraft:iron_nugget" } 12 | }, 13 | "result": { 14 | "item": "deepmoblearning:trial_key" 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe6_ingot_to_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:glitch_infused_ingot" }, 5 | { "item": "deepmoblearning:glitch_infused_ingot" }, 6 | { "item": "deepmoblearning:glitch_infused_ingot" }, 7 | { "item": "deepmoblearning:glitch_infused_ingot" }, 8 | { "item": "deepmoblearning:glitch_infused_ingot" }, 9 | { "item": "deepmoblearning:glitch_infused_ingot" }, 10 | { "item": "deepmoblearning:glitch_infused_ingot" }, 11 | { "item": "deepmoblearning:glitch_infused_ingot" }, 12 | { "item": "deepmoblearning:glitch_infused_ingot" } 13 | ], 14 | "result": { 15 | "item": "deepmoblearning:infused_ingot_block" 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe7_block_to_ingot.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "ingredients": [ 4 | { "item": "deepmoblearning:infused_ingot_block" } 5 | ], 6 | "result": { 7 | "item": "deepmoblearning:glitch_infused_ingot", 8 | "count": 9 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/recipe8_guide_book.json: -------------------------------------------------------------------------------- 1 | { 2 | "conditions": [ 3 | { 4 | "type": "forge:mod_loaded", 5 | "modid": "patchouli" 6 | } 7 | ], 8 | "type": "minecraft:crafting_shapeless", 9 | "ingredients": [ 10 | { "item": "minecraft:book" }, 11 | { "item": "deepmoblearning:soot_covered_redstone" } 12 | ], 13 | "result": { 14 | "item": "patchouli:guide_book", 15 | "nbt": { 16 | "patchouli:book": "deepmoblearning:book" 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/simulation_chamber/inputs/recipe1_polymer_clay.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | "GC ", 5 | "CDC", 6 | " CI" 7 | ], 8 | "key": { 9 | "D": { "item": "minecraft:lapis_lazuli" }, 10 | "G": { "item": "minecraft:gold_ingot" }, 11 | "I": { "item": "minecraft:iron_ingot" }, 12 | "C": { "item": "minecraft:clay_ball" } 13 | }, 14 | "result": { 15 | "item": "deepmoblearning:polymer_clay", 16 | "count": 16 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/resources/data/deepmoblearning/recipes/simulation_chamber/recipe1_simulation_chamber.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "pattern": [ 4 | " G ", 5 | "PMP", 6 | "DCD" 7 | ], 8 | "key": { 9 | "M": { "item": "deepmoblearning:machine_casing" }, 10 | "P": { "item": "minecraft:ender_pearl" }, 11 | "G": { "item": "minecraft:glass_pane" }, 12 | "C": { "item": "minecraft:comparator" }, 13 | "D": { "item": "minecraft:cyan_dye" } 14 | }, 15 | "result": { 16 | "item": "deepmoblearning:simulation_chamber" 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/resources/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack": { 3 | "pack_format": 4, 4 | "description": "Resources for Deep Mob Learning, pack format is 4 since 1.13" 5 | } 6 | } 7 | --------------------------------------------------------------------------------