From c30e77e3d481dc4ebb37991184a9d78801ed9fed Mon Sep 17 00:00:00 2001 From: Leon Date: Wed, 19 Oct 2016 18:04:49 -0400 Subject: [PATCH] The long road to a pure Java port has begun. Clickable Slider is broken in this commit. --- .gitignore | 7 + build.gradle | 89 ++++++-- project.properties | 2 +- .../ic2/api/item/IElectricItemManager.java | 14 +- .../machinemuse/api/ILocalizeableModule.java | 0 .../net/machinemuse/api/IPowerModule.java | 0 .../machinemuse/api/IPropertyModifier.java | 2 +- .../net/machinemuse/api/ModuleManager.java | 0 .../moduletrigger/IBlockBreakingModule.java | 4 +- .../api/moduletrigger/IPlayerTickModule.java | 4 +- .../api/moduletrigger/IRightClickModule.java | 8 +- .../api/moduletrigger/IToggleableModule.java | 0 .../machinemuse/general/NBTTagAccessor.java | 0 .../machinemuse/general/gui/CosmeticGui.java | 89 ++++++++ .../machinemuse/general/gui/EnergyMeter.java | 0 .../general/gui/GuiFieldTinker.java | 0 .../general/gui/GuiTinkerTable.java | 0 .../machinemuse/general/gui/HeatMeter.java | 0 .../machinemuse/general/gui/KeyConfigGui.java | 0 .../net/machinemuse/general/gui/MuseGui.java | 6 +- .../net/machinemuse/general/gui/MuseIcon.java | 0 .../general/gui/PortableCraftingGui.java | 0 .../machinemuse/general/gui/WaterMeter.java | 0 .../general/gui/clickable/Clickable.java | 0 .../gui/clickable/ClickableButton.java | 0 .../general/gui/clickable/ClickableItem.java | 0 .../general/gui/clickable/ClickableLabel.java | 0 .../general/gui/clickable/IClickable.java | 0 .../gui/frame/DetailedSummaryFrame.java | 4 +- .../general/gui/frame/IGuiFrame.java | 0 .../gui/frame/InstallSalvageFrame.java | 0 .../general/gui/frame/ItemInfoFrame.java | 0 .../general/gui/frame/ItemSelectionFrame.java | 0 .../general/gui/frame/KeybindConfigFrame.java | 0 .../gui/frame/ModuleSelectionFrame.java | 0 .../gui/frame/ModuleSelectionSubFrame.java | 0 .../general/gui/frame/ModuleTweakFrame.java | 2 +- .../gui/frame/PortableCraftingContainer.java | 0 .../general/gui/frame/ScrollableFrame.java | 0 .../general/gui/frame/StatsFrame.java | 0 .../general/sound/SoundDictionary.java | 0 .../powersuits/block/BlockLuxCapacitor.java | 0 .../block/TileEntityLuxCapacitor.java | 0 .../render/block/RenderLuxCapacitorTESR.java | 0 .../client/render/block/TinkerTableModel.java | 0 .../render/block/TinkerTableRenderer.java | 0 .../client/render/entity/MuseRender.java | 0 .../entity/RenderLuxCapacitorEntity.java | 0 .../render/entity/RenderPlasmaBolt.java | 0 .../render/entity/RenderSpinningBlade.java | 0 .../render/item/ArmorModelInstance.java | 0 .../client/render/item/ToolModel.java | 0 .../client/render/item/ToolRenderer.java | 0 .../powersuits/common/InstallCost.java | 0 .../powersuits/common/ModCompatibility.java | 0 .../powersuits/control/KeybindKeyHandler.java | 0 .../powersuits/control/KeybindManager.java | 0 .../powersuits/control/PlayerInputMap.java | 0 .../powersuits/entity/EntityLuxCapacitor.java | 0 .../powersuits/entity/EntityPlasmaBolt.java | 0 .../entity/EntitySpinningBlade.java | 0 .../powersuits/entity/TileEntityPortal.java | 0 .../powersuits/event/HarvestEventHandler.java | 0 .../powersuits/event/MovementManager.java | 0 .../powersuits/powermodule/PowerModule.java | 0 .../powermodule/PowerModuleBase.java | 0 .../PropertyModifierFlatAdditive.java | 0 .../PropertyModifierIntLinearAdditive.java | 0 .../PropertyModifierLinearAdditive.java | 0 .../powermodule/RightClickPowerModule.java | 0 .../powermodule/ToggleablePowerModule.java | 0 .../armor/ApiaristArmorModule.java | 0 .../powermodule/armor/BasicPlatingModule.java | 0 .../armor/DiamondPlatingModule.java | 0 .../powermodule/armor/EnergyShieldModule.java | 0 .../powermodule/armor/HazmatModule.java | 0 .../powermodule/armor/HeatSinkModule.java | 0 .../armor/MechanicalAssistance.java | 0 .../armor/NitrogenCoolingSystem.java | 0 .../powermodule/armor/WaterTankModule.java | 0 .../energy/AdvancedBatteryModule.java | 4 +- .../energy/AdvancedSolarGenerator.java | 0 .../energy/BasicBatteryModule.java | 4 +- .../powermodule/energy/CoalGenerator.java | 0 .../energy/EliteBatteryModule.java | 4 +- .../energy/KineticGeneratorModule.java | 0 .../energy/SolarGeneratorModule.java | 0 .../energy/ThermalGeneratorModule.java | 0 .../powermodule/misc/AirtightSealModule.java | 0 .../powermodule/misc/AutoFeederModule.java | 0 .../powermodule/misc/BinocularsModule.java | 53 +++++ .../powermodule/misc/CitizenJoeStyle.java | 0 .../powermodule/misc/ClockModule.java | 0 .../powermodule/misc/CompassModule.java | 0 .../powermodule/misc/CoolingSystemModule.java | 0 .../powermodule/misc/CosmeticGlowModule.java | 0 .../misc/InPlaceAssemblerModule.java | 0 .../powermodule/misc/InvisibilityModule.java | 0 .../powermodule/misc/MagnetModule.java | 0 .../powermodule/misc/MobRepulsorModule.java | 0 .../powermodule/misc/NightVisionModule.java | 0 .../powermodule/misc/ThaumGogglesModule.java | 0 .../powermodule/misc/TintModule.java | 0 .../misc/TransparentArmorModule.java | 0 .../misc/WaterElectrolyzerModule.java | 0 .../movement/AttributeModifier.java | 46 ++++ .../movement/BlinkDriveModule.java | 0 .../movement/ClimbAssistModule.java | 0 .../movement/FlightControlModule.java | 0 .../powermodule/movement/GliderModule.java | 0 .../powermodule/movement/JetBootsModule.java | 0 .../powermodule/movement/JetPackModule.java | 0 .../movement/JumpAssistModule.java | 0 .../powermodule/movement/ParachuteModule.java | 0 .../movement/ShockAbsorberModule.java | 0 .../movement/SprintAssistModule.java | 117 ++++++++++ .../movement/SwimAssistModule.java | 0 .../powersuits/powermodule/movement/UUID.java | 31 +++ .../tool/AOEPickUpgradeModule.java | 0 .../tool/AppEngWirelessFluidModule.java | 0 .../tool/AppEngWirelessModule.java | 0 .../powermodule/tool/AquaAffinityModule.java | 0 .../powermodule/tool/AxeModule.java | 0 .../powermodule/tool/ChiselGetter1.java | 12 ++ .../powermodule/tool/ChiselGetter2.java | 0 .../powermodule/tool/ChiselModule.java | 8 +- .../tool/DiamondPickUpgradeModule.java | 0 .../tool/DimensionalRiftModule.java | 0 .../powermodule/tool/FieldTinkerModule.java | 69 ++++++ .../powermodule/tool/FlintAndSteelModule.java | 0 .../powermodule/tool/GrafterModule.java | 0 .../powermodule/tool/HoeModule.java | 0 .../powermodule/tool/LeafBlowerModule.java | 0 .../powermodule/tool/LuxCapacitor.java | 0 .../tool/MFFSFieldTeleporterModule.java | 0 .../powermodule/tool/OCTerminalModule.java | 2 +- .../powermodule/tool/OmniProbeModule.java | 0 .../powermodule/tool/OmniWrenchModule.java | 83 ++++++++ .../powermodule/tool/OreScannerModule.java | 0 .../tool/PersonalShrinkingModule.java | 0 .../powermodule/tool/PickaxeModule.java | 0 .../powermodule/tool/ScoopModule.java | 0 .../powermodule/tool/ShearsModule.java | 0 .../powermodule/tool/ShovelModule.java | 0 .../powermodule/tool/StolenWrenchCode.java | 0 .../powermodule/tool/TerminalHandler.java | 0 .../weapon/BladeLauncherModule.java | 0 .../powermodule/weapon/LightningModule.java | 0 .../powermodule/weapon/MeleeAssistModule.java | 0 .../weapon/PlasmaCannonModule.java | 0 .../powermodule/weapon/RailgunModule.java | 0 .../powermodule/weapon/SonicWeaponModule.java | 0 .../machinemuse/utils/AddonWaterUtils.java | 0 .../machinemuse/utils/ElectricItemUtils.java | 76 +++++++ .../net/machinemuse/utils/MPSTeleporter.java | 0 .../net/machinemuse/utils/MuseBlockUtils.java | 0 .../machinemuse/utils/MuseCommonStrings.java | 0 .../net/machinemuse/utils/MuseFileUtils.java | 26 +++ .../net/machinemuse/utils/MuseHeatUtils.java | 0 .../net/machinemuse/utils/MuseItemUtils.java | 0 .../machinemuse/utils/MusePlayerUtils.java | 0 .../machinemuse/utils/MuseStringUtils.java | 0 .../utils/render/MuseRenderer.java | 0 .../net/machinemuse/api/ArmorTraits.scala | 19 +- .../machinemuse/general/gui/CosmeticGui.scala | 76 ------- .../gui/clickable/ClickableModule.java | 106 ++++++++++ .../gui/clickable/ClickableModule.scala | 170 +++++++-------- .../gui/clickable/ClickableSlider.java | 61 ++++++ .../gui/clickable/ClickableSlider.scala | 84 ++++---- .../gui/clickable/ClickableTinkerSlider.java | 33 +++ .../gui/clickable/ClickableTinkerSlider.scala | 36 ++-- .../general/gui/frame/ColourPickerFrame.scala | 10 +- .../general/gui/frame/PartManipSubFrame.scala | 18 +- .../powermodule/misc/BinocularsModule.scala | 33 --- .../movement/AttributeModifier.scala | 41 ---- .../movement/SprintAssistModule.scala | 103 --------- .../powermodule/tool/ChiselGetter1.java | 12 -- .../powermodule/tool/FieldTinkerModule.scala | 40 ---- .../powermodule/tool/OmniWrenchModule.scala | 59 ------ .../powermodule/tool/RedstoneLaser.scala | 54 ----- .../machinemuse/utils/ElectricItemUtils.scala | 60 ------ .../net/machinemuse/utils/MuseFileUtils.scala | 18 -- .../machinemuse/utils/render/GuiIcons.java | 199 ++++++++++++++++++ .../machinemuse/utils/render/GuiIcons.scala | 194 ++++++++--------- .../utils/render/MuseStencilManager.java | 22 ++ .../utils/render/MuseStencilManager.scala | 40 ++-- .../machinemuse/utils/render/MuseTexture.java | 11 + .../utils/render/MuseTexture.scala | 18 +- .../net/machinemuse/utils/render/Render.java | 27 +++ .../utils/render/TextureBuffer.java | 98 +++++++++ .../utils/render/TextureBuffer.scala | 160 +++++++------- 191 files changed, 1648 insertions(+), 920 deletions(-) rename src/main/{scala => java}/net/machinemuse/api/ILocalizeableModule.java (100%) rename src/main/{scala => java}/net/machinemuse/api/IPowerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/api/IPropertyModifier.java (61%) rename src/main/{scala => java}/net/machinemuse/api/ModuleManager.java (100%) rename src/main/{scala => java}/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java (82%) rename src/main/{scala => java}/net/machinemuse/api/moduletrigger/IPlayerTickModule.java (61%) rename src/main/{scala => java}/net/machinemuse/api/moduletrigger/IRightClickModule.java (69%) rename src/main/{scala => java}/net/machinemuse/api/moduletrigger/IToggleableModule.java (100%) rename src/main/{scala => java}/net/machinemuse/general/NBTTagAccessor.java (100%) create mode 100644 src/main/java/net/machinemuse/general/gui/CosmeticGui.java rename src/main/{scala => java}/net/machinemuse/general/gui/EnergyMeter.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/GuiFieldTinker.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/GuiTinkerTable.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/HeatMeter.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/KeyConfigGui.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/MuseGui.java (98%) rename src/main/{scala => java}/net/machinemuse/general/gui/MuseIcon.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/PortableCraftingGui.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/WaterMeter.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/clickable/Clickable.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/clickable/ClickableButton.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/clickable/ClickableItem.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/clickable/ClickableLabel.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/clickable/IClickable.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java (99%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/IGuiFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/InstallSalvageFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ItemInfoFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ItemSelectionFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/KeybindConfigFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ModuleSelectionFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ModuleSelectionSubFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ModuleTweakFrame.java (99%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/PortableCraftingContainer.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/ScrollableFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/gui/frame/StatsFrame.java (100%) rename src/main/{scala => java}/net/machinemuse/general/sound/SoundDictionary.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/block/BlockLuxCapacitor.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/block/TileEntityLuxCapacitor.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/block/RenderLuxCapacitorTESR.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/block/TinkerTableModel.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/block/TinkerTableRenderer.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/entity/MuseRender.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/entity/RenderLuxCapacitorEntity.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/entity/RenderPlasmaBolt.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/entity/RenderSpinningBlade.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/item/ArmorModelInstance.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/item/ToolModel.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/client/render/item/ToolRenderer.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/common/InstallCost.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/common/ModCompatibility.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/control/KeybindKeyHandler.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/control/KeybindManager.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/control/PlayerInputMap.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/entity/EntityLuxCapacitor.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/entity/EntityPlasmaBolt.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/entity/EntitySpinningBlade.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/entity/TileEntityPortal.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/event/HarvestEventHandler.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/event/MovementManager.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/PowerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/PowerModuleBase.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/PropertyModifierFlatAdditive.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/PropertyModifierIntLinearAdditive.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/PropertyModifierLinearAdditive.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/RightClickPowerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/ToggleablePowerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/ApiaristArmorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/BasicPlatingModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/DiamondPlatingModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/EnergyShieldModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/HazmatModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/HeatSinkModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/NitrogenCoolingSystem.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/armor/WaterTankModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java (94%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/AdvancedSolarGenerator.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java (94%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/CoalGenerator.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java (94%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/KineticGeneratorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/SolarGeneratorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/energy/ThermalGeneratorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/AirtightSealModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/AutoFeederModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/CitizenJoeStyle.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/ClockModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/CompassModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/CoolingSystemModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/CosmeticGlowModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/InPlaceAssemblerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/InvisibilityModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/MagnetModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/MobRepulsorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/NightVisionModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/ThaumGogglesModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/TintModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/TransparentArmorModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/misc/WaterElectrolyzerModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/BlinkDriveModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/ClimbAssistModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/FlightControlModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/GliderModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/JetBootsModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/JetPackModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/JumpAssistModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/ParachuteModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/ShockAbsorberModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/movement/SwimAssistModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/movement/UUID.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/AOEPickUpgradeModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessFluidModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/AquaAffinityModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/AxeModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/ChiselGetter2.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java (96%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/DiamondPickUpgradeModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/DimensionalRiftModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/FlintAndSteelModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/GrafterModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/HoeModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/LeafBlowerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/LuxCapacitor.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/MFFSFieldTeleporterModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java (98%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/OmniProbeModule.java (100%) create mode 100644 src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.java rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/OreScannerModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/PersonalShrinkingModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/PickaxeModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/ScoopModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/ShearsModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/ShovelModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/StolenWrenchCode.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/tool/TerminalHandler.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/BladeLauncherModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/LightningModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/MeleeAssistModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/PlasmaCannonModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/RailgunModule.java (100%) rename src/main/{scala => java}/net/machinemuse/powersuits/powermodule/weapon/SonicWeaponModule.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/AddonWaterUtils.java (100%) create mode 100644 src/main/java/net/machinemuse/utils/ElectricItemUtils.java rename src/main/{scala => java}/net/machinemuse/utils/MPSTeleporter.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/MuseBlockUtils.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/MuseCommonStrings.java (100%) create mode 100644 src/main/java/net/machinemuse/utils/MuseFileUtils.java rename src/main/{scala => java}/net/machinemuse/utils/MuseHeatUtils.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/MuseItemUtils.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/MusePlayerUtils.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/MuseStringUtils.java (100%) rename src/main/{scala => java}/net/machinemuse/utils/render/MuseRenderer.java (100%) delete mode 100644 src/main/scala/net/machinemuse/general/gui/CosmeticGui.scala create mode 100644 src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.java create mode 100644 src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.java create mode 100644 src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.java delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.scala delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.scala delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.scala delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.scala delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.scala delete mode 100644 src/main/scala/net/machinemuse/powersuits/powermodule/tool/RedstoneLaser.scala delete mode 100644 src/main/scala/net/machinemuse/utils/ElectricItemUtils.scala delete mode 100644 src/main/scala/net/machinemuse/utils/MuseFileUtils.scala create mode 100644 src/main/scala/net/machinemuse/utils/render/GuiIcons.java create mode 100644 src/main/scala/net/machinemuse/utils/render/MuseStencilManager.java create mode 100644 src/main/scala/net/machinemuse/utils/render/MuseTexture.java create mode 100644 src/main/scala/net/machinemuse/utils/render/Render.java create mode 100644 src/main/scala/net/machinemuse/utils/render/TextureBuffer.java diff --git a/.gitignore b/.gitignore index 70ed34f..b723130 100644 --- a/.gitignore +++ b/.gitignore @@ -4,12 +4,19 @@ /run /libs +#Backup files +/BU + # Eclipse .classpath .project /.settings /bin +# Numina while porting +/src/main/java/net/machinemuse/numina +/src/main/scala/net/machinemuse/numina + # IntelliJ /.idea *.iml diff --git a/build.gradle b/build.gradle index 170252e..a1db2b3 100644 --- a/build.gradle +++ b/build.gradle @@ -15,10 +15,21 @@ buildscript { } } + +repositories { + maven { + name = "ChickenBones" + url = "http://chickenbones.net/maven" + } +} + apply plugin: 'scala' apply plugin: 'forge' apply plugin: 'curseforge' +sourceCompatibility = 1.7 +targetCompatibility = 1.7 + // define the properties file ext.configFile = file "project.properties" @@ -53,27 +64,63 @@ def getLibrary(filename) { } } -getLibrary("CoFHCore-[1.7.10]3.0.3-303-dev.jar") -getLibrary("industrialcraft-2-2.2.765-experimental-api.jar") -getLibrary("ThermalExpansion-[1.7.10]4.0.3B1-218-dev.jar") -getLibrary("GalacticraftCore-Dev-1.7-3.0.12.168.jar") -getLibrary("Railcraft_1.7.10-9.7.0.0-dev.jar") // delete outdated CoFH API from this jar to run in dev environment -getLibrary("MineFactoryReloaded-[1.7.10]2.8.0-104-dev.jar") -getLibrary("forestry_1.7.10-3.6.3.20-api.jar") -getLibrary("Thaumcraft-deobf-1.7.10-4.2.3.5.jar") -getLibrary("SmartRender-1.7.10-2.1.jar") // this version is ok to build with, but to run in dev environment, download the SmartMoving zip and use the version from that -getLibrary("RenderPlayerAPI-1.7.10-1.4.jar") -getLibrary("appliedenergistics2-rv2-stable-10-dev.jar") -getLibrary("ExtraCells-deobf-1.7.10-2.3.2b158.jar") // This one may have to be downloaded manually -getLibrary("buildcraft-7.0.21-dev.jar") -getLibrary("BluePower-1.7.10-0.2.962-universal.jar") -getLibrary("EnderIO-1.7.10-2.2.8.381-dev.jar") // May need to delete Mekanism API from this jar to run in dev environment -getLibrary("Mekanism-1.7.10-8.1.7.252.jar") -getLibrary("MrTJPCore-1.1.0.31-universal.jar") -getLibrary("ProjectRed-1.7.10-4.7.0pre8.92-Base.jar") -getLibrary("Chisel2-2.5.0.43-deobf.jar") -getLibrary("Chisel-2.9.0.3-deobf.jar") -getLibrary("compactmachines-1.7.10-1.20-dev.jar") // This is for the personal shrinking device module; needs to be built from source. + + + +dependencies { + compile 'codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev' + compile 'codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev' + compile 'codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev' +} + + + +/* +repositories { + maven { + name = "ic2" + url = "http://maven.ic2.player.to/" + } +} + +dependencies { + compile 'net.industrial-craft:industrialcraft-2:2.2.826-experimental:api' +} + + +*/ + + + + + + + + + + + +//getLibrary("CoFHCore-[1.7.10]3.0.3-303-dev.jar") +////getLibrary("industrialcraft-2-2.2.765-experimental-api.jar") +//getLibrary("ThermalExpansion-[1.7.10]4.0.3B1-218-dev.jar") +//getLibrary("GalacticraftCore-Dev-1.7-3.0.12.168.jar") +//getLibrary("Railcraft_1.7.10-9.7.0.0-dev.jar") // delete outdated CoFH API from this jar to run in dev environment +//getLibrary("MineFactoryReloaded-[1.7.10]2.8.0-104-dev.jar") +//getLibrary("forestry_1.7.10-3.6.3.20-api.jar") +//getLibrary("Thaumcraft-deobf-1.7.10-4.2.3.5.jar") +//getLibrary("SmartRender-1.7.10-2.1.jar") // this version is ok to build with, but to run in dev environment, download the SmartMoving zip and use the version from that +//getLibrary("RenderPlayerAPI-1.7.10-1.4.jar") +////getLibrary("appliedenergistics2-rv2-stable-10-dev.jar") +//getLibrary("ExtraCells-deobf-1.7.10-2.3.2b158.jar") // This one may have to be downloaded manually +//getLibrary("buildcraft-7.0.21-dev.jar") +//getLibrary("BluePower-1.7.10-0.2.962-universal.jar") +//getLibrary("EnderIO-1.7.10-2.2.8.381-dev.jar") // May need to delete Mekanism API from this jar to run in dev environment +//getLibrary("Mekanism-1.7.10-8.1.7.252.jar") +//getLibrary("MrTJPCore-1.1.0.31-universal.jar") +//getLibrary("ProjectRed-1.7.10-4.7.0pre8.92-Base.jar") +////getLibrary("Chisel2-2.5.0.43-deobf.jar") +////getLibrary("Chisel-2.9.0.3-deobf.jar") +//getLibrary("compactmachines-1.7.10-1.20-dev.jar") // This is for the personal shrinking device module; needs to be built from source. processResources { // this will ensure that this task is redone when the versions change. diff --git a/project.properties b/project.properties index 89db1f6..6b70c57 100644 --- a/project.properties +++ b/project.properties @@ -1,4 +1,4 @@ -forge_version=10.13.4.1558-1.7.10 +forge_version=10.13.4.1614-1.7.10 mod_version=0.11.0 minecraft_version=1.7.10 group_id=net.machinemuse diff --git a/src/main/java/ic2/api/item/IElectricItemManager.java b/src/main/java/ic2/api/item/IElectricItemManager.java index 5de43d7..604620b 100644 --- a/src/main/java/ic2/api/item/IElectricItemManager.java +++ b/src/main/java/ic2/api/item/IElectricItemManager.java @@ -21,7 +21,7 @@ public interface IElectricItemManager { /** * Charge an item with a specified amount of energy. * - * @param itemStack electric item's stack + * @param stack electric item's stack * @param amount amount of energy to charge in EU * @param tier tier of the charging device, has to be at least as high as the item to charge * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() @@ -33,7 +33,7 @@ public interface IElectricItemManager { /** * Discharge an item by a specified amount of energy * - * @param itemStack electric item's stack + * @param stack electric item's stack * @param amount amount of energy to discharge in EU * @param tier tier of the discharging device, has to be at least as high as the item to discharge * @param ignoreTransferLimit ignore the transfer limit specified by getTransferLimit() @@ -46,7 +46,7 @@ public interface IElectricItemManager { /** * Determine the charge level for the specified item. * - * @param itemStack ItemStack containing the electric item + * @param stack ItemStack containing the electric item * @return charge level in EU */ double getCharge(ItemStack stack); @@ -56,7 +56,7 @@ public interface IElectricItemManager { * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. * BatPacks are not taken into account. * - * @param itemStack electric item's stack + * @param stack electric item's stack * @param amount minimum amount of energy required * @return true if there's enough energy */ @@ -66,7 +66,7 @@ public interface IElectricItemManager { * Try to retrieve a specific amount of energy from an Item, and if applicable, a BatPack. * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. * - * @param itemStack electric item's stack + * @param stack electric item's stack * @param amount amount of energy to discharge in EU * @param entity entity holding the item * @return true if the operation succeeded @@ -78,7 +78,7 @@ public interface IElectricItemManager { * This is supposed to be used in the item code during operation, for example if you want to implement your own electric item. * use() already contains this functionality. * - * @param itemStack electric item's stack + * @param stack electric item's stack * @param entity entity holding the item */ void chargeFromArmor(ItemStack stack, EntityLivingBase entity); @@ -86,7 +86,7 @@ public interface IElectricItemManager { /** * Get the tool tip to display for electric items. * - * @param itemStack ItemStack to determine the tooltip for + * @param stack ItemStack to determine the tooltip for * @return tool tip string or null for none */ String getToolTip(ItemStack stack); diff --git a/src/main/scala/net/machinemuse/api/ILocalizeableModule.java b/src/main/java/net/machinemuse/api/ILocalizeableModule.java similarity index 100% rename from src/main/scala/net/machinemuse/api/ILocalizeableModule.java rename to src/main/java/net/machinemuse/api/ILocalizeableModule.java diff --git a/src/main/scala/net/machinemuse/api/IPowerModule.java b/src/main/java/net/machinemuse/api/IPowerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/api/IPowerModule.java rename to src/main/java/net/machinemuse/api/IPowerModule.java diff --git a/src/main/scala/net/machinemuse/api/IPropertyModifier.java b/src/main/java/net/machinemuse/api/IPropertyModifier.java similarity index 61% rename from src/main/scala/net/machinemuse/api/IPropertyModifier.java rename to src/main/java/net/machinemuse/api/IPropertyModifier.java index 45351fb..39dd8d7 100644 --- a/src/main/scala/net/machinemuse/api/IPropertyModifier.java +++ b/src/main/java/net/machinemuse/api/IPropertyModifier.java @@ -3,5 +3,5 @@ package net.machinemuse.api; import net.minecraft.nbt.NBTTagCompound; public interface IPropertyModifier { - public double applyModifier(NBTTagCompound moduleTag, double value); + double applyModifier(NBTTagCompound moduleTag, double value); } diff --git a/src/main/scala/net/machinemuse/api/ModuleManager.java b/src/main/java/net/machinemuse/api/ModuleManager.java similarity index 100% rename from src/main/scala/net/machinemuse/api/ModuleManager.java rename to src/main/java/net/machinemuse/api/ModuleManager.java diff --git a/src/main/scala/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java b/src/main/java/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java similarity index 82% rename from src/main/scala/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java rename to src/main/java/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java index e7fb790..6711702 100644 --- a/src/main/scala/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java +++ b/src/main/java/net/machinemuse/api/moduletrigger/IBlockBreakingModule.java @@ -19,7 +19,7 @@ public interface IBlockBreakingModule extends IPowerModule { */ boolean canHarvestBlock(ItemStack stack, Block block, int meta, EntityPlayer player); - public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityPlayer player); + boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityPlayer player); - public void handleBreakSpeed(PlayerEvent.BreakSpeed event); + void handleBreakSpeed(PlayerEvent.BreakSpeed event); } diff --git a/src/main/scala/net/machinemuse/api/moduletrigger/IPlayerTickModule.java b/src/main/java/net/machinemuse/api/moduletrigger/IPlayerTickModule.java similarity index 61% rename from src/main/scala/net/machinemuse/api/moduletrigger/IPlayerTickModule.java rename to src/main/java/net/machinemuse/api/moduletrigger/IPlayerTickModule.java index 5581d0e..0ff2268 100644 --- a/src/main/scala/net/machinemuse/api/moduletrigger/IPlayerTickModule.java +++ b/src/main/java/net/machinemuse/api/moduletrigger/IPlayerTickModule.java @@ -5,7 +5,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public interface IPlayerTickModule extends IPowerModule { - public void onPlayerTickActive(EntityPlayer player, ItemStack item); + void onPlayerTickActive(EntityPlayer player, ItemStack item); - public void onPlayerTickInactive(EntityPlayer player, ItemStack item); + void onPlayerTickInactive(EntityPlayer player, ItemStack item); } diff --git a/src/main/scala/net/machinemuse/api/moduletrigger/IRightClickModule.java b/src/main/java/net/machinemuse/api/moduletrigger/IRightClickModule.java similarity index 69% rename from src/main/scala/net/machinemuse/api/moduletrigger/IRightClickModule.java rename to src/main/java/net/machinemuse/api/moduletrigger/IRightClickModule.java index da9ed65..b4055a6 100644 --- a/src/main/scala/net/machinemuse/api/moduletrigger/IRightClickModule.java +++ b/src/main/java/net/machinemuse/api/moduletrigger/IRightClickModule.java @@ -6,17 +6,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public interface IRightClickModule extends IPowerModule { - public void onRightClick(EntityPlayer playerClicking, World world, ItemStack item); + void onRightClick(EntityPlayer playerClicking, World world, ItemStack item); - public void onItemUse( + void onItemUse( ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ); - public boolean onItemUseFirst( + boolean onItemUseFirst( ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ); - public void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4); + void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4); } diff --git a/src/main/scala/net/machinemuse/api/moduletrigger/IToggleableModule.java b/src/main/java/net/machinemuse/api/moduletrigger/IToggleableModule.java similarity index 100% rename from src/main/scala/net/machinemuse/api/moduletrigger/IToggleableModule.java rename to src/main/java/net/machinemuse/api/moduletrigger/IToggleableModule.java diff --git a/src/main/scala/net/machinemuse/general/NBTTagAccessor.java b/src/main/java/net/machinemuse/general/NBTTagAccessor.java similarity index 100% rename from src/main/scala/net/machinemuse/general/NBTTagAccessor.java rename to src/main/java/net/machinemuse/general/NBTTagAccessor.java diff --git a/src/main/java/net/machinemuse/general/gui/CosmeticGui.java b/src/main/java/net/machinemuse/general/gui/CosmeticGui.java new file mode 100644 index 0000000..560e2b4 --- /dev/null +++ b/src/main/java/net/machinemuse/general/gui/CosmeticGui.java @@ -0,0 +1,89 @@ +package net.machinemuse.general.gui; + +import net.machinemuse.general.gui.frame.*; +import net.machinemuse.numina.geometry.Colour; +import net.machinemuse.numina.geometry.MusePoint2D; +import net.machinemuse.numina.geometry.MuseRect; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 6:32 PM, 29/04/13 + * + * Ported to Java by lehjr on 10/19/16. + */ +public class CosmeticGui extends MuseGui { + EntityPlayer player; + int worldx; + int worldy; + int worldz; + + ItemSelectionFrame itemSelect; + ItemStack lastSelectedItem; + + public CosmeticGui(EntityPlayer player, int worldx, int worldy, int worldz) { + this.player = player; + this.worldx = worldx; + this.worldy = worldy; + this.worldz = worldz; + + this.xSize = 256; + this.ySize = 200; + } + + /** + * Add the buttons (and other controls) to the screen. + */ + @Override + public void initGui() { + super.initGui(); + itemSelect = new ItemSelectionFrame( + new MusePoint2D(absX(-0.95F), absY(-0.95F)), + new MusePoint2D(absX(-0.78F), absY(-0.025F)), + Colour.LIGHTBLUE.withAlpha(0.8F), + Colour.DARKBLUE.withAlpha(0.8F), player); + frames.add(itemSelect); + + ItemModelViewFrame renderframe = new ItemModelViewFrame( + itemSelect, + new MusePoint2D(absX(-0.75F), absY(-0.95f)), + new MusePoint2D(absX(0.15F), absY(-0.025f)), + Colour.LIGHTBLUE.withAlpha(0.8F), + Colour.DARKBLUE.withAlpha(0.8F)); + frames.add(renderframe); + + ColourPickerFrame colourpicker = new ColourPickerFrame( + new MuseRect(absX(0.18f), absY(-0.95f), + absX(0.95f), absY(-0.025f)), + Colour.LIGHTBLUE.withAlpha(0.8F), + Colour.DARKBLUE.withAlpha(0.8F), + itemSelect); + frames.add(colourpicker); + + PartManipContainer partframe = new PartManipContainer( + itemSelect, colourpicker, + new MusePoint2D(absX(-0.95F), absY(0.025f)), + new MusePoint2D(absX(+0.95F), absY(0.95f)), + Colour.LIGHTBLUE.withAlpha(0.8F), + Colour.DARKBLUE.withAlpha(0.8F)); + frames.add(partframe); + + TabSelectFrame tabFrame = new TabSelectFrame( + player, + new MusePoint2D(absX(-0.95F), absY(-1.05f)), + new MusePoint2D(absX(0.95F), absY(-0.95f)), + worldx, worldy, worldz); + frames.add(tabFrame); + } + + @Override + public void update() { + super.update(); + } + + @Override + public void drawScreen(int x, int y, float z) { + super.drawScreen(x, y, z); + } +} diff --git a/src/main/scala/net/machinemuse/general/gui/EnergyMeter.java b/src/main/java/net/machinemuse/general/gui/EnergyMeter.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/EnergyMeter.java rename to src/main/java/net/machinemuse/general/gui/EnergyMeter.java diff --git a/src/main/scala/net/machinemuse/general/gui/GuiFieldTinker.java b/src/main/java/net/machinemuse/general/gui/GuiFieldTinker.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/GuiFieldTinker.java rename to src/main/java/net/machinemuse/general/gui/GuiFieldTinker.java diff --git a/src/main/scala/net/machinemuse/general/gui/GuiTinkerTable.java b/src/main/java/net/machinemuse/general/gui/GuiTinkerTable.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/GuiTinkerTable.java rename to src/main/java/net/machinemuse/general/gui/GuiTinkerTable.java diff --git a/src/main/scala/net/machinemuse/general/gui/HeatMeter.java b/src/main/java/net/machinemuse/general/gui/HeatMeter.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/HeatMeter.java rename to src/main/java/net/machinemuse/general/gui/HeatMeter.java diff --git a/src/main/scala/net/machinemuse/general/gui/KeyConfigGui.java b/src/main/java/net/machinemuse/general/gui/KeyConfigGui.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/KeyConfigGui.java rename to src/main/java/net/machinemuse/general/gui/KeyConfigGui.java diff --git a/src/main/scala/net/machinemuse/general/gui/MuseGui.java b/src/main/java/net/machinemuse/general/gui/MuseGui.java similarity index 98% rename from src/main/scala/net/machinemuse/general/gui/MuseGui.java rename to src/main/java/net/machinemuse/general/gui/MuseGui.java index 3b45757..e8487dc 100644 --- a/src/main/scala/net/machinemuse/general/gui/MuseGui.java +++ b/src/main/java/net/machinemuse/general/gui/MuseGui.java @@ -169,7 +169,7 @@ public class MuseGui extends GuiScreen { * Returns absolute screen coordinates (int 0 to width) from a relative * coordinate (float -1.0F to +1.0F) * - * @param relx Relative Y coordinate + * @param rely Relative Y coordinate * @return Absolute Y coordinate */ public int absY(double rely) { @@ -238,10 +238,6 @@ public class MuseGui extends GuiScreen { } } - /** - * @param x - * @param y - */ protected void drawToolTip() { int x = Mouse.getEventX() * this.width / this.mc.displayWidth; int y = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1; diff --git a/src/main/scala/net/machinemuse/general/gui/MuseIcon.java b/src/main/java/net/machinemuse/general/gui/MuseIcon.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/MuseIcon.java rename to src/main/java/net/machinemuse/general/gui/MuseIcon.java diff --git a/src/main/scala/net/machinemuse/general/gui/PortableCraftingGui.java b/src/main/java/net/machinemuse/general/gui/PortableCraftingGui.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/PortableCraftingGui.java rename to src/main/java/net/machinemuse/general/gui/PortableCraftingGui.java diff --git a/src/main/scala/net/machinemuse/general/gui/WaterMeter.java b/src/main/java/net/machinemuse/general/gui/WaterMeter.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/WaterMeter.java rename to src/main/java/net/machinemuse/general/gui/WaterMeter.java diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/Clickable.java b/src/main/java/net/machinemuse/general/gui/clickable/Clickable.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/clickable/Clickable.java rename to src/main/java/net/machinemuse/general/gui/clickable/Clickable.java diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableButton.java b/src/main/java/net/machinemuse/general/gui/clickable/ClickableButton.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/clickable/ClickableButton.java rename to src/main/java/net/machinemuse/general/gui/clickable/ClickableButton.java diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableItem.java b/src/main/java/net/machinemuse/general/gui/clickable/ClickableItem.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/clickable/ClickableItem.java rename to src/main/java/net/machinemuse/general/gui/clickable/ClickableItem.java diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableLabel.java b/src/main/java/net/machinemuse/general/gui/clickable/ClickableLabel.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/clickable/ClickableLabel.java rename to src/main/java/net/machinemuse/general/gui/clickable/ClickableLabel.java diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/IClickable.java b/src/main/java/net/machinemuse/general/gui/clickable/IClickable.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/clickable/IClickable.java rename to src/main/java/net/machinemuse/general/gui/clickable/IClickable.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java b/src/main/java/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java similarity index 99% rename from src/main/scala/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java index 3df4a85..fecc931 100644 --- a/src/main/scala/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java +++ b/src/main/java/net/machinemuse/general/gui/frame/DetailedSummaryFrame.java @@ -37,7 +37,7 @@ public class DetailedSummaryFrame extends ScrollableFrame { energy = 0; armor = 0; for(ItemStack stack : MuseItemUtils.modularItemsEquipped(player)) { - energy += ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY()); + energy += ModuleManager.computeModularProperty(stack, ElectricItemUtils.MAXIMUM_ENERGY); armor += ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_VALUE_PHYSICAL); armor += ModuleManager.computeModularProperty(stack, MuseCommonStrings.ARMOR_VALUE_ENERGY); } @@ -55,7 +55,7 @@ public class DetailedSummaryFrame extends ScrollableFrame { nexty += 10; - String formattedValue = MuseStringUtils.formatNumberFromUnits(energy, PowerModule.getUnit(ElectricItemUtils.MAXIMUM_ENERGY())); + String formattedValue = MuseStringUtils.formatNumberFromUnits(energy, PowerModule.getUnit(ElectricItemUtils.MAXIMUM_ENERGY)); String name = StatCollector.translateToLocal("gui.energyStorage"); double valueWidth = MuseRenderer.getStringWidth(formattedValue); double allowedNameWidth = border.width() - valueWidth - margin * 2; diff --git a/src/main/scala/net/machinemuse/general/gui/frame/IGuiFrame.java b/src/main/java/net/machinemuse/general/gui/frame/IGuiFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/IGuiFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/IGuiFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/InstallSalvageFrame.java b/src/main/java/net/machinemuse/general/gui/frame/InstallSalvageFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/InstallSalvageFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/InstallSalvageFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ItemInfoFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ItemInfoFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/ItemInfoFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ItemInfoFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ItemSelectionFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ItemSelectionFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/ItemSelectionFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ItemSelectionFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/KeybindConfigFrame.java b/src/main/java/net/machinemuse/general/gui/frame/KeybindConfigFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/KeybindConfigFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/KeybindConfigFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ModuleSelectionFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ModuleSelectionFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/ModuleSelectionFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ModuleSelectionFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ModuleSelectionSubFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ModuleSelectionSubFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/ModuleSelectionSubFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ModuleSelectionSubFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ModuleTweakFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ModuleTweakFrame.java similarity index 99% rename from src/main/scala/net/machinemuse/general/gui/frame/ModuleTweakFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ModuleTweakFrame.java index 13cc4e7..9fd0028 100644 --- a/src/main/scala/net/machinemuse/general/gui/frame/ModuleTweakFrame.java +++ b/src/main/java/net/machinemuse/general/gui/frame/ModuleTweakFrame.java @@ -150,7 +150,7 @@ public class ModuleTweakFrame extends ScrollableFrame { if (selectedSlider != null && itemTarget.getSelectedItem() != null && moduleTarget.getSelectedModule() != null) { ClickableItem item = itemTarget.getSelectedItem(); IPowerModule module = moduleTarget.getSelectedModule().getModule(); - MusePacket tweakRequest = new MusePacketTweakRequest(player, item.inventorySlot, module.getDataName(), selectedSlider.name(), + MusePacket tweakRequest = new MusePacketTweakRequest(player, item.inventorySlot, module.getDataName(), selectedSlider.name, selectedSlider.value()); PacketSender.sendToServer(tweakRequest.getPacket131()); } diff --git a/src/main/scala/net/machinemuse/general/gui/frame/PortableCraftingContainer.java b/src/main/java/net/machinemuse/general/gui/frame/PortableCraftingContainer.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/PortableCraftingContainer.java rename to src/main/java/net/machinemuse/general/gui/frame/PortableCraftingContainer.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ScrollableFrame.java b/src/main/java/net/machinemuse/general/gui/frame/ScrollableFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/ScrollableFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/ScrollableFrame.java diff --git a/src/main/scala/net/machinemuse/general/gui/frame/StatsFrame.java b/src/main/java/net/machinemuse/general/gui/frame/StatsFrame.java similarity index 100% rename from src/main/scala/net/machinemuse/general/gui/frame/StatsFrame.java rename to src/main/java/net/machinemuse/general/gui/frame/StatsFrame.java diff --git a/src/main/scala/net/machinemuse/general/sound/SoundDictionary.java b/src/main/java/net/machinemuse/general/sound/SoundDictionary.java similarity index 100% rename from src/main/scala/net/machinemuse/general/sound/SoundDictionary.java rename to src/main/java/net/machinemuse/general/sound/SoundDictionary.java diff --git a/src/main/scala/net/machinemuse/powersuits/block/BlockLuxCapacitor.java b/src/main/java/net/machinemuse/powersuits/block/BlockLuxCapacitor.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/block/BlockLuxCapacitor.java rename to src/main/java/net/machinemuse/powersuits/block/BlockLuxCapacitor.java diff --git a/src/main/scala/net/machinemuse/powersuits/block/TileEntityLuxCapacitor.java b/src/main/java/net/machinemuse/powersuits/block/TileEntityLuxCapacitor.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/block/TileEntityLuxCapacitor.java rename to src/main/java/net/machinemuse/powersuits/block/TileEntityLuxCapacitor.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/block/RenderLuxCapacitorTESR.java b/src/main/java/net/machinemuse/powersuits/client/render/block/RenderLuxCapacitorTESR.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/block/RenderLuxCapacitorTESR.java rename to src/main/java/net/machinemuse/powersuits/client/render/block/RenderLuxCapacitorTESR.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/block/TinkerTableModel.java b/src/main/java/net/machinemuse/powersuits/client/render/block/TinkerTableModel.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/block/TinkerTableModel.java rename to src/main/java/net/machinemuse/powersuits/client/render/block/TinkerTableModel.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/block/TinkerTableRenderer.java b/src/main/java/net/machinemuse/powersuits/client/render/block/TinkerTableRenderer.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/block/TinkerTableRenderer.java rename to src/main/java/net/machinemuse/powersuits/client/render/block/TinkerTableRenderer.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/entity/MuseRender.java b/src/main/java/net/machinemuse/powersuits/client/render/entity/MuseRender.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/entity/MuseRender.java rename to src/main/java/net/machinemuse/powersuits/client/render/entity/MuseRender.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderLuxCapacitorEntity.java b/src/main/java/net/machinemuse/powersuits/client/render/entity/RenderLuxCapacitorEntity.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderLuxCapacitorEntity.java rename to src/main/java/net/machinemuse/powersuits/client/render/entity/RenderLuxCapacitorEntity.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderPlasmaBolt.java b/src/main/java/net/machinemuse/powersuits/client/render/entity/RenderPlasmaBolt.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderPlasmaBolt.java rename to src/main/java/net/machinemuse/powersuits/client/render/entity/RenderPlasmaBolt.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderSpinningBlade.java b/src/main/java/net/machinemuse/powersuits/client/render/entity/RenderSpinningBlade.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/entity/RenderSpinningBlade.java rename to src/main/java/net/machinemuse/powersuits/client/render/entity/RenderSpinningBlade.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/item/ArmorModelInstance.java b/src/main/java/net/machinemuse/powersuits/client/render/item/ArmorModelInstance.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/item/ArmorModelInstance.java rename to src/main/java/net/machinemuse/powersuits/client/render/item/ArmorModelInstance.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/item/ToolModel.java b/src/main/java/net/machinemuse/powersuits/client/render/item/ToolModel.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/item/ToolModel.java rename to src/main/java/net/machinemuse/powersuits/client/render/item/ToolModel.java diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/item/ToolRenderer.java b/src/main/java/net/machinemuse/powersuits/client/render/item/ToolRenderer.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/client/render/item/ToolRenderer.java rename to src/main/java/net/machinemuse/powersuits/client/render/item/ToolRenderer.java diff --git a/src/main/scala/net/machinemuse/powersuits/common/InstallCost.java b/src/main/java/net/machinemuse/powersuits/common/InstallCost.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/common/InstallCost.java rename to src/main/java/net/machinemuse/powersuits/common/InstallCost.java diff --git a/src/main/scala/net/machinemuse/powersuits/common/ModCompatibility.java b/src/main/java/net/machinemuse/powersuits/common/ModCompatibility.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/common/ModCompatibility.java rename to src/main/java/net/machinemuse/powersuits/common/ModCompatibility.java diff --git a/src/main/scala/net/machinemuse/powersuits/control/KeybindKeyHandler.java b/src/main/java/net/machinemuse/powersuits/control/KeybindKeyHandler.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/control/KeybindKeyHandler.java rename to src/main/java/net/machinemuse/powersuits/control/KeybindKeyHandler.java diff --git a/src/main/scala/net/machinemuse/powersuits/control/KeybindManager.java b/src/main/java/net/machinemuse/powersuits/control/KeybindManager.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/control/KeybindManager.java rename to src/main/java/net/machinemuse/powersuits/control/KeybindManager.java diff --git a/src/main/scala/net/machinemuse/powersuits/control/PlayerInputMap.java b/src/main/java/net/machinemuse/powersuits/control/PlayerInputMap.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/control/PlayerInputMap.java rename to src/main/java/net/machinemuse/powersuits/control/PlayerInputMap.java diff --git a/src/main/scala/net/machinemuse/powersuits/entity/EntityLuxCapacitor.java b/src/main/java/net/machinemuse/powersuits/entity/EntityLuxCapacitor.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/entity/EntityLuxCapacitor.java rename to src/main/java/net/machinemuse/powersuits/entity/EntityLuxCapacitor.java diff --git a/src/main/scala/net/machinemuse/powersuits/entity/EntityPlasmaBolt.java b/src/main/java/net/machinemuse/powersuits/entity/EntityPlasmaBolt.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/entity/EntityPlasmaBolt.java rename to src/main/java/net/machinemuse/powersuits/entity/EntityPlasmaBolt.java diff --git a/src/main/scala/net/machinemuse/powersuits/entity/EntitySpinningBlade.java b/src/main/java/net/machinemuse/powersuits/entity/EntitySpinningBlade.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/entity/EntitySpinningBlade.java rename to src/main/java/net/machinemuse/powersuits/entity/EntitySpinningBlade.java diff --git a/src/main/scala/net/machinemuse/powersuits/entity/TileEntityPortal.java b/src/main/java/net/machinemuse/powersuits/entity/TileEntityPortal.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/entity/TileEntityPortal.java rename to src/main/java/net/machinemuse/powersuits/entity/TileEntityPortal.java diff --git a/src/main/scala/net/machinemuse/powersuits/event/HarvestEventHandler.java b/src/main/java/net/machinemuse/powersuits/event/HarvestEventHandler.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/event/HarvestEventHandler.java rename to src/main/java/net/machinemuse/powersuits/event/HarvestEventHandler.java diff --git a/src/main/scala/net/machinemuse/powersuits/event/MovementManager.java b/src/main/java/net/machinemuse/powersuits/event/MovementManager.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/event/MovementManager.java rename to src/main/java/net/machinemuse/powersuits/event/MovementManager.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/PowerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/PowerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/PowerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/PowerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/PowerModuleBase.java b/src/main/java/net/machinemuse/powersuits/powermodule/PowerModuleBase.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/PowerModuleBase.java rename to src/main/java/net/machinemuse/powersuits/powermodule/PowerModuleBase.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierFlatAdditive.java b/src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierFlatAdditive.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierFlatAdditive.java rename to src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierFlatAdditive.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierIntLinearAdditive.java b/src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierIntLinearAdditive.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierIntLinearAdditive.java rename to src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierIntLinearAdditive.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierLinearAdditive.java b/src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierLinearAdditive.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/PropertyModifierLinearAdditive.java rename to src/main/java/net/machinemuse/powersuits/powermodule/PropertyModifierLinearAdditive.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/RightClickPowerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/RightClickPowerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/RightClickPowerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/RightClickPowerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/ToggleablePowerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/ToggleablePowerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/ToggleablePowerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/ToggleablePowerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/ApiaristArmorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/ApiaristArmorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/ApiaristArmorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/ApiaristArmorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/BasicPlatingModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/BasicPlatingModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/BasicPlatingModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/BasicPlatingModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/DiamondPlatingModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/DiamondPlatingModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/DiamondPlatingModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/DiamondPlatingModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/EnergyShieldModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/EnergyShieldModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/EnergyShieldModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/EnergyShieldModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/HazmatModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/HazmatModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/HazmatModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/HazmatModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/HeatSinkModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/HeatSinkModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/HeatSinkModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/HeatSinkModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/MechanicalAssistance.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/NitrogenCoolingSystem.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/NitrogenCoolingSystem.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/NitrogenCoolingSystem.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/NitrogenCoolingSystem.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/armor/WaterTankModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/armor/WaterTankModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/armor/WaterTankModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/armor/WaterTankModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java similarity index 94% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java index 047ff01..2c84e3a 100644 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java +++ b/src/main/java/net/machinemuse/powersuits/powermodule/energy/AdvancedBatteryModule.java @@ -16,9 +16,9 @@ public class AdvancedBatteryModule extends PowerModuleBase { public AdvancedBatteryModule(List validItems) { super(validItems); addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.mvcapacitor, 1)); - addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY(), 100000, "J"); + addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY, 100000, "J"); addBaseProperty(MuseCommonStrings.WEIGHT, 2000, "g"); - addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY(), 400000); + addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY, 400000); addTradeoffProperty("Battery Size", MuseCommonStrings.WEIGHT, 8000); addBaseProperty(ElectricConversions.IC2_TIER(), 1); addTradeoffProperty("IC2 Tier", ElectricConversions.IC2_TIER(), 2); diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/AdvancedSolarGenerator.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/AdvancedSolarGenerator.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/AdvancedSolarGenerator.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/AdvancedSolarGenerator.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java similarity index 94% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java index 1bd31c4..c70ca57 100644 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java +++ b/src/main/java/net/machinemuse/powersuits/powermodule/energy/BasicBatteryModule.java @@ -16,9 +16,9 @@ public class BasicBatteryModule extends PowerModuleBase { public BasicBatteryModule(List validItems) { super(validItems); addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.lvcapacitor, 1)); - addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY(), 20000, "J"); + addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY, 20000, "J"); addBaseProperty(MuseCommonStrings.WEIGHT, 2000, "g"); - addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY(), 80000); + addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY, 80000); addTradeoffProperty("Battery Size", MuseCommonStrings.WEIGHT, 8000); addBaseProperty(ElectricConversions.IC2_TIER(), 1); addTradeoffProperty("IC2 Tier", ElectricConversions.IC2_TIER(), 2); diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/CoalGenerator.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/CoalGenerator.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/CoalGenerator.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/CoalGenerator.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java similarity index 94% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java index 9cce59d..578f9f0 100644 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java +++ b/src/main/java/net/machinemuse/powersuits/powermodule/energy/EliteBatteryModule.java @@ -16,9 +16,9 @@ public class EliteBatteryModule extends PowerModuleBase { public EliteBatteryModule(List validItems) { super(validItems); addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.hvcapacitor, 1)); - addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY(), 750000, "J"); + addBaseProperty(ElectricItemUtils.MAXIMUM_ENERGY, 750000, "J"); addBaseProperty(MuseCommonStrings.WEIGHT, 2000, "g"); - addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY(), 4250000); + addTradeoffProperty("Battery Size", ElectricItemUtils.MAXIMUM_ENERGY, 4250000); addTradeoffProperty("Battery Size", MuseCommonStrings.WEIGHT, 8000); addBaseProperty(ElectricConversions.IC2_TIER(), 1); addTradeoffProperty("IC2 Tier", ElectricConversions.IC2_TIER(), 2); diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/KineticGeneratorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/KineticGeneratorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/KineticGeneratorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/KineticGeneratorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/SolarGeneratorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/SolarGeneratorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/SolarGeneratorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/SolarGeneratorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/energy/ThermalGeneratorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/energy/ThermalGeneratorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/energy/ThermalGeneratorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/energy/ThermalGeneratorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/AirtightSealModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/AirtightSealModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/AirtightSealModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/AirtightSealModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/AutoFeederModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/AutoFeederModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/AutoFeederModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/AutoFeederModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.java new file mode 100644 index 0000000..1b2a771 --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.java @@ -0,0 +1,53 @@ +package net.machinemuse.powersuits.powermodule.misc; + +import net.machinemuse.api.IModularItem; +import net.machinemuse.api.moduletrigger.IToggleableModule; +import net.machinemuse.powersuits.item.ItemComponent; +import net.machinemuse.powersuits.powermodule.PowerModuleBase; +import net.machinemuse.utils.MuseCommonStrings; +import net.machinemuse.utils.MuseItemUtils; + +import java.util.List; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 1:08 AM, 4/24/13 + * + * Ported to Java by lehjr on 10/11/16. + */ +public class BinocularsModule extends PowerModuleBase implements IToggleableModule { + public static final String BINOCULARS_MODULE = "Binoculars"; + public static final String FOV_MULTIPLIER = "Field of View"; + + public BinocularsModule(List validItems) { + super(validItems); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.laserHologram, 1)); + addBaseProperty(BinocularsModule.FOV_MULTIPLIER, 0.5); + addTradeoffProperty("FOV multiplier", BinocularsModule.FOV_MULTIPLIER, 9.5, "%"); + } + + @Override + public String getCategory() { + return MuseCommonStrings.CATEGORY_VISION; + } + + @Override + public String getDataName() { + return BinocularsModule.BINOCULARS_MODULE; + } + + @Override + public String getUnlocalizedName() { + return "binoculars"; + } + + @Override + public String getDescription() { + return "With the problems that have been plaguing Optifine lately, you've decided to take that Zoom ability into your own hands."; + } + + @Override + public String getTextureFile() { + return "binoculars"; + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/CitizenJoeStyle.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/CitizenJoeStyle.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/CitizenJoeStyle.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/CitizenJoeStyle.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/ClockModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/ClockModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/ClockModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/ClockModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/CompassModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/CompassModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/CompassModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/CompassModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/CoolingSystemModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/CoolingSystemModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/CoolingSystemModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/CoolingSystemModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/CosmeticGlowModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/CosmeticGlowModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/CosmeticGlowModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/CosmeticGlowModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/InPlaceAssemblerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/InPlaceAssemblerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/InPlaceAssemblerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/InPlaceAssemblerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/InvisibilityModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/InvisibilityModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/InvisibilityModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/InvisibilityModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/MagnetModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/MagnetModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/MagnetModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/MagnetModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/MobRepulsorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/MobRepulsorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/MobRepulsorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/MobRepulsorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/NightVisionModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/NightVisionModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/NightVisionModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/NightVisionModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/ThaumGogglesModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/ThaumGogglesModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/ThaumGogglesModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/ThaumGogglesModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/TintModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/TintModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/TintModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/TintModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/TransparentArmorModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/TransparentArmorModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/TransparentArmorModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/TransparentArmorModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/WaterElectrolyzerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/misc/WaterElectrolyzerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/misc/WaterElectrolyzerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/misc/WaterElectrolyzerModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.java new file mode 100644 index 0000000..2a715d8 --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.java @@ -0,0 +1,46 @@ +package net.machinemuse.powersuits.powermodule.movement; + +import net.minecraft.nbt.NBTTagCompound; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 10:10 AM, 8/7/13 + * + * Created by leon on 10/18/16. + */ +public class AttributeModifier { + int operation; + UUID uuid; + double amount; + String attributeName; + String name; + + public AttributeModifier(int operation, UUID uuid, double amount, String attributeName, String name) { + this.operation = operation; + this.uuid = uuid; + this.amount = amount; + this.attributeName = attributeName; + this.name = name; + } + + public AttributeModifier(NBTTagCompound nbt) { + this.operation = nbt.getInteger("Operation"); + this.uuid = new UUID(nbt); + this.amount = nbt.getDouble("Amount"); + this.attributeName = nbt.getString("AttributeName"); + this.name = nbt.getString("Name"); + } + + public NBTTagCompound toNBT(NBTTagCompound nbt) { + nbt.setInteger("Operation", operation); + uuid.toNBT(nbt); + nbt.setDouble("Amount", amount); + nbt.setString("AttributeName", attributeName); + nbt.setString("Name", name); + return nbt; + } + + public NBTTagCompound toNBT() { + return toNBT(new NBTTagCompound()); + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/BlinkDriveModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/BlinkDriveModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/BlinkDriveModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/BlinkDriveModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/ClimbAssistModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/ClimbAssistModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/ClimbAssistModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/ClimbAssistModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/FlightControlModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/FlightControlModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/FlightControlModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/FlightControlModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/GliderModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/GliderModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/GliderModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/GliderModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/JetBootsModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/JetBootsModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/JetBootsModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/JetBootsModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/JetPackModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/JetPackModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/JetPackModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/JetPackModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/JumpAssistModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/JumpAssistModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/JumpAssistModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/JumpAssistModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/ParachuteModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/ParachuteModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/ParachuteModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/ParachuteModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/ShockAbsorberModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/ShockAbsorberModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/ShockAbsorberModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/ShockAbsorberModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.java new file mode 100644 index 0000000..69876da --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.java @@ -0,0 +1,117 @@ +package net.machinemuse.powersuits.powermodule.movement; + +import net.machinemuse.api.IModularItem; +import net.machinemuse.api.ModuleManager; +import net.machinemuse.api.moduletrigger.IPlayerTickModule; +import net.machinemuse.api.moduletrigger.IToggleableModule; +import net.machinemuse.powersuits.item.ItemComponent; +import net.machinemuse.powersuits.powermodule.PowerModuleBase; +import net.machinemuse.utils.ElectricItemUtils; +import net.machinemuse.utils.MuseCommonStrings; +import net.machinemuse.utils.MuseItemUtils; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by leon on 10/18/16. + */ +public class SprintAssistModule extends PowerModuleBase implements IToggleableModule, IPlayerTickModule { + public static String MODULE_SPRINT_ASSIST = "Sprint Assist"; + public static String SPRINT_ENERGY_CONSUMPTION = "Sprint Energy Consumption"; + public static String SPRINT_SPEED_MULTIPLIER = "Sprint Speed Multiplier"; + public static String SPRINT_FOOD_COMPENSATION = "Sprint Exhaustion Compensation"; + public static String WALKING_ENERGY_CONSUMPTION = "Walking Energy Consumption"; + public static String WALKING_SPEED_MULTIPLIER = "Walking Speed Multiplier"; + public static UUID TAGUUID = new UUID(-7931854408382894632l, -8160638015224787553l); + + public SprintAssistModule(List validItems) { + super(validItems); + addSimpleTradeoff(this, "Power", SPRINT_ENERGY_CONSUMPTION, "J", 0, 10, SPRINT_SPEED_MULTIPLIER, "%", 1, 2); + addSimpleTradeoff(this, "Compensation", SPRINT_ENERGY_CONSUMPTION, "J", 0, 2, SPRINT_FOOD_COMPENSATION, "%", 0, 1); + addSimpleTradeoff(this, "Walking Assist", WALKING_ENERGY_CONSUMPTION, "J", 0, 10, WALKING_SPEED_MULTIPLIER, "%", 1, 1); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 4)); + } + + @Override + public void onPlayerTickActive(EntityPlayer player, ItemStack item) { + double motionX = player.posX - player.lastTickPosX; + double motionY = player.posY - player.lastTickPosY; + double motionZ = player.posZ - player.lastTickPosZ; + double horzMovement = Math.sqrt(motionX * motionX + motionZ * motionZ); + double totalEnergy = ElectricItemUtils.getPlayerEnergy(player); + if (player.isSprinting()) { + double exhaustion = Math.round(horzMovement * 100.0F) * 0.01; + double sprintCost = ModuleManager.computeModularProperty(item, SPRINT_ENERGY_CONSUMPTION); + if (sprintCost < totalEnergy) { + double sprintMultiplier = ModuleManager.computeModularProperty(item, SPRINT_SPEED_MULTIPLIER); + double exhaustionComp = ModuleManager.computeModularProperty(item, SPRINT_FOOD_COMPENSATION); + ElectricItemUtils.drainPlayerEnergy(player, sprintCost * horzMovement * 5); + setMovementModifier(item, sprintMultiplier); + player.getFoodStats().addExhaustion((float) (-0.01 * exhaustion * exhaustionComp)); + player.jumpMovementFactor = player.getAIMoveSpeed() * .2f; + } + } else { + double cost = ModuleManager.computeModularProperty(item, WALKING_ENERGY_CONSUMPTION); + if (cost < totalEnergy) { + double walkMultiplier = ModuleManager.computeModularProperty(item, WALKING_SPEED_MULTIPLIER); + ElectricItemUtils.drainPlayerEnergy(player, cost * horzMovement * 5); + setMovementModifier(item, walkMultiplier); + player.jumpMovementFactor = player.getAIMoveSpeed() * .2f; + } + } + } + + @Override + public void onPlayerTickInactive(EntityPlayer player, ItemStack item) { + if (item != null) { + NBTTagList modifiers = item.getTagCompound().getTagList("AttributeModifiers", (byte)10); + for (int i = 0; i< modifiers.tagCount(); i++) { + NBTTagCompound tag = modifiers.getCompoundTagAt(i); + if (new AttributeModifier(tag).name == "Sprint Assist") { + tag.setDouble("Amount", 0); + } + } + } + } + + public void setMovementModifier(ItemStack item, double multiplier) { + NBTTagList modifiers = item.getTagCompound().getTagList("AttributeModifiers", (byte) 10); // Type 10 for tag compound + item.getTagCompound().setTag("AttributeModifiers", modifiers); + List sprintModifiers = new ArrayList(); + for (int i = 0; i < modifiers.tagCount(); i++) { + NBTTagCompound tag = modifiers.getCompoundTagAt(i); + if (new AttributeModifier(tag).name == "Sprint Assist") { + tag.setInteger("Operation", 1); + tag.setDouble("Amount", multiplier - 1); + sprintModifiers.add(tag); + } + if (sprintModifiers.isEmpty()) + modifiers.appendTag(new AttributeModifier(1, TAGUUID, multiplier - 1, "generic.movementSpeed", "Sprint Assist").toNBT()); + } + } + + @Override + public String getCategory() { + return MuseCommonStrings.CATEGORY_MOVEMENT; + } + + @Override + public String getDataName() { + return MODULE_SPRINT_ASSIST; + } + + @Override + public String getTextureFile() { + return "sprintassist"; + } + + @Override + public String getUnlocalizedName() { + return "sprintAssist"; + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/SwimAssistModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/SwimAssistModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/movement/SwimAssistModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/movement/SwimAssistModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/movement/UUID.java b/src/main/java/net/machinemuse/powersuits/powermodule/movement/UUID.java new file mode 100644 index 0000000..f2c8091 --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/movement/UUID.java @@ -0,0 +1,31 @@ +package net.machinemuse.powersuits.powermodule.movement; + +import net.minecraft.nbt.NBTTagCompound; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 10:10 AM, 8/7/13 + * + * Ported to Java by lehjr on 10/13/16. + */ +public class UUID { + long least; + long most; + + public UUID(long least, long most){ + this.least = least; + this.most = most; + } + + public UUID (NBTTagCompound nbt) { + this.least = nbt.getLong("UUIDLeast"); + this.most = nbt.getLong("UUIDMost"); + } + + public NBTTagCompound toNBT(NBTTagCompound nbt) { + nbt.setLong("UUIDLeast", least); + nbt.setLong("UUIDMost", most); + return nbt; + } +} + diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/AOEPickUpgradeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/AOEPickUpgradeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/AOEPickUpgradeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/AOEPickUpgradeModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessFluidModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessFluidModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessFluidModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessFluidModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/AppEngWirelessModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/AquaAffinityModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/AquaAffinityModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/AquaAffinityModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/AquaAffinityModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/AxeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/AxeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/AxeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/AxeModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java new file mode 100644 index 0000000..aa4366f --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java @@ -0,0 +1,12 @@ +//package net.machinemuse.powersuits.powermodule.tool; +// +//import net.minecraft.item.Item; +// +///** +// * Created by Claire on 8/29/2015. +// */ +//public class ChiselGetter1 { +// public static Item getChisel() { +// return com.cricketcraft.chisel.init.ChiselItems.obsidianChisel; +// } +//} diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter2.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter2.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter2.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselGetter2.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java similarity index 96% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java index 5fedcdb..7d54fbd 100644 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java +++ b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ChiselModule.java @@ -37,15 +37,15 @@ public class ChiselModule extends PowerModuleBase implements IBlockBreakingModul addTradeoffProperty("Overclock", CHISEL_ENERGY_CONSUMPTION, 950); addTradeoffProperty("Overclock", CHISEL_HARVEST_SPEED, 22); - try { - ITEM_CHISEL = ChiselGetter1.getChisel(); - } catch (NoClassDefFoundError e) { +// try { +// ITEM_CHISEL = ChiselGetter1.getChisel(); +// } catch (NoClassDefFoundError e) { try { ITEM_CHISEL = ChiselGetter2.getChisel(); } catch (NoClassDefFoundError f) { MuseLogger.logException("Couldn't get Chisel reference item", f); } - } +// } } @Override diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/DiamondPickUpgradeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/DiamondPickUpgradeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/DiamondPickUpgradeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/DiamondPickUpgradeModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/DimensionalRiftModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/DimensionalRiftModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/DimensionalRiftModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/DimensionalRiftModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.java new file mode 100644 index 0000000..2c6597a --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.java @@ -0,0 +1,69 @@ +package net.machinemuse.powersuits.powermodule.tool; + +import net.machinemuse.api.IModularItem; +import net.machinemuse.api.moduletrigger.IRightClickModule; +import net.machinemuse.powersuits.common.ModularPowersuits; +import net.machinemuse.powersuits.item.ItemComponent; +import net.machinemuse.powersuits.powermodule.PowerModuleBase; +import net.machinemuse.utils.MuseCommonStrings; +import net.machinemuse.utils.MuseItemUtils; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import java.util.List; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 3:14 PM, 4/30/13 + * + * Ported to Java by lehjr on 10/11/16. + */ +public class FieldTinkerModule extends PowerModuleBase implements IRightClickModule { + public FieldTinkerModule(List validItems) { + super(validItems); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.controlCircuit, 1)); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 2)); + } + + @Override + public String getCategory() { + return MuseCommonStrings.CATEGORY_SPECIAL; + } + + @Override + public String getDataName() { + return "Field Tinker Module"; + } + + @Override + public String getUnlocalizedName() { + return "fieldTinkerer"; + } + + @Override + public String getTextureFile() { + return "transparentarmor"; + } + + @Override + public void onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + + } + + @Override + public boolean onItemUseFirst(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + return false; + } + + @Override + public void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4) { + + } + + @Override + public void onRightClick(EntityPlayer player, World world, ItemStack item) { + player.openGui(ModularPowersuits.INSTANCE(), 2, world, (int)player.posX, (int)player.posY, (int)player.posZ); + } +} + diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/FlintAndSteelModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/FlintAndSteelModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/FlintAndSteelModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/FlintAndSteelModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/GrafterModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/GrafterModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/GrafterModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/GrafterModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/HoeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/HoeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/HoeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/HoeModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/LeafBlowerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/LeafBlowerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/LeafBlowerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/LeafBlowerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/LuxCapacitor.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/LuxCapacitor.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/LuxCapacitor.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/LuxCapacitor.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/MFFSFieldTeleporterModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/MFFSFieldTeleporterModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/MFFSFieldTeleporterModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/MFFSFieldTeleporterModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java similarity index 98% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java index 7490a7c..6f1342a 100644 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java +++ b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OCTerminalModule.java @@ -1,4 +1,4 @@ -// package andrew.powersuits.modules; +package net.machinemuse.powersuits.powermodule.tool;// package andrew.powersuits.modules; // // import cpw.mods.fml.common.registry.GameRegistry; // import cpw.mods.fml.common.network.NetworkRegistry; diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniProbeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniProbeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniProbeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniProbeModule.java diff --git a/src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.java new file mode 100644 index 0000000..9b67b44 --- /dev/null +++ b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.java @@ -0,0 +1,83 @@ +package net.machinemuse.powersuits.powermodule.tool; + +import net.machinemuse.api.IModularItem; +import net.machinemuse.api.moduletrigger.IRightClickModule; +import net.machinemuse.powersuits.item.ItemComponent; +import net.machinemuse.powersuits.powermodule.PowerModuleBase; +import net.machinemuse.utils.MuseCommonStrings; +import net.machinemuse.utils.MuseItemUtils; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.List; + +/** + * Created by User: Andrew2448 + * 4:39 PM 4/21/13 + * updated by MachineMuse, adapted from OpenComputers srench + * + * Ported to Java by lehjr on 10/11/16. + */ +public class OmniWrenchModule extends PowerModuleBase implements IRightClickModule { + public static final String MODULE_OMNI_WRENCH = "Prototype OmniWrench"; + + public OmniWrenchModule(List validItems) { + super(validItems); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.controlCircuit, 1)); + addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 2)); + } + + @Override + public String getTextureFile() { + return "omniwrench"; + } + + @Override + public String getCategory() { + return MuseCommonStrings.CATEGORY_TOOL; + } + + @Override + public String getDataName() { + return OmniWrenchModule.MODULE_OMNI_WRENCH; + } + + @Override + public String getUnlocalizedName() { + return "omniwrench"; + } + + @Override + public void onRightClick(EntityPlayer playerClicking, World world, ItemStack item) { + + } + + @Override + public void onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + + } + + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + if (!StolenWrenchCode.onItemUseFirst(stack, player, world, x, y, z, side, hitX, hitY, hitZ)) { + Block block = world.getBlock(x, y, z); + if (world.blockExists(x, y, z) && world.canMineBlock(player, x, y, z) && (block != null)) { + if (block.rotateBlock(world, x, y, z, ForgeDirection.getOrientation(side))) { + player.swingItem(); + return !world.isRemote; + } + return false; + } + } + return false; + } + + @Override + public void onPlayerStoppedUsing(ItemStack itemStack, World world, EntityPlayer player, int par4) { + + } +} diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OreScannerModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/OreScannerModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/OreScannerModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/OreScannerModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/PersonalShrinkingModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/PersonalShrinkingModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/PersonalShrinkingModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/PersonalShrinkingModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/PickaxeModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/PickaxeModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/PickaxeModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/PickaxeModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ScoopModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ScoopModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/ScoopModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/ScoopModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ShearsModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ShearsModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/ShearsModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/ShearsModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ShovelModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/ShovelModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/ShovelModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/ShovelModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/StolenWrenchCode.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/StolenWrenchCode.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/StolenWrenchCode.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/StolenWrenchCode.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/TerminalHandler.java b/src/main/java/net/machinemuse/powersuits/powermodule/tool/TerminalHandler.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/tool/TerminalHandler.java rename to src/main/java/net/machinemuse/powersuits/powermodule/tool/TerminalHandler.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/BladeLauncherModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/BladeLauncherModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/BladeLauncherModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/BladeLauncherModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/LightningModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/LightningModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/LightningModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/LightningModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/MeleeAssistModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/MeleeAssistModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/MeleeAssistModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/MeleeAssistModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/PlasmaCannonModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/PlasmaCannonModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/PlasmaCannonModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/PlasmaCannonModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/RailgunModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/RailgunModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/RailgunModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/RailgunModule.java diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/weapon/SonicWeaponModule.java b/src/main/java/net/machinemuse/powersuits/powermodule/weapon/SonicWeaponModule.java similarity index 100% rename from src/main/scala/net/machinemuse/powersuits/powermodule/weapon/SonicWeaponModule.java rename to src/main/java/net/machinemuse/powersuits/powermodule/weapon/SonicWeaponModule.java diff --git a/src/main/scala/net/machinemuse/utils/AddonWaterUtils.java b/src/main/java/net/machinemuse/utils/AddonWaterUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/AddonWaterUtils.java rename to src/main/java/net/machinemuse/utils/AddonWaterUtils.java diff --git a/src/main/java/net/machinemuse/utils/ElectricItemUtils.java b/src/main/java/net/machinemuse/utils/ElectricItemUtils.java new file mode 100644 index 0000000..5cffc11 --- /dev/null +++ b/src/main/java/net/machinemuse/utils/ElectricItemUtils.java @@ -0,0 +1,76 @@ +package net.machinemuse.utils; + +import net.machinemuse.api.electricity.ElectricAdapter; +import net.machinemuse.powersuits.item.ItemComponent; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; + +/** + * Ported to Java by lehjr on 10/18/16. + */ +public class ElectricItemUtils { + public static final String MAXIMUM_ENERGY = "Maximum Energy"; + public static final String CURRENT_ENERGY = "Current Energy"; + + public static List electricItemsEquipped(EntityPlayer player) { + List electrics = new ArrayList<>(); + for (int i = 0; i < player.inventory.getSizeInventory(); i++) { + ElectricAdapter adapter = ElectricAdapter.wrap(player.inventory.getStackInSlot(i)); + if (adapter != null) { + electrics.add(0, adapter); + } + } + return electrics; + } + + public static double getPlayerEnergy(EntityPlayer player) { + double avail = 0.0; + for (ElectricAdapter adapter: electricItemsEquipped(player)) + avail += adapter.getCurrentEnergy(); + return avail; + } + + public static double getMaxEnergy(EntityPlayer player) { + double avail = 0.0; + for (ElectricAdapter adapter: electricItemsEquipped(player)) + avail += adapter.getMaxEnergy(); + return avail; + } + + public static void drainPlayerEnergy(EntityPlayer player, double drainAmount) { + double drainleft = drainAmount; + for (ElectricAdapter adapter: electricItemsEquipped(player)) + if (drainleft > 0) + drainleft = drainleft - adapter.drainEnergy(drainleft); + else + break; + } + + public static void givePlayerEnergy(EntityPlayer player, double joulesToGive) { + double joulesleft = joulesToGive; + for (ElectricAdapter adapter: electricItemsEquipped(player)) + if (joulesleft > 0) + joulesleft = joulesleft - adapter.giveEnergy(joulesleft); + else + break; + } + + public static double jouleValueOfComponent(ItemStack stackInCost) { + if (stackInCost.getItem() instanceof ItemComponent) { + switch(stackInCost.getItemDamage() - ItemComponent.lvcapacitor.getItemDamage()) { + case 0: + return 20000 * stackInCost.stackSize; + case 1: + return 100000 * stackInCost.stackSize; + case 2: + return 750000 * stackInCost.stackSize; + default: + return 0; + } + } + return 0; + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/utils/MPSTeleporter.java b/src/main/java/net/machinemuse/utils/MPSTeleporter.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MPSTeleporter.java rename to src/main/java/net/machinemuse/utils/MPSTeleporter.java diff --git a/src/main/scala/net/machinemuse/utils/MuseBlockUtils.java b/src/main/java/net/machinemuse/utils/MuseBlockUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MuseBlockUtils.java rename to src/main/java/net/machinemuse/utils/MuseBlockUtils.java diff --git a/src/main/scala/net/machinemuse/utils/MuseCommonStrings.java b/src/main/java/net/machinemuse/utils/MuseCommonStrings.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MuseCommonStrings.java rename to src/main/java/net/machinemuse/utils/MuseCommonStrings.java diff --git a/src/main/java/net/machinemuse/utils/MuseFileUtils.java b/src/main/java/net/machinemuse/utils/MuseFileUtils.java new file mode 100644 index 0000000..b4e56b3 --- /dev/null +++ b/src/main/java/net/machinemuse/utils/MuseFileUtils.java @@ -0,0 +1,26 @@ +package net.machinemuse.utils; + +import net.machinemuse.numina.general.MuseLogger; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 11:07 PM, 6/28/13 + * + * Ported to Java by lehjr on 10/11/16. + */ +public class MuseFileUtils { + public void copyFile(File oldFile, File newFile) throws IOException { + if (!newFile.exists()) { + newFile.createNewFile(); + } + new FileOutputStream(newFile).getChannel().transferFrom(new FileInputStream(oldFile).getChannel(), 0, Long.MAX_VALUE); + MuseLogger.logDebug("Successfully moved MPS config to new location. :D"); + } +} + + diff --git a/src/main/scala/net/machinemuse/utils/MuseHeatUtils.java b/src/main/java/net/machinemuse/utils/MuseHeatUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MuseHeatUtils.java rename to src/main/java/net/machinemuse/utils/MuseHeatUtils.java diff --git a/src/main/scala/net/machinemuse/utils/MuseItemUtils.java b/src/main/java/net/machinemuse/utils/MuseItemUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MuseItemUtils.java rename to src/main/java/net/machinemuse/utils/MuseItemUtils.java diff --git a/src/main/scala/net/machinemuse/utils/MusePlayerUtils.java b/src/main/java/net/machinemuse/utils/MusePlayerUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MusePlayerUtils.java rename to src/main/java/net/machinemuse/utils/MusePlayerUtils.java diff --git a/src/main/scala/net/machinemuse/utils/MuseStringUtils.java b/src/main/java/net/machinemuse/utils/MuseStringUtils.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/MuseStringUtils.java rename to src/main/java/net/machinemuse/utils/MuseStringUtils.java diff --git a/src/main/scala/net/machinemuse/utils/render/MuseRenderer.java b/src/main/java/net/machinemuse/utils/render/MuseRenderer.java similarity index 100% rename from src/main/scala/net/machinemuse/utils/render/MuseRenderer.java rename to src/main/java/net/machinemuse/utils/render/MuseRenderer.java diff --git a/src/main/scala/net/machinemuse/api/ArmorTraits.scala b/src/main/scala/net/machinemuse/api/ArmorTraits.scala index 5ddd3a7..1383565 100644 --- a/src/main/scala/net/machinemuse/api/ArmorTraits.scala +++ b/src/main/scala/net/machinemuse/api/ArmorTraits.scala @@ -10,18 +10,19 @@ import net.minecraft.entity.EntityLivingBase //import atomicscience.api.IAntiPoisonArmor /** - * Author: MachineMuse (Claire Semple) - * Created: 6:54 AM, 4/28/13 - */ + * Author: MachineMuse (Claire Semple) + * Created: 6:54 AM, 4/28/13 + */ trait ArmorTraits extends ItemArmor with IModularItem -with ApiaristArmor { -//with RadiationArmor { + with ApiaristArmor { + //with RadiationArmor { } @Optional.Interface(iface = "forestry.api.apiculture.IArmorApiarist", modid = "Forestry", striprefs = true) trait ApiaristArmor extends IArmorApiarist { + // @deprecated @Optional.Method(modid = "Forestry") def protectPlayer(player: EntityPlayer, armor: ItemStack, cause: String, doProtect: Boolean): Boolean = { if (ModuleManager.itemHasActiveModule(armor, ApiaristArmorModule.MODULE_APIARIST_ARMOR)) { @@ -29,6 +30,14 @@ trait ApiaristArmor extends IArmorApiarist { true } else false } + + @Optional.Method(modid = "Forestry") + def protectEntity(player: EntityLivingBase, armor: ItemStack, cause: String, doProtect: Boolean): Boolean = { + if (ModuleManager.itemHasActiveModule(armor, ApiaristArmorModule.MODULE_APIARIST_ARMOR)) { + ElectricItemUtils.drainPlayerEnergy(player.asInstanceOf[EntityPlayer], ModuleManager.computeModularProperty(armor, ApiaristArmorModule.APIARIST_ARMOR_ENERGY_CONSUMPTION)) + true + } else false + } } /* diff --git a/src/main/scala/net/machinemuse/general/gui/CosmeticGui.scala b/src/main/scala/net/machinemuse/general/gui/CosmeticGui.scala deleted file mode 100644 index c46f6cf..0000000 --- a/src/main/scala/net/machinemuse/general/gui/CosmeticGui.scala +++ /dev/null @@ -1,76 +0,0 @@ -package net.machinemuse.general.gui - -import net.machinemuse.general.gui.frame._ -import net.machinemuse.numina.geometry.{Colour, MusePoint2D, MuseRect} -import net.machinemuse.powersuits.common.Config -import net.minecraft.client.gui.ScaledResolution -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack - -/** - * Author: MachineMuse (Claire Semple) - * Created: 6:32 PM, 29/04/13 - */ -class CosmeticGui(val player: EntityPlayer, val worldx: Int, val worldy: Int, val worldz: Int) extends MuseGui { - var itemSelect: ItemSelectionFrame = null - var lastSelectedItem: ItemStack = null - this.xSize = 256 - this.ySize = 200 - - /** - * Add the buttons (and other controls) to the screen. - */ - override def initGui { - super.initGui - itemSelect = new ItemSelectionFrame( - new MusePoint2D(absX(-0.95F), absY(-0.95F)), - new MusePoint2D(absX(-0.78F), absY(-0.025F)), - Colour.LIGHTBLUE.withAlpha(0.8F), - Colour.DARKBLUE.withAlpha(0.8F), player - ) - frames.add(itemSelect) - - val renderframe = new ItemModelViewFrame( - itemSelect, - new MusePoint2D(absX(-0.75F), absY(-0.95f)), - new MusePoint2D(absX(0.15F), absY(-0.025f)), - Colour.LIGHTBLUE.withAlpha(0.8F), - Colour.DARKBLUE.withAlpha(0.8F) - ) - frames.add(renderframe) - - val colourpicker = new ColourPickerFrame( - new MuseRect(absX(0.18f), absY(-0.95f), - absX(0.95f), absY(-0.025f)), - Colour.LIGHTBLUE.withAlpha(0.8F), - Colour.DARKBLUE.withAlpha(0.8F), - itemSelect - ) - frames.add(colourpicker) - - - val partframe = new PartManipContainer( - itemSelect, colourpicker, - new MusePoint2D(absX(-0.95F), absY(0.025f)), - new MusePoint2D(absX(+0.95F), absY(0.95f)), - Colour.LIGHTBLUE.withAlpha(0.8F), - Colour.DARKBLUE.withAlpha(0.8F) - ) - frames.add(partframe) - - val tabFrame: TabSelectFrame = new TabSelectFrame( - player, - new MusePoint2D(absX(-0.95F), absY(-1.05f)), - new MusePoint2D(absX(0.95F), absY(-0.95f)), - worldx, worldy, worldz) - frames.add(tabFrame) - } - - override def update() { - super.update() - } - - override def drawScreen(x: Int, y: Int, z: Float) { - super.drawScreen(x, y, z) - } -} diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.java b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.java new file mode 100644 index 0000000..33fa806 --- /dev/null +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.java @@ -0,0 +1,106 @@ +package net.machinemuse.general.gui.clickable; + +import net.machinemuse.api.ILocalizeableModule; +import net.machinemuse.api.IPowerModule; +import net.machinemuse.numina.geometry.Colour; +import net.machinemuse.numina.geometry.MusePoint2D; +import net.machinemuse.numina.render.MuseIconUtils; +import net.machinemuse.numina.render.MuseTextureUtils; +import net.machinemuse.utils.MuseStringUtils; +import net.machinemuse.utils.render.GuiIcons; +import net.machinemuse.utils.render.MuseRenderer; +import net.minecraft.util.StatCollector; + +import java.util.ArrayList; +import java.util.List; + +/** + * Extends the Clickable class to make a clickable Augmentation; note that this + * will not be an actual item. + * + * @author MachineMuse + * + * Ported to Java by lehjr on 10/19/16. + */ +public class ClickableModule extends Clickable { + IPowerModule module; + + + public ClickableModule(IPowerModule module , MusePoint2D position) { + super(position); + this.module = module; + } + + + + boolean allowed = true; + boolean installed = false; + Colour checkmarkcolour = new Colour(0.0F, 0.667F, 0.0F, 1.0F); + + @Override + public List getToolTip() { + List toolTipText = new ArrayList(); + toolTipText.add(getLocalizedName(getModule())); + toolTipText.addAll(MuseStringUtils.wrapStringToLength(getLocalizedDescription(getModule()), 30)); + return toolTipText; + } + + public String getLocalizedName(IPowerModule m) { + if (m instanceof ILocalizeableModule) + return StatCollector.translateToLocal("module." + ((ILocalizeableModule) m).getUnlocalizedName() + ".name"); + return m.getLocalizedName(); + } + + public String getLocalizedDescription(IPowerModule m) { + if (m instanceof ILocalizeableModule) + return StatCollector.translateToLocal("module." + ((ILocalizeableModule) m).getUnlocalizedName() + ".desc"); + return m.getDescription(); + } + + @Override + public void draw() { + double k = Integer.MAX_VALUE; + double left = getPosition().x() - 8; + double top = getPosition().y() - 8; + drawPartial(left, top, left + 16, top + 16); + } + + public void drawPartial(double xmino, double ymino, double xmaxo, double ymaxo) { + double left = getPosition().x() - 8; + double top = getPosition().y() - 8; + MuseTextureUtils.pushTexture(getModule().getStitchedTexture(null)); + MuseIconUtils.drawIconAt(left, top, getModule().getIcon(null), Colour.WHITE); + MuseTextureUtils.popTexture(); + if (!allowed) { + String string = MuseStringUtils.wrapFormatTags("x", MuseStringUtils.FormatCodes.DarkRed); + MuseRenderer.drawString(string, getPosition().x() + 3, getPosition().y() + 1); + } + else if (installed) { + new GuiIcons.Checkmark(getPosition().x() - 8 + 1, getPosition().y() - 8 + 1, checkmarkcolour, null, null, null, null); + } + } + + @Override + public boolean hitBox(double x, double y) { + boolean hitx = Math.abs(x - getPosition().x()) < 8; + boolean hity = Math.abs(y - getPosition().y()) < 8; + return hitx && hity; + } + + public IPowerModule getModule() { + return module; + } + + // this is bad as there is already a keyword equals in Java + public boolean equals(ClickableModule other) { + return this.module == other.getModule(); + } + + public void setAllowed(boolean allowed) { + this.allowed = allowed; + } + + public void setInstalled(boolean installed) { + this.installed = installed; + } +} diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.scala b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.scala index fbc6c8e..efe6719 100644 --- a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.scala +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableModule.scala @@ -1,85 +1,85 @@ -package net.machinemuse.general.gui.clickable - -import net.machinemuse.api.{ILocalizeableModule, IPowerModule} -import net.machinemuse.utils.render.{MuseRenderer, GuiIcons} -import GuiIcons.Checkmark -import net.machinemuse.utils.MuseStringUtils -import java.util.ArrayList -import java.util.List -import net.machinemuse.numina.geometry.{Colour, MusePoint2D} -import net.machinemuse.numina.render.{MuseIconUtils, MuseTextureUtils} -import net.minecraft.util.StatCollector - -/** - * Extends the Clickable class to make a clickable Augmentation; note that this - * will not be an actual item. - * - * @author MachineMuse - */ -class ClickableModule(val module: IPowerModule, position: MusePoint2D) extends Clickable(position) { - var allowed: Boolean = true - var installed: Boolean = false - val checkmarkcolour = new Colour(0.0F, 0.667F, 0.0F, 1.0F) - - override def getToolTip: List[String] = { - val toolTipText: List[String] = new ArrayList[String] - toolTipText.add(getLocalizedName(getModule)) - toolTipText.addAll(MuseStringUtils.wrapStringToLength(getLocalizedDescription(getModule), 30)) - toolTipText - } - def getLocalizedName(m:IPowerModule): String = { - m match { - case m:ILocalizeableModule => StatCollector.translateToLocal("module." + m.getUnlocalizedName + ".name") - case m => m.getLocalizedName - } - } - - def getLocalizedDescription(m:IPowerModule): String = { - m match { - case m:ILocalizeableModule => StatCollector.translateToLocal("module." + m.getUnlocalizedName + ".desc") - case m => m.getDescription - } - } - - def draw { - val k: Double = Integer.MAX_VALUE - val left: Double = getPosition.x - 8 - val top: Double = getPosition.y - 8 - drawPartial(left, top, left + 16, top + 16) - } - - def drawPartial(xmino: Double, ymino: Double, xmaxo: Double, ymaxo: Double) { - val left: Double = getPosition.x - 8 - val top: Double = getPosition.y - 8 - MuseTextureUtils.pushTexture(getModule.getStitchedTexture(null)) - MuseIconUtils.drawIconAt(left, top, getModule.getIcon(null), Colour.WHITE) - MuseTextureUtils.popTexture() - if (!allowed) { - val string: String = MuseStringUtils.wrapFormatTags("x", MuseStringUtils.FormatCodes.DarkRed) - MuseRenderer.drawString(string, getPosition.x + 3, getPosition.y + 1) - } - else if (installed) { - Checkmark(getPosition.x - 8 + 1, getPosition.y - 8 + 1, c = checkmarkcolour) - } - } - - def hitBox(x: Double, y: Double): Boolean = { - val hitx: Boolean = Math.abs(x - getPosition.x) < 8 - val hity: Boolean = Math.abs(y - getPosition.y) < 8 - hitx && hity - } - - def getModule: IPowerModule = module - - def equals(other: ClickableModule): Boolean = this.module == other.getModule - - - def setAllowed(allowed: Boolean) { - this.allowed = allowed - } - - def setInstalled(installed: Boolean) { - this.installed = installed - } - -} \ No newline at end of file +//package net.machinemuse.general.gui.clickable +// +//import net.machinemuse.api.{ILocalizeableModule, IPowerModule} +//import net.machinemuse.utils.render.{MuseRenderer, GuiIcons} +//import GuiIcons.Checkmark +//import net.machinemuse.utils.MuseStringUtils +//import java.util.ArrayList +//import java.util.List +//import net.machinemuse.numina.geometry.{Colour, MusePoint2D} +//import net.machinemuse.numina.render.{MuseIconUtils, MuseTextureUtils} +//import net.minecraft.util.StatCollector +// +///** +// * Extends the Clickable class to make a clickable Augmentation; note that this +// * will not be an actual item. +// * +// * @author MachineMuse +// */ +//class ClickableModule(val module: IPowerModule, position: MusePoint2D) extends Clickable(position) { +// var allowed: Boolean = true +// var installed: Boolean = false +// val checkmarkcolour = new Colour(0.0F, 0.667F, 0.0F, 1.0F) +// +// override def getToolTip: List[String] = { +// val toolTipText: List[String] = new ArrayList[String] +// toolTipText.add(getLocalizedName(getModule)) +// toolTipText.addAll(MuseStringUtils.wrapStringToLength(getLocalizedDescription(getModule), 30)) +// toolTipText +// } +// def getLocalizedName(m:IPowerModule): String = { +// m match { +// case m:ILocalizeableModule => StatCollector.translateToLocal("module." + m.getUnlocalizedName + ".name") +// case m => m.getLocalizedName +// } +// } +// +// def getLocalizedDescription(m:IPowerModule): String = { +// m match { +// case m:ILocalizeableModule => StatCollector.translateToLocal("module." + m.getUnlocalizedName + ".desc") +// case m => m.getDescription +// } +// } +// +// def draw { +// val k: Double = Integer.MAX_VALUE +// val left: Double = getPosition.x - 8 +// val top: Double = getPosition.y - 8 +// drawPartial(left, top, left + 16, top + 16) +// } +// +// def drawPartial(xmino: Double, ymino: Double, xmaxo: Double, ymaxo: Double) { +// val left: Double = getPosition.x - 8 +// val top: Double = getPosition.y - 8 +// MuseTextureUtils.pushTexture(getModule.getStitchedTexture(null)) +// MuseIconUtils.drawIconAt(left, top, getModule.getIcon(null), Colour.WHITE) +// MuseTextureUtils.popTexture() +// if (!allowed) { +// val string: String = MuseStringUtils.wrapFormatTags("x", MuseStringUtils.FormatCodes.DarkRed) +// MuseRenderer.drawString(string, getPosition.x + 3, getPosition.y + 1) +// } +// else if (installed) { +// Checkmark(getPosition.x - 8 + 1, getPosition.y - 8 + 1, c = checkmarkcolour) +// } +// } +// +// def hitBox(x: Double, y: Double): Boolean = { +// val hitx: Boolean = Math.abs(x - getPosition.x) < 8 +// val hity: Boolean = Math.abs(y - getPosition.y) < 8 +// hitx && hity +// } +// +// def getModule: IPowerModule = module +// +// def equals(other: ClickableModule): Boolean = this.module == other.getModule +// +// +// def setAllowed(allowed: Boolean) { +// this.allowed = allowed +// } +// +// def setInstalled(installed: Boolean) { +// this.installed = installed +// } +// +//} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.java b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.java new file mode 100644 index 0000000..1ad28bc --- /dev/null +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.java @@ -0,0 +1,61 @@ +package net.machinemuse.general.gui.clickable; + +import net.machinemuse.numina.general.MuseMathUtils; +import net.machinemuse.numina.geometry.Colour; +import net.machinemuse.numina.geometry.DrawableMuseRect; +import net.machinemuse.numina.geometry.MusePoint2D; +import net.machinemuse.utils.render.MuseRenderer; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 7:08 AM, 06/05/13 + * + * Ported to Java by lehjr on 10/19/16. + */ +public class ClickableSlider extends Clickable { + public static MusePoint2D pos; + public static double width; + public static String name; + + + public ClickableSlider(MusePoint2D pos, double width, String name) { + this.pos = pos; + this.width = width; + this.name = name; + + + this.position = pos; + } + + public static int cornersize = 3; + DrawableMuseRect insideRect = new DrawableMuseRect(position.x() - width / 2.0 - cornersize, position.y() + 8, 0, position.y() + 16, Colour.LIGHTBLUE, Colour.ORANGE); + DrawableMuseRect outsideRect = new DrawableMuseRect(position.x() - width / 2.0 - cornersize, position.y() + 8, position.x() + width / 2.0 + cornersize, position.y() + 16, Colour.LIGHTBLUE, Colour.DARKBLUE); + + double valueInternal = 0; + + @Override + public void draw() { + MuseRenderer.drawCenteredString(name, position.x(), position.y()); + this.insideRect.setRight(position.x() + width * (value() - 0.5) + cornersize); + this.outsideRect.draw(); + this.insideRect.draw(); + } + + @Override + public boolean hitBox(double x, double y) { + return Math.abs(position.x() - x) < width / 2 && Math.abs(position.y() + 12 - y) < 4; + } + + public double value() { + return valueInternal; + } + + public void setValueByX(double x) { + double v = (x - pos.x()) / width + 0.5; + valueInternal = MuseMathUtils.clampDouble(v, 0, 1); + } + + public void setValue(double v) { + valueInternal = v; + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.scala b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.scala index e968e74..d5ae35c 100644 --- a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.scala +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableSlider.scala @@ -1,42 +1,42 @@ -package net.machinemuse.general.gui.clickable - -import java.lang.String -import net.machinemuse.numina.general.MuseMathUtils -import net.machinemuse.utils.render.MuseRenderer -import net.machinemuse.numina.geometry.{Colour, DrawableMuseRect, MusePoint2D} - -/** - * Author: MachineMuse (Claire Semple) - * Created: 7:08 AM, 06/05/13 - */ -class ClickableSlider(val pos: MusePoint2D, val width: Double, val name: String) extends Clickable { - this.position = pos - val cornersize: Int = 3 - val insideRect = new DrawableMuseRect(position.x - width / 2.0 - cornersize, position.y + 8, 0, position.y + 16, Colour.LIGHTBLUE, Colour.ORANGE) - val outsideRect = new DrawableMuseRect(position.x - width / 2.0 - cornersize, position.y + 8, position.x + width / 2.0 + cornersize, position.y + 16, Colour.LIGHTBLUE, Colour.DARKBLUE) - - override def draw() { - MuseRenderer.drawCenteredString(name, position.x, position.y) - this.insideRect.setRight(position.x + width * (value - 0.5) + cornersize) - this.outsideRect.draw() - this.insideRect.draw() - } - - def hitBox(x: Double, y: Double): Boolean = { - Math.abs(position.x - x) < width / 2 && - Math.abs(position.y + 12 - y) < 4 - } - - var valueInternal: Double = 0 - def value = valueInternal - - def setValueByX(x: Double) { - val v = (x - pos.x) / width + 0.5 - valueInternal = MuseMathUtils.clampDouble(v, 0, 1) - } - - def setValue(v: Double) { - valueInternal = v - } - -} +//package net.machinemuse.general.gui.clickable +// +//import java.lang.String +//import net.machinemuse.numina.general.MuseMathUtils +//import net.machinemuse.utils.render.MuseRenderer +//import net.machinemuse.numina.geometry.{Colour, DrawableMuseRect, MusePoint2D} +// +///** +// * Author: MachineMuse (Claire Semple) +// * Created: 7:08 AM, 06/05/13 +// */ +//class ClickableSlider(val pos: MusePoint2D, val width: Double, val name: String) extends Clickable { +// this.position = pos +// val cornersize: Int = 3 +// val insideRect = new DrawableMuseRect(position.x - width / 2.0 - cornersize, position.y + 8, 0, position.y + 16, Colour.LIGHTBLUE, Colour.ORANGE) +// val outsideRect = new DrawableMuseRect(position.x - width / 2.0 - cornersize, position.y + 8, position.x + width / 2.0 + cornersize, position.y + 16, Colour.LIGHTBLUE, Colour.DARKBLUE) +// +// override def draw() { +// MuseRenderer.drawCenteredString(name, position.x, position.y) +// this.insideRect.setRight(position.x + width * (value - 0.5) + cornersize) +// this.outsideRect.draw() +// this.insideRect.draw() +// } +// +// def hitBox(x: Double, y: Double): Boolean = { +// Math.abs(position.x - x) < width / 2 && +// Math.abs(position.y + 12 - y) < 4 +// } +// +// var valueInternal: Double = 0 +// def value = valueInternal +// +// def setValueByX(x: Double) { +// val v = (x - pos.x) / width + 0.5 +// valueInternal = MuseMathUtils.clampDouble(v, 0, 1) +// } +// +// def setValue(v: Double) { +// valueInternal = v +// } +// +//} diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.java b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.java new file mode 100644 index 0000000..558c470 --- /dev/null +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.java @@ -0,0 +1,33 @@ +package net.machinemuse.general.gui.clickable; + +import net.machinemuse.numina.general.MuseMathUtils; +import net.machinemuse.numina.geometry.MusePoint2D; +import net.minecraft.nbt.NBTTagCompound; + +/** + * Ported to Java by lehjr on 10/19/16. + */ +public class ClickableTinkerSlider extends ClickableSlider { + MusePoint2D topmiddle; + double width; + NBTTagCompound moduleTag; + + public ClickableTinkerSlider(MusePoint2D topmiddle, double width, NBTTagCompound moduleTag, String name) { + super(topmiddle, width, name); + this.name = name; + this.topmiddle = topmiddle; + this.width = width; + this.moduleTag = moduleTag; + } + + @Override + public double value() { + return (moduleTag.hasKey(name)) ? moduleTag.getDouble(name) : 0; + } + + public void moveSlider(double x, double y) { + double xval = position.x() - x; + double xratio = MuseMathUtils.clampDouble(0.5 - (xval / width), 0, 1); + moduleTag.setDouble(name, xratio); + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.scala b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.scala index 7f72562..07ebb7e 100644 --- a/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.scala +++ b/src/main/scala/net/machinemuse/general/gui/clickable/ClickableTinkerSlider.scala @@ -1,18 +1,18 @@ -package net.machinemuse.general.gui.clickable - -import net.machinemuse.numina.general.MuseMathUtils -import net.machinemuse.numina.geometry.MusePoint2D -import net.minecraft.nbt.NBTTagCompound - -class ClickableTinkerSlider(topmiddle: MusePoint2D, width: Double, val moduleTag: NBTTagCompound, name: String) extends ClickableSlider(topmiddle, width, name) { - - override def value: Double = { - if(moduleTag.hasKey(name)) moduleTag.getDouble(name) else 0 - } - - def moveSlider(x: Double, y: Double) { - val xval: Double = position.x - x - val xratio: Double = MuseMathUtils.clampDouble(0.5 - (xval / width), 0, 1) - moduleTag.setDouble(name, xratio) - } -} \ No newline at end of file +//package net.machinemuse.general.gui.clickable +// +//import net.machinemuse.numina.general.MuseMathUtils +//import net.machinemuse.numina.geometry.MusePoint2D +//import net.minecraft.nbt.NBTTagCompound +// +//class ClickableTinkerSlider(topmiddle: MusePoint2D, width: Double, val moduleTag: NBTTagCompound, name: String) extends ClickableSlider(topmiddle, width, name) { +// +// override def value: Double = { +// if(moduleTag.hasKey(name)) moduleTag.getDouble(name) else 0 +// } +// +// def moveSlider(x: Double, y: Double) { +// val xval: Double = position.x - x +// val xratio: Double = MuseMathUtils.clampDouble(0.5 - (xval / width), 0, 1) +// moduleTag.setDouble(name, xratio) +// } +//} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/general/gui/frame/ColourPickerFrame.scala b/src/main/scala/net/machinemuse/general/gui/frame/ColourPickerFrame.scala index 1cb37fc..c5ff2e4 100644 --- a/src/main/scala/net/machinemuse/general/gui/frame/ColourPickerFrame.scala +++ b/src/main/scala/net/machinemuse/general/gui/frame/ColourPickerFrame.scala @@ -99,12 +99,12 @@ class ColourPickerFrame(val borderRef: MuseRect, val insideColour: Colour, val b gslider.draw() bslider.draw() for (i <- 0 until colours.size) { - ArmourColourPatch(border.left + 8 + i * 8, border.bottom - 16, new Colour(colours(i))) + new ArmourColourPatch(border.left + 8 + i * 8, border.bottom - 16, new Colour(colours(i)), null, null, null, null); } - ArmourColourPatch(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.WHITE) - SelectedArmorOverlay(border.left + 8 + selectedColour * 8, border.bottom - 16, Colour.WHITE) - MinusSign(border.left + 8 + selectedColour * 8, border.bottom - 24, Colour.RED) - PlusSign(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.GREEN) + new ArmourColourPatch(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.WHITE, null, null, null, null); + new SelectedArmorOverlay(border.left + 8 + selectedColour * 8, border.bottom - 16, Colour.WHITE, null, null, null, null); + new MinusSign(border.left + 8 + selectedColour * 8, border.bottom - 24, Colour.RED, null, null, null, null); + new PlusSign(border.left + 8 + colours.size * 8, border.bottom - 16, Colour.GREEN, null, null, null, null); } def getToolTip(x: Int, y: Int): util.List[String] = null diff --git a/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.scala b/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.scala index 28b433e..b73621c 100644 --- a/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.scala +++ b/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.scala @@ -8,6 +8,7 @@ import net.machinemuse.numina.render.RenderState import net.machinemuse.powersuits.client.render.modelspec.{ModelPartSpec, ModelRegistry, ModelSpec} import net.machinemuse.powersuits.network.packets.MusePacketCosmeticInfo import net.machinemuse.utils.MuseItemUtils +import net.machinemuse.utils.render.GuiIcons.GuiIcon import net.machinemuse.utils.render.{GuiIcons, MuseRenderer} import net.minecraft.client.Minecraft import net.minecraft.item.ItemArmor @@ -96,17 +97,22 @@ class PartManipSubFrame(val model: ModelSpec, val colourframe: ColourPickerFrame val selcomp = if (tag.hasNoTags) 0 else if (spec.getGlow(tag)) 2 else 1 val selcolour = spec.getColourIndex(tag) - GuiIcons.TransparentArmor(x, y, ymin = ymino, ymax = ymaxo) - GuiIcons.NormalArmor(x + 8, y, ymin = ymino, ymax = ymaxo) - GuiIcons.GlowArmor(x + 16, y, ymin = ymino, ymax = ymaxo) - GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, ymin = ymino, ymax = ymaxo) + +// new GuiIcon (double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) // FIXME!!! + + + + new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo); + new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo); + new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo); + new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo); val textstartx = ((x + 28) /: colourframe.colours) { case (acc, colour) => - GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), ymin = ymino, ymax = ymaxo) + new GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), null, ymino, null, ymaxo); acc + 8 } if (selcomp > 0) { - GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, ymin = ymino, ymax = ymaxo) + new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo); } diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.scala deleted file mode 100644 index d93cad7..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/misc/BinocularsModule.scala +++ /dev/null @@ -1,33 +0,0 @@ -package net.machinemuse.powersuits.powermodule.misc - -import net.machinemuse.api.IModularItem -import net.machinemuse.api.moduletrigger.IToggleableModule -import net.machinemuse.powersuits.item.ItemComponent -import net.machinemuse.powersuits.powermodule.PowerModuleBase -import net.machinemuse.utils.{MuseCommonStrings, MuseItemUtils} - -/** - * Author: MachineMuse (Claire Semple) - * Created: 1:08 AM, 4/24/13 - */ -object BinocularsModule { - val BINOCULARS_MODULE = "Binoculars" - val FOV_MULTIPLIER = "Field of View" -} - -class BinocularsModule(list: java.util.List[IModularItem]) extends PowerModuleBase(list) with IToggleableModule { - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.laserHologram, 1)) - addBaseProperty(BinocularsModule.FOV_MULTIPLIER, 0.5) - addTradeoffProperty("FOV multiplier", BinocularsModule.FOV_MULTIPLIER, 9.5, "%") - - override def getCategory: String = MuseCommonStrings.CATEGORY_VISION - - override def getDataName: String = BinocularsModule.BINOCULARS_MODULE - - override def getUnlocalizedName = "binoculars" - - override def getDescription: String = "With the problems that have been plaguing Optifine lately, you've decided to take that Zoom ability into your own hands." - - override def getTextureFile: String = "binoculars" - -} diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.scala deleted file mode 100644 index 0e64606..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/AttributeModifier.scala +++ /dev/null @@ -1,41 +0,0 @@ -package net.machinemuse.powersuits.powermodule.movement - -import net.minecraft.nbt.NBTTagCompound - -/** - * Author: MachineMuse (Claire Semple) - * Created: 10:10 AM, 8/7/13 - */ -case class AttributeModifier(operation: Int, uuid: UUID, amount: Double, attributeName: String, name: String) { - def this(nbt: NBTTagCompound) = this( - nbt.getInteger("Operation"), - new UUID(nbt), - nbt.getDouble("Amount"), - nbt.getString("AttributeName"), - nbt.getString("Name") - ) - - def toNBT:NBTTagCompound = toNBT(new NBTTagCompound) - - def toNBT(nbt: NBTTagCompound) = { - nbt.setInteger("Operation", operation) - uuid.toNBT(nbt) - nbt.setDouble("Amount", amount) - nbt.setString("AttributeName", attributeName) - nbt.setString("Name", name) - nbt - } -} - -case class UUID(least:Long,most:Long) { - def this(nbt: NBTTagCompound) = this( - nbt.getLong("UUIDLeast"), - nbt.getLong("UUIDMost") - ) - - def toNBT(nbt: NBTTagCompound) = { - nbt.setLong("UUIDLeast", least) - nbt.setLong("UUIDMost", most) - } -} - diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.scala deleted file mode 100644 index b7cdbd1..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/movement/SprintAssistModule.scala +++ /dev/null @@ -1,103 +0,0 @@ -package net.machinemuse.powersuits.powermodule.movement - -import java.util.List - -import net.machinemuse.api.{IModularItem, ModuleManager} -import net.machinemuse.api.moduletrigger.{IPlayerTickModule, IToggleableModule} -import net.machinemuse.powersuits.item.ItemComponent -import net.machinemuse.powersuits.powermodule.PowerModuleBase -import net.machinemuse.utils.{ElectricItemUtils, MuseCommonStrings, MuseItemUtils} -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack -import net.minecraft.nbt.{NBTTagCompound, NBTTagList} - -object SprintAssistModule { - val MODULE_SPRINT_ASSIST: String = "Sprint Assist" - val SPRINT_ENERGY_CONSUMPTION: String = "Sprint Energy Consumption" - val SPRINT_SPEED_MULTIPLIER: String = "Sprint Speed Multiplier" - val SPRINT_FOOD_COMPENSATION: String = "Sprint Exhaustion Compensation" - val WALKING_ENERGY_CONSUMPTION: String = "Walking Energy Consumption" - val WALKING_SPEED_MULTIPLIER: String = "Walking Speed Multiplier" - val TAGUUID: UUID = UUID(-7931854408382894632l, -8160638015224787553l) -} - -class SprintAssistModule(validItems: List[IModularItem]) extends PowerModuleBase(validItems) with IToggleableModule with IPlayerTickModule { - - import SprintAssistModule._ - - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 4)) - addSimpleTradeoff(this, "Power", SPRINT_ENERGY_CONSUMPTION, "J", 0, 10, SPRINT_SPEED_MULTIPLIER, "%", 1, 2) - addSimpleTradeoff(this, "Compensation", SPRINT_ENERGY_CONSUMPTION, "J", 0, 2, SPRINT_FOOD_COMPENSATION, "%", 0, 1) - addSimpleTradeoff(this, "Walking Assist", WALKING_ENERGY_CONSUMPTION, "J", 0, 10, WALKING_SPEED_MULTIPLIER, "%", 1, 1) - - def getCategory: String = MuseCommonStrings.CATEGORY_MOVEMENT - - def getDataName: String = MODULE_SPRINT_ASSIST - - override def getUnlocalizedName = "sprintAssist" - - def onPlayerTickActive(player: EntityPlayer, item: ItemStack) { - val motionX = player.posX - player.lastTickPosX - val motionY = player.posY - player.lastTickPosY - val motionZ = player.posZ - player.lastTickPosZ - val horzMovement: Double = Math.sqrt(motionX * motionX + motionZ * motionZ) - val totalEnergy: Double = ElectricItemUtils.getPlayerEnergy(player) - if (player.isSprinting) { - val exhaustion: Double = Math.round(horzMovement * 100.0F) * 0.01 - val sprintCost: Double = ModuleManager.computeModularProperty(item, SPRINT_ENERGY_CONSUMPTION) - if (sprintCost < totalEnergy) { - val sprintMultiplier: Double = ModuleManager.computeModularProperty(item, SPRINT_SPEED_MULTIPLIER) - val exhaustionComp: Double = ModuleManager.computeModularProperty(item, SPRINT_FOOD_COMPENSATION) - ElectricItemUtils.drainPlayerEnergy(player, sprintCost * horzMovement * 5) - setMovementModifier(item, sprintMultiplier) - player.getFoodStats.addExhaustion((-0.01 * exhaustion * exhaustionComp).asInstanceOf[Float]) - player.jumpMovementFactor = player.getAIMoveSpeed * .2f - } - } else { - val cost: Double = ModuleManager.computeModularProperty(item, WALKING_ENERGY_CONSUMPTION) - if (cost < totalEnergy) { - val walkMultiplier: Double = ModuleManager.computeModularProperty(item, WALKING_SPEED_MULTIPLIER) - ElectricItemUtils.drainPlayerEnergy(player, cost * horzMovement * 5) - setMovementModifier(item, walkMultiplier) - player.jumpMovementFactor = player.getAIMoveSpeed * .2f - } - } - } - - def setMovementModifier(item: ItemStack, multiplier: Double) { - val modifiers: NBTTagList = item.getTagCompound.getTagList("AttributeModifiers", 10.asInstanceOf[Byte]) // Type 10 for tag compound - item.getTagCompound.setTag("AttributeModifiers", modifiers) - val sprintModifiers = - for (i <- 0 until modifiers.tagCount()) yield { - val tag = modifiers.getCompoundTagAt(i).asInstanceOf[NBTTagCompound] - if (new AttributeModifier(tag).name == "Sprint Assist") { - Some(tag) - } else None - } flatMap { - tag: NBTTagCompound => - tag.setInteger("Operation", 1) - tag.setDouble("Amount", multiplier - 1) - Some(tag) - } - if (sprintModifiers.isEmpty) modifiers.appendTag(AttributeModifier(1, TAGUUID, multiplier - 1, "generic.movementSpeed", "Sprint Assist").toNBT) - } - - def onPlayerTickInactive(player: EntityPlayer, item: ItemStack) { - if (item != null) { - - val modifiers: NBTTagList = item.getTagCompound.getTagList("AttributeModifiers", 10.asInstanceOf[Byte]) - for (i <- 0 until modifiers.tagCount()) yield { - val tag = modifiers.getCompoundTagAt(i) - if (new AttributeModifier(tag).name == "Sprint Assist") { - Some(tag) - } else None - } flatMap { - tag: NBTTagCompound => - tag.setDouble("Amount", 0) - Some(tag) - } - } - } - - def getTextureFile: String = "sprintassist" -} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java b/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java deleted file mode 100644 index addec0c..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/ChiselGetter1.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.machinemuse.powersuits.powermodule.tool; - -import net.minecraft.item.Item; - -/** - * Created by Claire on 8/29/2015. - */ -public class ChiselGetter1 { - public static Item getChisel() { - return com.cricketcraft.chisel.init.ChiselItems.obsidianChisel; - } -} diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.scala deleted file mode 100644 index 67a8b3d..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/FieldTinkerModule.scala +++ /dev/null @@ -1,40 +0,0 @@ -package net.machinemuse.powersuits.powermodule.tool - -import net.machinemuse.api.IModularItem -import net.machinemuse.api.moduletrigger.IRightClickModule -import net.machinemuse.powersuits.common.ModularPowersuits -import net.machinemuse.powersuits.item.ItemComponent -import net.machinemuse.powersuits.powermodule.PowerModuleBase -import net.machinemuse.utils.{MuseCommonStrings, MuseItemUtils} -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack -import net.minecraft.world.World - -/** - * Created with IntelliJ IDEA. - * User: Claire2 - * Date: 4/30/13 - * Time: 3:14 PM - * To change this template use File | Settings | File Templates. - */ -class FieldTinkerModule(list: java.util.List[IModularItem]) extends PowerModuleBase(list) with IRightClickModule { - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.controlCircuit, 1)) - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 2)) - def getCategory: String = MuseCommonStrings.CATEGORY_SPECIAL - - def getDataName: String = "Field Tinker Module" - - override def getUnlocalizedName = "fieldTinkerer" - - def getTextureFile: String = "transparentarmor" - - def onItemUse(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) {} - - def onItemUseFirst(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float): Boolean = {false} - - def onPlayerStoppedUsing(itemStack: ItemStack, world: World, player: EntityPlayer, par4: Int) {} - - def onRightClick(player: EntityPlayer, world: World, item: ItemStack) { - player.openGui(ModularPowersuits, 2, world, player.posX.toInt, player.posY.toInt, player.posZ.toInt) - } -} diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.scala deleted file mode 100644 index 2ef0053..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/OmniWrenchModule.scala +++ /dev/null @@ -1,59 +0,0 @@ -package net.machinemuse.powersuits.powermodule.tool - -import java.util.List - -import net.machinemuse.api.IModularItem -import net.machinemuse.api.moduletrigger.IRightClickModule -import net.machinemuse.powersuits.item.ItemComponent -import net.machinemuse.powersuits.powermodule.PowerModuleBase -import net.machinemuse.utils.{MuseCommonStrings, MuseItemUtils} -import net.minecraft.block.Block -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.init.Blocks -import net.minecraft.item.ItemStack -import net.minecraft.world.World -import net.minecraftforge.common.util.ForgeDirection - -/** - * Created by User: Andrew2448 - * 4:39 PM 4/21/13 - * updated by MachineMuse, adapted from OpenComputers srench - */ -object OmniWrenchModule { - val MODULE_OMNI_WRENCH: String = "Prototype OmniWrench" -} - -class OmniWrenchModule(validItems: List[IModularItem]) extends PowerModuleBase(validItems) with IRightClickModule { - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.controlCircuit, 1)) - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 2)) - - def getTextureFile: String = "omniwrench" - - def getCategory: String = MuseCommonStrings.CATEGORY_TOOL - - - def getDataName: String = OmniWrenchModule.MODULE_OMNI_WRENCH - - override def getUnlocalizedName = "omniwrench" - - def onRightClick(playerClicking: EntityPlayer, world: World, item: ItemStack) {} - - def onItemUse(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) {} - - def onItemUseFirst(stack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float): Boolean = { - if (!StolenWrenchCode.onItemUseFirst(stack, player, world, x, y, z, side, hitX, hitY, hitZ)) { - world.blockExists(x, y, z) && world.canMineBlock(player, x, y, z) && (world.getBlock(x, y, z) match { - case block: Block if block.rotateBlock(world, x, y, z, ForgeDirection.getOrientation(side)) => - block.onNeighborBlockChange(world, x, y, z, Blocks.air) - player.swingItem() - !world.isRemote - case _ => - false - }) - } else { - false - } - } - - def onPlayerStoppedUsing(itemStack: ItemStack, world: World, player: EntityPlayer, par4: Int) {} -} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/RedstoneLaser.scala b/src/main/scala/net/machinemuse/powersuits/powermodule/tool/RedstoneLaser.scala deleted file mode 100644 index 99a291c..0000000 --- a/src/main/scala/net/machinemuse/powersuits/powermodule/tool/RedstoneLaser.scala +++ /dev/null @@ -1,54 +0,0 @@ -package net.machinemuse.powersuits.powermodule.tool - -import net.machinemuse.api.IModularItem -import net.machinemuse.api.moduletrigger.IRightClickModule -import net.machinemuse.powersuits.common.ModularPowersuits -import net.machinemuse.powersuits.item.ItemComponent -import net.machinemuse.powersuits.powermodule.PowerModuleBase -import net.machinemuse.utils.{MuseCommonStrings, MuseItemUtils} -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack -import net.minecraft.world.World - -/** - * Author: MachineMuse (Claire Semple) - * Created: 2:27 PM, 5/8/13 - */ -class RedstoneLaser(list: java.util.List[IModularItem]) extends PowerModuleBase(list) with IRightClickModule { - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.controlCircuit, 1)) - addInstallCost(MuseItemUtils.copyAndResize(ItemComponent.servoMotor, 2)) - - def getCategory: String = MuseCommonStrings.CATEGORY_SPECIAL - - def getDataName: String = "Redstone Laser" - - override def getUnlocalizedName = "redstoneLaser" - - def getTextureFile: String = "laser" - - def onItemUse(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, side: Int, hitX: Float, hitY: Float, hitZ: Float) { - - - } - - def onItemUseFirst(itemStack: ItemStack, player: EntityPlayer, world: World, x: Int, y: Int, z: Int, sideIndex: Int, hitX: Float, hitY: Float, hitZ: Float): Boolean = { -// val side: ForgeDirection = ForgeDirection.getOrientation(sideIndex) -// val xo = x + side.offsetX -// val yo = y + side.offsetY -// val zo = z + side.offsetZ -// val redlaserid = RedstoneLaser -// world.getBlock(xo, yo, zo) match { -// case 0 => world.setBlock(xo, yo, zo, redlaserid) -// case `redlaserid` => world.setBlockMetadataWithNotify(xo, yo, zo, redlaserid, world.getBlockMetadata(xo, yo, zo) + 1) -// case _ => -// } - true - } - - def onPlayerStoppedUsing(itemStack: ItemStack, world: World, player: EntityPlayer, par4: Int) {} - - def onRightClick(player: EntityPlayer, world: World, item: ItemStack) { - player.openGui(ModularPowersuits, 2, world, player.posX.toInt, player.posY.toInt, player.posZ.toInt) - } - -} diff --git a/src/main/scala/net/machinemuse/utils/ElectricItemUtils.scala b/src/main/scala/net/machinemuse/utils/ElectricItemUtils.scala deleted file mode 100644 index 0e26cf9..0000000 --- a/src/main/scala/net/machinemuse/utils/ElectricItemUtils.scala +++ /dev/null @@ -1,60 +0,0 @@ -package net.machinemuse.utils - -import net.machinemuse.api.electricity.ElectricAdapter -import net.machinemuse.powersuits.item.ItemComponent -import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.ItemStack -import scala.collection.JavaConverters._ -import scala.collection.mutable.ListBuffer - -object ElectricItemUtils { - final val MAXIMUM_ENERGY: String = "Maximum Energy" - final val CURRENT_ENERGY: String = "Current Energy" - - def electricItemsEquipped(player: EntityPlayer): Seq[ElectricAdapter] = { - val electrics = new ListBuffer[ElectricAdapter]() - for (i <- 0 until player.inventory.getSizeInventory) { - val adapter: ElectricAdapter = ElectricAdapter.wrap(player.inventory.getStackInSlot(i)) - if (adapter != null) { - electrics.prepend(adapter) - } - } - electrics - } - - def getPlayerEnergy(player: EntityPlayer): Double = { - (0.0 /: electricItemsEquipped(player)) { - case (avail, adapter) => avail + adapter.getCurrentEnergy - } - } - - def getMaxEnergy(player: EntityPlayer): Double = { - (0.0 /: electricItemsEquipped(player)) { - case (avail, adapter) => avail + adapter.getMaxEnergy - } - } - - def drainPlayerEnergy(player: EntityPlayer, drainAmount: Double) { - (drainAmount /: electricItemsEquipped(player)) { - case (drainleft, adapter) => drainleft - adapter.drainEnergy(drainleft) - } - } - - def givePlayerEnergy(player: EntityPlayer, joulesToGive: Double) { - (joulesToGive /: electricItemsEquipped(player)) { - case (joulesleft, adapter) => joulesleft - adapter.giveEnergy(joulesleft) - } - } - - def jouleValueOfComponent(stackInCost: ItemStack): Double = { - stackInCost.getItem match { - case i: ItemComponent => (stackInCost.getItemDamage - ItemComponent.lvcapacitor.getItemDamage) match { - case 0 => 20000 * stackInCost.stackSize - case 1 => 100000 * stackInCost.stackSize - case 2 => 750000 * stackInCost.stackSize - case _ => 0 - } - case _ => 0 - } - } -} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/utils/MuseFileUtils.scala b/src/main/scala/net/machinemuse/utils/MuseFileUtils.scala deleted file mode 100644 index 64613a9..0000000 --- a/src/main/scala/net/machinemuse/utils/MuseFileUtils.scala +++ /dev/null @@ -1,18 +0,0 @@ -package net.machinemuse.utils - -import java.io.{FileInputStream, FileOutputStream, File} -import net.machinemuse.numina.general.MuseLogger - -/** - * Author: MachineMuse (Claire Semple) - * Created: 11:07 PM, 6/28/13 - */ -object MuseFileUtils { - def copyFile(oldFile: File, newFile: File) { - if (!newFile.exists) { - newFile.createNewFile() - } - new FileOutputStream(newFile).getChannel transferFrom(new FileInputStream(oldFile).getChannel, 0, Long.MaxValue) - MuseLogger.logDebug("Successfully moved MPS config to new location. :D") - } -} diff --git a/src/main/scala/net/machinemuse/utils/render/GuiIcons.java b/src/main/scala/net/machinemuse/utils/render/GuiIcons.java new file mode 100644 index 0000000..8ae74ef --- /dev/null +++ b/src/main/scala/net/machinemuse/utils/render/GuiIcons.java @@ -0,0 +1,199 @@ +package net.machinemuse.utils.render; + +import net.machinemuse.numina.geometry.Colour; +import net.machinemuse.numina.render.MuseIconUtils; +import net.machinemuse.numina.render.MuseTextureUtils; +import net.machinemuse.numina.render.RenderState; +import net.machinemuse.powersuits.common.Config; +import net.minecraft.util.IIcon; +import org.lwjgl.opengl.GL11; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 4:01 AM, 30/04/13 + * + * Ported to Java by lehjr on 10/19/16. + */ +public class GuiIcons { + private GuiIcons() { + } + + public GuiIcons INSTANCE = new GuiIcons(); + + + public interface IGuiIcon { + double size = 0; + String filepath = null; + + double x = 0; + double y = 0; + Colour c = null; + double xmin = 0; + double ymin = 0; + double xmax = 0; + double yma = 0; + } + + public static class GuiIcon implements IGuiIcon { + double size; + String filepath; + + double x; + double y; + Colour c; + double xmin; + double ymin; + double xmax; + double ymax; + + public GuiIcon (double size, String filepath, double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + this.size = size; + this.filepath = filepath; + this.x = x; + this.y = y; + this.c = (c != null) ? c : Colour.WHITE; + this.xmin = (xmin != null) ? xmin : Integer.MIN_VALUE; + this.ymin = (ymin != null) ? ymin : Integer.MIN_VALUE; + this.xmax = (xmax != null) ? xmax : Integer.MAX_VALUE; + this.ymax = (ymax != null) ? ymax : Integer.MAX_VALUE; + + MuseTextureUtils.pushTexture(filepath); + GL11.glPushMatrix(); + RenderState.blendingOn(); + double s = size / 16.0; + GL11.glScaled(s, s, s); + + MuseIconUtils.drawIconPartialOccluded(x / s, y / s, new GuiIconDrawer(), this.c, this.xmin / s, this.ymin / s, this.xmax / s, this.ymax / s); + RenderState.blendingOff(); + GL11.glPopMatrix(); + MuseTextureUtils.popTexture(); + } + } + + public static class Checkmark extends GuiIcon { +// double size = 16.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/checkmark.png"; + + public Checkmark(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(16.0, Config.TEXTURE_PREFIX() + "gui/checkmark.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class TransparentArmor extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/transparentarmor.png"; + + public TransparentArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/transparentarmor.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class NormalArmor extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/normalarmor.png"; + + public NormalArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/normalarmor.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class GlowArmor extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/glowarmor.png"; + + public GlowArmor(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/glowarmor.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class SelectedArmorOverlay extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/armordisplayselect.png"; + + public SelectedArmorOverlay(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/armordisplayselect.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class ArmourColourPatch extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/colourclicker.png"; + + public ArmourColourPatch(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/colourclicker.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class MinusSign extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/minussign.png"; + + public MinusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/minussign.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class PlusSign extends GuiIcon { +// double size = 8.0; +// String filepath = Config.TEXTURE_PREFIX() + "gui/plussign.png"; + + public PlusSign(double x, double y, Colour c, Double xmin, Double ymin, Double xmax, Double ymax) { + super(8.0, Config.TEXTURE_PREFIX() + "gui/plussign.png", x, y, c, xmin, ymin, xmax, ymax); + } + } + + public static class GuiIconDrawer implements IIcon { + @Override + public int getIconWidth() { + return 8; + } + + @Override + public int getIconHeight() { + return 8; + } + + @Override + public float getMinU() { + return 0; + } + + @Override + public float getMaxU() { + return 1; + } + + @Override + public float getInterpolatedU(double d0) { + return (float) d0; + } + + @Override + public float getMinV() { + return 0; + } + + @Override + public float getMaxV() { + return 1; + } + + @Override + public float getInterpolatedV(double d0) { + return (float) d0; + } + + @Override + public String getIconName() { + return "GuiIcon"; + } + + public int getOriginX() { + return 0; + } + + public int getOriginY() { + return 0; + } + } +} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/utils/render/GuiIcons.scala b/src/main/scala/net/machinemuse/utils/render/GuiIcons.scala index fd91a58..2eb8402 100644 --- a/src/main/scala/net/machinemuse/utils/render/GuiIcons.scala +++ b/src/main/scala/net/machinemuse/utils/render/GuiIcons.scala @@ -1,97 +1,97 @@ -package net.machinemuse.utils.render - -import net.minecraft.util.IIcon -import net.machinemuse.powersuits.common.Config -import org.lwjgl.opengl.GL11._ -import net.machinemuse.numina.geometry.Colour -import net.machinemuse.numina.render.{MuseTextureUtils, RenderState, MuseIconUtils} - -/** - * Author: MachineMuse (Claire Semple) - * Created: 4:01 AM, 30/04/13 - */ -object GuiIcons { - - trait GuiIcon { - val filepath: String - val size: Double - - def apply(x: Double, y: Double, c: Colour = Colour.WHITE, xmin: Double = Integer.MIN_VALUE, ymin: Double = Integer.MIN_VALUE, xmax: Double = Integer.MAX_VALUE, ymax: Double = Integer.MAX_VALUE) { - MuseTextureUtils.pushTexture(filepath) - glPushMatrix() - RenderState.blendingOn() - val s = size / 16.0 - glScaled(s, s, s) - MuseIconUtils.drawIconPartialOccluded(x / s, y / s, GuiIconDrawer, c, xmin / s, ymin / s, xmax / s, ymax / s) - RenderState.blendingOff() - glPopMatrix() - MuseTextureUtils.popTexture() - } - } - - object Checkmark extends GuiIcon { - val size = 16.0 - val filepath = Config.TEXTURE_PREFIX + "gui/checkmark.png" - } - - object TransparentArmor extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/transparentarmor.png" - } - - object NormalArmor extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/normalarmor.png" - } - - object GlowArmor extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/glowarmor.png" - } - - object SelectedArmorOverlay extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/armordisplayselect.png" - } - - object ArmourColourPatch extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/colourclicker.png" - } - - object MinusSign extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/minussign.png" - } - - object PlusSign extends GuiIcon { - val size = 8.0 - val filepath = Config.TEXTURE_PREFIX + "gui/plussign.png" - } - - object GuiIconDrawer extends IIcon { - def getOriginX: Int = 0 - - def getOriginY: Int = 0 - - def getMinU: Float = 0 - - def getMaxU: Float = 1 - - def getInterpolatedU(d0: Double): Float = d0.toFloat - - def getMinV: Float = 0 - - def getMaxV: Float = 1 - - def getInterpolatedV(d0: Double): Float = d0.toFloat - - def getIconName: String = "GuiIcon" - - def getIconWidth: Int = 8 - - def getIconHeight: Int = 8 - - } - -} +//package net.machinemuse.utils.render +// +//import net.minecraft.util.IIcon +//import net.machinemuse.powersuits.common.Config +//import org.lwjgl.opengl.GL11._ +//import net.machinemuse.numina.geometry.Colour +//import net.machinemuse.numina.render.{MuseTextureUtils, RenderState, MuseIconUtils} +// +///** +// * Author: MachineMuse (Claire Semple) +// * Created: 4:01 AM, 30/04/13 +// */ +//object GuiIcons { +// +// trait GuiIcon { +// val filepath: String +// val size: Double +// +// def apply(x: Double, y: Double, c: Colour = Colour.WHITE, xmin: Double = Integer.MIN_VALUE, ymin: Double = Integer.MIN_VALUE, xmax: Double = Integer.MAX_VALUE, ymax: Double = Integer.MAX_VALUE) { +// MuseTextureUtils.pushTexture(filepath) +// glPushMatrix() +// RenderState.blendingOn() +// val s = size / 16.0 +// glScaled(s, s, s) +// MuseIconUtils.drawIconPartialOccluded(x / s, y / s, GuiIconDrawer, c, xmin / s, ymin / s, xmax / s, ymax / s) +// RenderState.blendingOff() +// glPopMatrix() +// MuseTextureUtils.popTexture() +// } +// } +// +// object Checkmark extends GuiIcon { +// val size = 16.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/checkmark.png" +// } +// +// object TransparentArmor extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/transparentarmor.png" +// } +// +// object NormalArmor extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/normalarmor.png" +// } +// +// object GlowArmor extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/glowarmor.png" +// } +// +// object SelectedArmorOverlay extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/armordisplayselect.png" +// } +// +// object ArmourColourPatch extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/colourclicker.png" +// } +// +// object MinusSign extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/minussign.png" +// } +// +// object PlusSign extends GuiIcon { +// val size = 8.0 +// val filepath = Config.TEXTURE_PREFIX + "gui/plussign.png" +// } +// +// object GuiIconDrawer extends IIcon { +// def getOriginX: Int = 0 +// +// def getOriginY: Int = 0 +// +// def getMinU: Float = 0 +// +// def getMaxU: Float = 1 +// +// def getInterpolatedU(d0: Double): Float = d0.toFloat +// +// def getMinV: Float = 0 +// +// def getMaxV: Float = 1 +// +// def getInterpolatedV(d0: Double): Float = d0.toFloat +// +// def getIconName: String = "GuiIcon" +// +// def getIconWidth: Int = 8 +// +// def getIconHeight: Int = 8 +// +// } +// +//} diff --git a/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.java b/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.java new file mode 100644 index 0000000..a10fb96 --- /dev/null +++ b/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.java @@ -0,0 +1,22 @@ +package net.machinemuse.utils.render; + +import org.lwjgl.opengl.GL11; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 5:00 PM, 5/15/13 + * + * Ported to Java by lehjr on 10/19/16. + */ +public class MuseStencilManager { + int stencilMask = 0x10; + + public void stencilOn() { + GL11.glStencilMask(stencilMask); + GL11.glEnable(GL11.GL_STENCIL); + } + + public void stencilOff() { + + } +} diff --git a/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.scala b/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.scala index c10041f..ebdb6df 100644 --- a/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.scala +++ b/src/main/scala/net/machinemuse/utils/render/MuseStencilManager.scala @@ -1,20 +1,20 @@ -package net.machinemuse.utils.render - -import org.lwjgl.opengl.GL11._ - -/** - * Author: MachineMuse (Claire Semple) - * Created: 5:00 PM, 5/15/13 - */ -object MuseStencilManager { - val stencilMask = 0x10 - - def stencilOn() { - glStencilMask(stencilMask) - glEnable(GL_STENCIL) - } - - def stencilOff() { - - } -} +//package net.machinemuse.utils.render +// +//import org.lwjgl.opengl.GL11._ +// +///** +// * Author: MachineMuse (Claire Semple) +// * Created: 5:00 PM, 5/15/13 +// */ +//object MuseStencilManager { +// val stencilMask = 0x10 +// +// def stencilOn() { +// glStencilMask(stencilMask) +// glEnable(GL_STENCIL) +// } +// +// def stencilOff() { +// +// } +//} diff --git a/src/main/scala/net/machinemuse/utils/render/MuseTexture.java b/src/main/scala/net/machinemuse/utils/render/MuseTexture.java new file mode 100644 index 0000000..98f97cc --- /dev/null +++ b/src/main/scala/net/machinemuse/utils/render/MuseTexture.java @@ -0,0 +1,11 @@ +package net.machinemuse.utils.render; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 6:28 PM, 5/15/13 + * + * Ported to Java by lehjr on 10/19/16. + * This one took a lot of work :-P + */ +public class MuseTexture { +} diff --git a/src/main/scala/net/machinemuse/utils/render/MuseTexture.scala b/src/main/scala/net/machinemuse/utils/render/MuseTexture.scala index a472af6..70cd268 100644 --- a/src/main/scala/net/machinemuse/utils/render/MuseTexture.scala +++ b/src/main/scala/net/machinemuse/utils/render/MuseTexture.scala @@ -1,9 +1,9 @@ -package net.machinemuse.utils.render - -/** - * Author: MachineMuse (Claire Semple) - * Created: 6:28 PM, 5/15/13 - */ -class MuseTexture { - -} +//package net.machinemuse.utils.render +// +///** +// * Author: MachineMuse (Claire Semple) +// * Created: 6:28 PM, 5/15/13 +// */ +//class MuseTexture { +// +//} diff --git a/src/main/scala/net/machinemuse/utils/render/Render.java b/src/main/scala/net/machinemuse/utils/render/Render.java new file mode 100644 index 0000000..fef6d14 --- /dev/null +++ b/src/main/scala/net/machinemuse/utils/render/Render.java @@ -0,0 +1,27 @@ +//package net.machinemuse.utils.render; +// +//import java.util.function.Function; +// +///** +// * Ported to Java by lehjr on 10/19/16. +// */ +//public interface Render { +// Function run() = A; +// +// +// +// trait Render[A] { +// def run(): A +// +// import Render._ +// +// def compile(): Render[A] = Render.compile(this) +// +// def map[B](f: A => B) = mk { +// f(run()) +// } +// +// def flatMap[B](f: A => Render[B]) = mk { +// f(run()).run() +// } +//} diff --git a/src/main/scala/net/machinemuse/utils/render/TextureBuffer.java b/src/main/scala/net/machinemuse/utils/render/TextureBuffer.java new file mode 100644 index 0000000..ebe7b16 --- /dev/null +++ b/src/main/scala/net/machinemuse/utils/render/TextureBuffer.java @@ -0,0 +1,98 @@ +package net.machinemuse.utils.render; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GLContext; + +import java.nio.ByteBuffer; + +import static org.lwjgl.opengl.EXTFramebufferObject.*; +import static org.lwjgl.opengl.GL11.*; +import static org.lwjgl.opengl.GL14.GL_DEPTH_COMPONENT24; + +/** + * Author: MachineMuse (Claire Semple) + * Created: 8:18 PM, 5/15/13 + * + * Ported to Java by lehjr on 10/19/16. + */ +public class TextureBuffer { + // Allocate IDs for a FBO, colour buffer, and depth buffer + int framebufferID = glGenFramebuffersEXT(); + int colorTextureID = GL11.glGenTextures(); + int depthRenderBufferID = GL11.glGenTextures(); + int texDimension; + + public TextureBuffer(int texDimension) { + this.texDimension = texDimension; + + // check if FBO is enabled + if (!GLContext.getCapabilities().GL_EXT_framebuffer_object) { + throw new RuntimeException("Framebuffers not supported!"); + } + + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID); + + glBindTexture(GL_TEXTURE_2D, colorTextureID); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, texDimension, texDimension, 0, GL_RGBA, GL_INT, (ByteBuffer)null); + glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, colorTextureID, 0); + + glBindTexture(GL_TEXTURE_2D, depthRenderBufferID); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, texDimension, texDimension, 0, GL_DEPTH_COMPONENT, GL_INT, (ByteBuffer) null); + glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, depthRenderBufferID, 0); + + // Check the status and throw an exception if it didn't initialize properly + switch(glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)) { + case GL_FRAMEBUFFER_COMPLETE_EXT: + break; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT exception"); + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT exception"); + case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT exception"); + case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT exception"); + case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT exception"); + case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT exception"); + case GL_FRAMEBUFFER_UNSUPPORTED_EXT: + throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_UNSUPPORTED_EXT exception"); + default: + throw new RuntimeException("Unexpected reply from glCheckFramebufferStatusEXT: " + ""); + } + + // Bind the display buffer + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + } + + public void bindRead() { + glPushAttrib(GL_TEXTURE_BIT); + glBindTexture(GL_TEXTURE_2D, colorTextureID); + } + + public void unbindRead() { + glPopAttrib(); + } + + public void bindWrite() { + glPushAttrib(GL_VIEWPORT_BIT); + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID); + glViewport(0, 0, texDimension, texDimension); + } + + public void unbindWrite() { + glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); + glPopAttrib(); + } + + public void clear() { + bindWrite(); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + unbindWrite(); + } +} diff --git a/src/main/scala/net/machinemuse/utils/render/TextureBuffer.scala b/src/main/scala/net/machinemuse/utils/render/TextureBuffer.scala index d8565db..3556489 100644 --- a/src/main/scala/net/machinemuse/utils/render/TextureBuffer.scala +++ b/src/main/scala/net/machinemuse/utils/render/TextureBuffer.scala @@ -1,80 +1,80 @@ -package net.machinemuse.utils.render - -import org.lwjgl.opengl.GLContext -import java.nio.ByteBuffer -import org.lwjgl.opengl.EXTFramebufferObject._ -import org.lwjgl.opengl.GL11._ -import org.lwjgl.opengl.GL14._ - -/** - * Author: MachineMuse (Claire Semple) - * Created: 8:18 PM, 5/15/13 - */ -class TextureBuffer(val texDimension: Int) { - // check if FBO is enabled - if (!GLContext.getCapabilities.GL_EXT_framebuffer_object) { - throw new RuntimeException("Framebuffers not supported!") - } - - // Allocate IDs for a FBO, colour buffer, and depth buffer - val framebufferID = glGenFramebuffersEXT() - val colorTextureID = glGenTextures() - val depthRenderBufferID = glGenTextures() - - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID) - - glBindTexture(GL_TEXTURE_2D, colorTextureID) - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, texDimension, texDimension, 0, GL_RGBA, GL_INT, null: ByteBuffer) - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, colorTextureID, 0) - - glBindTexture(GL_TEXTURE_2D, depthRenderBufferID) - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) - glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) - glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, texDimension, texDimension, 0, GL_DEPTH_COMPONENT, GL_INT, null: ByteBuffer) - glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, depthRenderBufferID, 0) - - - // Check the status and throw an exception if it didn't initialize properly - glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT) match { - case GL_FRAMEBUFFER_COMPLETE_EXT => - case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT exception") - case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT exception") - case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT exception") - case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT exception") - case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT exception") - case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT exception") - case x => throw new RuntimeException("Unexpected reply from glCheckFramebufferStatusEXT: " + x) - } - - // Bind the display buffer - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0) - - def bindRead() { - glPushAttrib(GL_TEXTURE_BIT) - glBindTexture(GL_TEXTURE_2D, colorTextureID) - } - - def unbindRead() { - glPopAttrib() - } - - def bindWrite() { - glPushAttrib(GL_VIEWPORT_BIT) - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID) - glViewport(0, 0, texDimension, texDimension) - } - - def unbindWrite() { - glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0) - glPopAttrib() - } - - - def clear() { - bindWrite() - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) - unbindWrite() - } -} +//package net.machinemuse.utils.render +// +//import org.lwjgl.opengl.GLContext +//import java.nio.ByteBuffer +//import org.lwjgl.opengl.EXTFramebufferObject._ +//import org.lwjgl.opengl.GL11._ +//import org.lwjgl.opengl.GL14._ +// +///** +// * Author: MachineMuse (Claire Semple) +// * Created: 8:18 PM, 5/15/13 +// */ +//class TextureBuffer(val texDimension: Int) { +// // check if FBO is enabled +// if (!GLContext.getCapabilities.GL_EXT_framebuffer_object) { +// throw new RuntimeException("Framebuffers not supported!") +// } +// +// // Allocate IDs for a FBO, colour buffer, and depth buffer +// val framebufferID = glGenFramebuffersEXT() +// val colorTextureID = glGenTextures() +// val depthRenderBufferID = glGenTextures() +// +// glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID) +// +// glBindTexture(GL_TEXTURE_2D, colorTextureID) +// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) +// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) +// glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, texDimension, texDimension, 0, GL_RGBA, GL_INT, null: ByteBuffer) +// glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, colorTextureID, 0) +// +// glBindTexture(GL_TEXTURE_2D, depthRenderBufferID) +// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) +// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) +// glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, texDimension, texDimension, 0, GL_DEPTH_COMPONENT, GL_INT, null: ByteBuffer) +// glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, depthRenderBufferID, 0) +// +// +// // Check the status and throw an exception if it didn't initialize properly +// glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT) match { +// case GL_FRAMEBUFFER_COMPLETE_EXT => +// case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT exception") +// case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT exception") +// case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT exception") +// case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT exception") +// case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT exception") +// case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT => throw new RuntimeException("FrameBuffer: " + framebufferID + ", has caused a GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT exception") +// case x => throw new RuntimeException("Unexpected reply from glCheckFramebufferStatusEXT: " + x) +// } +// +// // Bind the display buffer +// glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0) +// +// def bindRead() { +// glPushAttrib(GL_TEXTURE_BIT) +// glBindTexture(GL_TEXTURE_2D, colorTextureID) +// } +// +// def unbindRead() { +// glPopAttrib() +// } +// +// def bindWrite() { +// glPushAttrib(GL_VIEWPORT_BIT) +// glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, framebufferID) +// glViewport(0, 0, texDimension, texDimension) +// } +// +// def unbindWrite() { +// glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0) +// glPopAttrib() +// } +// +// +// def clear() { +// bindWrite() +// glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) +// unbindWrite() +// } +//}