mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 02:37:27 +00:00
# Conflicts: # build.gradle # src/main/java/foxz/command/CmdClone.java # src/main/java/foxz/command/CmdDialog.java # src/main/java/foxz/command/CmdNoppes.java # src/main/java/foxz/command/CmdNpc.java # src/main/java/foxz/command/CmdQuest.java # src/main/java/foxz/command/CmdScript.java # src/main/java/foxz/commandhelper/AbstractCommandHelper.java # src/main/java/kamkeel/npcs/CustomAttributes.java # src/main/java/kamkeel/npcs/addon/client/DBCClient.java # src/main/java/kamkeel/npcs/command/AnimationCommand.java # src/main/java/kamkeel/npcs/command/CloneCommand.java # src/main/java/kamkeel/npcs/command/DialogCategoryCommand.java # src/main/java/kamkeel/npcs/command/DialogCommand.java # src/main/java/kamkeel/npcs/command/FactionCommand.java # src/main/java/kamkeel/npcs/command/HelpCommand.java # src/main/java/kamkeel/npcs/command/NpcCommand.java # src/main/java/kamkeel/npcs/command/OverlayCommand.java # src/main/java/kamkeel/npcs/command/QuestCategoryCommand.java # src/main/java/kamkeel/npcs/command/QuestCommand.java # src/main/java/kamkeel/npcs/command/ScriptCommand.java # src/main/java/kamkeel/npcs/controllers/AttributeController.java # src/main/java/kamkeel/npcs/controllers/ProfileController.java # src/main/java/kamkeel/npcs/controllers/SyncController.java # src/main/java/kamkeel/npcs/controllers/data/attribute/ICustomAttribute.java # src/main/java/kamkeel/npcs/controllers/data/attribute/tracker/PlayerAttributeTracker.java # src/main/java/kamkeel/npcs/controllers/data/attribute/tracker/PlayerEquipmentTracker.java # src/main/java/kamkeel/npcs/network/PacketHandler.java # src/main/java/kamkeel/npcs/network/packets/data/large/SyncEffectPacket.java # src/main/java/kamkeel/npcs/network/packets/player/ScreenSizePacket.java # src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java # src/main/java/kamkeel/npcs/network/packets/request/script/EffectScriptPacket.java # src/main/java/kamkeel/npcs/network/packets/request/script/ForgeScriptPacket.java # src/main/java/kamkeel/npcs/network/packets/request/script/GlobalNPCScriptPacket.java # src/main/java/kamkeel/npcs/network/packets/request/script/PlayerScriptPacket.java # src/main/java/kamkeel/npcs/network/packets/request/script/item/LinkedItemScriptPacket.java # src/main/java/nikedemos/markovnames/Main.java # src/main/java/nikedemos/markovnames/MarkovDictionary.java # src/main/java/nikedemos/markovnames/MarkovDictionarySPA.java # src/main/java/nikedemos/markovnames/generators/MarkovAncientGreek.java # src/main/java/nikedemos/markovnames/generators/MarkovJapanese.java # src/main/java/nikedemos/markovnames/generators/MarkovRoman.java # src/main/java/nikedemos/markovnames/generators/MarkovSlavic.java # src/main/java/nikedemos/markovnames/generators/MarkovSpanish.java # src/main/java/nikedemos/markovnames/generators/MarkovWelsh.java # src/main/java/noppes/npcs/AnimationMixinFunctions.java # src/main/java/noppes/npcs/CustomNpcsPermissions.java # src/main/java/noppes/npcs/DataInventory.java # src/main/java/noppes/npcs/DataStats.java # src/main/java/noppes/npcs/EventHooks.java # src/main/java/noppes/npcs/IChatMessages.java # src/main/java/noppes/npcs/ICompatibilty.java # src/main/java/noppes/npcs/LogWriter.java # src/main/java/noppes/npcs/NBTTags.java # src/main/java/noppes/npcs/NPCSpawning.java # src/main/java/noppes/npcs/NoppesStringUtils.java # src/main/java/noppes/npcs/NoppesUtilPlayer.java # src/main/java/noppes/npcs/NoppesUtilServer.java # src/main/java/noppes/npcs/QuestLogData.java # src/main/java/noppes/npcs/ScriptForgeEventHandler.java # src/main/java/noppes/npcs/ScriptItemEventHandler.java # src/main/java/noppes/npcs/ScriptPlayerEventHandler.java # src/main/java/noppes/npcs/ServerEventsHandler.java # src/main/java/noppes/npcs/ServerTickHandler.java # src/main/java/noppes/npcs/VersionCompatibility.java # src/main/java/noppes/npcs/ai/CombatHandler.java # src/main/java/noppes/npcs/ai/EntityAIAmbushTarget.java # src/main/java/noppes/npcs/ai/EntityAIAnimation.java # src/main/java/noppes/npcs/ai/EntityAIAttackTarget.java # src/main/java/noppes/npcs/ai/EntityAIAvoidTarget.java # src/main/java/noppes/npcs/ai/EntityAIBustDoor.java # src/main/java/noppes/npcs/ai/EntityAIDodgeShoot.java # src/main/java/noppes/npcs/ai/EntityAIFindShade.java # src/main/java/noppes/npcs/ai/EntityAIFollow.java # src/main/java/noppes/npcs/ai/EntityAIJob.java # src/main/java/noppes/npcs/ai/EntityAIMoveIndoors.java # src/main/java/noppes/npcs/ai/EntityAIMovingPath.java # src/main/java/noppes/npcs/ai/EntityAIOrbitTarget.java # src/main/java/noppes/npcs/ai/EntityAIPanic.java # src/main/java/noppes/npcs/ai/EntityAIPounceTarget.java # src/main/java/noppes/npcs/ai/EntityAIRangedAttack.java # src/main/java/noppes/npcs/ai/EntityAIRole.java # src/main/java/noppes/npcs/ai/EntityAISprintToTarget.java # src/main/java/noppes/npcs/ai/EntityAIStalkTarget.java # src/main/java/noppes/npcs/ai/EntityAITransform.java # src/main/java/noppes/npcs/ai/EntityAIWander.java # src/main/java/noppes/npcs/ai/EntityAIWatchClosest.java # src/main/java/noppes/npcs/ai/EntityAIWaterNav.java # src/main/java/noppes/npcs/ai/EntityAIZigZagTarget.java # src/main/java/noppes/npcs/ai/RandomPositionGeneratorAlt.java # src/main/java/noppes/npcs/ai/pathfinder/FlyPathFinder.java # src/main/java/noppes/npcs/ai/pathfinder/NPCPath.java # src/main/java/noppes/npcs/ai/pathfinder/PathNavigateFlying.java # src/main/java/noppes/npcs/ai/pathfinder/PathNodeType.java # src/main/java/noppes/npcs/ai/selector/NPCAttackSelector.java # src/main/java/noppes/npcs/ai/selector/NPCInteractSelector.java # src/main/java/noppes/npcs/ai/target/EntityAIClearTarget.java # src/main/java/noppes/npcs/ai/target/EntityAIClosestTarget.java # src/main/java/noppes/npcs/blocks/BlockCampfire.java # src/main/java/noppes/npcs/blocks/BlockCandle.java # src/main/java/noppes/npcs/blocks/BlockPlaceholder.java # src/main/java/noppes/npcs/blocks/BlockRotated.java # src/main/java/noppes/npcs/blocks/tiles/TileNpcContainer.java # src/main/java/noppes/npcs/blocks/tiles/TileRedstoneBlock.java # src/main/java/noppes/npcs/blocks/tiles/TileWaypoint.java # src/main/java/noppes/npcs/client/AssetsBrowser.java # src/main/java/noppes/npcs/client/ClientEventHandler.java # src/main/java/noppes/npcs/client/ClientProxy.java # src/main/java/noppes/npcs/client/ClientTickHandler.java # src/main/java/noppes/npcs/client/ImageDownloadAlt.java # src/main/java/noppes/npcs/client/MessageAchievement.java # src/main/java/noppes/npcs/client/NoppesUtil.java # src/main/java/noppes/npcs/client/RenderChatMessages.java # src/main/java/noppes/npcs/client/TextBlockClient.java # src/main/java/noppes/npcs/client/TranslateUtil.java # src/main/java/noppes/npcs/client/VersionChecker.java # src/main/java/noppes/npcs/client/controllers/PresetController.java # src/main/java/noppes/npcs/client/fx/EntityRainbowFX.java # src/main/java/noppes/npcs/client/gui/GuiBorderBlock.java # src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java # src/main/java/noppes/npcs/client/gui/GuiMerchantAdd.java # src/main/java/noppes/npcs/client/gui/GuiNPCFactionSelection.java # src/main/java/noppes/npcs/client/gui/GuiNPCLinesEdit.java # src/main/java/noppes/npcs/client/gui/GuiNPCTransportCategoryEdit.java # src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java # src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java # src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerMounter.java # src/main/java/noppes/npcs/client/gui/GuiNpcRedstoneBlock.java # src/main/java/noppes/npcs/client/gui/GuiNpcSelectionInterface.java # src/main/java/noppes/npcs/client/gui/GuiNpcWaypoint.java # src/main/java/noppes/npcs/client/gui/GuiScript.java # src/main/java/noppes/npcs/client/gui/GuiScriptList.java # src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java # src/main/java/noppes/npcs/client/gui/SubGuiMagic.java # src/main/java/noppes/npcs/client/gui/SubGuiMagicCycle.java # src/main/java/noppes/npcs/client/gui/SubGuiMailmanSendSetup.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailability.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailabilityDialog.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailabilityQuest.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcBiomes.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogOption.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogOptions.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogVisual.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcFactionOptions.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcFactionPoints.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcMeleeProperties.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcMovement.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcName.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcRangeProperties.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcResistanceProperties.java # src/main/java/noppes/npcs/client/gui/SubGuiNpcRespawn.java # src/main/java/noppes/npcs/client/gui/advanced/GuiNPCDialogNpcOptions.java # src/main/java/noppes/npcs/client/gui/advanced/GuiNPCMarks.java # src/main/java/noppes/npcs/client/gui/advanced/GuiNPCNightSetup.java # src/main/java/noppes/npcs/client/gui/advanced/GuiNPCTagSetup.java # src/main/java/noppes/npcs/client/gui/custom/GuiCustom.java # src/main/java/noppes/npcs/client/gui/custom/components/CustomGuiLabel.java # src/main/java/noppes/npcs/client/gui/custom/components/CustomGuiScrollComponent.java # src/main/java/noppes/npcs/client/gui/customoverlay/components/CustomOverlayLabel.java # src/main/java/noppes/npcs/client/gui/customoverlay/components/CustomOverlayLine.java # src/main/java/noppes/npcs/client/gui/global/GuiNPCEditAnimation.java # src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java # src/main/java/noppes/npcs/client/gui/global/GuiNPCManageBanks.java # src/main/java/noppes/npcs/client/gui/global/GuiNPCManageLinked.java # src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java # src/main/java/noppes/npcs/client/gui/global/GuiNpcManageRecipes.java # src/main/java/noppes/npcs/client/gui/global/GuiNpcQuestReward.java # src/main/java/noppes/npcs/client/gui/item/SubGuiLinkedItem.java # src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCInv.java # src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java # src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java # src/main/java/noppes/npcs/client/gui/model/GuiCreationScreen.java # src/main/java/noppes/npcs/client/gui/model/GuiEntitySelection.java # src/main/java/noppes/npcs/client/gui/model/GuiModelArms.java # src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java # src/main/java/noppes/npcs/client/gui/model/GuiModelColor.java # src/main/java/noppes/npcs/client/gui/model/GuiModelHead.java # src/main/java/noppes/npcs/client/gui/model/GuiModelLegs.java # src/main/java/noppes/npcs/client/gui/model/GuiModelRotate.java # src/main/java/noppes/npcs/client/gui/model/GuiModelScale.java # src/main/java/noppes/npcs/client/gui/model/GuiPresetSave.java # src/main/java/noppes/npcs/client/gui/model/GuiPresetSelection.java # src/main/java/noppes/npcs/client/gui/player/GuiBook.java # src/main/java/noppes/npcs/client/gui/player/GuiCrate.java # src/main/java/noppes/npcs/client/gui/player/GuiDialogInteract.java # src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java # src/main/java/noppes/npcs/client/gui/player/GuiNPCBankChest.java # src/main/java/noppes/npcs/client/gui/player/GuiNPCTrader.java # src/main/java/noppes/npcs/client/gui/player/GuiNpcCarpentryBench.java # src/main/java/noppes/npcs/client/gui/player/GuiNpcFollower.java # src/main/java/noppes/npcs/client/gui/player/GuiNpcFollowerHire.java # src/main/java/noppes/npcs/client/gui/player/GuiQuestCompletion.java # src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionInv.java # src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionStats.java # src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionTalents.java # src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java # src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeDialog.java # src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeItem.java # src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeKill.java # src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeLocation.java # src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeManual.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcBankSetup.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcBard.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcCompanion.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcConversation.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcFollowerJob.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcFollowerSetup.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcGuard.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcHealer.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcItemGiver.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcSpawner.java # src/main/java/noppes/npcs/client/gui/roles/GuiNpcTraderSetup.java # src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptEffect.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptItem.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptLinkedItem.java # src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java # src/main/java/noppes/npcs/client/gui/select/GuiTextureSelection.java # src/main/java/noppes/npcs/client/gui/util/GuiContainerNPCInterface.java # src/main/java/noppes/npcs/client/gui/util/GuiContainerNPCInterface2.java # src/main/java/noppes/npcs/client/gui/util/GuiCustomScrollCloner.java # src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java # src/main/java/noppes/npcs/client/gui/util/GuiHoverText.java # src/main/java/noppes/npcs/client/gui/util/GuiMenuTopIconButton.java # src/main/java/noppes/npcs/client/gui/util/GuiModelInterface2.java # src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface2.java # src/main/java/noppes/npcs/client/gui/util/GuiNpcLabel.java # src/main/java/noppes/npcs/client/gui/util/GuiNpcTextArea.java # src/main/java/noppes/npcs/client/gui/util/GuiScriptTextArea.java # src/main/java/noppes/npcs/client/gui/util/GuiSelectionListener.java # src/main/java/noppes/npcs/client/gui/util/GuiTexturedButton.java # src/main/java/noppes/npcs/client/gui/util/IButtonListener.java # src/main/java/noppes/npcs/client/gui/util/IGuiClose.java # src/main/java/noppes/npcs/client/gui/util/IGuiData.java # src/main/java/noppes/npcs/client/gui/util/IGuiError.java # src/main/java/noppes/npcs/client/gui/util/IJTextAreaListener.java # src/main/java/noppes/npcs/client/gui/util/IPartyData.java # src/main/java/noppes/npcs/client/gui/util/IScrollData.java # src/main/java/noppes/npcs/client/gui/util/ISubGuiListener.java # src/main/java/noppes/npcs/client/gui/util/TextContainer.java # src/main/java/noppes/npcs/client/model/ModelMPM.java # src/main/java/noppes/npcs/client/model/ModelNpcCrystal.java # src/main/java/noppes/npcs/client/model/ModelNpcDragon.java # src/main/java/noppes/npcs/client/model/ModelPony.java # src/main/java/noppes/npcs/client/model/ModelSkirtArmor.java # src/main/java/noppes/npcs/client/model/part/ModelBeard.java # src/main/java/noppes/npcs/client/model/part/ModelBreasts.java # src/main/java/noppes/npcs/client/model/part/ModelClaws.java # src/main/java/noppes/npcs/client/model/part/ModelEars.java # src/main/java/noppes/npcs/client/model/part/ModelFin.java # src/main/java/noppes/npcs/client/model/part/ModelHair.java # src/main/java/noppes/npcs/client/model/part/ModelHorns.java # src/main/java/noppes/npcs/client/model/part/ModelLegs.java # src/main/java/noppes/npcs/client/model/part/ModelMohawk.java # src/main/java/noppes/npcs/client/model/part/ModelSkirt.java # src/main/java/noppes/npcs/client/model/part/ModelSnout.java # src/main/java/noppes/npcs/client/model/part/ModelTail.java # src/main/java/noppes/npcs/client/model/part/ModelWings.java # src/main/java/noppes/npcs/client/model/part/legs/ModelDigitigradeLegs.java # src/main/java/noppes/npcs/client/model/part/legs/ModelNagaLegs.java # src/main/java/noppes/npcs/client/model/part/tails/ModelSquirrelTail.java # src/main/java/noppes/npcs/client/model/util/Model2DRenderer.java # src/main/java/noppes/npcs/client/renderer/NpcItemRenderer.java # src/main/java/noppes/npcs/client/renderer/RenderCNPCHand.java # src/main/java/noppes/npcs/client/renderer/RenderCNPCPlayer.java # src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java # src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java # src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java # src/main/java/noppes/npcs/client/renderer/RenderNpcSlime.java # src/main/java/noppes/npcs/client/renderer/RenderProjectile.java # src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java # src/main/java/noppes/npcs/client/renderer/items/ItemCustomRenderer.java # src/main/java/noppes/npcs/client/renderer/items/ItemToolRenderer.java # src/main/java/noppes/npcs/compat/PixelmonHelper.java # src/main/java/noppes/npcs/config/ConfigScript.java # src/main/java/noppes/npcs/config/GlyphCache.java # src/main/java/noppes/npcs/config/StringCache.java # src/main/java/noppes/npcs/config/legacy/LegacyLoader.java # src/main/java/noppes/npcs/constants/EnumAnimationPart.java # src/main/java/noppes/npcs/constants/EnumCompanionTalent.java # src/main/java/noppes/npcs/constants/EnumDiagramLayout.java # src/main/java/noppes/npcs/constants/EnumGuiType.java # src/main/java/noppes/npcs/constants/EnumNpcToolMaterial.java # src/main/java/noppes/npcs/constants/EnumOptionType.java # src/main/java/noppes/npcs/constants/EnumParticleType.java # src/main/java/noppes/npcs/constants/EnumPotionType.java # src/main/java/noppes/npcs/constants/EnumQuestCompletion.java # src/main/java/noppes/npcs/constants/EnumQuestRepeat.java # src/main/java/noppes/npcs/constants/EnumQuestType.java # src/main/java/noppes/npcs/constants/EnumScriptType.java # src/main/java/noppes/npcs/constants/EnumTextureType.java # src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java # src/main/java/noppes/npcs/containers/ContainerCrate.java # src/main/java/noppes/npcs/containers/ContainerMail.java # src/main/java/noppes/npcs/containers/ContainerManageRecipes.java # src/main/java/noppes/npcs/containers/ContainerMerchantAdd.java # src/main/java/noppes/npcs/containers/ContainerNPCFollowerSetup.java # src/main/java/noppes/npcs/containers/ContainerNPCTrader.java # src/main/java/noppes/npcs/containers/ContainerNpcInterface.java # src/main/java/noppes/npcs/containers/ContainerNpcItemGiver.java # src/main/java/noppes/npcs/containers/SlotNpcBankCurrency.java # src/main/java/noppes/npcs/controllers/BankController.java # src/main/java/noppes/npcs/controllers/CustomGuiController.java # src/main/java/noppes/npcs/controllers/DialogController.java # src/main/java/noppes/npcs/controllers/FactionController.java # src/main/java/noppes/npcs/controllers/LinkedItemController.java # src/main/java/noppes/npcs/controllers/LinkedNpcController.java # src/main/java/noppes/npcs/controllers/MagicController.java # src/main/java/noppes/npcs/controllers/PartyController.java # src/main/java/noppes/npcs/controllers/PlayerDataController.java # src/main/java/noppes/npcs/controllers/QuestController.java # src/main/java/noppes/npcs/controllers/ScriptContainer.java # src/main/java/noppes/npcs/controllers/ScriptController.java # src/main/java/noppes/npcs/controllers/ServerCloneController.java # src/main/java/noppes/npcs/controllers/TagController.java # src/main/java/noppes/npcs/controllers/data/Availability.java # src/main/java/noppes/npcs/controllers/data/DataScript.java # src/main/java/noppes/npcs/controllers/data/DataTransform.java # src/main/java/noppes/npcs/controllers/data/Dialog.java # src/main/java/noppes/npcs/controllers/data/EffectScript.java # src/main/java/noppes/npcs/controllers/data/Faction.java # src/main/java/noppes/npcs/controllers/data/FactionOptions.java # src/main/java/noppes/npcs/controllers/data/FramePart.java # src/main/java/noppes/npcs/controllers/data/GlobalNPCDataScript.java # src/main/java/noppes/npcs/controllers/data/LinkedItemScript.java # src/main/java/noppes/npcs/controllers/data/PlayerData.java # src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java # src/main/java/noppes/npcs/controllers/data/PlayerFactionData.java # src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java # src/main/java/noppes/npcs/controllers/data/Quest.java # src/main/java/noppes/npcs/controllers/data/RecipeAnvil.java # src/main/java/noppes/npcs/controllers/data/RecipeCarpentry.java # src/main/java/noppes/npcs/controllers/data/TransportCategory.java # src/main/java/noppes/npcs/enchants/EnchantInterface.java # src/main/java/noppes/npcs/entity/EntityCustomNpc.java # src/main/java/noppes/npcs/entity/EntityNpcDragon.java # src/main/java/noppes/npcs/entity/EntityProjectile.java # src/main/java/noppes/npcs/entity/data/ModelData.java # src/main/java/noppes/npcs/items/ItemBullet.java # src/main/java/noppes/npcs/items/ItemCrossbow.java # src/main/java/noppes/npcs/items/ItemDaggerReversed.java # src/main/java/noppes/npcs/items/ItemGun.java # src/main/java/noppes/npcs/items/ItemMusket.java # src/main/java/noppes/npcs/items/ItemNpcArmor.java # src/main/java/noppes/npcs/items/ItemNpcArmorColorable.java # src/main/java/noppes/npcs/items/ItemNpcCloner.java # src/main/java/noppes/npcs/items/ItemNpcInterface.java # src/main/java/noppes/npcs/items/ItemNpcMovingPath.java # src/main/java/noppes/npcs/items/ItemNpcTool.java # src/main/java/noppes/npcs/items/ItemRenderInterface.java # src/main/java/noppes/npcs/items/ItemSkirt.java # src/main/java/noppes/npcs/items/ItemSoulstoneEmpty.java # src/main/java/noppes/npcs/items/ItemSoulstoneFilled.java # src/main/java/noppes/npcs/items/ItemStaff.java # src/main/java/noppes/npcs/items/ItemTeleporter.java # src/main/java/noppes/npcs/items/ItemThrowingWeapon.java # src/main/java/noppes/npcs/items/MoneyBagContents.java # src/main/java/noppes/npcs/mixin/MixinItemRenderer.java # src/main/java/noppes/npcs/quests/QuestDialog.java # src/main/java/noppes/npcs/quests/QuestInterface.java # src/main/java/noppes/npcs/quests/QuestItem.java # src/main/java/noppes/npcs/quests/QuestKill.java # src/main/java/noppes/npcs/quests/QuestLocation.java # src/main/java/noppes/npcs/quests/QuestManual.java # src/main/java/noppes/npcs/roles/JobConversation.java # src/main/java/noppes/npcs/roles/JobFollower.java # src/main/java/noppes/npcs/roles/JobGuard.java # src/main/java/noppes/npcs/roles/JobHealer.java # src/main/java/noppes/npcs/roles/JobInterface.java # src/main/java/noppes/npcs/roles/JobItemGiver.java # src/main/java/noppes/npcs/roles/JobSpawner.java # src/main/java/noppes/npcs/roles/RoleCompanion.java # src/main/java/noppes/npcs/roles/RoleFollower.java # src/main/java/noppes/npcs/roles/RoleInterface.java # src/main/java/noppes/npcs/roles/RolePostman.java # src/main/java/noppes/npcs/roles/RoleTransporter.java # src/main/java/noppes/npcs/roles/companion/CompanionGuard.java # src/main/java/noppes/npcs/scripted/NpcAPI.java # src/main/java/noppes/npcs/scripted/ScriptBlock.java # src/main/java/noppes/npcs/scripted/ScriptNbt.java # src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java # src/main/java/noppes/npcs/scripted/ScriptWorld.java # src/main/java/noppes/npcs/scripted/ScriptedActionManager.java # src/main/java/noppes/npcs/scripted/entity/ScriptDBCPlayer.java # src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java # src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java # src/main/java/noppes/npcs/scripted/entity/ScriptMonster.java # src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java # src/main/java/noppes/npcs/scripted/entity/ScriptPixelmon.java # src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java # src/main/java/noppes/npcs/scripted/entity/ScriptProjectile.java # src/main/java/noppes/npcs/scripted/entity/ScriptVillager.java # src/main/java/noppes/npcs/scripted/event/ForgeEvent.java # src/main/java/noppes/npcs/scripted/event/NpcEvent.java # src/main/java/noppes/npcs/scripted/event/player/DialogEvent.java # src/main/java/noppes/npcs/scripted/event/player/FactionEvent.java # src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java # src/main/java/noppes/npcs/scripted/item/ScriptItemBook.java # src/main/java/noppes/npcs/scripted/item/ScriptItemStack.java # src/main/java/noppes/npcs/scripted/overlay/ScriptOverlay.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobBard.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobGuard.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java # src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java # src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java # src/main/java/noppes/npcs/scripted/roles/ScriptRoleTrader.java # src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboard.java # src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboardObjective.java # src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboardTeam.java # src/main/java/noppes/npcs/util/NBTJsonUtil.java # src/main/java/tconstruct/client/tabs/TabRegistry.java # src/main/resources/mcmod.info # todo.txt
322 lines
11 KiB
Java
322 lines
11 KiB
Java
package noppes.npcs.scripted.gui;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.nbt.NBTBase;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.nbt.NBTTagList;
|
|
import noppes.npcs.api.entity.IPlayer;
|
|
import noppes.npcs.api.gui.*;
|
|
import noppes.npcs.api.item.IItemStack;
|
|
import noppes.npcs.controllers.CustomGuiController;
|
|
import noppes.npcs.controllers.ScriptController;
|
|
import noppes.npcs.controllers.data.PlayerDataScript;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
public class ScriptGui implements ICustomGui {
|
|
int id;
|
|
int width;
|
|
int height;
|
|
int playerInvX;
|
|
int playerInvY;
|
|
boolean pauseGame;
|
|
boolean showPlayerInv;
|
|
boolean closeOnEsc = true;
|
|
String backgroundTexture = "";
|
|
HashMap<Integer, ICustomGuiComponent> components = new HashMap<>();
|
|
List<IItemSlot> slots = new ArrayList();
|
|
|
|
public ScriptGui() {
|
|
}
|
|
|
|
public ScriptGui(int id, int width, int height, boolean pauseGame) {
|
|
this.id = id;
|
|
this.width = width;
|
|
this.height = height;
|
|
this.pauseGame = pauseGame;
|
|
//this.scriptHandler = ScriptContainer.Current;
|
|
}
|
|
|
|
public int getID() {
|
|
return this.id;
|
|
}
|
|
|
|
public int getWidth() {
|
|
return this.width;
|
|
}
|
|
|
|
public int getHeight() {
|
|
return this.height;
|
|
}
|
|
|
|
public List<ICustomGuiComponent> getComponents() {
|
|
return new ArrayList<>(this.components.values());
|
|
}
|
|
|
|
public void clear() {
|
|
this.components.clear();
|
|
}
|
|
|
|
public List<IItemSlot> getSlots() {
|
|
return this.slots;
|
|
}
|
|
|
|
public PlayerDataScript getScriptHandler(EntityPlayer player) {
|
|
return ScriptController.Instance.getPlayerScripts(player);
|
|
}
|
|
|
|
public void setSize(int width, int height) {
|
|
this.width = width;
|
|
this.height = height;
|
|
}
|
|
|
|
public void setCloseOnEscape(boolean close) {
|
|
this.closeOnEsc = close;
|
|
}
|
|
|
|
public boolean doesCloseOnEscape() {
|
|
return this.closeOnEsc;
|
|
}
|
|
|
|
public void setDoesPauseGame(boolean pauseGame) {
|
|
this.pauseGame = pauseGame;
|
|
}
|
|
|
|
public boolean doesPauseGame() {
|
|
return this.pauseGame;
|
|
}
|
|
|
|
public void setBackgroundTexture(String resourceLocation) {
|
|
this.backgroundTexture = resourceLocation;
|
|
}
|
|
|
|
public String getBackgroundTexture() {
|
|
return this.backgroundTexture;
|
|
}
|
|
|
|
public IButton addButton(int id, String label, int x, int y) {
|
|
ScriptGuiButton component = new ScriptGuiButton(id, label, x, y);
|
|
this.updateComponent(component);
|
|
return (IButton) this.getComponent(id);
|
|
}
|
|
|
|
public IButton addButton(int id, String label, int x, int y, int width, int height) {
|
|
ScriptGuiButton component = new ScriptGuiButton(id, label, x, y, width, height);
|
|
this.updateComponent(component);
|
|
return (IButton) this.getComponent(id);
|
|
}
|
|
|
|
public IButton addTexturedButton(int id, String label, int x, int y, int width, int height, String texture) {
|
|
ScriptGuiButton component = new ScriptGuiButton(id, label, x, y, width, height, texture);
|
|
this.updateComponent(component);
|
|
return (IButton) this.getComponent(id);
|
|
}
|
|
|
|
public IButton addTexturedButton(int id, String label, int x, int y, int width, int height, String texture, int textureX, int textureY) {
|
|
ScriptGuiButton component = new ScriptGuiButton(id, label, x, y, width, height, texture, textureX, textureY);
|
|
this.updateComponent(component);
|
|
return (IButton) this.getComponent(id);
|
|
}
|
|
|
|
public ILabel addLabel(int id, String label, int x, int y, int width, int height) {
|
|
ScriptGuiLabel component = new ScriptGuiLabel(id, label, x, y, width, height);
|
|
this.updateComponent(component);
|
|
return (ILabel) this.getComponent(id);
|
|
}
|
|
|
|
public ILabel addLabel(int id, String label, int x, int y, int width, int height, int color) {
|
|
ScriptGuiLabel component = new ScriptGuiLabel(id, label, x, y, width, height, color);
|
|
this.updateComponent(component);
|
|
return (ILabel) this.getComponent(id);
|
|
}
|
|
|
|
public ITextField addTextField(int id, int x, int y, int width, int height) {
|
|
ScriptGuiTextField component = new ScriptGuiTextField(id, x, y, width, height);
|
|
this.updateComponent(component);
|
|
return (ITextField) this.getComponent(id);
|
|
}
|
|
|
|
public ITexturedRect addTexturedRect(int id, String texture, int x, int y, int width, int height) {
|
|
ScriptGuiTexturedRect component = new ScriptGuiTexturedRect(id, texture, x, y, width, height);
|
|
this.updateComponent(component);
|
|
return (ITexturedRect) this.getComponent(id);
|
|
}
|
|
|
|
public ITexturedRect addTexturedRect(int id, String texture, int x, int y, int width, int height, int textureX, int textureY) {
|
|
ScriptGuiTexturedRect component = new ScriptGuiTexturedRect(id, texture, x, y, width, height, textureX, textureY);
|
|
this.updateComponent(component);
|
|
return (ITexturedRect) this.getComponent(id);
|
|
}
|
|
|
|
public IItemSlot addItemSlot(int id, int x, int y) {
|
|
ScriptGuiItemSlot slot = new ScriptGuiItemSlot(id, x, y);
|
|
this.updateComponent(slot);
|
|
return (IItemSlot) this.getComponent(id);
|
|
}
|
|
|
|
public IItemSlot addItemSlot(int id, int x, int y, IItemStack stack) {
|
|
ScriptGuiItemSlot slot = new ScriptGuiItemSlot(id, x, y, stack);
|
|
this.updateComponent(slot);
|
|
return (IItemSlot) this.getComponent(id);
|
|
}
|
|
|
|
public IItemSlot addItemSlot(int x, int y) {
|
|
return this.addItemSlot(-1, x, y);
|
|
}
|
|
|
|
public IItemSlot addItemSlot(int x, int y, IItemStack stack) {
|
|
return this.addItemSlot(-1, x, y, stack);
|
|
}
|
|
|
|
public IScroll addScroll(int id, int x, int y, int width, int height, String[] list) {
|
|
ScriptGuiScroll component = new ScriptGuiScroll(id, x, y, width, height, list);
|
|
this.updateComponent(component);
|
|
return (IScroll) this.getComponent(id);
|
|
}
|
|
|
|
public ILine addLine(int id, int x1, int y1, int x2, int y2, int color, int thickness) {
|
|
ScriptGuiLine component = new ScriptGuiLine(id, x1, y1, x2, y2, color, thickness);
|
|
this.updateComponent(component);
|
|
return (ILine) this.getComponent(id);
|
|
}
|
|
|
|
public ILine addLine(int id, int x1, int y1, int x2, int y2) {
|
|
ScriptGuiLine component = new ScriptGuiLine(id, x1, y1, x2, y2);
|
|
this.updateComponent(component);
|
|
return (ILine) this.getComponent(id);
|
|
}
|
|
|
|
public void showPlayerInventory(int x, int y) {
|
|
this.showPlayerInv = true;
|
|
this.playerInvX = x;
|
|
this.playerInvY = y;
|
|
}
|
|
|
|
public ICustomGuiComponent getComponent(int componentID) {
|
|
return this.components.get(componentID);
|
|
}
|
|
|
|
public void removeComponent(int componentID) {
|
|
if (this.components.containsKey(componentID)) {
|
|
ICustomGuiComponent component = this.getComponent(componentID);
|
|
if (component instanceof IItemSlot) {
|
|
for (IItemSlot slot : this.slots) {
|
|
if (slot.getID() == componentID) {
|
|
this.slots.remove(slot);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
this.components.remove(componentID);
|
|
}
|
|
}
|
|
|
|
public void updateComponent(ICustomGuiComponent component) {
|
|
if (component != null) {
|
|
this.removeComponent(component.getID());
|
|
this.components.put(component.getID(), component);
|
|
if (component instanceof IItemSlot) {
|
|
this.slots.add((IItemSlot) component);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void update(IPlayer player) {
|
|
CustomGuiController.updateGui(player, this);
|
|
}
|
|
|
|
public boolean getShowPlayerInv() {
|
|
return this.showPlayerInv;
|
|
}
|
|
|
|
public int getPlayerInvX() {
|
|
return this.playerInvX;
|
|
}
|
|
|
|
public int getPlayerInvY() {
|
|
return this.playerInvY;
|
|
}
|
|
|
|
private int getMaxId() {
|
|
int max = 0;
|
|
for (ICustomGuiComponent component : this.getComponents()) {
|
|
if (component.getID() >= max) {
|
|
max = component.getID();
|
|
}
|
|
}
|
|
return max;
|
|
}
|
|
|
|
public ICustomGui fromNBT(NBTTagCompound tag) {
|
|
this.id = tag.getInteger("id");
|
|
this.width = tag.getIntArray("size")[0];
|
|
this.height = tag.getIntArray("size")[1];
|
|
this.pauseGame = tag.getBoolean("pause");
|
|
this.backgroundTexture = tag.getString("bgTexture");
|
|
this.closeOnEsc = tag.getBoolean("closeOnEsc");
|
|
NBTTagList list = tag.getTagList("components", 10);
|
|
for (int i = 0; i < list.tagCount(); i++) {
|
|
NBTBase b = list.getCompoundTagAt(i);
|
|
ScriptGuiComponent component = ScriptGuiComponent.createFromNBT((NBTTagCompound) b);
|
|
if (component != null && !(component instanceof ScriptGuiItemSlot)) {
|
|
components.put(component.getID(), component);
|
|
}
|
|
}
|
|
List<IItemSlot> slots = new ArrayList<>();
|
|
list = tag.getTagList("slots", 10);
|
|
for (int i = 0; i < list.tagCount(); i++) {
|
|
NBTTagCompound slotNbt = list.getCompoundTagAt(i);
|
|
int id = slotNbt.getInteger("id");
|
|
if (!components.containsKey(id)) {
|
|
components.put(id, ScriptGuiComponent.createFromNBT(slotNbt));
|
|
} else {
|
|
components.get(id).fromNBT(slotNbt);
|
|
}
|
|
ScriptGuiItemSlot slot = (ScriptGuiItemSlot) components.get(id);
|
|
slots.add(slot);
|
|
}
|
|
this.slots = slots;
|
|
this.showPlayerInv = tag.getBoolean("showPlayerInv");
|
|
if (this.showPlayerInv) {
|
|
this.playerInvX = tag.getIntArray("pInvPos")[0];
|
|
this.playerInvY = tag.getIntArray("pInvPos")[1];
|
|
}
|
|
return this;
|
|
}
|
|
|
|
public NBTTagCompound toNBT() {
|
|
NBTTagCompound tag = new NBTTagCompound();
|
|
tag.setInteger("id", this.id);
|
|
tag.setIntArray("size", new int[]{this.width, this.height});
|
|
tag.setBoolean("pause", this.pauseGame);
|
|
tag.setString("bgTexture", this.backgroundTexture);
|
|
tag.setBoolean("closeOnEsc", this.closeOnEsc);
|
|
NBTTagList list = new NBTTagList();
|
|
Iterator var3 = this.components.values().iterator();
|
|
ICustomGuiComponent c;
|
|
while (var3.hasNext()) {
|
|
c = (ICustomGuiComponent) var3.next();
|
|
list.appendTag(c.toNBT(new NBTTagCompound()));
|
|
}
|
|
tag.setTag("components", list);
|
|
list = new NBTTagList();
|
|
var3 = this.slots.iterator();
|
|
while (var3.hasNext()) {
|
|
c = (ICustomGuiComponent) var3.next();
|
|
if (c.getID() == -1) {
|
|
c.setID(this.getMaxId() + 1);
|
|
}
|
|
list.appendTag(c.toNBT(new NBTTagCompound()));
|
|
}
|
|
tag.setTag("slots", list);
|
|
tag.setBoolean("showPlayerInv", this.showPlayerInv);
|
|
if (this.showPlayerInv) {
|
|
tag.setIntArray("pInvPos", new int[]{this.playerInvX, this.playerInvY});
|
|
}
|
|
return tag;
|
|
}
|
|
}
|