Skip to content

Commit

Permalink
Optimized annotations and some imports.
Browse files Browse the repository at this point in the history
  • Loading branch information
Achille004 committed Sep 21, 2024
1 parent 166844e commit 12462cc
Show file tree
Hide file tree
Showing 11 changed files with 94 additions and 90 deletions.
16 changes: 9 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,15 @@ repositories {

dependencies {
implementation "net.neoforged:neoforge:${neo_version}"
implementation("mekanism:Mekanism:${mekanism_version}")
compileOnly("mekanism:Mekanism:${mekanism_version}:api")
implementation("top.theillusivec4.curios:curios-neoforge:${curios_version}")
implementation "mekanism:Mekanism:${mekanism_version}"
compileOnly "mekanism:Mekanism:${mekanism_version}:api"
implementation "top.theillusivec4.curios:curios-neoforge:${curios_version}"

runtimeOnly("mekanism:Mekanism:${mekanism_version}") // Mekanism
runtimeOnly("dev.emi:emi-neoforge:${emi_version}+${minecraft_version}")
runtimeOnly("curse.maven:jade-324717:5493270")
runtimeOnly "mekanism:Mekanism:${mekanism_version}" // Mekanism
runtimeOnly "dev.emi:emi-neoforge:${emi_version}+${minecraft_version}"
runtimeOnly "curse.maven:jade-324717:5493270"

annotationProcessor "org.jetbrains:annotations:24.0.0"
}

tasks.withType(ProcessResources).configureEach {
Expand All @@ -96,5 +98,5 @@ tasks.withType(ProcessResources).configureEach {
}

tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.encoding"UTF-8"
}
44 changes: 29 additions & 15 deletions src/main/java/meranha/mekaweapons/MekaWeapons.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
package meranha.mekaweapons;

import java.util.HashMap;
import java.util.Map;

import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;

import mekanism.api.MekanismIMC;
import mekanism.client.ClientRegistrationUtil;
import mekanism.common.Mekanism;
Expand All @@ -11,10 +17,18 @@
import mekanism.common.config.MekanismConfigHelper;
import mekanism.common.content.gear.shared.ModuleEnergyUnit;
import mekanism.common.item.ItemModule;
import mekanism.common.registration.impl.*;
import mekanism.common.registration.impl.EntityTypeDeferredRegister;
import mekanism.common.registration.impl.ItemDeferredRegister;
import mekanism.common.registration.impl.ItemRegistryObject;
import mekanism.common.registration.impl.ModuleDeferredRegister;
import mekanism.common.registration.impl.ModuleRegistryObject;
import mekanism.common.registries.MekanismCreativeTabs;
import mekanism.common.registries.MekanismModules;
import meranha.mekaweapons.items.*;
import meranha.mekaweapons.items.ItemMagnetizer;
import meranha.mekaweapons.items.ItemMekaBow;
import meranha.mekaweapons.items.ItemMekaTana;
import meranha.mekaweapons.items.MekaArrowEntity;
import meranha.mekaweapons.items.MekaArrowRenderer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.InteractionHand;
Expand All @@ -26,13 +40,6 @@
import net.minecraft.world.item.ProjectileWeaponItem;
import net.minecraft.world.item.Rarity;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.neoforge.client.event.EntityRenderersEvent;
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
import net.neoforged.neoforge.event.entity.living.LivingGetProjectileEvent;
import net.neoforged.neoforge.event.entity.player.AttackEntityEvent;
import net.neoforged.neoforge.registries.DeferredHolder;
import top.theillusivec4.curios.api.client.CuriosRendererRegistry;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.ModContainer;
Expand All @@ -42,8 +49,13 @@
import net.neoforged.fml.config.IConfigSpec;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.fml.event.lifecycle.InterModEnqueueEvent;
import java.util.HashMap;
import java.util.Map;
import net.neoforged.neoforge.client.event.EntityRenderersEvent.RegisterRenderers;
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
import net.neoforged.neoforge.event.entity.living.LivingGetProjectileEvent;
import net.neoforged.neoforge.event.entity.player.AttackEntityEvent;
import net.neoforged.neoforge.registries.DeferredHolder;
import top.theillusivec4.curios.api.client.CuriosRendererRegistry;

@SuppressWarnings({"Convert2MethodRef", "unused", "forremoval"})
@Mod(MekaWeapons.MODID)
Expand Down Expand Up @@ -99,6 +111,8 @@ public MekaWeapons(IEventBus modEventBus, ModContainer modContainer) {
NeoForge.EVENT_BUS.addListener(this::disableMekaBowAttack);
}

@NotNull
@Contract("_ -> new")
public static ResourceLocation rl(String path) {
return ResourceLocation.fromNamespaceAndPath(MekaWeapons.MODID, path);
}
Expand All @@ -118,7 +132,7 @@ private void sendCustomModules(InterModEnqueueEvent event) {
MekanismIMC.sendModuleIMC(ADD_MEKA_BOW_MODULES, MekanismModules.ENERGY_UNIT, MekanismModules.ATTACK_AMPLIFICATION_UNIT, MekaWeapons.AUTOFIRE_UNIT, MekaWeapons.ARROWENERGY_UNIT, MekaWeapons.DRAWSPEED_UNIT, MekaWeapons.GRAVITYDAMPENER_UNIT);
}

private void mekaBowEnergyArrows(final LivingGetProjectileEvent event) {
private void mekaBowEnergyArrows(final @NotNull LivingGetProjectileEvent event) {
if (!(event.getEntity() instanceof Player player) || !(player.level() instanceof ServerLevel)) {
return;
}
Expand All @@ -133,7 +147,7 @@ private void mekaBowEnergyArrows(final LivingGetProjectileEvent event) {
}

// small trick to prevent players from using the meka-bow to attack entities. This allows the tooltip to show attack damage without enabling actual damage.
private void disableMekaBowAttack(AttackEntityEvent event) {
private void disableMekaBowAttack(@NotNull AttackEntityEvent event) {
if (!(event.getEntity() instanceof Player player) || !(player.level() instanceof ServerLevel)) {
return;
}
Expand All @@ -143,11 +157,11 @@ private void disableMekaBowAttack(AttackEntityEvent event) {
}
}

public void registerRenderers(EntityRenderersEvent.RegisterRenderers event) {
public void registerRenderers(@NotNull RegisterRenderers event) {
event.registerEntityRenderer(MekaWeapons.MEKA_ARROW.get(), MekaArrowRenderer::new);
}

@EventBusSubscriber(modid = MODID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@EventBusSubscriber(modid = MekaWeapons.MODID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public static class ClientModEvents {
@SubscribeEvent
public static void onClientSetup(FMLClientSetupEvent event) {
Expand Down
8 changes: 2 additions & 6 deletions src/main/java/meranha/mekaweapons/WeaponsConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

import mekanism.common.config.BaseMekanismConfig;
import mekanism.common.config.value.CachedDoubleValue;
import mekanism.common.config.value.CachedLongValue;
import mekanism.common.config.value.CachedIntValue;
import mekanism.common.config.value.CachedLongValue;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.neoforged.fml.config.ModConfig.Type;
import net.neoforged.neoforge.common.ModConfigSpec;
import net.minecraft.world.entity.ai.attributes.Attributes;

public class WeaponsConfig extends BaseMekanismConfig {

Expand Down Expand Up @@ -51,22 +51,18 @@ public class WeaponsConfig extends BaseMekanismConfig {
this.configSpec = builder.build();
}

@Override
public String getFileName() {
return "mekaweapons";
}

@Override
public String getTranslation() {
return "Mekanism Weapons";
}

@Override
public ModConfigSpec getConfigSpec() {
return this.configSpec;
}

@Override
public Type getConfigType() {
return Type.SERVER;
}
Expand Down
11 changes: 4 additions & 7 deletions src/main/java/meranha/mekaweapons/WeaponsConfigTranslations.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package meranha.mekaweapons;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import mekanism.common.config.IConfigTranslation;
import mekanism.common.config.TranslationPreset;
import net.minecraft.Util;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public enum WeaponsConfigTranslations implements IConfigTranslation {

Expand All @@ -30,7 +31,7 @@ public enum WeaponsConfigTranslations implements IConfigTranslation {
@Nullable
private final String button;

WeaponsConfigTranslations(TranslationPreset preset, String type) {
WeaponsConfigTranslations(@NotNull TranslationPreset preset, String type) {
this(preset.path(type), preset.title(type), preset.tooltip(type));
}

Expand All @@ -50,23 +51,19 @@ public enum WeaponsConfigTranslations implements IConfigTranslation {
}

@NotNull
@Override
public String getTranslationKey() {
return key;
}

@Override
public String title() {
return title;
}

@Override
public String tooltip() {
return tooltip;
}

@Nullable
@Override
public String button() {
return button;
}
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/meranha/mekaweapons/WeaponsLang.java
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
package meranha.mekaweapons;

import org.jetbrains.annotations.NotNull;

import mekanism.api.text.ILangEntry;
import net.minecraft.Util;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.NotNull;

public enum WeaponsLang implements ILangEntry {
AUTOFIRE_MODE("tooltip", "autofire_mode"),
AUTOFIRE_MODE_CHANGE("tooltip", "autofire_mode_change"),
ARROWENERGY_MODE("tooltip", "arrowenergy_mode"),
MAGNETIZER("tooltip", "magnetizer");

private final String key;

WeaponsLang(String type, String path) {
this(Util.makeDescriptionId(type, ResourceLocation.fromNamespaceAndPath(MekaWeapons.MODID, path)));
}

private final String key;
WeaponsLang(String key) {
this.key = key;
}
Expand Down
10 changes: 7 additions & 3 deletions src/main/java/meranha/mekaweapons/WeaponsRenderer.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package meranha.mekaweapons;

import org.jetbrains.annotations.NotNull;

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Axis;

import net.minecraft.client.Minecraft;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.renderer.MultiBufferSource;
Expand All @@ -15,13 +18,14 @@
import top.theillusivec4.curios.api.client.ICurioRenderer;

public class WeaponsRenderer implements ICurioRenderer {
public boolean contains(Player player, ItemStack stack) {
public boolean contains(@NotNull Player player, ItemStack stack) {
return player.getInventory().items.stream().anyMatch(item -> !item.isEmpty() && ItemStack.isSameItem(stack, item));
}

final ItemStack katana = MekaWeapons.MEKA_TANA.getItemStack();
final ItemStack bow = MekaWeapons.MEKA_BOW.getItemStack();
public <T extends LivingEntity, M extends EntityModel<T>> void render(ItemStack stack, SlotContext slotContext, PoseStack ms, RenderLayerParent<T, M> renderLayerParent, MultiBufferSource buffer, int light, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) {

public <T extends LivingEntity, M extends EntityModel<T>> void render(ItemStack stack, @NotNull SlotContext slotContext, PoseStack ms, RenderLayerParent<T, M> renderLayerParent, MultiBufferSource buffer, int light, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) {
if (!(slotContext.entity() instanceof Player player)) {
return;
}
Expand All @@ -36,7 +40,7 @@ public <T extends LivingEntity, M extends EntityModel<T>> void render(ItemStack
}
}

private void renderItem(ItemStack stack, PoseStack ms, MultiBufferSource buffer, LivingEntity player, int rotationZN, int rotationXP, double translateX, double translateY, double translateZ, float scaleX, float scaleY, float scaleZ) {
private void renderItem(ItemStack stack, @NotNull PoseStack ms, MultiBufferSource buffer, @NotNull LivingEntity player, int rotationZN, int rotationXP, double translateX, double translateY, double translateZ, float scaleX, float scaleY, float scaleZ) {
ms.pushPose();
ms.mulPose(Axis.ZN.rotationDegrees(rotationZN));
ms.mulPose(Axis.XP.rotationDegrees(rotationXP));
Expand Down
13 changes: 6 additions & 7 deletions src/main/java/meranha/mekaweapons/items/ItemMagnetizer.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package meranha.mekaweapons.items;

import java.util.List;

import org.jetbrains.annotations.NotNull;

import mekanism.api.text.EnumColor;
import meranha.mekaweapons.WeaponsLang;
import net.minecraft.network.chat.Component;
Expand All @@ -8,17 +12,12 @@
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;

import org.jetbrains.annotations.NotNull;

import java.util.List;

public class ItemMagnetizer extends Item {
public ItemMagnetizer(Properties pProperties) {
public ItemMagnetizer(@NotNull Properties pProperties) {
super(pProperties.rarity(Rarity.RARE).stacksTo(1));
}

@Override
public void appendHoverText(@NotNull ItemStack stack, @NotNull Item.TooltipContext context, List<Component> tooltip, @NotNull TooltipFlag flag) {
public void appendHoverText(@NotNull ItemStack stack, @NotNull TooltipContext context, @NotNull List<Component> tooltip, @NotNull TooltipFlag flag) {
tooltip.add(WeaponsLang.MAGNETIZER.translateColored(EnumColor.WHITE));
}
}
Loading

0 comments on commit 12462cc

Please sign in to comment.