├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml └── workflows │ ├── main.yml │ ├── prs.yml │ └── release.yml ├── .gitignore ├── Changelog.md ├── README.md ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── release_info.json ├── settings.gradle ├── src ├── generated │ └── resources │ │ ├── assets │ │ └── modularrouters │ │ │ ├── blockstates │ │ │ ├── modular_router.json │ │ │ └── template_frame.json │ │ │ └── models │ │ │ ├── block │ │ │ ├── modular_router.json │ │ │ ├── modular_router_off.json │ │ │ ├── modular_router_on.json │ │ │ └── template_frame.json │ │ │ └── item │ │ │ ├── activator_module.json │ │ │ ├── augment_core.json │ │ │ ├── blank_module.json │ │ │ ├── blank_upgrade.json │ │ │ ├── blast_upgrade.json │ │ │ ├── breaker_module.json │ │ │ ├── bulk_item_filter.json │ │ │ ├── camouflage_upgrade.json │ │ │ ├── creative_module.json │ │ │ ├── detector_module.json │ │ │ ├── distributor_module.json │ │ │ ├── distributor_module_pull.json │ │ │ ├── dropper_module.json │ │ │ ├── energy_distributor_module.json │ │ │ ├── energy_distributor_module_pull.json │ │ │ ├── energy_output_module.json │ │ │ ├── energy_upgrade.json │ │ │ ├── extruder_module_1.json │ │ │ ├── extruder_module_2.json │ │ │ ├── fast_pickup_augment.json │ │ │ ├── filter_round_robin_augment.json │ │ │ ├── flinger_module.json │ │ │ ├── fluid_module.json │ │ │ ├── fluid_module_2.json │ │ │ ├── fluid_upgrade.json │ │ │ ├── inspection_filter.json │ │ │ ├── manual.json │ │ │ ├── mimic_augment.json │ │ │ ├── mod_filter.json │ │ │ ├── modular_router.json │ │ │ ├── muffler_upgrade.json │ │ │ ├── override_card.json │ │ │ ├── pickup_delay_augment.json │ │ │ ├── placer_module.json │ │ │ ├── player_module.json │ │ │ ├── puller_module_1.json │ │ │ ├── puller_module_2.json │ │ │ ├── pushing_augment.json │ │ │ ├── range_down_augment.json │ │ │ ├── range_up_augment.json │ │ │ ├── redstone_augment.json │ │ │ ├── regex_filter.json │ │ │ ├── regulator_augment.json │ │ │ ├── security_upgrade.json │ │ │ ├── sender_module_1.json │ │ │ ├── sender_module_2.json │ │ │ ├── sender_module_3.json │ │ │ ├── speed_upgrade.json │ │ │ ├── stack_augment.json │ │ │ ├── stack_upgrade.json │ │ │ ├── sync_upgrade.json │ │ │ ├── tag_filter.json │ │ │ ├── vacuum_module.json │ │ │ ├── void_module.json │ │ │ └── xp_vacuum_augment.json │ │ └── data │ │ ├── minecraft │ │ └── tags │ │ │ └── block │ │ │ ├── mineable │ │ │ └── pickaxe.json │ │ │ └── needs_iron_tool.json │ │ └── modularrouters │ │ ├── advancement │ │ └── recipes │ │ │ └── misc │ │ │ ├── activator_module.json │ │ │ ├── augment_core.json │ │ │ ├── blank_module.json │ │ │ ├── blank_upgrade.json │ │ │ ├── blast_upgrade.json │ │ │ ├── bulk_item_filter.json │ │ │ ├── camouflage_upgrade.json │ │ │ ├── detector_module.json │ │ │ ├── distributor_module.json │ │ │ ├── dropper_module.json │ │ │ ├── energy_distributor_module.json │ │ │ ├── energy_output_module.json │ │ │ ├── energy_upgrade.json │ │ │ ├── extruder_module_2.json │ │ │ ├── fast_pickup_augment.json │ │ │ ├── filter_round_robin_augment.json │ │ │ ├── flinger_module.json │ │ │ ├── fluid_module.json │ │ │ ├── fluid_module_2.json │ │ │ ├── fluid_module_2_x4.json │ │ │ ├── fluid_upgrade.json │ │ │ ├── inspection_filter.json │ │ │ ├── mimic_augment.json │ │ │ ├── mod_filter.json │ │ │ ├── modular_router.json │ │ │ ├── muffler_upgrade.json │ │ │ ├── pickup_delay_augment.json │ │ │ ├── placer_module.json │ │ │ ├── player_module.json │ │ │ ├── puller_module_1.json │ │ │ ├── puller_module_2.json │ │ │ ├── puller_module_2_x4.json │ │ │ ├── pushing_augment.json │ │ │ ├── range_down_augment.json │ │ │ ├── range_down_from_up.json │ │ │ ├── range_up_augment.json │ │ │ ├── range_up_from_down.json │ │ │ ├── redstone_augment.json │ │ │ ├── regex_filter.json │ │ │ ├── regulator_augment.json │ │ │ ├── security_upgrade.json │ │ │ ├── sender_module_1.json │ │ │ ├── sender_module_1_alt.json │ │ │ ├── sender_module_2.json │ │ │ ├── sender_module_2_x4.json │ │ │ ├── sender_module_3.json │ │ │ ├── speed_upgrade.json │ │ │ ├── stack_augment.json │ │ │ ├── stack_upgrade.json │ │ │ ├── sync_upgrade.json │ │ │ ├── tag_filter.json │ │ │ ├── vacuum_module.json │ │ │ ├── void_module.json │ │ │ └── xp_vacuum_augment.json │ │ ├── loot_table │ │ └── blocks │ │ │ └── modular_router.json │ │ ├── recipe │ │ ├── activator_module.json │ │ ├── augment_core.json │ │ ├── blank_module.json │ │ ├── blank_upgrade.json │ │ ├── blast_upgrade.json │ │ ├── breaker_module.json │ │ ├── bulk_item_filter.json │ │ ├── camouflage_upgrade.json │ │ ├── detector_module.json │ │ ├── distributor_module.json │ │ ├── dropper_module.json │ │ ├── energy_distributor_module.json │ │ ├── energy_output_module.json │ │ ├── energy_upgrade.json │ │ ├── extruder_module_1.json │ │ ├── extruder_module_2.json │ │ ├── fast_pickup_augment.json │ │ ├── filter_round_robin_augment.json │ │ ├── flinger_module.json │ │ ├── fluid_module.json │ │ ├── fluid_module_2.json │ │ ├── fluid_module_2_x4.json │ │ ├── fluid_upgrade.json │ │ ├── guide_book.json │ │ ├── inspection_filter.json │ │ ├── mimic_augment.json │ │ ├── mod_filter.json │ │ ├── modular_router.json │ │ ├── muffler_upgrade.json │ │ ├── pickup_delay_augment.json │ │ ├── placer_module.json │ │ ├── player_module.json │ │ ├── puller_module_1.json │ │ ├── puller_module_2.json │ │ ├── puller_module_2_x4.json │ │ ├── pushing_augment.json │ │ ├── range_down_augment.json │ │ ├── range_down_from_up.json │ │ ├── range_up_augment.json │ │ ├── range_up_from_down.json │ │ ├── redstone_augment.json │ │ ├── regex_filter.json │ │ ├── regulator_augment.json │ │ ├── reset_module.json │ │ ├── security_upgrade.json │ │ ├── sender_module_1.json │ │ ├── sender_module_1_alt.json │ │ ├── sender_module_2.json │ │ ├── sender_module_2_x4.json │ │ ├── sender_module_3.json │ │ ├── speed_upgrade.json │ │ ├── stack_augment.json │ │ ├── stack_upgrade.json │ │ ├── sync_upgrade.json │ │ ├── tag_filter.json │ │ ├── vacuum_module.json │ │ ├── void_module.json │ │ └── xp_vacuum_augment.json │ │ └── tags │ │ ├── block │ │ └── camo_blacklist.json │ │ ├── entity_type │ │ ├── activator_attack_blacklist.json │ │ └── activator_interact_blacklist.json │ │ └── item │ │ ├── augments.json │ │ ├── filters.json │ │ ├── modules.json │ │ └── upgrades.json ├── main │ ├── java │ │ └── me │ │ │ └── desht │ │ │ └── modularrouters │ │ │ ├── ModularRouters.java │ │ │ ├── ModularRoutersTags.java │ │ │ ├── api │ │ │ ├── MRCapabilities.java │ │ │ ├── event │ │ │ │ ├── AddModuleTargetEvent.java │ │ │ │ ├── ExecuteModuleEvent.java │ │ │ │ ├── RegisterRouterContainerData.java │ │ │ │ └── RouterCompiledEvent.java │ │ │ └── matching │ │ │ │ ├── IItemMatcher.java │ │ │ │ ├── IModuleFlags.java │ │ │ │ └── MatcherProvider.java │ │ │ ├── block │ │ │ ├── CamouflageableBlock.java │ │ │ ├── ModularRouterBlock.java │ │ │ ├── TemplateFrameBlock.java │ │ │ └── tile │ │ │ │ ├── ICamouflageable.java │ │ │ │ ├── ModularRouterBlockEntity.java │ │ │ │ └── TemplateFrameBlockEntity.java │ │ │ ├── client │ │ │ ├── ClientSetup.java │ │ │ ├── ColorHandlers.java │ │ │ ├── gui │ │ │ │ ├── IMouseOverHelpProvider.java │ │ │ │ ├── IResyncableGui.java │ │ │ │ ├── ISendToServer.java │ │ │ │ ├── ModularRouterScreen.java │ │ │ │ ├── MouseOverHelp.java │ │ │ │ ├── filter │ │ │ │ │ ├── AbstractFilterContainerScreen.java │ │ │ │ │ ├── AbstractFilterScreen.java │ │ │ │ │ ├── BulkItemFilterScreen.java │ │ │ │ │ ├── Buttons.java │ │ │ │ │ ├── FilterScreenFactory.java │ │ │ │ │ ├── InspectionFilterScreen.java │ │ │ │ │ ├── ModFilterScreen.java │ │ │ │ │ ├── RegexFilterScreen.java │ │ │ │ │ └── TagFilterScreen.java │ │ │ │ ├── module │ │ │ │ │ ├── ActivatorModuleScreen.java │ │ │ │ │ ├── BreakerModuleScreen.java │ │ │ │ │ ├── DetectorModuleScreen.java │ │ │ │ │ ├── DistributorModuleScreen.java │ │ │ │ │ ├── EnergyDistributorModuleScreen.java │ │ │ │ │ ├── ExtruderModule2Screen.java │ │ │ │ │ ├── FlingerModuleScreen.java │ │ │ │ │ ├── FluidModuleScreen.java │ │ │ │ │ ├── ModuleScreen.java │ │ │ │ │ ├── PlayerModuleScreen.java │ │ │ │ │ └── VacuumModuleScreen.java │ │ │ │ ├── upgrade │ │ │ │ │ └── SyncUpgradeScreen.java │ │ │ │ └── widgets │ │ │ │ │ ├── EnergyWidget.java │ │ │ │ │ ├── button │ │ │ │ │ ├── BackButton.java │ │ │ │ │ ├── IToggleButton.java │ │ │ │ │ ├── InfoButton.java │ │ │ │ │ ├── ItemStackButton.java │ │ │ │ │ ├── ItemStackCyclerButton.java │ │ │ │ │ ├── RadioButton.java │ │ │ │ │ ├── RedstoneBehaviourButton.java │ │ │ │ │ ├── TexturedButton.java │ │ │ │ │ ├── TexturedCyclerButton.java │ │ │ │ │ └── TexturedToggleButton.java │ │ │ │ │ └── textfield │ │ │ │ │ ├── FloatTextField.java │ │ │ │ │ ├── IntegerTextField.java │ │ │ │ │ └── TextFieldWidgetMR.java │ │ │ ├── model │ │ │ │ ├── CamouflagingModel.java │ │ │ │ └── ModelBakeEventHandler.java │ │ │ ├── render │ │ │ │ ├── ModRenderTypes.java │ │ │ │ ├── area │ │ │ │ │ ├── IPositionProvider.java │ │ │ │ │ └── ModuleTargetRenderer.java │ │ │ │ └── blockentity │ │ │ │ │ └── ModularRouterBER.java │ │ │ └── util │ │ │ │ ├── ClientUtil.java │ │ │ │ ├── GuiUtil.java │ │ │ │ ├── TintColor.java │ │ │ │ └── XYPoint.java │ │ │ ├── config │ │ │ ├── ClientConfig.java │ │ │ ├── CommonConfig.java │ │ │ └── ConfigHolder.java │ │ │ ├── container │ │ │ ├── AbstractInvSmartFilterMenu.java │ │ │ ├── AbstractMRContainerMenu.java │ │ │ ├── AbstractSmartFilterMenu.java │ │ │ ├── BulkItemFilterMenu.java │ │ │ ├── Extruder2ModuleMenu.java │ │ │ ├── FilterSlot.java │ │ │ ├── Layout.java │ │ │ ├── ModFilterMenu.java │ │ │ ├── ModuleMenu.java │ │ │ ├── ModuleMenuFactories.java │ │ │ ├── RouterMenu.java │ │ │ ├── TagFilterMenu.java │ │ │ └── handler │ │ │ │ ├── AugmentHandler.java │ │ │ │ ├── BaseModuleHandler.java │ │ │ │ ├── BufferHandler.java │ │ │ │ └── GhostItemHandler.java │ │ │ ├── core │ │ │ ├── ModBlockEntities.java │ │ │ ├── ModBlocks.java │ │ │ ├── ModCreativeModeTabs.java │ │ │ ├── ModDataComponents.java │ │ │ ├── ModItems.java │ │ │ ├── ModMenuTypes.java │ │ │ ├── ModRecipes.java │ │ │ └── ModSounds.java │ │ │ ├── datagen │ │ │ ├── ModBlockStateProvider.java │ │ │ ├── ModBlockTagsProvider.java │ │ │ ├── ModEntityTypeTagsProvider.java │ │ │ ├── ModItemModelProvider.java │ │ │ ├── ModItemTagsProvider.java │ │ │ ├── ModLootTableProvider.java │ │ │ └── ModRecipeProvider.java │ │ │ ├── event │ │ │ ├── ClientEventHandler.java │ │ │ ├── MiscEventHandler.java │ │ │ └── TickEventHandler.java │ │ │ ├── integration │ │ │ ├── IntegrationHandler.java │ │ │ ├── XPCollection.java │ │ │ ├── ffs │ │ │ │ ├── FFSItemMatcher.java │ │ │ │ └── FFSSetup.java │ │ │ ├── jade │ │ │ │ ├── JadeIntegration.java │ │ │ │ ├── RouterComponentProvider.java │ │ │ │ └── RouterDataProvider.java │ │ │ ├── jei │ │ │ │ ├── BulkFilterScreenGhost.java │ │ │ │ ├── GhostTarget.java │ │ │ │ ├── JEIModularRoutersPlugin.java │ │ │ │ └── ModuleScreenGhost.java │ │ │ ├── patchouli │ │ │ │ └── PatchouliHelper.java │ │ │ └── top │ │ │ │ ├── ElementModule.java │ │ │ │ ├── TOPCompatibility.java │ │ │ │ └── TOPInfoProvider.java │ │ │ ├── item │ │ │ ├── IPlayerOwned.java │ │ │ ├── MRBaseItem.java │ │ │ ├── augment │ │ │ │ ├── AugmentItem.java │ │ │ │ ├── FastPickupAugment.java │ │ │ │ ├── FilterRoundRobinAugment.java │ │ │ │ ├── MimicAugment.java │ │ │ │ ├── PickupDelayAugment.java │ │ │ │ ├── PushingAugment.java │ │ │ │ ├── RangeAugments.java │ │ │ │ ├── RedstoneAugment.java │ │ │ │ ├── RegulatorAugment.java │ │ │ │ ├── StackAugment.java │ │ │ │ └── XPVacuumAugment.java │ │ │ ├── module │ │ │ │ ├── ActivatorModule.java │ │ │ │ ├── BreakerModule.java │ │ │ │ ├── CreativeModule.java │ │ │ │ ├── DetectorModule.java │ │ │ │ ├── DistributorModule.java │ │ │ │ ├── DropperModule.java │ │ │ │ ├── EnergyDistributorModule.java │ │ │ │ ├── EnergyOutputModule.java │ │ │ │ ├── ExtruderModule1.java │ │ │ │ ├── ExtruderModule2.java │ │ │ │ ├── FlingerModule.java │ │ │ │ ├── FluidModule1.java │ │ │ │ ├── FluidModule2.java │ │ │ │ ├── IPickaxeUser.java │ │ │ │ ├── IRangedModule.java │ │ │ │ ├── ITargetedModule.java │ │ │ │ ├── ModuleItem.java │ │ │ │ ├── PlacerModule.java │ │ │ │ ├── PlayerModule.java │ │ │ │ ├── PullerModule1.java │ │ │ │ ├── PullerModule2.java │ │ │ │ ├── SenderModule1.java │ │ │ │ ├── SenderModule2.java │ │ │ │ ├── SenderModule3.java │ │ │ │ ├── TargetValidation.java │ │ │ │ ├── VacuumModule.java │ │ │ │ ├── VoidModule.java │ │ │ │ └── adapter │ │ │ │ │ ├── IItemAdapter.java │ │ │ │ │ └── TargetedModuleAdapter.java │ │ │ ├── smartfilter │ │ │ │ ├── BulkItemFilter.java │ │ │ │ ├── InspectionFilter.java │ │ │ │ ├── ModFilter.java │ │ │ │ ├── RegexFilter.java │ │ │ │ ├── SmartFilterItem.java │ │ │ │ └── TagFilter.java │ │ │ └── upgrade │ │ │ │ ├── BlastUpgrade.java │ │ │ │ ├── CamouflageUpgrade.java │ │ │ │ ├── EnergyUpgrade.java │ │ │ │ ├── FluidUpgrade.java │ │ │ │ ├── MufflerUpgrade.java │ │ │ │ ├── SecurityUpgrade.java │ │ │ │ ├── SpeedUpgrade.java │ │ │ │ ├── StackUpgrade.java │ │ │ │ ├── SyncUpgrade.java │ │ │ │ └── UpgradeItem.java │ │ │ ├── logic │ │ │ ├── ModuleTarget.java │ │ │ ├── ModuleTargetList.java │ │ │ ├── compiled │ │ │ │ ├── CompiledActivatorModule.java │ │ │ │ ├── CompiledBreakerModule.java │ │ │ │ ├── CompiledCreativeModule.java │ │ │ │ ├── CompiledDetectorModule.java │ │ │ │ ├── CompiledDistributorModule.java │ │ │ │ ├── CompiledDropperModule.java │ │ │ │ ├── CompiledEnergyDistributorModule.java │ │ │ │ ├── CompiledEnergyOutputModule.java │ │ │ │ ├── CompiledExtruderModule1.java │ │ │ │ ├── CompiledExtruderModule2.java │ │ │ │ ├── CompiledFlingerModule.java │ │ │ │ ├── CompiledFluidModule.java │ │ │ │ ├── CompiledModule.java │ │ │ │ ├── CompiledPlacerModule.java │ │ │ │ ├── CompiledPlayerModule.java │ │ │ │ ├── CompiledPullerModule1.java │ │ │ │ ├── CompiledPullerModule2.java │ │ │ │ ├── CompiledSenderModule1.java │ │ │ │ ├── CompiledSenderModule2.java │ │ │ │ ├── CompiledSenderModule3.java │ │ │ │ ├── CompiledVacuumModule.java │ │ │ │ └── CompiledVoidModule.java │ │ │ ├── filter │ │ │ │ ├── Filter.java │ │ │ │ └── matchers │ │ │ │ │ ├── BulkItemMatcher.java │ │ │ │ │ ├── FluidMatcher.java │ │ │ │ │ ├── InspectionMatcher.java │ │ │ │ │ ├── ModMatcher.java │ │ │ │ │ ├── RegexMatcher.java │ │ │ │ │ ├── SimpleItemMatcher.java │ │ │ │ │ └── TagMatcher.java │ │ │ └── settings │ │ │ │ ├── ModuleFlags.java │ │ │ │ ├── ModuleSettings.java │ │ │ │ ├── ModuleTermination.java │ │ │ │ ├── RedstoneBehaviour.java │ │ │ │ ├── RelativeDirection.java │ │ │ │ └── TransferDirection.java │ │ │ ├── network │ │ │ ├── NetworkHandler.java │ │ │ └── messages │ │ │ │ ├── BulkFilterUpdateMessage.java │ │ │ │ ├── FilterUpdateMessage.java │ │ │ │ ├── GuiSyncMessage.java │ │ │ │ ├── ItemBeamMessage.java │ │ │ │ ├── ModuleFilterMessage.java │ │ │ │ ├── ModuleSettingsMessage.java │ │ │ │ ├── OpenGuiMessage.java │ │ │ │ ├── PushEntityMessage.java │ │ │ │ ├── RouterSettingsMessage.java │ │ │ │ ├── RouterUpgradesSyncMessage.java │ │ │ │ ├── SyncUpgradeSettingsMessage.java │ │ │ │ └── ValidateModuleMessage.java │ │ │ ├── recipe │ │ │ ├── GuideBookRecipe.java │ │ │ ├── PickaxeModuleRecipe.java │ │ │ └── ResetModuleRecipe.java │ │ │ └── util │ │ │ ├── BeamData.java │ │ │ ├── BlockUtil.java │ │ │ ├── CodecUtil.java │ │ │ ├── CountedItemStacks.java │ │ │ ├── CustomEntityPlaceEvent.java │ │ │ ├── InventoryUtils.java │ │ │ ├── ItemTagMatcher.java │ │ │ ├── MFLocator.java │ │ │ ├── MiscUtil.java │ │ │ ├── ModNameCache.java │ │ │ ├── Scheduler.java │ │ │ ├── SetofItemStack.java │ │ │ ├── TranslatableEnum.java │ │ │ ├── WildcardedRLMatcher.java │ │ │ └── fake_player │ │ │ └── RouterFakePlayer.java │ └── resources │ │ ├── META-INF │ │ ├── accesstransformer.cfg │ │ └── neoforge.mods.toml │ │ ├── assets │ │ └── modularrouters │ │ │ ├── lang │ │ │ ├── en_us.json │ │ │ ├── fr_fr.json │ │ │ ├── ja_jp.json │ │ │ ├── ko_kr.json │ │ │ ├── ru_ru.json │ │ │ └── zh_cn.json │ │ │ ├── patchouli_books │ │ │ └── book │ │ │ │ ├── en_us │ │ │ │ ├── categories │ │ │ │ │ ├── augments.json │ │ │ │ │ ├── filters.json │ │ │ │ │ ├── intro.json │ │ │ │ │ ├── modules.json │ │ │ │ │ ├── router.json │ │ │ │ │ └── upgrades.json │ │ │ │ └── entries │ │ │ │ │ ├── augments │ │ │ │ │ ├── fast_pickup.json │ │ │ │ │ ├── mimic.json │ │ │ │ │ ├── pickup_delay.json │ │ │ │ │ ├── pushing.json │ │ │ │ │ ├── range_down.json │ │ │ │ │ ├── range_up.json │ │ │ │ │ ├── redstone.json │ │ │ │ │ ├── regulator.json │ │ │ │ │ ├── stack.json │ │ │ │ │ └── xp_vacuum.json │ │ │ │ │ ├── filters │ │ │ │ │ ├── bulk_item.json │ │ │ │ │ ├── ftb_filter_system.json │ │ │ │ │ ├── inspection.json │ │ │ │ │ ├── mod.json │ │ │ │ │ └── regex.json │ │ │ │ │ ├── intro │ │ │ │ │ ├── augments.json │ │ │ │ │ ├── filters.json │ │ │ │ │ ├── misc.json │ │ │ │ │ ├── modular_router.json │ │ │ │ │ ├── modules.json │ │ │ │ │ ├── overview.json │ │ │ │ │ └── upgrades.json │ │ │ │ │ ├── modules │ │ │ │ │ ├── activator.json │ │ │ │ │ ├── breaker.json │ │ │ │ │ ├── creative.json │ │ │ │ │ ├── detector.json │ │ │ │ │ ├── distributor.json │ │ │ │ │ ├── dropper.json │ │ │ │ │ ├── energy_distributor.json │ │ │ │ │ ├── energy_output.json │ │ │ │ │ ├── extruder_1.json │ │ │ │ │ ├── extruder_2.json │ │ │ │ │ ├── flinger.json │ │ │ │ │ ├── fluid.json │ │ │ │ │ ├── fluid_2.json │ │ │ │ │ ├── placer.json │ │ │ │ │ ├── player.json │ │ │ │ │ ├── puller_1.json │ │ │ │ │ ├── puller_2.json │ │ │ │ │ ├── sender_1.json │ │ │ │ │ ├── sender_2.json │ │ │ │ │ ├── sender_3.json │ │ │ │ │ ├── vacuum.json │ │ │ │ │ └── void.json │ │ │ │ │ ├── router │ │ │ │ │ ├── modular_router.json │ │ │ │ │ └── termination.json │ │ │ │ │ └── upgrades │ │ │ │ │ ├── blast.json │ │ │ │ │ ├── camouflage.json │ │ │ │ │ ├── energy.json │ │ │ │ │ ├── fluid.json │ │ │ │ │ ├── muffler.json │ │ │ │ │ ├── security.json │ │ │ │ │ ├── speed.json │ │ │ │ │ ├── stack.json │ │ │ │ │ └── sync.json │ │ │ │ └── ja_jp │ │ │ │ ├── categories │ │ │ │ ├── augments.json │ │ │ │ ├── filters.json │ │ │ │ ├── intro.json │ │ │ │ ├── modules.json │ │ │ │ ├── router.json │ │ │ │ └── upgrades.json │ │ │ │ └── entries │ │ │ │ ├── augments │ │ │ │ ├── fast_pickup.json │ │ │ │ ├── mimic.json │ │ │ │ ├── pickup_delay.json │ │ │ │ ├── pushing.json │ │ │ │ ├── range_down.json │ │ │ │ ├── range_up.json │ │ │ │ ├── redstone.json │ │ │ │ ├── regulator.json │ │ │ │ ├── stack.json │ │ │ │ └── xp_vacuum.json │ │ │ │ ├── filters │ │ │ │ ├── bulk_item.json │ │ │ │ ├── ftb_filter_system.json │ │ │ │ ├── inspection.json │ │ │ │ ├── mod.json │ │ │ │ └── regex.json │ │ │ │ ├── intro │ │ │ │ ├── augments.json │ │ │ │ ├── filters.json │ │ │ │ ├── misc.json │ │ │ │ ├── modular_router.json │ │ │ │ ├── modules.json │ │ │ │ ├── overview.json │ │ │ │ └── upgrades.json │ │ │ │ ├── modules │ │ │ │ ├── activator.json │ │ │ │ ├── breaker.json │ │ │ │ ├── creative.json │ │ │ │ ├── detector.json │ │ │ │ ├── distributor.json │ │ │ │ ├── dropper.json │ │ │ │ ├── energy_distributor.json │ │ │ │ ├── energy_output.json │ │ │ │ ├── extruder_1.json │ │ │ │ ├── extruder_2.json │ │ │ │ ├── flinger.json │ │ │ │ ├── fluid.json │ │ │ │ ├── fluid_2.json │ │ │ │ ├── placer.json │ │ │ │ ├── player.json │ │ │ │ ├── puller_1.json │ │ │ │ ├── puller_2.json │ │ │ │ ├── sender_1.json │ │ │ │ ├── sender_2.json │ │ │ │ ├── sender_3.json │ │ │ │ ├── vacuum.json │ │ │ │ └── void.json │ │ │ │ ├── router │ │ │ │ ├── modular_router.json │ │ │ │ └── termination.json │ │ │ │ └── upgrades │ │ │ │ ├── blast.json │ │ │ │ ├── camouflage.json │ │ │ │ ├── energy.json │ │ │ │ ├── fluid.json │ │ │ │ ├── muffler.json │ │ │ │ ├── security.json │ │ │ │ ├── speed.json │ │ │ │ ├── stack.json │ │ │ │ └── sync.json │ │ │ ├── sounds.json │ │ │ ├── sounds │ │ │ ├── error.ogg │ │ │ ├── success.ogg │ │ │ └── thud.ogg │ │ │ └── textures │ │ │ ├── block │ │ │ ├── modular_router_back.png │ │ │ ├── modular_router_bottom.png │ │ │ ├── modular_router_front.png │ │ │ ├── modular_router_front_active.png │ │ │ ├── modular_router_front_active.png.mcmeta │ │ │ ├── modular_router_other.png │ │ │ ├── modular_router_side.png │ │ │ ├── modular_router_top.png │ │ │ ├── port_closed.png │ │ │ ├── port_open.png │ │ │ └── template_frame.png │ │ │ ├── gui │ │ │ ├── bulkitemfilter.png │ │ │ ├── energy_widget.png │ │ │ ├── inspectionfilter.png │ │ │ ├── modfilter.png │ │ │ ├── module.png │ │ │ ├── regexfilter.png │ │ │ ├── router.png │ │ │ ├── sync_upgrade.png │ │ │ ├── tagfilter.png │ │ │ └── widgets.png │ │ │ ├── item │ │ │ ├── augment │ │ │ │ ├── augment_layer0.png │ │ │ │ ├── fast_pickup_augment.png │ │ │ │ ├── filter_round_robin_augment.png │ │ │ │ ├── mimic_augment.png │ │ │ │ ├── pickup_delay_augment.png │ │ │ │ ├── pushing_augment.png │ │ │ │ ├── range_down_augment.png │ │ │ │ ├── range_up_augment.png │ │ │ │ ├── redstone_augment.png │ │ │ │ ├── regulator_augment.png │ │ │ │ ├── stack_augment.png │ │ │ │ └── xp_vacuum_augment.png │ │ │ ├── augment_core.png │ │ │ ├── blank_module.png │ │ │ ├── blank_upgrade.png │ │ │ ├── filter │ │ │ │ ├── bulk_item_filter.png │ │ │ │ ├── inspection_filter.png │ │ │ │ ├── mod_filter.png │ │ │ │ ├── regex_filter.png │ │ │ │ └── tag_filter.png │ │ │ ├── manual.png │ │ │ ├── module │ │ │ │ ├── activator_module.png │ │ │ │ ├── breaker_module.png │ │ │ │ ├── creative_module.png │ │ │ │ ├── detector_module.png │ │ │ │ ├── distributor_module.png │ │ │ │ ├── distributor_module_pull.png │ │ │ │ ├── dropper_module.png │ │ │ │ ├── energy_distributor_module.png │ │ │ │ ├── energy_distributor_module_pull.png │ │ │ │ ├── energy_output_module.png │ │ │ │ ├── extruder_module_1.png │ │ │ │ ├── extruder_module_2.png │ │ │ │ ├── flinger_module.png │ │ │ │ ├── fluid_module.png │ │ │ │ ├── fluid_module_2.png │ │ │ │ ├── module_layer0.png │ │ │ │ ├── module_layer1.png │ │ │ │ ├── placer_module.png │ │ │ │ ├── player_module.png │ │ │ │ ├── puller_module_1.png │ │ │ │ ├── puller_module_2.png │ │ │ │ ├── sender_module_1.png │ │ │ │ ├── sender_module_2.png │ │ │ │ ├── sender_module_3.png │ │ │ │ ├── vacuum_module.png │ │ │ │ └── void_module.png │ │ │ ├── override_card.png │ │ │ └── upgrade │ │ │ │ ├── blast_upgrade.png │ │ │ │ ├── camouflage_upgrade.png │ │ │ │ ├── energy_upgrade.png │ │ │ │ ├── fluid_upgrade.png │ │ │ │ ├── muffler_upgrade.png │ │ │ │ ├── security_upgrade.png │ │ │ │ ├── speed_upgrade.png │ │ │ │ ├── stack_upgrade.png │ │ │ │ ├── sync_upgrade.png │ │ │ │ ├── upgrade_layer0.png │ │ │ │ └── upgrade_layer1.png │ │ │ ├── misc │ │ │ ├── particleblob.png │ │ │ └── particleblob.png.mcmeta │ │ │ └── patchouli │ │ │ ├── augments.png │ │ │ ├── bulk_filter.png │ │ │ ├── modular_router.png │ │ │ ├── module_gui.png │ │ │ └── router_gui.png │ │ └── data │ │ └── modularrouters │ │ └── patchouli_books │ │ └── book │ │ └── book.json └── test │ ├── java │ └── me │ │ └── desht │ │ └── modularrouters │ │ └── test │ │ ├── ModularRoutersTest.java │ │ ├── RouterTest.java │ │ ├── RouterTestHelper.java │ │ └── module │ │ ├── ActivatorModuleTest.java │ │ ├── DropperModuleTest.java │ │ ├── FilterTest.java │ │ ├── PlayerModuleTest.java │ │ ├── SenderModuleTest.java │ │ └── VacuumModuleTest.java │ └── resources │ └── META-INF │ └── neoforge.mods.toml └── wiki.md /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: PNC:R & Modular Routers Discord Server 4 | url: https://discord.gg/Zf5XwbfBRj 5 | about: You're welcome to come and discuss the mod on Discord, but note that actual bug reports and enhancement requests should be raised as an issue here. 6 | -------------------------------------------------------------------------------- /.github/workflows/prs.yml: -------------------------------------------------------------------------------- 1 | name: Build PRs 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Checkout repository 10 | uses: actions/checkout@v4 11 | with: 12 | fetch-depth: 0 13 | fetch-tags: true 14 | 15 | - name: Setup JDK 21 16 | uses: actions/setup-java@v4 17 | with: 18 | java-version: '21' 19 | distribution: 'temurin' 20 | 21 | - name: Setup Gradle 22 | uses: gradle/actions/setup-gradle@v4 23 | 24 | - name: Build with Gradle 25 | run: ./gradlew build 26 | 27 | - name: Run gametests 28 | run: ./gradlew runGameTestServer 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # eclipse 2 | bin 3 | *.launch 4 | .settings 5 | .metadata 6 | .classpath 7 | .project 8 | 9 | # idea 10 | out 11 | *.ipr 12 | *.iws 13 | *.iml 14 | .idea 15 | 16 | # gradle 17 | build 18 | .gradle 19 | 20 | # other 21 | classes 22 | eclipse 23 | run 24 | run-* 25 | runs 26 | conf 27 | *.xcf 28 | *.pl 29 | *.log 30 | extra-mods-* 31 | mcmodsrepo 32 | 33 | # datagen caches 34 | **/.cache 35 | 36 | repo/ 37 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/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.9-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | maven { 5 | name = 'NeoForged' 6 | url = 'https://maven.neoforged.net/releases' 7 | } 8 | maven { url = 'https://maven.parchmentmc.org' } 9 | } 10 | } 11 | 12 | plugins { 13 | id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0' 14 | } 15 | 16 | rootProject.name = 'modular-routers' 17 | -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/blockstates/template_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "modularrouters:block/template_frame" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/block/modular_router_off.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "modularrouters:block/modular_router", 3 | "textures": { 4 | "front": "modularrouters:block/modular_router_front" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/block/modular_router_on.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "modularrouters:block/modular_router", 3 | "textures": { 4 | "front": "modularrouters:block/modular_router_front_active" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/block/template_frame.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "modularrouters:block/template_frame" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/activator_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/activator_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/augment_core.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/blank_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/blank_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/blast_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/blast_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/breaker_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/breaker_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/bulk_item_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/filter/bulk_item_filter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/camouflage_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/camouflage_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/creative_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/creative_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/detector_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/detector_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "overrides": [ 4 | { 5 | "model": "modularrouters:item/distributor_module_pull", 6 | "predicate": { 7 | "modularrouters:mode": 0.5 8 | } 9 | } 10 | ], 11 | "textures": { 12 | "layer0": "modularrouters:item/module/module_layer0", 13 | "layer1": "modularrouters:item/module/module_layer1", 14 | "layer2": "modularrouters:item/module/distributor_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/distributor_module_pull.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/distributor_module_pull" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/dropper_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/dropper_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/energy_distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "overrides": [ 4 | { 5 | "model": "modularrouters:item/energy_distributor_module_pull", 6 | "predicate": { 7 | "modularrouters:mode": 0.5 8 | } 9 | } 10 | ], 11 | "textures": { 12 | "layer0": "modularrouters:item/module/module_layer0", 13 | "layer1": "modularrouters:item/module/module_layer1", 14 | "layer2": "modularrouters:item/module/energy_distributor_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/energy_distributor_module_pull.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/energy_distributor_module_pull" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/energy_output_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/energy_output_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/energy_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/energy_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/extruder_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/extruder_module_1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/extruder_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/extruder_module_2" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/fast_pickup_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/fast_pickup_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/filter_round_robin_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/filter_round_robin_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/flinger_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/flinger_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/fluid_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/fluid_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/fluid_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/fluid_module_2" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/fluid_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/fluid_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/inspection_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/filter/inspection_filter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/manual.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/manual" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/mimic_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/mimic_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/mod_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/filter/mod_filter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/modular_router.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "modularrouters:block/modular_router_off" 3 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/muffler_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/muffler_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/override_card.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/override_card" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/pickup_delay_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/pickup_delay_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/placer_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/placer_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/player_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/player_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/puller_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/puller_module_1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/puller_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/puller_module_2" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/pushing_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/pushing_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/range_down_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/range_down_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/range_up_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/range_up_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/redstone_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/redstone_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/regex_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/filter/regex_filter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/regulator_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/regulator_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/security_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/security_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/sender_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/sender_module_1" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/sender_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/sender_module_2" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/sender_module_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/sender_module_3" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/speed_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/speed_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/stack_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/stack_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/stack_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/stack_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/sync_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/upgrade/upgrade_layer0", 5 | "layer1": "modularrouters:item/upgrade/upgrade_layer1", 6 | "layer2": "modularrouters:item/upgrade/sync_upgrade" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/tag_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/filter/tag_filter" 5 | } 6 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/vacuum_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/vacuum_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/void_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/module/module_layer0", 5 | "layer1": "modularrouters:item/module/module_layer1", 6 | "layer2": "modularrouters:item/module/void_module" 7 | } 8 | } -------------------------------------------------------------------------------- /src/generated/resources/assets/modularrouters/models/item/xp_vacuum_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "modularrouters:item/augment/augment_layer0", 5 | "layer1": "modularrouters:item/augment/xp_vacuum_augment" 6 | } 7 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "modularrouters:modular_router" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/minecraft/tags/block/needs_iron_tool.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "modularrouters:modular_router" 4 | ] 5 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/activator_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:activator_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:activator_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/augment_core.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:augment_core" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:augment_core" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/blank_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_redstone": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "minecraft:redstone" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:blank_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_redstone" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:blank_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/blank_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_lapis_lazuli": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "minecraft:lapis_lazuli" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:blank_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_lapis_lazuli" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:blank_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/blast_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:blast_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:blast_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/bulk_item_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:bulk_item_filter" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:bulk_item_filter" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/camouflage_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:camouflage_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:camouflage_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/detector_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:detector_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:detector_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:distributor_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:distributor_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/dropper_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:dropper_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:dropper_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/energy_distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:energy_distributor_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:energy_distributor_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/energy_output_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:energy_output_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:energy_output_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/energy_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:energy_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:energy_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/extruder_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:extruder_module_2" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:extruder_module_2" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/fast_pickup_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:fast_pickup_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:fast_pickup_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/filter_round_robin_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:filter_round_robin_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:filter_round_robin_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/flinger_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:flinger_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:flinger_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/fluid_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:fluid_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:fluid_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/fluid_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_fluid_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:fluid_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:fluid_module_2" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_fluid_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:fluid_module_2" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/fluid_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_fluid_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:fluid_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:fluid_module_2_x4" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_fluid_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:fluid_module_2_x4" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/fluid_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:fluid_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:fluid_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/inspection_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_bulk_item_filter": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:bulk_item_filter" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:inspection_filter" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_bulk_item_filter" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:inspection_filter" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/mimic_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:mimic_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:mimic_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/mod_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_bulk_item_filter": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:bulk_item_filter" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:mod_filter" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_bulk_item_filter" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:mod_filter" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/modular_router.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_iron_ingot": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "minecraft:iron_ingot" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:modular_router" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_iron_ingot" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:modular_router" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/muffler_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:muffler_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:muffler_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/pickup_delay_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:pickup_delay_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:pickup_delay_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/placer_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:placer_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:placer_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/player_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:player_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:player_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/puller_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:puller_module_1" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:puller_module_1" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/puller_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:puller_module_2" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:puller_module_2" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/puller_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:puller_module_2_x4" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:puller_module_2_x4" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/pushing_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:pushing_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:pushing_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/range_down_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:range_down_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:range_down_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/range_down_from_up.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:range_down_from_up" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:range_down_from_up" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/range_up_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:range_up_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:range_up_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/range_up_from_down.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:range_up_from_down" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:range_up_from_down" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/redstone_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:redstone_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:redstone_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/regex_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_bulk_item_filter": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:bulk_item_filter" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:regex_filter" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_bulk_item_filter" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:regex_filter" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/regulator_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:regulator_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:regulator_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/security_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:security_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:security_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sender_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sender_module_1" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sender_module_1" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sender_module_1_alt.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sender_module_1_alt" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sender_module_1_alt" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sender_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sender_module_2" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sender_module_2" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sender_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sender_module_2_x4" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sender_module_2_x4" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sender_module_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sender_module_3" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sender_module_3" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/speed_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:speed_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:speed_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/stack_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:stack_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:stack_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/stack_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:stack_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:stack_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/sync_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_upgrade": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_upgrade" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:sync_upgrade" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_upgrade" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:sync_upgrade" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/tag_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_bulk_item_filter": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:bulk_item_filter" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:tag_filter" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_bulk_item_filter" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:tag_filter" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/vacuum_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:vacuum_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:vacuum_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/void_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_blank_module": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:blank_module" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:void_module" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_blank_module" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:void_module" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/advancement/recipes/misc/xp_vacuum_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:recipes/root", 3 | "criteria": { 4 | "has_augment_core": { 5 | "conditions": { 6 | "items": [ 7 | { 8 | "items": "modularrouters:augment_core" 9 | } 10 | ] 11 | }, 12 | "trigger": "minecraft:inventory_changed" 13 | }, 14 | "has_the_recipe": { 15 | "conditions": { 16 | "recipe": "modularrouters:xp_vacuum_augment" 17 | }, 18 | "trigger": "minecraft:recipe_unlocked" 19 | } 20 | }, 21 | "requirements": [ 22 | [ 23 | "has_the_recipe", 24 | "has_augment_core" 25 | ] 26 | ], 27 | "rewards": { 28 | "recipes": [ 29 | "modularrouters:xp_vacuum_augment" 30 | ] 31 | } 32 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/activator_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "D": { 6 | "item": "minecraft:dispenser" 7 | }, 8 | "L": { 9 | "item": "minecraft:lever" 10 | }, 11 | "M": { 12 | "item": "modularrouters:blank_module" 13 | }, 14 | "Q": { 15 | "tag": "c:gems/quartz" 16 | }, 17 | "R": { 18 | "tag": "c:dusts/redstone" 19 | } 20 | }, 21 | "pattern": [ 22 | "RLR", 23 | "DMD", 24 | "RQR" 25 | ], 26 | "result": { 27 | "count": 1, 28 | "id": "modularrouters:activator_module" 29 | } 30 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/augment_core.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "modularrouters:blank_upgrade" 10 | } 11 | ], 12 | "result": { 13 | "count": 4, 14 | "id": "modularrouters:augment_core" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/blank_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "G": { 6 | "tag": "c:nuggets/gold" 7 | }, 8 | "P": { 9 | "item": "minecraft:paper" 10 | }, 11 | "R": { 12 | "tag": "c:dusts/redstone" 13 | } 14 | }, 15 | "pattern": [ 16 | " R ", 17 | "PPP", 18 | "GGG" 19 | ], 20 | "result": { 21 | "count": 6, 22 | "id": "modularrouters:blank_module" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/blank_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "G": { 6 | "tag": "c:nuggets/gold" 7 | }, 8 | "L": { 9 | "tag": "c:gems/lapis" 10 | }, 11 | "P": { 12 | "item": "minecraft:paper" 13 | } 14 | }, 15 | "pattern": [ 16 | "PPG", 17 | "PLG", 18 | " PG" 19 | ], 20 | "result": { 21 | "count": 4, 22 | "id": "modularrouters:blank_upgrade" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/blast_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "I": { 9 | "item": "minecraft:iron_bars" 10 | }, 11 | "O": { 12 | "tag": "c:obsidians" 13 | } 14 | }, 15 | "pattern": [ 16 | "IOI", 17 | "OBO", 18 | "IOI" 19 | ], 20 | "result": { 21 | "count": 1, 22 | "id": "modularrouters:blast_upgrade" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/breaker_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "modularrouters:breaker_module", 3 | "category": "misc" 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/bulk_item_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "D": { 6 | "tag": "c:gems/diamond" 7 | }, 8 | "G": { 9 | "tag": "c:glass_blocks" 10 | }, 11 | "I": { 12 | "tag": "c:ingots/iron" 13 | }, 14 | "M": { 15 | "item": "modularrouters:blank_module" 16 | } 17 | }, 18 | "pattern": [ 19 | "IGI", 20 | "MDM", 21 | "IGI" 22 | ], 23 | "result": { 24 | "count": 1, 25 | "id": "modularrouters:bulk_item_filter" 26 | } 27 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/camouflage_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | { 9 | "tag": "c:dyes/red" 10 | }, 11 | { 12 | "tag": "c:dyes/green" 13 | }, 14 | { 15 | "tag": "c:dyes/blue" 16 | } 17 | ], 18 | "result": { 19 | "count": 1, 20 | "id": "modularrouters:camouflage_upgrade" 21 | } 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/detector_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:comparator" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:detector_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "M": { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | "S": { 9 | "item": "modularrouters:sender_module_2" 10 | } 11 | }, 12 | "pattern": [ 13 | " S ", 14 | "SMS" 15 | ], 16 | "result": { 17 | "count": 1, 18 | "id": "modularrouters:distributor_module" 19 | } 20 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/dropper_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:dropper" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:dropper_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/energy_distributor_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:energy_output_module" 7 | }, 8 | { 9 | "item": "modularrouters:distributor_module" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:energy_distributor_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/energy_output_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | "G": { 9 | "tag": "c:ingots/gold" 10 | }, 11 | "Q": { 12 | "tag": "c:gems/quartz" 13 | }, 14 | "R": { 15 | "tag": "c:storage_blocks/redstone" 16 | } 17 | }, 18 | "pattern": [ 19 | " R ", 20 | "GBG", 21 | " Q " 22 | ], 23 | "result": { 24 | "count": 1, 25 | "id": "modularrouters:energy_output_module" 26 | } 27 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/energy_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "G": { 9 | "tag": "c:ingots/gold" 10 | }, 11 | "Q": { 12 | "tag": "c:gems/quartz" 13 | }, 14 | "R": { 15 | "tag": "c:storage_blocks/redstone" 16 | } 17 | }, 18 | "pattern": [ 19 | "QRQ", 20 | " B ", 21 | "QGQ" 22 | ], 23 | "result": { 24 | "count": 1, 25 | "id": "modularrouters:energy_upgrade" 26 | } 27 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/extruder_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "modularrouters:extruder_module_1", 3 | "category": "misc" 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/extruder_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "tag": "c:chests/wooden" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:extruder_module_2" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/fast_pickup_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "item": "minecraft:fishing_rod" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:fast_pickup_augment" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/filter_round_robin_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "item": "minecraft:clock" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:filter_round_robin_augment" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/flinger_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:dropper_module" 7 | }, 8 | { 9 | "item": "minecraft:gunpowder" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:flinger_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/fluid_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "C": { 6 | "item": "minecraft:cauldron" 7 | }, 8 | "G": { 9 | "tag": "c:glass_blocks" 10 | }, 11 | "M": { 12 | "item": "modularrouters:blank_module" 13 | } 14 | }, 15 | "pattern": [ 16 | " C ", 17 | "GMG" 18 | ], 19 | "result": { 20 | "count": 1, 21 | "id": "modularrouters:fluid_module" 22 | } 23 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/fluid_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:fluid_module" 7 | }, 8 | { 9 | "item": "minecraft:prismarine_shard" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:fluid_module_2" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/fluid_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:fluid_module" 7 | }, 8 | { 9 | "item": "modularrouters:fluid_module" 10 | }, 11 | { 12 | "item": "modularrouters:fluid_module" 13 | }, 14 | { 15 | "item": "modularrouters:fluid_module" 16 | }, 17 | { 18 | "item": "minecraft:prismarine_shard" 19 | } 20 | ], 21 | "result": { 22 | "count": 4, 23 | "id": "modularrouters:fluid_module_2" 24 | } 25 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/fluid_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "G": { 9 | "tag": "c:glass_blocks" 10 | }, 11 | "U": { 12 | "item": "minecraft:bucket" 13 | } 14 | }, 15 | "pattern": [ 16 | " U ", 17 | "GBG" 18 | ], 19 | "result": { 20 | "count": 3, 21 | "id": "modularrouters:fluid_upgrade" 22 | } 23 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/guide_book.json: -------------------------------------------------------------------------------- 1 | { 2 | "neoforge:conditions": [ 3 | { 4 | "type": "neoforge:mod_loaded", 5 | "modid": "patchouli" 6 | } 7 | ], 8 | "type": "modularrouters:guide_book", 9 | "category": "misc" 10 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/inspection_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:bulk_item_filter" 7 | }, 8 | "E": { 9 | "item": "minecraft:spider_eye" 10 | }, 11 | "P": { 12 | "item": "minecraft:paper" 13 | } 14 | }, 15 | "pattern": [ 16 | "EBE", 17 | " P " 18 | ], 19 | "result": { 20 | "count": 1, 21 | "id": "modularrouters:inspection_filter" 22 | } 23 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/mimic_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "tag": "c:obsidians" 10 | }, 11 | { 12 | "tag": "c:dusts/redstone" 13 | }, 14 | { 15 | "tag": "c:dusts/glowstone" 16 | } 17 | ], 18 | "result": { 19 | "count": 1, 20 | "id": "modularrouters:mimic_augment" 21 | } 22 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/mod_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:bulk_item_filter" 7 | }, 8 | { 9 | "item": "minecraft:repeater" 10 | }, 11 | { 12 | "item": "minecraft:redstone_torch" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:mod_filter" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/modular_router.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "minecraft:iron_bars" 7 | }, 8 | "I": { 9 | "tag": "c:ingots/iron" 10 | }, 11 | "M": { 12 | "item": "modularrouters:blank_module" 13 | } 14 | }, 15 | "pattern": [ 16 | "IBI", 17 | "BMB", 18 | "IBI" 19 | ], 20 | "result": { 21 | "count": 4, 22 | "id": "modularrouters:modular_router" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/muffler_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "W": { 9 | "tag": "minecraft:wool" 10 | } 11 | }, 12 | "pattern": [ 13 | " W ", 14 | "WBW", 15 | " W " 16 | ], 17 | "result": { 18 | "count": 4, 19 | "id": "modularrouters:muffler_upgrade" 20 | } 21 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/pickup_delay_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "tag": "c:slimeballs" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:pickup_delay_augment" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/placer_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:dispenser" 10 | }, 11 | { 12 | "item": "minecraft:dirt" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:placer_module" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/player_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "C": { 6 | "item": "minecraft:diamond_chestplate" 7 | }, 8 | "H": { 9 | "item": "minecraft:diamond_helmet" 10 | }, 11 | "P": { 12 | "item": "modularrouters:puller_module_2" 13 | }, 14 | "S": { 15 | "item": "modularrouters:sender_module_3" 16 | }, 17 | "Z": { 18 | "item": "minecraft:wither_skeleton_skull" 19 | } 20 | }, 21 | "pattern": [ 22 | " H ", 23 | "SZP", 24 | " C " 25 | ], 26 | "result": { 27 | "count": 1, 28 | "id": "modularrouters:player_module" 29 | } 30 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/puller_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:sticky_piston" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:puller_module_1" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/puller_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:puller_module_1" 7 | }, 8 | { 9 | "tag": "c:ender_pearls" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:puller_module_2" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/puller_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:puller_module_1" 7 | }, 8 | { 9 | "item": "modularrouters:puller_module_1" 10 | }, 11 | { 12 | "item": "modularrouters:puller_module_1" 13 | }, 14 | { 15 | "item": "modularrouters:puller_module_1" 16 | }, 17 | { 18 | "tag": "c:ender_pearls" 19 | } 20 | ], 21 | "result": { 22 | "count": 4, 23 | "id": "modularrouters:puller_module_2" 24 | } 25 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/pushing_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "M": { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | "P": { 9 | "item": "minecraft:piston" 10 | } 11 | }, 12 | "pattern": [ 13 | "PMP" 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:pushing_augment" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/range_down_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "M": { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | "Q": { 9 | "tag": "c:gems/quartz" 10 | }, 11 | "S": { 12 | "tag": "c:rods/wooden" 13 | } 14 | }, 15 | "pattern": [ 16 | " S ", 17 | "QMQ", 18 | " Q " 19 | ], 20 | "result": { 21 | "count": 4, 22 | "id": "modularrouters:range_down_augment" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/range_down_from_up.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:range_up_augment" 7 | } 8 | ], 9 | "result": { 10 | "count": 1, 11 | "id": "modularrouters:range_down_augment" 12 | } 13 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/range_up_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "M": { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | "Q": { 9 | "tag": "c:gems/quartz" 10 | }, 11 | "S": { 12 | "tag": "c:rods/wooden" 13 | } 14 | }, 15 | "pattern": [ 16 | " Q ", 17 | "QMQ", 18 | " S " 19 | ], 20 | "result": { 21 | "count": 4, 22 | "id": "modularrouters:range_up_augment" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/range_up_from_down.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:range_down_augment" 7 | } 8 | ], 9 | "result": { 10 | "count": 1, 11 | "id": "modularrouters:range_up_augment" 12 | } 13 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/redstone_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "M": { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | "R": { 9 | "tag": "c:dusts/redstone" 10 | }, 11 | "T": { 12 | "item": "minecraft:redstone_torch" 13 | } 14 | }, 15 | "pattern": [ 16 | " T ", 17 | "RMR", 18 | " T " 19 | ], 20 | "result": { 21 | "count": 1, 22 | "id": "modularrouters:redstone_augment" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/regex_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:bulk_item_filter" 7 | }, 8 | { 9 | "item": "minecraft:comparator" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:regex_filter" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/regulator_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "C": { 6 | "item": "minecraft:comparator" 7 | }, 8 | "M": { 9 | "item": "modularrouters:augment_core" 10 | }, 11 | "Q": { 12 | "tag": "c:gems/quartz" 13 | } 14 | }, 15 | "pattern": [ 16 | " Q ", 17 | "CMC", 18 | " Q " 19 | ], 20 | "result": { 21 | "count": 1, 22 | "id": "modularrouters:regulator_augment" 23 | } 24 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/reset_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "modularrouters:module_reset", 3 | "category": "misc" 4 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/security_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "N": { 9 | "tag": "c:nuggets/gold" 10 | }, 11 | "Q": { 12 | "tag": "c:gems/quartz" 13 | }, 14 | "R": { 15 | "tag": "c:dusts/redstone" 16 | } 17 | }, 18 | "pattern": [ 19 | " Q ", 20 | "NBN", 21 | " R " 22 | ], 23 | "result": { 24 | "count": 1, 25 | "id": "modularrouters:security_upgrade" 26 | } 27 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sender_module_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:bow" 10 | }, 11 | { 12 | "tag": "minecraft:arrows" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:sender_module_1" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sender_module_1_alt.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:piston" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:sender_module_1" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sender_module_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:sender_module_1" 7 | }, 8 | { 9 | "tag": "c:ender_pearls" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:sender_module_2" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sender_module_2_x4.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:sender_module_1" 7 | }, 8 | { 9 | "item": "modularrouters:sender_module_1" 10 | }, 11 | { 12 | "item": "modularrouters:sender_module_1" 13 | }, 14 | { 15 | "item": "modularrouters:sender_module_1" 16 | }, 17 | { 18 | "tag": "c:ender_pearls" 19 | } 20 | ], 21 | "result": { 22 | "count": 4, 23 | "id": "modularrouters:sender_module_2" 24 | } 25 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sender_module_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:sender_module_2" 7 | }, 8 | { 9 | "item": "minecraft:end_stone" 10 | }, 11 | { 12 | "item": "minecraft:ender_chest" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:sender_module_3" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/speed_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "G": { 9 | "tag": "c:gunpowders" 10 | }, 11 | "I": { 12 | "tag": "c:ingots/gold" 13 | }, 14 | "N": { 15 | "tag": "c:nuggets/gold" 16 | }, 17 | "R": { 18 | "tag": "c:dusts/redstone" 19 | }, 20 | "Z": { 21 | "tag": "c:rods/blaze" 22 | } 23 | }, 24 | "pattern": [ 25 | "RIR", 26 | "NBN", 27 | "GZG" 28 | ], 29 | "result": { 30 | "count": 3, 31 | "id": "modularrouters:speed_upgrade" 32 | } 33 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/stack_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "item": "modularrouters:stack_upgrade" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:stack_augment" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/stack_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | { 9 | "tag": "minecraft:stone_bricks" 10 | }, 11 | { 12 | "tag": "c:bricks" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:stack_upgrade" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/sync_upgrade.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shaped", 3 | "category": "misc", 4 | "key": { 5 | "B": { 6 | "item": "modularrouters:blank_upgrade" 7 | }, 8 | "R": { 9 | "tag": "c:dusts/redstone" 10 | }, 11 | "S": { 12 | "tag": "c:stones" 13 | }, 14 | "T": { 15 | "item": "minecraft:redstone_torch" 16 | } 17 | }, 18 | "pattern": [ 19 | "RST", 20 | "RBR" 21 | ], 22 | "result": { 23 | "count": 16, 24 | "id": "modularrouters:sync_upgrade" 25 | } 26 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/tag_filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:bulk_item_filter" 7 | }, 8 | { 9 | "item": "minecraft:paper" 10 | }, 11 | { 12 | "tag": "c:dyes/black" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:tag_filter" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/vacuum_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:hopper" 10 | }, 11 | { 12 | "item": "minecraft:ender_eye" 13 | } 14 | ], 15 | "result": { 16 | "count": 1, 17 | "id": "modularrouters:vacuum_module" 18 | } 19 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/void_module.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:blank_module" 7 | }, 8 | { 9 | "item": "minecraft:lava_bucket" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:void_module" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/recipe/xp_vacuum_augment.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:crafting_shapeless", 3 | "category": "misc", 4 | "ingredients": [ 5 | { 6 | "item": "modularrouters:augment_core" 7 | }, 8 | { 9 | "item": "minecraft:soul_sand" 10 | } 11 | ], 12 | "result": { 13 | "count": 1, 14 | "id": "modularrouters:xp_vacuum_augment" 15 | } 16 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/block/camo_blacklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [] 3 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/entity_type/activator_attack_blacklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [] 3 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/entity_type/activator_interact_blacklist.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "minecraft:villager", 4 | "minecraft:wandering_trader" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/item/augments.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "modularrouters:fast_pickup_augment", 4 | "modularrouters:filter_round_robin_augment", 5 | "modularrouters:mimic_augment", 6 | "modularrouters:pickup_delay_augment", 7 | "modularrouters:pushing_augment", 8 | "modularrouters:range_down_augment", 9 | "modularrouters:range_up_augment", 10 | "modularrouters:redstone_augment", 11 | "modularrouters:regulator_augment", 12 | "modularrouters:stack_augment", 13 | "modularrouters:xp_vacuum_augment" 14 | ] 15 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/item/filters.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "modularrouters:bulk_item_filter", 4 | "modularrouters:inspection_filter", 5 | "modularrouters:mod_filter", 6 | "modularrouters:regex_filter", 7 | "modularrouters:tag_filter" 8 | ] 9 | } -------------------------------------------------------------------------------- /src/generated/resources/data/modularrouters/tags/item/upgrades.json: -------------------------------------------------------------------------------- 1 | { 2 | "values": [ 3 | "modularrouters:blast_upgrade", 4 | "modularrouters:camouflage_upgrade", 5 | "modularrouters:energy_upgrade", 6 | "modularrouters:fluid_upgrade", 7 | "modularrouters:muffler_upgrade", 8 | "modularrouters:security_upgrade", 9 | "modularrouters:speed_upgrade", 10 | "modularrouters:stack_upgrade", 11 | "modularrouters:sync_upgrade" 12 | ] 13 | } -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/api/matching/MatcherProvider.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.api.matching; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | @FunctionalInterface 6 | public interface MatcherProvider { 7 | /** 8 | * Provide an implementation of {@code IItemMatcher} which performs item matching. 9 | * @param stack the itemstack which has the {@link me.desht.modularrouters.api.MRCapabilities#ITEM_MATCHER} 10 | * capability 11 | * @return an item match implementation 12 | */ 13 | IItemMatcher getMatcher(ItemStack stack); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/block/tile/ICamouflageable.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.block.tile; 2 | 3 | import net.minecraft.world.level.block.state.BlockState; 4 | 5 | public interface ICamouflageable { 6 | BlockState getCamouflage(); 7 | 8 | default boolean extendedMimic() { return false; } 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/IMouseOverHelpProvider.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui; 2 | 3 | @FunctionalInterface 4 | public interface IMouseOverHelpProvider { 5 | MouseOverHelp getMouseOverHelp(); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/IResyncableGui.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | @FunctionalInterface 6 | public interface IResyncableGui { 7 | void resync(ItemStack stack); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/ISendToServer.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui; 2 | 3 | @FunctionalInterface 4 | public interface ISendToServer { 5 | void sendToServer(); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/widgets/button/BackButton.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui.widgets.button; 2 | 3 | import me.desht.modularrouters.client.util.XYPoint; 4 | 5 | public class BackButton extends TexturedButton { 6 | private static final XYPoint TEXTURE_XY = new XYPoint(96, 0); 7 | 8 | public BackButton(int x, int y, OnPress pressable) { 9 | super(x, y, 16, 16, pressable); 10 | } 11 | 12 | @Override 13 | protected XYPoint getTextureXY() { 14 | return TEXTURE_XY; 15 | } 16 | 17 | @Override 18 | protected boolean drawStandardBackground() { 19 | return false; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/widgets/button/IToggleButton.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui.widgets.button; 2 | 3 | public interface IToggleButton { 4 | void toggle(); 5 | void setToggled(boolean toggled); 6 | boolean isToggled(); 7 | default boolean sendToServer() { return true; } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/widgets/button/InfoButton.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui.widgets.button; 2 | 3 | import me.desht.modularrouters.client.util.XYPoint; 4 | import net.minecraft.client.gui.components.Tooltip; 5 | 6 | import static me.desht.modularrouters.client.util.ClientUtil.xlate; 7 | 8 | public class InfoButton extends TexturedButton { 9 | private static final XYPoint TEXTURE_XY = new XYPoint(128, 0); 10 | 11 | public InfoButton(int x, int y, String key) { 12 | super(x, y, 16, 16, p -> {}); 13 | setTooltip(Tooltip.create(xlate("modularrouters.guiText.tooltip." + key))); 14 | } 15 | 16 | @Override 17 | protected boolean drawStandardBackground() { 18 | return false; 19 | } 20 | 21 | @Override 22 | protected XYPoint getTextureXY() { 23 | return TEXTURE_XY; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/widgets/button/RadioButton.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui.widgets.button; 2 | 3 | import me.desht.modularrouters.client.gui.ISendToServer; 4 | 5 | public abstract class RadioButton extends TexturedToggleButton { 6 | private final int groupId; 7 | 8 | public RadioButton(int groupId, int x, int y, int width, int height, boolean toggled, ISendToServer dataSyncer) { 9 | super(x, y, width, height, toggled, dataSyncer); 10 | this.groupId = groupId; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/gui/widgets/textfield/TextFieldWidgetMR.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.gui.widgets.textfield; 2 | 3 | import net.minecraft.client.gui.Font; 4 | import net.minecraft.client.gui.components.EditBox; 5 | import net.minecraft.network.chat.Component; 6 | 7 | public class TextFieldWidgetMR extends EditBox { 8 | public TextFieldWidgetMR(Font fontrendererObj, int x, int y, int width, int height) { 9 | super(fontrendererObj, x, y, width, height, Component.empty()); 10 | } 11 | 12 | /** 13 | * Convenience method 14 | */ 15 | public void useGuiTextBackground() { 16 | setTextColor(0xffffffff); 17 | setTextColorUneditable(0xffffffff); 18 | setBordered(false); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/util/GuiUtil.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.util; 2 | 3 | import net.minecraft.client.gui.GuiGraphics; 4 | import net.minecraft.client.gui.components.AbstractWidget; 5 | 6 | public class GuiUtil { 7 | public static void drawFrame(GuiGraphics graphics, AbstractWidget widget, int color) { 8 | graphics.hLine(widget.getX(), widget.getX() + widget.getWidth() - 1, widget.getY(), color); 9 | graphics.hLine(widget.getX(), widget.getX() + widget.getWidth() - 1, widget.getY() + widget.getHeight() - 1, color); 10 | graphics.vLine(widget.getX(), widget.getY(), widget.getY() + widget.getHeight() - 1, color); 11 | graphics.vLine(widget.getX() + widget.getWidth() - 1, widget.getY(), widget.getY() + widget.getHeight() - 1, color); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/client/util/XYPoint.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.client.util; 2 | 3 | /** 4 | * Replacing AWT Point class 5 | */ 6 | public record XYPoint(int x, int y) { 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/container/FilterSlot.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.container; 2 | 3 | import net.minecraft.world.entity.player.Player; 4 | import net.neoforged.neoforge.items.IItemHandler; 5 | import net.neoforged.neoforge.items.SlotItemHandler; 6 | 7 | public class FilterSlot extends SlotItemHandler { 8 | public FilterSlot(IItemHandler itemHandler, int index, int xPosition, int yPosition) { 9 | super(itemHandler, index, xPosition, yPosition); 10 | } 11 | 12 | @Override 13 | public boolean mayPickup(Player playerIn) { 14 | return false; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/container/Layout.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.container; 2 | 3 | /** 4 | * Some useful constants for helping to lay out container GUIs 5 | */ 6 | class Layout { 7 | static final int SLOT_X_SPACING = 18; 8 | static final int SLOT_Y_SPACING = 18; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/container/ModFilterMenu.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.container; 2 | 3 | import me.desht.modularrouters.core.ModMenuTypes; 4 | import me.desht.modularrouters.util.MFLocator; 5 | import net.minecraft.network.FriendlyByteBuf; 6 | import net.minecraft.world.entity.player.Inventory; 7 | 8 | public class ModFilterMenu extends AbstractInvSmartFilterMenu { 9 | public ModFilterMenu(int windowId, Inventory invPlayer, FriendlyByteBuf extraData) { 10 | super(ModMenuTypes.MOD_FILTER_MENU.get(), windowId, invPlayer, MFLocator.fromNetwork(extraData)); 11 | } 12 | 13 | public ModFilterMenu(int windowId, Inventory invPlayer, MFLocator locator) { 14 | super(ModMenuTypes.MOD_FILTER_MENU.get(), windowId, invPlayer, locator); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/container/TagFilterMenu.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.container; 2 | 3 | import me.desht.modularrouters.core.ModMenuTypes; 4 | import me.desht.modularrouters.util.MFLocator; 5 | import net.minecraft.network.FriendlyByteBuf; 6 | import net.minecraft.world.entity.player.Inventory; 7 | 8 | public class TagFilterMenu extends AbstractInvSmartFilterMenu { 9 | public TagFilterMenu(int windowId, Inventory invPlayer, FriendlyByteBuf extraData) { 10 | super(ModMenuTypes.TAG_FILTER_MENU.get(), windowId, invPlayer, MFLocator.fromNetwork(extraData)); 11 | } 12 | 13 | public TagFilterMenu(int windowId, Inventory invPlayer, MFLocator locator) { 14 | super(ModMenuTypes.TAG_FILTER_MENU.get(), windowId, invPlayer, locator); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/event/TickEventHandler.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.event; 2 | 3 | import me.desht.modularrouters.ModularRouters; 4 | import net.minecraft.world.level.Level; 5 | import net.neoforged.bus.api.SubscribeEvent; 6 | import net.neoforged.fml.common.EventBusSubscriber; 7 | import net.neoforged.neoforge.event.tick.LevelTickEvent; 8 | 9 | @EventBusSubscriber(modid = ModularRouters.MODID) 10 | public class TickEventHandler { 11 | 12 | public static long TickCounter = 0; 13 | 14 | @SubscribeEvent 15 | public static void onWorldTick(LevelTickEvent.Post event) { 16 | if (event.getLevel().dimension() == Level.OVERWORLD && !event.getLevel().isClientSide) { 17 | TickCounter++; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/integration/ffs/FFSSetup.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.integration.ffs; 2 | 3 | import dev.ftb.mods.ftbfiltersystem.api.FTBFilterSystemAPI; 4 | import me.desht.modularrouters.api.MRCapabilities; 5 | import net.minecraft.world.item.Item; 6 | import net.minecraft.world.item.Items; 7 | import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent; 8 | 9 | public class FFSSetup { 10 | public static void registerCaps(RegisterCapabilitiesEvent event) { 11 | Item ftbFilterItem = FTBFilterSystemAPI.api().filterItem(); 12 | if (ftbFilterItem != Items.AIR) { 13 | event.registerItem(MRCapabilities.ITEM_MATCHER, (stack, ctx) -> FFSItemMatcher::new, ftbFilterItem); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/integration/patchouli/PatchouliHelper.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.integration.patchouli; 2 | 3 | import me.desht.modularrouters.ModularRouters; 4 | import net.minecraft.resources.ResourceLocation; 5 | import net.minecraft.world.item.ItemStack; 6 | import vazkii.patchouli.api.PatchouliAPI; 7 | 8 | public class PatchouliHelper { 9 | private static final ResourceLocation BOOK_ID = ResourceLocation.fromNamespaceAndPath(ModularRouters.MODID, "book"); 10 | 11 | public static ItemStack makePatchouliBook() { 12 | return PatchouliAPI.get().getBookStack(BOOK_ID); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/FastPickupAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.ModuleItem; 4 | import me.desht.modularrouters.item.module.VacuumModule; 5 | 6 | public class FastPickupAugment extends AugmentItem { 7 | @Override 8 | public int getMaxAugments(ModuleItem moduleType) { 9 | return moduleType instanceof VacuumModule ? 1 : 0; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/FilterRoundRobinAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.CreativeModule; 4 | import me.desht.modularrouters.item.module.ModuleItem; 5 | 6 | public class FilterRoundRobinAugment extends AugmentItem { 7 | @Override 8 | public int getMaxAugments(ModuleItem moduleType) { 9 | return moduleType instanceof CreativeModule ? 0 : 1; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/MimicAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.ExtruderModule2; 4 | import me.desht.modularrouters.item.module.ModuleItem; 5 | 6 | public class MimicAugment extends AugmentItem { 7 | @Override 8 | public int getMaxAugments(ModuleItem moduleType) { 9 | return moduleType instanceof ExtruderModule2 ? 1 : 0; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/PushingAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.ExtruderModule1; 4 | import me.desht.modularrouters.item.module.ExtruderModule2; 5 | import me.desht.modularrouters.item.module.ModuleItem; 6 | 7 | public class PushingAugment extends AugmentItem { 8 | @Override 9 | public int getMaxAugments(ModuleItem moduleType) { 10 | return moduleType instanceof ExtruderModule1 || moduleType instanceof ExtruderModule2 ? 64 : 0; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/RangeAugments.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.IRangedModule; 4 | import me.desht.modularrouters.item.module.ModuleItem; 5 | 6 | public abstract class RangeAugments extends AugmentItem { 7 | public static class RangeUpAugment extends RangeAugments { 8 | @Override 9 | public int getMaxAugments(ModuleItem moduleType) { 10 | return moduleType instanceof IRangedModule r ? r.getHardMaxRange() - r.getBaseRange() : 0; 11 | } 12 | } 13 | 14 | public static class RangeDownAugment extends RangeAugments { 15 | @Override 16 | public int getMaxAugments(ModuleItem moduleType) { 17 | return moduleType instanceof IRangedModule r ? r.getBaseRange() - 1 : 0; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/RedstoneAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.ModuleItem; 4 | import me.desht.modularrouters.logic.settings.RedstoneBehaviour; 5 | import net.minecraft.network.chat.Component; 6 | import net.minecraft.world.item.ItemStack; 7 | 8 | import static me.desht.modularrouters.client.util.ClientUtil.xlate; 9 | 10 | public class RedstoneAugment extends AugmentItem { 11 | @Override 12 | public int getMaxAugments(ModuleItem moduleType) { 13 | return 1; 14 | } 15 | 16 | @Override 17 | public Component getExtraInfo(int c, ItemStack moduleStack) { 18 | RedstoneBehaviour rrb = ModuleItem.getRedstoneBehaviour(moduleStack); 19 | return Component.literal(" - ").append(xlate(rrb.getTranslationKey())); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/augment/XPVacuumAugment.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.augment; 2 | 3 | import me.desht.modularrouters.item.module.ModuleItem; 4 | import me.desht.modularrouters.item.module.VacuumModule; 5 | 6 | public class XPVacuumAugment extends AugmentItem { 7 | @Override 8 | public int getMaxAugments(ModuleItem moduleType) { 9 | return moduleType instanceof VacuumModule ? 1 : 0; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/module/IRangedModule.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.module; 2 | 3 | import net.minecraft.world.item.ItemStack; 4 | 5 | public interface IRangedModule { 6 | int getBaseRange(); 7 | int getHardMaxRange(); 8 | 9 | default int getCurrentRange(ItemStack stack) { 10 | return Math.max(1, Math.min(getHardMaxRange(), getBaseRange() + ModuleItem.getRangeModifier(stack))); 11 | } 12 | 13 | default int getCurrentRange(int boost) { // yay java 8 14 | return Math.max(1, Math.min(getHardMaxRange(), getBaseRange() + boost)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/upgrade/BlastUpgrade.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.upgrade; 2 | 3 | import me.desht.modularrouters.client.util.TintColor; 4 | 5 | public class BlastUpgrade extends UpgradeItem { 6 | @Override 7 | public TintColor getItemTint() { 8 | return new TintColor(144, 0, 0); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/upgrade/MufflerUpgrade.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.upgrade; 2 | 3 | import me.desht.modularrouters.client.util.TintColor; 4 | 5 | public class MufflerUpgrade extends UpgradeItem { 6 | @Override 7 | public TintColor getItemTint() { 8 | return new TintColor(255, 255, 195); 9 | } 10 | 11 | @Override 12 | public int getStackLimit(int slot) { 13 | return 3; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/item/upgrade/StackUpgrade.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.item.upgrade; 2 | 3 | import me.desht.modularrouters.block.tile.ModularRouterBlockEntity; 4 | import me.desht.modularrouters.client.util.ClientUtil; 5 | import me.desht.modularrouters.client.util.TintColor; 6 | 7 | public class StackUpgrade extends UpgradeItem { 8 | @Override 9 | public Object[] getExtraUsageParams() { 10 | int itemsPerTick = ClientUtil.getOpenItemRouter().map(ModularRouterBlockEntity::getItemsPerTick).orElse(1); 11 | return new Object[] { itemsPerTick, 6 }; 12 | } 13 | 14 | @Override 15 | public TintColor getItemTint() { 16 | return new TintColor(128, 223, 255); 17 | } 18 | 19 | @Override 20 | public int getStackLimit(int slot) { 21 | return 6; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/logic/filter/matchers/TagMatcher.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.logic.filter.matchers; 2 | 3 | import me.desht.modularrouters.api.matching.IItemMatcher; 4 | import me.desht.modularrouters.api.matching.IModuleFlags; 5 | import net.minecraft.tags.TagKey; 6 | import net.minecraft.world.item.Item; 7 | import net.minecraft.world.item.ItemStack; 8 | 9 | import java.util.Collection; 10 | 11 | public class TagMatcher implements IItemMatcher { 12 | private final Collection> tagList; 13 | 14 | public TagMatcher(Collection> tagList) { 15 | this.tagList = tagList; 16 | } 17 | 18 | @Override 19 | public boolean matchItem(ItemStack stack, IModuleFlags flags) { 20 | return tagList.stream().anyMatch(stack::is); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/logic/settings/ModuleTermination.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.logic.settings; 2 | 3 | import me.desht.modularrouters.util.TranslatableEnum; 4 | import net.minecraft.util.StringRepresentable; 5 | 6 | public enum ModuleTermination implements TranslatableEnum, StringRepresentable { 7 | NONE("none"), 8 | RAN("ran"), 9 | NOT_RAN("not_ran"); 10 | 11 | private final String name; 12 | 13 | ModuleTermination(String name) { 14 | this.name = name; 15 | } 16 | 17 | @Override 18 | public String getTranslationKey() { 19 | return "modularrouters.guiText.tooltip.terminate." + name; 20 | } 21 | 22 | @Override 23 | public String getSerializedName() { 24 | return name; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/logic/settings/TransferDirection.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.logic.settings; 2 | 3 | import me.desht.modularrouters.util.TranslatableEnum; 4 | import net.minecraft.util.StringRepresentable; 5 | 6 | public enum TransferDirection implements TranslatableEnum, StringRepresentable { 7 | TO_ROUTER("to_router"), 8 | FROM_ROUTER("from_router"); 9 | 10 | private final String name; 11 | 12 | TransferDirection(String name) { 13 | this.name = name; 14 | } 15 | 16 | @Override 17 | public String getTranslationKey() { 18 | return "modularrouters.itemText.transfer_direction." + name; 19 | } 20 | 21 | @Override 22 | public String getSerializedName() { 23 | return name; 24 | } 25 | 26 | public String getSymbol() { return this == FROM_ROUTER ? "⟹" : "⟸"; } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/util/ItemTagMatcher.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.util; 2 | 3 | import com.google.common.collect.ImmutableSet; 4 | import com.google.common.collect.Sets; 5 | import net.minecraft.tags.TagKey; 6 | import net.minecraft.world.item.Item; 7 | import net.minecraft.world.item.ItemStack; 8 | 9 | import java.util.Set; 10 | 11 | public class ItemTagMatcher { 12 | private final Set> tags; 13 | 14 | public ItemTagMatcher(ItemStack stack) { 15 | this.tags = ImmutableSet.copyOf(MiscUtil.itemTags(stack.getItem())); 16 | } 17 | 18 | public boolean match(ItemStack stack) { 19 | return !Sets.intersection(tags, MiscUtil.itemTags(stack.getItem())).isEmpty(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/me/desht/modularrouters/util/TranslatableEnum.java: -------------------------------------------------------------------------------- 1 | package me.desht.modularrouters.util; 2 | 3 | public interface TranslatableEnum { 4 | String getTranslationKey(); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/accesstransformer.cfg: -------------------------------------------------------------------------------- 1 | public net.minecraft.world.entity.ExperienceOrb count 2 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/augments.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Augments", 3 | "description": "Module Augments can be installed in Modules to enhance or extend their functionality", 4 | "icon": "modularrouters:xp_vacuum_augment", 5 | "sortnum": 4 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/filters.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Smart Filters", 3 | "description": "Smart Filters are a collection of items which can be placed in any module's filter slots instead of a regular item, and provide more sophisticated item matching functionality.", 4 | "icon": "modularrouters:bulk_item_filter", 5 | "sortnum": 5 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/intro.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Introduction", 3 | "description": "Welcome to $(modr) !", 4 | "icon": "minecraft:knowledge_book", 5 | "sortnum": 0 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/modules.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Modules", 3 | "description": "Modules are placed into a Modular Router and define the router's functionality.", 4 | "icon": "modularrouters:sender_module_1", 5 | "sortnum": 2 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/router.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Modular Router", 3 | "description": "The Modular Router is the only block in the $(modr) mod.", 4 | "icon": "modularrouters:modular_router", 5 | "sortnum": 1 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/categories/upgrades.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Upgrades", 3 | "description": "Upgrades can be installed in a Modular Router to enhance or modify its functionality.", 4 | "icon": "modularrouters:speed_upgrade", 5 | "sortnum": 3 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/fast_pickup.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Fast Pickup Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:fast_pickup_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can only be added to the $(l:modules/vacuum)Vacuum Module/$. It allows the Vacuum Module to ignore the normal pickup delay on dropped items - 40 ticks for items dropped by players, and 10 ticks for items dropped by other means (e.g. sheep shearing) - and pick up items as soon as it sees them.$(p)A max of one Fast Pickup Augment can be added." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:fast_pickup_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/mimic.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mimic Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:mimic_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can only be added to the $(l:modules/extruder_2)Extruder Module Mk2/$.$(p)When present, any fake blocks extruded by the module take on the properties of the faked block, e.g. $(item)Obsidian/$ is hard to break, $(item)Glowstone/$ emits light, and $(item)Redstone Blocks/$ emit a redstone signal." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:mimic_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/pickup_delay.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pickup Delay Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:pickup_delay_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can only be added to the $(l:modules/dropper)Dropper/$ and $(l:modules/flinger)Flinger/$ modules.$(p)It can be stacked; each augment added will increase the pickup delay on dropped/flung items by 10 ticks (0.5 sec). This can be useful if you don't want players accidentally picking up nearby dropped items, for example." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:pickup_delay_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/pushing.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pushing Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:pushing_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can only be added to the $(l:modules/extruder_1)Extruder Mk1/$ and $(l:modules/extruder_2)Extruder Mk2/$ modules.$(p)It can be stacked; each augment increases the force that entities are shoved when the module extrudes a block." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:pushing_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/range_up.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Range Up Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:range_up_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can be added to any module which has a range (Sender $(l:modules/sender_1)Mk1/$ / $(l:modules/sender_2)Mk2/$, Puller $(l:modules/puller_1)Mk1/$ / $(l:modules/puller_2)Mk2/$, Extruder $(l:modules/extruder_1)Mk1/$ / $(l:modules/extruder_2)Mk2/$, $(l:modules/fluid_2)Fluid Mk2/$, $(l:modules/vacuum)Vacuum/$).$(p)It can be stacked; each augment will increase the range of the module by one block." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:range_up_augment", 13 | "recipe2": "modularrouters:range_up_from_down" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/augments/redstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Redstone Augment", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:redstone_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This augment can be added to any module.$(p)Normally, modules are run when the router runs, no questions asked. However, if this augment is added to a module, that module can define its own redstone behaviour; an extra button is added to the module's GUI to control this." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:redstone_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/intro/augments.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Augments", 3 | "icon": "modularrouters:augment_core", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(thing)Augments/$ are like $(l:intro/upgrades)upgrades/$ but are inserted into a $(l:intro/modules)module/$ rather than a $(l:intro/modular_router)Modular Router/$. Each module has slots for 4 augments (some augments can be stacked). Augments enhance or extend a module's functionality in various ways." 9 | }, 10 | { 11 | "type": "image", 12 | "images": [ 13 | "modularrouters:textures/patchouli/augments.png" 14 | ], 15 | "text": "$(italic)A Vacuum Module with 6 Range Up augments and an XP Vacuum augment/$", 16 | "border": true 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/intro/misc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Miscellaneous Stuff", 3 | "icon": "minecraft:book", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This chapter covers some miscellaneous items and crafting components." 9 | }, 10 | { 11 | "type": "spotlight", 12 | "item": "modularrouters:override_card", 13 | "anchor": "override", 14 | "text": "See $(l:upgrades/security#override)Security Upgrade/$." 15 | }, 16 | { 17 | "type": "crafting", 18 | "recipe": "modularrouters:blank_module", 19 | "recipe2": "modularrouters:blank_upgrade" 20 | }, 21 | { 22 | "type": "crafting", 23 | "recipe": "modularrouters:augment_core" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/intro/upgrades.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Upgrades", 3 | "icon": "modularrouters:speed_upgrade", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(thing)Upgrades/$ improve a $(l:intro/modular_router)Modular Router's/$ functionality in various ways. There are 8 different upgrade types, and 5 upgrade slots in an Modular Router.$(p)You can put multiple upgrades in an upgrade slot, although there is a limit on how many upgrades of a particular type can be inserted; see the individual upgrade pages or upgrade item tooltips for more information on this." 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/creative.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Creative Module", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:creative_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "The Creative Module is a special uncraftable module which simply inserts items, from out of nowhere, into the router's buffer.$(p)It uses the module's filter as an item list, and on each tick moves to the next item in the filter in round-robin fashion. It doesn't care about any other filter settings (whitelist/blacklist, match NBT...)." 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/detector.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Detector Module", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:detector_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This module doesn't actually manipulate items, but instead detects specific items in the router's buffer. If the buffer contents are matched by the module's filter, it will make the router emit a redstone signal in the $(l:intro/modules#direction)configured direction/$.$(p)The signal level (default: 15) and signal type (default: weak) can be adjusted via the module GUI." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:detector_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/dropper.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dropper Module", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:dropper_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This module tries to drop an item from the router's buffer as an item entity in the world. The drop will be adjacent to the router in the module's $(l:intro/modules#direction)configured direction/$. The item entity will be placed with a zero velocity, unlike the vanilla $(item)Dropper/$ which adds an irritating random velocity to the item." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:dropper_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/energy_output.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Energy Output Module", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:energy_output_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This module attempts to output FE (Forge Energy) from the Router to an adjacent energy-receiving block, in its configured direction. The module can extract energy from either the router's internal energy buffer (if any $(l:upgrades/energy)Energy Upgrades/$ are installed) or from an energy-containing item in the router's item buffer. The internal energy buffer is used by preference." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:energy_output_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/puller_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Puller Module Mk1", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:puller_module_1", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This module tries to pull the first eligible item from the adjacent inventory in its $(l:intro/modules#direction)configured direction/$ into the router's buffer. If the buffer is full or contains something that stacks with nothing in the inventory, nothing will be pulled." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:puller_module_1" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/sender_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sender Module Mk3", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:sender_module_3", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": " This top-end sender module operates very much like the $(l:modules/sender_3)Sender Mk2/$, but can send to any inventory (in any dimension) with no restrictions!$(p)Note: the target inventory must be chunk-loaded; $(modr) will not do this for you." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:sender_module_3" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/modules/void.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Void Module", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:void_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This dangerous module permanently destroys items in the router's buffer! It is strongly recommended to configure this module with a $(l:intro/modules#filter)whitelist filter/$ to prevent accidental deletion of valuable items..." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:void_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/upgrades/blast.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Blast Upgrade", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:blast_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This upgrade makes the router fully immune to explosion damage, and also to being destroyed by boss mobs." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:blast_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/upgrades/camouflage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Camouflage Upgrade", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:camouflage_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This upgrade allows you to disguise the router as another block. $(thing)Sneak+Right-click/$ the module against a block to record that block on the camouflage upgrade. When inserted into a router, that router will take on the appearance of the recorded block.$(p)Note: holding a $(thing)Modular Router/$ will highlight any nearby camouflaged Routers." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:camouflage_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/en_us/entries/upgrades/fluid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Fluid Transfer Upgrade", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:fluid_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "This upgrade only affects the $(l:modules/fluid)Fluid Module Mk1/$ and $(l:modules/fluid_2)Fluid Module Mk2/$.$(p)It increases the overall fluid transfer rate of the $(l:router/modular_router)Router/$ (in each direction; in & out of the router) from the base rate of 50mB/tick by 10mB/tick, up to a maximum of 400mB/tick. Therefore the maximum number of Fluid Transfer Upgrades in a router is 35." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:fluid_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/augments.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "オーグメント", 3 | "description": "オーグメントはモジュールにインストールして機能を強化または拡張することができます。", 4 | "icon": "modularrouters:xp_vacuum_augment", 5 | "sortnum": 4 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/filters.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "スマートフィルター", 3 | "description": "スマートフィルターは通常のアイテムの代わりに任意のモジュールのフィルタースロットに配置できるアイテムのコレクションであり、より洗練されたアイテムマッチング機能を提供します。", 4 | "icon": "modularrouters:bulk_item_filter", 5 | "sortnum": 5 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/intro.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "始めに", 3 | "description": "$(modr)へようこそ!", 4 | "icon": "minecraft:knowledge_book", 5 | "sortnum": 0 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/modules.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "モジュール", 3 | "description": "モジュールはモジュラールーターに配置され、ルーターの機能を定義します。", 4 | "icon": "modularrouters:sender_module_1", 5 | "sortnum": 2 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/router.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "モジュラールーター", 3 | "description": "モジュラールーターは$(modr)のMOD内の唯一のブロックです。", 4 | "icon": "modularrouters:modular_router", 5 | "sortnum": 1 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/categories/upgrades.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "アップグレード", 3 | "description": "モジュラールーターにアップグレードをインストールすることで機能を強化または変更できます。", 4 | "icon": "modularrouters:speed_upgrade", 5 | "sortnum": 3 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/fast_pickup.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "高速ピックアップオーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:fast_pickup_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "この拡張は$(l:modules/vacuum)吸引モジュール/$にのみ追加できます。これにより、吸引モジュールはドロップされたアイテムの通常のピックアップ遅延(プレイヤーがドロップしたアイテムの場合は40ティック、他の手段(ヒツジの毛刈りなど)でドロップされたアイテムの場合は10ティック)を無視し、アイテムを見つけるとすぐにピックアップできるようになります。$(p)最大1つの高速ピックアップオーグメントを追加できます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:fast_pickup_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/mimic.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ミミックオーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:mimic_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントは$(l:modules/extruder_2)押し出しモジュールMk2/$にのみ追加できます。$(p)存在する場合、モジュールによって押し出された偽のブロックは偽のブロックの特性を引き継ぎます。たとえば$(item)黒曜石/$は壊れにくく、$(item)グロウストーン/$は光を発し、$(item)レッドストーンブロック/$はレッドストーン信号を発します。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:mimic_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/pickup_delay.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ピックアップ遅延オーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:pickup_delay_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントは$(l:modules/dropper)ドロッパーモジュール/$と$(l:modules/flinger)投げ出しモジュール/$にのみ追加できます。$(p)これはスタックすることができ、追加された各オーグメントはドロップ/投げられたアイテムのピックアップ遅延を10ティック(0.5秒)増加させます。これはたとえば、プレイヤーが近くにドロップされたアイテムを誤って拾ってしまうのを防ぎたい場合に役立ちます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:pickup_delay_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/pushing.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "押し込みオーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:pushing_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントは$(l:modules/extruder_1)押し出しモジュールMk1/$および$(l:modules/extruder_2)押し出しモジュールMk2/$にのみ追加できます。オーグメントはスタックすることができ、オーグメントごとにモジュールがブロックを押し出すときにエンティティが押し出される力が増します。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:pushing_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/range_up.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "範囲拡大オーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:range_up_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントは範囲を持つ任意のモジュール(送信モジュール$(l:modules/sender_1)Mk1/$ / $(l:modules/sender_2)、引き込みモジュール$(l:modules/puller_1)Mk1/$ / $(l:modules/puller_2)Mk2/$、押し出しモジュール$(l:modules/extruder_1)Mk1/$ / $(l:modules/extruder_2)Mk2/$、$(l:modules/fluid_2)流体モジュールMk2/$、$(l:modules/vacuum)吸引モジュール/$)に追加できます。$(p)これはスタックすることができ、拡張ごとにモジュールの範囲が1ブロックずつ増加します。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:range_up_augment", 13 | "recipe2": "modularrouters:range_up_from_down" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/redstone.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "レッドストーンオーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:redstone_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントはどのモジュールにも追加できます。$(p)通常、モジュールはルーターの実行時に何も質問されることなく実行されます。ただし、このオーグメントをモジュールに追加すると、そのモジュールは独自のレッドストーン動作を定義できます。これを制御するための追加ボタンがモジュールのGUIに追加されます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:redstone_augment" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/stack.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "スタックオーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:stack_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールは$(italic)アイテム/$を処理するモジュール($(italic)ブロック/$、$(italic)流体/$、$(italic)エネルギー/$を除く)に追加できます。$(p)モジュールにスタックオーグメントを追加すると、1ティックあたりに処理できるアイテムの数が増えます。スタックオーグメントごとにアイテムの数が2倍になり、最大でアイテムの自然なスタックサイズ(ほとんどのアイテムでは64)になります。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "$(l:router/modular_router)ルーター/$に$(l:upgrades/stack)スタックアップグレード/$もインストールされている場合、モジュールのスタックオーグメントによってそれが上書きされます。たとえば、ルーターに6つのスタックアップグレードがあり、モジュールに2つのスタックオーグメントがある場合、モジュールは1ティックあたり64ではなく4つのアイテムを処理します。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:stack_augment" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/augments/xp_vacuum.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "経験値吸引オーグメント", 3 | "category": "modularrouters:augments", 4 | "icon": "modularrouters:xp_vacuum_augment", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このオーグメントは$(l:modules/vacuum)吸引モジュール/$にのみ追加できます。$(p)このオーグメントを追加すると吸引モジュールはアイテムではなく経験値オーブを吸収します。オーブは1瓶あたり経験値7の割合で$(item)エンチャントの瓶/$(これはエンチャントの瓶を破壊して得られる経験値の平均量です)に変換されます。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "インストールされている他のモジュールによっては、経験値オーブを流体に変換できる場合もあります。これには流体を含むタンクがルーターのバッファ内にあるか、ルーターに隣接している必要があります。後者の場合は、吸引モジュールのGUIで$(bold)排出/$ボタンが有効になっていることを確認してください。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:xp_vacuum_augment" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/filters/ftb_filter_system.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FTBフィルターシステム", 3 | "category": "modularrouters:filters", 4 | "icon": "ftbfiltersystem:smart_filter", 5 | "flag": "|mod:ftbfiltersystem", 6 | "pages": [ 7 | { 8 | "type": "text", 9 | "text": "FTBフィルターシステム(FFS)は直感的なGUIを使用して、さまざまなタイプのフィルター条件を興味深い方法で組み合わせることができる強力なモジュールです。 FFS がインストールされている場合(これを読んでいる場合はインストールされています)、モジュールの$(item)スマートフィルター/$アイテムをモジュールのフィルタースロットに配置すると、アイテムが適切にフィルターされます。" 10 | }, 11 | { 12 | "type": "text", 13 | "text": "制限: FFSスマートフィルターは、モジュラールーターのフィルターのようにインストール中に構成することはできません。再構成するにはフィルターアイテムをインベントリに用意しておく必要があります。" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/intro/augments.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "オーグメント", 3 | "icon": "modularrouters:augment_core", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(thing)オーグメント/$は$(l:intro/upgrades)アップグレード/$のようなものですが$(l:intro/modular_router)モジュラールーター/$ではなく各$(l:intro/modules)モジュール/$に挿入されます。各モジュールには4つのオーグメント用スロットがあり、一部のオーグメントはスタック可能です。オーグメントはモジュールの機能を様々な方法で強化または拡張します。" 9 | }, 10 | { 11 | "type": "image", 12 | "images": [ 13 | "modularrouters:textures/patchouli/augments.png" 14 | ], 15 | "text": "$(italic)6つの範囲拡大オーグメントと経験値吸引オーグメントを備えた吸引モジュール/$", 16 | "border": true 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/intro/filters.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "スマートフィルター", 3 | "icon": "modularrouters:bulk_item_filter", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(thing)スマートフィルター/$は通常のアイテムの代わりに$(l:intro/modules)モジュールの/$フィルタースロットに挿入できます。アイテムと直接一致させるだけでなく、フィルターには特別な一致機能があります。$(p)たとえば$(l:filters/bulk_item)一括アイテムフィルター/$は最大54個の異なるアイテムと効率的に一致させることができ、そのアイテムは既存のインベントリから構成できます。" 9 | }, 10 | { 11 | "type": "image", 12 | "images": [ 13 | "modularrouters:textures/patchouli/bulk_filter.png" 14 | ], 15 | "text": "$(italic)引込モジュールMk2にインストールされた一括アイテムフィルター/$", 16 | "border": true 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/intro/misc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "その他", 3 | "icon": "minecraft:book", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "この章では、さまざまなアイテムと作成コンポーネントについて説明します。" 9 | }, 10 | { 11 | "type": "spotlight", 12 | "item": "modularrouters:override_card", 13 | "anchor": "override", 14 | "text": "$(l:upgrades/security#override)セキュリティアップグレード/$を参照してください。" 15 | }, 16 | { 17 | "type": "crafting", 18 | "recipe": "modularrouters:blank_module", 19 | "recipe2": "modularrouters:blank_upgrade" 20 | }, 21 | { 22 | "type": "crafting", 23 | "recipe": "modularrouters:augment_core" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/intro/modular_router.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "モジュラールーター概要", 3 | "icon": "modularrouters:modular_router", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(item)モジュラールーター/$はルーティングシステムの中心的なブロックです。それ自体では1スロットのインベントリとして機能するだけ(ホッパーやその他MODの配管システムによってパイプで出し入れできます)です。$(p)ただし、ルーターで何か便利なことを行うには1つ以上の(最大9個)$(l:intro/modules)モジュール/$をインストールする必要があります。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "ルーターがティックするたび(デフォルトでは1秒に1回)に、インストールされているすべてのモジュールが順番に実行されます。これらの各モジュールはバッファー内のアイテムまたはルーターの周囲のワールドに対して特定の方法で動作します。各モジュールタイプの詳細については$(bold)モジュール/$セクションを参照してください。$(p)ルーターの動作は$(bold)アップグレード/$によって変更することもできます。速度を上げたり、ティックごとに処理できるアイテムを増やしたり、特定のモジュールの範囲を広げたりすることができます。" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/intro/upgrades.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "アップグレード", 3 | "icon": "modularrouters:speed_upgrade", 4 | "category": "modularrouters:intro", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(thing)アップグレード/$により$(l:intro/modular_router)モジュラールーター/$の機能がさまざまな方法で向上します。モジュラールーターには8種類のアップグレードタイプと5つのアップグレードスロットがあります。アップグレードスロットに複数のアップグレードを配置できますが、特定のタイプのアップグレードを挿入できる数には制限があります。詳細については個々のアップグレードページまたはアップグレードアイテムのツールチップを参照してください。" 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/creative.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "クリエイティブモジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:creative_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "クリエイティブモジュールはルーターのバッファにアイテムをどこからともなく挿入するだけの特別な作成不可モジュールです。$(p)モジュールのフィルターをアイテムリストとして使用し、ティックごとにフィルター内の次のアイテムにラウンドロビン方式で移動します。その他のフィルター設定(ホワイトリスト/ブラックリスト、NBTとの一致など)は考慮されません。" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/detector.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "検出モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:detector_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールは実際にアイテムを操作するのではなく、ルーターのバッファ内の特定のアイテムを検出します。バッファの内容がモジュールのフィルターと一致すると、ルーターは$(l:intro/modules#direction)設定方向/$にレッドストーン信号を発します。$(p)信号レベル(デフォルト: 15)と信号タイプ(デフォルト: 弱)はモジュールのGUIから調整できます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:detector_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/distributor.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "分配モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:distributor_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "これはアイテムを複数のターゲットに送信できる$(l:modules/sender_2)送信モジュールMk2/$の拡張バージョンです。インベントリを$(thing)スニーク+右クリック/$して分配モジュールに追加し、インベントリをもう一度$(thing)スニーク+右クリック/$して削除します。$(p)分配モジュールは最大8つのターゲットに分配できます。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "右側のGUIコントロールから分配方法をさらに細かく制御できます: $(li)$(bold)ラウンドロビン/$ - 各インベントリに順番に、できるだけ均等に分配します。$(li)$(bold)ランダム/$ - ターゲットの1つをランダムに選択します。$(li)$(bold)最も近い/$ - 常に最も近いターゲットにアイテム用のスペースを埋めます。$(li)$(bold)最も遠い/$ - 常に最も遠いターゲットにアイテム用のスペースを埋めます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:distributor_module" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/dropper.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ドロッパ―モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:dropper_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールはルーターのバッファからアイテムをアイテムエンティティとしてワールドにドロップしようとします。ドロップはモジュールの$(l:intro/modules#direction)設定方向/$でルーターに隣接します。アイテムエンティティはアイテムにイライラするランダムな速度を追加するバニラの$(item)ドロッパー/$とは異なり、ゼロ速度で配置されます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:dropper_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/energy_output.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "エネルギー出力モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:energy_output_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールはルーターから設定方向に隣接するエネルギー受信ブロックに対してFE(Forgeエネルギー)を出力しようとします。モジュールはルーターの内部エネルギーのバッファ($(l:upgrades/energy)エネルギーアップグレード/$がインストールされている場合)またはルーターのアイテムバッファ内のエネルギーを含むアイテムからエネルギーを抽出できます。内部エネルギーのバッファが優先的に使用されます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:energy_output_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/flinger.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "投げ出しモジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:flinger_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールは$(l:modules/dropper)ドロッパーモジュール/$と同様に動作しますがドロップされたアイテムに設定可能な速度を与え、アイテムをかなりの距離投げる可能性がある点が異なります。モジュールのGUIを使用してアイテムの速度、上下角、左右角を調整できます。$(li)上下角と左右角は基本角度(上下角または左右角)に対する度数で表されます。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "モジュールが上または下に排出される場合、基本上下角はそれぞれ+90°または-90°になります。それ以外の場合、基本上下角は0°です。モジュールが上または下に排出される場合、基本左右角はルーターの向きの方向です。それ以外の場合、基本左右角はモジュールの方向から取得されます。例: 速度1.0、上下角/左右角0°でモジュール方向が水平の場合、アイテムは地面に沿って約7ブロックの距離投げられます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:flinger_module" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/fluid_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "流体モジュールMk2", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:fluid_module_2", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "$(l:modules/fluid)流体モジュールMk1/$と同様に、このモジュールはバッファ内に流体を含むアイテムがある場合、ルーターとの間で流体を転送できます。ただし、このモジュールは最大12ブロック($(l:augments/range_up)範囲拡大オーグメント/$により最大24ブロック)離れた場所をターゲットにすることもできます。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "モジュールのあるブロックを$(thing)スニーク+右クリック/$してターゲットを設定します。$(p)ターゲットのブロックは必ずしも流体タンクである必要はありません。モジュールのターゲットを設定した後にブロックを壊すと、モジュールはその場所のワールドに流体の入ったバケツを空にすることができます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:fluid_module_2" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/placer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "配置モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:placer_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールはルーターのバッファからアイテムをブロックとして、モジュールの$(l:intro/modules#direction)設定方向/$にルーターに隣接して配置しようとします。$(li)アイテムがブロックでない場合、または宛先ブロックのスペースが遮られている場合は何も行われません。$(li)通常のMinecraftの配置ルールに従います。たとえば、サトウキビは砂/土の上の水の隣にのみ配置できます。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "$(li)流体ブロックは置き換えられ、背の高い草などの置き換え可能なブロックも置き換えられます。$(li)配置モジュールは農地に種を植えたり、隣接するジャングルの原木にカカオ豆を植えたりすることができます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:placer_module" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/puller_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "引き込みモジュールMk1", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:puller_module_1", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールは$(l:intro/modules#direction)設定方向/$にある隣接するインベントリから最初の適格なアイテムをルーターのバッファに引き込もうとします。バッファがいっぱいの場合、またはインベントリに何もない状態でスタックされるものが含まれている場合は何も引き込まれません。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:puller_module_1" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/puller_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "引き込みモジュールMk2", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:puller_module_2", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "これは$(l:modules/puller_1)引き込みモジュールMk1/$のように動作しますが、隣接していないインベントリからアイテムを引き出すことができます。$(p)インベントリは最大12ブロック($(l:augments/range_up)範囲拡大オーグメント/$により最大24ブロック)離れた場所に置くことができます。明確な視線は必要$(italic)ありません/$。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "ターゲットのインベントリを選択するには引き込みモジュールMk2を手に持ち、ブロックを$(thing)スニーク+右クリック/$します。確認メッセージが表示されます。$(li)ターゲットが設定された引き込みモジュールMk2を保持している間、ターゲットブロックがハイライト表示されます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:puller_module_2", 17 | "recipe2": "modularrouters:puller_module_2_x4" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/sender_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "送信モジュールMk1", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:sender_module_1", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールはルーターのバッファからモジュールの$(l:intro/modules#direction)設定方向/$にあるインベントリにアイテムを送信しようとします。$(li)ターゲットのインベントリは最大8ブロック離れている($(l:augments/range_up)範囲拡大オーグメント/$により最大16ブロック)必要があります。$(li)ターゲットのインベントリはX、Y、またはZ軸に沿っている$(italic)必要があります/$。$(li)ルーターはターゲットに対して明確な視線を持っている$(italic)必要があります/$。不透過ブロックは不可ですが、ガラス、フェンス、鉄格子などの透過ブロックはOKです。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:sender_module_1", 13 | "recipe2": "modularrouters:sender_module_1_alt" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/sender_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "送信モジュールMk2", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:sender_module_2", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このモジュールは$(l:modules/sender_1)送信モジュールMk1/$のように動作しますが、より強力なインベントリターゲティング機能を備えています:$(li)ターゲットのインベントリは最大24ブロック($(l:augments/range_up)範囲拡大オーグメント/$により最大48ブロック)離れています。$(li)明確な視線は必要$(italic)ありません/$。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "$(li)ターゲットインベントリを選択するには送信モジュールMk2を手に持ち、ターゲットを$(thing)スニーク+右クリック/$します。確認メッセージが表示されます。$(li)ターゲットが設定された送信モジュールMk2を保持している間、ターゲットブロックがハイライト表示されます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:sender_module_2", 17 | "recipe2": "modularrouters:sender_module_2_x4" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/sender_3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "送信モジュールMk3", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:sender_module_3", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このトップエンドの送信モジュールは$(l:modules/sender_2)送信モジュールMk2/$と非常によく似ていますが、制限なしで任意のインベントリ(任意のディメンション)に送信できます!$(p)注: ターゲットのインベントリはチャンクが読み込まれている必要があります。$(modr)はこれを実行しません。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:sender_module_3" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/modules/void.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "虚空モジュール", 3 | "category": "modularrouters:modules", 4 | "icon": "modularrouters:void_module", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "この危険なモジュールはルーターのバッファ内のアイテムを永久に破壊します!貴重なアイテムが誤って削除されるのを防ぐためにこのモジュールを$(l:intro/modules#filter)ホワイトリストフィルター/$で構成することを強くお勧めします..." 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:void_module" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/upgrades/blast.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "耐爆アップグレード", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:blast_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このアップグレードにより、ルーターは爆発によるダメージやボスによる破壊に対して完全に耐性を持つようになります。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:blast_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/upgrades/camouflage.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "偽装アップグレード", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:camouflage_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このアップグレードによりルーターを別のブロックに偽装できます。ブロックに対してモジュールを$(thing)スニーク+右クリック/$すると、そのブロックが偽装アップグレードに記録されます。ルーターに挿入すると、そのルーターは記録されたブロックの外観になります。$(p)注: $(thing)モジュラールーター/$を手に持っていると、近くにある偽装されたルーターがハイライト表示されます。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:camouflage_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/upgrades/fluid.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "流体転送アップグレード", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:fluid_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このアップグレードは$(l:modules/fluid)流体モジュールMk1/$および$(l:modules/fluid_2)流体モジュールMk2/$にのみ影響します。$(p)$(l:router/modular_router)ルーター/$の全体的な流体転送速度(ルーターの入出力の各方向)が、基本速度50mB/ティックから10mB/ティックずつ増加し、最大400mB/ティックになります。したがって、ルーターの流体転送アップグレードの最大数は35です。" 9 | }, 10 | { 11 | "type": "crafting", 12 | "recipe": "modularrouters:fluid_upgrade" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/upgrades/muffler.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "消音アップグレード", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:muffler_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "このアップグレードはモジュラールーターによって生成されるサウンドとパーティクル効果を抑制するために使用でき、プレイヤーがよくいる場所でノイズの多いモジュールが定期的に実行されている場合に役立ちます。$(li)ルーターに1つ以上の消音アップグレードがあると、すべてのサウンドが無効になります。$(li)2つ以上の消音アップグレードがあると、すべてのパーティクル効果(ビームと飛行アイテム)も無効になります。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "$(li)3つのアップグレードにより、ルーターのアクティブアニメーション(ルーターブロックの前面の脈打つテクスチャ)も無効になります。すべてのサウンドとパーティクル効果も、MOD設定で無効にできることに注意してください。このアップグレードはサウンド/効果が無効になっていない場合にのみ役立ちます。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:muffler_upgrade" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/patchouli_books/book/ja_jp/entries/upgrades/stack.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "スタックアップグレード", 3 | "category": "modularrouters:upgrades", 4 | "icon": "modularrouters:stack_upgrade", 5 | "pages": [ 6 | { 7 | "type": "text", 8 | "text": "ルーター内のモジュールは一度に1つの項目に対して動作します。たとえば、$(l:modules/sender_1)送信モジュール/$はバッファ内のアイテムの数に関係なく、ルーターのティックごとにルーターのバッファから1つのアイテムを送信します。" 9 | }, 10 | { 11 | "type": "text", 12 | "text": "ルーターにスタックアップグレードを追加することで、この数を増やすことができます。スタックアップグレードごとに各モジュールで処理できるアイテムの数が2倍になり、最大64個、またはアイテムのネイティブスタックサイズ(例: エンダーパールの場合は16)になります。したがって、1つのルーターにインストールできる有効なスタックアップグレードの最大数は6個になります。" 13 | }, 14 | { 15 | "type": "crafting", 16 | "recipe": "modularrouters:stack_upgrade" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/sounds.json: -------------------------------------------------------------------------------- 1 | { 2 | "error" : { 3 | "category" : "master", 4 | "subtitle" : "modularrouters.chatText.subtitle.error", 5 | "sounds" : [ "modularrouters:error"] 6 | }, 7 | "success" : { 8 | "category" : "master", 9 | "subtitle" : "modularrouters.chatText.subtitle.success", 10 | "sounds" : [ "modularrouters:success"] 11 | }, 12 | "thud" : { 13 | "category" : "master", 14 | "subtitle" : "modularrouters.chatText.subtitle.thud", 15 | "sounds" : [ "modularrouters:thud"] 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/sounds/error.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/sounds/error.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/sounds/success.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/sounds/success.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/sounds/thud.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/sounds/thud.ogg -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_back.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_bottom.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_front.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_front_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_front_active.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_front_active.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "animation": { 3 | "frametime": 2, 4 | "frames":[0,1,2,3,4,5,6,7,8,9,10,11] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_other.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_side.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/modular_router_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/modular_router_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/port_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/port_closed.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/port_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/port_open.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/block/template_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/block/template_frame.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/bulkitemfilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/bulkitemfilter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/energy_widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/energy_widget.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/inspectionfilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/inspectionfilter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/modfilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/modfilter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/regexfilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/regexfilter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/router.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/router.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/sync_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/sync_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/tagfilter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/tagfilter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/gui/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/gui/widgets.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/augment_layer0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/augment_layer0.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/fast_pickup_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/fast_pickup_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/filter_round_robin_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/filter_round_robin_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/mimic_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/mimic_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/pickup_delay_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/pickup_delay_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/pushing_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/pushing_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/range_down_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/range_down_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/range_up_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/range_up_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/redstone_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/redstone_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/regulator_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/regulator_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/stack_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/stack_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment/xp_vacuum_augment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment/xp_vacuum_augment.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/augment_core.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/augment_core.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/blank_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/blank_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/blank_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/blank_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/filter/bulk_item_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/filter/bulk_item_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/filter/inspection_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/filter/inspection_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/filter/mod_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/filter/mod_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/filter/regex_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/filter/regex_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/filter/tag_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/filter/tag_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/manual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/manual.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/activator_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/activator_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/breaker_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/breaker_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/creative_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/creative_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/detector_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/detector_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/distributor_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/distributor_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/distributor_module_pull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/distributor_module_pull.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/dropper_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/dropper_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/energy_distributor_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/energy_distributor_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/energy_distributor_module_pull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/energy_distributor_module_pull.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/energy_output_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/energy_output_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/extruder_module_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/extruder_module_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/extruder_module_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/extruder_module_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/flinger_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/flinger_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/fluid_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/fluid_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/fluid_module_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/fluid_module_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/module_layer0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/module_layer0.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/module_layer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/module_layer1.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/placer_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/placer_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/player_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/player_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/puller_module_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/puller_module_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/puller_module_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/puller_module_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/sender_module_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/sender_module_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/sender_module_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/sender_module_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/sender_module_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/sender_module_3.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/vacuum_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/vacuum_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/module/void_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/module/void_module.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/override_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/override_card.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/blast_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/blast_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/camouflage_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/camouflage_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/energy_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/energy_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/fluid_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/fluid_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/muffler_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/muffler_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/security_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/security_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/speed_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/speed_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/stack_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/stack_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/sync_upgrade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/sync_upgrade.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/upgrade_layer0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/upgrade_layer0.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/item/upgrade/upgrade_layer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/item/upgrade/upgrade_layer1.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/misc/particleblob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/misc/particleblob.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/misc/particleblob.png.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "texture": { 3 | "blur": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/patchouli/augments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/patchouli/augments.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/patchouli/bulk_filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/patchouli/bulk_filter.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/patchouli/modular_router.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/patchouli/modular_router.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/patchouli/module_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/patchouli/module_gui.png -------------------------------------------------------------------------------- /src/main/resources/assets/modularrouters/textures/patchouli/router_gui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/desht/ModularRouters/38c8192c0a8c43540285477e35c474b9472133ed/src/main/resources/assets/modularrouters/textures/patchouli/router_gui.png -------------------------------------------------------------------------------- /src/main/resources/data/modularrouters/patchouli_books/book/book.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "modularrouters.patchouli.book.name", 3 | "landing_text": "modularrouters.patchouli.book.landing", 4 | "creative_tab": "modularrouters", 5 | "version": 1, 6 | "model": "modularrouters:manual", 7 | "book_texture": "patchouli:textures/gui/book_blue.png", 8 | "use_resource_pack": true, 9 | "macros": { 10 | "$(modr)": "$(#228)Modular Routers$()", 11 | "$(ttcolor)": "$(#880)" 12 | } 13 | } -------------------------------------------------------------------------------- /src/test/resources/META-INF/neoforge.mods.toml: -------------------------------------------------------------------------------- 1 | modLoader="javafml" 2 | loaderVersion="[2,)" 3 | issueTrackerURL="https://github.com/desht/ModularRouters/issues" 4 | displayURL="https://minecraft.curseforge.com/projects/modular-routers" 5 | credits="" 6 | authors="" 7 | license="MIT" 8 | 9 | [[mods]] #mandatory 10 | modId="modularrouterstest" #mandatory 11 | version="1.0" #mandatory 12 | displayName="Modular Routers Test" 13 | description="Modular Routers Test" 14 | --------------------------------------------------------------------------------