새로운 엔티티(Entity)를 만들게 되면 Attribute를 다루게 됩니다. Attribute는 최대 체럭, 공격력, 이동 속도와 같은 엔티티(Entity)의 능력치를 말합니다. Attribute가 정확히 무엇인가하는 더욱 자세한 설명은 마인크래프트 위키에 잘 나와있습니다. http://minecraft.gamepedia.com/Attribute

 

이 강의에서는 기존의 Attribute를 다루고, 직접 새로운 Attribute를 정의하고 더 나아가서 코드로 그 값들을 수정하는 법을 배울 것입니다.

 

Attribute 만들기

1단계

새로운 Attribute를 만들기 위해 가장 먼저 해야 할 일은 IAttribute 객체를 만드는 것입니다. 인터페이스(Interface) 객체를 만들어야 한다고 해서 IAttribute를 상속하는 클래스(Class)를 만들 필요는 없습니다. 이미 마인크래프트(Minecraft)에서 기존의 모든 Attribute에 적용되고 있는 RangedAttribute라는 클래스(Class)를 제공하기 때문입니다. 생성자는 다음과 같은 인자를 가지고 있습니다.

 

RangedAttribute(IAttribute p_i45891_1_, String p_i45891_2_, double p_i45891_3_, double p_i45891_5_, double p_i45891_7_)

IAttribute
p_i45891_1 :
정확한
기능을 파악할 없습니다. 모든 Attribute에서 "(IAttribute)null" 지정합니다.
String p_i45891_2_ : Attribute
이름입니다. 이름은 같은 Attribute 같은 엔티티(Entity)에게 2 이상 지정하지 못합니다. 그렇기 때문에 모드 아이디(Mod ID) 이용해서 구분하는 것이 바람직합니다. SoundBody.MOD_ID + ".digspeed"」와 같은 형식입니다.
double p_i45891_3_ : Attribute의 기본값입니다. 엔티티(Entity)가 처음 생성될 때, 기본 값으로 이 Attribute에 대입됩니다. 최소값, 최대값의 범위를 벗어날 수 없습니다. 만약 벗어난다면 IllegalArgumentException을 발생시킵니다.
double p_i45891_5_ : Attribute의 최소값입니다. 대부분 0.0D의 값을 가지고 있습니다. 최소값이기 때문에 실제 Attribute 값은 이 이하로 내려가지 않습니다. 이 값 자체가 최대값보다 커진다면 IllegalArgumentException을 발생시킵니다.
double p_i45891_7_ : Attribute의 최대값입니다. 대부분 Double.MAX_VALUE의 값을 가지고 있습니다. 최대값이기 때문에 실제 Attribute 값은 이보다 커질 수 없습니다. 이 값 자체가 최소값보다 작아진다면 IllegalArgumentException을 발생시킵니다.

 

Attribute를 만드는 것은 크게 어렵지 않습니다.

public static IAttribute digspeedFactor = new RangedAttribute((IAttribute)null, Strings.attribute_digspeedfactor_name, 1.0, 0.0, Double.MAX_VALUE);

 

하지만 이게 끝은 아닙니다. 만약 Attribute가 클라이언트(Client)와 동기화가 되어야 한다면 setShouldWatch()를 true로 설정해야만 합니다. false로 한다면 당연히 동기화 기능을 끌 수 있습니다. 이 함수는 값이 변경된 객체를 다시 반환하기 때문에 다음과 같이 코드를 작성할 수 있습니다.

public static IAttribute digspeedFactor = new RangedAttribute((IAttribute)null, Strings.attribute_digspeedfactor_name, 1.0, 0.0, Double.MAX_VALUE).setShouldWatch(true);

 

 

2단계

열심히 Attribute를 만들었지만 사실 엔티티(Entity)는 그런 Attribute가 있다는 사실조차 알지 못합니다. 그렇기 때문에 Attribute를 반드시 등록해야 합니다. 등록하는 시기는 엔티티(Entity) 클래스(Class)에서 applyEntityAttributes() 함수가 호출될 때입니다. 간단히 override하시면 됩니다. 그리고 this.getAttributeMap().registerAttribute(MY_OWN_ATTRIBUTE)을 호출하세요. 물론 「MY_OWN_ATTRIBUTE」는 그저 예시일 뿐입니다. 1단계에서 만든 Attribute를 등록하시면 될 겁니다.

@Override

