mirror of
https://github.com/Oth3r/Sit.git
synced 2025-09-20 00:13:21 +02:00
Merge branch '1.21.4' into 1.21.1
# Conflicts: # gradle.properties
This commit is contained in:
commit
e64027930d
43 changed files with 215 additions and 117 deletions
|
@ -91,19 +91,27 @@ public class CustomBlock {
|
|||
}
|
||||
|
||||
// a boolean to check if one of the blocks are in a filtered tag
|
||||
boolean tagCheck = false;
|
||||
// & a switch for if there is only not(!) tags
|
||||
boolean tagCheck = false, hasPositiveTags = false;
|
||||
|
||||
// for all the entered tags
|
||||
for (String tag : blockTags) {
|
||||
// substring to remove # and if needed, !
|
||||
// if there is a math for the NOT(!) tag, return false
|
||||
if (tag.startsWith("!") && blockState.isIn(TagKey.of(Registries.BLOCK.getKey(), Identifier.of(tag.substring(2))))) return false;
|
||||
// if there is a match, return true
|
||||
if (blockState.isIn(TagKey.of(Registries.BLOCK.getKey(), Identifier.tryParse(tag.substring(1))))) tagCheck = true;
|
||||
if (tag.startsWith("!")) {
|
||||
// if there is a match for the NOT(!) tag, return false
|
||||
Identifier id = Identifier.tryParse(tag.substring(2));
|
||||
if (id != null && blockState.isIn(TagKey.of(Registries.BLOCK.getKey(), id))) return false;
|
||||
} else {
|
||||
// flip the hasPositiveTags boolean
|
||||
hasPositiveTags = true;
|
||||
// if there is a match, return true
|
||||
Identifier id = Identifier.tryParse(tag.substring(1));
|
||||
if (id != null && blockState.isIn(TagKey.of(Registries.BLOCK.getKey(), id))) tagCheck = true;
|
||||
}
|
||||
}
|
||||
|
||||
// not returning true in the loop because there might be a (!) not tag that the block might fall into, after the block was already in another tag
|
||||
return tagCheck;
|
||||
// if there were any required tags, return whether we matched one
|
||||
// if there were only not(!) tags, and we didn't violate any, return true
|
||||
return hasPositiveTags? tagCheck : true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -51,22 +51,27 @@ public class CustomItem {
|
|||
}
|
||||
|
||||
// a boolean to check if one of the items are in a filtered tag
|
||||
boolean tagCheck = false;
|
||||
// & a switch for if there is only not(!) tags
|
||||
boolean tagCheck = false, hasPositiveTags = false;
|
||||
|
||||
// check the custom item tags
|
||||
for (String tag : itemTags) {
|
||||
// substring to remove # and if needed, "!"
|
||||
// if a NOT tag
|
||||
if (tag.startsWith("!")) {
|
||||
// if there is a math for the NOT(!) tag, return false
|
||||
if (itemStack.isIn(TagKey.of(Registries.ITEM.getKey(), Identifier.of(tag.substring(2))))) return false;
|
||||
Identifier id = Identifier.tryParse(tag.substring(2));
|
||||
if (id != null && itemStack.isIn(TagKey.of(Registries.ITEM.getKey(), id))) return false;
|
||||
} else {
|
||||
// flip the hasPositiveTags boolean
|
||||
hasPositiveTags = true;
|
||||
// else (normal tag), if there is a match, set tagCheck to true
|
||||
Identifier id = Identifier.tryParse(tag.substring(1));
|
||||
if (id != null && itemStack.isIn(TagKey.of(Registries.ITEM.getKey(), id))) tagCheck = true;
|
||||
}
|
||||
// else (normal tag), if there is a match, set tagCheck to true
|
||||
else if (itemStack.isIn(TagKey.of(Registries.ITEM.getKey(), Identifier.of(tag.substring(1))))) tagCheck = true;
|
||||
}
|
||||
|
||||
// not returning true in the loop because there might be a (!) not tag that the item might fall into, after the item was already in another tag
|
||||
return tagCheck;
|
||||
// if there were any required tags, return whether we matched one
|
||||
// if there were only not(!) tags, and we didn't violate any, return true
|
||||
return hasPositiveTags? tagCheck : true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -27,12 +27,12 @@ import java.util.stream.Collectors;
|
|||
public class ServerConfig implements CustomFile<ServerConfig> {
|
||||
|
||||
@SerializedName("version")
|
||||
private Double version = 2.2;
|
||||
private Double version = 2.3;
|
||||
|
||||
@SerializedName("lang")
|
||||
private String lang = "en_US";
|
||||
private String lang = "en_us";
|
||||
@SerializedName("lang-options")
|
||||
private final String langOptions = "en_US, it_IT, pt_BR, tr_TR, zh_TW, zh_CH, de_DE";
|
||||
private final String langOptions = "en_us, it_it, pt_br, tr_tr, zh_tw, zh_ch, de_de";
|
||||
|
||||
@SerializedName("keep-active")
|
||||
private Boolean keepActive = true;
|
||||
|
@ -276,6 +276,11 @@ public class ServerConfig implements CustomFile<ServerConfig> {
|
|||
if (version >= 2.0 && version <= 2.1) {
|
||||
version = 2.2;
|
||||
}
|
||||
if (version == 2.2) {
|
||||
// make sure that the lang is all lowercase
|
||||
version = 2.3;
|
||||
this.lang = this.lang.substring(0,3)+this.lang.substring(3).toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -77,7 +77,8 @@ public class Logic {
|
|||
* @return true if sitting was successful
|
||||
*/
|
||||
public static boolean sitLooking(ServerPlayerEntity player) {
|
||||
return sit(player, Utl.getBlockPosPlayerIsLookingAt(player.getServerWorld(),player,5),null);
|
||||
return sit(player, Utl.getBlockPosPlayerIsLookingAt(player.getServerWorld(),player,
|
||||
Utl.getPlayerReach(player)),null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -10,6 +10,7 @@ import net.minecraft.block.*;
|
|||
import net.minecraft.block.enums.BlockHalf;
|
||||
import net.minecraft.block.enums.SlabType;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.decoration.DisplayEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BlockItem;
|
||||
|
@ -481,4 +482,13 @@ public class Utl {
|
|||
|
||||
return new BlockPos(player.getBlockPos());
|
||||
}
|
||||
|
||||
public static double getPlayerReach(PlayerEntity player) {
|
||||
// use the BLOCK_INTERACTION_RANGE attribute if available
|
||||
if (player.getAttributeInstance(EntityAttributes.BLOCK_INTERACTION_RANGE) != null) {
|
||||
return player.getAttributeValue(EntityAttributes.BLOCK_INTERACTION_RANGE);
|
||||
}
|
||||
// fallback to 5
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue