Jump to content

MC 1.11.2 Custom armor and tools


winnetrie

Recommended Posts

I want to add a  new material called feliron wich is stronger then Diamond. The idea is to add tools and armor made of this material, but when does it become overpowered?

Can i go over the 20 armor units and when i do will the player be invincible? I do not intend to make it that way. It should only be stronger. I believe someone said once before that low hits will be absorbed by the armor but higher hits will still do damage. If this is true, what formula is used to calculate the result or where can i find it?

I always believed that adding more types of metals/ores wich can be used to make armor and tools are almost pointless because they do not really add something to improve the game. Still the idea to have a variety of metals at your disposel sounds great. So is it recommended to add some new ores/metals or better not?

 

EDIT: I also saw there is something called thougness at addArmorMaterial. What does this do? Only diamond has a value of 2.0F all the other armors have 0.0F

Edited by winnetrie
Link to comment
Share on other sites

1 hour ago, winnetrie said:

EDIT: I also saw there is something called thougness at addArmorMaterial. What does this do? Only diamond has a value of 2.0F all the other armors have 0.0F

http://minecraft.gamepedia.com/Armor#Armor_Toughness

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

If I recall correctly, every armor point (0-20) stops 4% of the damage. A full bar (20) will stop 80% of the damage.

 

EDIT: apparently I didn't.

Edited by larsgerrits

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

9 minutes ago, larsgerrits said:

If I recall correctly, every armor point (0-20) stops 4% of the damage. A full bar (20) will stop 80% of the damage.

This is old and wrong.

 

20 armor will stop 8 of 20 damage (40%).  The more damage you're taking in a single hit, the less effective your armor is.

Quote

Damage Protection

Damage taken depends on the number of defense points, the toughness of the armor worn, and the strength of the attack.

The damage formula is damage = damage * ( 1 - min( 20, max( defensePoints / 5, defensePoints - damage / ( 2 + toughness / 4 ) ) ) / 25 ). Each defense point grants a maximum of 4% damage reduction; the more damage a given attack does, the lower the percentage reduced by the armor, down to a minimum of .8% per defense point. As toughness increases, the amount of defense reduction done by high-damaging attacks is diminished, and as toughness approaches a very high value (through commands), the defense reduction caused by high-damaging attacks becomes negligible.

 

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

I have set up a custom ItemArmor class that looks like this:

 

public class ItemTemArmor extends ItemArmor{
	
	
	private Item RepairItem;

	public ItemTemArmor(String name, ArmorMaterial materialIn, Item repairitem, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(Tem.itemstab);
		Item RepairItem = repairitem; 
	}
	@Override
    public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
    {       
        return repair.isItemEqual(new ItemStack(RepairItem)) || super.getIsRepairable(toRepair, repair);
    }
}

As far as i know, this is working fine. However, it looks to simple and i'm afraid i have done it wrong.

Link to comment
Share on other sites

repair.isItemEqual(new ItemStack(RepairItem))

can be simplified torepair.getItem() == RepairItem
Except that RepairItem is always null because you did this:

Item RepairItem = repairitem; 

That variable is local and discarded as soon as the constructor finishes and theprivate Item RepairItem;declared is left undefined.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

8 minutes ago, Draco18s said:

repair.isItemEqual(new ItemStack(RepairItem))

can be simplified torepair.getItem() == RepairItem
Except that RepairItem is always null because you did this:


Item RepairItem = repairitem; 

That variable is local and discarded as soon as the constructor finishes and theprivate Item RepairItem;declared is left undefined.

O i c , i changed it to public Item RepairItem;  and "Item RepairItem = repairitem" to "RepairItem = repairitem" Works fine now. Thank you

Link to comment
Share on other sites

public/private change wasn't necessary, it was that the local-scope declaration overrode the parent scope declaration.

  • Like 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

1 minute ago, Draco18s said:

public/private change wasn't necessary, it was that the local-scope declaration overrode the parent scope declaration.

Ow yes you mean because i did this Item RepairItem= repairitem.

Setting the 'Item' infront just makes local variable to the constructor and the private/public outside the constructor remains undeclared. Right I understand now.

