mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
Box in the vents
- Make the player hitbox smaller when hiding as a box and allow them to go into 1x1 spaces
This commit is contained in:
parent
37134bd6ae
commit
d92b47d0ef
5 changed files with 32 additions and 4 deletions
|
@ -85,10 +85,11 @@ minecraft {
|
|||
|
||||
property 'forge.logging.markers', ''
|
||||
property 'forge.logging.console.level', 'info'
|
||||
jvmArgs '-XX:+IgnoreUnrecognizedVMOptions', '-XX:+AllowEnhancedClassRedefinition' // uncomment with jbr
|
||||
jvmArgs '-XX:+IgnoreUnrecognizedVMOptions', '-XX:+AllowEnhancedClassRedefinition'
|
||||
//jvmArgs("-XX:-OmitStackTraceInFastThrow") // uncomment when you get exceptions with null messages etc
|
||||
//jvmArgs '-XX:+UnlockCommercialFeatures' // uncomment for profiling
|
||||
|
||||
property 'mixin.debug.export', 'true'
|
||||
property 'mixin.env.remapRefMap', 'true'
|
||||
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||
|
||||
|
@ -234,6 +235,10 @@ dependencies {
|
|||
jarJar.ranged(it, '[0.7.5,)')
|
||||
}
|
||||
|
||||
implementation(jarJar("io.github.llamalad7:mixinextras-forge:${mixin_extras_version}")) {
|
||||
jarJar.ranged(it, "[${mixin_extras_version},)")
|
||||
}
|
||||
|
||||
implementation fg.deobf("com.tterrag.registrate:Registrate:${registrate_version}")
|
||||
|
||||
compileOnly fg.deobf("dev.engine_room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}")
|
||||
|
@ -253,6 +258,8 @@ dependencies {
|
|||
implementation fg.deobf("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}")
|
||||
}
|
||||
|
||||
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixin_extras_version}"))
|
||||
|
||||
compileOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}-common-api:${jei_version}")
|
||||
compileOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}-forge-api:${jei_version}")
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}-forge:${jei_version}")
|
||||
|
|
|
@ -30,6 +30,7 @@ curios_minecraft_version = 1.20.1
|
|||
curios_version = 5.3.1
|
||||
catnip_version = 0.8.20
|
||||
ponder_version = 0.8.12
|
||||
mixin_extras_version = 0.4.1
|
||||
|
||||
cc_tweaked_enable = true
|
||||
cc_tweaked_minecraft_version = 1.20.1
|
||||
|
|
|
@ -6,6 +6,7 @@ import com.simibubi.create.AllItems;
|
|||
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.Mob;
|
||||
|
@ -13,15 +14,23 @@ import net.minecraft.world.entity.NeutralMob;
|
|||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.ai.goal.target.TargetGoal;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraftforge.event.entity.EntityEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingTickEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingVisibilityEvent;
|
||||
import net.minecraftforge.event.level.NoteBlockEvent.Play;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||
|
||||
@EventBusSubscriber
|
||||
public class CardboardArmorHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
public static void playerHitboxChangesWhenHidingAsBox(EntityEvent.Size event) {
|
||||
if (event.getEntity().isAddedToWorld() && testForStealth(event.getEntity())) {
|
||||
event.setNewSize(EntityDimensions.fixed(0.8F, 0.8F));
|
||||
event.setNewEyeHeight(0.6F);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void playersStealthWhenWearingCardboard(LivingVisibilityEvent event) {
|
||||
LivingEntity entity = event.getEntity();
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
package com.simibubi.create.foundation.mixin;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
|
||||
|
||||
import com.llamalad7.mixinextras.sugar.Local;
|
||||
import com.simibubi.create.content.equipment.armor.CardboardArmorHandler;
|
||||
|
||||
import net.minecraft.world.entity.Pose;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
|
@ -11,7 +18,11 @@ import net.minecraft.world.entity.Entity;
|
|||
|
||||
@Mixin(value = Entity.class, priority = 900)
|
||||
public class EntityMixin {
|
||||
|
||||
@ModifyExpressionValue(method = "canEnterPose", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;noCollision(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Z"))
|
||||
public boolean create$playerHidingAsBoxIsCrouchingNotSwimming(boolean original, @Local(argsOnly = true) Pose pose) {
|
||||
return original || (pose == Pose.CROUCHING && CardboardArmorHandler.testForStealth((Entity) (Object) this));
|
||||
}
|
||||
|
||||
@Inject(method = "fireImmune()Z", at = @At("RETURN"), cancellable = true)
|
||||
public void create$onFireImmune(CallbackInfoReturnable<Boolean> cir) {
|
||||
if (!cir.getReturnValueZ()) {
|
||||
|
@ -21,5 +32,4 @@ public class EntityMixin {
|
|||
cir.setReturnValue(immune);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"LavaSwimmingMixin",
|
||||
"MainMixin",
|
||||
"MapItemSavedDataMixin",
|
||||
"PlayerMixin",
|
||||
"TestCommandMixin",
|
||||
"WaterWheelFluidSpreadMixin",
|
||||
"accessor.AbstractProjectileDispenseBehaviorAccessor",
|
||||
|
|
Loading…
Add table
Reference in a new issue