your current location:首页 > news>Epic Battle: Switch model rendering tutorial [EF] Epic Fight Game

Epic Battle: Switch model rendering tutorial [EF] Epic Fight Game

2024-12-10 17:47:38|Myriagame |source:minecraft skins

This tutorial is set by the author's setting without permission.

This tutorial is in the state of epic battle, detecting its own conditions for the corresponding weapon rendering, and this method does not change the characteristics of the original item, only the visual effect.

Epic Battle Version: 18.5+

Demonstration and use models: inflammatory funeral and blue fire inflammation (Note: The blue fire inflammation model is a homemade model, which is not yet public. It is only for the use of tutorial demonstrations. In addition, the lighting effect of the demonstration video can refer to the GECK model luminous tutorial written by myself).

Implementation method: Idea handwriting module requires a module where the epic battle and the corresponding rendering weapon are located.

Case: When the player starts the violent state of the epic battle-the miracle weapon, the inflammation of the funeral on the hand is rendered as the Blue Fire Funeral Disaster.

Demonstration video: https://www.bilibili.com/video/bv1hb421n7iy/? Spm_id_from = 333.999.0.0 & vd_source = B1D5FA4EFF82F6EE41D098FD86D7

First of all, create a new folder Event/Engine in your module work area, and create a new picture to indicate two Java files. The module name Modid can be set according to personal conditions:

First edit ~ rendrenEngine:

Event.add ~ Fill in the names you want to render and the name of the corresponding event.

 Package com.hanz0.tellarisdlc.event.engine;

Import l_nder.cataClysm.init.modItems;

Import network.minecraftForge.api.distMarker.dist;

import network.mineCraftforge.eventbus.api.Subscripevent;

import network.mineCraftforge.fml.Common.mod.eventbussubscriber;

import network.mineCraftforge.fml.Common.mod.eventbussubscriber.bus;

Import yesman.epicFight.api.Client.Forgeevent.patchedRenderSevent;

@Eventbussubscriber (

Modid = "Stellarisdlc",

Bus = bus.mod,

Value = {dist.client}

Cure

Public Class StellarisdlCrendrenEgine {

Public StellarisdlcrendrenEngine () {) {)

}

@SubscripeEvent

Public Static Void RegisterRenderer (PatchedRenderSevent.add Event) {

Event.additemrenderer (moditems.the_incinerator.get (), new reNERincinerator ());

}

}

Then in the renderincinerator, write as follows:

 package com.hanz0.tellarisdlc.event.engine;

Import l_nder.cataClysm.init.modItems;

import com.hanz0.tellarisdlc.tellarisdlcmod;

import com.hanz0.tellarisdlc.init.tellarisdlcmodites;

import com.mojang.blaze3d.vertex.posestack;

import network.minecraft.client.minecraft;

import network.minecraft.client.renderer.multibuffersource;

import network.mineCraft.client.renderer.block.model.Itemtransforms;

import network.mineCraft.client.renderer.Texture.overlayTexture;

import network.minecraft.World.Interactionhand;

import network.minecraft.World.entity.equipmentsLot;

import network.minecraft.World.Itemstack;

import network.minecraftForge.fml.Common.mod;

Import top.theillusivec4.curios.api.curiosapi;

Import yesman.epicFight.api.utils.Math.openmatrix4f;

Import yesman.epicFight.client.renderer.patched.renderitembase;

Import Yesman.epicFight.Model.armature.Humanoidarmature;

Import yesman.epicFight.skill.skillslots;

Import Yesman.epicFight.World.Capabilities.entitypatch.livingntitypatch;

Import yesman.epicFight.WORLD.CAPABILITIES.Entitypatch.player.Playerpatch;

@Mod.eventbussubscriber (modid = Stellarisdlcmod.modid, Bus = Mod.eventbussubscriber.Bus.Forge)

Public Class Renderincinerator Extends RenderItemBase {

Public Void RenderiteMinhand (Itemstack Stack, Livingntitypatch <?> EntityPatch, Internethand Hand, HumanoidarMature Armature, OpenMatrix4f [] POSES, Mult ibuffersource buffer, posestack posestack, int Packedlight) {OpenMatrix4f Modelmatrix = New OpenMatrix4f (this.MainhandCor Archrix););

Modelmatrix.mulfront (poses [Armature.Toolr.getid ()]);

Itemstack modelItemstack = stack;

If (entityPatch Instanceof Playerpatch <?> Player) {

If (Curiosapi.getCurioshelper (). FindequippedCurio (StellarisDLCMODITEMS.IGNISHEART.Get (), Player.getOriginal ()).

{{

If (Player.getOriginal (). GetITEMBYSLOT (equipmentslot.feet) .getItem () == Moditems.ignitium_Boots.get ()

&&Periginal (). GetItembyslot (equipmentslot.head) .getItem () == ModItems.ignitium_helmet.get ()

&& (Player.getOriginal (). GetITEMBYSLOT (equipmentslot.chest) .getITEM () == Moditems.ignitium_Chestplate.get () || etitembyslot (equipmentslot.chest) .getItem () == Moditems.Ignitium_lytra_chestplate.get ())) &&PToriginal (). GetItembyslot (Equipmentslot.legs) .getItem () == moditems.ignitium_Leggings.gings.gs.g ET ()))

{{

If (Player.getskill (Skillslots.weapon_innate) .getRemizationuration ()> 0)

{{

ModeliteMStack = New Itemstack (StellarisDLCMODITEMS.TRueincinerator.get ());

}

Else

ModeliteMSTACK = New Itemstack (StellarisDLCMODITEMS.ORIIGINALINCINATOR.Get ());}

}

}

Posestack.pushpose ();

This.mulposestack (posestack, modelmatrix);

Minecraft.getInstance (). GetItemRenderer (). RendersStatic (ModelIntEMSTACK, ItemtransForms.transformType.third_Right_hand_hand, Packedlight, Overla. ytexture.no_overlay, posestack, buffer, 0);

PoseStack.poppose ();

}

}

Finally, the normal export module jar file and put in the MODS file.Of course, don't forget to write a packet of inflammatory funeral with epic combat miracle weapons giant ax