protected void applyEntityAttributes() {

super.applyEntityAttributes(); // 상위 함수를 호출하지 않으면 체력이나 이동속도와 같은 기본적인 Attribute가 등록되지 않을 것입니다.

this.getAttributeMap().registerAttribute(TurretAttributes.MAX_AMMO_CAPACITY);

}

 

 

3단계

Attribute를 만들고 등록까지 마쳤지만 아직 쓰임은 없습니다. 이 값을 가져오기는 상당히 간단합니다. this.getEntityAttribute(MY_OWN_ATTRIBUTE).getAttributeValue()를 호출하시면 값을 가져올 수 있습니다.

 

 

 

Modifier 만들기

이제 Attribute 값을 수정만 하면 필요한 기능을 구현할 수 있을 것입니다.

1. 기본값 변경하기

이 방법은 직접적으로 값을 변경하기 때문에 간단합니다. 최대 체력을 직접 지정해주거나 할 때 많이 사용되는 방법입니다. 다음의 코드를 참고하세요.

this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); // 엔티티(Entity)의 최대 체력을 40(하트 반 칸)으로 지정합니다.

이 방법은 클라이언트(Client)와 자동으로 동기화되지 않습니다. 동기화 하려면 수동적으로 패킷(Packet)을 보내서 하셔야 합니다.

 

 

2. Attribute에 Modifier 추가하기

이 방법은 Attribute를 바꾸고 나서 언제든지 원래 값으로 되돌릴 수 있는 '가역적'인 방법입니다. 우리가 추가하려는 것은 기본적으로 Attribute Modifier이고 역시 위키에 잘 설명되어 있습니다. http://minecraft.gamepedia.com/Attribute#Modifiers

Attribute랑 비슷하게 객체를 만들어야 합니다. 이 경우에도 이미 AttributeModifier 클래스(Class)가 정의되어 있어 편리합니다. 생성자의 인자는 다음과 같습니다.

 

public AttributeModifier(UUID p_i1606_1_, String p_i1606_2_, double p_i1606_3_, int p_i1606_5_)

 

UUID p_i1606_1_ : UUID입니다. 그렇기 때문에 Modifier마다 유일해야 합니다. Attribute에서 이름(name)에 해당하는 값인 것이죠. https://www.uuidgenerator.net/ 에서 UUID를 생성할 수 있습니다. 그냥 이렇게 생성해도 겹칠 일은 거의 없습니다. 이게 UUID 클래스(Class) 의 편리함입니다. UUID.fromString()를 이용하면 사전에 생성 해 놓은 문자열로부터 UUID를 얻을 수 있습니다. UUID.fromString("e6107045-134f-4c54-a645-75c3ae5c7a27")」이런 식 입니다.
String p_i1606_2_ : Modifier 이름에 해당하는 인자입니다. 빈 문자열만 아니면 문제가 없습니다. 심지어 겹쳐도 됩니다. 어차피 식별에 사용되는 인자는 UUID이기 때문입니다.
double p_i1606_3_ : 얼마나 값을 변경할 것인지에 해당하는 인자입니다. Modifier를 통해서도 Attribute의 기본적인 최소, 최대값은 넘을 수 없으니 유의하셔야 합니다.
int p_i1606_5_ : Modifier의 연산자(Operation)입니다. 위키 내용을 참고하세요. 간단하게 설명하면 연산자(Operation)는 어떻게 값이 변경되는지를 결정하는 요소입니다. Attribute에 값을 더할 건지, 곱할 건지를 지정하는 것입니다.

연산자(Operation) 0: X를 만큼 더합니다. 연산자(Operation) 1: Y가 "X*"만큼 증가합니다. 연산자(Operation) 2: Y=Y*(1+). 처음 "X=기본값"으로 대입됩니다. 그 후 연산자(Operation) 0이 실행이 되고 "Y=X"로 대입됩니다. 이후 연산자(Operation) 1이, 마지막으로 연산자(Operation) 2가 적용됩니다.

 

이제 모든 인자를 알아보았으니 객체를 생성해 보겠습니다.

MY_CUSTOM_MODIFIER = new AttributeModifier(UUID.fromString("e6107045-134f-4c54-a645-75c3ae5c7a27"), "myCustomModifier420BlazeIt", 0.360D, EnumAttrModifierOperation.ADD_PERC_VAL_TO_SUM.ordinal());

이제 객체도 만들었으니 어떻게 적용하고 해제하는지 확인 해보겠습니다.

entity.getEntityAttribute(MY_ATTRIBUTE_INSTANCE).applyModifier(MY_CUSTOM_MODIFIER);
entity.getEntityAttribute(MY_ATTRIBUTE_INSTANCE).removeModifier(MY_CUSTOM_MODIFIER);

 

 

 

Attribute는 자동으로 저장되고 불러와집니다. 따라서 수동적으로 해당 작업을 해주실 필요는 없습니다. 다만 클라이언트(Client)와 동기화만 조금 신경 써 주시면 됩니다.

 

 

 

 

참고자료:

http://www.minecraftforge.net/forum/index.php/topic,30137.msg156378.html

위의 자료에서 강의 구성, 샘플 코드 등을 참고 했습니다. 사실상 거의 번역본입니다.

'마인크래프트 모딩 > 강의' 카테고리의 다른 글

아이템 스택(Item Stack)  (2) 2015.10.05
[모딩] 포션 추가  (0) 2015.08.15
5. AI  (5) 2015.02.06
4. 포션 추가(번역)  (0) 2015.02.05
3.동물을 추가해보자 (EntityAnimal)  (0) 2015.02.05

Major New Feature:
@Mode Side Control:
New @Mod properties to define which environment to load the mod on.
   clientSideOnly will only be loaded in the Client environment.
   serverSideOnly will only be loaded in the Dedicated server environment.
   Combine with acceptedMinecraftVersions to prevent users from loading the mod in the incorrect environment.
   For the love of god modders USE THIS! It'll stop all those 'you ran a 1.7 mod on 1.8!' and 'you ran a client mod on the server!' 

@Mode 환경(서버/클라이언트) 제어:

새로운 @Mod properties를 설정해서 서버/클라이언트 중 어디에서 모드가 실행되어야 하는지 지정합니다. 종전의 acceptedMinecraftVersions와 함께 사용한다면 사용자가 잘못된 환경에서 모드를 실행하는 것을 막을 수 있습니다. 그러니까 모드 제작자들은 이 기능을 적극적으로 사용하세요.


Command Exploit:
Fixed several exploits that would allow players to run commands above their privledge level.

명령어(Command) 버그 악용:

권한을 무시하고 명령어(Commands)를 실행할 수 있었던 버그를 수정했습니다.


Downgrading Netty:
The version of netty shipped with the vanilla dedicated server jar contains bugs. So Forge downgrades it to match the version of Netty that the client uses.

Netty 버전 낮춤(Downgrade)

바닐라 서버 파일에 사용되는 Netty가 버그를 가지고 있었습니다. 따라서 Forge에서 그 버전을 클라이언트 파일에 사용되는 것과 같은 것으로 낮췄습니다.

BlockState.json format change:
Modders have been whining seince day one about the new json model format that was introduced in 1.8. They have some valid points that it is quite verbose. Which is what Forge is here to address! {Seriously guys, working forward is better then bitching}
See https://github.com/MinecraftForge/MinecraftForge/pull/1885 for more details.

BlockState.json 형식 변경:

모드 제작자들은1.8에 새로 생긴 json 모델 형식 때문에 고통 받고 있었습니다. 새로 생긴 모델 형식은 나쁘진 않지만 너무 귀찮았죠. (진지하게 이야기하는데, 열심히 작업하는게 욕하는 것 보단 좋습니다) 자세한 사항은 https://github.com/MinecraftForge/MinecraftForge/pull/1885를 보세요

B3D Improvements:
 - fixed keyframe transformation application
 - textures are now resolved the same way as in vanilla models
 - added the ability to use forge blockstate texture information
 - removed unused code from the B3D example 

B3D 개선

(B3D에 대해 아는 지식이 전무합니다)


Loading Screen:
Thanks to Fry for working on a new loading screen for Forge.
You can see it in action below, it works on 99% of end users computers, however some OSX/Linux graphics drivers, and some mod combinations do not behave with it correctly.
So, we have added the option to disable it. Simply go into .minecraft/config/splash.properties and set enabled=false.
If Forge detects one of the common errors it will automatically disable this entry and show a error message in the log stating that you should simply try running it again. But if all else fails you can manually disable it as previously stated.
It works with 99% of users, and it's far better then just a 'not responding' screen so it's enabled by default.

불러오기 화면

