@Override public AccessMode getAccess() { return SecurityHelper.getAccess(getContainerStack()); }
@Override public AccessMode getAccess() { return SecurityHelper.getAccess(getFilterStack()); }
@Override @SideOnly (Side.CLIENT) public void registerModels() { ModelLoader.setCustomMeshDefinition(this, stack -> new ModelResourceLocation(getRegistryName(), String.format("access=%s,color0=%s,color1=%s,type=%s", SecurityHelper.getAccess(stack).toString().toLowerCase(Locale.US), ColorHelper.hasColor0(stack) ? 1 : 0, ColorHelper.hasColor1(stack) ? 1 : 0, typeMap.get(ItemHelper.getItemDamage(stack)).name))); for (Map.Entry<Integer, ItemEntry> entry : itemMap.entrySet()) { for (int access = 0; access < AccessMode.values().length; access++) { for (int color0 = 0; color0 < 2; color0++) { for (int color1 = 0; color1 < 2; color1++) { ModelBakery.registerItemVariants(this, new ModelResourceLocation(getRegistryName(), String.format("access=%s,color0=%s,color1=%s,type=%s", AccessMode.values()[access].toString().toLowerCase(Locale.US), color0, color1, entry.getValue().name))); } } } } }
public static boolean canPlayerAccess(ItemStack stack, EntityPlayer player) { if (!SecurityHelper.isSecure(stack)) { return true; } String name = player.getName(); AccessMode access = SecurityHelper.getAccess(stack); if (access.isPublic() || (CoreProps.enableOpSecureAccess && CoreUtils.isOp(name))) { return true; } GameProfile profile = SecurityHelper.getOwner(stack); UUID ownerID = profile.getId(); if (SecurityHelper.isDefaultUUID(ownerID)) { return true; } UUID otherID = SecurityHelper.getID(player); return ownerID.equals(otherID) || access.isFriendsOnly() && RegistrySocial.playerHasAccess(name, profile); }
((ISecurable) tile).setOwnerName(placer.getName()); ((ISecurable) tile).setAccess(SecurityHelper.getAccess(stack));