Skip to content

Commit 24190a1

Browse files
committed
fixed incompatibility with Snow Real Magic
1 parent 51675f2 commit 24190a1

File tree

5 files changed

+20
-3
lines changed

5 files changed

+20
-3
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
modName=DynamicTrees
22
modId=dynamictrees
3-
modVersion=1.4.1
3+
modVersion=1.4.2
44

55
group=com.ferreusveritas.dynamictrees
66

src/main/java/com/ferreusveritas/dynamictrees/data/DTEntityTypeTags.java

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public final class DTEntityTypeTags {
1414

1515
public static final TagKey<EntityType<?>> CAN_PASS_THROUGH_LEAVES = bind("can_pass_through_leaves");
1616
public static final TagKey<EntityType<?>> FALLING_TREE_DAMAGE_IMMUNE = bind("falling_tree_damage_immune");
17+
public static final TagKey<EntityType<?>> FALLING_TREE_COLLISION_BLACKLIST = bind("falling_tree_collision_blacklist");
1718

1819
private static TagKey<EntityType<?>> bind(String identifier) {
1920
return TagKey.create(Registries.ENTITY_TYPE, DynamicTrees.location(identifier));

src/main/java/com/ferreusveritas/dynamictrees/entity/FallingTreeEntity.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.ferreusveritas.dynamictrees.api.TreeHelper;
44
import com.ferreusveritas.dynamictrees.block.branch.TrunkShellBlock;
55
import com.ferreusveritas.dynamictrees.block.rooty.RootyBlock;
6+
import com.ferreusveritas.dynamictrees.data.DTEntityTypeTags;
67
import com.ferreusveritas.dynamictrees.entity.animation.AnimationHandler;
78
import com.ferreusveritas.dynamictrees.entity.animation.AnimationHandlers;
89
import com.ferreusveritas.dynamictrees.entity.animation.DataAnimationHandler;
@@ -12,7 +13,6 @@
1213
import com.ferreusveritas.dynamictrees.models.ModelTracker;
1314
import com.ferreusveritas.dynamictrees.tree.species.Species;
1415
import com.ferreusveritas.dynamictrees.util.BlockBounds;
15-
import com.ferreusveritas.dynamictrees.util.BlockStates;
1616
import com.ferreusveritas.dynamictrees.util.BranchDestructionData;
1717
import com.ferreusveritas.dynamictrees.util.CoordUtils.Surround;
1818
import com.google.common.collect.Iterables;
@@ -419,6 +419,12 @@ public boolean shouldDie() {
419419
return tickCount > 20 && currentAnimationHandler.shouldDie(this); //Give the entity 20 ticks to receive it's data from the server.
420420
}
421421

422+
@Override
423+
public boolean canCollideWith(Entity pEntity) {
424+
if (pEntity.getType().is(DTEntityTypeTags.FALLING_TREE_COLLISION_BLACKLIST)) return false;
425+
return super.canCollideWith(pEntity);
426+
}
427+
422428
@OnlyIn(Dist.CLIENT)
423429
public boolean shouldRender() {
424430
return currentAnimationHandler.shouldRender(this);

src/main/java/com/ferreusveritas/dynamictrees/entity/animation/FalloverAnimationHandler.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333

3434
public class FalloverAnimationHandler implements AnimationHandler {
3535

36+
public static int TICKS_BEFORE_CHECKING_COLLISION = 10;
37+
3638
@Override
3739
public String getName() {
3840
return "fallover";
@@ -206,7 +208,7 @@ public void handleMotion(FallingTreeEntity entity) {
206208
}
207209
}
208210

209-
if (fallSpeed > 0 && testCollision(entity)) {
211+
if (entity.tickCount > TICKS_BEFORE_CHECKING_COLLISION && fallSpeed > 0 && testCollision(entity)) {
210212
playEndSound(entity);
211213
flingLeavesParticles(entity, fallSpeed);
212214
addRotation(entity, -fallSpeed);//pull back to before the collision
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"values": [
3+
{
4+
"id": "snowrealmagic:snow",
5+
"required": false
6+
}
7+
]
8+
}

0 commit comments

Comments
 (0)