새로운 불러오기 화면을 만들어준 Fry에 감사의 인사를 전합니다.
아래의 화면은 99% 컴퓨터에서 모두 동작하지만 간혹 OSX/Linux 그래픽 드라이버에 특정한 모드 조합에서 동작하지 않습니다.
그래서 끌 수 있는 기능을 넣었습니다. .minecraft/config/splash.properties에서 enabled=false 로 설정하세요.
에러가 발생하게 되면은 Forge가 자동으로 인식해서 에러 메시지를 출력하고 해당 부분만 기능을 끄기 때문에 사용자는 재시작만 하면 됩니다. 하지만 불러오기 화면을 출력하는 기능 전체가 오작동한다면 앞서 이야기한대로 수동적으로 꺼줘야 합니다.
대부분의 환경에서 정상적으로 작동하고, '응답 없음' 화면보다는 훨씬 좋기 때문에 기본적으로 이 기능은 켜집니다.


FML and Forge Official Merge:
FML and Forge have always shipped together, but for my own sanity and easier maintainability FML and Forge are now in the same github repository. FML will no longer be shipped standalone because nobody ever used it. And eventually everything in FML will be merged directly into Forge. Code and packages will most likely stay the same so modders, don't worry! This is mainly just a ease of development {no longer having to push to 4 repositories every time I change FML}

FML과 Forge가 공식적으로 병합됩니다:

FML과 Forge는 항상 같이 나왔습니다. 하지만 순전히 저의 판단과 관리효율을 위해 FML과 Forge를 같은 깃허브(Github) 레포지토리(Repository)에 넣기로 결정했습니다. FML는 지금껏 아무도 이것만 따로 쓰지 않았기 때문에 이제 혼자서만 따로 발매되지 않습니다. 그렇기 때문에 FML에 있는 모든 것들은 Forge로 병합될 것입니다. 모드 제작자 여러분, 걱정마세요. 코드랑 패키지는 그대로 놔둘 것입니다. 이건 다 쉬운 개발을 위한 것이니까요.(FML을 바꿀때마다 4개의 레포지토리에 푸시해야만 했습니다.)

마인크래프트 1.8-11.14.3.1499-환경에서 제작되었습니다.

공식 게시글은 http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2228763-hungry-animals-more-realistic-animals입니다.

다운로드는 http://adf.ly/1GD62S입니다.

공식 위키는 http://hungryanimals.wikia.com/wiki/Hungry_Animals_Wiki 입니다. 한국어 문서 작성을 도와주실 분이 있다면 감사하겠습니다.

 

1.0.4.2~2.0까지의 변경 사항 원본

2.0.beta07

1. Rendering

Pointed animal's hunger/health/age/taming and potion effects are displayed on mouse cursor.

Potion Effect : displays every effect of the pointed animal one by one.
Hunger : Blue line
Health : Green line
Age : Magenta (Adult, not reproducable), Yellow (Baby, growing), Black (otherwise)
Taming: Red (wild), Green (tamed)

 

2.0.beta06

1. Floor Cover

Floor Cover has a special effect for the animals above.
There are 4 kinds of floor covers with specific effect :

Leaf Floor Cover : baby animals grow faster (+25%)
Wool Floor Cover : adult animals produce babies faster (+25%)
Hay Floor Cover : excreta dissolves faster

2. Recipe

Recipe for floor covers are added.

3. Configuration

Erosion On Hay : probability that the excreta block above a hay floor cover block dissolves on update tick.

 

2.0.alpha05

1. Large Crank

Add recipe
Animals work when full (with more than 50% of hunger)

2. Debug Glass

internal improvement (Code Optimization)
GUI Improvement
can edit some variables of the animal

3. Millstone

not directly powered by player (by crank)
accepts items by right-click
shows items inside
*currently uncraftable

4. Bug Fix

Thresher/Blender drops internal items when destroyed.

 

2.0.alpha04

1. Large Crank

saves its leashed entity.
improved animal AI leashed.
produces energy depending on the animal's position. (produces more energy when the animal leads the connected handle of the crank)
only tamed animals can run large cranks

 

 

2.0.alpha03

1. Large Crank – WIP

animals run this crank : produces much more energy
multiblock structure like bed (X*Y*Z = 3*1*3)
leash animals to a large crank with leads

 

2.0.alpha02

1. Recipe

Trough: needs composite wood to craft

Thresher: needs composite wood to craft

Blender:

saltpeter+manure=6 bonemeal

carrot+patato=1 mixed feed

2. Configuration

Animal glue crafting is configurable.

(item, damage)=(number)

Every animals can eat mixed food as 80.0 saturation

 

 

2.0.alpha01

1. Composite Wood

crafted by two different kinds of woods and animal glue. It's used to make wooden machines.

A

B

C

A

B

C

A

B

C

A: wood log (all of A are same, different from C), B: animal glue, C: wood log (all of C are same, different from A)

2. Animal Glue

crafted by right-click a filled cauldron with bone, tendon or leather. (2 animal glue for bone, 4 animal glue for tendon, 6 animal glue for leather) This process will use a 1/3 water of the cauldron.

3. Machines have recipes. Most of them need composite wood.

items only for crafting : Composite Wood Casing, Blender Blade,

 

2.0.alpha00

1. Machines are added. No recipes for them until now.

1) Axle, Belt, Wheel : transports energy
2) Crank : produces energy by hand.
3) Thresher : threshes a wheat to seeds and straws.
4) Millstone : squeezes seeds.
5) Blender : mixes items to make something else.

2. Poppy : just plant onto a farmland to get poppy seeds. You can harvest poppy when it has a flower or harvest the seeds when mature.

3. Changes from 1.7.10

Trap Cover : Visual Improvement: 3D block model
Bola : In-hand animation Improvement: 3rd person view supported. Textures are updated.
Slingshot : Slingshot string has a texture. In-hand animation Improvement: 3rd person view supported.
Mutton : Similar changes like other meats. (3~6 without looting)

4. Configuration

1) byFood value changed :

Wheat Seed : 25.0 -> 20.0
Straw : 10.0
Poppy Seed : 20.0

2) In-game setting is temporally disabled.

3) Configuration files are in 'HungryAnimals' folder.

4) Configuration is divided into 3 files : Animal, World, Recipe

5) Syntax is changed

Excretion constant -> required hunger consumption to produce a pile of excreta
byFoodList : (item, damage) = (hunger)

6) Blender Recipe

(item, damage), (item, damage) = (item, number, damage)

5. Chisel and chiseled blocks – removed

6. Creative Tab is added : Every items are in Hungry Animals Tab.

7. Bug fix

1) Mod compatibility for item drops.

2) Mushrooms can be applied to only tamed animals.

1.0.4.2.beta015

- Texture of niter bed slightly changed.

- bug fixed

1) crash in trough

2) color of disease effect

1.0.4.2.beta014

- baby animals do not drop items.

- Animals sometimes wander.

- bug fixed :

1) taming value reduction when attacking animal

2) Unexpected consumption of hunger.

1.0.4.2.beta013

- Debug Glass is now useful..!

- Untamed animals eat food more frequently when hungry.

- Baby's taming value is the average of parents'.

1.0.4.2.beta012

- Trough : New name for food box. Icon also changed(special thanks to PitchBright). Rendering changed(almost same. But rendering error with optifine solved.).

- Sheep : produces wool every 5 mins. (needs hunger. Configurable)

1.0.4.2.beta011

- Debug Glass! : right click to animals to get hunger, taming value, excretion, ect…

- hunger consumption proportional to current movement speed is temporally removed.

