refactor kerosene to library mod
This commit is contained in:
		
							parent
							
								
									183c81258a
								
							
						
					
					
						commit
						2dea11d4db
					
				
					 81 changed files with 352 additions and 1376 deletions
				
			
		|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum; | package pm.j4.kerosene; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
|  | @ -12,15 +12,15 @@ import net.fabricmc.loader.api.metadata.ModMetadata; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.server.integrated.IntegratedServer; | import net.minecraft.server.integrated.IntegratedServer; | ||||||
| import pm.j4.petroleum.modules.ExampleModule; | import pm.j4.kerosene.modules.ExampleModule; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingManager; | import pm.j4.kerosene.modules.bindings.BindingManager; | ||||||
| import pm.j4.petroleum.modules.list.ModList; | import pm.j4.kerosene.modules.list.ModList; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.modules.menu.ModMenu; | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; | import pm.j4.kerosene.modules.splash.SplashText; | ||||||
| import pm.j4.petroleum.modules.xray.Xray; | import pm.j4.kerosene.modules.xray.Xray; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| //TODO: | //TODO: | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  | @ -9,10 +9,10 @@ import net.minecraft.client.render.VertexFormats; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.LiteralText; | import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.modules.menu.ModMenu; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.ButtonInformation; | ||||||
| import pm.j4.petroleum.util.data.Category; | import pm.j4.kerosene.util.data.Category; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P mod menu screen. |  * The type P mod menu screen. | ||||||
|  |  | ||||||
|  | @ -1,13 +1,13 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.client.gui.widget.EntryListWidget; | import net.minecraft.client.gui.widget.EntryListWidget; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.LiteralText; | import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; | import pm.j4.kerosene.util.module.option.BooleanOption; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| import pm.j4.petroleum.util.module.option.ListOption; | import pm.j4.kerosene.util.module.option.ListOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P module config entry. |  * The type P module config entry. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.platform.GlStateManager; | import com.mojang.blaze3d.platform.GlStateManager; | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.HashSet; | import java.util.HashSet; | ||||||
|  | @ -13,8 +13,8 @@ import net.minecraft.client.render.VertexFormats; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.util.math.MathHelper; | import net.minecraft.util.math.MathHelper; | ||||||
| import net.minecraft.util.math.Matrix4f; | import net.minecraft.util.math.Matrix4f; | ||||||
| import pm.j4.petroleum.mixin.EntryListWidgetAccessor; | import pm.j4.kerosene.mixin.EntryListWidgetAccessor; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P module configuration widget. |  * The type P module configuration widget. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -13,9 +13,9 @@ import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import net.minecraft.util.math.MathHelper; | import net.minecraft.util.math.MathHelper; | ||||||
| import net.minecraft.util.math.Matrix4f; | import net.minecraft.util.math.Matrix4f; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.modules.menu.ModMenu; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.ButtonInformation; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P movable button. |  * The type P movable button. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
|  | @ -9,7 +9,7 @@ import net.minecraft.text.StringVisitable; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import net.minecraft.util.Language; | import net.minecraft.util.Language; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P option entry. |  * The type P option entry. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  | @ -18,9 +18,9 @@ import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.StringVisitable; | import net.minecraft.text.StringVisitable; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P options screen. |  * The type P options screen. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Optional; | import java.util.Optional; | ||||||
|  | @ -9,9 +9,9 @@ import org.spongepowered.asm.mixin.injection.At; | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; | import org.spongepowered.asm.mixin.injection.Inject; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.LocalCapture; | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; | import pm.j4.kerosene.modules.splash.SplashText; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Debug hud mixin. |  * The type Debug hud mixin. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.gui.widget.EntryListWidget; | import net.minecraft.client.gui.widget.EntryListWidget; | ||||||
| import org.spongepowered.asm.mixin.Mixin; | import org.spongepowered.asm.mixin.Mixin; | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -15,10 +15,10 @@ import org.spongepowered.asm.mixin.Shadow; | ||||||
| import org.spongepowered.asm.mixin.injection.At; | import org.spongepowered.asm.mixin.injection.At; | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; | import org.spongepowered.asm.mixin.injection.Inject; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||||||
| import pm.j4.petroleum.modules.list.ModList; | import pm.j4.kerosene.modules.list.ModList; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Mod list mixin. |  * The type Mod list mixin. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.gui.screen.Screen; | import net.minecraft.client.gui.screen.Screen; | ||||||
| import net.minecraft.client.gui.screen.options.OptionsScreen; | import net.minecraft.client.gui.screen.options.OptionsScreen; | ||||||
|  | @ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.Mixin; | ||||||
| import org.spongepowered.asm.mixin.injection.At; | import org.spongepowered.asm.mixin.injection.At; | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; | import org.spongepowered.asm.mixin.injection.Inject; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||||||
| import pm.j4.petroleum.gui.POptionsScreen; | import pm.j4.kerosene.gui.POptionsScreen; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Options menu mixin. |  * The type Options menu mixin. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import java.util.Optional; | import java.util.Optional; | ||||||
| import net.minecraft.client.gui.screen.Screen; | import net.minecraft.client.gui.screen.Screen; | ||||||
|  | @ -10,9 +10,9 @@ import org.spongepowered.asm.mixin.injection.At; | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; | import org.spongepowered.asm.mixin.injection.Inject; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.LocalCapture; | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; | import pm.j4.kerosene.modules.splash.SplashText; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| package pm.j4.petroleum.modules; | package pm.j4.kerosene.modules; | ||||||
| 
 | 
 | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; | import pm.j4.kerosene.util.module.option.BooleanOption; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Example module. |  * The type Example module. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.modules.bindings; | package pm.j4.kerosene.modules.bindings; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.util.InputUtil; | import net.minecraft.client.util.InputUtil; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.modules.bindings; | package pm.j4.kerosene.modules.bindings; | ||||||
| 
 | 
 | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
|  | @ -7,12 +7,12 @@ import net.minecraft.client.util.InputUtil; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import org.lwjgl.glfw.GLFW; | import org.lwjgl.glfw.GLFW; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; | import pm.j4.kerosene.gui.PModuleConfigEntry; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.config.GlobalConfig; | import pm.j4.kerosene.util.config.GlobalConfig; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.option.KeybindOption; | import pm.j4.kerosene.util.module.option.KeybindOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Binding manager. |  * The type Binding manager. | ||||||
|  |  | ||||||
|  | @ -1,13 +1,13 @@ | ||||||
| package pm.j4.petroleum.modules.list; | package pm.j4.kerosene.modules.list; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Optional; | import java.util.Optional; | ||||||
| import jdk.nashorn.internal.runtime.options.Option; | import jdk.nashorn.internal.runtime.options.Option; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Mod list. |  * The type Mod list. | ||||||
|  |  | ||||||
|  | @ -1,14 +1,14 @@ | ||||||
| package pm.j4.petroleum.modules.menu; | package pm.j4.kerosene.modules.menu; | ||||||
| 
 | 
 | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import pm.j4.petroleum.gui.PModMenuScreen; | import pm.j4.kerosene.gui.PModMenuScreen; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.ButtonInformation; | ||||||
| import pm.j4.petroleum.util.data.Category; | import pm.j4.kerosene.util.data.Category; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Mod menu. |  * The type Mod menu. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.modules.splash; | package pm.j4.kerosene.modules.splash; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  | @ -10,13 +10,13 @@ import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.LiteralText; | import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; | import pm.j4.kerosene.gui.PModuleConfigEntry; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; | import pm.j4.kerosene.util.module.option.BooleanOption; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| import pm.j4.petroleum.util.module.option.KeybindOption; | import pm.j4.kerosene.util.module.option.KeybindOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Splash text. |  * The type Splash text. | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| package pm.j4.petroleum.modules.xray; | package pm.j4.kerosene.modules.xray; | ||||||
| 
 | 
 | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Xray. |  * The type Xray. | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config. |  * The type Config. | ||||||
