2024-10-28
修复了有关箭不能正常显示的BUG 将默认值调高减少拴绳断裂的可能性 2024/10/28 Fix some BUG
This commit is contained in:
parent
5674f4f99d
commit
0cce76511f
|
|
@ -1,4 +1,4 @@
|
||||||
# 版本 0.0.3.9.4 提前介绍c[最终版本对于0.0.4] 【注意:本解釋簡繁混寫,因爲趕時間,所以並不怎麽規範,請諒解】
|
# 版本 0.0.3.9.5 提前介绍c[最终版本对于0.0.4] 【注意:本解釋簡繁混寫,因爲趕時間,所以並不怎麽規範,請諒解】
|
||||||
## 简介
|
## 简介
|
||||||
现在开始你可以用拴绳拴住玩家,也可以拴住自己了,不如尝试拴住彼此来通关我的世界吧(
|
现在开始你可以用拴绳拴住玩家,也可以拴住自己了,不如尝试拴住彼此来通关我的世界吧(
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ mod_name=Leashed Player
|
||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=MIT
|
mod_license=MIT
|
||||||
# The mod version. See https://semver.org/
|
# The mod version. See https://semver.org/
|
||||||
mod_version=0.0.3.9.4
|
mod_version=0.0.3.9.5
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
||||||
# This should match the base package used for the mod sources.
|
# This should match the base package used for the mod sources.
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
|
|
|
||||||
|
|
@ -9,3 +9,5 @@ pluginManagement {
|
||||||
plugins {
|
plugins {
|
||||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
|
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
|
||||||
}
|
}
|
||||||
|
include 'leashedplayer_1_21_3'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -172,6 +172,9 @@ public class LeashRopeArrow extends AbstractArrow {
|
||||||
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
||||||
if(leashDataEntity != null) {
|
if(leashDataEntity != null) {
|
||||||
pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Entity leashKnotFence = PlayerLeashable.createLeashKnotFence((ServerLevel) this.level(), pResult.getBlockPos());
|
Entity leashKnotFence = PlayerLeashable.createLeashKnotFence((ServerLevel) this.level(), pResult.getBlockPos());
|
||||||
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
||||||
|
|
@ -186,6 +189,9 @@ public class LeashRopeArrow extends AbstractArrow {
|
||||||
Entity leashDataEntity = this.getOwner();
|
Entity leashDataEntity = this.getOwner();
|
||||||
if(leashDataEntity != null) {
|
if(leashDataEntity != null) {
|
||||||
L.dropLeash(true, false);
|
L.dropLeash(true, false);
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Entity leashKnotFence = LeashFenceKnotEntity.getOrCreateKnot(this.level(), pResult.getBlockPos());
|
Entity leashKnotFence = LeashFenceKnotEntity.getOrCreateKnot(this.level(), pResult.getBlockPos());
|
||||||
L.setLeashedTo(leashKnotFence, true);
|
L.setLeashedTo(leashKnotFence, true);
|
||||||
|
|
@ -215,14 +221,24 @@ public class LeashRopeArrow extends AbstractArrow {
|
||||||
if(this.getOwner() == null && livingEntity instanceof PlayerLeashable pL) { //发射器发出或命令生成
|
if(this.getOwner() == null && livingEntity instanceof PlayerLeashable pL) { //发射器发出或命令生成
|
||||||
setOwner(livingEntity);
|
setOwner(livingEntity);
|
||||||
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
||||||
if(leashDataEntity != null) pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
if(leashDataEntity != null) {
|
||||||
|
pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
||||||
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
||||||
pL.setLeashedTo(this, true);
|
pL.setLeashedTo(this, true);
|
||||||
return;
|
return;
|
||||||
} else if (this.getOwner() instanceof PlayerLeashable pL) {
|
} else if (this.getOwner() instanceof PlayerLeashable pL) {
|
||||||
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
||||||
if(leashDataEntity != null) pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
if(leashDataEntity != null) {
|
||||||
|
pL.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
ItemEntity arrow = new ItemEntity(this.level(), this.position().x, this.position().y, this.position().z, getOrginalItemStack());
|
ItemEntity arrow = new ItemEntity(this.level(), this.position().x, this.position().y, this.position().z, getOrginalItemStack());
|
||||||
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
||||||
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
||||||
|
|
@ -233,8 +249,12 @@ public class LeashRopeArrow extends AbstractArrow {
|
||||||
if(entity instanceof Leashable leashable) {
|
if(entity instanceof Leashable leashable) {
|
||||||
if (getOwner() == null) {
|
if (getOwner() == null) {
|
||||||
Entity leashDataEntity = leashable.getLeashHolder();
|
Entity leashDataEntity = leashable.getLeashHolder();
|
||||||
if (leashDataEntity != null)
|
if (leashDataEntity != null) {
|
||||||
leashable.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
leashable.dropLeash(true, !(leashDataEntity instanceof LeashRopeArrow));
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
leashable.setLeashedTo(this, true);
|
leashable.setLeashedTo(this, true);
|
||||||
this.setOwner(entity);
|
this.setOwner(entity);
|
||||||
return;
|
return;
|
||||||
|
|
@ -256,7 +276,12 @@ public class LeashRopeArrow extends AbstractArrow {
|
||||||
else if (entity instanceof LeashFenceKnotEntity leashKnotFence) {
|
else if (entity instanceof LeashFenceKnotEntity leashKnotFence) {
|
||||||
if (getOwner() instanceof PlayerLeashable pL) {
|
if (getOwner() instanceof PlayerLeashable pL) {
|
||||||
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
Entity leashDataEntity = PlayerLeashable.getLeashDataEntity((ServerPlayer) getOwner(), (ServerLevel) level());
|
||||||
if(leashDataEntity != null) pL.dropLeash(true, true);
|
if(leashDataEntity != null) {
|
||||||
|
pL.dropLeash(true, true);
|
||||||
|
if(leashDataEntity instanceof LeashRopeArrow leashRopeArrow) {
|
||||||
|
leashRopeArrow.setOwner(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
ItemEntity arrow = new ItemEntity(this.level(), this.position().x, this.position().y, this.position().z, getOrginalItemStack());
|
ItemEntity arrow = new ItemEntity(this.level(), this.position().x, this.position().y, this.position().z, getOrginalItemStack());
|
||||||
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
ILivingEntityExtension pLL = (ILivingEntityExtension) pL;
|
||||||
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
pLL.setKeepLeashTick(GameruleRegistry.getGameruleIntValue(level(), KeepLeashNotDropTime.ID));
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 272 B |
Loading…
Reference in New Issue
Block a user