From e91a85c19b029086671fad224736fe529c40fc8b Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 10 Jan 2025 21:46:47 -0500 Subject: [PATCH] Evening Debug Session - Fix tunnels causing a stack overflow - Fix crushing wheel gametest - Fix frog seat position - Update track placement codec --- build.gradle | 4 +-- gradle.properties | 4 +-- .../contraptions/actors/seat/SeatEntity.java | 5 ++- .../tunnel/BeltTunnelBlockEntity.java | 2 +- .../content/trains/track/TrackPlacement.java | 30 ++++++------------ .../processing/crushing_wheel_crafting.nbt | Bin 1834 -> 1833 bytes 6 files changed, 17 insertions(+), 28 deletions(-) diff --git a/build.gradle b/build.gradle index 85f7230f32..6d549ade3a 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'eclipse' id 'idea' id 'maven-publish' - id 'net.neoforged.moddev' version '2.0.9-beta' + id 'net.neoforged.moddev' version '2.0.74' } boolean dev = System.getenv('RELEASE') == null || System.getenv('RELEASE').equals('false'); @@ -96,6 +96,7 @@ repositories { maven { url = "https://maven.ithundxr.dev/snapshots" } // Registrate maven { url = "https://maven.blamejared.com" } // JEI, Vazkii's Mods maven { url = "https://harleyoconnor.com/maven" } // Dynamic Trees + maven { url = "https://maven.theillusivec4.top/" } // Curios API maven { url = "https://maven.squiddev.cc" } // CC: Tweaked maven { url = "https://www.cursemaven.com" } maven { url = "https://api.modrinth.com/maven" } @@ -107,7 +108,6 @@ repositories { includeGroup "mysticdrew" } } - maven { url = "https://maven.octo-studios.com/releases" } // Curios API Continuation // Mirror of maven.createmod.net if (System.getProperty("os.name").contains("Mac") && System.getenv("USER") == "ithundxr") { diff --git a/gradle.properties b/gradle.properties index cb4347b395..1b1799ecf2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -36,8 +36,8 @@ flywheel_version_range = [1.0.0-alpha,2.0) jei_minecraft_version = 1.21 jei_version = 19.5.0.33 curios_minecraft_version = 1.21.1 -curios_version = 9.0.15 -catnip_version = 0.8.52 +curios_version = 9.2.0 +catnip_version = 0.8.53 ponder_version = 0.8.7 catnip_and_ponder_mc_ver = 1.21.1 diff --git a/src/main/java/com/simibubi/create/content/contraptions/actors/seat/SeatEntity.java b/src/main/java/com/simibubi/create/content/contraptions/actors/seat/SeatEntity.java index 80116da048..bcf7b61ed2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/actors/seat/SeatEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/actors/seat/SeatEntity.java @@ -19,14 +19,13 @@ import net.minecraft.world.entity.animal.Cat; import net.minecraft.world.entity.animal.Parrot; import net.minecraft.world.entity.animal.Wolf; import net.minecraft.world.entity.animal.frog.Frog; -import net.minecraft.world.entity.monster.Creeper; import net.minecraft.world.entity.monster.Skeleton; import net.minecraft.world.entity.monster.Slime; import net.minecraft.world.entity.monster.Spider; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; + import net.neoforged.neoforge.common.util.FakePlayer; import net.neoforged.neoforge.entity.IEntityWithComplexSpawn; @@ -76,7 +75,7 @@ public class SeatEntity extends Entity implements IEntityWithComplexSpawn { if (entity instanceof Wolf) return 1 / 16f; if (entity instanceof Frog) - return 1 / 16f + 1.75 / 64f; + return 12 / 16f; if (entity instanceof Spider) return 1 / 8.0; if (entity instanceof PackageEntity) diff --git a/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java b/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java index e1a8b91a68..a0293a59c0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/tunnel/BeltTunnelBlockEntity.java @@ -63,7 +63,7 @@ public class BeltTunnelBlockEntity extends SmartBlockEntity { if (AllBlocks.BELT.has(be.level.getBlockState(be.worldPosition.below()))) { BlockEntity beBelow = be.level.getBlockEntity(be.worldPosition.below()); if (beBelow != null) { - IItemHandler capBelow = be.level.getCapability(Capabilities.ItemHandler.BLOCK, be.worldPosition, Direction.UP); + IItemHandler capBelow = be.level.getCapability(Capabilities.ItemHandler.BLOCK, be.worldPosition.below(), Direction.UP); if (capBelow != null) { be.cap = capBelow; } diff --git a/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java b/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java index 9db33b5c79..3609f9a72c 100644 --- a/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java +++ b/src/main/java/com/simibubi/create/content/trains/track/TrackPlacement.java @@ -17,7 +17,9 @@ import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.infrastructure.config.AllConfigs; +import io.netty.buffer.ByteBuf; import net.createmod.catnip.CatnipClient; +import net.createmod.catnip.codecs.stream.CatnipStreamCodecs; import net.createmod.catnip.utility.Couple; import net.createmod.catnip.utility.Iterate; import net.createmod.catnip.utility.Pair; @@ -33,7 +35,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.tags.BlockTags; import net.minecraft.util.Mth; @@ -52,11 +53,10 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.HitResult.Type; import net.minecraft.world.phys.Vec3; + import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; -import org.jetbrains.annotations.NotNull; - public class TrackPlacement { public record ConnectingFrom(BlockPos pos, Vec3 axis, Vec3 end, Vec3 normal) { public static Codec CODEC = RecordCodecBuilder.create(i -> i.group( @@ -66,23 +66,13 @@ public class TrackPlacement { Vec3.CODEC.fieldOf("normal").forGetter(ConnectingFrom::normal) ).apply(i, ConnectingFrom::new)); - public static StreamCodec STREAM_CODEC = new StreamCodec<>() { - public @NotNull ConnectingFrom decode(@NotNull FriendlyByteBuf buffer) { - BlockPos pos = FriendlyByteBuf.readBlockPos(buffer); - Vec3 axis = buffer.readVec3(); - Vec3 end = buffer.readVec3(); - Vec3 normal = buffer.readVec3(); - - return new ConnectingFrom(pos, axis, end, normal); - } - - public void encode(@NotNull FriendlyByteBuf buffer, ConnectingFrom connectingFrom) { - FriendlyByteBuf.writeBlockPos(buffer, connectingFrom.pos()); - buffer.writeVec3(connectingFrom.axis()); - buffer.writeVec3(connectingFrom.end()); - buffer.writeVec3(connectingFrom.normal()); - } - }; + public static StreamCodec STREAM_CODEC = StreamCodec.composite( + BlockPos.STREAM_CODEC, ConnectingFrom::pos, + CatnipStreamCodecs.VEC3, ConnectingFrom::axis, + CatnipStreamCodecs.VEC3, ConnectingFrom::end, + CatnipStreamCodecs.VEC3, ConnectingFrom::normal, + ConnectingFrom::new + ); } public static class PlacementInfo { diff --git a/src/main/resources/data/create/structure/gametest/processing/crushing_wheel_crafting.nbt b/src/main/resources/data/create/structure/gametest/processing/crushing_wheel_crafting.nbt index 532a122bf8e331679adcfc2e63c50ba1c5751009..f5dbbe0fea979381a4e5c5c5bcfd433355f58c4e 100644 GIT binary patch literal 1833 zcmZ9=c{~%2AII?-Up!P3)*{SZ$hkGfkT1h`u8@TKYB}Z>BiS$4QmxFL`$}>&%zYQ8 zxvwb9U0Ci#?&V9r-{be|`^WG5`Q!6?Kb{g~Uci6vC+k)}ep&<;QM5J1&YU zRF8$%pfo0C_H>xfZgHv6y?N?^1FeQtyy(#p1X_4$15E9!ujn9N{S1 zB%Vo=G-moqTsH^bO@AlnjcLB%)Kf5 z?3U$N<+NJ!8>Nrax^_5Xxr6QvuS()OKT&{hG1gZtZ50_a1$KQRq<24IAVOK5V&Jp9 zDQpsj^N6j6eoWf`e5pNWb8hY@i$(t&A3k}qdW~m-3XKt%(9xPWZVj06)AMdY>QWxD zaDNC8RrUfV-iQBT68nk;Sl^X4_*7mVWpgU}z)^7!=)DO}~zA%K@I`uvp{ zmSo}YrmbLn*KzWyhwfF++@)%6X;fOZ#^dY%c`1SJQG{%+8VAlHbv~VPG^CDNe0XlH zChnb)e_APXUT)b|>;0@B&2d+7Lirp-YL$%#Mg=?i&;g6Jc&|HLS4W%sO6m%BC|22_*wh2raOmLHb zXgo;*ye?ZIqIKjV)U?jP~4_W7FBIyMu5#{%BA8|dR9 zxF=>~l#{_SP9doj{W>C#)ND6BVW)!V1rO~ki0thg%kByq>+4&4_UC~dLONw1EtYK_ zd$?|6Jp?oO*n>;N2WMOPnl^tab1flbE-G9#Gg~^o|02f6K_FllgB$FR)^c~ixbQ)o z>;y63POY7ddglOK!$Fn&kQSUuksp!hYf*VYJE%C%a}G)PYGh-aQluh)CW-@J$=@kbCG5ic3W?kb177V z)^*r08*bp^uCt0;NE?d8Ah51?(8b83Mx1F;x#~<*!IRb@M zTGX3b}%bCUPuovhA_;Dt=0PKHRA(gLNh3{L*B^RR3t_q=va5X@O`m^|bdR zW4vP?-XQO6LV%sqJfBJ<-H`RC+E|Z0CnI}g^VSk$SD}P_{x}7Yb?bhkw1B=c{QHU} zUURx|z;_g~8S<&V_>KGy$|)loU5pSRiFWcGIf&Mfl8^f zmV@3zX*aP!wDU&-925^`TREBO340#gsSVptkXUs zoa>MU70zMlZI=Dp?T)%2o%7M5_Sl@c#Ey0+Gci5zIvu!Pt0d94PBB}BSO}2V_c5vb zo}0}!dZCVTAV!JGcVy4Fr?+yzp*@ox&Bl5!V&%H+%El#my8_9xUZOK|^yGz;@@pVY zotc9S0y6Vj%Zo5GvGp}WgK58e`Xe4&jhb=uA@0-MqM=R@+)IgXge~S~gzQ=`GlBIt-jnNj(qTUN`p97H!6&))%2paj9T2Z zO3ZO(e}l~}E|X_lZJEwJAlKX)6h~LbUAipESILyShr?}OL9_a-t8GW4kQnC`$P&y2 zG&0p)>!Op_G83gZ;8(m{Il=$)oL78X!qTCDWHWGs)Q#Pw~K*=%6zvo^FW&M1cpQ$OSv3?Kk+XafNM E2Iw4m3jhEB literal 1834 zcmZ9FX*3&%0)?ryg3_YK60HzxX{J?Cs*FMHQi9qm#7-@ZEtuLHYG2~Ls8ZBYTM(31 z?S_b2LN!6`N|H8ICqvbodFS<=^XC5f&i#JeE0@X7@t>SBT&zMVHzX4jEeLdl;F(5) z^rb&Qm;{B%7svkU{*TJ^;K-oM_*z)xl9=uWVNaun-p(u$TYC65;oUr{%1V`BIsIjH z-bmfxj{I%(pF1bu$vKXCTGgtw{TYq~$3;dfr7nj`t#xF$#jSFQDRGzzY) z2rWv+H*klT$76>0#YcXA`<@q@&p9&fsm?_@|9o8?a`OiWoW75z!-^$k|BG!RkoSM( zZ-)|uT4ZIn4ek6u4=+y9Wb~d_gt@-1`65+5I-H)SN3GxK# zh)oDV{LuLJbBmYV9|i5sgTP1EhD*Ire_qC8EwbHJ#rGZvgDU)wb^}s z07dM)=gGYs@U5d~QL&gYMVn@Ukh01U)n0o>#Pc_INh%vB+pw|cXX;f`@6`7YedgcB z&*zA))|?!NMehB(Gb%AA?sQ?WoRGj?;_94c*>Ovc9_y|!fm(Yu(o;6s4K45-75M}M zBN^=nlCy@0omd(Ur{w2K4zvyMY$DAlq0V;T9V4I8B)qs#Kt{4mw3VP>M&dZQOXlWo zR=A%}XdjE-mEd(<$~%&z^&#K9EU?`T8nuiy9l#z+MVl%IgxPpIP|!&p6&ibE(%hZh zCDc9|PBp!2DcdR2J!$endAq3W`$}NvyTGQv>Wlill83*Hrgj)g{1m%#!&_&A_n5KW zQ|iHVs|~+Hvg=XaVTVbwVY5nZCM}PSGoBUK3r(cMjM+$`CdL}ngwwb&mMCA?2>XiO zjo@no&)w`*uWf}CUR%#5CLQO}+>>~ZEJ}Yf8gLSBnr`>mII@oa#CpTS)VRh8u_W@S zUJ*WQ28%1p)NzyDsF@#u%u!sTQ2ilWJc7rPq`BQb(&n(-D7+Z&mt#gQn5+Iexe2g^S7yc!4_Z_c_(Dk5;EKpkWgn@H9(g9lf|L_Tfb2te4> z-6*xXzZC!yAglUr7e^j!(D&@PZ2c&u=x;EVlc1)RJ^>>~3Aik5em@y)#WeY9}xXO2!5*I0?vbvf~i|ThA=fQ0vfigKW*{Z_HwiXsOU6s zoT#pA_x#S&0pS^m2|v76oIbc?CFx_FezrV%!51a%l-gWD8T$$&!!&_!0E?^UsiChg zq1~RyeqT3NjVd%X3Paqu$W~~AD{H*FYOY)B`mDC7ZN#NJ4|Sy)YJzlgHD2ZDpbjN# zLzrhRx)*9E$=G;TAF;s^%S~&-fbarxioV$4%x4`+WUA3~m&&Jv9aVuF^G)@$_l5^g zUAF95G>s6x>EM^U$&Y1$5<^BYDy&PLB96i3W@Qc!zY~a7AXJzB0`E8#)peKkz&5u8 zFV&hWtI-UP$GX3OvuNt0!VS^b3hPic`rk{i7mkPh?bZ!z6}^Sgw8Pc%B3Z$Md{rQR z`Qc?)7Qmoo9H>}7zi2$zy&2L0(3bNw4~tS#;1gwj zN)3wE!!}1N9jEEdlMl}Z^OgaPxmNvs{RUS_1i&8J9l4cTzSjK*d#X=tx!|_cYaO40 zhY{!kIMAQ9F5z|XtVYh5O$~}DwDI`eYU<^gqM;m->I|FLn~x6WKFPCxvHX(H_WvOG z?Rpjkt=3`qAc_C9StU*Huyl($%a2%tK-TP^7@3`mu|<~e8w&6LB(4&bf=Efr*2y92 zJHN8j9=`PfBH?_MjzrNgC;T22Tb}`AR9c7rU@m_rB`ZB{*Hi_x#%>-Id#PO_R;5m5 zMu}hqtGp4Tq^J!(hcjX(T>I7640h-f3dlIa-Nw<>YFVw=o9AyYlKv{~%E( zXLvymr&Knmc)!PJ`*V(0-Z}