- bug fixed (related to cow and pig's health)

- bug fixed (empty configuration tap for mooshroom)

- bug fixed (byBlock Rate configuration : animals try to eat expensive food first.)

- bug fixed (crash : animals)

- bug fixed (crash : foodbox)

1.0.4.2.beta010

- Excreta changed a little bit. :

Fermentation : slightly changed.

Fertilization : manure is dissolved first.

Erosion : excreta is dissolved first. And if it's covered, doesn't be eroded.

- bug fixed (related to excreta)

1.0.4.2.beta009

- Configuration System is developing : food/block and hunger configuration changed. Old configuration should be deleted before launch.

1.0.4.2.beta008

- Critical Error fixed.

- Food can only help growth baby animals(Green particle effect). (can't make baby more frequently J )

1.0.4.2.alpha007

- Milk can only be harvested when the cow is tamed (>= 1)

- FoodBox : Right click with time to put foods, with empty hand to take out. (Tamed animals(>= 1) will eat foods in foodbox. buggy)

1.0.4.2.alpha006

- Food Box is changing…. WIP

- Production of milk needs hunger. Cows need resting period to produce milk again. All of these can be configured.

1.0.4.2.alpha005

- Texture updated (FoodBox)

1.0.4.2.alpha004

- default fertilization(dissolve away on grass, dirt, sand) speed of excreta increased.

- The model of Food Box changed to 3D. Texture is currently poor. It becomes easy to put items into the food box.

- bug fixed ( courtship )

1.0.4.2.alpha003

- tall grass growth is slowed 1/3. Therefore hunger of grass is multiplied 3 (to 15).

- tall grass doesn't grow when there's other grass beside the block.

- block excreta's custom material added.

1.0.4.2.alpha002

- Compatibility increased EXTREMELY. However this change would cause slightly more lag.

- block-formed food list for animals is configurable.

1.0.4.2.alpha001

- Chickens don't eat grass. Honestly they break grass and get seeds to eat. Therefore chickens feeding activity becomes less efficient. Their population would be shrink.

- Animals' movement speed is now organized.

 

Base Factor

To Grass

To Food

To Mate

To Run

Attacked

Chicken 

0.15

1.0

1.5

2.0

2.0

3.0

Cow

0.25

1.0

1.5

2.0

2.0

3.0

Pig

0.20

1.0

1.5

2.0

2.0

3.0

Sheep

0.20

1.0

1.5

2.0

2.0

3.0

 

 

변경 사항

마우스 커서에 바라보는 동물의 상태가 보여집니다.

포션 효과, 배고픔, 체력, 나이(임신/성장), 조련이 표시됩니다.

 

바닥재(Block)가 추가됩니다.

나무 바닥재는 어린 동물을 더 빠르게 자라게 합니다.
양털 바닥재는 아기를 더 빠르게 낳도록 합니다.
밀짚 바닥재는 배설물을 더 빠르게 분해합니다.

밀짚 바닥재 위에서 배설물 분해속도는 컨피그를 통해 수정할 수 있습니다.

 

대형 크랭크(Block)가 추가됩니다.

3*1*3의 구조입니다.
소형 크랭크보다 많은 동력을 제공합니다.
길들여진 동물을 밧줄(lead)을 이용하여 매어야 동작합니다.
매여진 동물은 배가 불러야만 일을 합니다.

 

디버그 돋보기가 추가됩니다.

우클릭으로 목표 동물을 설정할 수 있습니다.
설정된 동물의 능력치를 정확히 표시합니다.
배고픔과 길들임은 방향키를 이용하여 값을 수정할 수 있습니다.

 

맷돌이 추가됩니다.

씨앗을 갈아 씨앗 기름을 짜는 기계입니다.
씨앗기름은 아직 쓰임새가 없습니다.
조합을 통해 획득할 수 없습니다.
분쇄 조합법은 컨피그에서 수정 가능합니다.

여물통의 조합법이 변경되었습니다.

합성목재가 필요합니다.

 

탈곡기가 추가됩니다.

탈곡기는 밀이나 양귀비에서 열매와 줄기를 분리합니다.
탈곡 조합법은 컨피그에서 수정 가능합니다.

 

분쇄기가 추가됩니다.

분쇄기는 2개 이상의 아이템을 섞어 새로운 아이템으로 만듭니다.
분쇄 조합법은 컨피그에서 수정 가능합니다.

 

합성 목재가 추가됩니다.

합성목재는 서로 다른 종류의 원목과 아교를 조합해서 만들어집니다.

A

B

C

A

B

C

A

B

C

A: wood log (all of A are same, different from C), B: animal glue, C: wood log (all of C are same, different from A)

 

아교가 추가됩니다.

아교는 도가니를 뼈, 힘줄, 가죽 등을 든 상태에서 우클릭하여 만듭니다.

 

축, 바퀴, 벨트가 추가됩니다.

모두 동력 수송을 위해 사용됩니다.

 

양귀비를 재배할 수 있습니다.

경작지에 양귀비를 직접 심으면 됩니다.

 

1.7.10~1.8로 변환하며 생긴 변경 사항

함정 덮개의 겉모습 개선됩니다.
사냥추의 애니메이션이 개선됩니다.
새총의 고무줄 텍스쳐와 애니메이션이 개선됩니다.
양고기도 소고기나 돼지고기와 같이 죽는 동물의 배고픔에 비례하여 떨어집니다.

 

컨피그

World, Recipe, Animal 세 파일로 나뉘어집니다.

'마인크래프트 자작 모드 > 배고픈동물들' 카테고리의 다른 글

2.1 개발 현황  (0) 2015.10.26
1.0.4.1 업데이트  (6) 2015.02.06
1.0.4.0 업데이트  (2) 2015.02.05
1.0.3.1 업데이트  (0) 2015.02.05
1.0.3 업데이트  (1) 2015.02.05

+ Recent posts