|  |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config holder. |  * The type Config holder. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import com.google.common.reflect.TypeToken; | import com.google.common.reflect.TypeToken; | ||||||
| import com.google.gson.*; | import com.google.gson.*; | ||||||
|  | @ -6,13 +6,13 @@ import java.io.*; | ||||||
| import java.lang.reflect.Type; | import java.lang.reflect.Type; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.fabricmc.loader.api.FabricLoader; | import net.fabricmc.loader.api.FabricLoader; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.modules.menu.ModMenu; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.ButtonInformation; | ||||||
| import pm.j4.petroleum.util.data.ModuleConfig; | import pm.j4.kerosene.util.data.ModuleConfig; | ||||||
| import pm.j4.petroleum.util.data.OptionSerializiable; | import pm.j4.kerosene.util.data.OptionSerializiable; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config manager. |  * The type Config manager. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.Collections; | import java.util.Collections; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,15 +1,15 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.util.concurrent.atomic.AtomicBoolean; | import java.util.concurrent.atomic.AtomicBoolean; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.client.util.InputUtil; | import net.minecraft.client.util.InputUtil; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.ButtonInformation; | ||||||
| import pm.j4.petroleum.util.data.OptionSerializiable; | import pm.j4.kerosene.util.data.OptionSerializiable; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Global config. |  * The type Global config. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Server config. |  * The type Server config. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Button information. |  * The type Button information. | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.PetroleumMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Category. |  * The type Category. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,13 +1,13 @@ | ||||||
| package pm.j4.petroleum.util.module; | package pm.j4.kerosene.util.module; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; | import pm.j4.kerosene.gui.PModuleConfigEntry; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The Basis for all mods, used so that modules all have a common activation point and settings. |  * The Basis for all mods, used so that modules all have a common activation point and settings. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.config.GlobalConfig; | import pm.j4.kerosene.util.config.GlobalConfig; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Keybind value. |  * The type Keybind value. | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,6 @@ | ||||||
| package pm.j4.petroleum; | package pm.j4.kerosene; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.Arrays; |  | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Optional; | import java.util.Optional; | ||||||
| import net.fabricmc.api.ModInitializer; | import net.fabricmc.api.ModInitializer; | ||||||
|  | @ -12,33 +11,18 @@ import net.fabricmc.loader.api.metadata.ModMetadata; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.server.integrated.IntegratedServer; | import net.minecraft.server.integrated.IntegratedServer; | ||||||
| import pm.j4.petroleum.modules.ExampleModule; | import pm.j4.kerosene.modules.ExampleModule; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingManager; | import pm.j4.kerosene.modules.bindings.BindingManager; | ||||||
| import pm.j4.petroleum.modules.list.ModList; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.modules.xray.Xray; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| //TODO: |  | ||||||
| // petroleum module checklist |  | ||||||
| // [ ] xray (lol) |  | ||||||
| // [ ] combat stuff. killaura, anti knockback, etc |  | ||||||
| // [ ] render stuff. tracers, nametags |  | ||||||
| // [ ] wurst taco. but a fish |  | ||||||
| // [ ] elytra fly |  | ||||||
| // [ ] movement stuff. nofall, jesus, speed |  | ||||||
| // [ ] elytra bhop |  | ||||||
| // [ ] boatfly |  | ||||||
| // [ ] anti anti cheat |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Petroleum mod. |  * The type Kerosene mod. | ||||||
|  */ |  */ | ||||||
| public class PetroleumMod implements ModInitializer { | public class KeroseneMod implements ModInitializer { | ||||||
| 	/** | 	/** | ||||||
| 	 * The Mod data. | 	 * The Mod data. | ||||||
| 	 */ | 	 */ | ||||||
|  | @ -50,14 +34,14 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	/** | 	/** | ||||||
| 	 * The constant activeMods. | 	 * The constant activeMods. | ||||||
| 	 */ | 	 */ | ||||||
| 	private static final List<ModuleBase> activeMods = Arrays.asList( | 	private static List<ModuleBase> registeredMods = new ArrayList<>(); | ||||||
| 			new SplashText(), | 
 | ||||||
| 			new ModMenu(), | 	public static void registerMod(Class<? extends ModuleBase> mod) throws IllegalAccessException, InstantiationException { | ||||||
| 			new ModList(), | 		ModuleBase base = mod.newInstance(); | ||||||
| 			new BindingManager(), | 		if(!registeredMods.contains(base)) { | ||||||
| 			new ExampleModule(), | 			registeredMods.add(base); | ||||||
| 			new Xray() | 		} | ||||||
| 	); | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Is active boolean. | 	 * Is active boolean. | ||||||
|  | @ -66,7 +50,7 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	 * @return the boolean | 	 * @return the boolean | ||||||
| 	 */ | 	 */ | ||||||
| 	public static boolean isActive(String modName) { | 	public static boolean isActive(String modName) { | ||||||
| 		return activeMods.stream().anyMatch(mod -> mod.getModuleName().equals(modName)); | 		return registeredMods.stream().anyMatch(mod -> mod.getModuleName().equals(modName)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -76,7 +60,7 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	 * @return the mod | 	 * @return the mod | ||||||
| 	 */ | 	 */ | ||||||
| 	public static Optional<ModuleBase> getMod(String modName) { | 	public static Optional<ModuleBase> getMod(String modName) { | ||||||
| 		return activeMods.stream().filter(mod -> mod.getModuleName().equals(modName)).findFirst(); | 		return registeredMods.stream().filter(mod -> mod.getModuleName().equals(modName)).findFirst(); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -84,8 +68,8 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	 * | 	 * | ||||||
| 	 * @return the active mods | 	 * @return the active mods | ||||||
| 	 */ | 	 */ | ||||||
| 	public static List<ModuleBase> getActiveMods() { | 	public static List<ModuleBase> getRegisteredMods() { | ||||||
| 		return activeMods; | 		return registeredMods; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -108,7 +92,9 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	 * @param b the b | 	 * @param b the b | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void removeBind(KeyBinding b) { | 	public static void removeBind(KeyBinding b) { | ||||||
| 		registeredBinds.remove(b); | 		if(registeredBinds.contains(b)) { | ||||||
|  | 			registeredBinds.remove(b); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -141,24 +127,32 @@ public class PetroleumMod implements ModInitializer { | ||||||
| 	@Override | 	@Override | ||||||
| 	public void onInitialize() { | 	public void onInitialize() { | ||||||
| 
 | 
 | ||||||
| 		ConfigManager.initConfig(); | 		ConfigManager.initConfig("kerosene"); | ||||||
| 
 | 
 | ||||||
| 		// always update mod data | 		// always update mod data | ||||||
| 		Optional<ModContainer> modContainer = FabricLoader.getInstance().getModContainer("petroleum"); | 		Optional<ModContainer> modContainer = FabricLoader.getInstance().getModContainer("kerosene"); | ||||||
| 		modContainer.ifPresent(container -> modData = container.getMetadata()); | 		modContainer.ifPresent(container -> modData = container.getMetadata()); | ||||||
| 
 | 
 | ||||||
| 		Optional<ConfigHolder> conf = ConfigManager.getConfig(); | 		Optional<ConfigHolder> conf = ConfigManager.getConfig("kerosene"); | ||||||
|  | 
 | ||||||
|  | 		try { | ||||||
|  | 			this.registerMod(ExampleModule.class); | ||||||
|  | 			this.registerMod(BindingManager.class); | ||||||
|  | 		} | ||||||
|  | 		catch (Exception e) { | ||||||
|  | 			System.out.println(e); | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 		//initialize any keybinds, data, etc. | 		//initialize any keybinds, data, etc. | ||||||
| 		activeMods.forEach(ModuleBase::init); | 		registeredMods.forEach(ModuleBase::init); | ||||||
| 
 | 
 | ||||||
| 		//initialize keybind handler | 		//initialize keybind handler | ||||||
| 		conf.ifPresent(configHolder -> ClientTickEvents.END_CLIENT_TICK.register(client -> { | 		conf.ifPresent(configHolder -> ClientTickEvents.END_CLIENT_TICK.register(client -> { | ||||||
| 			if (PetroleumMod.client != client) { | 			if (KeroseneMod.client != client) { | ||||||
| 				PetroleumMod.client = client; | 				KeroseneMod.client = client; | ||||||
| 			} | 			} | ||||||
| 			for (KeyBinding b : PetroleumMod.getActiveKeybinds()) { | 			for (KeyBinding b : KeroseneMod.getActiveKeybinds()) { | ||||||
| 				while (b.wasPressed()) { | 				while (b.wasPressed()) { | ||||||
| 					configHolder.globalConfig.bindings.get(b).activate(client); | 					configHolder.globalConfig.bindings.get(b).activate(client); | ||||||
| 				} | 				} | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  | @ -12,12 +12,12 @@ import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.LiteralText; | import net.minecraft.text.LiteralText; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; | import pm.j4.kerosene.util.module.option.BooleanOption; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| import pm.j4.petroleum.util.module.option.KeybindOption; | import pm.j4.kerosene.util.module.option.KeybindOption; | ||||||
| import pm.j4.petroleum.util.module.option.ListOption; | import pm.j4.kerosene.util.module.option.ListOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P module config entry. |  * The type P module config entry. | ||||||
|  | @ -156,9 +156,9 @@ public class PModuleConfigEntry extends ElementListWidget.Entry<PModuleConfigEnt | ||||||
| 								//TODO | 								//TODO | ||||||
| 								if (keyCode != 257 && keyCode != 32 && keyCode != 335) { | 								if (keyCode != 257 && keyCode != 32 && keyCode != 335) { | ||||||
| 									KeybindOption newValue = new KeybindOption(option.getConfigKey(), option.getDescription(), option.getParent()); | 									KeybindOption newValue = new KeybindOption(option.getConfigKey(), option.getDescription(), option.getParent()); | ||||||
| 									KeyBinding bind = new KeyBinding(((KeybindOption)option).getTranslationKey(), keyCode, "category.petroleum"); | 									KeyBinding bind = new KeyBinding(((KeybindOption)option).getTranslationKey(), keyCode, "category." + option.getParent().getParent()); | ||||||
| 									newValue.fromKeybind(bind, option.getParent()); | 									newValue.fromKeybind(bind, option.getParent()); | ||||||
| 									Optional<ConfigHolder> config = ConfigManager.getConfig(); | 									Optional<ConfigHolder> config = ConfigManager.getConfig(option.getParent().getParent()); | ||||||
| 									assert config.isPresent(); | 									assert config.isPresent(); | ||||||
| 									config.get().globalConfig.setBinding(bind, option.getParent()); | 									config.get().globalConfig.setBinding(bind, option.getParent()); | ||||||
| 									option = newValue; | 									option = newValue; | ||||||
|  | @ -1,11 +1,9 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.platform.GlStateManager; | import com.mojang.blaze3d.platform.GlStateManager; | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.client.font.TextRenderer; |  | ||||||
| import net.minecraft.client.gui.widget.ElementListWidget; | import net.minecraft.client.gui.widget.ElementListWidget; | ||||||
| import net.minecraft.client.gui.widget.EntryListWidget; |  | ||||||
| import net.minecraft.client.render.BufferBuilder; | import net.minecraft.client.render.BufferBuilder; | ||||||
| import net.minecraft.client.render.Tessellator; | import net.minecraft.client.render.Tessellator; | ||||||
| import net.minecraft.client.render.VertexFormats; | import net.minecraft.client.render.VertexFormats; | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.HashSet; | import java.util.HashSet; | ||||||
|  | @ -13,8 +13,8 @@ import net.minecraft.client.render.VertexFormats; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.util.math.MathHelper; | import net.minecraft.util.math.MathHelper; | ||||||
| import net.minecraft.util.math.Matrix4f; | import net.minecraft.util.math.Matrix4f; | ||||||
| import pm.j4.petroleum.mixin.EntryListWidgetAccessor; | import pm.j4.kerosene.mixin.EntryListWidgetAccessor; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P module configuration widget. |  * The type P module configuration widget. | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
|  | @ -9,7 +9,7 @@ import net.minecraft.text.StringVisitable; | ||||||
| import net.minecraft.text.Text; | import net.minecraft.text.Text; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import net.minecraft.util.Language; | import net.minecraft.util.Language; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P option entry. |  * The type P option entry. | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.gui; | package pm.j4.kerosene.gui; | ||||||
| 
 | 
 | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; | import com.mojang.blaze3d.systems.RenderSystem; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
|  | @ -15,9 +15,9 @@ import net.minecraft.client.render.Tessellator; | ||||||
| import net.minecraft.client.render.VertexFormats; | import net.minecraft.client.render.VertexFormats; | ||||||
| import net.minecraft.client.util.math.MatrixStack; | import net.minecraft.client.util.math.MatrixStack; | ||||||
| import net.minecraft.text.*; | import net.minecraft.text.*; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type P options screen. |  * The type P options screen. | ||||||
|  | @ -99,11 +99,9 @@ public class POptionsScreen extends Screen { | ||||||
| 		this.configPane.setLeftPos(paneWidth); | 		this.configPane.setLeftPos(paneWidth); | ||||||
| 		this.children.add(this.configPane); | 		this.children.add(this.configPane); | ||||||
| 		List<ModuleBase> configurableModules = new ArrayList<>(); | 		List<ModuleBase> configurableModules = new ArrayList<>(); | ||||||
| 		if (ConfigManager.getConfig().isPresent()) { | 		configurableModules.addAll(KeroseneMod.getRegisteredMods() | ||||||
| 			configurableModules.addAll(PetroleumMod.getActiveMods() | 				.stream().filter(ModuleBase::configurable) | ||||||
| 					.stream().filter(ModuleBase::configurable) | 				.collect(Collectors.toList())); | ||||||
| 					.collect(Collectors.toList())); |  | ||||||
| 		} |  | ||||||
| 		configurableModules.forEach(module -> this.modules.addEntry(new POptionEntry(module, this.modules))); | 		configurableModules.forEach(module -> this.modules.addEntry(new POptionEntry(module, this.modules))); | ||||||
| 		this.addButton(new ButtonWidget(this.width / 2 - 75, this.height - 30, 150, 20, ScreenTexts.DONE, (buttonWidget) -> { | 		this.addButton(new ButtonWidget(this.width / 2 - 75, this.height - 30, 150, 20, ScreenTexts.DONE, (buttonWidget) -> { | ||||||
| 			ConfigManager.saveAllModules(); | 			ConfigManager.saveAllModules(); | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.gui.widget.EntryListWidget; | import net.minecraft.client.gui.widget.EntryListWidget; | ||||||
| import org.spongepowered.asm.mixin.Mixin; | import org.spongepowered.asm.mixin.Mixin; | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.mixin; | package pm.j4.kerosene.mixin; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.gui.screen.Screen; | import net.minecraft.client.gui.screen.Screen; | ||||||
| import net.minecraft.client.gui.screen.options.OptionsScreen; | import net.minecraft.client.gui.screen.options.OptionsScreen; | ||||||
|  | @ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.Mixin; | ||||||
| import org.spongepowered.asm.mixin.injection.At; | import org.spongepowered.asm.mixin.injection.At; | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; | import org.spongepowered.asm.mixin.injection.Inject; | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | ||||||
| import pm.j4.petroleum.gui.POptionsScreen; | import pm.j4.kerosene.gui.POptionsScreen; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Options menu mixin. |  * The type Options menu mixin. | ||||||
|  | @ -34,7 +34,7 @@ public class OptionsMenuMixin extends Screen { | ||||||
| 	@Inject(at = @At(value = "TAIL"), | 	@Inject(at = @At(value = "TAIL"), | ||||||
| 			method = "init()V") | 			method = "init()V") | ||||||
| 	protected void init(CallbackInfo ci) { | 	protected void init(CallbackInfo ci) { | ||||||
| 		this.addButton(new ButtonWidget(this.width / 2 - 75, this.height / 6 + 140, 150, 20, new TranslatableText("petroleum.options"), (buttonWidget) -> { | 		this.addButton(new ButtonWidget(this.width / 2 - 75, this.height / 6 + 140, 150, 20, new TranslatableText("kerosene.options"), (buttonWidget) -> { | ||||||
| 			assert this.client != null; | 			assert this.client != null; | ||||||
| 			this.client.openScreen(new POptionsScreen(this)); | 			this.client.openScreen(new POptionsScreen(this)); | ||||||
| 		})); | 		})); | ||||||
							
								
								
									
										38
									
								
								src/main/java/pm/j4/kerosene/modules/ExampleModule.java
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/main/java/pm/j4/kerosene/modules/ExampleModule.java
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,38 @@ | ||||||
|  | package pm.j4.kerosene.modules; | ||||||
|  | 
 | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.List; | ||||||
|  | import net.minecraft.client.MinecraftClient; | ||||||
|  | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
|  | import pm.j4.kerosene.util.module.option.BooleanOption; | ||||||
|  | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * The type Example module. | ||||||
|  |  */ | ||||||
|  | public class ExampleModule extends ModuleBase { | ||||||
|  | 	/** | ||||||
|  | 	 * example mod | ||||||
|  | 	 */ | ||||||
|  | 	public ExampleModule() { | ||||||
|  | 		super("kerosene", | ||||||
|  | 				"kerosene.example", | ||||||
|  | 				"kerosene.misc", | ||||||
|  | 				true, | ||||||
|  | 				false, | ||||||
|  | 				true); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public List<ConfigurationOption> getDefaultConfig() { | ||||||
|  | 		List<ConfigurationOption> options = new ArrayList<>(); | ||||||
|  | 		options.add(new BooleanOption("kerosene.example.b_one","example", this)); | ||||||
|  | 		options.add(new BooleanOption("kerosene.example.b_two","example", this)); | ||||||
|  | 		return options; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	@Override | ||||||
|  | 	public void activate(MinecraftClient client) { | ||||||
|  | 		System.out.println("Example Mod Keybind Activate"); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.modules.bindings; | package pm.j4.kerosene.modules.bindings; | ||||||
| 
 | 
 | ||||||
| import net.minecraft.client.util.InputUtil; | import net.minecraft.client.util.InputUtil; | ||||||
| 
 | 
 | ||||||
|  | @ -1,20 +1,18 @@ | ||||||
| package pm.j4.petroleum.modules.bindings; | package pm.j4.kerosene.modules.bindings; | ||||||
| 
 | 
 | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.minecraft.client.MinecraftClient; |  | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.client.util.InputUtil; | import net.minecraft.client.util.InputUtil; | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import org.lwjgl.glfw.GLFW; | import org.lwjgl.glfw.GLFW; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; | import pm.j4.kerosene.gui.PModuleConfigEntry; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigPane; | import pm.j4.kerosene.gui.PModuleConfigPane; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.GlobalConfig; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.config.GlobalConfig; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.option.KeybindOption; | import pm.j4.kerosene.util.module.option.KeybindOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Binding manager. |  * The type Binding manager. | ||||||
|  | @ -25,8 +23,9 @@ public class BindingManager extends ModuleBase { | ||||||
| 	 * Parameters should be constant across restarts. | 	 * Parameters should be constant across restarts. | ||||||
| 	 */ | 	 */ | ||||||
| 	public BindingManager() { | 	public BindingManager() { | ||||||
| 		super("petroleum.bindings", | 		super("kerosene", | ||||||
| 				"petroleum.misc", | 				"kerosene.bindings", | ||||||
|  | 				"kerosene.misc", | ||||||
| 				false, | 				false, | ||||||
| 				true, | 				true, | ||||||
| 				true); | 				true); | ||||||
|  | @ -47,8 +46,9 @@ public class BindingManager extends ModuleBase { | ||||||
| 		List<PModuleConfigEntry> entries = new ArrayList<>(); | 		List<PModuleConfigEntry> entries = new ArrayList<>(); | ||||||
| 
 | 
 | ||||||
| 		Map<KeybindOption, ModuleBase> mapped = new HashMap<>(); | 		Map<KeybindOption, ModuleBase> mapped = new HashMap<>(); | ||||||
| 		if (ConfigManager.getConfig().isPresent()) { | 		Optional<ConfigHolder> config = ConfigManager.getConfig(this.getParent()); | ||||||
| 			Map<KeyBinding, ModuleBase> binds = ConfigManager.getConfig().get().globalConfig.bindings; | 		if (config.isPresent()) { | ||||||
|  | 			Map<KeyBinding, ModuleBase> binds = config.get().globalConfig.bindings; | ||||||
| 
 | 
 | ||||||
| 			binds.forEach((key, func) -> { | 			binds.forEach((key, func) -> { | ||||||
| 				KeybindOption option = new KeybindOption(func.getModuleName() + " " + func.getCategory(), func.getModuleName() + " " + func.getCategory(), func); | 				KeybindOption option = new KeybindOption(func.getModuleName() + " " + func.getCategory(), func.getModuleName() + " " + func.getCategory(), func); | ||||||
|  | @ -67,11 +67,12 @@ public class BindingManager extends ModuleBase { | ||||||
| 	 * Register bindings. | 	 * Register bindings. | ||||||
| 	 */ | 	 */ | ||||||
| 	private void registerBindings() { | 	private void registerBindings() { | ||||||
| 		if (!ConfigManager.getConfig().isPresent()) { | 		Optional<ConfigHolder> config = ConfigManager.getConfig(this.getParent()); | ||||||
|  | 		if (!config.isPresent()) { | ||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
| 		GlobalConfig c = ConfigManager.getConfig().get().globalConfig; | 		GlobalConfig c = config.get().globalConfig; | ||||||
| 		Optional<ModuleBase> mod = PetroleumMod.getMod("petroleum.modmenu"); | 		Optional<ModuleBase> mod = KeroseneMod.getMod("petroleum.modmenu"); | ||||||
| 		if (mod.isPresent() && !c.isBound(mod.get())) { | 		if (mod.isPresent() && !c.isBound(mod.get())) { | ||||||
| 			//TODO | 			//TODO | ||||||
| 			// the only explicit keybinding (for now.) | 			// the only explicit keybinding (for now.) | ||||||
|  | @ -83,7 +84,7 @@ public class BindingManager extends ModuleBase { | ||||||
| 					GLFW.GLFW_KEY_RIGHT_CONTROL, | 					GLFW.GLFW_KEY_RIGHT_CONTROL, | ||||||
| 					"category.petroleum" | 					"category.petroleum" | ||||||
| 			); | 			); | ||||||
| 			ConfigManager.getConfig().get().globalConfig.setBinding(binding, mod.get()); | 			config.get().globalConfig.setBinding(binding, mod.get()); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config. |  * The type Config. | ||||||
|  | @ -31,8 +31,8 @@ public abstract class Config { | ||||||
| 	 * @param mod the mod | 	 * @param mod the mod | ||||||
| 	 */ | 	 */ | ||||||
| 	public void disableModule(String mod) { | 	public void disableModule(String mod) { | ||||||
| 		if (isEnabled(mod) && PetroleumMod.isActive(mod) && PetroleumMod.getMod(mod).isPresent()) { | 		if (isEnabled(mod) && KeroseneMod.isActive(mod) && KeroseneMod.getMod(mod).isPresent()) { | ||||||
| 			ModuleBase moduleInfo = PetroleumMod.getMod(mod).get(); | 			ModuleBase moduleInfo = KeroseneMod.getMod(mod).get(); | ||||||
| 			if (moduleInfo.isActivatable()) { | 			if (moduleInfo.isActivatable()) { | ||||||
| 				enabledModules.remove(mod); | 				enabledModules.remove(mod); | ||||||
| 			} | 			} | ||||||
|  | @ -45,8 +45,8 @@ public abstract class Config { | ||||||
| 	 * @param mod the mod | 	 * @param mod the mod | ||||||
| 	 */ | 	 */ | ||||||
| 	public void toggleModule(String mod) { | 	public void toggleModule(String mod) { | ||||||
| 		if (PetroleumMod.isActive(mod) && PetroleumMod.getMod(mod).isPresent()) { | 		if (KeroseneMod.isActive(mod) && KeroseneMod.getMod(mod).isPresent()) { | ||||||
| 			ModuleBase moduleInfo = PetroleumMod.getMod(mod).get(); | 			ModuleBase moduleInfo = KeroseneMod.getMod(mod).get(); | ||||||
| 			if (moduleInfo.isActivatable()) { | 			if (moduleInfo.isActivatable()) { | ||||||
| 				if (isEnabled(mod)) { | 				if (isEnabled(mod)) { | ||||||
| 					enabledModules.remove(mod); | 					enabledModules.remove(mod); | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config holder. |  * The type Config holder. | ||||||
|  | @ -27,7 +27,7 @@ public class ConfigHolder { | ||||||
| 	 */ | 	 */ | ||||||
| 	public boolean isModuleEnabled(String module) { | 	public boolean isModuleEnabled(String module) { | ||||||
| 
 | 
 | ||||||
| 		if (!PetroleumMod.isActive(module)) { | 		if (!KeroseneMod.isActive(module)) { | ||||||
| 			return false; | 			return false; | ||||||
| 		} | 		} | ||||||
| 		if (globalConfig.isEnabled(module)) { | 		if (globalConfig.isEnabled(module)) { | ||||||
|  | @ -46,7 +46,7 @@ public class ConfigHolder { | ||||||
| 	 * @return the enabled modules | 	 * @return the enabled modules | ||||||
| 	 */ | 	 */ | ||||||
| 	public List<ModuleBase> getEnabledModules() { | 	public List<ModuleBase> getEnabledModules() { | ||||||
| 		List<ModuleBase> modules = PetroleumMod.getActiveMods(); | 		List<ModuleBase> modules = KeroseneMod.getRegisteredMods(); | ||||||
| 		return modules.stream().filter(module -> | 		return modules.stream().filter(module -> | ||||||
| 				isModuleEnabled(module.getModuleName()) | 				isModuleEnabled(module.getModuleName()) | ||||||
| 		).collect(Collectors.toList()); | 		).collect(Collectors.toList()); | ||||||
|  | @ -58,7 +58,7 @@ public class ConfigHolder { | ||||||
| 	 * @return the server | 	 * @return the server | ||||||
| 	 */ | 	 */ | ||||||
| 	public String getServer() { | 	public String getServer() { | ||||||
| 		return PetroleumMod.getServerAddress(); | 		return KeroseneMod.getServerAddress(); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import com.google.common.reflect.TypeToken; | import com.google.common.reflect.TypeToken; | ||||||
| import com.google.gson.*; | import com.google.gson.*; | ||||||
|  | @ -6,13 +6,11 @@ import java.io.*; | ||||||
| import java.lang.reflect.Type; | import java.lang.reflect.Type; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.fabricmc.loader.api.FabricLoader; | import net.fabricmc.loader.api.FabricLoader; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; | import pm.j4.kerosene.util.data.ModuleConfig; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.OptionSerializiable; | ||||||
| import pm.j4.petroleum.util.data.ModuleConfig; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.data.OptionSerializiable; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Config manager. |  * The type Config manager. | ||||||
|  | @ -28,7 +26,7 @@ public class ConfigManager { | ||||||
| 	/** | 	/** | ||||||
| 	 * The constant config. | 	 * The constant config. | ||||||
| 	 */ | 	 */ | ||||||
| 	private static ConfigHolder config; | 	private static Map<String, ConfigHolder> configs = new HashMap<>(); | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Prepare config file. | 	 * Prepare config file. | ||||||
|  | @ -48,25 +46,25 @@ public class ConfigManager { | ||||||
| 	/** | 	/** | ||||||
| 	 * Init config. | 	 * Init config. | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void initConfig() { | 	public static void initConfig(String moduleName) { | ||||||
| 		if (config != null) { | 		if (configs.containsKey(moduleName)) { | ||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		config = new ConfigHolder(); | 		ConfigHolder config = new ConfigHolder(); | ||||||
| 		config.globalConfig = new DefaultConfig(); | 		config.globalConfig = new DefaultConfig(); | ||||||
| 		config.serverConfigs = new HashMap<>(); | 		config.serverConfigs = new HashMap<>(); | ||||||
| 
 | 
 | ||||||
| 		config = load("petroleum/", "petroleum.json", ConfigHolder.class); | 		config = load(moduleName + "/", moduleName +".json", ConfigHolder.class); | ||||||
| 		initModules(); | 		initModules(moduleName); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Init modules. | 	 * Init modules. | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void initModules() { | 	public static void initModules(String moduleName) { | ||||||
| 		PetroleumMod.getActiveMods().forEach(module -> { | 		KeroseneMod.getRegisteredMods().forEach(module -> { | ||||||
| 			ModuleConfig options = load("petroleum/modules/", module.getModuleName() + ".json", ModuleConfig.class); | 			ModuleConfig options = load(moduleName + "/modules/", module.getModuleName() + ".json", ModuleConfig.class); | ||||||
| 			if (options != null && options.options != null) { | 			if (options != null && options.options != null) { | ||||||
| 				options.options.forEach((key, option) -> { | 				options.options.forEach((key, option) -> { | ||||||
| 					if (module.hasOption(option.key)) { | 					if (module.hasOption(option.key)) { | ||||||
|  | @ -150,25 +148,29 @@ public class ConfigManager { | ||||||
| 	 * | 	 * | ||||||
| 	 * @param b the b | 	 * @param b the b | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void saveModule(ModuleBase b) { | 	public static void saveModule(String modName, ModuleBase b) { | ||||||
| 		ModuleConfig c = new ModuleConfig(); | 		ModuleConfig c = new ModuleConfig(); | ||||||
| 		c.options = GlobalConfig.serializeModuleConfiguration(b); | 		c.options = GlobalConfig.serializeModuleConfiguration(b); | ||||||
| 		save("petroleum/modules/", b.getModuleName() + ".json", c); | 		save(modName + "/modules/", b.getModuleName() + ".json", c); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Save all modules. | 	 * Save all modules. | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void saveAllModules() { | 	public static void saveAllModules() { | ||||||
| 		List<ModuleBase> mods = PetroleumMod.getActiveMods(); | 		List<ModuleBase> mods = KeroseneMod.getRegisteredMods(); | ||||||
| 		mods.forEach(ConfigManager::saveModule); | 		mods.forEach((module) -> { | ||||||
|  | 			ConfigManager.saveModule(module.getParent(), module); | ||||||
|  | 		}); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
| 	 * Save global config. | 	 * Save global config. | ||||||
| 	 */ | 	 */ | ||||||
| 	public static void saveGlobalConfig() { | 	public static void saveGlobalConfig(String modName) { | ||||||
| 		save("petroleum/", "petroleum.json", config); | 		if(configs.containsKey(modName)) { | ||||||
|  | 			save(modName + "/", modName + ".json", configs.get(modName)); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** | 	/** | ||||||
|  | @ -176,11 +178,11 @@ public class ConfigManager { | ||||||
| 	 * | 	 * | ||||||
| 	 * @return the config | 	 * @return the config | ||||||
| 	 */ | 	 */ | ||||||
| 	public static Optional<ConfigHolder> getConfig() { | 	public static Optional<ConfigHolder> getConfig(String modName) { | ||||||
| 		if (config == null) { | 		if (configs.containsKey(modName)) { | ||||||
| 			return Optional.empty(); | 			return Optional.of(configs.get(modName)); | ||||||
| 		} | 		} | ||||||
| 		return Optional.of(config); | 		return Optional.empty(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -201,12 +203,6 @@ class SerializationHelper { | ||||||
| 		JsonArray modules = ctx.serialize(src.enabledModules).getAsJsonArray(); | 		JsonArray modules = ctx.serialize(src.enabledModules).getAsJsonArray(); | ||||||
| 		jsonConfig.add("enabled_modules", modules); | 		jsonConfig.add("enabled_modules", modules); | ||||||
| 
 | 
 | ||||||
| 		JsonObject tabCoordinates = new JsonObject(); |  | ||||||
| 		ModMenu.getButtons().forEach((category, coordinates) -> { |  | ||||||
| 			tabCoordinates.add(category, ctx.serialize(coordinates)); |  | ||||||
| 		}); |  | ||||||
| 		jsonConfig.add("button_coordinates", tabCoordinates); |  | ||||||
| 
 |  | ||||||
| 		return jsonConfig; | 		return jsonConfig; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
|  | @ -233,14 +229,7 @@ class SerializationHelper { | ||||||
| 		} else { | 		} else { | ||||||
| 			options = new HashMap<>(); | 			options = new HashMap<>(); | ||||||
| 		} | 		} | ||||||
| 		if (obj.has("button_coordinates")) { | 		KeroseneMod.getRegisteredMods().forEach(module -> { | ||||||
| 			obj.get("button_coordinates").getAsJsonObject().entrySet().forEach( |  | ||||||
| 					value -> { |  | ||||||
| 						cfg.setButton(value.getKey(), ctx.deserialize(value.getValue(), ButtonInformation.class)); |  | ||||||
| 					} |  | ||||||
| 			); |  | ||||||
| 		} |  | ||||||
| 		PetroleumMod.getActiveMods().forEach(module -> { |  | ||||||
| 			if (options.containsKey(module.getModuleName())) { | 			if (options.containsKey(module.getModuleName())) { | ||||||
| 				cfg.deserializeModuleConfiguration(options.get(module.getModuleName()), module); | 				cfg.deserializeModuleConfiguration(options.get(module.getModuleName()), module); | ||||||
| 			} | 			} | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.Collections; | import java.util.Collections; | ||||||
| 
 | 
 | ||||||
|  | @ -1,16 +1,15 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.util.concurrent.atomic.AtomicBoolean; | import java.util.concurrent.atomic.AtomicBoolean; | ||||||
| import java.util.concurrent.atomic.AtomicReference; | import java.util.concurrent.atomic.AtomicReference; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import net.minecraft.client.util.InputUtil; | import net.minecraft.client.util.InputUtil; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; | import pm.j4.kerosene.util.data.OptionSerializiable; | ||||||
| import pm.j4.petroleum.util.data.OptionSerializiable; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; |  | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Global config. |  * The type Global config. | ||||||
|  | @ -48,7 +47,7 @@ public class GlobalConfig extends Config { | ||||||
| 		if (bindings.containsValue(func)) { | 		if (bindings.containsValue(func)) { | ||||||
| 			bindings.forEach((key, binding) -> { | 			bindings.forEach((key, binding) -> { | ||||||
| 				if (binding.equals(func)) { | 				if (binding.equals(func)) { | ||||||
| 					PetroleumMod.removeBind(key); | 					KeroseneMod.removeBind(key); | ||||||
| 					match.set(key); | 					match.set(key); | ||||||
| 				} | 				} | ||||||
| 			}); | 			}); | ||||||
|  | @ -58,8 +57,8 @@ public class GlobalConfig extends Config { | ||||||
| 			bindings.remove(match.get()); | 			bindings.remove(match.get()); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (PetroleumMod.isActive(func.getModuleName())) { | 		if (KeroseneMod.isActive(func.getModuleName())) { | ||||||
| 			PetroleumMod.addBind(bind); | 			KeroseneMod.addBind(bind); | ||||||
| 			bindings.put(bind, func); | 			bindings.put(bind, func); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -70,7 +69,7 @@ public class GlobalConfig extends Config { | ||||||
| 	 * @param info the info | 	 * @param info the info | ||||||
| 	 */ | 	 */ | ||||||
| 	private void convertBinding(BindingInfo info) { | 	private void convertBinding(BindingInfo info) { | ||||||
| 		Optional<ModuleBase> match = PetroleumMod.getMod(info.attachedModuleName); | 		Optional<ModuleBase> match = KeroseneMod.getMod(info.attachedModuleName); | ||||||
| 		match.ifPresent(moduleBase -> setBinding(reconstructBinding(info), | 		match.ifPresent(moduleBase -> setBinding(reconstructBinding(info), | ||||||
| 				moduleBase)); | 				moduleBase)); | ||||||
| 	} | 	} | ||||||
|  | @ -158,38 +157,5 @@ public class GlobalConfig extends Config { | ||||||
| 			} | 			} | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Button locations. |  | ||||||
| 	 */ |  | ||||||
| 	private final Map<String, ButtonInformation> buttonLocations = new HashMap<>(); |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Sets button. |  | ||||||
| 	 * |  | ||||||
| 	 * @param category          the category |  | ||||||
| 	 * @param buttonInformation the button information |  | ||||||
| 	 */ |  | ||||||
| 	public void setButton(String category, ButtonInformation buttonInformation) { |  | ||||||
| 		if (buttonLocations.containsKey(category)) { |  | ||||||
| 			buttonLocations.replace(category, buttonInformation); |  | ||||||
| 		} else { |  | ||||||
| 			buttonLocations.put(category, buttonInformation); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Gets button. |  | ||||||
| 	 * |  | ||||||
| 	 * @param category the category |  | ||||||
| 	 * @return the button |  | ||||||
| 	 */ |  | ||||||
| 	public ButtonInformation getButton(String category) { |  | ||||||
| 		if (buttonLocations.containsKey(category)) { |  | ||||||
| 			return buttonLocations.get(category); |  | ||||||
| 		} |  | ||||||
| 		System.out.println("Could not find button of category " + category); |  | ||||||
| 		return null; |  | ||||||
| 	} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.config; | package pm.j4.kerosene.util.config; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Server config. |  * The type Server config. | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import pm.j4.petroleum.PetroleumMod; | import pm.j4.kerosene.KeroseneMod; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Category. |  * The type Category. | ||||||
|  | @ -17,7 +17,7 @@ public class Category { | ||||||
| 	 * @return the category map | 	 * @return the category map | ||||||
| 	 */ | 	 */ | ||||||
| 	public static Map<String, List<ModuleBase>> getCategoryMap() { | 	public static Map<String, List<ModuleBase>> getCategoryMap() { | ||||||
| 		List<ModuleBase> modules = PetroleumMod.getActiveMods(); | 		List<ModuleBase> modules = KeroseneMod.getRegisteredMods(); | ||||||
| 		Map<String, List<ModuleBase>> categoryMap = new HashMap<>(); | 		Map<String, List<ModuleBase>> categoryMap = new HashMap<>(); | ||||||
| 		modules.forEach(module -> { | 		modules.forEach(module -> { | ||||||
| 			if (!categoryMap.containsKey(module.getCategory())) { | 			if (!categoryMap.containsKey(module.getCategory())) { | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| 
 | 
 | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| package pm.j4.petroleum.util.data; | package pm.j4.kerosene.util.data; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| 
 | 
 | ||||||
|  | @ -1,14 +1,14 @@ | ||||||
| package pm.j4.petroleum.util.module; | package pm.j4.kerosene.util.module; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import java.util.*; | import java.util.*; | ||||||
| import net.minecraft.client.MinecraftClient; | import net.minecraft.client.MinecraftClient; | ||||||
| import net.minecraft.text.TranslatableText; | import net.minecraft.text.TranslatableText; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; | import pm.j4.kerosene.gui.PModuleConfigEntry; | ||||||
| import pm.j4.petroleum.gui.PModuleConfigPane; | import pm.j4.kerosene.gui.PModuleConfigPane; | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; | import pm.j4.kerosene.util.config.ConfigHolder; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; | import pm.j4.kerosene.util.module.option.ConfigurationOption; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The Basis for all mods, used so that modules all have a common activation point and settings. |  * The Basis for all mods, used so that modules all have a common activation point and settings. | ||||||
|  | @ -25,7 +25,8 @@ public abstract class ModuleBase { | ||||||
| 	 * @param hidden        Whether the module will show up in @link pm.j4.petroleum.modules.menu.ModMenu or the active module list | 	 * @param hidden        Whether the module will show up in @link pm.j4.petroleum.modules.menu.ModMenu or the active module list | ||||||
| 	 * @param hasConfigMenu whether a button in the configuration menu will show | 	 * @param hasConfigMenu whether a button in the configuration menu will show | ||||||
| 	 */ | 	 */ | ||||||
| 	public ModuleBase(String name, String category, boolean activatable, boolean hidden, boolean hasConfigMenu) { | 	public ModuleBase(String parent, String name, String category, boolean activatable, boolean hidden, boolean hasConfigMenu) { | ||||||
|  | 		this.parent = parent; | ||||||
| 		this.moduleName = name; | 		this.moduleName = name; | ||||||
| 		this.category = category; | 		this.category = category; | ||||||
| 		this.readableName = new TranslatableText(name); | 		this.readableName = new TranslatableText(name); | ||||||
|  | @ -55,10 +56,15 @@ public abstract class ModuleBase { | ||||||
| 	 * Toggle mod. | 	 * Toggle mod. | ||||||
| 	 */ | 	 */ | ||||||
| 	public void toggle() { | 	public void toggle() { | ||||||
| 		Optional<ConfigHolder> config = ConfigManager.getConfig(); | 		Optional<ConfigHolder> config = ConfigManager.getConfig(this.getParent()); | ||||||
| 		config.ifPresent(configHolder -> configHolder.toggleModule(this.moduleName)); | 		config.ifPresent(configHolder -> configHolder.toggleModule(this.moduleName)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	private final String parent; | ||||||
|  | 	public String getParent() { | ||||||
|  | 		return this.parent; | ||||||
|  | 	} | ||||||
| 	/** | 	/** | ||||||
| 	 * The Module's name. | 	 * The Module's name. | ||||||
| 	 */ | 	 */ | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Boolean value. |  * The type Boolean value. | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Configuration option. |  * The type Configuration option. | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Integer value. |  * The type Integer value. | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import net.minecraft.client.options.KeyBinding; | import net.minecraft.client.options.KeyBinding; | ||||||
| import pm.j4.petroleum.modules.bindings.BindingInfo; | import pm.j4.kerosene.modules.bindings.BindingInfo; | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; | import pm.j4.kerosene.util.config.ConfigManager; | ||||||
| import pm.j4.petroleum.util.config.GlobalConfig; | import pm.j4.kerosene.util.config.GlobalConfig; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type Keybind value. |  * The type Keybind value. | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type List option. |  * The type List option. | ||||||
|  | @ -1,8 +1,8 @@ | ||||||
| package pm.j4.petroleum.util.module.option; | package pm.j4.kerosene.util.module.option; | ||||||
| 
 | 
 | ||||||
| import com.google.gson.JsonElement; | import com.google.gson.JsonElement; | ||||||
| import com.google.gson.JsonPrimitive; | import com.google.gson.JsonPrimitive; | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; | import pm.j4.kerosene.util.module.ModuleBase; | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  * The type String value. |  * The type String value. | ||||||
|  | @ -1,69 +0,0 @@ | ||||||
| package pm.j4.petroleum.gui; |  | ||||||
| 
 |  | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; |  | ||||||
| import java.util.Map; |  | ||||||
| import net.minecraft.client.gui.screen.Screen; |  | ||||||
| import net.minecraft.client.render.BufferBuilder; |  | ||||||
| import net.minecraft.client.render.Tessellator; |  | ||||||
| import net.minecraft.client.render.VertexFormats; |  | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import net.minecraft.text.TranslatableText; |  | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; |  | ||||||
| import pm.j4.petroleum.util.data.Category; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type P mod menu screen. |  | ||||||
|  */ |  | ||||||
| public class PModMenuScreen extends Screen { |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new P mod menu screen. |  | ||||||
| 	 */ |  | ||||||
| 	public PModMenuScreen() { |  | ||||||
| 		super(new TranslatableText("petroleum.modmenu")); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { |  | ||||||
| 		this.renderBackground(matrices); |  | ||||||
| 		super.render(matrices, mouseX, mouseY, delta); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	protected void init() { |  | ||||||
| 		Map<String, ButtonInformation> coordinateMap = ModMenu.getButtons(); |  | ||||||
| 		coordinateMap.forEach((category, coord) -> { |  | ||||||
| 			this.addButton(new PMovableButton((int) (coord.x * this.width), |  | ||||||
| 					(int) (coord.y * this.height), |  | ||||||
| 					category, |  | ||||||
| 					Category.getByCategory(category), |  | ||||||
| 					coord.open, |  | ||||||
| 					this)); |  | ||||||
| 		}); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void onClose() { |  | ||||||
| 		if (ConfigManager.getConfig().isPresent()) { |  | ||||||
| 			ConfigManager.getConfig().get().disableModule("petroleum.modmenu"); |  | ||||||
| 			this.buttons.forEach(button -> ((PMovableButton) button).updateCoordinate()); |  | ||||||
| 			ConfigManager.saveGlobalConfig(); |  | ||||||
| 		} |  | ||||||
| 		super.onClose(); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void renderBackground(MatrixStack matrices) { |  | ||||||
| 		Tessellator t_1 = Tessellator.getInstance(); |  | ||||||
| 		BufferBuilder buffer = t_1.getBuffer(); |  | ||||||
| 		RenderSystem.enableBlend(); |  | ||||||
| 		buffer.begin(7, VertexFormats.POSITION_COLOR); |  | ||||||
| 		buffer.vertex(0, this.height, 0.0D).color(0.1F, 0.1F, 0.1F, 0.3F).next(); |  | ||||||
| 		buffer.vertex(this.width, this.height, 0.0D).color(0.1F, 0.1F, 0.1F, 0.3F).next(); |  | ||||||
| 		buffer.vertex(this.width, 0, 0.0D).color(0.1F, 0.1F, 0.1F, 0.3F).next(); |  | ||||||
| 		buffer.vertex(0, 0, 0.0D).color(0.1F, 0.1F, 0.1F, 0.3F).next(); |  | ||||||
| 		t_1.draw(); |  | ||||||
| 		RenderSystem.disableBlend(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,388 +0,0 @@ | ||||||
| package pm.j4.petroleum.gui; |  | ||||||
| 
 |  | ||||||
| import com.mojang.blaze3d.systems.RenderSystem; |  | ||||||
| import java.util.List; |  | ||||||
| import net.minecraft.client.MinecraftClient; |  | ||||||
| import net.minecraft.client.font.TextRenderer; |  | ||||||
| import net.minecraft.client.gui.widget.AbstractButtonWidget; |  | ||||||
| import net.minecraft.client.render.BufferBuilder; |  | ||||||
| import net.minecraft.client.render.Tessellator; |  | ||||||
| import net.minecraft.client.render.VertexFormats; |  | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import net.minecraft.text.LiteralText; |  | ||||||
| import net.minecraft.text.TranslatableText; |  | ||||||
| import net.minecraft.util.math.MathHelper; |  | ||||||
| import net.minecraft.util.math.Matrix4f; |  | ||||||
| import pm.j4.petroleum.modules.menu.ModMenu; |  | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type P movable button. |  | ||||||
|  */ |  | ||||||
| public class PMovableButton extends AbstractButtonWidget { |  | ||||||
| 	/** |  | ||||||
| 	 * The Expanded. |  | ||||||
| 	 */ |  | ||||||
| 	private boolean expanded; |  | ||||||
| 	/** |  | ||||||
| 	 * The Collapsed width. |  | ||||||
| 	 */ |  | ||||||
| 	private final int collapsedWidth; |  | ||||||
| 	/** |  | ||||||
| 	 * The Expanded width. |  | ||||||
| 	 */ |  | ||||||
| 	private int expandedWidth; |  | ||||||
| 	/** |  | ||||||
| 	 * The Collapsed height. |  | ||||||
| 	 */ |  | ||||||
| 	private final int collapsedHeight; |  | ||||||
| 	/** |  | ||||||
| 	 * The Expanded height. |  | ||||||
| 	 */ |  | ||||||
| 	private int expandedHeight; |  | ||||||
| 	/** |  | ||||||
| 	 * The Module height. |  | ||||||
| 	 */ |  | ||||||
| 	private final int moduleHeight; |  | ||||||
| 	/** |  | ||||||
| 	 * The Modules. |  | ||||||
| 	 */ |  | ||||||
| 	private final List<ModuleBase> modules; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Stored x. |  | ||||||
| 	 */ |  | ||||||
| 	private int storedX; |  | ||||||
| 	/** |  | ||||||
| 	 * The Stored y. |  | ||||||
| 	 */ |  | ||||||
| 	private int storedY; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Spin. |  | ||||||
| 	 */ |  | ||||||
| 	private double spin; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Arrow size. |  | ||||||
| 	 */ |  | ||||||
| 	private final int arrowSize = 10; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Category. |  | ||||||
| 	 */ |  | ||||||
| 	private final String category; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The Parent. |  | ||||||
| 	 */ |  | ||||||
| 	private final PModMenuScreen parent; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new P movable button. |  | ||||||
| 	 * |  | ||||||
| 	 * @param x            the x |  | ||||||
| 	 * @param y            the y |  | ||||||
| 	 * @param categoryName the category name |  | ||||||
| 	 * @param modules      the modules |  | ||||||
| 	 * @param open         the open |  | ||||||
| 	 * @param parent       the parent |  | ||||||
| 	 */ |  | ||||||
| 	public PMovableButton(int x, int y, String categoryName, List<ModuleBase> modules, boolean open, PModMenuScreen parent) { |  | ||||||
| 		super(x, y, 0, 0, new TranslatableText(categoryName)); |  | ||||||
| 		this.category = categoryName; |  | ||||||
| 		int w = MinecraftClient.getInstance().textRenderer.getWidth(new TranslatableText(categoryName)) + 8; |  | ||||||
| 		int h = MinecraftClient.getInstance().textRenderer.fontHeight + 8; |  | ||||||
| 		this.width = w; |  | ||||||
| 		this.collapsedWidth = w; |  | ||||||
| 		this.expandedWidth = 0; |  | ||||||
| 		this.height = h; |  | ||||||
| 		this.collapsedHeight = h; |  | ||||||
| 		this.expandedHeight = 0; |  | ||||||
| 		this.moduleHeight = h; |  | ||||||
| 		this.expanded = open; |  | ||||||
| 		this.modules = modules; |  | ||||||
| 		this.parent = parent; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void onClick(double mouseX, double mouseY) { |  | ||||||
| 		this.storedX = (int) mouseX; |  | ||||||
| 		this.storedY = (int) mouseY; |  | ||||||
| 		super.onClick(mouseX, mouseY); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * On extra click. |  | ||||||
| 	 * |  | ||||||
| 	 * @param mouseX the mouse x |  | ||||||
| 	 * @param mouseY the mouse y |  | ||||||
| 	 */ |  | ||||||
| 	private void onExtraClick(double mouseX, double mouseY) { |  | ||||||
| 		System.out.println("extra click"); |  | ||||||
| 		int increment = this.moduleHeight + 4; |  | ||||||
| 		int location = (int)mouseY - (this.y + this.collapsedHeight); |  | ||||||
| 		int index = location / increment; |  | ||||||
| 		System.out.println("index: " + index); |  | ||||||
| 		if(modules.size() >= index) { |  | ||||||
| 			ModuleBase affectedModule = modules.get(index); |  | ||||||
| 			System.out.println("module: " + affectedModule); |  | ||||||
| 			if(affectedModule.isActivatable()) { |  | ||||||
| 				System.out.println("toggling"); |  | ||||||
| 				affectedModule.toggle(); |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		else { |  | ||||||
| 			System.out.println("index too great"); |  | ||||||
| 		} |  | ||||||
| 		//TODO module things |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void onRelease(double mouseX, double mouseY) { |  | ||||||
| 		int mx = (int) mouseX; |  | ||||||
| 		int my = (int) mouseY; |  | ||||||
| 		/** |  | ||||||
| 		 * The Padding. |  | ||||||
| 		 */ |  | ||||||
| 		int padding = 5; |  | ||||||
| 		if (storedX + padding > mx && storedX - padding < mx && |  | ||||||
| 				storedY + padding > my && storedY - padding < my) { |  | ||||||
| 			this.expanded = !this.expanded; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	protected void onDrag(double mouseX, double mouseY, double deltaX, double deltaY) { |  | ||||||
| 		this.x += (int) deltaX; |  | ||||||
| 		this.y += (int) deltaY; |  | ||||||
| 
 |  | ||||||
| 		// i really hate to do it but nowhere else will it properly save |  | ||||||
| 		this.updateCoordinate(); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Update coordinate. |  | ||||||
| 	 */ |  | ||||||
| 	public void updateCoordinate() { |  | ||||||
| 		ModMenu.updateCoord(this.category, new ButtonInformation((this.x / (double) parent.width), (this.y / (double) parent.height), this.expanded)); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	// fuck click sounds |  | ||||||
| 	@Override |  | ||||||
| 	public boolean mouseClicked(double mouseX, double mouseY, int button) { |  | ||||||
| 		if (this.active && this.visible) { |  | ||||||
| 			if (this.isValidClickButton(button)) { |  | ||||||
| 				boolean bl = this.clicked(mouseX, mouseY); |  | ||||||
| 				if (bl && mouseY > this.y + this.collapsedHeight && mouseY < this.y + this.expandedHeight) { |  | ||||||
| 					this.onExtraClick(mouseX, mouseY); |  | ||||||
| 					return true; |  | ||||||
| 				} else if (bl) { |  | ||||||
| 					this.onClick(mouseX, mouseY); |  | ||||||
| 					return true; |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 		} |  | ||||||
| 		return false; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Transition max width. |  | ||||||
| 	 * |  | ||||||
| 	 * @param width the width |  | ||||||
| 	 */ |  | ||||||
| 	private void transitionMaxWidth(int width) { |  | ||||||
| 		double increment = ((width - this.width) / 20.0); |  | ||||||
| 		int sign = (width > this.width) ? 1 : -1; |  | ||||||
| 		if (increment == 0) { |  | ||||||
| 			this.width = width; |  | ||||||
| 		} else if (increment < 1 && increment > -1) { |  | ||||||
| 			this.width += sign; |  | ||||||
| 		} else { |  | ||||||
| 			this.width += (int) increment; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Transition max height. |  | ||||||
| 	 * |  | ||||||
| 	 * @param height the height |  | ||||||
| 	 */ |  | ||||||
| 	private void transitionMaxHeight(int height) { |  | ||||||
| 		double increment = ((height - this.height) / 20.0); |  | ||||||
| 		int sign = (height > this.height) ? 1 : -1; |  | ||||||
| 		if (increment == 0) { |  | ||||||
| 			this.height = height; |  | ||||||
| 		} else if (increment < 1 && increment > -1) { |  | ||||||
| 			this.height += sign; |  | ||||||
| 		} else { |  | ||||||
| 			this.height += (int) increment; |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) { |  | ||||||
| 
 |  | ||||||
| 		if (this.expandedWidth == 0 || this.expandedHeight == 0) { |  | ||||||
| 			this.expandedHeight = this.collapsedHeight + ((this.moduleHeight + 4) * modules.size()); |  | ||||||
| 			modules.forEach(module -> { |  | ||||||
| 				this.expandedWidth = this.width; |  | ||||||
| 				int w = MinecraftClient.getInstance().textRenderer.getWidth(module.getReadableName()) + arrowSize + 8; |  | ||||||
| 				if (w > this.expandedWidth) { |  | ||||||
| 					this.expandedWidth = w; |  | ||||||
| 				} |  | ||||||
| 			}); |  | ||||||
| 			// this should only run when opening the screen for the first time |  | ||||||
| 			if (this.expanded) { |  | ||||||
| 				this.height = expandedHeight; |  | ||||||
| 				this.width = expandedWidth; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		MinecraftClient minecraftClient = MinecraftClient.getInstance(); |  | ||||||
| 		TextRenderer textRenderer = minecraftClient.textRenderer; |  | ||||||
| 		minecraftClient.getTextureManager().bindTexture(WIDGETS_LOCATION); |  | ||||||
| 		RenderSystem.color4f(1.0F, 1.0F, 1.0F, this.alpha); |  | ||||||
| 
 |  | ||||||
| 		RenderSystem.disableTexture(); |  | ||||||
| 		RenderSystem.defaultBlendFunc(); |  | ||||||
| 		float brightness = this.isFocused() ? 1.0F : 0.5F; |  | ||||||
| 		RenderSystem.color4f(brightness, brightness, brightness, 1.0F); |  | ||||||
| 		Matrix4f matrix = matrices.peek().getModel(); |  | ||||||
| 
 |  | ||||||
| 		int buttonLeft = this.x; |  | ||||||
| 		int buttonRight = this.x + width + 2; |  | ||||||
| 		int buttonTop = this.y; |  | ||||||
| 		int buttonBottom = this.y + this.collapsedHeight; |  | ||||||
| 		int buttonExpandedBottom = this.y + this.height; |  | ||||||
| 		Tessellator t_1 = Tessellator.getInstance(); |  | ||||||
| 		BufferBuilder buffer = t_1.getBuffer(); |  | ||||||
| 
 |  | ||||||
| 		RenderSystem.color4f(0.5F, 0.5F, 0.5F, 0.5F); |  | ||||||
| 		drawBox(t_1, buffer, matrix, buttonLeft, buttonRight, buttonTop - 2, buttonBottom + 2); |  | ||||||
| 
 |  | ||||||
| 		RenderSystem.color4f(0.0F, 0.0F, 0.0F, 0.3F); |  | ||||||
| 		drawBox(t_1, buffer, matrix, buttonLeft + 1, buttonRight - 1, buttonTop - 1, buttonBottom + 1); |  | ||||||
| 
 |  | ||||||
| 		RenderSystem.color4f(1.0F, 1.0F, 1.0F, 0.9F); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 40, 40, 180, arrowSize); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 60, 60, 0, arrowSize); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 40, 60, 90, arrowSize); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 60, 40, 360, arrowSize); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 80, 40, 270, arrowSize); |  | ||||||
| 		drawEquilateralTriangle(t_1, buffer, matrix, 80, 60, 120, arrowSize); |  | ||||||
| 
 |  | ||||||
| 		int j = this.active ? 16777215 : 10526880; |  | ||||||
| 		if (this.expanded) { |  | ||||||
| 			if (this.width != this.expandedWidth || this.height != this.expandedHeight) { |  | ||||||
| 				transitionMaxWidth(this.expandedWidth); |  | ||||||
| 				transitionMaxHeight(this.expandedHeight); |  | ||||||
| 				RenderSystem.color4f(0.5F, 0.5F, 0.5F, 0.5F); |  | ||||||
| 				drawBox(t_1, buffer, matrix, buttonLeft, buttonRight, buttonBottom + 1, buttonExpandedBottom + 2); |  | ||||||
| 
 |  | ||||||
| 				RenderSystem.color4f(0.0F, 0.0F, 0.0F, 0.3F); |  | ||||||
| 				drawBox(t_1, buffer, matrix, buttonLeft + 1, buttonRight - 1, buttonBottom + 2, buttonExpandedBottom + 1); |  | ||||||
| 				if ((this.height - 8) / 2 > (this.collapsedHeight)) { |  | ||||||
| 					drawCenteredText(matrices, textRenderer, new LiteralText("..."), this.x + this.width / 2, this.y + (this.height - 8) / 2, j | MathHelper.ceil(this.alpha * 255.0F) << 24); |  | ||||||
| 				} |  | ||||||
| 			} else { |  | ||||||
| 				for (int i = 0; i < modules.size(); i++) { |  | ||||||
| 					int adjustedIndex = i + 1; |  | ||||||
| 					int previousBottom = buttonBottom + (i * (this.moduleHeight + 4)); |  | ||||||
| 					int currentBottom = buttonBottom + ((i + 1) * (this.moduleHeight + 4)); |  | ||||||
| 
 |  | ||||||
| 					RenderSystem.defaultBlendFunc(); |  | ||||||
| 					RenderSystem.color4f(0.5F, 0.5F, 0.5F, 0.5F); |  | ||||||
| 					drawBox(t_1, buffer, matrix, buttonLeft, buttonRight, previousBottom + 1, currentBottom + 2); |  | ||||||
| 
 |  | ||||||
| 					RenderSystem.color4f(0.0F, 0.0F, 0.0F, 0.3F); |  | ||||||
| 					drawBox(t_1, buffer, matrix, buttonLeft + 1, buttonRight - 1, previousBottom + 2, currentBottom + 1); |  | ||||||
| 
 |  | ||||||
| 					drawCenteredText(matrices, |  | ||||||
| 							textRenderer, |  | ||||||
| 							modules.get(i).getReadableName(), |  | ||||||
| 							this.x + this.width / 2, |  | ||||||
| 							this.y + ((this.collapsedHeight - 8) / 2 + ((moduleHeight + 4) * adjustedIndex)), |  | ||||||
| 							j | MathHelper.ceil(this.alpha * 255.0F) << 24); |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 		} else { |  | ||||||
| 			if (this.width != this.collapsedWidth || this.height != this.collapsedHeight) { |  | ||||||
| 				transitionMaxWidth(this.collapsedWidth); |  | ||||||
| 				transitionMaxHeight(this.collapsedHeight); |  | ||||||
| 				RenderSystem.color4f(0.5F, 0.5F, 0.5F, 0.5F); |  | ||||||
| 				drawBox(t_1, buffer, matrix, buttonLeft, buttonRight, buttonBottom + 1, buttonExpandedBottom + 2); |  | ||||||
| 
 |  | ||||||
| 				RenderSystem.color4f(0.0F, 0.0F, 0.0F, 0.3F); |  | ||||||
| 				drawBox(t_1, buffer, matrix, buttonLeft + 1, buttonRight - 1, buttonBottom + 2, buttonExpandedBottom + 1); |  | ||||||
| 				if ((this.height - 8) / 2 > (this.collapsedHeight)) { |  | ||||||
| 					drawCenteredText(matrices, textRenderer, new LiteralText("..."), this.x + this.width / 2, this.y + (this.height - 8) / 2, j | MathHelper.ceil(this.alpha * 255.0F) << 24); |  | ||||||
| 				} |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		RenderSystem.enableTexture(); |  | ||||||
| 		drawCenteredText(matrices, textRenderer, this.getMessage(), this.x + this.width / 2, this.y + (this.collapsedHeight - 8) / 2, j | MathHelper.ceil(this.alpha * 255.0F) << 24); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Draw equilateral triangle. |  | ||||||
| 	 * |  | ||||||
| 	 * @param t_1      the t 1 |  | ||||||
| 	 * @param buffer   the buffer |  | ||||||
| 	 * @param matrix   the matrix |  | ||||||
| 	 * @param centerX  the center x |  | ||||||
| 	 * @param centerY  the center y |  | ||||||
| 	 * @param rotation the rotation |  | ||||||
| 	 * @param distance the distance |  | ||||||
| 	 */ |  | ||||||
| 	private void drawEquilateralTriangle(Tessellator t_1, BufferBuilder buffer, Matrix4f matrix, int centerX, int centerY, double rotation, int distance) { |  | ||||||
| 		double rotation2 = rotation + 120; |  | ||||||
| 		double rotation3 = rotation + 240; |  | ||||||
| 		int point1X = (int)(distance * Math.cos(Math.toRadians(rotation))) + centerX; |  | ||||||
| 		int point1Y = (int)(distance * Math.sin(Math.toRadians(rotation))) + centerY; |  | ||||||
| 		int point2X = (int)(distance * Math.cos(Math.toRadians(rotation2))) + centerX; |  | ||||||
| 		int point2Y = (int)(distance * Math.sin(Math.toRadians(rotation2))) + centerY; |  | ||||||
| 		int point3X = (int)(distance * Math.cos(Math.toRadians(rotation3))) + centerX; |  | ||||||
| 		int point3Y = (int)(distance * Math.sin(Math.toRadians(rotation3))) + centerY; |  | ||||||
| 
 |  | ||||||
| 		//RenderSystem.enableBlend(); |  | ||||||
| 		RenderSystem.disableBlend(); |  | ||||||
| 		buffer.begin(7, VertexFormats.POSITION_COLOR); |  | ||||||
| 		buffer.vertex(matrix, centerX, centerY, 0.0F).color(0.0F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, centerX, point1Y, 0.0F).color(0.0F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, point1X, point1Y, 0.0F).color(0.0F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 
 |  | ||||||
| 		buffer.vertex(matrix, centerX, centerY, 0.0F).color(0.5F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, centerX, point2Y, 0.0F).color(0.5F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, point2X, point2Y, 0.0F).color(0.5F, 1.0F, 1.0F, 1.0F).next(); |  | ||||||
| 
 |  | ||||||
| 		buffer.vertex(matrix, centerX, centerY, 0.0F).color(1.0F, 0.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, centerX, point3Y, 0.0F).color(1.0F, 0.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, point3X, point3Y, 0.0F).color(1.0F, 0.0F, 1.0F, 1.0F).next(); |  | ||||||
| 		t_1.draw(); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Draw box. |  | ||||||
| 	 * |  | ||||||
| 	 * @param t_1          the t 1 |  | ||||||
| 	 * @param buffer       the buffer |  | ||||||
| 	 * @param matrix       the matrix |  | ||||||
| 	 * @param buttonLeft   the button left |  | ||||||
| 	 * @param buttonRight  the button right |  | ||||||
| 	 * @param buttonTop    the button top |  | ||||||
| 	 * @param buttonBottom the button bottom |  | ||||||
| 	 */ |  | ||||||
| 	private void drawBox(Tessellator t_1, BufferBuilder buffer, Matrix4f matrix, int buttonLeft, int buttonRight, int buttonTop, int buttonBottom) { |  | ||||||
| 		RenderSystem.enableBlend(); |  | ||||||
| 		buffer.begin(7, VertexFormats.POSITION); |  | ||||||
| 		buffer.vertex(matrix, buttonLeft, buttonBottom, 0.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, buttonRight, buttonBottom, 0.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, buttonRight, buttonTop, 0.0F).next(); |  | ||||||
| 		buffer.vertex(matrix, buttonLeft, buttonTop, 0.0F).next(); |  | ||||||
| 		t_1.draw(); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,38 +0,0 @@ | ||||||
| package pm.j4.petroleum.mixin; |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Optional; |  | ||||||
| import net.minecraft.client.gui.hud.DebugHud; |  | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import org.spongepowered.asm.mixin.Mixin; |  | ||||||
| import org.spongepowered.asm.mixin.injection.At; |  | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; |  | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |  | ||||||
| import org.spongepowered.asm.mixin.injection.callback.LocalCapture; |  | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Debug hud mixin. |  | ||||||
|  */ |  | ||||||
| @Mixin(DebugHud.class) |  | ||||||
| public class DebugHudMixin { |  | ||||||
| 	/** |  | ||||||
| 	 * Render text right. |  | ||||||
| 	 * |  | ||||||
| 	 * @param matrices the matrices |  | ||||||
| 	 * @param ci       the ci |  | ||||||
| 	 * @param list     the list |  | ||||||
| 	 */ |  | ||||||
| 	@Inject(method = "renderLeftText", |  | ||||||
| 			at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/gui/hud/DebugHud;getLeftText()Ljava/util/List;"), |  | ||||||
| 			locals = LocalCapture.CAPTURE_FAILSOFT) |  | ||||||
| 	protected void renderTextRight(MatrixStack matrices, CallbackInfo ci, List<String> list) { |  | ||||||
| 		Optional<ConfigHolder> config = ConfigManager.getConfig(); |  | ||||||
| 		if (config.isPresent() && config.get().isModuleEnabled("petroleum.splashtext")) { |  | ||||||
| 			list.add("[Petroleum] " + SplashText.get() + " loaded"); |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,89 +0,0 @@ | ||||||
| package pm.j4.petroleum.mixin; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Optional; |  | ||||||
| import java.util.stream.Collectors; |  | ||||||
| import net.minecraft.client.MinecraftClient; |  | ||||||
| import net.minecraft.client.font.TextRenderer; |  | ||||||
| import net.minecraft.client.gui.DrawableHelper; |  | ||||||
| import net.minecraft.client.gui.hud.InGameHud; |  | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import net.minecraft.text.TranslatableText; |  | ||||||
| import org.spongepowered.asm.mixin.Mixin; |  | ||||||
| import org.spongepowered.asm.mixin.Shadow; |  | ||||||
| import org.spongepowered.asm.mixin.injection.At; |  | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; |  | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |  | ||||||
| import pm.j4.petroleum.modules.list.ModList; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Mod list mixin. |  | ||||||
|  */ |  | ||||||
| @Mixin(InGameHud.class) |  | ||||||
| public abstract class ModListMixin extends DrawableHelper { |  | ||||||
| 	/** |  | ||||||
| 	 * The Scaled height. |  | ||||||
| 	 */ |  | ||||||
| 	@Shadow |  | ||||||
| 	private int scaledHeight; |  | ||||||
| 	/** |  | ||||||
| 	 * The Client. |  | ||||||
| 	 */ |  | ||||||
| 	private final MinecraftClient client; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Gets font renderer. |  | ||||||
| 	 * |  | ||||||
| 	 * @return the font renderer |  | ||||||
| 	 */ |  | ||||||
| 	@Shadow |  | ||||||
| 	public abstract TextRenderer getFontRenderer(); |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Mod list mixin. |  | ||||||
| 	 * |  | ||||||
| 	 * @param client the client |  | ||||||
| 	 */ |  | ||||||
| 	public ModListMixin(MinecraftClient client) { |  | ||||||
| 		this.client = client; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Render. |  | ||||||
| 	 * |  | ||||||
| 	 * @param matrices  the matrices |  | ||||||
| 	 * @param tickDelta the tick delta |  | ||||||
| 	 * @param ci        the ci |  | ||||||
| 	 */ |  | ||||||
| 	@Inject(method = "render(Lnet/minecraft/client/util/math/MatrixStack;F)V", |  | ||||||
| 			at = @At("HEAD")) |  | ||||||
| 	public void render(MatrixStack matrices, float tickDelta, CallbackInfo ci) { |  | ||||||
| 		Optional<ConfigHolder> config = ConfigManager.getConfig(); |  | ||||||
| 		if (config.isPresent() && |  | ||||||
| 				config.get().isModuleEnabled("petroleum.modlist") && |  | ||||||
| 				!this.client.options.hudHidden && |  | ||||||
| 				!this.client.options.debugEnabled) { |  | ||||||
| 			renderModuleList(matrices); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Render module list. |  | ||||||
| 	 * |  | ||||||
| 	 * @param matrices the matrices |  | ||||||
| 	 */ |  | ||||||
| 	private void renderModuleList(MatrixStack matrices) { |  | ||||||
| 		List<ModuleBase> modules = ModList.getActive(); |  | ||||||
| 		List<TranslatableText> activeModuleList = modules.stream().map(module -> module.getReadableName()).collect(Collectors.toList()); |  | ||||||
| 		int fontHeight = this.getFontRenderer().fontHeight; |  | ||||||
| 		int startHeight = this.scaledHeight - (activeModuleList.size() * (fontHeight + 4)); |  | ||||||
| 		for (int i = 0; i < activeModuleList.size(); i++) { |  | ||||||
| 			this.getFontRenderer().drawWithShadow(matrices, activeModuleList.get(i), 10, 10 + (i * (fontHeight + 4)), -1); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,141 +0,0 @@ | ||||||
| package pm.j4.petroleum.mixin; |  | ||||||
| 
 |  | ||||||
| import java.util.Optional; |  | ||||||
| import net.minecraft.client.gui.screen.Screen; |  | ||||||
| import net.minecraft.client.gui.screen.TitleScreen; |  | ||||||
| import net.minecraft.client.util.math.MatrixStack; |  | ||||||
| import net.minecraft.text.Text; |  | ||||||
| import org.spongepowered.asm.mixin.Mixin; |  | ||||||
| import org.spongepowered.asm.mixin.injection.At; |  | ||||||
| import org.spongepowered.asm.mixin.injection.Inject; |  | ||||||
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; |  | ||||||
| import org.spongepowered.asm.mixin.injection.callback.LocalCapture; |  | ||||||
| import pm.j4.petroleum.PetroleumMod; |  | ||||||
| import pm.j4.petroleum.modules.splash.SplashText; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; |  | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * Mixin attached to the TitleScreen. |  | ||||||
|  * Currently, it is only used to display a string of text with the mod's version. |  | ||||||
|  * Any other modules will likely extend the options screen or pause screen, |  | ||||||
|  * so the module is unlikely to be used elsewhere. |  | ||||||
|  */ |  | ||||||
| @Mixin(TitleScreen.class) |  | ||||||
| public class TitleScreenMixin extends Screen { |  | ||||||
| 	/** |  | ||||||
| 	 * The Opacity. |  | ||||||
| 	 */ |  | ||||||
| 	private double opacity = 0; |  | ||||||
| 	/** |  | ||||||
| 	 * The Ascending. |  | ||||||
| 	 */ |  | ||||||
| 	private boolean ascending = false; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Stub method. |  | ||||||
| 	 * Since the mixin injects itself into the *actual* TitleScreen used by the game, |  | ||||||
| 	 * this should never run. |  | ||||||
| 	 * |  | ||||||
| 	 * @param title the title |  | ||||||
| 	 */ |  | ||||||
| 	protected TitleScreenMixin(Text title) { |  | ||||||
| 		super(title); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Mixin injection into the render method. |  | ||||||
| 	 * It captures locals so that the text can be rendered alongside the |  | ||||||
| 	 * screen fade-in. |  | ||||||
| 	 * It injects before the call to @link com.mojang.bridge.game.GameVersion#getName() using INVOKE_ASSIGN, |  | ||||||
| 	 * because attempting to use a regular invoke statement on @link net.minecraft.client.gui.DrawHelper#drawStringWithShadow() |  | ||||||
| 	 * repeatedly failed. |  | ||||||
| 	 * <p> |  | ||||||
| 	 * |  | ||||||
| 	 * @param matrices the matrices |  | ||||||
| 	 * @param mouseX   the mouse x |  | ||||||
| 	 * @param mouseY   the mouse y |  | ||||||
| 	 * @param delta    the delta |  | ||||||
| 	 * @param ci       the ci |  | ||||||
| 	 * @param f        the f |  | ||||||
| 	 * @param i        the |  | ||||||
| 	 * @param j        the j |  | ||||||
| 	 * @param g        the g |  | ||||||
| 	 * @param l        the l |  | ||||||
| 	 */ |  | ||||||
| 	@Inject(method = "render", |  | ||||||
| 			at = @At( |  | ||||||
| 					value = "INVOKE_ASSIGN", |  | ||||||
| 					target = "Lcom/mojang/bridge/game/GameVersion;getName()Ljava/lang/String;", |  | ||||||
| 					ordinal = 0), |  | ||||||
| 			locals = LocalCapture.CAPTURE_FAILSOFT) |  | ||||||
| 	private void render(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci, float f, int i, int j, float g, int l) { |  | ||||||
| 		Optional<ConfigHolder> config = ConfigManager.getConfig(); |  | ||||||
| 		Optional<ModuleBase> splashText = PetroleumMod.getMod("petroleum.splashtext"); |  | ||||||
| 		if (config.isPresent() && config.get().isModuleEnabled("petroleum.splashtext") |  | ||||||
| 		&& splashText.isPresent()) { |  | ||||||
| 			Optional<ConfigurationOption> isActive = splashText.get().getConfigOption("petroleum.splashtext.active"); |  | ||||||
| 			if(isActive.isPresent() && ((BooleanOption)isActive.get()).getValue()) { |  | ||||||
| 				drawStringWithShadow(matrices, this.textRenderer, SplashText.get(), 2, this.height - 20, blink(13108374) | l); |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * fades an integer color based on the values declared at the top of the class. |  | ||||||
| 	 * |  | ||||||
| 	 * @param color the integer representation of the color to fade. this should generally remain constant. |  | ||||||
| 	 * @return the color, adjusted for "opacity". It's RGB and not RGBA, so it just lowers all color values. |  | ||||||
| 	 */ |  | ||||||
| 	@SuppressWarnings("SameParameterValue") |  | ||||||
| 	private int blink(int color) { |  | ||||||
| 		/* |  | ||||||
| 		  The Speed. |  | ||||||
| 		 */ |  | ||||||
| 		int speed = 3; |  | ||||||
| 		/* |  | ||||||
| 		  The Opacity max. |  | ||||||
| 		 */ |  | ||||||
| 		double opacity_max = 1000; |  | ||||||
| 		if (ascending) { |  | ||||||
| 			opacity += speed; |  | ||||||
| 			if (opacity > opacity_max) { |  | ||||||
| 				opacity = opacity_max; |  | ||||||
| 				ascending = false; |  | ||||||
| 			} |  | ||||||
| 		} else { |  | ||||||
| 			opacity -= speed; |  | ||||||
| 			/* |  | ||||||
| 			  The Opacity min. |  | ||||||
| 			 */ |  | ||||||
| 			double opacity_min = 500; |  | ||||||
| 			if (opacity < opacity_min) { |  | ||||||
| 				opacity = opacity_min; |  | ||||||
| 				ascending = true; |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		double opacityD = (opacity / opacity_max); |  | ||||||
| 		/* |  | ||||||
| 		  The R mask. |  | ||||||
| 		 */ |  | ||||||
| 		int r_mask = 16711680; |  | ||||||
| 		int r = ((color & r_mask) / Integer.parseInt("010000", 16)); |  | ||||||
| 		/* |  | ||||||
| 		  The G mask. |  | ||||||
| 		 */ |  | ||||||
| 		int g_mask = 65280; |  | ||||||
| 		int g = ((color & g_mask) / Integer.parseInt("000100", 16)); |  | ||||||
| 		/* |  | ||||||
| 		  The B mask. |  | ||||||
| 		 */ |  | ||||||
| 		int b_mask = 255; |  | ||||||
| 		int b = ((color & b_mask)); |  | ||||||
| 		return ((int) (r * opacityD) * Integer.parseInt("010000", 16)) | |  | ||||||
| 				((int) (g * opacityD) * Integer.parseInt("000100", 16)) | |  | ||||||
| 				((int) (b * opacityD)); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,42 +0,0 @@ | ||||||
| package pm.j4.petroleum.modules; |  | ||||||
| 
 |  | ||||||
| import java.util.ArrayList; |  | ||||||
| import java.util.HashMap; |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Map; |  | ||||||
| import net.minecraft.client.MinecraftClient; |  | ||||||
| import net.minecraft.text.LiteralText; |  | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; |  | ||||||
| import pm.j4.petroleum.gui.PModuleConfigPane; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; |  | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Example module. |  | ||||||
|  */ |  | ||||||
| public class ExampleModule extends ModuleBase { |  | ||||||
| 	/** |  | ||||||
| 	 * example mod |  | ||||||
| 	 */ |  | ||||||
| 	public ExampleModule() { |  | ||||||
| 		super("petroleum.example", |  | ||||||
| 				"petroleum.misc", |  | ||||||
| 				true, |  | ||||||
| 				false, |  | ||||||
| 				true); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public List<ConfigurationOption> getDefaultConfig() { |  | ||||||
| 		List<ConfigurationOption> options = new ArrayList<>(); |  | ||||||
| 		options.add(new BooleanOption("petroleum.example.b_one","example", this)); |  | ||||||
| 		options.add(new BooleanOption("petroleum.example.b_two","example", this)); |  | ||||||
| 		return options; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void activate(MinecraftClient client) { |  | ||||||
| 		System.out.println("Example Mod Keybind Activate"); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,40 +0,0 @@ | ||||||
| package pm.j4.petroleum.modules.list; |  | ||||||
| 
 |  | ||||||
| import java.util.ArrayList; |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Optional; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigHolder; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Mod list. |  | ||||||
|  */ |  | ||||||
| public class ModList extends ModuleBase { |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Mod list. |  | ||||||
| 	 */ |  | ||||||
| 	public ModList() { |  | ||||||
| 		super("petroleum.modlist", |  | ||||||
| 				"petroleum.misc", |  | ||||||
| 				true, |  | ||||||
| 				true, |  | ||||||
| 				true); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Gets active. |  | ||||||
| 	 * |  | ||||||
| 	 * @return the active |  | ||||||
| 	 */ |  | ||||||
| 	public static List<ModuleBase> getActive() { |  | ||||||
| 		List<ModuleBase> result = new ArrayList<>(); |  | ||||||
| 		Optional<ConfigHolder> config = ConfigManager.getConfig(); |  | ||||||
| 		config.ifPresent(configHolder -> configHolder.getEnabledModules().forEach((mod) -> { |  | ||||||
| 			if (!mod.isHidden()) { |  | ||||||
| 				result.add(mod); |  | ||||||
| 			} |  | ||||||
| 		})); |  | ||||||
| 		return result; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,98 +0,0 @@ | ||||||
| package pm.j4.petroleum.modules.menu; |  | ||||||
| 
 |  | ||||||
| import java.util.HashMap; |  | ||||||
| import java.util.List; |  | ||||||
| import java.util.Map; |  | ||||||
| import net.minecraft.client.MinecraftClient; |  | ||||||
| import pm.j4.petroleum.gui.PModMenuScreen; |  | ||||||
| import pm.j4.petroleum.util.config.ConfigManager; |  | ||||||
| import pm.j4.petroleum.util.data.ButtonInformation; |  | ||||||
| import pm.j4.petroleum.util.data.Category; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Mod menu. |  | ||||||
|  */ |  | ||||||
| public class ModMenu extends ModuleBase { |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * The constant coordinates. |  | ||||||
| 	 */ |  | ||||||
| 	private static final Map<String, ButtonInformation> coordinates = new HashMap<>(); |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Mod menu. |  | ||||||
| 	 */ |  | ||||||
| 	public ModMenu() { |  | ||||||
| 		super("petroleum.modmenu", |  | ||||||
| 				"petroleum.misc", |  | ||||||
| 				true, |  | ||||||
| 				true, |  | ||||||
| 				true); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	// TODO figure out resizing |  | ||||||
| 	//  the number itself changes, so it should just be probably like some onResize bullshit in PModMenuScreen |  | ||||||
| 	@Override |  | ||||||
| 	public void init() { |  | ||||||
| 		Map<String, List<ModuleBase>> categories = Category.getCategoryMap(); |  | ||||||
| 		final double[] h = {.1}; |  | ||||||
| 		categories.forEach((category, moduleList) -> { |  | ||||||
| 			ButtonInformation conf = ConfigManager.getConfig().isPresent() ? |  | ||||||
| 					ConfigManager.getConfig().get().globalConfig.getButton(category) : |  | ||||||
| 					null; |  | ||||||
| 			ButtonInformation coord = conf != null ? conf : new ButtonInformation(.1, h[0], false); |  | ||||||
| 			h[0] += .01; |  | ||||||
| 			coordinates.put(category, coord); |  | ||||||
| 			if (ConfigManager.getConfig().isPresent()) { |  | ||||||
| 				ConfigManager.getConfig().get().globalConfig.setButton(category, coord); |  | ||||||
| 			} |  | ||||||
| 		}); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Update coord. |  | ||||||
| 	 * |  | ||||||
| 	 * @param b the b |  | ||||||
| 	 * @param c the c |  | ||||||
| 	 */ |  | ||||||
| 	public static void updateCoord(String b, ButtonInformation c) { |  | ||||||
| 		if (c.x < 0.05) { |  | ||||||
| 			c.x = 0.05; |  | ||||||
| 		} |  | ||||||
| 		if (c.x > .95) { |  | ||||||
| 			c.x = .95; |  | ||||||
| 		} |  | ||||||
| 		if (c.y < 0.05) { |  | ||||||
| 			c.y = 0.05; |  | ||||||
| 		} |  | ||||||
| 		if (c.y > .95) { |  | ||||||
| 			c.y = .95; |  | ||||||
| 		} |  | ||||||
| 		if (coordinates.containsKey(b)) { |  | ||||||
| 			coordinates.replace(b, c); |  | ||||||
| 			if (ConfigManager.getConfig().isPresent()) { |  | ||||||
| 				ConfigManager.getConfig().get().globalConfig.setButton(b, c); |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public void activate(MinecraftClient client) { |  | ||||||
| 		this.toggle(); |  | ||||||
| 		if (ConfigManager.getConfig().get().isModuleEnabled(this.getModuleName())) { |  | ||||||
| 			client.openScreen(new PModMenuScreen()); |  | ||||||
| 		} else { |  | ||||||
| 			client.openScreen(null); |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Gets buttons. |  | ||||||
| 	 * |  | ||||||
| 	 * @return the buttons |  | ||||||
| 	 */ |  | ||||||
| 	public static Map<String, ButtonInformation> getButtons() { |  | ||||||
| 		return coordinates; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,46 +0,0 @@ | ||||||
| package pm.j4.petroleum.modules.splash; |  | ||||||
| 
 |  | ||||||
| import java.util.ArrayList; |  | ||||||
| import java.util.List; |  | ||||||
| import net.minecraft.text.LiteralText; |  | ||||||
| import pm.j4.petroleum.PetroleumMod; |  | ||||||
| import pm.j4.petroleum.gui.PModuleConfigEntry; |  | ||||||
| import pm.j4.petroleum.gui.PModuleConfigPane; |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| import pm.j4.petroleum.util.module.option.BooleanOption; |  | ||||||
| import pm.j4.petroleum.util.module.option.ConfigurationOption; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Splash text. |  | ||||||
|  */ |  | ||||||
| public class SplashText extends ModuleBase { |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Splash text. |  | ||||||
| 	 */ |  | ||||||
| 	public SplashText() { |  | ||||||
| 		super("petroleum.splashtext", |  | ||||||
| 				"petroleum.misc", |  | ||||||
| 				false, |  | ||||||
| 				true, |  | ||||||
| 				true); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	@Override |  | ||||||
| 	public List<ConfigurationOption> getDefaultConfig() { |  | ||||||
| 		List<ConfigurationOption> options = new ArrayList<>(); |  | ||||||
| 		options.add(new BooleanOption("petroleum.splashtext.active", "Show the main menu version text.", this)); |  | ||||||
| 		return options; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Get string. |  | ||||||
| 	 * |  | ||||||
| 	 * @return the string |  | ||||||
| 	 */ |  | ||||||
| 	public static String get() { |  | ||||||
| 		if (PetroleumMod.modData != null) { |  | ||||||
| 			return "Petroleum v" + PetroleumMod.modData.getVersion().getFriendlyString(); |  | ||||||
| 		} |  | ||||||
| 		return "Petroleum vUnknown"; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,19 +0,0 @@ | ||||||
| package pm.j4.petroleum.modules.xray; |  | ||||||
| 
 |  | ||||||
| import pm.j4.petroleum.util.module.ModuleBase; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Xray. |  | ||||||
|  */ |  | ||||||
| public class Xray extends ModuleBase { |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Xray. |  | ||||||
| 	 */ |  | ||||||
| 	public Xray() { |  | ||||||
| 		super("petroleum.xray", |  | ||||||
| 				"petroleum.render", |  | ||||||
| 				true, |  | ||||||
| 				false, |  | ||||||
| 				true); |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  | @ -1,32 +0,0 @@ | ||||||
| package pm.j4.petroleum.util.data; |  | ||||||
| 
 |  | ||||||
| /** |  | ||||||
|  * The type Button information. |  | ||||||
|  */ |  | ||||||
| public class ButtonInformation { |  | ||||||
| 	/** |  | ||||||
| 	 * The X. |  | ||||||
| 	 */ |  | ||||||
| 	public double x; |  | ||||||
| 	/** |  | ||||||
| 	 * The Y. |  | ||||||
| 	 */ |  | ||||||
| 	public double y; |  | ||||||
| 	/** |  | ||||||
| 	 * The Open. |  | ||||||
| 	 */ |  | ||||||
| 	public final boolean open; |  | ||||||
| 
 |  | ||||||
| 	/** |  | ||||||
| 	 * Instantiates a new Button information. |  | ||||||
| 	 * |  | ||||||
| 	 * @param x    the x |  | ||||||
| 	 * @param y    the y |  | ||||||
| 	 * @param open the open |  | ||||||
| 	 */ |  | ||||||
| 	public ButtonInformation(double x, double y, boolean open) { |  | ||||||
| 		this.x = x; |  | ||||||
| 		this.y = y; |  | ||||||
| 		this.open = open; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										4
									
								
								src/main/resources/assets/kerosene/lang/en_us.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/main/resources/assets/kerosene/lang/en_us.json
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | { | ||||||
|  |   "kerosene.bindings": "Binding Manager", | ||||||
|  |   "kerosene.options": "Kerosene Options" | ||||||
|  | } | ||||||
| Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 145 B | 
|  | @ -1,13 +0,0 @@ | ||||||
| { |  | ||||||
|   "petroleum.bindings": "Binding Manager", |  | ||||||
|   "petroleum.example": "Test Module", |  | ||||||
|   "petroleum.splashtext": "Splash Text", |  | ||||||
|   "petroleum.modlist": "Module List", |  | ||||||
|   "petroleum.modmenu": "Mod Menu", |  | ||||||
| 
 |  | ||||||
|   "petroleum.xray": "X-ray", |  | ||||||
| 
 |  | ||||||
|   "petroleum.misc": "Miscellaneous", |  | ||||||
|   "petroleum.render": "Render", |  | ||||||
|   "petroleum.options": "Petroleum Options" |  | ||||||
| } |  | ||||||
|  | @ -1,27 +1,27 @@ | ||||||
| { | { | ||||||
|   "schemaVersion": 1, |   "schemaVersion": 1, | ||||||
|   "id": "petroleum", |   "id": "kerosene", | ||||||
|   "version": "${version}", |   "version": "${version}", | ||||||
| 
 | 
 | ||||||
|   "name": "Petroleum", |   "name": "Kerosene", | ||||||
|   "description": "Burn it down.", |   "description": "Shared library", | ||||||
|   "authors": [ |   "authors": [ | ||||||
|     "janeptrv" |     "janeptrv" | ||||||
|   ], |   ], | ||||||
|   "contact": { |   "contact": { | ||||||
|     "homepage": "https://j4.pm/", |     "homepage": "https://j4.pm/", | ||||||
|     "sources": "https://gitdab.com/jane/petroleum" |     "sources": "https://gitdab.com/jane/kerosene" | ||||||
|   }, |   }, | ||||||
|   "license": "WTFPL", |   "license": "WTFPL", | ||||||
|   "icon": "assets/petroleum/icon.png", |   "icon": "assets/kerosene/icon.png", | ||||||
|   "environment": "*", |   "environment": "*", | ||||||
|   "entrypoints": { |   "entrypoints": { | ||||||
|     "main": [ |     "main": [ | ||||||
|       "pm.j4.petroleum.PetroleumMod" |       "pm.j4.kerosene.KeroseneMod" | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   "mixins": [ |   "mixins": [ | ||||||
|     "petroleum.mixins.json" |     "kerosene.mixins.json" | ||||||
|   ], |   ], | ||||||
|   "depends": { |   "depends": { | ||||||
|     "fabricloader": ">=0.7.4", |     "fabricloader": ">=0.7.4", | ||||||
|  |  | ||||||
|  | @ -1,16 +1,13 @@ | ||||||
| { | { | ||||||
|   "required": true, |   "required": true, | ||||||
|   "minVersion": "0.8", |   "minVersion": "0.8", | ||||||
|   "package": "pm.j4.petroleum.mixin", |   "package": "pm.j4.kerosene.mixin", | ||||||
|   "compatibilityLevel": "JAVA_8", |   "compatibilityLevel": "JAVA_8", | ||||||
|   "mixins": [ |   "mixins": [ | ||||||
|   ], |   ], | ||||||
|   "client": [ |   "client": [ | ||||||
|     "DebugHudMixin", |  | ||||||
|     "EntryListWidgetAccessor", |     "EntryListWidgetAccessor", | ||||||
|     "ModListMixin", |     "OptionsMenuMixin" | ||||||
|     "OptionsMenuMixin", |  | ||||||
|     "TitleScreenMixin" |  | ||||||
|   ], |   ], | ||||||
|   "injectors": { |   "injectors": { | ||||||
|     "defaultRequire": 1 |     "defaultRequire": 1 | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue