Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
}

archivesBaseName = "cgm"
version = "1.3.7-1.19.4"
version = "1.3.8-1.20.1"
group = "com.mrcrayfish"

java.toolchain.languageVersion = JavaLanguageVersion.of(17)
Expand All @@ -19,7 +19,7 @@ mixin {
}

minecraft {
mappings channel: 'official', version: '1.19.4'
mappings channel: 'official', version: '1.20.1'

runs {
client {
Expand Down Expand Up @@ -86,15 +86,15 @@ repositories {
}

dependencies {
minecraft 'net.minecraftforge:forge:1.19.4-45.1.0'
implementation fg.deobf('curse.maven:framework-549225:4718249')
minecraft 'net.minecraftforge:forge:1.20.1-47.2.1'
implementation fg.deobf('curse.maven:framework-549225:4718251')
implementation fg.deobf('curse.maven:configured-457570:4462894')
implementation fg.deobf('curse.maven:catalogue-459701:4496718')
implementation fg.deobf('curse.maven:backpacked-352835:4510383')
implementation fg.deobf('curse.maven:catalogue-459701:4766090')
implementation fg.deobf('curse.maven:backpacked-352835:4725665')
compileOnly fg.deobf('curse.maven:controllable-317269:4511169')
compileOnly fg.deobf("mezz.jei:jei-1.19.4-common-api:13.1.0.11")
compileOnly fg.deobf("mezz.jei:jei-1.19.4-forge-api:13.1.0.11")
runtimeOnly fg.deobf("mezz.jei:jei-1.19.4-forge:13.1.0.11")
compileOnly fg.deobf("mezz.jei:jei-1.20.1-common-api:15.2.0.27")
compileOnly fg.deobf("mezz.jei:jei-1.20.1-forge-api:15.2.0.27")
runtimeOnly fg.deobf("mezz.jei:jei-1.20.1-forge:15.2.0.27")
annotationProcessor('org.spongepowered:mixin:0.8.5:processor')
}

Expand Down
Empty file modified gradlew
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion src/main/java/com/mrcrayfish/guns/GunMod.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ public GunMod()
bus.addListener(this::onGatherData);
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
FrameworkClientAPI.registerDataLoader(MetaLoader.getInstance());
ClientHandler.registerCreativeTab(bus);
bus.addListener(KeyBinds::registerKeyMappings);
bus.addListener(CrosshairHandler::onConfigReload);
bus.addListener(ClientHandler::onRegisterReloadListener);
bus.addListener(ClientHandler::onRegisterCreativeTab);
bus.addListener(ClientHandler::registerAdditional);
});
controllableLoaded = ModList.get().isLoaded("controllable");
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/mrcrayfish/guns/client/BulletTrail.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public void tick()
Entity shooter = this.getShooter();
if(shooter instanceof Player && ((Player) shooter).isLocalPlayer())
{
Level world = shooter.level;
Level world = shooter.level();
world.addAlwaysVisibleParticle(this.particleData, true, this.position.x(), this.position.y(), this.position.z(), this.motion.x, this.motion.y, this.motion.z);
}

Expand Down
136 changes: 56 additions & 80 deletions src/main/java/com/mrcrayfish/guns/client/ClientHandler.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.mrcrayfish.guns.client;

import com.mrcrayfish.guns.GunMod;
import com.mrcrayfish.guns.Reference;
import com.mrcrayfish.guns.client.handler.*;
import com.mrcrayfish.guns.client.render.gun.ModelOverrides;
import com.mrcrayfish.guns.client.render.gun.model.GrenadeLauncherModel;
Expand Down Expand Up @@ -29,6 +28,7 @@
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.registries.Registries;
import net.minecraft.nbt.Tag;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
Expand All @@ -44,25 +44,26 @@
import net.minecraftforge.client.event.RegisterClientReloadListenersEvent;
import net.minecraftforge.client.event.ScreenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.CreativeModeTabEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import org.lwjgl.glfw.GLFW;

import java.lang.reflect.Field;

import static com.mrcrayfish.guns.Reference.MOD_ID;

/**
* Author: MrCrayfish
*/
@Mod.EventBusSubscriber(modid = Reference.MOD_ID, value = Dist.CLIENT)
public class ClientHandler
{
@Mod.EventBusSubscriber(modid = MOD_ID, value = Dist.CLIENT)
public class ClientHandler {
private static Field mouseOptionsField;

public static void setup()
{
public static void setup() {
MinecraftForge.EVENT_BUS.register(AimingHandler.get());
MinecraftForge.EVENT_BUS.register(BulletTrailRenderingHandler.get());
MinecraftForge.EVENT_BUS.register(CrosshairHandler.get());
Expand All @@ -74,8 +75,7 @@ public static void setup()
MinecraftForge.EVENT_BUS.register(new PlayerModelHandler());

/* Only register controller events if Controllable is loaded otherwise it will crash */
if(GunMod.controllableLoaded)
{
if (GunMod.controllableLoaded) {
MinecraftForge.EVENT_BUS.register(new ControllerHandler());
GunButtonBindings.register();
}
Expand All @@ -86,46 +86,38 @@ public static void setup()
registerScreenFactories();
}

private static void setupRenderLayers()
{
private static void setupRenderLayers() {
ItemBlockRenderTypes.setRenderLayer(ModBlocks.WORKBENCH.get(), RenderType.cutout());
}

private static void registerColors()
{
private static void registerColors() {
ItemColor color = (stack, index) -> {
if(!IColored.isDyeable(stack))
{
if (!IColored.isDyeable(stack)) {
return -1;
}
if(index == 0 && stack.hasTag() && stack.getTag().contains("Color", Tag.TAG_INT))
{
if (index == 0 && stack.hasTag() && stack.getTag().contains("Color", Tag.TAG_INT)) {
return stack.getTag().getInt("Color");
}
if(index == 0 && stack.getItem() instanceof IAttachment)
{
if (index == 0 && stack.getItem() instanceof IAttachment) {
ItemStack renderingWeapon = GunRenderingHandler.get().getRenderingWeapon();
if(renderingWeapon != null)
{
if (renderingWeapon != null) {
return Minecraft.getInstance().getItemColors().getColor(renderingWeapon, index);
}
}
if(index == 2) // Reticle colour
if (index == 2) // Reticle colour
{
return PropertyHelper.getReticleColor(stack);
}
return -1;
};
ForgeRegistries.ITEMS.forEach(item -> {
if(item instanceof IColored)
{
if (item instanceof IColored) {
Minecraft.getInstance().getItemColors().register(color, item);
}
});
}

private static void registerModelOverrides()
{
private static void registerModelOverrides() {
/* Weapons */
ModelOverrides.register(ModItems.ASSAULT_RIFLE.get(), new SimpleModel(SpecialModels.ASSAULT_RIFLE::getModel));
ModelOverrides.register(ModItems.BAZOOKA.get(), new SimpleModel(SpecialModels.BAZOOKA::getModel));
Expand All @@ -138,43 +130,33 @@ private static void registerModelOverrides()
ModelOverrides.register(ModItems.SHOTGUN.get(), new SimpleModel(SpecialModels.SHOTGUN::getModel));
}

private static void registerScreenFactories()
{
private static void registerScreenFactories() {
MenuScreens.register(ModContainers.WORKBENCH.get(), WorkbenchScreen::new);
MenuScreens.register(ModContainers.ATTACHMENTS.get(), AttachmentScreen::new);
}

@SubscribeEvent
public static void onScreenInit(ScreenEvent.Init.Post event)
{
if(event.getScreen() instanceof MouseSettingsScreen screen)
{
if(mouseOptionsField == null)
{
public static void onScreenInit(ScreenEvent.Init.Post event) {
if (event.getScreen() instanceof MouseSettingsScreen screen) {
if (mouseOptionsField == null) {
mouseOptionsField = ObfuscationReflectionHelper.findField(MouseSettingsScreen.class, "f_96218_");
mouseOptionsField.setAccessible(true);
}
try
{
try {
OptionsList list = (OptionsList) mouseOptionsField.get(screen);
//list.addBig(OptionInstance.createBoolean("t", true));
//list.addSmall(GunOptions.ADS_SENSITIVITY, GunOptions.CROSSHAIR);
}
catch(IllegalAccessException e)
{
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}

@SubscribeEvent
public static void onKeyPressed(InputEvent.Key event)
{
public static void onKeyPressed(InputEvent.Key event) {
Minecraft mc = Minecraft.getInstance();
if(mc.player != null && mc.screen == null && event.getAction() == GLFW.GLFW_PRESS)
{
if(KeyBinds.KEY_ATTACHMENTS.isDown())
{
if (mc.player != null && mc.screen == null && event.getAction() == GLFW.GLFW_PRESS) {
if (KeyBinds.KEY_ATTACHMENTS.isDown()) {
PacketHandler.getPlayChannel().sendToServer(new C2SMessageAttachments());
}
/*else if(event.getKey() == GLFW.GLFW_KEY_KP_9)
Expand All @@ -184,55 +166,49 @@ public static void onKeyPressed(InputEvent.Key event)
}
}

public static void onRegisterReloadListener(RegisterClientReloadListenersEvent event)
{
public static void onRegisterReloadListener(RegisterClientReloadListenersEvent event) {
event.registerReloadListener((ResourceManagerReloadListener) manager -> {
PropertyHelper.resetCache();
});
}

public static void registerAdditional(ModelEvent.RegisterAdditional event)
{
event.register(new ResourceLocation(Reference.MOD_ID, "special/test"));
public static void registerAdditional(ModelEvent.RegisterAdditional event) {
event.register(new ResourceLocation(MOD_ID, "special/test"));
}

public static void onRegisterCreativeTab(CreativeModeTabEvent.Register event)
{
event.registerCreativeModeTab(new ResourceLocation(Reference.MOD_ID, "creative_tab"), builder ->
public static void registerCreativeTab(IEventBus bus) {
DeferredRegister<CreativeModeTab> register = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID);
CreativeModeTab.Builder builder = CreativeModeTab.builder();
builder.title(Component.translatable("itemGroup." + MOD_ID));
builder.icon(() -> {
ItemStack stack = new ItemStack(ModItems.PISTOL.get());
stack.getOrCreateTag().putBoolean("IgnoreAmmo", true);
return stack;
});
builder.displayItems((flags, output) ->
{
builder.title(Component.translatable("itemGroup." + Reference.MOD_ID));
builder.icon(() -> {
ItemStack stack = new ItemStack(ModItems.PISTOL.get());
stack.getOrCreateTag().putBoolean("IgnoreAmmo", true);
return stack;
});
builder.displayItems((flags, output) ->
ModItems.REGISTER.getEntries().forEach(registryObject ->
{
ModItems.REGISTER.getEntries().forEach(registryObject ->
{
if(registryObject.get() instanceof GunItem item)
{
ItemStack stack = new ItemStack(item);
stack.getOrCreateTag().putInt("AmmoCount", item.getGun().getGeneral().getMaxAmmo());
output.accept(stack);
return;
}
output.accept(registryObject.get());
});
CustomGunManager.fill(output);
for(Enchantment enchantment : ForgeRegistries.ENCHANTMENTS)
{
if(enchantment.category == EnchantmentTypes.GUN || enchantment.category == EnchantmentTypes.SEMI_AUTO_GUN)
{
output.accept(EnchantedBookItem.createForEnchantment(new EnchantmentInstance(enchantment, enchantment.getMaxLevel())), CreativeModeTab.TabVisibility.PARENT_TAB_ONLY);
}
if (registryObject.get() instanceof GunItem item) {
ItemStack stack = new ItemStack(item);
stack.getOrCreateTag().putInt("AmmoCount", item.getGun().getGeneral().getMaxAmmo());
output.accept(stack);
return;
}
output.accept(registryObject.get());
});
CustomGunManager.fill(output);
for (Enchantment enchantment : ForgeRegistries.ENCHANTMENTS) {
if (enchantment.category == EnchantmentTypes.GUN || enchantment.category == EnchantmentTypes.SEMI_AUTO_GUN) {
output.accept(EnchantedBookItem.createForEnchantment(new EnchantmentInstance(enchantment, enchantment.getMaxLevel())), CreativeModeTab.TabVisibility.PARENT_TAB_ONLY);
}
}
});
register.register("creative_tab", builder::build);
register.register(bus);
}

public static Screen createEditorScreen(IEditorMenu menu)
{
public static Screen createEditorScreen(IEditorMenu menu) {
return new EditorScreen(Minecraft.getInstance().screen, menu);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ private void renderBulletTrail(BulletTrail trail, PoseStack poseStack, float del
poseStack.mulPose(Axis.YP.rotationDegrees((trail.getAge() + deltaTicks) * (float) 50));
poseStack.scale(0.275F, 0.275F, 0.275F);

int combinedLight = LevelRenderer.getLightColor(entity.level, BlockPos.containing(entity.position()));
int combinedLight = LevelRenderer.getLightColor(entity.level(), BlockPos.containing(entity.position()));
ItemStack stack = trail.getItem();
RenderUtil.renderModel(stack, ItemDisplayContext.NONE, poseStack, renderTypeBuffer, combinedLight, OverlayTexture.NO_OVERLAY, null, null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ public void onRenderOverlay(RenderGuiOverlayEvent.Pre event)
if(mc.player.getUseItem().getItem() == Items.SHIELD)
return;

PoseStack stack = event.getPoseStack();
PoseStack stack = event.getGuiGraphics().pose();
stack.pushPose();
int scaledWidth = event.getWindow().getGuiScaledWidth();
int scaledHeight = event.getWindow().getGuiScaledHeight();
Expand Down
Loading