├── .gitattributes
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ └── config.yml
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── build-and-publish.yaml
│ └── pr-comment-artifacts.yaml
├── .gitignore
├── .tool-versions
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── build.gradle
├── config
└── checkstyle
│ ├── checkstyle.xml
│ └── suppressions.xml
├── crowdin.yml
├── docs
└── RELEASE.md
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── qodana.yaml
├── settings.gradle
└── src
├── generated
└── resources
│ ├── .cache
│ ├── 103d9f3f36b01595f1aa5172191e60eff02e6924
│ ├── 2db41954e490230d51b10affff25ee2ee27b8d5b
│ ├── 2f719b8031aed5e605ed8d6694b19245ca45c6ca
│ ├── 59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
│ ├── 9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
│ ├── b8526e444ae7356037f3a813274f6835d1f3dd16
│ └── f95c7003282837dabaa33e3ffceec4e6865b5218
│ ├── assets
│ └── advancedperipherals
│ │ ├── blockstates
│ │ ├── block_reader.json
│ │ ├── chat_box.json
│ │ ├── colony_integrator.json
│ │ ├── energy_detector.json
│ │ ├── environment_detector.json
│ │ ├── geo_scanner.json
│ │ ├── inventory_manager.json
│ │ ├── me_bridge.json
│ │ ├── nbt_storage.json
│ │ ├── peripheral_casing.json
│ │ ├── player_detector.json
│ │ └── rs_bridge.json
│ │ ├── lang
│ │ └── en_us.json
│ │ └── models
│ │ └── block
│ │ ├── block_reader.json
│ │ ├── chat_box.json
│ │ ├── colony_integrator.json
│ │ ├── energy_detector.json
│ │ ├── environment_detector.json
│ │ ├── geo_scanner.json
│ │ ├── inventory_manager.json
│ │ ├── me_bridge.json
│ │ ├── nbt_storage.json
│ │ ├── peripheral_casing.json
│ │ ├── player_detector.json
│ │ └── rs_bridge.json
│ └── data
│ ├── advancedperipherals
│ ├── advancement
│ │ └── recipes
│ │ │ └── redstone
│ │ │ ├── block_reader.json
│ │ │ ├── chat_box.json
│ │ │ ├── chunk_controller.json
│ │ │ ├── colony_integrator.json
│ │ │ ├── computer_tool.json
│ │ │ ├── energy_detector.json
│ │ │ ├── environment_detector.json
│ │ │ ├── geo_scanner.json
│ │ │ ├── inventory_manager.json
│ │ │ ├── me_bridge.json
│ │ │ ├── memory_card.json
│ │ │ ├── nbt_storage.json
│ │ │ ├── overpowered_end_automata_core.json
│ │ │ ├── overpowered_husbandry_automata_core.json
│ │ │ ├── overpowered_weak_automata_core.json
│ │ │ ├── peripheral_casing.json
│ │ │ ├── player_detector.json
│ │ │ ├── rs_bridge.json
│ │ │ └── weak_automata_core.json
│ ├── computercraft
│ │ ├── pocket_upgrade
│ │ │ ├── chatty_pocket.json
│ │ │ ├── colony_pocket.json
│ │ │ ├── environment_pocket.json
│ │ │ ├── geoscanner_pocket.json
│ │ │ └── player_pocket.json
│ │ └── turtle_upgrade
│ │ │ ├── chatty_turtle.json
│ │ │ ├── chunky_turtle.json
│ │ │ ├── compass_turtle.json
│ │ │ ├── end_automata.json
│ │ │ ├── environment_turtle.json
│ │ │ ├── geoscanner_turtle.json
│ │ │ ├── husbandry_automata.json
│ │ │ ├── overpowered_end_automata.json
│ │ │ ├── overpowered_husbandry_automata.json
│ │ │ ├── overpowered_weak_automata.json
│ │ │ ├── player_turtle.json
│ │ │ └── weak_automata.json
│ ├── loot_table
│ │ └── blocks
│ │ │ ├── block_reader.json
│ │ │ ├── chat_box.json
│ │ │ ├── colony_integrator.json
│ │ │ ├── energy_detector.json
│ │ │ ├── environment_detector.json
│ │ │ ├── geo_scanner.json
│ │ │ ├── inventory_manager.json
│ │ │ ├── me_bridge.json
│ │ │ ├── nbt_storage.json
│ │ │ ├── peripheral_casing.json
│ │ │ ├── player_detector.json
│ │ │ └── rs_bridge.json
│ └── recipe
│ │ ├── block_reader.json
│ │ ├── chat_box.json
│ │ ├── chunk_controller.json
│ │ ├── colony_integrator.json
│ │ ├── computer_tool.json
│ │ ├── energy_detector.json
│ │ ├── environment_detector.json
│ │ ├── geo_scanner.json
│ │ ├── inventory_manager.json
│ │ ├── me_bridge.json
│ │ ├── memory_card.json
│ │ ├── nbt_storage.json
│ │ ├── overpowered_end_automata_core.json
│ │ ├── overpowered_husbandry_automata_core.json
│ │ ├── overpowered_weak_automata_core.json
│ │ ├── peripheral_casing.json
│ │ ├── player_detector.json
│ │ ├── rs_bridge.json
│ │ └── weak_automata_core.json
│ ├── minecraft
│ └── tags
│ │ ├── blocks
│ │ ├── mineable
│ │ │ └── pickaxe.json
│ │ └── needs_iron_tool.json
│ │ └── point_of_interest_type
│ │ └── acquirable_job_site.json
│ └── neoforge
│ └── tags
│ └── blocks
│ └── needs_wood_tool.json
├── main
├── java
│ └── de
│ │ └── srendi
│ │ └── advancedperipherals
│ │ ├── APCreativeTab.java
│ │ ├── AdvancedPeripherals.java
│ │ ├── client
│ │ ├── ClientRegistry.java
│ │ ├── ClientUUIDCache.java
│ │ ├── KeyBindings.java
│ │ └── MetaTurtleUpgradeModeller.java
│ │ ├── common
│ │ ├── addons
│ │ │ ├── APAddon.java
│ │ │ ├── appliedenergistics
│ │ │ │ ├── AppEngApi.java
│ │ │ │ ├── CraftJob.java
│ │ │ │ ├── MEBridgeEntityListener.java
│ │ │ │ ├── MEFluidHandler.java
│ │ │ │ └── MEItemHandler.java
│ │ │ ├── computercraft
│ │ │ │ ├── integrations
│ │ │ │ │ ├── BeaconIntegration.java
│ │ │ │ │ ├── BlockEntityIntegration.java
│ │ │ │ │ ├── BlockIntegration.java
│ │ │ │ │ ├── IntegrationPeripheralProvider.java
│ │ │ │ │ └── NoteBlockIntegration.java
│ │ │ │ ├── luaapi
│ │ │ │ │ └── GlobalVersionsLuaAPI.java
│ │ │ │ ├── operations
│ │ │ │ │ ├── AutomataCoreTier.java
│ │ │ │ │ ├── SimpleFreeOperation.java
│ │ │ │ │ ├── SingleOperation.java
│ │ │ │ │ ├── SingleOperationContext.java
│ │ │ │ │ ├── SphereOperation.java
│ │ │ │ │ └── SphereOperationContext.java
│ │ │ │ ├── owner
│ │ │ │ │ ├── BasePeripheralOwner.java
│ │ │ │ │ ├── BlockEntityPeripheralOwner.java
│ │ │ │ │ ├── FuelAbility.java
│ │ │ │ │ ├── IOwnerAbility.java
│ │ │ │ │ ├── IPeripheralOwner.java
│ │ │ │ │ ├── InfinitePocketFuelAbility.java
│ │ │ │ │ ├── OperationAbility.java
│ │ │ │ │ ├── PeripheralOwnerAbility.java
│ │ │ │ │ ├── PocketPeripheralOwner.java
│ │ │ │ │ ├── TileEntityFuelAbility.java
│ │ │ │ │ ├── TurtleFuelAbility.java
│ │ │ │ │ └── TurtlePeripheralOwner.java
│ │ │ │ ├── peripheral
│ │ │ │ │ ├── BlockReaderPeripheral.java
│ │ │ │ │ ├── ChatBoxPeripheral.java
│ │ │ │ │ ├── ChunkyPeripheral.java
│ │ │ │ │ ├── ColonyPeripheral.java
│ │ │ │ │ ├── CompassPeripheral.java
│ │ │ │ │ ├── EnergyDetectorPeripheral.java
│ │ │ │ │ ├── EnvironmentDetectorPeripheral.java
│ │ │ │ │ ├── GeoScannerPeripheral.java
│ │ │ │ │ ├── InventoryManagerPeripheral.java
│ │ │ │ │ ├── MEBridgePeripheral.java
│ │ │ │ │ ├── NBTStoragePeripheral.java
│ │ │ │ │ ├── PlayerDetectorPeripheral.java
│ │ │ │ │ ├── RSBridgePeripheral.java
│ │ │ │ │ ├── metaphysics
│ │ │ │ │ │ ├── EndAutomataCorePeripheral.java
│ │ │ │ │ │ ├── HusbandryAutomataCorePeripheral.java
│ │ │ │ │ │ ├── OverpoweredEndAutomataCorePeripheral.java
│ │ │ │ │ │ ├── OverpoweredHusbandryAutomataCorePeripheral.java
│ │ │ │ │ │ ├── OverpoweredWeakAutomataCorePeripheral.java
│ │ │ │ │ │ └── WeakAutomataCorePeripheral.java
│ │ │ │ │ └── plugins
│ │ │ │ │ │ ├── AutomataBlockHandPlugin.java
│ │ │ │ │ │ ├── AutomataChargingPlugin.java
│ │ │ │ │ │ ├── AutomataCorePlugin.java
│ │ │ │ │ │ ├── AutomataEntityHandPlugin.java
│ │ │ │ │ │ ├── AutomataEntityTransferPlugin.java
│ │ │ │ │ │ ├── AutomataItemSuckPlugin.java
│ │ │ │ │ │ ├── AutomataLookPlugin.java
│ │ │ │ │ │ ├── AutomataSoulFeedingPlugin.java
│ │ │ │ │ │ └── AutomataWarpingPlugin.java
│ │ │ │ ├── pocket
│ │ │ │ │ ├── PocketChatBoxUpgrade.java
│ │ │ │ │ ├── PocketColonyIntegratorUpgrade.java
│ │ │ │ │ ├── PocketEnvironmentUpgrade.java
│ │ │ │ │ ├── PocketGeoScannerUpgrade.java
│ │ │ │ │ └── PocketPlayerDetectorUpgrade.java
│ │ │ │ └── turtles
│ │ │ │ │ ├── TurtleChatBoxUpgrade.java
│ │ │ │ │ ├── TurtleChunkyUpgrade.java
│ │ │ │ │ ├── TurtleCompassUpgrade.java
│ │ │ │ │ ├── TurtleEnvironmentDetectorUpgrade.java
│ │ │ │ │ ├── TurtleGeoScannerUpgrade.java
│ │ │ │ │ ├── TurtlePlayerDetectorUpgrade.java
│ │ │ │ │ └── metaphysics
│ │ │ │ │ ├── EndAutomata.java
│ │ │ │ │ ├── HusbandryAutomata.java
│ │ │ │ │ ├── OverpoweredEndAutomata.java
│ │ │ │ │ ├── OverpoweredHusbandryAutomata.java
│ │ │ │ │ ├── OverpoweredWeakAutomata.java
│ │ │ │ │ └── WeakAutomata.java
│ │ │ ├── mekanism
│ │ │ │ ├── EnvironmentRadiationPlugin.java
│ │ │ │ ├── Integration.java
│ │ │ │ └── Mekanism.java
│ │ │ ├── minecolonies
│ │ │ │ └── MineColonies.java
│ │ │ ├── powah
│ │ │ │ ├── EnderCellIntegration.java
│ │ │ │ ├── EnergyCellIntegration.java
│ │ │ │ ├── FurnatorIntegration.java
│ │ │ │ ├── Integration.java
│ │ │ │ ├── MagmatorIntegration.java
│ │ │ │ ├── ReactorIntegration.java
│ │ │ │ ├── SolarPanelIntegration.java
│ │ │ │ └── ThermoIntegration.java
│ │ │ └── refinedstorage
│ │ │ │ ├── RSApi.java
│ │ │ │ ├── RSChemicalHandler.java
│ │ │ │ ├── RSCraftJob.java
│ │ │ │ ├── RSFluidHandler.java
│ │ │ │ ├── RSItemHandler.java
│ │ │ │ └── RsStorageTypes.java
│ │ ├── blocks
│ │ │ ├── PlayerDetectorBlock.java
│ │ │ ├── base
│ │ │ │ ├── APBlockEntityBlock.java
│ │ │ │ ├── BaseBlock.java
│ │ │ │ ├── BaseBlockEntityBlock.java
│ │ │ │ ├── ICapabilityProvider.java
│ │ │ │ ├── IHarvestableBlock.java
│ │ │ │ ├── IInventoryBlock.java
│ │ │ │ ├── PeripheralBlockEntity.java
│ │ │ │ └── PoweredPeripheralBlockEntity.java
│ │ │ └── blockentities
│ │ │ │ ├── BlockReaderEntity.java
│ │ │ │ ├── ChatBoxEntity.java
│ │ │ │ ├── ColonyIntegratorEntity.java
│ │ │ │ ├── EnergyDetectorEntity.java
│ │ │ │ ├── EnvironmentDetectorEntity.java
│ │ │ │ ├── GeoScannerEntity.java
│ │ │ │ ├── InventoryManagerEntity.java
│ │ │ │ ├── MEBridgeEntity.java
│ │ │ │ ├── NBTStorageEntity.java
│ │ │ │ ├── PlayerDetectorEntity.java
│ │ │ │ └── RSBridgeEntity.java
│ │ ├── commands
│ │ │ └── APCommands.java
│ │ ├── configuration
│ │ │ ├── APConfig.java
│ │ │ ├── GeneralConfig.java
│ │ │ ├── IAPConfig.java
│ │ │ ├── MetaphysicsConfig.java
│ │ │ ├── PeripheralsConfig.java
│ │ │ ├── UnsafeConfig.java
│ │ │ └── WorldConfig.java
│ │ ├── container
│ │ │ ├── InventoryManagerContainer.java
│ │ │ ├── InventoryManagerScreen.java
│ │ │ └── base
│ │ │ │ ├── BaseContainer.java
│ │ │ │ ├── BaseItemContainer.java
│ │ │ │ ├── BaseItemScreen.java
│ │ │ │ ├── BaseScreen.java
│ │ │ │ ├── NamedContainerProvider.java
│ │ │ │ ├── SlotCondition.java
│ │ │ │ └── SlotInputHandler.java
│ │ ├── data
│ │ │ ├── BlockLootTables.java
│ │ │ ├── BlockLootTablesProvider.java
│ │ │ ├── BlockStatesAndModelsProvider.java
│ │ │ ├── BlockTagsProvider.java
│ │ │ ├── DataGenerators.java
│ │ │ ├── EnUsLanguageProvider.java
│ │ │ ├── PocketUpgradesProvider.java
│ │ │ ├── PoiTypeProvider.java
│ │ │ ├── RecipesProvider.java
│ │ │ └── TurtleUpgradesProvider.java
│ │ ├── events
│ │ │ └── Events.java
│ │ ├── items
│ │ │ ├── APBlockItem.java
│ │ │ ├── APItem.java
│ │ │ ├── MemoryCardItem.java
│ │ │ ├── WeakAutomataCore.java
│ │ │ └── base
│ │ │ │ ├── BaseBlockItem.java
│ │ │ │ ├── BaseItem.java
│ │ │ │ └── IInventoryItem.java
│ │ ├── setup
│ │ │ ├── BlockEntityTypes.java
│ │ │ ├── Blocks.java
│ │ │ ├── CCRegistration.java
│ │ │ ├── ContainerTypes.java
│ │ │ ├── CreativeTabs.java
│ │ │ ├── DataComponents.java
│ │ │ ├── Items.java
│ │ │ ├── Registration.java
│ │ │ └── Villagers.java
│ │ ├── util
│ │ │ ├── ChunkManager.java
│ │ │ ├── CoordUtil.java
│ │ │ ├── CountingWipingStream.java
│ │ │ ├── DataComponentUtil.java
│ │ │ ├── DataStorageUtil.java
│ │ │ ├── EnergyStorageProxy.java
│ │ │ ├── EnumColor.java
│ │ │ ├── KeybindUtil.java
│ │ │ ├── LuaConverter.java
│ │ │ ├── NBTUtil.java
│ │ │ ├── Pair.java
│ │ │ ├── Platform.java
│ │ │ ├── RawValue.java
│ │ │ ├── ScanUtils.java
│ │ │ ├── ServerWorker.java
│ │ │ ├── SideHelper.java
│ │ │ ├── StatusConstants.java
│ │ │ ├── StringUtil.java
│ │ │ ├── ToastUtil.java
│ │ │ ├── TranslationUtil.java
│ │ │ ├── fakeplayer
│ │ │ │ ├── APFakePlayer.java
│ │ │ │ └── FakePlayerProviderTurtle.java
│ │ │ └── inventory
│ │ │ │ ├── BasicCraftJob.java
│ │ │ │ ├── ChemicalFilter.java
│ │ │ │ ├── ChemicalUtil.java
│ │ │ │ ├── FluidFilter.java
│ │ │ │ ├── FluidUtil.java
│ │ │ │ ├── GenericFilter.java
│ │ │ │ ├── IStorageSystemChemicalHandler.java
│ │ │ │ ├── IStorageSystemFluidHandler.java
│ │ │ │ ├── IStorageSystemItemHandler.java
│ │ │ │ ├── IStorageSystemPeripheral.java
│ │ │ │ ├── InventoryUtil.java
│ │ │ │ ├── ItemFilter.java
│ │ │ │ └── ItemUtil.java
│ │ └── village
│ │ │ ├── VillageStructures.java
│ │ │ ├── VillagerTrade.java
│ │ │ └── VillagerTrades.java
│ │ ├── lib
│ │ ├── LibConfig.java
│ │ ├── integrations
│ │ │ └── IPeripheralIntegration.java
│ │ ├── metaphysics
│ │ │ ├── IAutomataCoreTier.java
│ │ │ └── IFeedableAutomataCore.java
│ │ ├── misc
│ │ │ └── IConfigHandler.java
│ │ ├── peripherals
│ │ │ ├── APGenericPeripheral.java
│ │ │ ├── AutomataCorePeripheral.java
│ │ │ ├── BasePeripheral.java
│ │ │ ├── BlockEntityIntegrationPeripheral.java
│ │ │ ├── BlockIntegrationPeripheral.java
│ │ │ ├── BoundMethod.java
│ │ │ ├── DisabledPeripheral.java
│ │ │ ├── IBasePeripheral.java
│ │ │ ├── IDataComponentProvider.java
│ │ │ ├── IPeripheralCheck.java
│ │ │ ├── IPeripheralFunction.java
│ │ │ ├── IPeripheralOperation.java
│ │ │ ├── IPeripheralPlugin.java
│ │ │ ├── IPeripheralTileEntity.java
│ │ │ └── IntegrationPeripheral.java
│ │ ├── pocket
│ │ │ └── BasePocketUpgrade.java
│ │ └── turtle
│ │ │ ├── ClockwiseAnimatedTurtleUpgrade.java
│ │ │ └── PeripheralTurtleUpgrade.java
│ │ └── network
│ │ ├── APNetworking.java
│ │ ├── IAPPacket.java
│ │ ├── toclient
│ │ ├── ToastToClientPacket.java
│ │ └── UsernameToCachePacket.java
│ │ └── toserver
│ │ └── RetrieveUsernamePacket.java
└── resources
│ ├── META-INF
│ ├── accesstransformer.cfg
│ └── neoforge.mods.toml
│ ├── assets
│ └── advancedperipherals
│ │ ├── lang
│ │ ├── af_za.json
│ │ ├── ar_sa.json
│ │ ├── az_az.json
│ │ ├── be_by.json
│ │ ├── bg_bg.json
│ │ ├── bs_ba.json
│ │ ├── ca_es.json
│ │ ├── cs_cz.json
│ │ ├── cy_gb.json
│ │ ├── da_dk.json
│ │ ├── de_at.json
│ │ ├── de_ch.json
│ │ ├── de_de.json
│ │ ├── el_gr.json
│ │ ├── en_US.json
│ │ ├── en_au.json
│ │ ├── en_gb.json
│ │ ├── en_pt.json
│ │ ├── en_za.json
│ │ ├── eo_uy.json
│ │ ├── es_ar.json
│ │ ├── es_cl.json
│ │ ├── es_es.json
│ │ ├── es_mx.json
│ │ ├── et_ee.json
│ │ ├── eu_es.json
│ │ ├── fa_ir.json
│ │ ├── fi_fi.json
│ │ ├── fil_ph.json
│ │ ├── fo_fo.json
│ │ ├── fr_fr.json
│ │ ├── ga_ie.json
│ │ ├── gd_gb.json
│ │ ├── gl_es.json
│ │ ├── haw_us.json
│ │ ├── he_il.json
│ │ ├── hi_in.json
│ │ ├── hr_hr.json
│ │ ├── hu_hu.json
│ │ ├── hy_am.json
│ │ ├── id_id.json
│ │ ├── is_is.json
│ │ ├── it_it.json
│ │ ├── ja_jp.json
│ │ ├── ka_ge.json
│ │ ├── kn_in.json
│ │ ├── ko_kr.json
│ │ ├── lb_lu.json
│ │ ├── lt_lt.json
│ │ ├── lv_lv.json
│ │ ├── mi_nz.json
│ │ ├── mk_mk.json
│ │ ├── mn_mn.json
│ │ ├── ms_my.json
│ │ ├── mt_mt.json
│ │ ├── nb_no.json
│ │ ├── nl_nl.json
│ │ ├── nn_no.json
│ │ ├── pl_pl.json
│ │ ├── pt_br.json
│ │ ├── pt_pt.json
│ │ ├── ro_ro.json
│ │ ├── ru_ru.json
│ │ ├── sk_sk.json
│ │ ├── sl_si.json
│ │ ├── sq_al.json
│ │ ├── sr_sp.json
│ │ ├── sv_se.json
│ │ ├── th_th.json
│ │ ├── tlh_aa.json
│ │ ├── tr_tr.json
│ │ ├── uk_ua.json
│ │ ├── vi_vn.json
│ │ ├── zh_cn.json
│ │ └── zh_tw.json
│ │ ├── models
│ │ ├── block
│ │ │ ├── turtle_chatty_left.json
│ │ │ ├── turtle_chatty_right.json
│ │ │ ├── turtle_environment_left.json
│ │ │ ├── turtle_environment_right.json
│ │ │ ├── turtle_geoscanner_left.json
│ │ │ ├── turtle_geoscanner_right.json
│ │ │ ├── turtle_player_left.json
│ │ │ ├── turtle_player_right.json
│ │ │ ├── turtle_upgrade_base_left.json
│ │ │ └── turtle_upgrade_base_right.json
│ │ └── item
│ │ │ ├── ar_controller.json
│ │ │ ├── ar_goggles.json
│ │ │ ├── block_reader.json
│ │ │ ├── book.json
│ │ │ ├── chat_box.json
│ │ │ ├── chunk_controller.json
│ │ │ ├── colony_integrator.json
│ │ │ ├── computer_tool.json
│ │ │ ├── end_automata_core.json
│ │ │ ├── energy_detector.json
│ │ │ ├── environment_detector.json
│ │ │ ├── geo_scanner.json
│ │ │ ├── husbandry_automata_core.json
│ │ │ ├── inventory_manager.json
│ │ │ ├── me_bridge.json
│ │ │ ├── memory_card.json
│ │ │ ├── nbt_storage.json
│ │ │ ├── overpowered_end_automata_core.json
│ │ │ ├── overpowered_husbandry_automata_core.json
│ │ │ ├── overpowered_weak_automata_core.json
│ │ │ ├── peripheral_casing.json
│ │ │ ├── player_detector.json
│ │ │ ├── redstone_integrator.json
│ │ │ ├── rs_bridge.json
│ │ │ ├── turtle_chat_box_upgrade_left.json
│ │ │ ├── turtle_chat_box_upgrade_right.json
│ │ │ ├── turtle_environment_upgrade_left.json
│ │ │ ├── turtle_environment_upgrade_right.json
│ │ │ ├── turtle_geoscanner_upgrade_left.json
│ │ │ ├── turtle_geoscanner_upgrade_right.json
│ │ │ ├── turtle_player_upgrade_left.json
│ │ │ ├── turtle_player_upgrade_right.json
│ │ │ └── weak_automata_core.json
│ │ ├── patchouli_books
│ │ └── manual
│ │ │ └── en_us
│ │ │ ├── categories
│ │ │ ├── items.json
│ │ │ ├── metaphysics.json
│ │ │ └── peripherals.json
│ │ │ └── entries
│ │ │ ├── items
│ │ │ ├── chunk_controller.json
│ │ │ ├── computer_tool.json
│ │ │ ├── memory_card.json
│ │ │ └── pocket_computers.json
│ │ │ ├── metaphysics
│ │ │ ├── end_automata_core.json
│ │ │ ├── fuel_consuming.json
│ │ │ ├── husbandry_automata_core.json
│ │ │ ├── intro.json
│ │ │ ├── overpowered_automata_core.json
│ │ │ └── weak_automata_core.json
│ │ │ └── peripherals
│ │ │ ├── block_reader.json
│ │ │ ├── chat_box.json
│ │ │ ├── colony_integrator.json
│ │ │ ├── energy_detector.json
│ │ │ ├── environment_detector.json
│ │ │ ├── geo_scanner.json
│ │ │ ├── inventory_manager.json
│ │ │ ├── me_bridge.json
│ │ │ ├── nbt_storage.json
│ │ │ ├── player_detector.json
│ │ │ └── rs_bridge.json
│ │ └── textures
│ │ ├── block
│ │ ├── block_reader_down.png
│ │ ├── block_reader_east.png
│ │ ├── block_reader_north.png
│ │ ├── block_reader_north.png.mcmeta
│ │ ├── block_reader_south.png
│ │ ├── block_reader_up.png
│ │ ├── block_reader_west.png
│ │ ├── bottom.png
│ │ ├── chat_box.png
│ │ ├── chat_box_front.png
│ │ ├── chat_box_front.png.mcmeta
│ │ ├── chat_box_top.png
│ │ ├── colony_integrator.png
│ │ ├── colony_integrator_front.png
│ │ ├── colony_integrator_front.png.mcmeta
│ │ ├── colony_integrator_top.png
│ │ ├── energy_detector.png
│ │ ├── energy_detector_back.png
│ │ ├── energy_detector_east.png
│ │ ├── energy_detector_east.png.mcmeta
│ │ ├── energy_detector_front.png
│ │ ├── energy_detector_top.png
│ │ ├── environment_detector.png
│ │ ├── environment_detector_front.png
│ │ ├── environment_detector_front.png.mcmeta
│ │ ├── environment_detector_top.png
│ │ ├── geo_scanner.png
│ │ ├── geo_scanner_front.png
│ │ ├── geo_scanner_front.png.mcmeta
│ │ ├── geo_scanner_top.png
│ │ ├── inventory_manager.png
│ │ ├── inventory_manager_front.png
│ │ ├── inventory_manager_top.png
│ │ ├── me_bridge.png
│ │ ├── me_bridge_front.png
│ │ ├── me_bridge_front.png.mcmeta
│ │ ├── me_bridge_top.png
│ │ ├── nbt_storage.png
│ │ ├── nbt_storage_front.png
│ │ ├── nbt_storage_front.png.mcmeta
│ │ ├── nbt_storage_top.png
│ │ ├── peripheral_casing.png
│ │ ├── player_detector_front.png
│ │ ├── player_detector_side.png
│ │ ├── player_detector_top.png
│ │ ├── redstone_integrator_bottom.png
│ │ ├── redstone_integrator_front.png
│ │ ├── redstone_integrator_front.png.mcmeta
│ │ ├── redstone_integrator_side.png
│ │ ├── redstone_integrator_top.png
│ │ ├── rs_bridge.png
│ │ ├── rs_bridge_front.png
│ │ ├── rs_bridge_front.png.mcmeta
│ │ └── rs_bridge_top.png
│ │ ├── entity
│ │ ├── villager
│ │ │ └── profession
│ │ │ │ └── computer_scientist.png
│ │ └── zombie_villager
│ │ │ └── profession
│ │ │ └── computer_scientist.png
│ │ ├── gui
│ │ └── inventory_manager_gui.png
│ │ ├── item
│ │ ├── book.png
│ │ ├── chunk_controller.png
│ │ ├── computer_tool.png
│ │ ├── memory_card.png
│ │ └── metaphysics
│ │ │ ├── base_gear.png
│ │ │ ├── big_fire.png
│ │ │ ├── big_fire_green.png
│ │ │ ├── big_fire_purple.png
│ │ │ ├── fire.png
│ │ │ ├── fire_green.png
│ │ │ └── fire_purple.png
│ │ └── models
│ │ └── ar_goggles.png
│ ├── data
│ └── advancedperipherals
│ │ ├── advancements
│ │ ├── base_toolkit.json
│ │ ├── end_automata_core.json
│ │ ├── husbandry_automata_core.json
│ │ ├── nbt_toolkit.json
│ │ ├── overpowered_automata_core.json
│ │ ├── root.json
│ │ ├── sense_toolkit.json
│ │ └── weak_automata_core.json
│ │ ├── patchouli_books
│ │ └── manual
│ │ │ └── book.json
│ │ ├── recipes
│ │ └── guide_book.json
│ │ └── structures
│ │ └── villages
│ │ ├── scientist_desert.nbt
│ │ ├── scientist_plains.nbt
│ │ ├── scientist_savanna.nbt
│ │ ├── scientist_snowy.nbt
│ │ └── scientist_taiga.nbt
│ ├── pack.mcmeta
│ └── pack.png
├── test
└── java
│ └── de
│ └── srendi
│ └── advancedperipherals
│ ├── lib
│ └── peripherals
│ │ └── owner
│ │ └── OperationAbilityTest.java
│ └── test
│ └── DummyPeripheralOwner.java
└── testMod
├── resources
├── META-INF
│ ├── accesstransformer.cfg
│ └── mods.toml
└── pack.mcmeta
└── server-files
├── computers
├── computer
│ └── 0
│ │ ├── startup.lua
│ │ └── tests
│ │ ├── automata.weak.lua
│ │ ├── botania.manapool.lua
│ │ └── peripherals.geoscanner.lua
└── ids.json
├── eula.txt
├── server.properties
└── structures
├── automata.weak.snbt
├── dummytest.passing.snbt
└── peripherals.geoscanner.snbt
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Disable autocrlf on generated files, they always generate with LF
2 | # Add any extra files or paths here to make git stop saying they
3 | # are changed when only line endings change.
4 | src/generated/**/.cache/cache text eol=lf
5 | src/generated/**/*.json text eol=lf
6 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | ko_fi: srendi
2 | github: SirEndii
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Feature Requests
4 | url: https://github.com/SirEndii/Advanced-Peripherals-Features/issues/new/choose
5 | about: Please create feature requests at the proper repository.
6 | - name: Documentation Issues
7 | url: https://github.com/Seniorendi/Advanced-Peripherals-Documentation/issues
8 | about: Please create issues of the documentation at the proper repository.
9 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **PLEASE READ THE [GUIDELINES](https://github.com/IntelligenceModding/AdvancedPeripherals/blob/dev/1.21.1/CONTRIBUTING.md) BEFORE MAKING A CONTRIBUTION**
2 |
3 |
4 | * **Please check if the PR fulfills these requirements**
5 | - [ ] The commit message are well described
6 | - [ ] Docs have been added / updated (for features or maybe bugs which were noted). If not, please update the needed documentation [here](https://github.com/IntelligenceModding/Advanced-Peripherals-Documentation/pulls). Feel free to remove this check if you don't need it
7 | - [ ] All changes have fully been tested
8 |
9 | * **What kind of change does this PR introduce?** (Bug fix, feature, ...)
10 |
11 |
12 | * **What is the current behavior?** (You can also link to an open issue here)
13 |
14 |
15 | * **What is the new behavior (if this is a feature change)?**
16 |
17 |
18 | * **Does this PR introduce a breaking change?** (What changes might users need to make in their scripts due to this PR?)
19 |
20 |
21 | * **Other information**:
22 |
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # eclipse
2 | bin
3 | *.launch
4 | .settings
5 | .metadata
6 | .classpath
7 | .project
8 |
9 | # idea
10 | out
11 | *.ipr
12 | *.iws
13 | *.iml
14 | .idea
15 |
16 | # gradle
17 | build
18 | .gradle
19 |
20 | # other
21 | eclipse
22 | runs/
23 | server
24 | run
25 |
26 | # Files from Forge MDK
27 | forge*changelog.txt
28 |
29 | #github
30 |
31 | 1.17
32 | .env
33 |
34 | test-files
35 | logs/
--------------------------------------------------------------------------------
/.tool-versions:
--------------------------------------------------------------------------------
1 | java 21
2 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | These are the currently supported versions.
6 | We will always support every version for security patches.
7 |
8 | | Supported Version | 1.16 | 1.17 | 1.18 | 1.19.2 | 1.19.3 | 1.19.4 | 1.20.1 |
9 | |-----------------------|------|------|------|--------|--------|--------|--------|
10 | | Security patches | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
11 | | Critical fixes | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: |
12 | | Minor fixes | :x: | :x: | :white_check_mark: | :white_check_mark: | :x: | :x: | :white_check_mark: |
13 | | Minor features | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :white_check_mark: |
14 | | Fully supported | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :white_check_mark: |
15 | | Will be supported | :x: | :x: | :o: | :o: | :o: | :x: | :o: |
16 |
17 | ## Reporting a Vulnerability
18 |
19 | If you want to report a vulnerability, please do that via our email (report AT intelligence-modding DOT de).
20 |
--------------------------------------------------------------------------------
/config/checkstyle/suppressions.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/qodana.yaml:
--------------------------------------------------------------------------------
1 | #-------------------------------------------------------------------------------#
2 | # Qodana analysis is configured by qodana.yaml file #
3 | # https://www.jetbrains.com/help/qodana/qodana-yaml.html #
4 | #-------------------------------------------------------------------------------#
5 | version: "1.0"
6 |
7 | profile:
8 | name: qodana.starter
9 |
10 | #Disable inspections
11 | exclude:
12 | - name: Exclude assets
13 | paths:
14 | - src/generated/*
15 | - src/main/resources/*
16 | - src/test/resources/*
17 | - src/testMod/resources/*
18 | - src/server-files/resources/*
19 | - name: CheckDependencyLicenses
20 |
21 | include:
22 | - name: TrivialIf
23 | - name: NullableProblems
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | mavenCentral()
5 | maven {
6 | name = 'NeoForged'
7 | url = 'https://maven.neoforged.net/releases'
8 | content {
9 | includeGroup("net.minecraftforge")
10 | includeGroup("net.neoforged.gradle.userdev")
11 | includeGroup("net.neoforged.gradle")
12 | includeGroup("net.neoforged")
13 | includeGroup("codechicken")
14 | includeGroup("org.spongepowered.mixin")
15 | includeGroup("org.spongepowered")
16 | }
17 | }
18 | }
19 | }
20 |
21 | plugins {
22 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
23 | }
--------------------------------------------------------------------------------
/src/generated/resources/.cache/2db41954e490230d51b10affff25ee2ee27b8d5b:
--------------------------------------------------------------------------------
1 | // 1.21.1 2025-01-13T17:28:09.7081276 AP POI Type Tags
2 | d3d6b837660a4e213f287ad9d11e12368b90cd8e data/minecraft/tags/point_of_interest_type/acquirable_job_site.json
3 |
--------------------------------------------------------------------------------
/src/generated/resources/.cache/2f719b8031aed5e605ed8d6694b19245ca45c6ca:
--------------------------------------------------------------------------------
1 | // 1.21.1 2025-05-07T00:17:51.4075794 Languages: en_us for mod: advancedperipherals
2 | 4d8689d30caa2e8181f6c64f04b26ee3e3a9935a assets/advancedperipherals/lang/en_us.json
3 |
--------------------------------------------------------------------------------
/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d:
--------------------------------------------------------------------------------
1 | // 1.21.1 2025-05-07T00:17:51.4040751 Loot Tables
2 | 9b54955770745d55de988a86cbd08aa9ae23ff86 data/advancedperipherals/loot_table/blocks/block_reader.json
3 | d4f1bc579f83dc67ce9f94d35926d34b8894c990 data/advancedperipherals/loot_table/blocks/chat_box.json
4 | 9ac96b8e3da827886d8da459a2f146e8ae3ee798 data/advancedperipherals/loot_table/blocks/colony_integrator.json
5 | 6da40a0a9d46855710272fe9d40bb5a7f0219ff2 data/advancedperipherals/loot_table/blocks/energy_detector.json
6 | 85cd3af52c824db96403e6fceea480bceda3a186 data/advancedperipherals/loot_table/blocks/environment_detector.json
7 | 7f607d7476252b89a57eb4c227cc69f4f28995e3 data/advancedperipherals/loot_table/blocks/geo_scanner.json
8 | fddf157b52a210846f5737dcc39a16b7ab6a587a data/advancedperipherals/loot_table/blocks/inventory_manager.json
9 | ae62bfa75e39a59374602c8a87cc2afe8b4923dd data/advancedperipherals/loot_table/blocks/me_bridge.json
10 | 51ceb7b82ba8424a2c6f03f280c14d1c2d0d18d7 data/advancedperipherals/loot_table/blocks/nbt_storage.json
11 | fa56de9a073f32ab8a65b5f17c57f360a157b5c1 data/advancedperipherals/loot_table/blocks/peripheral_casing.json
12 | d61b1c54dd6da8f0213d5eb8a5b40d78bff5ba90 data/advancedperipherals/loot_table/blocks/player_detector.json
13 | 76cdba2795aafc897a579670afb264b75147f498 data/advancedperipherals/loot_table/blocks/rs_bridge.json
14 |
--------------------------------------------------------------------------------
/src/generated/resources/.cache/f95c7003282837dabaa33e3ffceec4e6865b5218:
--------------------------------------------------------------------------------
1 | // 1.21.1 2025-05-07T00:17:51.4020761 Block tags
2 | 24917bcda8a0adefdd56628fb3a5c168fb9b8268 data/minecraft/tags/blocks/mineable/pickaxe.json
3 | ad2a70ed8a76807e64ecb32a3240b32e090cea4a data/minecraft/tags/blocks/needs_iron_tool.json
4 | e1f71dcb4f9e7e36e29b0ad09d6520dc3adfa4a6 data/neoforge/tags/blocks/needs_wood_tool.json
5 |
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "down": "advancedperipherals:block/bottom",
5 | "east": "advancedperipherals:block/block_reader_east",
6 | "north": "advancedperipherals:block/block_reader_north",
7 | "particle": "advancedperipherals:block/block_reader_north",
8 | "south": "advancedperipherals:block/block_reader_south",
9 | "up": "advancedperipherals:block/block_reader_up",
10 | "west": "advancedperipherals:block/block_reader_west"
11 | }
12 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/chat_box",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/chat_box_front",
7 | "particle": "advancedperipherals:block/chat_box_front",
8 | "up": "advancedperipherals:block/chat_box_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/colony_integrator",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/colony_integrator_front",
7 | "particle": "advancedperipherals:block/colony_integrator_front",
8 | "up": "advancedperipherals:block/colony_integrator_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/energy_detector",
5 | "down": "advancedperipherals:block/bottom",
6 | "east": "advancedperipherals:block/energy_detector_east",
7 | "north": "advancedperipherals:block/energy_detector_front",
8 | "particle": "advancedperipherals:block/energy_detector_front",
9 | "south": "advancedperipherals:block/energy_detector_back",
10 | "up": "advancedperipherals:block/energy_detector_top"
11 | }
12 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/environment_detector",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/environment_detector_front",
7 | "particle": "advancedperipherals:block/environment_detector_front",
8 | "up": "advancedperipherals:block/environment_detector_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/geo_scanner",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/geo_scanner_front",
7 | "particle": "advancedperipherals:block/geo_scanner_front",
8 | "up": "advancedperipherals:block/geo_scanner_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/inventory_manager",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/inventory_manager_front",
7 | "particle": "advancedperipherals:block/inventory_manager_front",
8 | "up": "advancedperipherals:block/inventory_manager_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/me_bridge",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/me_bridge_front",
7 | "particle": "advancedperipherals:block/me_bridge_front",
8 | "up": "advancedperipherals:block/me_bridge_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/nbt_storage",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/nbt_storage_front",
7 | "particle": "advancedperipherals:block/nbt_storage_front",
8 | "up": "advancedperipherals:block/nbt_storage_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/peripheral_casing.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/peripheral_casing",
5 | "down": "advancedperipherals:block/bottom",
6 | "particle": "advancedperipherals:block/peripheral_casing"
7 | }
8 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "down": "advancedperipherals:block/bottom",
5 | "east": "advancedperipherals:block/player_detector_side",
6 | "north": "advancedperipherals:block/player_detector_front",
7 | "particle": "advancedperipherals:block/player_detector_front",
8 | "side": "advancedperipherals:block/player_detector_side",
9 | "south": "advancedperipherals:block/player_detector_side",
10 | "up": "advancedperipherals:block/player_detector_top",
11 | "west": "advancedperipherals:block/player_detector_side"
12 | }
13 | }
--------------------------------------------------------------------------------
/src/generated/resources/assets/advancedperipherals/models/block/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:block/cube_all",
3 | "textures": {
4 | "all": "advancedperipherals:block/rs_bridge",
5 | "down": "advancedperipherals:block/bottom",
6 | "north": "advancedperipherals:block/rs_bridge_front",
7 | "particle": "advancedperipherals:block/rs_bridge_front",
8 | "up": "advancedperipherals:block/rs_bridge_top"
9 | }
10 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:block_reader"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:block_reader"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:chat_box"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:chat_box"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/chunk_controller.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "minecraft:respawn_anchor"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:chunk_controller"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:chunk_controller"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "minecolonies"
6 | }
7 | ],
8 | "parent": "minecraft:recipes/root",
9 | "criteria": {
10 | "has_item": {
11 | "conditions": {
12 | "items": [
13 | {
14 | "items": "advancedperipherals:peripheral_casing"
15 | }
16 | ]
17 | },
18 | "trigger": "minecraft:inventory_changed"
19 | },
20 | "has_the_recipe": {
21 | "conditions": {
22 | "recipe": "advancedperipherals:colony_integrator"
23 | },
24 | "trigger": "minecraft:recipe_unlocked"
25 | }
26 | },
27 | "requirements": [
28 | [
29 | "has_the_recipe",
30 | "has_item"
31 | ]
32 | ],
33 | "rewards": {
34 | "recipes": [
35 | "advancedperipherals:colony_integrator"
36 | ]
37 | }
38 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/computer_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "minecraft:blue_terracotta"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:computer_tool"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:computer_tool"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:energy_detector"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:energy_detector"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:environment_detector"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:environment_detector"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:geo_scanner"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:geo_scanner"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:inventory_manager"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:inventory_manager"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "ae2"
6 | }
7 | ],
8 | "parent": "minecraft:recipes/root",
9 | "criteria": {
10 | "has_item": {
11 | "conditions": {
12 | "items": [
13 | {
14 | "items": "advancedperipherals:peripheral_casing"
15 | }
16 | ]
17 | },
18 | "trigger": "minecraft:inventory_changed"
19 | },
20 | "has_the_recipe": {
21 | "conditions": {
22 | "recipe": "advancedperipherals:me_bridge"
23 | },
24 | "trigger": "minecraft:recipe_unlocked"
25 | }
26 | },
27 | "requirements": [
28 | [
29 | "has_the_recipe",
30 | "has_item"
31 | ]
32 | ],
33 | "rewards": {
34 | "recipes": [
35 | "advancedperipherals:me_bridge"
36 | ]
37 | }
38 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/memory_card.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "minecraft:observer"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:memory_card"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:memory_card"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:nbt_storage"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:nbt_storage"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/overpowered_end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:end_automata_core"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:overpowered_end_automata_core"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:overpowered_end_automata_core"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/overpowered_husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:husbandry_automata_core"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:overpowered_husbandry_automata_core"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:overpowered_husbandry_automata_core"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/overpowered_weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:weak_automata_core"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:overpowered_weak_automata_core"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:overpowered_weak_automata_core"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/peripheral_casing.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "minecraft:redstone_block"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:peripheral_casing"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:peripheral_casing"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:player_detector"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:player_detector"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "refinedstorage"
6 | }
7 | ],
8 | "parent": "minecraft:recipes/root",
9 | "criteria": {
10 | "has_item": {
11 | "conditions": {
12 | "items": [
13 | {
14 | "items": "advancedperipherals:peripheral_casing"
15 | }
16 | ]
17 | },
18 | "trigger": "minecraft:inventory_changed"
19 | },
20 | "has_the_recipe": {
21 | "conditions": {
22 | "recipe": "advancedperipherals:rs_bridge"
23 | },
24 | "trigger": "minecraft:recipe_unlocked"
25 | }
26 | },
27 | "requirements": [
28 | [
29 | "has_the_recipe",
30 | "has_item"
31 | ]
32 | ],
33 | "rewards": {
34 | "recipes": [
35 | "advancedperipherals:rs_bridge"
36 | ]
37 | }
38 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/advancement/recipes/redstone/weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "minecraft:recipes/root",
3 | "criteria": {
4 | "has_item": {
5 | "conditions": {
6 | "items": [
7 | {
8 | "items": "advancedperipherals:peripheral_casing"
9 | }
10 | ]
11 | },
12 | "trigger": "minecraft:inventory_changed"
13 | },
14 | "has_the_recipe": {
15 | "conditions": {
16 | "recipe": "advancedperipherals:weak_automata_core"
17 | },
18 | "trigger": "minecraft:recipe_unlocked"
19 | }
20 | },
21 | "requirements": [
22 | [
23 | "has_the_recipe",
24 | "has_item"
25 | ]
26 | ],
27 | "rewards": {
28 | "recipes": [
29 | "advancedperipherals:weak_automata_core"
30 | ]
31 | }
32 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/pocket_upgrade/chatty_pocket.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:chatty_pocket",
3 | "item": "advancedperipherals:chat_box"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/pocket_upgrade/colony_pocket.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:colony_pocket",
3 | "item": "advancedperipherals:colony_integrator"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/pocket_upgrade/environment_pocket.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:environment_pocket",
3 | "item": "advancedperipherals:environment_detector"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/pocket_upgrade/geoscanner_pocket.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:geoscanner_pocket",
3 | "item": "advancedperipherals:geo_scanner"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/pocket_upgrade/player_pocket.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:player_pocket",
3 | "item": "advancedperipherals:player_detector"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/chatty_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:chatty_turtle",
3 | "item": "advancedperipherals:chat_box"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/chunky_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:chunky_turtle",
3 | "item": "advancedperipherals:chunk_controller"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/compass_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:compass_turtle",
3 | "item": "minecraft:compass"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/end_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:end_automata",
3 | "item": "advancedperipherals:end_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/environment_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:environment_turtle",
3 | "item": "advancedperipherals:environment_detector"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/geoscanner_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:geoscanner_turtle",
3 | "item": "advancedperipherals:geo_scanner"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/husbandry_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:husbandry_automata",
3 | "item": "advancedperipherals:husbandry_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/overpowered_end_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:overpowered_end_automata",
3 | "item": "advancedperipherals:overpowered_end_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/overpowered_husbandry_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:overpowered_husbandry_automata",
3 | "item": "advancedperipherals:overpowered_husbandry_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/overpowered_weak_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:overpowered_weak_automata",
3 | "item": "advancedperipherals:overpowered_weak_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/player_turtle.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:player_turtle",
3 | "item": "advancedperipherals:player_detector"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/computercraft/turtle_upgrade/weak_automata.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "advancedperipherals:weak_automata",
3 | "item": "advancedperipherals:weak_automata_core"
4 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:block_reader"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/block_reader"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:chat_box"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/chat_box"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:colony_integrator"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/colony_integrator"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:energy_detector"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/energy_detector"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:environment_detector"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/environment_detector"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:geo_scanner"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/geo_scanner"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:inventory_manager"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/inventory_manager"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:me_bridge"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/me_bridge"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:nbt_storage"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/nbt_storage"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/peripheral_casing.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:peripheral_casing"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/peripheral_casing"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:player_detector"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/player_detector"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/loot_table/blocks/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:block",
3 | "pools": [
4 | {
5 | "bonus_rolls": 0.0,
6 | "conditions": [
7 | {
8 | "condition": "minecraft:survives_explosion"
9 | }
10 | ],
11 | "entries": [
12 | {
13 | "type": "minecraft:item",
14 | "functions": [
15 | {
16 | "function": "minecraft:copy_components",
17 | "include": [
18 | "minecraft:custom_name"
19 | ],
20 | "source": "block_entity"
21 | }
22 | ],
23 | "name": "advancedperipherals:rs_bridge"
24 | }
25 | ],
26 | "rolls": 1.0
27 | }
28 | ],
29 | "random_sequence": "advancedperipherals:blocks/rs_bridge"
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "I": {
9 | "tag": "c:ingots/iron"
10 | },
11 | "M": {
12 | "item": "computercraft:wired_modem_full"
13 | },
14 | "O": {
15 | "item": "minecraft:observer"
16 | },
17 | "R": {
18 | "tag": "c:storage_blocks/redstone"
19 | }
20 | },
21 | "pattern": [
22 | "IRI",
23 | "MAO",
24 | "IRI"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:block_reader"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "G": {
9 | "tag": "c:ingots/gold"
10 | },
11 | "P": {
12 | "tag": "minecraft:logs"
13 | }
14 | },
15 | "pattern": [
16 | "PPP",
17 | "PAP",
18 | "PGP"
19 | ],
20 | "result": {
21 | "count": 1,
22 | "id": "advancedperipherals:chat_box"
23 | }
24 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/chunk_controller.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "minecraft:ender_eye"
7 | },
8 | "I": {
9 | "tag": "c:ingots/iron"
10 | },
11 | "R": {
12 | "tag": "c:dusts/redstone"
13 | }
14 | },
15 | "pattern": [
16 | "IRI",
17 | "RAR",
18 | "IRI"
19 | ],
20 | "result": {
21 | "count": 1,
22 | "id": "advancedperipherals:chunk_controller"
23 | }
24 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "minecolonies"
6 | }
7 | ],
8 | "type": "minecraft:crafting_shaped",
9 | "category": "redstone",
10 | "key": {
11 | "A": {
12 | "item": "advancedperipherals:peripheral_casing"
13 | },
14 | "B": {
15 | "item": "minecolonies:build_goggles"
16 | },
17 | "O": {
18 | "tag": "minecraft:logs"
19 | },
20 | "R": {
21 | "item": "minecolonies:blockminecoloniesrack"
22 | },
23 | "S": {
24 | "item": "structurize:sceptergold"
25 | }
26 | },
27 | "pattern": [
28 | "ORO",
29 | "BAS",
30 | "ORO"
31 | ],
32 | "result": {
33 | "count": 1,
34 | "id": "advancedperipherals:colony_integrator"
35 | }
36 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/computer_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "B": {
6 | "item": "minecraft:blue_terracotta"
7 | },
8 | "I": {
9 | "tag": "c:ingots/iron"
10 | }
11 | },
12 | "pattern": [
13 | "I I",
14 | "IBI",
15 | " B "
16 | ],
17 | "result": {
18 | "count": 1,
19 | "id": "advancedperipherals:computer_tool"
20 | }
21 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "B": {
9 | "tag": "c:storage_blocks/redstone"
10 | },
11 | "C": {
12 | "item": "minecraft:comparator"
13 | },
14 | "G": {
15 | "tag": "c:ingots/gold"
16 | },
17 | "R": {
18 | "item": "minecraft:redstone_torch"
19 | }
20 | },
21 | "pattern": [
22 | "BRB",
23 | "CAC",
24 | "BGB"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:energy_detector"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "C": {
9 | "tag": "c:crops"
10 | },
11 | "L": {
12 | "tag": "minecraft:leaves"
13 | },
14 | "S": {
15 | "tag": "minecraft:saplings"
16 | },
17 | "W": {
18 | "tag": "minecraft:wool"
19 | }
20 | },
21 | "pattern": [
22 | "WSW",
23 | "LAL",
24 | "WCW"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:environment_detector"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "C": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "D": {
9 | "tag": "c:gems/diamond"
10 | },
11 | "M": {
12 | "item": "computercraft:wired_modem_full"
13 | },
14 | "O": {
15 | "item": "minecraft:observer"
16 | },
17 | "R": {
18 | "tag": "c:storage_blocks/redstone"
19 | }
20 | },
21 | "pattern": [
22 | "DMD",
23 | "DCD",
24 | "ROR"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:geo_scanner"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "C": {
9 | "tag": "c:chests"
10 | },
11 | "I": {
12 | "tag": "c:ingots/iron"
13 | }
14 | },
15 | "pattern": [
16 | "ICI",
17 | "CAC",
18 | "ICI"
19 | ],
20 | "result": {
21 | "count": 1,
22 | "id": "advancedperipherals:inventory_manager"
23 | }
24 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "ae2"
6 | }
7 | ],
8 | "type": "minecraft:crafting_shaped",
9 | "category": "redstone",
10 | "key": {
11 | "A": {
12 | "item": "advancedperipherals:peripheral_casing"
13 | },
14 | "F": {
15 | "item": "ae2:fluix_block"
16 | },
17 | "I": {
18 | "item": "ae2:interface"
19 | }
20 | },
21 | "pattern": [
22 | "FIF",
23 | "IAI",
24 | "FIF"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:me_bridge"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/memory_card.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "G": {
6 | "tag": "c:ingots/gold"
7 | },
8 | "I": {
9 | "tag": "c:ingots/iron"
10 | },
11 | "O": {
12 | "item": "minecraft:observer"
13 | },
14 | "W": {
15 | "tag": "c:glass_blocks/cheap"
16 | }
17 | },
18 | "pattern": [
19 | "IWI",
20 | "IOI",
21 | " G "
22 | ],
23 | "result": {
24 | "count": 1,
25 | "id": "advancedperipherals:memory_card"
26 | }
27 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "C": {
9 | "tag": "c:chests"
10 | },
11 | "I": {
12 | "tag": "c:ingots/iron"
13 | },
14 | "R": {
15 | "tag": "c:storage_blocks/redstone"
16 | }
17 | },
18 | "pattern": [
19 | "ICI",
20 | "CAC",
21 | "RCR"
22 | ],
23 | "result": {
24 | "count": 1,
25 | "id": "advancedperipherals:nbt_storage"
26 | }
27 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/overpowered_end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shapeless",
3 | "category": "redstone",
4 | "ingredients": [
5 | {
6 | "item": "advancedperipherals:end_automata_core"
7 | },
8 | {
9 | "item": "minecraft:nether_star"
10 | }
11 | ],
12 | "result": {
13 | "count": 1,
14 | "id": "advancedperipherals:overpowered_end_automata_core"
15 | }
16 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/overpowered_husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shapeless",
3 | "category": "redstone",
4 | "ingredients": [
5 | {
6 | "item": "advancedperipherals:husbandry_automata_core"
7 | },
8 | {
9 | "item": "minecraft:nether_star"
10 | }
11 | ],
12 | "result": {
13 | "count": 1,
14 | "id": "advancedperipherals:overpowered_husbandry_automata_core"
15 | }
16 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/overpowered_weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shapeless",
3 | "category": "redstone",
4 | "ingredients": [
5 | {
6 | "item": "advancedperipherals:weak_automata_core"
7 | },
8 | {
9 | "item": "minecraft:nether_star"
10 | }
11 | ],
12 | "result": {
13 | "count": 1,
14 | "id": "advancedperipherals:overpowered_weak_automata_core"
15 | }
16 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/peripheral_casing.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "I": {
6 | "tag": "c:ingots/iron"
7 | },
8 | "R": {
9 | "tag": "c:storage_blocks/redstone"
10 | },
11 | "i": {
12 | "item": "minecraft:iron_bars"
13 | }
14 | },
15 | "pattern": [
16 | "IiI",
17 | "iRi",
18 | "IiI"
19 | ],
20 | "result": {
21 | "count": 1,
22 | "id": "advancedperipherals:peripheral_casing"
23 | }
24 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "R": {
9 | "tag": "c:storage_blocks/redstone"
10 | },
11 | "S": {
12 | "item": "minecraft:smooth_stone"
13 | }
14 | },
15 | "pattern": [
16 | "SSS",
17 | "SAS",
18 | "SRS"
19 | ],
20 | "result": {
21 | "count": 1,
22 | "id": "advancedperipherals:player_detector"
23 | }
24 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "neoforge:conditions": [
3 | {
4 | "type": "neoforge:mod_loaded",
5 | "modid": "refinedstorage"
6 | }
7 | ],
8 | "type": "minecraft:crafting_shaped",
9 | "category": "redstone",
10 | "key": {
11 | "C": {
12 | "item": "advancedperipherals:peripheral_casing"
13 | },
14 | "E": {
15 | "tag": "refinedstorage:exporters"
16 | },
17 | "I": {
18 | "item": "refinedstorage:interface"
19 | },
20 | "P": {
21 | "item": "refinedstorage:advanced_processor"
22 | },
23 | "R": {
24 | "tag": "refinedstorage:importers"
25 | },
26 | "X": {
27 | "tag": "refinedstorage:external_storages"
28 | }
29 | },
30 | "pattern": [
31 | "PXP",
32 | "ECR",
33 | "PIP"
34 | ],
35 | "result": {
36 | "count": 1,
37 | "id": "advancedperipherals:rs_bridge"
38 | }
39 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/advancedperipherals/recipe/weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "category": "redstone",
4 | "key": {
5 | "A": {
6 | "item": "advancedperipherals:peripheral_casing"
7 | },
8 | "D": {
9 | "tag": "c:gems/diamond"
10 | },
11 | "L": {
12 | "item": "minecraft:potion"
13 | },
14 | "R": {
15 | "tag": "c:storage_blocks/redstone"
16 | },
17 | "S": {
18 | "item": "minecraft:soul_lantern"
19 | }
20 | },
21 | "pattern": [
22 | "RAR",
23 | "DSD",
24 | "RLR"
25 | ],
26 | "result": {
27 | "count": 1,
28 | "id": "advancedperipherals:weak_automata_core"
29 | }
30 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json:
--------------------------------------------------------------------------------
1 | {
2 | "values": [
3 | "advancedperipherals:environment_detector",
4 | "advancedperipherals:chat_box",
5 | "advancedperipherals:player_detector",
6 | "advancedperipherals:me_bridge",
7 | "advancedperipherals:rs_bridge",
8 | "advancedperipherals:energy_detector",
9 | "advancedperipherals:peripheral_casing",
10 | "advancedperipherals:inventory_manager",
11 | "advancedperipherals:block_reader",
12 | "advancedperipherals:geo_scanner",
13 | "advancedperipherals:nbt_storage",
14 | "advancedperipherals:colony_integrator"
15 | ]
16 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/minecraft/tags/blocks/needs_iron_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "values": [
3 | "advancedperipherals:environment_detector",
4 | "advancedperipherals:chat_box",
5 | "advancedperipherals:player_detector",
6 | "advancedperipherals:me_bridge",
7 | "advancedperipherals:rs_bridge",
8 | "advancedperipherals:energy_detector",
9 | "advancedperipherals:inventory_manager",
10 | "advancedperipherals:block_reader",
11 | "advancedperipherals:geo_scanner",
12 | "advancedperipherals:nbt_storage",
13 | "advancedperipherals:colony_integrator"
14 | ]
15 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/minecraft/tags/point_of_interest_type/acquirable_job_site.json:
--------------------------------------------------------------------------------
1 | {
2 | "values": [
3 | "advancedperipherals:computer_scientist"
4 | ]
5 | }
--------------------------------------------------------------------------------
/src/generated/resources/data/neoforge/tags/blocks/needs_wood_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "values": [
3 | "advancedperipherals:peripheral_casing"
4 | ]
5 | }
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/client/KeyBindings.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.client;
2 |
3 | import net.minecraft.client.KeyMapping;
4 | import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent;
5 | import org.lwjgl.glfw.GLFW;
6 |
7 | public class KeyBindings {
8 |
9 | public static final KeyMapping DESCRIPTION_KEYBINDING = new KeyMapping("keybind.advancedperipherals.description", GLFW.GLFW_KEY_LEFT_CONTROL, "keybind.advancedperipherals.category");
10 |
11 | public static void register(RegisterKeyMappingsEvent event) {
12 | event.register(DESCRIPTION_KEYBINDING);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/APAddon.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons;
2 |
3 | import net.neoforged.fml.ModList;
4 |
5 | import java.util.Arrays;
6 |
7 | public enum APAddon {
8 |
9 | AE2("ae2"),
10 | CURIOS("curios"),
11 | REFINEDSTORAGE("refinedstorage"),
12 | REFINEDSTORAGE_MEKANISM("refinedstorage_mekanism_integration"),
13 | MEKANISM("mekanism"),
14 | APP_MEKANISTICS("appmek"),
15 | MINECOLONIES("minecolonies"),
16 | PATCHOULI("patchouli"),
17 | POWAH("powah");
18 |
19 | private final String modId;
20 | private boolean loaded;
21 |
22 | APAddon(String modId) {
23 | this.modId = modId;
24 | this.loaded = false; // Default to false will be updated by setup()
25 | }
26 |
27 | public String getModId() {
28 | return modId;
29 | }
30 |
31 | public boolean isLoaded() {
32 | return loaded;
33 | }
34 |
35 | public static void setup() {
36 | ModList modList = ModList.get();
37 | for (APAddon addon : values()) {
38 | addon.loaded = modList.isLoaded(addon.getModId());
39 | }
40 | }
41 |
42 | public static String[] getAllModIds() {
43 | return Arrays.stream(values())
44 | .map(APAddon::getModId)
45 | .toArray(String[]::new);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/appliedenergistics/MEBridgeEntityListener.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.appliedenergistics;
2 |
3 | import appeng.api.networking.IGridNode;
4 | import appeng.api.networking.IGridNodeListener;
5 | import de.srendi.advancedperipherals.common.blocks.blockentities.MEBridgeEntity;
6 |
7 | //TODO: Maybe do something special with these methods?
8 | public class MEBridgeEntityListener implements IGridNodeListener {
9 |
10 | public static final MEBridgeEntityListener INSTANCE = new MEBridgeEntityListener();
11 |
12 | @Override
13 | public void onSaveChanges(MEBridgeEntity nodeOwner, IGridNode node) {
14 |
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/integrations/BeaconIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.integrations;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.lib.peripherals.APGenericPeripheral;
5 | import net.minecraft.world.level.block.entity.BeaconBlockEntity;
6 |
7 | public class BeaconIntegration implements APGenericPeripheral {
8 | @Override
9 | public String getPeripheralType() {
10 | return "beacon";
11 | }
12 |
13 | @LuaFunction(mainThread = true)
14 | public final int getLevel(BeaconBlockEntity blockEntity) {
15 | return blockEntity.levels;
16 | }
17 |
18 | @LuaFunction(mainThread = true)
19 | public final String getPrimaryEffect(BeaconBlockEntity blockEntity) {
20 | return blockEntity.primaryPower == null ? "none" : blockEntity.primaryPower.getRegisteredName();
21 | }
22 |
23 | @LuaFunction(mainThread = true)
24 | public final String getSecondaryEffect(BeaconBlockEntity blockEntity) {
25 | return blockEntity.secondaryPower == null ? "none" : blockEntity.secondaryPower.getRegisteredName();
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/operations/SingleOperationContext.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.operations;
2 |
3 | import java.io.Serializable;
4 |
5 | public class SingleOperationContext implements Serializable {
6 | private final int distance;
7 | private int count;
8 |
9 | public SingleOperationContext(int count, int distance) {
10 | this.count = count;
11 | this.distance = distance;
12 | }
13 |
14 | public int getCount() {
15 | return count;
16 | }
17 |
18 | public int getDistance() {
19 | return distance;
20 | }
21 |
22 | public SingleOperationContext extraCount(int extra) {
23 | this.count += extra;
24 | return new SingleOperationContext(extra, distance);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/operations/SphereOperationContext.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.operations;
2 |
3 | import java.io.Serializable;
4 |
5 | public class SphereOperationContext implements Serializable {
6 | private final int radius;
7 |
8 | public SphereOperationContext(int radius) {
9 | this.radius = radius;
10 | }
11 |
12 | public static SphereOperationContext of(int radius) {
13 | return new SphereOperationContext(radius);
14 | }
15 |
16 | public int getRadius() {
17 | return radius;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/BasePeripheralOwner.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.owner;
2 |
3 | import org.jetbrains.annotations.Nullable;
4 |
5 | import java.util.Collection;
6 | import java.util.HashMap;
7 | import java.util.Map;
8 |
9 | public abstract class BasePeripheralOwner implements IPeripheralOwner {
10 | private final Map, IOwnerAbility> abilities;
11 |
12 | public BasePeripheralOwner() {
13 | abilities = new HashMap<>();
14 | }
15 |
16 | @Override
17 | public void attachAbility(PeripheralOwnerAbility ability, T abilityImplementation) {
18 | abilities.put(ability, abilityImplementation);
19 | }
20 |
21 | @SuppressWarnings("unchecked")
22 | @Override
23 | @Nullable
24 | public T getAbility(PeripheralOwnerAbility ability) {
25 | return (T) abilities.get(ability);
26 | }
27 |
28 | @Override
29 | public Collection getAbilities() {
30 | return abilities.values();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/IOwnerAbility.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.owner;
2 |
3 | import java.util.Map;
4 |
5 | public interface IOwnerAbility {
6 | default void collectConfiguration(Map dict) {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/InfinitePocketFuelAbility.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.owner;
2 |
3 | import org.jetbrains.annotations.NotNull;
4 |
5 | /**
6 | * This is a copy of the FuelAbility class, but with the fuel consumption disabled.
7 | * This is used for the Pocket Computer.
8 | */
9 | public class InfinitePocketFuelAbility extends FuelAbility {
10 |
11 | public InfinitePocketFuelAbility(@NotNull PocketPeripheralOwner owner) {
12 | super(owner);
13 | }
14 |
15 | @Override
16 | protected boolean consumeFuel(int count) {
17 | return true;
18 | }
19 |
20 | @Override
21 | protected int getMaxFuelConsumptionRate() {
22 | return Integer.MAX_VALUE;
23 | }
24 |
25 | @Override
26 | public boolean isFuelConsumptionDisable() {
27 | return true;
28 | }
29 |
30 | @Override
31 | public int getFuelCount() {
32 | return Integer.MAX_VALUE;
33 | }
34 |
35 | @Override
36 | public int getFuelMaxCount() {
37 | return Integer.MAX_VALUE;
38 | }
39 |
40 | @Override
41 | public void addFuel(int count) {
42 | // Not needed for infinite fuel
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/PeripheralOwnerAbility.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.owner;
2 |
3 | @SuppressWarnings("InstantiationOfUtilityClass")
4 | public class PeripheralOwnerAbility {
5 | public static final PeripheralOwnerAbility> FUEL = new PeripheralOwnerAbility<>();
6 | public static final PeripheralOwnerAbility OPERATION = new PeripheralOwnerAbility<>();
7 |
8 | public PeripheralOwnerAbility() {
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/TurtleFuelAbility.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.owner;
2 |
3 | import org.jetbrains.annotations.NotNull;
4 |
5 | public class TurtleFuelAbility extends FuelAbility {
6 | private final int maxFuelConsumptionLevel;
7 |
8 | public TurtleFuelAbility(@NotNull TurtlePeripheralOwner owner, int maxFuelConsumptionLevel) {
9 | super(owner);
10 | this.maxFuelConsumptionLevel = maxFuelConsumptionLevel;
11 | }
12 |
13 | @Override
14 | protected boolean consumeFuel(int count) {
15 | return owner.turtle.consumeFuel(count);
16 | }
17 |
18 | @Override
19 | protected int getMaxFuelConsumptionRate() {
20 | return maxFuelConsumptionLevel;
21 | }
22 |
23 | @Override
24 | public boolean isFuelConsumptionDisable() {
25 | return !owner.getTurtle().isFuelNeeded();
26 | }
27 |
28 | @Override
29 | public int getFuelCount() {
30 | return owner.turtle.getFuelLevel();
31 | }
32 |
33 | @Override
34 | public int getFuelMaxCount() {
35 | return owner.turtle.getFuelLimit();
36 | }
37 |
38 | @Override
39 | public void addFuel(int count) {
40 | owner.turtle.addFuel(count);
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/CompassPeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import dan200.computercraft.api.turtle.ITurtleAccess;
5 | import dan200.computercraft.api.turtle.TurtleSide;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.owner.TurtlePeripheralOwner;
7 | import de.srendi.advancedperipherals.common.configuration.APConfig;
8 | import de.srendi.advancedperipherals.lib.peripherals.BasePeripheral;
9 |
10 | public class CompassPeripheral extends BasePeripheral {
11 |
12 | public static final String PERIPHERAL_TYPE = "compass";
13 |
14 | protected CompassPeripheral(TurtlePeripheralOwner owner) {
15 | super(PERIPHERAL_TYPE, owner);
16 | }
17 |
18 | public CompassPeripheral(ITurtleAccess turtle, TurtleSide side) {
19 | this(new TurtlePeripheralOwner(turtle, side));
20 | }
21 |
22 | @Override
23 | public boolean isEnabled() {
24 | return APConfig.PERIPHERALS_CONFIG.enableCompassTurtle.get();
25 | }
26 |
27 | @LuaFunction(mainThread = true)
28 | public String getFacing() {
29 | return owner.getFacing().toString();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/metaphysics/EndAutomataCorePeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral.metaphysics;
2 |
3 | import dan200.computercraft.api.turtle.ITurtleAccess;
4 | import dan200.computercraft.api.turtle.TurtleSide;
5 | import de.srendi.advancedperipherals.common.addons.computercraft.operations.AutomataCoreTier;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.plugins.AutomataWarpingPlugin;
7 | import de.srendi.advancedperipherals.common.configuration.APConfig;
8 | import de.srendi.advancedperipherals.lib.metaphysics.IAutomataCoreTier;
9 |
10 |
11 | public class EndAutomataCorePeripheral extends WeakAutomataCorePeripheral {
12 |
13 | public static final String TYPE = "end_automata";
14 |
15 | public EndAutomataCorePeripheral(ITurtleAccess turtle, TurtleSide side) {
16 | this(TYPE, turtle, side, AutomataCoreTier.TIER2);
17 | }
18 |
19 | protected EndAutomataCorePeripheral(String type, ITurtleAccess turtle, TurtleSide side, IAutomataCoreTier tier) {
20 | super(type, turtle, side, tier);
21 | addPlugin(new AutomataWarpingPlugin(this));
22 | }
23 |
24 | @Override
25 | public boolean isEnabled() {
26 | return APConfig.METAPHYSICS_CONFIG.enableEndAutomataCore.get();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/metaphysics/OverpoweredEndAutomataCorePeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral.metaphysics;
2 |
3 | import dan200.computercraft.api.turtle.ITurtleAccess;
4 | import dan200.computercraft.api.turtle.TurtleSide;
5 | import de.srendi.advancedperipherals.AdvancedPeripherals;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.operations.AutomataCoreTier;
7 | import de.srendi.advancedperipherals.common.configuration.APConfig;
8 |
9 | public class OverpoweredEndAutomataCorePeripheral extends EndAutomataCorePeripheral {
10 |
11 | public static final String TYPE = "overpowered_end_automata";
12 |
13 | public OverpoweredEndAutomataCorePeripheral(ITurtleAccess turtle, TurtleSide side) {
14 | super(TYPE, turtle, side, AutomataCoreTier.OVERPOWERED_TIER2);
15 | setAttribute(ATTR_STORING_TOOL_DURABILITY);
16 | }
17 |
18 | public void addRotationCycle(int count) {
19 | super.addRotationCycle(count);
20 | if (AdvancedPeripherals.RANDOM.nextDouble() <= APConfig.METAPHYSICS_CONFIG.overpoweredAutomataBreakChance.get())
21 | owner.destroyUpgrade();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/metaphysics/OverpoweredHusbandryAutomataCorePeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral.metaphysics;
2 |
3 | import dan200.computercraft.api.turtle.ITurtleAccess;
4 | import dan200.computercraft.api.turtle.TurtleSide;
5 | import de.srendi.advancedperipherals.AdvancedPeripherals;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.operations.AutomataCoreTier;
7 | import de.srendi.advancedperipherals.common.configuration.APConfig;
8 |
9 | public class OverpoweredHusbandryAutomataCorePeripheral extends HusbandryAutomataCorePeripheral {
10 |
11 | public static final String TYPE = "overpowered_husbandry_automata";
12 |
13 | public OverpoweredHusbandryAutomataCorePeripheral(ITurtleAccess turtle, TurtleSide side) {
14 | super(TYPE, turtle, side, AutomataCoreTier.OVERPOWERED_TIER2);
15 | setAttribute(ATTR_STORING_TOOL_DURABILITY);
16 | }
17 |
18 | public void addRotationCycle(int count) {
19 | super.addRotationCycle(count);
20 | if (AdvancedPeripherals.RANDOM.nextDouble() <= APConfig.METAPHYSICS_CONFIG.overpoweredAutomataBreakChance.get())
21 | owner.destroyUpgrade();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/metaphysics/OverpoweredWeakAutomataCorePeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral.metaphysics;
2 |
3 | import dan200.computercraft.api.turtle.ITurtleAccess;
4 | import dan200.computercraft.api.turtle.TurtleSide;
5 | import de.srendi.advancedperipherals.AdvancedPeripherals;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.operations.AutomataCoreTier;
7 | import de.srendi.advancedperipherals.common.configuration.APConfig;
8 |
9 | public class OverpoweredWeakAutomataCorePeripheral extends WeakAutomataCorePeripheral {
10 |
11 | public static final String TYPE = "overpowered_weak_automata";
12 |
13 | public OverpoweredWeakAutomataCorePeripheral(ITurtleAccess turtle, TurtleSide side) {
14 | super(TYPE, turtle, side, AutomataCoreTier.OVERPOWERED_TIER1);
15 | setAttribute(ATTR_STORING_TOOL_DURABILITY);
16 | }
17 |
18 | public void addRotationCycle(int count) {
19 | super.addRotationCycle(count);
20 | if (AdvancedPeripherals.RANDOM.nextDouble() <= APConfig.METAPHYSICS_CONFIG.overpoweredAutomataBreakChance.get())
21 | owner.destroyUpgrade();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/plugins/AutomataCorePlugin.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.peripheral.plugins;
2 |
3 | import de.srendi.advancedperipherals.lib.peripherals.AutomataCorePeripheral;
4 | import de.srendi.advancedperipherals.lib.peripherals.IPeripheralPlugin;
5 |
6 | public class AutomataCorePlugin implements IPeripheralPlugin {
7 |
8 | protected final AutomataCorePeripheral automataCore;
9 |
10 | public AutomataCorePlugin(AutomataCorePeripheral automataCore) {
11 | this.automataCore = automataCore;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/pocket/PocketChatBoxUpgrade.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.pocket;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import dan200.computercraft.api.pocket.IPocketUpgrade;
5 | import dan200.computercraft.api.upgrades.UpgradeType;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.ChatBoxPeripheral;
7 | import de.srendi.advancedperipherals.common.setup.CCRegistration;
8 | import de.srendi.advancedperipherals.lib.pocket.BasePocketUpgrade;
9 | import net.minecraft.world.item.ItemStack;
10 | import org.jetbrains.annotations.Nullable;
11 |
12 | public class PocketChatBoxUpgrade extends BasePocketUpgrade {
13 |
14 | public PocketChatBoxUpgrade(ItemStack stack) {
15 | super(CCRegistration.ID.CHATTY_POCKET, stack);
16 | }
17 |
18 | @Nullable
19 | @Override
20 | public ChatBoxPeripheral getPeripheral(IPocketAccess access) {
21 | return new ChatBoxPeripheral(access);
22 | }
23 |
24 | @Override
25 | public UpgradeType extends IPocketUpgrade> getType() {
26 | return CCRegistration.CHAT_BOX_POCKET.get();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/pocket/PocketColonyIntegratorUpgrade.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.pocket;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import dan200.computercraft.api.pocket.IPocketUpgrade;
5 | import dan200.computercraft.api.upgrades.UpgradeType;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.ColonyPeripheral;
7 | import de.srendi.advancedperipherals.common.setup.CCRegistration;
8 | import de.srendi.advancedperipherals.lib.pocket.BasePocketUpgrade;
9 | import net.minecraft.world.item.ItemStack;
10 |
11 | public class PocketColonyIntegratorUpgrade extends BasePocketUpgrade {
12 |
13 | public PocketColonyIntegratorUpgrade(ItemStack stack) {
14 | super(CCRegistration.ID.COLONY_POCKET, stack);
15 | }
16 |
17 | @Override
18 | protected ColonyPeripheral getPeripheral(IPocketAccess access) {
19 | return new ColonyPeripheral(access);
20 | }
21 |
22 | @Override
23 | public UpgradeType extends IPocketUpgrade> getType() {
24 | return CCRegistration.COLONY_POCKET.get();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/pocket/PocketEnvironmentUpgrade.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.pocket;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import dan200.computercraft.api.pocket.IPocketUpgrade;
5 | import dan200.computercraft.api.upgrades.UpgradeType;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.EnvironmentDetectorPeripheral;
7 | import de.srendi.advancedperipherals.common.setup.CCRegistration;
8 | import de.srendi.advancedperipherals.lib.pocket.BasePocketUpgrade;
9 | import net.minecraft.world.item.ItemStack;
10 | import org.jetbrains.annotations.NotNull;
11 | import org.jetbrains.annotations.Nullable;
12 |
13 | public class PocketEnvironmentUpgrade extends BasePocketUpgrade {
14 |
15 | public PocketEnvironmentUpgrade(ItemStack stack) {
16 | super(CCRegistration.ID.ENVIRONMENT_POCKET, stack);
17 | }
18 |
19 | @Nullable
20 | @Override
21 | public EnvironmentDetectorPeripheral getPeripheral(@NotNull IPocketAccess iPocketAccess) {
22 | return new EnvironmentDetectorPeripheral(iPocketAccess);
23 | }
24 |
25 | @Override
26 | public UpgradeType extends IPocketUpgrade> getType() {
27 | return CCRegistration.ENVIRONMENT_POCKET.get();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/pocket/PocketGeoScannerUpgrade.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.pocket;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import dan200.computercraft.api.pocket.IPocketUpgrade;
5 | import dan200.computercraft.api.upgrades.UpgradeType;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.GeoScannerPeripheral;
7 | import de.srendi.advancedperipherals.common.setup.CCRegistration;
8 | import de.srendi.advancedperipherals.lib.pocket.BasePocketUpgrade;
9 | import net.minecraft.world.item.ItemStack;
10 | import org.jetbrains.annotations.NotNull;
11 | import org.jetbrains.annotations.Nullable;
12 |
13 | public class PocketGeoScannerUpgrade extends BasePocketUpgrade {
14 |
15 | public PocketGeoScannerUpgrade(ItemStack stack) {
16 | super(CCRegistration.ID.GEOSCANNER_POCKET, stack);
17 | }
18 |
19 | @Nullable
20 | @Override
21 | public GeoScannerPeripheral getPeripheral(@NotNull IPocketAccess iPocketAccess) {
22 | return new GeoScannerPeripheral(iPocketAccess);
23 | }
24 |
25 | @Override
26 | public UpgradeType extends IPocketUpgrade> getType() {
27 | return CCRegistration.GEO_SCANNER_POCKET.get();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/pocket/PocketPlayerDetectorUpgrade.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.computercraft.pocket;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import dan200.computercraft.api.pocket.IPocketUpgrade;
5 | import dan200.computercraft.api.upgrades.UpgradeType;
6 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.PlayerDetectorPeripheral;
7 | import de.srendi.advancedperipherals.common.setup.CCRegistration;
8 | import de.srendi.advancedperipherals.lib.pocket.BasePocketUpgrade;
9 | import net.minecraft.world.item.ItemStack;
10 | import org.jetbrains.annotations.NotNull;
11 | import org.jetbrains.annotations.Nullable;
12 |
13 | public class PocketPlayerDetectorUpgrade extends BasePocketUpgrade {
14 |
15 | public PocketPlayerDetectorUpgrade(ItemStack stack) {
16 | super(CCRegistration.ID.PLAYER_POCKET, stack);
17 | }
18 |
19 | @Nullable
20 | @Override
21 | public PlayerDetectorPeripheral getPeripheral(@NotNull IPocketAccess iPocketAccess) {
22 | return new PlayerDetectorPeripheral(iPocketAccess);
23 | }
24 |
25 | @Override
26 | public UpgradeType extends IPocketUpgrade> getType() {
27 | return CCRegistration.PLAYER_DETECTOR_POCKET.get();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/mekanism/EnvironmentRadiationPlugin.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.mekanism;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.common.addons.computercraft.owner.IPeripheralOwner;
5 | import de.srendi.advancedperipherals.lib.peripherals.IPeripheralPlugin;
6 |
7 | public class EnvironmentRadiationPlugin implements IPeripheralPlugin {
8 | private final IPeripheralOwner owner;
9 |
10 | public EnvironmentRadiationPlugin(IPeripheralOwner owner) {
11 | this.owner = owner;
12 | }
13 |
14 | @LuaFunction(mainThread = true)
15 | public final Object getRadiation() {
16 | return Mekanism.getRadiation(owner.getLevel(), owner.getPos());
17 | }
18 |
19 | @LuaFunction(mainThread = true)
20 | public final double getRadiationRaw() {
21 | return Mekanism.getRadiationRaw(owner.getLevel(), owner.getPos());
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/mekanism/Integration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.mekanism;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.EnvironmentDetectorPeripheral;
4 |
5 | public class Integration implements Runnable {
6 |
7 | @Override
8 | public void run() {
9 | EnvironmentDetectorPeripheral.addIntegrationPlugin(EnvironmentRadiationPlugin::new);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/powah/EnergyCellIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.powah;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.lib.peripherals.APGenericPeripheral;
5 | import owmii.powah.block.energycell.EnergyCellTile;
6 |
7 | public class EnergyCellIntegration implements APGenericPeripheral {
8 |
9 | @Override
10 | public String getPeripheralType() {
11 | return "energy_cell";
12 | }
13 |
14 | @LuaFunction(mainThread = true)
15 | public final double getStoredEnergy(EnergyCellTile blockEntity) {
16 | return blockEntity.getEnergy().getEnergyStored();
17 | }
18 |
19 | @LuaFunction(mainThread = true)
20 | public final double getMaxEnergy(EnergyCellTile blockEntity) {
21 | return blockEntity.getEnergy().getMaxEnergyStored();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/powah/Integration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.powah;
2 |
3 | import dan200.computercraft.api.ComputerCraftAPI;
4 |
5 | public class Integration implements Runnable {
6 |
7 | @Override
8 | public void run() {
9 | ComputerCraftAPI.registerGenericSource(new ReactorIntegration());
10 | ComputerCraftAPI.registerGenericSource(new EnergyCellIntegration());
11 | ComputerCraftAPI.registerGenericSource(new EnderCellIntegration());
12 | ComputerCraftAPI.registerGenericSource(new SolarPanelIntegration());
13 | ComputerCraftAPI.registerGenericSource(new FurnatorIntegration());
14 | ComputerCraftAPI.registerGenericSource(new MagmatorIntegration());
15 | ComputerCraftAPI.registerGenericSource(new ThermoIntegration());
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/powah/MagmatorIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.powah;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.common.util.LuaConverter;
5 | import de.srendi.advancedperipherals.lib.peripherals.APGenericPeripheral;
6 | import owmii.powah.block.magmator.MagmatorTile;
7 |
8 | public class MagmatorIntegration implements APGenericPeripheral {
9 |
10 | @Override
11 | public String getPeripheralType() {
12 | return "magmator";
13 | }
14 |
15 | @LuaFunction(mainThread = true)
16 | public final double getStoredEnergy(MagmatorTile blockEntity) {
17 | return blockEntity.getEnergy().getEnergyStored();
18 | }
19 |
20 | @LuaFunction(mainThread = true)
21 | public final double getMaxEnergy(MagmatorTile blockEntity) {
22 | return blockEntity.getEnergy().getMaxEnergyStored();
23 | }
24 |
25 | @LuaFunction
26 | public final boolean isBurning(MagmatorTile blockEntity) {
27 | return blockEntity.isBurning();
28 | }
29 |
30 | // getTank is thread safe
31 | @LuaFunction
32 | public final Object getFuelTank(MagmatorTile blockEntity) {
33 | return LuaConverter.fluidStackToObject(blockEntity.getTank().getFluid());
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/powah/SolarPanelIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.powah;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.lib.peripherals.APGenericPeripheral;
5 | import owmii.powah.block.solar.SolarTile;
6 |
7 | public class SolarPanelIntegration implements APGenericPeripheral {
8 |
9 | @Override
10 | public String getPeripheralType() {
11 | return "solar_panel";
12 | }
13 |
14 | @LuaFunction(mainThread = true)
15 | public final double getStoredEnergy(SolarTile blockEntity) {
16 | return blockEntity.getEnergy().getEnergyStored();
17 | }
18 |
19 | @LuaFunction(mainThread = true)
20 | public final double getMaxEnergy(SolarTile blockEntity) {
21 | return blockEntity.getEnergy().getMaxEnergyStored();
22 | }
23 |
24 | @LuaFunction
25 | public final boolean canSeeSky(SolarTile blockEntity) {
26 | return blockEntity.canSeeSky();
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/powah/ThermoIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.powah;
2 |
3 | import dan200.computercraft.api.lua.LuaFunction;
4 | import de.srendi.advancedperipherals.common.util.LuaConverter;
5 | import de.srendi.advancedperipherals.lib.peripherals.APGenericPeripheral;
6 | import owmii.powah.block.thermo.ThermoTile;
7 |
8 | public class ThermoIntegration implements APGenericPeripheral {
9 |
10 | @Override
11 | public String getPeripheralType() {
12 | return "thermo";
13 | }
14 |
15 | @LuaFunction(mainThread = true)
16 | public final double getStoredEnergy(ThermoTile blockEntity) {
17 | return blockEntity.getEnergy().getEnergyStored();
18 | }
19 |
20 | @LuaFunction(mainThread = true)
21 | public final double getMaxEnergy(ThermoTile blockEntity) {
22 | return blockEntity.getEnergy().getMaxEnergyStored();
23 | }
24 |
25 | @LuaFunction
26 | public final Object getCoolantTank(ThermoTile blockEntity) {
27 | return LuaConverter.fluidStackToObject(blockEntity.getTank().getFluid());
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/addons/refinedstorage/RsStorageTypes.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.addons.refinedstorage;
2 |
3 | import com.refinedmods.refinedstorage.common.api.storage.StorageType;
4 | import com.refinedmods.refinedstorage.common.storage.StorageTypes;
5 | import com.refinedmods.refinedstorage.mekanism.ChemicalResourceType;
6 | import de.srendi.advancedperipherals.common.addons.APAddon;
7 |
8 | import java.util.function.Supplier;
9 |
10 | /**
11 | * To better support third party RS addons and to prevent any jvm loading issues when third party addons are not loaded
12 | */
13 | public enum RsStorageTypes {
14 |
15 | ITEM(() -> StorageTypes.ITEM),
16 | FLUID(() -> StorageTypes.FLUID),
17 | CHEMICAL(() -> {
18 | if (APAddon.REFINEDSTORAGE_MEKANISM.isLoaded())
19 | return ChemicalResourceType.STORAGE_TYPE;
20 | return null;
21 | });
22 |
23 | private final Supplier storageType;
24 |
25 | RsStorageTypes(Supplier storageType) {
26 | this.storageType = storageType;
27 | }
28 |
29 | public StorageType getStorageType() {
30 | return storageType.get();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/base/ICapabilityProvider.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.base;
2 |
3 | import dan200.computercraft.api.peripheral.IPeripheral;
4 | import net.minecraft.core.Direction;
5 | import net.neoforged.neoforge.energy.IEnergyStorage;
6 | import net.neoforged.neoforge.fluids.capability.IFluidHandler;
7 | import net.neoforged.neoforge.items.IItemHandler;
8 | import org.jetbrains.annotations.Nullable;
9 |
10 | public interface ICapabilityProvider {
11 |
12 | @Nullable
13 | default IPeripheral createPeripheralCap(@Nullable Direction side) {
14 | return null;
15 | }
16 |
17 | @Nullable
18 | default IFluidHandler createFluidHandlerCap(@Nullable Direction side) {
19 | return null;
20 | }
21 |
22 | @Nullable
23 | default IItemHandler createItemHandlerCap(@Nullable Direction side) {
24 | return null;
25 | }
26 |
27 | @Nullable
28 | default IEnergyStorage createEnergyStorageCap(@Nullable Direction side) {
29 | return null;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/base/IHarvestableBlock.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.base;
2 |
3 | import net.minecraft.tags.BlockTags;
4 | import net.minecraft.tags.TagKey;
5 | import net.minecraft.world.level.block.Block;
6 |
7 | public interface IHarvestableBlock {
8 |
9 | TagKey getHarvestTag();
10 |
11 | default TagKey getToolTag() {
12 | return BlockTags.MINEABLE_WITH_PICKAXE;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/base/IInventoryBlock.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.base;
2 |
3 | import de.srendi.advancedperipherals.common.container.base.BaseContainer;
4 | import net.minecraft.core.BlockPos;
5 | import net.minecraft.network.chat.Component;
6 | import net.minecraft.world.entity.player.Inventory;
7 | import net.minecraft.world.level.Level;
8 |
9 | /**
10 | * Used to assign a container to a TileEntity
11 | *
12 | * @param The container related to this inventory
13 | * @deprecated Will be merged with the APBlock in 0.9
14 | */
15 |
16 | @Deprecated(since = "0.7.16", forRemoval = true)
17 | public interface IInventoryBlock {
18 |
19 | Component getDisplayName();
20 |
21 | T createContainer(int id, Inventory playerInventory, BlockPos pos, Level world);
22 |
23 | int getInvSize();
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/blockentities/BlockReaderEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.blockentities;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.BlockReaderPeripheral;
4 | import de.srendi.advancedperipherals.common.blocks.base.PeripheralBlockEntity;
5 | import de.srendi.advancedperipherals.common.setup.BlockEntityTypes;
6 | import net.minecraft.core.BlockPos;
7 | import net.minecraft.world.level.block.state.BlockState;
8 | import org.jetbrains.annotations.NotNull;
9 |
10 | public class BlockReaderEntity extends PeripheralBlockEntity {
11 |
12 | public BlockReaderEntity(BlockPos pos, BlockState state) {
13 | super(BlockEntityTypes.BLOCK_READER.get(), pos, state);
14 | }
15 |
16 | @NotNull
17 | @Override
18 | protected BlockReaderPeripheral createPeripheral() {
19 | return new BlockReaderPeripheral(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/blockentities/ChatBoxEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.blockentities;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.ChatBoxPeripheral;
4 | import de.srendi.advancedperipherals.common.blocks.base.PeripheralBlockEntity;
5 | import de.srendi.advancedperipherals.common.setup.BlockEntityTypes;
6 | import net.minecraft.core.BlockPos;
7 | import net.minecraft.world.level.Level;
8 | import net.minecraft.world.level.block.entity.BlockEntity;
9 | import net.minecraft.world.level.block.entity.BlockEntityType;
10 | import net.minecraft.world.level.block.state.BlockState;
11 | import org.jetbrains.annotations.NotNull;
12 |
13 | public class ChatBoxEntity extends PeripheralBlockEntity {
14 | public ChatBoxEntity(BlockPos pos, BlockState state) {
15 | super(BlockEntityTypes.CHAT_BOX.get(), pos, state);
16 | }
17 |
18 | @NotNull
19 | @Override
20 | protected ChatBoxPeripheral createPeripheral() {
21 | return new ChatBoxPeripheral(this);
22 | }
23 |
24 | @Override
25 | public void handleTick(Level level, BlockState state, BlockEntityType type) {
26 | if (peripheral != null) {
27 | peripheral.update();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/blockentities/ColonyIntegratorEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.blockentities;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.ColonyPeripheral;
4 | import de.srendi.advancedperipherals.common.blocks.base.PeripheralBlockEntity;
5 | import de.srendi.advancedperipherals.common.setup.BlockEntityTypes;
6 | import net.minecraft.core.BlockPos;
7 | import net.minecraft.world.level.block.state.BlockState;
8 | import org.jetbrains.annotations.NotNull;
9 |
10 | public class ColonyIntegratorEntity extends PeripheralBlockEntity {
11 |
12 | public ColonyIntegratorEntity(BlockPos pos, BlockState state) {
13 | super(BlockEntityTypes.COLONY_INTEGRATOR.get(), pos, state);
14 | }
15 |
16 | @NotNull
17 | @Override
18 | protected ColonyPeripheral createPeripheral() {
19 | return new ColonyPeripheral(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/blockentities/EnvironmentDetectorEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.blockentities;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.EnvironmentDetectorPeripheral;
4 | import de.srendi.advancedperipherals.common.blocks.base.PoweredPeripheralBlockEntity;
5 | import de.srendi.advancedperipherals.common.configuration.APConfig;
6 | import de.srendi.advancedperipherals.common.setup.BlockEntityTypes;
7 | import net.minecraft.core.BlockPos;
8 | import net.minecraft.world.level.block.state.BlockState;
9 | import org.jetbrains.annotations.NotNull;
10 |
11 | public class EnvironmentDetectorEntity extends PoweredPeripheralBlockEntity {
12 |
13 | public EnvironmentDetectorEntity(BlockPos pos, BlockState state) {
14 | super(BlockEntityTypes.ENVIRONMENT_DETECTOR.get(), pos, state);
15 | }
16 |
17 | @Override
18 | protected int getMaxEnergyStored() {
19 | return APConfig.PERIPHERALS_CONFIG.poweredPeripheralMaxEnergyStorage.get();
20 | }
21 |
22 | @NotNull
23 | @Override
24 | protected EnvironmentDetectorPeripheral createPeripheral() {
25 | return new EnvironmentDetectorPeripheral(this);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/blocks/blockentities/GeoScannerEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.blocks.blockentities;
2 |
3 | import de.srendi.advancedperipherals.common.addons.computercraft.peripheral.GeoScannerPeripheral;
4 | import de.srendi.advancedperipherals.common.blocks.base.PoweredPeripheralBlockEntity;
5 | import de.srendi.advancedperipherals.common.configuration.APConfig;
6 | import de.srendi.advancedperipherals.common.setup.BlockEntityTypes;
7 | import net.minecraft.core.BlockPos;
8 | import net.minecraft.world.level.block.state.BlockState;
9 | import org.jetbrains.annotations.NotNull;
10 |
11 | public class GeoScannerEntity extends PoweredPeripheralBlockEntity {
12 |
13 | public GeoScannerEntity(BlockPos pos, BlockState state) {
14 | super(BlockEntityTypes.GEO_SCANNER.get(), pos, state);
15 | }
16 |
17 | @Override
18 | protected int getMaxEnergyStored() {
19 | return APConfig.PERIPHERALS_CONFIG.poweredPeripheralMaxEnergyStorage.get();
20 | }
21 |
22 | @Override
23 | protected @NotNull GeoScannerPeripheral createPeripheral() {
24 | return new GeoScannerPeripheral(this);
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/configuration/IAPConfig.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.configuration;
2 |
3 | import de.srendi.advancedperipherals.lib.misc.IConfigHandler;
4 | import net.neoforged.fml.config.ModConfig;
5 | import net.neoforged.neoforge.common.ModConfigSpec;
6 |
7 | public interface IAPConfig {
8 |
9 | ModConfigSpec getConfigSpec();
10 |
11 | String getFileName();
12 |
13 | ModConfig.Type getType();
14 |
15 | default void register(IConfigHandler[] data, final ModConfigSpec.Builder builder) {
16 | for (IConfigHandler handler : data) {
17 | handler.addToConfig(builder);
18 | }
19 | }
20 |
21 | default void pop(String name, ModConfigSpec.Builder builder) {
22 | builder.pop();
23 | builder.push(name);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/configuration/UnsafeConfig.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.configuration;
2 |
3 | import net.neoforged.neoforge.common.ModConfigSpec;
4 |
5 | public class UnsafeConfig {
6 |
7 | private static ModConfigSpec.BooleanValue enableUnsafe;
8 | private static ModConfigSpec.BooleanValue ignoreTurtlePeripheralItemNBT;
9 |
10 | public static void build(final ModConfigSpec.Builder builder) {
11 | enableUnsafe = builder.comment("By setting this value to true, I understand all operations below are danger to my adventure, and if they caused unexpected behavior in my world, I will not consider it as AP's liability").define("enableUnsafe", false);
12 | ignoreTurtlePeripheralItemNBT = builder.comment("Ignore turtle peripheral item's NBT when equipping. **YOU WILL LOSE ALL NBT ON THE ITEM**").define("ignoreTurtlePeripheralItemNBT", false);
13 | }
14 |
15 | public static boolean enabled() {
16 | return enableUnsafe.get();
17 | }
18 |
19 | public static boolean getIgnoreTurtlePeripheralItemNBT() {
20 | return enabled() && ignoreTurtlePeripheralItemNBT.get();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/container/InventoryManagerScreen.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.container;
2 |
3 | import de.srendi.advancedperipherals.AdvancedPeripherals;
4 | import de.srendi.advancedperipherals.common.container.base.BaseScreen;
5 | import net.minecraft.network.chat.Component;
6 | import net.minecraft.resources.ResourceLocation;
7 | import net.minecraft.world.entity.player.Inventory;
8 |
9 | public class InventoryManagerScreen extends BaseScreen {
10 |
11 | public InventoryManagerScreen(InventoryManagerContainer screenContainer, Inventory inv, Component titleIn) {
12 | super(screenContainer, inv, titleIn);
13 | }
14 |
15 | @Override
16 | public int getSizeX() {
17 | return 174;
18 | }
19 |
20 | @Override
21 | public int getSizeY() {
22 | return 165;
23 | }
24 |
25 | @Override
26 | public ResourceLocation getTexture() {
27 | return AdvancedPeripherals.getRL("textures/gui/inventory_manager_gui.png");
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/container/base/NamedContainerProvider.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.container.base;
2 |
3 | import net.minecraft.network.chat.Component;
4 | import net.minecraft.world.MenuProvider;
5 | import net.minecraft.world.entity.player.Inventory;
6 | import net.minecraft.world.entity.player.Player;
7 | import net.minecraft.world.inventory.AbstractContainerMenu;
8 | import net.minecraft.world.inventory.MenuConstructor;
9 | import org.jetbrains.annotations.Nullable;
10 |
11 | public class NamedContainerProvider implements MenuProvider {
12 |
13 | protected Component component;
14 | protected MenuConstructor containerProvider;
15 |
16 | public NamedContainerProvider(Component component, MenuConstructor containerProvider) {
17 | this.component = component;
18 | this.containerProvider = containerProvider;
19 | }
20 |
21 | @Override
22 | public Component getDisplayName() {
23 | return component;
24 | }
25 |
26 | @Nullable
27 | @Override
28 | public AbstractContainerMenu createMenu(int id, Inventory playerInventory, Player playerEntity) {
29 | return containerProvider.createMenu(id, playerInventory, playerEntity);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/container/base/SlotInputHandler.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.container.base;
2 |
3 | import net.minecraft.world.item.ItemStack;
4 | import net.neoforged.neoforge.items.IItemHandler;
5 | import net.neoforged.neoforge.items.SlotItemHandler;
6 | import org.jetbrains.annotations.NotNull;
7 |
8 | public class SlotInputHandler extends SlotItemHandler {
9 |
10 | SlotCondition condition;
11 |
12 | public SlotInputHandler(IItemHandler itemHandler, int index, int xPosition, int yPosition, SlotCondition condition) {
13 | super(itemHandler, index, xPosition, yPosition);
14 | this.condition = condition;
15 | }
16 |
17 | @Override
18 | public boolean mayPlace(@NotNull ItemStack stack) {
19 | return condition.isValid(stack);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/data/BlockLootTables.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.data;
2 |
3 | import de.srendi.advancedperipherals.common.setup.Registration;
4 | import net.minecraft.core.HolderLookup;
5 | import net.minecraft.data.loot.BlockLootSubProvider;
6 | import net.minecraft.world.flag.FeatureFlags;
7 | import net.minecraft.world.level.block.Block;
8 | import net.neoforged.neoforge.registries.DeferredHolder;
9 | import org.jetbrains.annotations.NotNull;
10 |
11 | import java.util.Set;
12 |
13 | public class BlockLootTables extends BlockLootSubProvider {
14 |
15 | protected BlockLootTables(HolderLookup.Provider provider) {
16 | super(Set.of(), FeatureFlags.REGISTRY.allFlags(), provider);
17 | }
18 |
19 | @Override
20 | protected void generate() {
21 | Registration.BLOCKS.getEntries().stream().map(DeferredHolder::get).forEach(registeredBlock -> {
22 | //Allow blocks to transfer their name to the dropped block when broken
23 | this.add(registeredBlock, this::createNameableBlockEntityTable);
24 | });
25 | }
26 |
27 | @NotNull
28 | @Override
29 | protected Iterable getKnownBlocks() {
30 | return Registration.BLOCKS.getEntries().stream().map(DeferredHolder::get).map((block) -> (Block) block)::iterator;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/items/APBlockItem.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.items;
2 |
3 | import de.srendi.advancedperipherals.common.items.base.BaseBlockItem;
4 | import net.minecraft.world.level.block.Block;
5 |
6 | import java.util.function.Supplier;
7 |
8 | public class APBlockItem extends BaseBlockItem {
9 |
10 | private final Supplier enabledSup;
11 |
12 | public APBlockItem(Block blockIn, Properties properties, Supplier enabledSup) {
13 | super(blockIn, properties);
14 | this.enabledSup = enabledSup;
15 | }
16 |
17 | public APBlockItem(Block blockIn, Supplier enabledSup) {
18 | super(blockIn);
19 | this.enabledSup = enabledSup;
20 | }
21 |
22 | @Override
23 | public boolean isEnabled() {
24 | return enabledSup.get();
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/items/APItem.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.items;
2 |
3 | import de.srendi.advancedperipherals.common.items.base.BaseItem;
4 |
5 | import java.util.function.Supplier;
6 |
7 | public class APItem extends BaseItem {
8 | private final Supplier enabledSup;
9 |
10 | public APItem(Properties properties, Supplier enabledSup) {
11 | super(properties);
12 | this.enabledSup = enabledSup;
13 | }
14 |
15 | public APItem(Supplier enabledSup) {
16 | super();
17 | this.enabledSup = enabledSup;
18 | }
19 |
20 | @Override
21 | public boolean isEnabled() {
22 | return enabledSup.get();
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/items/base/IInventoryItem.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.items.base;
2 |
3 | import net.minecraft.world.MenuProvider;
4 | import net.minecraft.world.entity.player.Player;
5 | import net.minecraft.world.item.ItemStack;
6 |
7 | public interface IInventoryItem {
8 |
9 | MenuProvider createContainer(Player playerEntity, ItemStack itemStack);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/setup/ContainerTypes.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.setup;
2 |
3 | import de.srendi.advancedperipherals.common.container.InventoryManagerContainer;
4 | import net.minecraft.core.BlockPos;
5 | import net.minecraft.world.inventory.MenuType;
6 | import net.minecraft.world.level.Level;
7 | import net.neoforged.neoforge.common.extensions.IMenuTypeExtension;
8 | import net.neoforged.neoforge.registries.DeferredHolder;
9 |
10 | public class ContainerTypes {
11 |
12 | public static final DeferredHolder, MenuType> INVENTORY_MANAGER_CONTAINER = Registration.CONTAINER_TYPES.register("memory_card_container", () -> IMenuTypeExtension.create((windowId, inv, data) -> {
13 | BlockPos pos = data.readBlockPos();
14 | Level level = inv.player.getCommandSenderWorld();
15 | return new InventoryManagerContainer(windowId, inv, pos, level);
16 | }));
17 |
18 | public static void register() {
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/setup/CreativeTabs.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.setup;
2 |
3 | import de.srendi.advancedperipherals.APCreativeTab;
4 | import de.srendi.advancedperipherals.AdvancedPeripherals;
5 | import net.minecraft.world.item.CreativeModeTab;
6 | import net.neoforged.neoforge.registries.DeferredHolder;
7 |
8 | public class CreativeTabs {
9 |
10 | public static final DeferredHolder AP_CREATIVE_MODE_TAB = Registration.CREATIVE_MODE_TABS.register(AdvancedPeripherals.MOD_ID, CreativeTabs::createCreativeTab);
11 |
12 | private static CreativeModeTab createCreativeTab() {
13 | CreativeModeTab.Builder builder = new CreativeModeTab.Builder(CreativeModeTab.Row.BOTTOM, -1);
14 | APCreativeTab.populateCreativeTabBuilder(builder);
15 | return builder.build();
16 | }
17 | public static void register() {
18 |
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/setup/Villagers.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.setup;
2 |
3 | import com.google.common.collect.ImmutableSet;
4 | import dan200.computercraft.shared.ModRegistry;
5 | import de.srendi.advancedperipherals.AdvancedPeripherals;
6 | import net.minecraft.sounds.SoundEvents;
7 | import net.minecraft.world.entity.ai.village.poi.PoiType;
8 | import net.minecraft.world.entity.npc.VillagerProfession;
9 |
10 | import java.util.function.Supplier;
11 |
12 | public class Villagers {
13 |
14 | public static final Supplier COMPUTER_SCIENTIST_POI = Registration.POI_TYPES.register("computer_scientist", () -> new PoiType(ImmutableSet.copyOf(ModRegistry.Blocks.COMPUTER_ADVANCED.get().getStateDefinition().getPossibleStates()), 1, 1));
15 | public static final Supplier COMPUTER_SCIENTIST = Registration.VILLAGER_PROFESSIONS.register("computer_scientist", () -> new VillagerProfession(AdvancedPeripherals.MOD_ID + ":computer_scientist", holder -> holder.is(AdvancedPeripherals.getRL("computer_scientist")), holder -> holder.is(AdvancedPeripherals.getRL("computer_scientist")), ImmutableSet.of(), ImmutableSet.of(ModRegistry.Blocks.COMPUTER_ADVANCED.get()), SoundEvents.VILLAGER_WORK_TOOLSMITH));
16 |
17 | public static void register() {
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/CountingWipingStream.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import java.io.IOException;
4 | import java.io.OutputStream;
5 |
6 | public class CountingWipingStream extends OutputStream {
7 | private int counter = 0;
8 |
9 | public int getWrittenBytes() {
10 | return counter;
11 | }
12 |
13 | @Override
14 | public void write(int i) throws IOException {
15 | counter += 1;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/DataComponentUtil.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import net.minecraft.core.component.DataComponentPatch;
4 | import net.minecraft.nbt.NbtOps;
5 | import net.minecraft.nbt.Tag;
6 | import net.minecraft.resources.RegistryOps;
7 | import net.neoforged.neoforge.server.ServerLifecycleHooks;
8 |
9 | public class DataComponentUtil {
10 |
11 | public static Tag toNbt(DataComponentPatch patch) {
12 | return DataComponentPatch.CODEC.encodeStart(RegistryOps.create(NbtOps.INSTANCE, ServerLifecycleHooks.getCurrentServer().registryAccess()), patch).getOrThrow();
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/ServerWorker.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import de.srendi.advancedperipherals.AdvancedPeripherals;
4 | import net.neoforged.bus.api.SubscribeEvent;
5 | import net.neoforged.fml.common.EventBusSubscriber;
6 | import net.neoforged.neoforge.event.tick.ServerTickEvent;
7 |
8 | import java.util.Queue;
9 | import java.util.concurrent.ConcurrentLinkedQueue;
10 |
11 | @EventBusSubscriber(modid = AdvancedPeripherals.MOD_ID)
12 | public class ServerWorker {
13 |
14 | private static final Queue callQueue = new ConcurrentLinkedQueue<>();
15 |
16 | public static void add(final Runnable call) {
17 | if (call != null) {
18 | callQueue.add(call);
19 | }
20 | }
21 |
22 | @SubscribeEvent
23 | public static void serverTick(ServerTickEvent.Post event) {
24 | while (true) {
25 | final Runnable runnable = callQueue.poll();
26 | if (runnable == null) {
27 | return;
28 | }
29 | AdvancedPeripherals.debug("Running queued server worker call: " + runnable);
30 | runnable.run();
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/SideHelper.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import net.minecraft.client.Minecraft;
4 | import net.minecraft.world.entity.LivingEntity;
5 | import net.minecraft.world.entity.player.Player;
6 | import org.jetbrains.annotations.NotNull;
7 |
8 | public class SideHelper {
9 |
10 | public static boolean isClientPlayer(@NotNull LivingEntity player) {
11 | return player.level().isClientSide && player instanceof Player && player.level().getServer() == null && player == Minecraft.getInstance().player;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/ToastUtil.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import net.minecraft.client.Minecraft;
4 | import net.minecraft.client.gui.components.toasts.SystemToast;
5 | import net.minecraft.network.chat.Component;
6 |
7 | /**
8 | * Outsourced toast utilities to prevent client class loading on the server side
9 | */
10 | public class ToastUtil {
11 |
12 | /**
13 | * Displays a toast on a players screen.
14 | * This is a client side operation! Don't execute this on the server side
15 | *
16 | * @param title the title of the toast
17 | * @param message the message of the toast
18 | */
19 | public static void displayToast(Component title, Component message) {
20 | Minecraft minecraft = Minecraft.getInstance();
21 |
22 | minecraft.getToasts().addToast(SystemToast.multiline(minecraft,
23 | SystemToast.SystemToastId.PERIODIC_NOTIFICATION, title, message));
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/common/util/TranslationUtil.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.common.util;
2 |
3 | import de.srendi.advancedperipherals.AdvancedPeripherals;
4 | import net.minecraft.network.chat.Component;
5 |
6 | public class TranslationUtil {
7 |
8 | public static Component itemTooltip(String descriptionId) {
9 | int lastIndex = descriptionId.lastIndexOf('.');
10 | return Component.translatable(String.format("%s.tooltip.%s", descriptionId.substring(0, lastIndex).replaceFirst("^block", "item"), descriptionId.substring(lastIndex + 1)));
11 | }
12 |
13 | public static String turtle(String name) {
14 | return String.format("turtle.%s.%s", AdvancedPeripherals.MOD_ID, name);
15 | }
16 |
17 | public static String pocket(String name) {
18 | return String.format("pocket.%s.%s", AdvancedPeripherals.MOD_ID, name);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/integrations/IPeripheralIntegration.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.integrations;
2 |
3 | import dan200.computercraft.api.peripheral.IPeripheral;
4 | import net.minecraft.core.BlockPos;
5 | import net.minecraft.core.Direction;
6 | import net.minecraft.world.level.Level;
7 | import org.jetbrains.annotations.NotNull;
8 |
9 | public interface IPeripheralIntegration {
10 | boolean isSuitable(@NotNull Level level, @NotNull BlockPos blockPos, @NotNull Direction direction);
11 |
12 | @NotNull IPeripheral buildPeripheral(@NotNull Level level, @NotNull BlockPos blockPos, @NotNull Direction direction);
13 |
14 | /**
15 | * @return integration priority, lower priority is better
16 | */
17 | int getPriority();
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/metaphysics/IAutomataCoreTier.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.metaphysics;
2 |
3 | import de.srendi.advancedperipherals.lib.misc.IConfigHandler;
4 |
5 | public interface IAutomataCoreTier extends IConfigHandler {
6 | int getInteractionRadius();
7 |
8 | int getMaxFuelConsumptionRate();
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/metaphysics/IFeedableAutomataCore.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.metaphysics;
2 |
3 | public interface IFeedableAutomataCore {}
4 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/misc/IConfigHandler.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.misc;
2 |
3 | import net.neoforged.neoforge.common.ModConfigSpec;
4 |
5 | import java.util.Arrays;
6 | import java.util.stream.Collectors;
7 |
8 | public interface IConfigHandler {
9 | void addToConfig(ModConfigSpec.Builder builder);
10 |
11 | String name();
12 |
13 | default String settingsPostfix() {
14 | return "";
15 | }
16 |
17 | default String settingsName() {
18 | String name = name();
19 | String startName = Arrays.stream(name.toLowerCase().split("_")).map(s -> s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase()).collect(Collectors.joining()) + settingsPostfix();
20 | return startName.substring(0, 1).toLowerCase() + startName.substring(1);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/APGenericPeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.peripheral.GenericPeripheral;
4 | import dan200.computercraft.api.peripheral.PeripheralType;
5 | import de.srendi.advancedperipherals.AdvancedPeripherals;
6 |
7 | public interface APGenericPeripheral extends GenericPeripheral {
8 | String getPeripheralType();
9 |
10 | @Override
11 | default String id() {
12 | return AdvancedPeripherals.MOD_ID + ":" + getPeripheralType();
13 | }
14 |
15 | @Override
16 | default PeripheralType getType() {
17 | return PeripheralType.ofType(getPeripheralType());
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BlockEntityIntegrationPeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import net.minecraft.world.level.block.entity.BlockEntity;
4 | import org.jetbrains.annotations.Nullable;
5 |
6 | public abstract class BlockEntityIntegrationPeripheral extends IntegrationPeripheral {
7 |
8 | protected final T blockEntity;
9 |
10 | protected BlockEntityIntegrationPeripheral(BlockEntity entity) {
11 | super();
12 | this.blockEntity = (T) entity;
13 | }
14 |
15 | @Nullable
16 | @Override
17 | public Object getTarget() {
18 | return blockEntity;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BlockIntegrationPeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import net.minecraft.core.BlockPos;
4 | import net.minecraft.world.level.Level;
5 | import net.minecraft.world.level.block.Block;
6 | import org.jetbrains.annotations.Nullable;
7 |
8 | public abstract class BlockIntegrationPeripheral extends IntegrationPeripheral {
9 |
10 | protected final Level world;
11 | protected final BlockPos pos;
12 |
13 | protected BlockIntegrationPeripheral(Level world, BlockPos pos) {
14 | super();
15 | this.world = world;
16 | this.pos = pos;
17 | }
18 |
19 | public Block getBlock() {
20 | return world.getBlockState(pos).getBlock();
21 | }
22 |
23 | @Nullable
24 | @Override
25 | public Object getTarget() {
26 | return world.getBlockState(pos).getBlock();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/DisabledPeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.pocket.IPocketAccess;
4 | import de.srendi.advancedperipherals.common.addons.computercraft.owner.PocketPeripheralOwner;
5 |
6 | public class DisabledPeripheral extends BasePeripheral {
7 | public static final DisabledPeripheral INSTANCE = new DisabledPeripheral("disabledPeripheral", null);
8 |
9 | private DisabledPeripheral(String type, IPocketAccess access) {
10 | super(type, new PocketPeripheralOwner(access));
11 | }
12 |
13 | @Override
14 | public boolean isEnabled() {
15 | return true;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IBasePeripheral.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.peripheral.IComputerAccess;
4 | import dan200.computercraft.api.peripheral.IPeripheral;
5 | import de.srendi.advancedperipherals.common.addons.computercraft.owner.IPeripheralOwner;
6 |
7 | public interface IBasePeripheral extends IPeripheral {
8 | boolean isEnabled();
9 |
10 | Iterable getConnectedComputers();
11 |
12 | T getPeripheralOwner();
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IDataComponentProvider.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import net.minecraft.core.component.DataComponentType;
4 |
5 | public interface IDataComponentProvider {
6 |
7 | DataComponentType dataComponentType();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IPeripheralCheck.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.lua.MethodResult;
4 | import org.jetbrains.annotations.Nullable;
5 |
6 | @FunctionalInterface
7 | public interface IPeripheralCheck {
8 |
9 | @Nullable MethodResult check(T context);
10 |
11 | default IPeripheralCheck checkAlso(IPeripheralCheck check) {
12 | return new ChainedPeripheralCheck<>(this, check);
13 | }
14 |
15 | class ChainedPeripheralCheck implements IPeripheralCheck {
16 | private final IPeripheralCheck first;
17 | private final IPeripheralCheck second;
18 |
19 | private ChainedPeripheralCheck(IPeripheralCheck first, IPeripheralCheck second) {
20 | this.first = first;
21 | this.second = second;
22 | }
23 |
24 | @Override
25 | public @Nullable MethodResult check(T1 context) {
26 | MethodResult firstCheck = first.check(context);
27 | if (firstCheck != null) return firstCheck;
28 | return second.check(context);
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IPeripheralFunction.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.lua.LuaException;
4 |
5 | @FunctionalInterface
6 | public interface IPeripheralFunction {
7 | R apply(T var1) throws LuaException;
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IPeripheralOperation.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import de.srendi.advancedperipherals.lib.misc.IConfigHandler;
4 |
5 | import java.util.Map;
6 |
7 | public interface IPeripheralOperation extends IConfigHandler, IDataComponentProvider {
8 | int getInitialCooldown();
9 |
10 | int getCooldown(T context);
11 |
12 | int getCost(T context);
13 |
14 | Map computerDescription();
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IPeripheralPlugin.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import dan200.computercraft.api.peripheral.IPeripheral;
4 | import dan200.computercraft.shared.computer.core.ServerContext;
5 | import net.neoforged.neoforge.server.ServerLifecycleHooks;
6 | import org.jetbrains.annotations.Nullable;
7 |
8 | import java.util.List;
9 | import java.util.stream.Collectors;
10 |
11 | public interface IPeripheralPlugin {
12 | default List getMethods() {
13 | return ServerContext.get(ServerLifecycleHooks.getCurrentServer()).peripheralMethods().getSelfMethods(this).entrySet().stream().map(
14 | entry -> new BoundMethod(this, entry.getKey(), entry.getValue())
15 | ).collect(Collectors.toList());
16 | }
17 |
18 | default @Nullable IPeripheralOperation>[] getOperations() {
19 | return null;
20 | }
21 |
22 | default boolean isSuitable(IPeripheral peripheral) {
23 | return true;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/lib/peripherals/IPeripheralTileEntity.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.lib.peripherals;
2 |
3 | import net.minecraft.nbt.CompoundTag;
4 | import net.minecraft.world.level.Level;
5 | import net.minecraft.world.level.block.entity.BlockEntity;
6 | import net.minecraft.world.level.block.entity.BlockEntityType;
7 | import net.minecraft.world.level.block.state.BlockState;
8 |
9 | public interface IPeripheralTileEntity {
10 | CompoundTag getPeripheralSettings();
11 |
12 | void markSettingsChanged();
13 |
14 | default void handleTick(Level level, BlockState state, BlockEntityType type) {
15 |
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/de/srendi/advancedperipherals/network/IAPPacket.java:
--------------------------------------------------------------------------------
1 | package de.srendi.advancedperipherals.network;
2 |
3 | import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
4 | import net.neoforged.neoforge.network.handling.IPayloadContext;
5 | import org.jetbrains.annotations.NotNull;
6 |
7 | public interface IAPPacket extends CustomPacketPayload {
8 |
9 | static void handlePacket(@NotNull MSG payload, @NotNull IPayloadContext context) {
10 | payload.handle(context);
11 | }
12 |
13 | void handle(IPayloadContext context);
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/resources/META-INF/accesstransformer.cfg:
--------------------------------------------------------------------------------
1 | public net.minecraft.world.level.block.entity.BeaconBlockEntity primaryPower # primaryPower
2 | public net.minecraft.world.level.block.entity.BeaconBlockEntity secondaryPower # secondaryPower
3 | public net.minecraft.world.level.block.entity.BeaconBlockEntity levels # levels
4 | public net.minecraft.world.level.block.entity.BaseContainerBlockEntity name # name
5 | public-f net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool rawTemplates # rawTemplates
6 | public-f net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool templates # templates
7 | public-f net.minecraft.world.entity.Entity getEyeHeight(Lnet/minecraft/world/entity/Pose;)F # getEyeHeight
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_chatty_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_left",
3 | "textures": {"texture": "advancedperipherals:block/chat_box_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_chatty_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_right",
3 | "textures": {"texture": "advancedperipherals:block/chat_box_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_environment_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_left",
3 | "textures": {"texture": "advancedperipherals:block/environment_detector_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_environment_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_right",
3 | "textures": {"texture": "advancedperipherals:block/environment_detector_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_geoscanner_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_left",
3 | "textures": {"texture": "advancedperipherals:block/geo_scanner_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_geoscanner_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_right",
3 | "textures": {"texture": "advancedperipherals:block/geo_scanner_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_player_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_left",
3 | "textures": {"texture": "advancedperipherals:block/player_detector_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/block/turtle_player_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "computercraft:block/turtle_upgrade_base_right",
3 | "textures": {"texture": "advancedperipherals:block/player_detector_front"}
4 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/ar_controller.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/ar_controller"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/ar_goggles.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/ar_goggles"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/block_reader"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/book.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/book"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/chat_box"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/chunk_controller.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/chunk_controller"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/colony_integrator"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/computer_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/computer_tool"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/fire_purple"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/energy_detector"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/environment_detector"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/geo_scanner"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/fire_green"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/inventory_manager"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/me_bridge"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/memory_card.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/memory_card"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/nbt_storage"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/overpowered_end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/big_fire_purple"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/overpowered_husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/big_fire_green"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/overpowered_weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/big_fire"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/peripheral_casing.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/peripheral_casing"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/player_detector"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/redstone_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/redstone_integrator"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/rs_bridge"
3 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_chat_box_upgrade_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_left",
3 | "textures": {
4 | "texture": "advancedperipherals:block/chat_box"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_chat_box_upgrade_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_right",
3 | "textures": {
4 | "texture": "advancedperipherals:block/chat_box"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_environment_upgrade_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_left",
3 | "textures": {
4 | "texture": "advancedperipherals:block/environment_detector"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_environment_upgrade_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_right",
3 | "textures": {
4 | "texture": "advancedperipherals:block/environment_detector"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_geoscanner_upgrade_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_left",
3 | "textures": {
4 | "texture": "advancedperipherals:block/geo_scanner"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_geoscanner_upgrade_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_right",
3 | "textures": {
4 | "texture": "advancedperipherals:block/geo_scanner"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_player_upgrade_left.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_left",
3 | "textures": {
4 | "texture": "advancedperipherals:block/player_detector_side"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/turtle_player_upgrade_right.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "advancedperipherals:block/turtle_upgrade_base_right",
3 | "textures": {
4 | "texture": "advancedperipherals:block/player_detector_side"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/models/item/weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "parent": "item/generated",
3 | "textures": {
4 | "layer0": "advancedperipherals:item/metaphysics/base_gear",
5 | "layer1": "advancedperipherals:item/metaphysics/fire"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/categories/items.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Items",
3 | "description": "Advanced Peripherals adds some items that are used in combination with the peripherals, or as crafting ingredients to enhance turtles.",
4 | "icon": "advancedperipherals:memory_card"
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/categories/metaphysics.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Metaphysics",
3 | "description": "What is the origin of the Universe? What is its first cause? Is its existence necessary? Is I am real?",
4 | "icon": "minecraft:soul_lantern"
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/categories/peripherals.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Peripherals",
3 | "description": "All the peripherals added by this mod.$(p)Use them to interact with other mods, players, the world and the game chat.",
4 | "icon": "advancedperipherals:chat_box"
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/items/chunk_controller.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chunk Controller",
3 | "icon": "advancedperipherals:chunk_controller",
4 | "category": "advancedperipherals:items",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Chunk Controller is a crafting ingredient for the Chunky Turtle.$(p)Combine with a turtle or advanced turtle to make it chunk-loading!$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/items/chunk_controller/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:chunk_controller"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/items/computer_tool.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Computer Tool",
3 | "icon": "advancedperipherals:computer_tool",
4 | "category": "advancedperipherals:items",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Computer Tool is a tool to open GUI's from our blocks. Currently, the Computer Tool is useless, it's just a wonderful item.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/items/computer_tool/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:computer_tool"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/items/memory_card.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Memory Card",
3 | "icon": "advancedperipherals:memory_card",
4 | "category": "advancedperipherals:items",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The $(9)$(l:items/ar_goggles)AR Goggles$(/l)$() can be used in combination with the $(9)$(l:peripherals/inventory_manager)Inventory Manager$(/l)$() to communicate with the player's inventory.$(p)Right click with the Memory Card in hand to assign it to yourself.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/items/ar_goggles/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:memory_card"
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/items/pocket_computers.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Pocket Computer Addons",
3 | "icon": "computercraft:pocket_computer_advanced",
4 | "category": "advancedperipherals:items",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "We provide Pocket Computer upgrades for the following peripherals:$(li)$(9)$(l:peripherals/environment_detector)Environment Detector$(/l)$()$(li)$(9)$(l:peripherals/player_detector)Player Detector$(/l)$()$(li)$(9)$(l:peripherals/chat_box)Chat Box$(/l)$()$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/items/pocket_computer/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "text",
12 | "text": "Simply combine these with a pocket computer to add the peripheral to it. Note that you can't use the associated events."
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/metaphysics/end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "End automata core",
3 | "icon": "advancedperipherals:end_automata_core",
4 | "category": "advancedperipherals:metaphysics",
5 | "advancement": "advancedperipherals:weak_automata_core",
6 | "pages": [
7 | {
8 | "type": "spotlight",
9 | "title": "End automata core",
10 | "item": "advancedperipherals:end_automata_core",
11 | "text": "After consuming 10 endermans, weak automata core will be transformed to end automata core!$(p)In addition to be more powerful weak automata core variant, seems, this soul also provide some limited teleportation abilities for turtle itself."
12 | },
13 | {
14 | "type": "link",
15 | "text": "In additions to weak automata core abilities, this soul also allow limited world-bound teleportation. Seems, you need to store points and then teleport to them!$(p)But be aware, any stored points will be lost after turtle is broken.",
16 | "url": "https://docs.intelligence-modding.de/metaphysics/end_automata/",
17 | "link_text": "API documentation"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/metaphysics/husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Husbandry automata core",
3 | "icon": "advancedperipherals:husbandry_automata_core",
4 | "category": "advancedperipherals:metaphysics",
5 | "advancement": "advancedperipherals:weak_automata_core",
6 | "pages": [
7 | {
8 | "type": "spotlight",
9 | "title": "Husbandry automata core",
10 | "item": "advancedperipherals:husbandry_automata_core",
11 | "text": "After consuming 3 chickens, 3 cows, 3 sheeps, weak automata core will be transformed to husbandry automata core!$(p)In addition to be more powerful weak automata core variant, seems, this soul also provide abilities to interact with animals!"
12 | },
13 | {
14 | "type": "link",
15 | "text": "In additions to weak automata core abilities, this core also allow to interact with animals and even transfer them inside!$(p)But be aware, any stored animal will be lost after turtle is broken.",
16 | "url": "https://docs.intelligence-modding.de/metaphysics/husbandry_automata/",
17 | "link_text": "API documentation"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/metaphysics/intro.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Intro",
3 | "icon": "advancedperipherals:weak_automata_core",
4 | "category": "advancedperipherals:metaphysics",
5 | "priority": true,
6 | "pages": [
7 | {
8 | "type": "text",
9 | "text": "This world hold many secrets from you. You feel, that even simple turtle can become a powerful tool to control reality, you just need to put something real inside it. Something more like ... soul?"
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/block_reader.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Block reader",
3 | "icon": "advancedperipherals:block_reader",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "This block is able to read data of blocks and tile entities in front of it.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/block_reader/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:block_reader"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:block_reader",
20 | "T": "minecraft:dirt"
21 | },
22 | "pattern": [
23 | [
24 | "0PT"
25 | ]
26 | ]
27 | },
28 | "text": "Connect your Block reader to a computer and target block to make use of it!"
29 | }
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/chat_box.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chat Box",
3 | "icon": "advancedperipherals:chat_box",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Chat Box peripheral allows you to interact with the game chat by sending and receiving messages.$(p)You can even send messages that are only visible for the Chat Box if you start your message with a `$`.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/chat_box/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:chat_box"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:chat_box"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Chat Box to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/colony_integrator.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Colony integrator",
3 | "icon": "advancedperipherals:colony_integrator",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The colony integrator can interact with a colony from MineColonies..$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/colony_integrator/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:colony_integrator"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:colony_integrator"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Colony integrator to a computer in area of village to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/energy_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Energy Detector",
3 | "icon": "advancedperipherals:energy_detector",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Energy Detector can detect energy flow and acts as a resistor. You can define the max flow rate to use it as a resistor.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/energy_detector/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:energy_detector"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:energy_detector"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Energy Detector to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/environment_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Environment Detector",
3 | "icon": "advancedperipherals:environment_detector",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Environment Detector is able to receive information from the environment like the current time, the current moon phase, the light level of the block and many more.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/environment_detector/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:environment_detector"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:environment_detector"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Environment Detector to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/geo_scanner.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Geo Scanner",
3 | "icon": "advancedperipherals:geo_scanner",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Geo Scanner provides information about blocks around and chunk where scanner located. Geo scanner has delay between scans, so you should be ready for this.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/geo_scanner/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:geo_scanner"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:geo_scanner"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Geo Scanner to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/inventory_manager.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Inventory Manager",
3 | "icon": "advancedperipherals:inventory_manager",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Inventory Manager can communicate with the player's inventory. You need to right click a Memory Card and put the card into the manager to use it.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/inventory_manager/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:inventory_manager"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:inventory_manager"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Inventory Manager to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/me_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ME Bridge",
3 | "icon": "advancedperipherals:me_bridge",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The ME Bridge is able to interact with Applied Energistics 2. You can retrieve items, craft items, get all items as a list and more. The Me Bridge uses one channel.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/me_bridge/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:me_bridge"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:me_bridge"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your ME Bridge to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/nbt_storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "NBT Storage",
3 | "icon": "advancedperipherals:nbt_storage",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "NBT Storage is custom block that allow input/output custom data to block. Mostly provided for ID support.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/nbt_storage/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:nbt_storage"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:nbt_storage"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your NBT Storage to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/player_detector.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Player Detector",
3 | "icon": "advancedperipherals:player_detector",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The Player Detector is able to recognize players within a certain range. In addition, it recognizes the player who clicks on him.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/player_detector/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:player_detector"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:player_detector"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your Player Detector to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/patchouli_books/manual/en_us/entries/peripherals/rs_bridge.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "RS Bridge",
3 | "icon": "advancedperipherals:rs_bridge",
4 | "category": "advancedperipherals:peripherals",
5 | "pages": [
6 | {
7 | "type": "text",
8 | "text": "The RS Bridge is able to interact with Refined Storage. You can retrieve items, craft items, get all items as a list and more.$(p)For the full documentation please see the $(9)$(l:https://docs.intelligence-modding.de/peripherals/rs_bridge/)official wiki page$(/l)$()!"
9 | },
10 | {
11 | "type": "crafting",
12 | "recipe": "advancedperipherals:rs_bridge"
13 | },
14 | {
15 | "type": "multiblock",
16 | "multiblock": {
17 | "mapping": {
18 | "0": "computercraft:computer_advanced",
19 | "P": "advancedperipherals:rs_bridge"
20 | },
21 | "pattern": [
22 | [
23 | "0P"
24 | ]
25 | ]
26 | },
27 | "text": "Connect your RS Bridge to a computer to make use of it!"
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_down.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_east.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_east.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_north.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_north.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_north.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": true,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_south.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_south.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_up.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/block_reader_west.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/block_reader_west.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/bottom.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/chat_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/chat_box.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/chat_box_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/chat_box_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/chat_box_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/chat_box_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/chat_box_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 4
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/colony_integrator_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/energy_detector.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_back.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_east.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_east.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_east.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/energy_detector_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/environment_detector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/environment_detector.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/environment_detector_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/environment_detector_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/environment_detector_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 4
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/environment_detector_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/environment_detector_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": true,
4 | "frametime": 4
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/geo_scanner_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/inventory_manager_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/me_bridge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/me_bridge.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/me_bridge_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/me_bridge_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/me_bridge_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/me_bridge_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/me_bridge_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/nbt_storage_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/peripheral_casing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/peripheral_casing.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/player_detector_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/player_detector_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/player_detector_side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/player_detector_side.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/player_detector_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/player_detector_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_bottom.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_side.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_side.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/redstone_integrator_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge_front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge_front.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge_front.png.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "animation": {
3 | "interpolate": false,
4 | "frametime": 2
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/block/rs_bridge_top.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/entity/villager/profession/computer_scientist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/entity/villager/profession/computer_scientist.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/entity/zombie_villager/profession/computer_scientist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/entity/zombie_villager/profession/computer_scientist.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/gui/inventory_manager_gui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/gui/inventory_manager_gui.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/book.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/chunk_controller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/chunk_controller.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/computer_tool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/computer_tool.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/memory_card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/memory_card.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/base_gear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/base_gear.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire_green.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire_purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/big_fire_purple.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire_green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire_green.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire_purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/item/metaphysics/fire_purple.png
--------------------------------------------------------------------------------
/src/main/resources/assets/advancedperipherals/textures/models/ar_goggles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/assets/advancedperipherals/textures/models/ar_goggles.png
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/base_toolkit.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "icon": {
4 | "item": "advancedperipherals:redstone_integrator"
5 | },
6 | "title": {
7 | "translate": "advancements.advancedperipherals.base_toolkit"
8 | },
9 | "description": {
10 | "translate": "advancements.advancedperipherals.base_toolkit.description"
11 | }
12 | },
13 | "parent": "advancedperipherals:root",
14 | "criteria": {
15 | "redstone_integrator_in_inventory": {
16 | "trigger": "minecraft:inventory_changed",
17 | "conditions": {
18 | "items": [
19 | {
20 | "items": ["advancedperipherals:redstone_integrator"]
21 | }
22 | ]
23 | }
24 | },
25 | "energy_detector_in_inventory": {
26 | "trigger": "minecraft:inventory_changed",
27 | "conditions": {
28 | "items": [
29 | {
30 | "items": ["advancedperipherals:energy_detector"]
31 | }
32 | ]
33 | }
34 | },
35 | "inventory_manager_in_inventory": {
36 | "trigger": "minecraft:inventory_changed",
37 | "conditions": {
38 | "items": [
39 | {
40 | "items": ["advancedperipherals:inventory_manager"]
41 | }
42 | ]
43 | }
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/end_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "frame": "challenge",
4 | "icon": {
5 | "item": "advancedperipherals:end_automata_core"
6 | },
7 | "title": {
8 | "translate": "advancements.advancedperipherals.end_automata_core"
9 | },
10 | "description": {
11 | "translate": "advancements.advancedperipherals.end_automata_core.description"
12 | }
13 | },
14 | "parent": "advancedperipherals:weak_automata_core",
15 | "criteria": {
16 | "controller_in_inventory": {
17 | "trigger": "minecraft:inventory_changed",
18 | "conditions": {
19 | "items": [
20 | {
21 | "items": ["advancedperipherals:end_automata_core"]
22 | }
23 | ]
24 | }
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/husbandry_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "frame": "challenge",
4 | "icon": {
5 | "item": "advancedperipherals:husbandry_automata_core"
6 | },
7 | "title": {
8 | "translate": "advancements.advancedperipherals.husbandry_automata_core"
9 | },
10 | "description": {
11 | "translate": "advancements.advancedperipherals.husbandry_automata_core.description"
12 | }
13 | },
14 | "parent": "advancedperipherals:weak_automata_core",
15 | "criteria": {
16 | "item_in_inventory": {
17 | "trigger": "minecraft:inventory_changed",
18 | "conditions": {
19 | "items": [
20 | {
21 | "items": ["advancedperipherals:husbandry_automata_core"]
22 | }
23 | ]
24 | }
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/nbt_toolkit.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "icon": {
4 | "item": "advancedperipherals:nbt_storage"
5 | },
6 | "title": {
7 | "translate": "advancements.advancedperipherals.nbt_toolkit"
8 | },
9 | "description": {
10 | "translate": "advancements.advancedperipherals.nbt_toolkit.description"
11 | }
12 | },
13 | "parent": "advancedperipherals:base_toolkit",
14 | "criteria": {
15 | "reader_in_inventory": {
16 | "trigger": "minecraft:inventory_changed",
17 | "conditions": {
18 | "items": [
19 | {
20 | "items": ["advancedperipherals:block_reader"]
21 | }
22 | ]
23 | }
24 | },
25 | "writer_in_inventory": {
26 | "trigger": "minecraft:inventory_changed",
27 | "conditions": {
28 | "items": [
29 | {
30 | "items": ["advancedperipherals:nbt_storage"]
31 | }
32 | ]
33 | }
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/root.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "icon": {
4 | "item": "advancedperipherals:peripheral_casing"
5 | },
6 | "title": {
7 | "translate": "advancements.advancedperipherals.root"
8 | },
9 | "description": {
10 | "translate": "advancements.advancedperipherals.root.description"
11 | },
12 | "background": "minecraft:textures/gui/advancements/backgrounds/stone.png"
13 | },
14 | "criteria": {
15 | "item_in_inventory": {
16 | "trigger": "minecraft:inventory_changed",
17 | "conditions": {
18 | "items": [
19 | {
20 | "items": ["advancedperipherals:peripheral_casing"]
21 | }
22 | ]
23 | }
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/sense_toolkit.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "icon": {
4 | "item": "advancedperipherals:geo_scanner"
5 | },
6 | "title": {
7 | "translate": "advancements.advancedperipherals.sense_toolkit"
8 | },
9 | "description": {
10 | "translate": "advancements.advancedperipherals.sense_toolkit.description"
11 | }
12 | },
13 | "parent": "advancedperipherals:base_toolkit",
14 | "criteria": {
15 | "block_in_inventory": {
16 | "trigger": "minecraft:inventory_changed",
17 | "conditions": {
18 | "items": [
19 | {
20 | "items": ["advancedperipherals:geo_scanner"]
21 | }
22 | ]
23 | }
24 | },
25 | "environment_in_inventory": {
26 | "trigger": "minecraft:inventory_changed",
27 | "conditions": {
28 | "items": [
29 | {
30 | "items": ["advancedperipherals:environment_detector"]
31 | }
32 | ]
33 | }
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/advancements/weak_automata_core.json:
--------------------------------------------------------------------------------
1 | {
2 | "display": {
3 | "icon": {
4 | "item": "advancedperipherals:weak_automata_core"
5 | },
6 | "title": {
7 | "translate": "advancements.advancedperipherals.weak_automata_core"
8 | },
9 | "description": {
10 | "translate": "advancements.advancedperipherals.weak_automata_core.description"
11 | }
12 | },
13 | "parent": "advancedperipherals:root",
14 | "criteria": {
15 | "item_in_inventory": {
16 | "trigger": "minecraft:inventory_changed",
17 | "conditions": {
18 | "items": [
19 | {
20 | "items": ["advancedperipherals:weak_automata_core"]
21 | }
22 | ]
23 | }
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/patchouli_books/manual/book.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Advanced Peripherals",
3 | "landing_text": "This manual provides basic information about all the peripherals added by this mod.$(p)For more information please see $(9)$(l:https://docs.intelligence-modding.de/)the official documentation$(/l)$().",
4 | "book_texture": "patchouli:textures/gui/book_blue.png",
5 | "model": "advancedperipherals:book",
6 | "creative_tab": "advancedperipheralstab",
7 | "version": 1,
8 | "use_resource_pack": true
9 | }
10 |
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/recipes/guide_book.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "minecraft:crafting_shaped",
3 | "pattern": [
4 | "BM ",
5 | " ",
6 | " "
7 | ],
8 | "conditions": [
9 | {
10 | "type": "forge:mod_loaded",
11 | "modid": "patchouli"
12 | }
13 | ],
14 | "key": {
15 | "B": {
16 | "item": "minecraft:book"
17 | },
18 | "M": {
19 | "tag": "computercraft:wired_modem"
20 | }
21 | },
22 | "result": {
23 | "item": "patchouli:guide_book",
24 | "nbt": {
25 | "patchouli:book": "advancedperipherals:manual"
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/structures/villages/scientist_desert.nbt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/data/advancedperipherals/structures/villages/scientist_desert.nbt
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/structures/villages/scientist_plains.nbt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/data/advancedperipherals/structures/villages/scientist_plains.nbt
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/structures/villages/scientist_savanna.nbt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/data/advancedperipherals/structures/villages/scientist_savanna.nbt
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/structures/villages/scientist_snowy.nbt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/data/advancedperipherals/structures/villages/scientist_snowy.nbt
--------------------------------------------------------------------------------
/src/main/resources/data/advancedperipherals/structures/villages/scientist_taiga.nbt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/data/advancedperipherals/structures/villages/scientist_taiga.nbt
--------------------------------------------------------------------------------
/src/main/resources/pack.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "pack": {
3 | "description": "Advanced peripherals resources",
4 | "pack_format": 8,
5 | "_comment": "A pack_format of 6 requires json lang files and some texture changes from 1.16.2. Note: we require v6 pack meta for all mods."
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/resources/pack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/main/resources/pack.png
--------------------------------------------------------------------------------
/src/testMod/resources/META-INF/accesstransformer.cfg:
--------------------------------------------------------------------------------
1 | public net.minecraft.gametest.framework.TestCommand m_128010_(Lnet/minecraft/commands/CommandSourceStack;Ljava/lang/String;)I # exportTestStructure
2 |
3 | public net.minecraft.gametest.framework.GameTestHelper m_177448_()Lnet/minecraft/world/phys/AABB; # getBounds
4 | public net.minecraft.gametest.framework.GameTestHelper f_127595_ # testInfo
5 |
6 | public net.minecraft.gametest.framework.GameTestSequence f_127774_ # parent
7 | public net.minecraft.gametest.framework.MultipleTestTracker f_127798_ # tests
--------------------------------------------------------------------------------
/src/testMod/resources/META-INF/mods.toml:
--------------------------------------------------------------------------------
1 | modLoader = "javafml"
2 | loaderVersion = "[30,)"
3 |
4 | issueTrackerURL = "https://github.com/SquidDev-CC/CC-Tweaked/issues"
5 | displayURL = "https://github.com/SquidDev-CC/CC-Tweaked"
6 | logoFile = "pack.png"
7 |
8 | credits = "Created by Daniel Ratcliffe (@DanTwoHundred)"
9 | authors = "Daniel Ratcliffe, Aaron Mills, SquidDev"
10 | license = "ComputerCraft Public License (https://raw.githubusercontent.com/dan200/ComputerCraft/master/LICENSE)"
11 |
12 | [[mods]]
13 | modId = "aptest"
14 | version = "1.0.0"
15 | displayName = "CC: Tweaked test framework"
16 | description = '''
17 | A test framework for ensuring AP works correctly. Copied from CC:T code
18 | '''
19 |
--------------------------------------------------------------------------------
/src/testMod/resources/pack.mcmeta:
--------------------------------------------------------------------------------
1 | {
2 | "pack": {
3 | "pack_format": 4,
4 | "description": "CC: Test"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/testMod/server-files/computers/computer/0/startup.lua:
--------------------------------------------------------------------------------
1 | local label = os.getComputerLabel()
2 | if label == nil then return test.fail("Label a computer to use it.") end
3 |
4 | local fn, err = loadfile("tests/" .. label .. ".lua", nil, _ENV)
5 | if not fn then return test.fail(err) end
6 |
7 | local ok, err = pcall(fn)
8 | if not ok then return test.fail(err) end
9 |
10 | print("Run " .. label)
11 | test.ok()
12 |
--------------------------------------------------------------------------------
/src/testMod/server-files/computers/computer/0/tests/botania.manapool.lua:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IntelligenceModding/AdvancedPeripherals/c4904bafa0b50c93dcb834dd6b147d7ed296517b/src/testMod/server-files/computers/computer/0/tests/botania.manapool.lua
--------------------------------------------------------------------------------
/src/testMod/server-files/computers/computer/0/tests/peripherals.geoscanner.lua:
--------------------------------------------------------------------------------
1 | local p = peripheral.find("geoScanner")
2 | test.assert(p, "There is no scanner")
3 | local result, err = p.scan(3)
4 | test.eq(nil, err, "Err should be nil")
5 | test.assert(result, "There is no scan result")
6 | sleep(2.5)
7 | result, err = p.chunkAnalyze()
8 | test.eq(nil, err, "Err should be nil")
9 | test.eq(result, {}, "Chunk analyze result should be empty")
10 |
--------------------------------------------------------------------------------
/src/testMod/server-files/computers/ids.json:
--------------------------------------------------------------------------------
1 | {
2 | "computer": 0,
3 | "peripheral.monitor": 1,
4 | "peripheral.printer": 1
5 | }
6 |
--------------------------------------------------------------------------------
/src/testMod/server-files/eula.txt:
--------------------------------------------------------------------------------
1 | # Automatically generated EULA. Please don't use this for a real server.
2 | eula=true
3 |
--------------------------------------------------------------------------------
/src/testMod/server-files/server.properties:
--------------------------------------------------------------------------------
1 | # Minecraft server properties
2 | allow-flight=false
3 | allow-nether=true
4 | broadcast-console-to-ops=true
5 | broadcast-rcon-to-ops=true
6 | difficulty=easy
7 | enable-command-block=true
8 | enable-query=false
9 | enable-rcon=false
10 | enforce-whitelist=false
11 | force-gamemode=false
12 | function-permission-level=2
13 | gamemode=creative
14 | generate-structures=false
15 | generator-settings=
16 | hardcore=false
17 | level-name=world
18 | level-seed=
19 | level-type=flat
20 | max-build-height=256
21 | max-players=20
22 | max-tick-time=60000
23 | max-world-size=29999984
24 | motd=A testing server
25 | network-compression-threshold=256
26 | online-mode=false
27 | op-permission-level=4
28 | player-idle-timeout=0
29 | prevent-proxy-connections=false
30 | pvp=true
31 | query.port=25565
32 | rcon.password=
33 | rcon.port=25575
34 | resource-pack=
35 | resource-pack-sha1=
36 | server-ip=
37 | server-port=25565
38 | snooper-enabled=true
39 | spawn-animals=true
40 | spawn-monsters=true
41 | spawn-npcs=true
42 | spawn-protection=16
43 | use-native-transport=true
44 | view-distance=10
45 | white-list=false
46 |
--------------------------------------------------------------------------------
/src/testMod/server-files/structures/dummytest.passing.snbt:
--------------------------------------------------------------------------------
1 | {
2 | DataVersion: 2730,
3 | size: [1, 1, 1],
4 | data: [
5 | {pos: [0, 0, 0], state: "minecraft:cobblestone"},
6 | ],
7 | entities: [],
8 | palette: [
9 | "minecraft:cobblestone"
10 | ]
11 | }
--------------------------------------------------------------------------------
/src/testMod/server-files/structures/peripherals.geoscanner.snbt:
--------------------------------------------------------------------------------
1 | {
2 | DataVersion: 2730,
3 | size: [2, 2, 2],
4 | data: [
5 | {pos: [0, 0, 0], state: "computercraft:computer_advanced{facing:north,state:blinking}", nbt: {ComputerId: 0, Label: "peripherals.geoscanner", On: 1b, id: "computercraft:computer_advanced"}},
6 | {pos: [1, 0, 0], state: "advancedperipherals:geo_scanner"},
7 | {pos: [0, 1, 0], state: "minecraft:air"},
8 | {pos: [0, 0, 1], state: "minecraft:air"},
9 | {pos: [1, 1, 0], state: "minecraft:air"},
10 | {pos: [1, 0, 1], state: "minecraft:air"},
11 | {pos: [0, 1, 1], state: "minecraft:air"},
12 | {pos: [1, 1, 1], state: "minecraft:air"},
13 | ],
14 | entities: [],
15 | palette: [
16 | "computercraft:computer_advanced{facing:north,state:blinking}",
17 | "advancedperipherals:geo_scanner",
18 | "minecraft:air"
19 | ]
20 | }
--------------------------------------------------------------------------------