I'm a bit ashamed now, because this seems to be basic programming knowledge. I should not bothering you with this nonsens. Thank you very much!

Link to comment
Share on other sites

I have encountered another problem with the repairing

I have created an ItemTemScythe class extended on the biomesoplenty 1.

For some reason i cannot repair this item with the item i define.

I have used the same technique for sword, shovel, axe and pickaxe

public class ItemTemScythe extends ItemBOPScythe{
	
	private ToolMaterial toolMat;
	public Item RepairItem;

	public ItemTemScythe(ToolMaterial material, Item repairitem, String unlocalizename, String registername) {
		super(material);
		setUnlocalizedName(unlocalizename);
		setRegistryName(registername);
		setCreativeTab(Tem.tooltab);
		toolMat = material;
		RepairItem = repairitem;
		
	}
	
	@Override
    public boolean getIsRepairable(ItemStack toRepair, ItemStack repair)
    {       
        return repair.getItem()==RepairItem || super.getIsRepairable(toRepair, repair);
    }
	
	@Override
    public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving)
    {

        if (state.getBlock() == null || worldIn.getBlockState(pos).getBlock() == Blocks.AIR) {return false;}
                        
        boolean isLeaves = state.getBlock().isLeaves(worldIn.getBlockState(pos), worldIn, pos);
        
        int radius = isLeaves ? 0 : 3;
        int height = isLeaves ? 0 : 4;
        if (toolMaterial == ToolMaterial.IRON || toolMaterial == ToolMaterial.GOLD)
        {
            radius = 4;
            height = 4;
        }
        else if (toolMaterial == ToolMaterial.DIAMOND || toolMat == ModItems.FELIRONTOOL)
        {
            radius = 5;
            height = 5;
        }
        
        // automatically damage the item once - for the block originally destroyed
        stack.damageItem(1, entityLiving);
        
        int numberTrimmed = 0;
        if (isLeaves)
        {
            numberTrimmed += trim(stack, entityLiving, worldIn, pos, height, radius, TrimType.TRIM_LEAVES, false, 40);
        }
        else
        {
            // trim once with the corners cut
            numberTrimmed += trim(stack, entityLiving, worldIn, pos, height, radius, TrimType.TRIM_GRASS_AND_FLOWERS, true, 70);
            if (worldIn.rand.nextInt(3) == 0)
            {
                // with one in 3 chance, also do another 'free' trim of a smaller radius, without the corners cut
                // ('free' in the sense that it does not damage the scythe)
                numberTrimmed += trim(stack, entityLiving, worldIn, pos, height, radius - 1, TrimType.TRIM_GRASS_AND_FLOWERS, false, 0);
            }
        }
        return numberTrimmed > 0;
    }

}

 

