diff --git a/src/main/java/net/mcreator/superbwarfare/ModUtils.java b/src/main/java/net/mcreator/superbwarfare/ModUtils.java index ba14b4483..dc2ab13d2 100644 --- a/src/main/java/net/mcreator/superbwarfare/ModUtils.java +++ b/src/main/java/net/mcreator/superbwarfare/ModUtils.java @@ -1,5 +1,6 @@ package net.mcreator.superbwarfare; +import net.mcreator.superbwarfare.config.ClientConfig; import net.mcreator.superbwarfare.init.*; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.message.*; @@ -15,7 +16,9 @@ import net.minecraftforge.common.brewing.BrewingRecipeRegistry; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.network.NetworkDirection; @@ -39,6 +42,8 @@ public class ModUtils { public static final Logger LOGGER = LogManager.getLogger(ModUtils.class); public ModUtils() { + ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ClientConfig.init()); + IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); ModPerks.register(bus); diff --git a/src/main/java/net/mcreator/superbwarfare/client/ClickHandler.java b/src/main/java/net/mcreator/superbwarfare/client/ClickHandler.java index e0f4bf3ec..2ba20141e 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/ClickHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/client/ClickHandler.java @@ -2,6 +2,7 @@ package net.mcreator.superbwarfare.client; import com.mojang.blaze3d.platform.InputConstants; import net.mcreator.superbwarfare.ModUtils; +import net.mcreator.superbwarfare.config.client.EmptyAutoReloadConfig; import net.mcreator.superbwarfare.entity.ICannonEntity; import net.mcreator.superbwarfare.entity.MortarEntity; import net.mcreator.superbwarfare.init.ModItems; @@ -88,7 +89,9 @@ public class ClickHandler { event.setCanceled(true); if (stack.is(ModTags.Items.GUN) && !stack.is(ModTags.Items.CANNOT_RELOAD) && stack.getOrCreateTag().getInt("ammo") <= 0) { - ModUtils.PACKET_HANDLER.sendToServer(new ReloadMessage(0)); + if (EmptyAutoReloadConfig.EMPTY_AUTO_RELOAD.get()) { + ModUtils.PACKET_HANDLER.sendToServer(new ReloadMessage(0)); + } } else { ModUtils.PACKET_HANDLER.sendToServer(new FireMessage(0)); } diff --git a/src/main/java/net/mcreator/superbwarfare/config/ClientConfig.java b/src/main/java/net/mcreator/superbwarfare/config/ClientConfig.java new file mode 100644 index 000000000..e8eb38842 --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/config/ClientConfig.java @@ -0,0 +1,16 @@ +package net.mcreator.superbwarfare.config; + +import net.mcreator.superbwarfare.config.client.EmptyAutoReloadConfig; +import net.minecraftforge.common.ForgeConfigSpec; + +public class ClientConfig { + + public static ForgeConfigSpec init() { + ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); + + EmptyAutoReloadConfig.init(builder); + + return builder.build(); + } + +} diff --git a/src/main/java/net/mcreator/superbwarfare/config/client/EmptyAutoReloadConfig.java b/src/main/java/net/mcreator/superbwarfare/config/client/EmptyAutoReloadConfig.java new file mode 100644 index 000000000..e754b8ea1 --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/config/client/EmptyAutoReloadConfig.java @@ -0,0 +1,17 @@ +package net.mcreator.superbwarfare.config.client; + +import net.minecraftforge.common.ForgeConfigSpec; + +public class EmptyAutoReloadConfig { + + public static ForgeConfigSpec.BooleanValue EMPTY_AUTO_RELOAD; + + public static void init(ForgeConfigSpec.Builder builder) { + builder.push("empty_auto_reload"); + + builder.comment("Set TRUE if you want to reload guns when ammo is empty"); + EMPTY_AUTO_RELOAD = builder.define("empty_auto_reload", true); + + builder.pop(); + } +}