From c89ac2419f7ea0a69d4a016c133b1e67edfd1074 Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 9 Jan 2019 15:27:50 +0200 Subject: [PATCH] Fixed saving of alfalfa crops --- .../unicopia/block/BlockAlfalfa.java | 36 +++++++++++++++++- .../assets/unicopia/blockstates/alfalfa.json | 6 +-- .../unicopia/models/block/alfalfa/stage5.json | 6 --- .../textures/blocks/alfalfa/stage_3.png | Bin 376 -> 486 bytes .../textures/blocks/alfalfa/stage_4.png | Bin 486 -> 689 bytes .../textures/blocks/alfalfa/stage_5.png | Bin 689 -> 0 bytes 6 files changed, 35 insertions(+), 13 deletions(-) delete mode 100644 src/main/resources/assets/unicopia/models/block/alfalfa/stage5.json delete mode 100644 src/main/resources/assets/unicopia/textures/blocks/alfalfa/stage_5.png diff --git a/src/main/java/com/minelittlepony/unicopia/block/BlockAlfalfa.java b/src/main/java/com/minelittlepony/unicopia/block/BlockAlfalfa.java index f3d85d16..4551ba6d 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BlockAlfalfa.java +++ b/src/main/java/com/minelittlepony/unicopia/block/BlockAlfalfa.java @@ -24,7 +24,7 @@ import net.minecraftforge.common.ForgeHooks; public class BlockAlfalfa extends BlockCrops { - public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 5); + public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 4); public static final PropertyEnum HALF = PropertyEnum.create("half", Half.class); private static final AxisAlignedBB[] BOUNDS = new AxisAlignedBB[] { @@ -65,7 +65,7 @@ public class BlockAlfalfa extends BlockCrops { @Override public int getMaxAge() { - return 5; + return 4; } @Override @@ -276,6 +276,38 @@ public class BlockAlfalfa extends BlockCrops { return EnumPlantType.Crop; } + @Override + public IBlockState getStateFromMeta(int meta) { + int age = meta % (getMaxAge() + 1); + int half = (int)Math.floor(meta / (getMaxAge() + 1)) % Half.values().length; + + return withAge(age).withProperty(HALF, Half.values()[half]); + } + + // 0: age:0, half:0 + // 1: age:1, half:0 + // 2: age:2, half:0 + // 3: age:3, half:0 + // 4: age:4, half:0 + // 5: age:0, half:1 + // 6: age:1, half:1 + // 7: age:2, half:1 + // 8: age:3, half:1 + // 9: age:4, half:1 + //10: age:0, half:2 + //11: age:1, half:2 + //12: age:2, half:2 + //13: age:3, half:2 + //14: age:4, half:2 + + @Override + public int getMetaFromState(IBlockState state) { + int age = getAge(state); + int half = getHalf(state).ordinal(); + + return (half * (getMaxAge() + 1)) + age; + } + public static enum Half implements IStringSerializable { TOP, MIDDLE, diff --git a/src/main/resources/assets/unicopia/blockstates/alfalfa.json b/src/main/resources/assets/unicopia/blockstates/alfalfa.json index 7f19c227..0be74c49 100644 --- a/src/main/resources/assets/unicopia/blockstates/alfalfa.json +++ b/src/main/resources/assets/unicopia/blockstates/alfalfa.json @@ -5,19 +5,15 @@ "age=2,half=top": { "model": "unicopia:alfalfa/stage2" }, "age=3,half=top": { "model": "unicopia:alfalfa/stage3" }, "age=4,half=top": { "model": "unicopia:alfalfa/stage4" }, - "age=5,half=top": { "model": "unicopia:alfalfa/stage5" }, "age=0,half=middle": { "model": "unicopia:alfalfa/shaft" }, "age=1,half=middle": { "model": "unicopia:alfalfa/shaft" }, "age=2,half=middle": { "model": "unicopia:alfalfa/shaft" }, "age=3,half=middle": { "model": "unicopia:alfalfa/shaft" }, "age=4,half=middle": { "model": "unicopia:alfalfa/shaft" }, - "age=5,half=middle": { "model": "unicopia:alfalfa/shaft" }, "age=0,half=bottom": { "model": "unicopia:alfalfa/stage0" }, "age=1,half=bottom": { "model": "unicopia:alfalfa/stage1" }, "age=2,half=bottom": { "model": "unicopia:alfalfa/stage2" }, "age=3,half=bottom": { "model": "unicopia:alfalfa/stage3" }, - "age=4,half=bottom": { "model": "unicopia:alfalfa/stage4" }, - "age=5,half=bottom": { "model": "unicopia:alfalfa/stage5" }, - "age=5,half=bottom": { "model": "unicopia:alfalfa/shaft" } + "age=4,half=bottom": { "model": "unicopia:alfalfa/shaft" } } } diff --git a/src/main/resources/assets/unicopia/models/block/alfalfa/stage5.json b/src/main/resources/assets/unicopia/models/block/alfalfa/stage5.json deleted file mode 100644 index f3966197..00000000 --- a/src/main/resources/assets/unicopia/models/block/alfalfa/stage5.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/crop", - "textures": { - "crop": "unicopia:blocks/alfalfa/stage_5" - } -} diff --git a/src/main/resources/assets/unicopia/textures/blocks/alfalfa/stage_3.png b/src/main/resources/assets/unicopia/textures/blocks/alfalfa/stage_3.png index 9cb9520517441463dae532c5cf1544c1ee1a19ce..97532326f409dbd51c56e5c23000bcb9865cd0cf 100644 GIT binary patch delta 460 zcmV;-0W<#i0_FpdB!8_*L_t(I%Z-vTYZO5khM$?e+tcKZBZ-A59+*Z#5X6X$g-x2o z!ZZ@DjX%PlVQC?;Q_w1fra96oMo=((J%?(Oc(&W^>LyID8U`?{U)-Dke{ zn-|Wh5AXYy2}=H}ISHh3USsfWiyhNrq8jWxw3ANo&l%o10k8!NpFV z!WcuU1|>nG;nCL)6H0kht2I~A8iUNiI7tar`F;~6Se;&3EFILO|kTPSKggIz4J@s`mHRAfqiG{H$KhyI)o}z358jYONf}lb@c5)#{ v5+Thvfn>p-d`_zkpX1ukF^nZq#RK3Q)((z}DSb%r00000NkvXXu0mjf4|t~U diff --git a/src/main/resources/assets/unicopia/textures/blocks/alfalfa/stage_4.png b/src/main/resources/assets/unicopia/textures/blocks/alfalfa/stage_4.png index 97532326f409dbd51c56e5c23000bcb9865cd0cf..b349821d27d035417ab447ce304ccf385ebefd38 100644 GIT binary patch delta 666 zcmV;L0%iT?1F;2=BYy&TNklA#k-P|P`b7%Ja7R1jc7J>*CHkMW* ziXVsw7GkA{DFh4u0xyMFsgN|kcYQ;UEBU+y%h;J?8-k`~al|2e(}X zU|;~2uW5sHGJiqfGcr8j3=TawNnw>I>X^cLsp&98692xy+9t_MW&c zmMh;GTn+-PhUU*Je0o{s(#1OhV0LDR&vC|R<&Nmxm1oO9lZ_j93*lRC-PmpqoS8s2 z<7-TB2uSAy?MyJUsgL%y900j)%lclAd@dtVhWD=u0DrU^hF_aQ_leDhCh%AA{cA6N zF2{VD5I0i*k~xojS0B@r0zKUxEX=}Km~J#2AeV#Y{0AB}4{0-cyb|HMZWlC$wr*k# zOub1ch8lokQBcnuO=>OZ>dNEiEo2!6MXHROOwy*IEkc6H;PZ#PGt-jo{Y3!$c3We! zHuXr*ihm`LpyOdbt5HQX;3OKAAX_kycmxZUzM5A^Wmr}O zr4*qr33{Lo*vv4a4E`5`Q4j>qU@lg)Ja_&L@)LzrmyB^jtN;K207*qoM6N<$g2-w& A82|tP delta 461 zcmV;;0W$uv1?B^gBYy#{Nkl4e-7>1vjz1!2|jw6YMC?1$bLJ-7=jfG8` z#KJTZu8lv!pJ8bsu~X10g{C>uDn?K+f<;Im*rbsx-tO)0%+8L*oV!^!(fhic@7-s< z_nQ~asSoe_mI+G!t2qgzab9EaZHpb#W1<@DJhYQe@a6L(`+r{xTQBYwqWjNoRDQ5h zu)euqD*zR%8sv|tH|@%hkUu0Dpu*&ae4d);AZd90r=H#wGWrzE7Mbg)kX;w3?k7Ah&QB1iXIyT}a=D zVSMELSi?nct`z1usUFq<-LBwdyhy3FpxJD>jxpqvFA^mwfv!g+(UQd(w>O!l8f#ML zEs{V|5g(lB`VPVjVIl`G7WRS+0HrcUNl=C+GiN3@(?&5Le>$+ttuF2q4Z(hxmBQSh z&afcyn2H=+s#qaaKAu1^+bGj*P0sPSce+NAD#G*|ZIQTJl-(RY00000NkvXXu0mjf DA#k-P|P`b7%Ja7R1jc7J>*CHkMW*iXVsw7GkA{DFh4u0xyMFsgN|CWk0JJ+xGk0|-x*vE0<4DS&ntX-S>@8jI|5*KW{A&m z#%Se^=-riP%RrNj8+QxgTW;OhZV#N9KsMuROm7HC=LGFcFte$T_O=`Vxo*q)UXOe( zBTY=@cnBqelEv+nh-Zr0FpV6d{-aSl>$B89xTklSeR}! z93Yp2=KKd5H4kYsdb|?hx^5RVhPG~E4NSdBD25t8&cyff31?fpdn{B~Povo`fe(26CHpyOdbt5HQX;3OKAAX_kycmxZUzM5A^Wmr}Or4*qr33{Lo*vv4a4E`5`Q4j>qU@lg)Ja_&L X@`Y5FjB!G&00000NkvXXu0mjfuB11%