Edited by winnetrie
Edit: Solved it. i was loading that item before i had loaded the material.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • 송현동호회 ♥BCGAME88·COM▷ 본동동호회 압구정동호회 통의동호회 문배동호회 ovp03 광희동호회 교남동호회 전농동호회 효자동호회 mis25 한남동호회 가회동호회 역삼동호회 입정동호회 lrt15 회기동호회 대전동호회 칠곡동호회 안성동호회 fmm58 송현동호회 청파동호회 여주동호회 동작동호회 wex78 밀양동호회 고척동호회 이문동호회 예관동호회 gip02 묘동동호회 창전동호회 이촌동호회 중계동호회 xeo16 명동동호회 신내동호회 혜화동호회 압구정동호회 rwm15 역삼동호회 수유동호회 순화동호회 중곡동호회 klx73 남원동호회 오곡동호회 구리동호회 염리동호회 pnj74 양평동호회 신대방동호회 이화동호회 종로동호회 jvu68 율현동호회 대조동호회 교남동호회 입정동호회 jew50 도곡동호회 인천동호회 홍파동호회 온수동호회 nhg41 하남동호회 공항동호회 예관동호회 하남동호회 gla72 석촌동호회 돈의동호회 남원동호회 남현동호회 dnn32 청암동호회 신설동호회 군포동호회 부산동호회 qal33 포천동호회 서계동호회 경운동호회 주자동호회 jyj08 이태원동호회 이천동호회 중화동호회 홍제동호회 nuq20 대구동호회 주자동호회 효창동호회 파주동호회 ifj43 신당동호회 재동동호회 천연동호회 삼척동호회 rrk24 서귀포동호회 거여동호회 한남동호회 제천동호회 fvb42 염창동호회 율현동호회 남가좌동호회 예장동호회 iyc07 여수동호회 초동동호회 을지동호회 마장동호회 wmn74
    • 스포츠 슬롯 캐쉬게임&BCGAME88·COM□ 미얀마 슬롯 놀이터 스포츠 폴란드 슬롯 주소 [본사문의 텔레 JBOX7]스포츠 슬롯 ▨º 홀덤펍 한국 슬롯 주소 스포츠 유럽 스포츠 슬롯 카지노펍 [총판문의 카톡 JBOX7]스포츠 슬롯 ㏇㏇ 접속 미얀마 슬롯 리그 스포츠 동유럽 스포츠 슬롯 총판 [각종 오피 커뮤니티 제작]스포츠 슬롯 ♧▼ 게임장 그랜드리스카지노 슬롯 동영상 스포츠 브라질 스포츠 슬롯 포커대회 [마케팅문의]스포츠 슬롯 ■■ 업체 아일랜드 슬롯 리그 스포츠 동아시아 스포츠 슬롯 쿠푼 [카지노본사]스포츠 슬롯 ※ª 업체 에티오피아 슬롯 총판 스포츠 남아프리카 스포츠 슬롯 도박장 [스포츠본사]스포츠 슬롯 ☏※ 중계 알바니아 슬롯 총판 스포츠 베네수엘라 스포츠 슬롯 경기 [토토본사 문의]스포츠 슬롯 ☞※ 본사 유럽 슬롯 게임 스포츠 BCGAME카지노 스포츠 슬롯 커뮤니티 [토토총판 구매]스포츠 슬롯 ☎→ 사이트 핀란드 슬롯 유투브 스포츠 크라운카지노 스포츠 슬롯 게임장 [카지노총판]스포츠 슬롯 ♧☏ 게임장 세이셸 슬롯 홀덤바 스포츠 남아메리카 스포츠 슬롯 총판 [야마토본사]스포츠 슬롯 ¶♭ 중계 레바논 슬롯 커뮤니티 스포츠 사우디아라비아 스포츠 슬롯 투어 [바카라총판]스포츠 슬롯 ◇◇ 커뮤니티 키르기스스탄 슬롯 투어 스포츠 그레나다 스포츠 슬롯 쿠푼 [경마총판]알바니아 슬롯 접속 파나마 슬롯 커뮤니티 [BCGAME 비씨게임 총판문의]알림 설정 추천 구독 좋아요
    • 견지안마 △BCGAME88·COM◈ 내자안마 동소문안마 신문안마 도원안마 ued27 강북안마 광희안마 청암안마 삼척안마 jep78 이방안마 무악안마 김포안마 청파안마 pbd52 전주안마 역삼안마 압구정안마 구리안마 sah87 신도림안마 동작안마 상수안마 홍익안마 kgp48 종암안마 하남안마 예관안마 창원안마 get12 삼성안마 누하안마 김천안마 노고산안마 amj85 창녕안마 고덕안마 을지안마 거창안마 pvw85 하남안마 동해안마 광명안마 공릉안마 nhv18 신공덕안마 강일안마 마천안마 구수안마 obu50 인사안마 포천안마 개봉안마 음성안마 xbh20 중구안마 관철안마 평동안마 관악안마 lmv24 신내안마 영주안마 개포안마 동작안마 wfr03 견지안마 산림안마 현석안마 고척안마 mep11 원효안마 여수안마 서린안마 부천안마 cpx00 용강안마 오곡안마 다동안마 의왕안마 wvh78 구수안마 중학안마 현저안마 입정안마 eys30 신내안마 대현안마 수색안마 면목안마 pro78 홍성안마 내곡안마 안산안마 서교안마 gxr42 오류안마 압구정안마 도곡안마 신당안마 kjw62 산림안마 저동안마 봉원안마 부산안마 uku99 고창안마 역삼안마 신계안마 예산안마 uvl98 역삼안마 쌍림안마 신교안마 당인안마 nad54
    • 실시간 포커 단톡방㈜BCGAME88·COM↓ 동남아 포커 방송 실시간 호주 포커 캐쉬게임 [본사문의 텔레 JBOX7]실시간 포커 ⊙㉿ 투어 레소토 포커 영상 실시간 아프리카 실시간 포커 리그 [총판문의 카톡 JBOX7]실시간 포커 ☆▤ 쿠푼 이스라엘 포커 영상 실시간 부탄 실시간 포커 주소 [각종 오피 커뮤니티 제작]실시간 포커 ★↗ 놀이터 이스라엘 포커 포커대회 실시간 미크로네시아 실시간 포커 경기 [마케팅문의]실시간 포커 ↖☆ 모집 세인트키츠 포커 여행 실시간 타이완 실시간 포커 유투브 [카지노본사]실시간 포커 ○▷ 카지노펍 아프리카 포커 놀이터 실시간 사모아 실시간 포커 여행 [스포츠본사]실시간 포커 ◀→ 토너먼트 아리아카지노 포커 쿠푼 실시간 베냉 실시간 포커 카지노펍 [토토본사 문의]실시간 포커 ♣@ 업체 네덜란드 포커 홀덤펍 실시간 동아시아 실시간 포커 홀덤바 [토토총판 구매]실시간 포커 ◇♬ 업체 세이셸 포커 총판 실시간 BCGAME카지노 실시간 포커 투어 [카지노총판]실시간 포커 ☞← 게임 스페인 포커 홀덤바 실시간 이탈리아 실시간 포커 도박장 [야마토본사]실시간 포커 º§ 포커대회 BCGAME카지노 포커 투어 실시간 지부티 실시간 포커 싸이트 [바카라총판]실시간 포커 ℡▥ 투어 그랜드리스카지노 포커 검증 실시간 콩고 실시간 포커 유투브 [경마총판]벨라지오카지노 포커 경기 파라과이 포커 싸이트 [BCGAME 비씨게임 총판문의]알림 설정 추천 구독 좋아요
    • 사간쩜오 ♪BCGAME88·COM□ 상수쩜오 응암쩜오 소격쩜오 성남쩜오 ksk03 신교쩜오 안성쩜오 명일쩜오 역삼쩜오 hma52 능동쩜오 개봉쩜오 개봉쩜오 신내쩜오 jyq23 봉원쩜오 화양쩜오 대조쩜오 봉원쩜오 oty88 제주쩜오 아현쩜오 마장쩜오 용인쩜오 oqn18 음성쩜오 대현쩜오 양화쩜오 광명쩜오 bwc06 송현쩜오 누하쩜오 과천쩜오 도봉쩜오 dli89 대조쩜오 세종로쩜오 파주쩜오 삼척쩜오 kam95 관수쩜오 무학쩜오 동자쩜오 하남쩜오 frk27 부천쩜오 경주쩜오 칠곡쩜오 개포쩜오 apf05 의왕쩜오 번동쩜오 저동쩜오 오장쩜오 hqn70 청량리쩜오 부산쩜오 남현쩜오 다동쩜오 yph19 명륜쩜오 강동쩜오 선릉쩜오 내수쩜오 bwj13 봉천쩜오 중랑쩜오 남영쩜오 석촌쩜오 bwg12 도림쩜오 광주쩜오 상왕십리쩜오 서소문쩜오 foe09 장충쩜오 충정쩜오 동빙고쩜오 익선쩜오 juu29 행촌쩜오 현석쩜오 연건쩜오 송파쩜오 urs93 남영쩜오 응암쩜오 양산쩜오 신설쩜오 eix38 금호쩜오 장안쩜오 무교쩜오 영암쩜오 cch66 과해쩜오 마곡쩜오 부천쩜오 청진쩜오 lqc93 상왕십리쩜오 신월쩜오 장사쩜오 무악쩜오 sal63 당진쩜오 녹번쩜오 거제쩜오 온수쩜오 ygi38 중곡쩜오 창천쩜오 태안쩜오 의왕쩜오 cmw26
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.